From 01c47dba4c98f6d9999df12af6e3dc2bb5640c5a Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 17 Sep 2024 07:58:12 -0400 Subject: [PATCH 01/22] fix: migrate from lspkind and web-devicons to `mini.icons` --- src/content/docs/recipes/icons.mdx | 57 +++++++++++++------ .../docs/reference/default_plugins.mdx | 5 +- 2 files changed, 42 insertions(+), 20 deletions(-) diff --git a/src/content/docs/recipes/icons.mdx b/src/content/docs/recipes/icons.mdx index 69c0af513..dc02cf119 100644 --- a/src/content/docs/recipes/icons.mdx +++ b/src/content/docs/recipes/icons.mdx @@ -212,23 +212,46 @@ return { }, }, { - "onsails/lspkind.nvim", - opts = function(_, opts) - -- use codicons preset - opts.preset = "codicons" - -- set some missing symbol types - opts.symbol_map = { - Array = "", - Boolean = "", - Key = "", - Namespace = "", - Null = "", - Number = "", - Object = "", - Package = "", - String = "", - } - end, + "echasnovski/mini.icons", + optional = true, + opts = { + lsp = { + array = { glyph = "" }, + boolean = { glyph = "" }, + key = { glyph = "" }, + namespace = { glyph = "" }, + null = { glyph = "" }, + number = { glyph = "" }, + object = { glyph = "" }, + package = { glyph = "" }, + string = { glyph = "" }, + class = { glyph = "" }, + color = { glyph = "" }, + constant = { glyph = "" }, + constructor = { glyph = "" }, + enum = { glyph = "" }, + enummember = { glyph = "" }, + event = { glyph = "" }, + field = { glyph = "" }, + file = { glyph = "" }, + folder = { glyph = "" }, + ["function"] = { glyph = "" }, + interface = { glyph = "" }, + keyword = { glyph = "" }, + method = { glyph = "" }, + module = { glyph = "" }, + operator = { glyph = "" }, + property = { glyph = "" }, + reference = { glyph = "" }, + snippet = { glyph = "" }, + struct = { glyph = "" }, + text = { glyph = "" }, + typeparameter = { glyph = "" }, + unit = { glyph = "" }, + value = { glyph = "" }, + variable = { glyph = "" }, + }, + }, }, } ``` diff --git a/src/content/docs/reference/default_plugins.mdx b/src/content/docs/reference/default_plugins.mdx index fe825a24a..9ee5cbe6e 100644 --- a/src/content/docs/reference/default_plugins.mdx +++ b/src/content/docs/reference/default_plugins.mdx @@ -16,6 +16,7 @@ title: Default Plugins | [NvChad/nvim-colorizer.lua](https://github.com/NvChad/nvim-colorizer.lua) | Highlight Color Strings | | [akinsho/toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim) | Terminal Management | | [echasnovski/mini.bufremove](https://github.com/echasnovski/mini.bufremove) | Buffer Removal | +| [echasnovski/mini.icons](https://github.com/echasnovski/mini.icons) | Icon Provider | | [folke/lazy.nvim](https://github.com/folke/lazy.nvim) | Plugin Management | | [folke/neoconf.nvim](https://github.com/folke/neoconf.nvim) | Global and Project-local settings | | [folke/neodev.nvim](https://github.com/folke/neodev.nvim) | Neovim Lua LSP Integration | @@ -40,11 +41,9 @@ title: Default Plugins | [nvim-neo-tree/neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) | File Explorer | | [nvim-telescope/telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim) | Fast Telescope Sorter | | [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | General Finder/Picker | -| [nvim-tree/nvim-web-devicons](https://github.com/nvim-tree/nvim-web-devicons) | Filetype Icons | | [nvim-treesitter/nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) | Treesitter Vim Text Objects | | [nvim-treesitter/nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) | Syntax Tree Based Highlighting | | [nvimtools/none-ls.nvim](https://github.com/nvimtools/none-ls.nvim) | Formatter and Linter LSP Integration | -| [onsails/lspkind.nvim](https://github.com/onsails/lspkind.nvim) | LSP Symbol Icons | | [rafamadriz/friendly-snippets](https://github.com/rafamadriz/friendly-snippets) | General Purpose Snippet Collection | | [rcarriga/cmp-dap](https://github.com/rcarriga/cmp-dap) | Completion in DAP REPL | | [rcarriga/nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui) | DAP User Interface | @@ -58,4 +57,4 @@ title: Default Plugins | [williamboman/mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim) | Mason LSP Integration | | [williamboman/mason.nvim](https://github.com/williamboman/mason.nvim) | External Package Manager | | [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) | Automatically Close Pairs | -| [windwp/nvim-ts-autotag](https://github.com/windwp/nvim-ts-autotag) | Automatically Close/Rename Tags | +| [windwp/nvim-ts-autotag](https://github.com/windwp/nvim-ts-autotag) | Automatically Close/Rename Tags | From e10821c54a87058023e6d75e207d4e682a58ba41 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 17 Sep 2024 07:58:35 -0400 Subject: [PATCH 02/22] fix: migrate from nvim-colorizer to `nvim-highlight-colors` --- src/content/docs/configuration/customizing_plugins.mdx | 4 ++-- src/content/docs/reference/default_plugins.mdx | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/configuration/customizing_plugins.mdx b/src/content/docs/configuration/customizing_plugins.mdx index 6e5d5e983..831a1ab13 100644 --- a/src/content/docs/configuration/customizing_plugins.mdx +++ b/src/content/docs/configuration/customizing_plugins.mdx @@ -445,10 +445,10 @@ return { AstroNvim has many plugins that we load on the first real file that is open. This is used internally for plugins like Treesitter, LSP related plugins, and other various plugins related to interacting with files. We achieve this by creating a custom `User` `autocmd` event called `AstroFile`. This can also be used by users for lazy loading plugins on the first real file that is opened: -```lua title="lua/plugins/nvim-colorizer.lua" {4} +```lua title="lua/plugins/indent-blankline.lua" {4} return { { - "NvChad/nvim-colorizer.lua", + "lukas-reineke/indent-blankline.nvim", event = "User AstroFile", }, } diff --git a/src/content/docs/reference/default_plugins.mdx b/src/content/docs/reference/default_plugins.mdx index 9ee5cbe6e..f9ac74972 100644 --- a/src/content/docs/reference/default_plugins.mdx +++ b/src/content/docs/reference/default_plugins.mdx @@ -13,8 +13,8 @@ title: Default Plugins | [L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip) | Snippet Engine | | [MunifTanjim/nui.nvim](https://github.com/MunifTanjim/nui.nvim) | UI Component Library (for Neo-Tree) | | [NMAC427/guess-indent.nvim](https://github.com/NMAC427/guess-indent.nvim) | Automatic Indentation Detection | -| [NvChad/nvim-colorizer.lua](https://github.com/NvChad/nvim-colorizer.lua) | Highlight Color Strings | | [akinsho/toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim) | Terminal Management | +| [brenoprata10/nvim-highlight-colors](https://github.com/brenoprata10/nvim-highlight-colors) | Highlight Color Strings | | [echasnovski/mini.bufremove](https://github.com/echasnovski/mini.bufremove) | Buffer Removal | | [echasnovski/mini.icons](https://github.com/echasnovski/mini.icons) | Icon Provider | | [folke/lazy.nvim](https://github.com/folke/lazy.nvim) | Plugin Management | From bae1cc60fdc81293bfb14c00607ba4f70aa2840f Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 17 Sep 2024 08:08:01 -0400 Subject: [PATCH 03/22] fix: migrate to using `mason-tool-installer.nvim` for all Mason package management --- .../configuration/customizing_plugins.mdx | 2 +- src/content/docs/recipes/advanced_lsp.mdx | 20 +++++++++---------- src/content/docs/recipes/dap.mdx | 8 ++++---- .../docs/reference/default_plugins.mdx | 1 + src/content/docs/using_the_docs.mdx | 18 ++++++++--------- 5 files changed, 25 insertions(+), 24 deletions(-) diff --git a/src/content/docs/configuration/customizing_plugins.mdx b/src/content/docs/configuration/customizing_plugins.mdx index 831a1ab13..fe9e2b413 100644 --- a/src/content/docs/configuration/customizing_plugins.mdx +++ b/src/content/docs/configuration/customizing_plugins.mdx @@ -123,7 +123,7 @@ The `table` notation is the simplest method for configuration but does not cover :::tip -Since [`lazy.nvim` v10.23.0](https://github.com/folke/lazy.nvim/releases/tag/v10.23.0) a new configuration option has been added called `opts_extend` which allows specifying that a part of the options passed to the `opts` table should be treated as a list that is extended rather than replaced completely as described below. Since [AstroNvim v4.9.0](https://github.com/AstroNvim/AstroNvim/releases/tag/v4.9.0) this option has been enabled out of the box for the `ensure_installed` tables for the following plugins: [`nvim-treesitter`](https://github.com/nvim-treesitter/nvim-treesitter), [`mason-lspconfig.nvim`](https://github.com/williamboman/mason-lspconfig.nvim), [`mason-null-ls.nvim`](https://github.com/jay-babu/mason-null-ls.nvim), and [`mason-nvim-dap.nvim`](https://github.com/jay-babu/mason-nvim-dap.nvim). This allows the user to use the basic table notation to simply add more items to these `ensure_installed` lists. +Since [`lazy.nvim` v10.23.0](https://github.com/folke/lazy.nvim/releases/tag/v10.23.0) a new configuration option has been added called `opts_extend` which allows specifying that a part of the options passed to the `opts` table should be treated as a list that is extended rather than replaced completely as described below. Since [AstroNvim v4.9.0](https://github.com/AstroNvim/AstroNvim/releases/tag/v4.9.0) this option has been enabled out of the box for the `ensure_installed` tables for [`nvim-treesitter`](https://github.com/nvim-treesitter/nvim-treesitter) and [`mason-tool-installer.nvim`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim). This allows the user to use the basic table notation to simply add more items to these `ensure_installed` lists. ::: diff --git a/src/content/docs/recipes/advanced_lsp.mdx b/src/content/docs/recipes/advanced_lsp.mdx index faac7c087..0d25c365f 100644 --- a/src/content/docs/recipes/advanced_lsp.mdx +++ b/src/content/docs/recipes/advanced_lsp.mdx @@ -71,7 +71,7 @@ return { ### LSP Setup Without Installer -AstroNvim comes with [mason-lspconfig](https://github.com/williamboman/mason-lspconfig.nvim) as an easy interface for setting up and installing language servers, but this might not be adequate for all users. The LSP installer doesn't support all of the language servers that Neovim's LSP config supports and some users may already have the language servers installed on their machine and don't want to reinstall it separately. In these cases we have added an easy interface for setting up these servers. The following plugin specification for AstroLSP simply sets up `pyright` language server for a user with `pyright` already available on their system: +AstroNvim comes with [mason-lspconfig](https://github.com/williamboman/mason-lspconfig.nvim) as an easy interface for setting up language servers installed with Mason, but this might not be adequate for all users. The LSP installer doesn't support all of the language servers that Neovim's LSP config supports and some users may already have the language servers installed on their machine and don't want to reinstall it separately. In these cases we have added an easy interface for setting up these servers. The following plugin specification for AstroLSP simply sets up `pyright` language server for a user with `pyright` already available on their system: ```lua title="lua/plugins/astrolsp.lua" {7-12} return { @@ -315,7 +315,7 @@ Many of these can be found pre-configured in the [AstroNvim Community Repository ::: -There are some plugins available for doing advanced setup of language servers that require the user to not use the `lspconfig` setup call and instead use their own plugin setup for handling this. AstroNvim provides a nice way to do this while still using `mason-lspconfig` for installing the language servers. You can use the `setup_handlers` table for specifying how language servers should be setup such as using a language specific plugin. This function for each handler has two parameters, the first is the name of the server and the second is the options we would be passing to the `lspconfig` setup call. These options include things such as our built in `capabilities`, `on_attach`, as well as the user defined options in the `config` table. Here are a couple examples for some common LSP plugins: +There are some plugins available for doing advanced setup of language servers that require the user to not use the `lspconfig` setup call and instead use their own plugin setup for handling this. AstroNvim provides a nice way to do this while still using `mason.nvim` for installing the language servers. You can use the `setup_handlers` table for specifying how language servers should be setup such as using a language specific plugin. This function for each handler has two parameters, the first is the name of the server and the second is the options we would be passing to the `lspconfig` setup call. These options include things such as our built in `capabilities`, `on_attach`, as well as the user defined options in the `config` table. Here are a couple examples for some common LSP plugins: ### Typescript ([typescript.nvim](https://github.com/jose-elias-alvarez/typescript.nvim)) @@ -348,9 +348,9 @@ return { }, }, { - "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { - ensure_installed = { "tsserver" }, -- automatically install lsp + ensure_installed = { "typescript-language-server" }, -- automatically install lsp }, }, } @@ -387,9 +387,9 @@ return { }, }, { - "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { - ensure_installed = { "denols" }, -- automatically install lsp + ensure_installed = { "deno" }, -- automatically install lsp }, }, } @@ -543,7 +543,7 @@ return { end, }, { - "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { ensure_installed = { "clangd" }, -- automatically install lsp }, @@ -655,9 +655,9 @@ return { }, }, { - "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { - ensure_installed = { "rust_analyzer" }, -- automatically install lsp + ensure_installed = { "rust-analyzer" }, -- automatically install lsp }, }, } @@ -746,7 +746,7 @@ return { }, }, { - "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { ensure_installed = { "jdtls" }, }, diff --git a/src/content/docs/recipes/dap.mdx b/src/content/docs/recipes/dap.mdx index e211e72d0..cdc02d112 100644 --- a/src/content/docs/recipes/dap.mdx +++ b/src/content/docs/recipes/dap.mdx @@ -53,13 +53,13 @@ return { ### Automatically Install Debuggers -`mason-nvim-dap` also allows you to automatically install debuggers that you may want. This can be configured by extending the `mason-nvim-dap` plugin options: +`mason-tool-installer.nvim` is the plugin AstroNvim uses to centralize Mason package management and allows you to automatically install debuggers that you may want. This can be configured by extending the `mason-tool-installer.nvim` plugin options: -```lua title="lua/plugins/mason-nvim-dap.lua" +```lua title="lua/plugins/mason-tool-installer.lua" return { - "jay-babu/mason-nvim-dap.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { - ensure_installed = { "python" }, + ensure_installed = { "debugpy" }, }, } ``` diff --git a/src/content/docs/reference/default_plugins.mdx b/src/content/docs/reference/default_plugins.mdx index f9ac74972..2c3b024a5 100644 --- a/src/content/docs/reference/default_plugins.mdx +++ b/src/content/docs/reference/default_plugins.mdx @@ -13,6 +13,7 @@ title: Default Plugins | [L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip) | Snippet Engine | | [MunifTanjim/nui.nvim](https://github.com/MunifTanjim/nui.nvim) | UI Component Library (for Neo-Tree) | | [NMAC427/guess-indent.nvim](https://github.com/NMAC427/guess-indent.nvim) | Automatic Indentation Detection | +| [WhoIsSethDaniel/mason-tool-installer.nvim](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) | Automatic Mason Installation | | [akinsho/toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim) | Terminal Management | | [brenoprata10/nvim-highlight-colors](https://github.com/brenoprata10/nvim-highlight-colors) | Highlight Color Strings | | [echasnovski/mini.bufremove](https://github.com/echasnovski/mini.bufremove) | Buffer Removal | diff --git a/src/content/docs/using_the_docs.mdx b/src/content/docs/using_the_docs.mdx index 0d67e67f9..07e4cb99a 100644 --- a/src/content/docs/using_the_docs.mdx +++ b/src/content/docs/using_the_docs.mdx @@ -10,12 +10,12 @@ AstroNvim is configured nearly entirely through the configuration of Neovim plug For example, a recipe or code block may look like this which describes how to automatically install the Typescript language server: -```lua title="lua/plugins/mason-lspconfig.lua" +```lua title="lua/plugins/mason-tool-installer.lua" return { { - "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { - ensure_installed = { "tsserver" }, + ensure_installed = { "typescript-language-server" }, }, }, } @@ -26,24 +26,24 @@ This can either be fully copied and pasted into a new file in your `lua/plugins` ```lua title="lua/plugins/tsserver.lua" ins={1-8} return { { - "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { - ensure_installed = { "tsserver" }, + ensure_installed = { "typescript-language-server" }, }, }, } ``` -Sometimes you might want to consolidate the code as well such as if you are already automatically installing other language servers. In that case you will just want to take the code that is in the recipe and fit it into files/locations that you are already managing. For example, say you already have a `lua/plugins/mason-lspconfig.lua` file that is automatically installing the python language server: +Sometimes you might want to consolidate the code as well such as if you are already automatically installing other language servers. In that case you will just want to take the code that is in the recipe and fit it into files/locations that you are already managing. For example, say you already have a `lua/plugins/mason-tool-installer.lua` file that is automatically installing the python language server: -```lua title="lua/plugins/mason-lspconfig.lua" ins={7} +```lua title="lua/plugins/mason-tool-installer.lua" ins={7} return { { - "williamboman/mason-lspconfig.nvim", + "WhoIsSethDaniel/mason-tool-installer.nvim", opts = { ensure_installed = { "pyright", - "tsserver", + "typescript-language-server", }, }, }, From fce5bfd587dabbe8bdbd1ad507bae6e29899bdf0 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 17 Sep 2024 08:10:09 -0400 Subject: [PATCH 04/22] fix: bump required Neovim version to 0.10 --- src/content/docs/faq.mdx | 3 +-- src/content/docs/index.mdx | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/content/docs/faq.mdx b/src/content/docs/faq.mdx index 72fae05e2..4df8ec5cf 100644 --- a/src/content/docs/faq.mdx +++ b/src/content/docs/faq.mdx @@ -36,7 +36,7 @@ If your icons appear too small it's because you're using a Mono font. If a font ## Why am I getting `symbol not found` error on Mac OS Sonoma? -This was a bug in core Neovim not supporting Mac OS Sonoma. Most likely you have an outdated [Neovim](https://github.com/neovim/neovim) version, please update to at least v0.9.4. +This was a bug in core Neovim not supporting Mac OS Sonoma. Most likely you have an outdated [Neovim](https://github.com/neovim/neovim) version, please update to at least v0.10. ## Why is `fw` not working? @@ -54,4 +54,3 @@ Feel free to join our [official community Discord server!](https://discord.astro 2. Make sure to have read the documentation ([RTFM!](https://www.urbandictionary.com/define.php?term=RTFM)) 3. Use the Discord search functions within the `#astronvim` channel & the `#help-forum` channel to see if your question has been answered before 4. If the above steps didn't help then please open a post in the `#help-forum` channel and wait for someone to respond - diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 572acc318..a9320c7e2 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -25,7 +25,7 @@ AstroNvim is an aesthetically pleasing and feature-rich neovim config that is ex ## ⚡ Requirements - [Nerd Fonts](https://www.nerdfonts.com/font-downloads) (_Optional with manual intervention:_ See [Recipes/Customizing Icons](/recipes/icons#disable-icons)) [[1]](#1) -- [Neovim v0.9.5+ (_Not_ including nightly)](https://github.com/neovim/neovim/releases/tag/stable) +- [Neovim v0.10+ (_Not_ including nightly)](https://github.com/neovim/neovim/releases/tag/stable) - [Tree-sitter CLI](https://github.com/tree-sitter/tree-sitter/blob/master/cli/README.md) (_Note:_ This is only necessary if you want to use `auto_install` feature with Treesitter) - A clipboard tool is necessary for the integration with the system clipboard (see [`:help clipboard-tool`](https://neovim.io/doc/user/provider.html#clipboard-tool) for supported solutions) - Terminal with true color support (for the default theme, otherwise it is dependent on the theme you are using) [[2]](#2) From dc060d178e114ac39113ded5980559e7203084e8 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 09:27:31 -0400 Subject: [PATCH 05/22] feat: remove old plugins for `snacks.nvim` migration --- src/assets/recipes/picker_theme.png | Bin 0 -> 152490 bytes src/assets/recipes/telescope_theme.png | Bin 295998 -> 0 bytes .../configuration/customizing_plugins.mdx | 23 ++-- src/content/docs/index.mdx | 21 ++-- src/content/docs/mappings.mdx | 31 +++-- src/content/docs/recipes/alpha.mdx | 66 ----------- src/content/docs/recipes/dashboard.mdx | 78 +++++++++++++ .../docs/recipes/detached_git_worktrees.mdx | 2 +- src/content/docs/recipes/mappings.mdx | 34 ++---- src/content/docs/recipes/picker_theme.mdx | 61 ++++++++++ src/content/docs/recipes/rooter.mdx | 4 +- src/content/docs/recipes/sessions.mdx | 4 - src/content/docs/recipes/telescope_theme.mdx | 63 ----------- .../docs/reference/default_plugins.mdx | 106 +++++++++--------- 14 files changed, 243 insertions(+), 250 deletions(-) create mode 100644 src/assets/recipes/picker_theme.png delete mode 100644 src/assets/recipes/telescope_theme.png delete mode 100644 src/content/docs/recipes/alpha.mdx create mode 100644 src/content/docs/recipes/dashboard.mdx create mode 100644 src/content/docs/recipes/picker_theme.mdx delete mode 100644 src/content/docs/recipes/telescope_theme.mdx diff --git a/src/assets/recipes/picker_theme.png b/src/assets/recipes/picker_theme.png new file mode 100644 index 0000000000000000000000000000000000000000..0e4da0c61cdd5b3183e140cfcd3fc605209e6784 GIT binary patch literal 152490 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 J4d?DW{ts?Hq(uM# literal 0 HcmV?d00001 diff --git a/src/assets/recipes/telescope_theme.png b/src/assets/recipes/telescope_theme.png deleted file mode 100644 index ed86ddc77136bc5fad306e0a0456f465286003b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295998 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

_PS9lR#dWAee?`MaICj|13Hv+Enu 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 z�AiF1$}4vsjIWH77zxJSH&=a@kx$iS&&!6 zu}U$vcsY&c$ij8QuorgS!1-e9c)s;r7Srj}$r5duhgbtprT(o%oOIhguF)U`=V73} zN;-9CHr#e#L4T3;0zN)Aw(9|8&zHq|Tqef61{R$RkNauX<|dMC-G@N2;j|Spc?0FJ zX)Rv}t`RPR+LdSoE~x3GRkNy%S9He7cD!0s?);Q*LA4vco(1@U^6ZfA-5UXq=u_6H zm>&b`@(y4E8S=pm(c1GIpUIUi#Pk%pHfwmIEj+SzA*a%K2peJvdrq?z!PPx7kdRlj z^Mu*yaxU!R*}2scYTDc*wau!j+2lEWf9&2rPWU#l`-rgQ&GP5v%=4oSyX?T1BV#b;&7UJXEguo;KRnXcmZ(|`hMei>fSnwNGOwZ3jar`wYWXV&DL zaF7k&5f^t)fiIPfGnBuWFxS$~{i+SH1ceyt;kQhK`xv^emTZ3HEJf|`FQ&odZ%hMY z>GUJ-XLk`cA>AvK4I+q^x`rz_PZW}_;YPk`#o9Amk8CVYSKx zvZ-)c-{mx$TJ*XOIJkxMscSk5&i z0dAGfov9z(h=WGm+dGc?qyFur?dl0KR;UR^6~udcND=ofr;Bk!4lml5Is%`izwkgu z$L0P)yFL0!BG&1;%M)kt)U^?qQb3j#rv)+W`LrYpKp3(4>CJ9RgBsPF;&P>^WZZ8^`GFHgN|0~eqF176i2aEx5R$KMt6mS3SLc~=u@(( znGX8oj2IDP=)hr-N!#E zJT+YO*y=RqC{ad|NxMW0$M+=HUXckPYLQcHUJNcd(u%GMV#7wO%qnZ;+}Ir4Nq!T9$d&_mc!MxHO!FC z`*vj?knNCIc=6weYE`0$3WB_n%h9f8sw~BfUGz!f!UrS9^JKWrZKqEA62E$|zAg5`Zs6P-uUrDDFmb$Rc0T5cJlM<|=YDKaEetxX=2;i|)CX)Aam zoZN5f6y;>GZBI9C`}xG~+pfASGHVKzaxp)BY(sRBR{^(oRFp!W3x{Wy?q;*|jets# zDu_97P_o(8hMYVs9!v_)@NO33*!7=}MeVyz^{sCs%7D9QlxWVRvblDL5y;)RA7~q5 z-oqKB*~h>(-GN3{45_V<$(Zh^4ryl{eQ%tf)u`|0CKTuVqngzrJ~Xh93RzS{kt_ax z+`VN~9No9|n*RxOXdt+Ikl^l42ri8Tcc*c0+}+*X-Q9UBdE}h`d(IvA ze!idS8r_Vl+I#Iae{(KvQB|{zgO2@Ip0p+W`oROPrN;7i8!IFUjt7*FAdpOIDaJU< z)1XN6HR=I4S;O>%mX+BHe>w;Qk2QmBhCQKE$|1Ev7Wz?+qv&JL&ceC*{8*QQ7E?J1 z6^i}D`X3=>4pfir`*{(?^Nu0AuJ^9Ya@@EL?&5r5(bvh2U`i;vf3UYN zldowsOv$r8b?CizM)gyT3dH?nvPmk>ykGeOEYNH&QGj)jxvn9>>>)!oDJ7uE-*{}6 zZjxZ3<`DPc>t4Q-*4NtnvCS(w`rP6*J*AzVV$6J%k3aT0e8%$Ht6ahv%FuzaFWQQZ zj(4g!ndEci6hstm{PP}*d(8T9tl`;UaKT0KlUa*D2|6?x>DW@2{Z3klJ(uG_={5Cm z=nDc)`wU>NM4r7Hu#`@4bemQ?n-v1xGMVKIcJ2FZ0wgb~&zNqza}Yc{8fohGZ^#ae z!1;`V=EjA0^Yqd($D5Gu5F4p#dnh^6-gJt77&mCU4Q9D?A@5*?5zcW#Dn_NLL-EePI_q%H zpSU*$6Hr|pFLxhDKVnK(a4?RqBI#+QT>6x$Bt`-d->9Gcz9O6BUHoax|76}|uFxno z2Feb0iQh22vUgct^=Xe+MBH6llElQ;0*A|DBCkdxc`pWS@)ZQMa-@3d9*4!Q-h>fc=0R;;TSCi{fGxMm~2loauSDd6dWFu;L?m$~EeaqZrABN-3YPO>>5|2Y=IUk`CnDf~FSC zhApdHq4g-1uSV0+tFB>5xX>FYCMlGzivd+m`@AV?PhgVOJ&uqv>CAL_1dO#9=DigY zPX9Tug>?K8- zh>VYEhTX>lcQ+Yv zZFCz<=OEh`X!pHFh;u&e8>=`2rI>UuYVeUzI{s~MKc`y#&5wMZI^Mh!Tqy2qOI}G) zha4FtgHRBK?MqJ~wyjM~Wlz&x+d=)|{y{L5`jE`{6-2RO1UEWQZZZf+vMdNsZ6-2g zUR5h?aPT>$y{#Gif$$g}bjhg)yKqt+lK^29jns9o1ET#EsWC)Em4C`&!m_j9q)P%y zj7B26yT5D|C*EEQMmax9!+FiVVHYNf>m<94%YF=v$zZ5hf4_$5I}}j(a+Ow-6fh%7 z3HD3j?(jK}n!;UlGAEs8LoQNmOX26vprH3l@e1O4v50sPsZQFngR<*R&o5z%p;IV+ zMZV4H;m-stmSodUq03&>9!Q-Q3YN)Iy z9TEj1PPep!8+$ZFXyz@&9w5Ru{`7ONO7?=zXF9wr}jsQe6PW7pdhNpbLa zvDKO!^47UxQ(VAZy|GG!8+~`7$W_|)9X8+cX0AL47MV~4$Lv8;vbOBYnuUeuqdgNc zk+VPJ1St*EMddWx7)CLCci$Y360~A=!C$*K|3}fZHzjPe`im+ObwP=PB9h9V`!u`P zT{hW3QzR?dj>V*SA_C8=JzSu0`*g~s)aluPU$WsWZHoRG9{!_)7-w|DBHYD1`Pq<0 zt04}WPfnX_ZVY2b$Y4sH&xJuw!Y)gCu5ui2Mk;WVQv#sKCP!A=lj}Z7s(pPoW5n@W z)*&>3_D(T{&ZW>xKfHsO=D~=vliIx5KXNzg5ZzN}YMaBCO~T!6+-5fj6i|2Ezy0yk zw3=@}7k#OEq0u(JH}LvJ2y!EHTOBq^XlPcEqO?uI{u(h4_rT3v8F%RZW9!V+m<9ow|fk^?n6WIvgV?;d;e-9H9R={Lz2ESFpK=xsFPj4C4RxW7_KM!|!lwG7&GPIbzi28ohC zZ@h3GXFMMQ%cm|VdNJ6j=CYw zwTEO3lLV-RJ;ef*XT0MVp*Wu#d~r-0k&|BG`rxJlO^}=l!=YRjV)%WU=}V@N&Cu?U zrA+2{v}goggDg^_+quUSQ%hWq%XmOv_P>771FH%-jd<)(mU4ArRN;t8-F~1|8)9Iq zgn@Oj-6+PB!*Vo$lN6em%2kw~)O`Ctx>{cI7%zvHepyO~h&N8ryBK8cxZWFRi)SbG zSKaZ42BlRYjKKlty019)Xs0>o4as3Z1nb1l*F{>IlQw3<5T|gHsgM?ouKudSxdL7? zkx<+ch$S!08n6BPn(1j&4si}d*v+kmIi z_#}K)p+w7Fic2GLpZ!wFr6v;~EDI*;=is`uL^*9XO7q{j29CeV2>sZzxB#f_W0GXa z7C;Hf&QejKQ~BRSB+XOqcy-6?xT6;~GXJzvPhP$<<$&4rZeTTS+x-m0cNu@RV}_}< z))jPFIBW3O>G$i#^%A%c6VPm>M{Hgdq0+B7HAV%W_arSIrtqavm%pT8g zEc|}nh5YkeJT>MxqG^@!P`h5{*R&-^vyGHgpcqdu zgm%dEl1+#C(ooM(UjefjLouV~>M$BR^!PoET2)40v^jU#Rj12XM5#rW>$@aTofW@O zD^ekv!M^y7;K}x_0=Y-B1>eqc(%V zMB9XAt72!|;|M2U;EEs1P-|QeBmU+7`8`x@fIyJe|FV(s{I)94Fdp{?8;;tujBG|f4{_PxScgB(6lte1J;G8FmeZww>*3T-;*lT>9rVz++dK?Wk4nV~J)0p6BtY>mJYzS`t zQlvIE)*-~2G&PR0|5TDaCd{eXEvG9RRce^f~*pYjbuxs>QdrwmO!8Lr}s?vBC9oI=4@7_txo1h@_BXEG~ zGbG!+9p9Rj!jGT&en6I)5u8Mj6`s~<_hO$X>I-mkc?V>mB_Rh`10*i&W=kIW*q)Y@ zv>~{v^+C%P%!y>!3^Xdv=1MUxiNeJI!6idaG|VQ@k8qEBDm^!HHdC4Iv&jOGwLM>v zZ{&7;ey`Mh;{>3zPC>>a`~+I{E|9*Tj8-RTxXk*LEGz3NIoXpprq3m6Wl8%>qPZ6x zpxKZ1fHXF<=Z3{>)o7q`?|QeWs5O1OQti3S%PQtrxsO72DiYdc(K`IoyvAr+H62zs0cbL~2ol zWa>~TodaJU)i&k%-%a=We|MI-^K-yB^Q0V(^F3=8?q$IkAUs02v66@}{!z)gR1JucEhV7QzHk}!pwZ4VbZ_6W znNKBE;Q5Z+*_*oa#vuLMhxxmdsUZzdHb%s@;h|lYz`XK`XRo5KV}-_Yd&sBL-q-4-wR_a8pHZ5JQ(ddPs->}JH~S|c!< zvVKhs$JROZ;eB+Yw$3lVN}_U}z5bHo5c?knh&a-b9A(V+$B=089VXhCEAumRbD^wB zWQ5{0QYB^2{nFcq8{7GSlZr_Omw3%1oD|aW{4njI-fzW^2mw(vvdBdsaa@4lSf;; z9%?L+-;GJ5VvPD9|L(s9>i3A74|{QR z)_GbyAzIFtl63%8Cr+W5q_4Hjtvl9MpE(Er-?i348QKKsb+5e) zv|}ZUM2Tt}dmR`1+sHx?W|uXIcs<@Y?kcx$acO+tx2}-sq3Ciz1eMpFYp`c)HLqG{ z!%(3hl^ubSEje>Vz$q7&(pVGKDz%r&9uD+p)26OTNYa`2LK!B2n8HgA`#o}i@Qz|V zjpi2Nj1t!orW8m6-g_X(Gg*RTdz8m`Go@IABd#liKw`RBGaK<|Qy;dHW8CISB z1;RZHXS;1$S-4X zGv5a~;9w&nvQT3#*CP7*`i`428Oqe!cwk~<8)YY2B#t+zGMM*8?kzBlYY~6S*Z4z= z+}d!`NZt)yM(sLQc(|;`F;eG5N+v?m4hlbUx=gq+e1~~wDO_i>$>@H$X%@3uTKx&> zUUgDhZv|0x07&bqSLNgJb>|RuS?^`|XBk^@5LwZ6U~TNZY;e?SDBIPXJL&n`fm8U$ zfnzv-!ST01*Zl+tbPY?8s;#LDJUeZ?I+u^ZN^XtSGYYJ0##w@8$QoZmfN>KCD9Idd z<{P#};v>RMyjva&qK`awH}Gc_Hy)XRlmE@N^F@x7EJcJ9)BaoLX;7c?9pbA_uOHy+ ztY}wGChAC53l-@+&Ms`}Zd`VIPo0cl8sU*G(M^s;nd;5VX+1cZ;-0Oc_!}ZJFo^3XIb%Na!n9ao{ z6Ie3=-wSnj2v5D^xYy(Tr?A;H9l@Z0T!Cephp8nBa%Ke%cHrLRUBajE?N1kFCqPVO zuL*e&PyNWIugshC*8xdMcAwQe%FF67fn`r6ws?_}^F!AXUF7CMy<-Ui;mcO1Mu$NY zPS>l#MvxZY;fCMkKH$IcmNM6D_7N45ftyNK6N3lrEQ&?$p#(gA>@ede5oB+rnk^PH z>fV>yt}XG@?+V$Jr+)(BvZafF@N64z@m#BuIURHM&7c=+bfAE=Gv8aJG$2~f+WZt$ zyw>CR=gx{_{yqp(F1+Vc*$BVS6SqU0yIw`=YjmicfzDN}z#`zZ`vHn(P1)TQ4n7&s z6(rf=)aXa*8A$s+B1~{qm5MW*kz@*3pXgq&s_5##ypssg!2N!{H3|$QZrI(c3ZuC5 zil@^*jR6CGGZs+`uNc^WR<;&%KmHG*E^e+5PI*(fBAs7Z1Ad-3dOU$3<_he^>yc1@U&< zw#9`#Q;&Om8f4oIltYurd|Q8b-4%) zDIRDVTlJOt-{XvC0u^({3s%_c!}+j$Ma1+-3aOFl^X-pSWHU84=V5%ZoNz81och}Z ziuJ6A2Hu9iiTJR+JzN!Rp{dpz{}8@N18|9Zi(ooDsxT|&2bM_`uaCu*#_Oki7_!b`1jx9K&xi>^VR0-EHN~5bEhs7k((#! zf)nM6)I&d%{eKGg2CdU`19(=Rwn`oG~H#)h}x@Hxzs;4pFg4HYzf=10nG`h4}_ zq-d&!VDgCJ*DKSB%)&}0JBLGEgiteaFC9ppo0S+zyHU4P@@%jRrX{)lAO9FR19y6t zR8691OUAC73But09^w@dX045HW4bx_x%2wo{;l>{ zWAh^q51)CtxUn~L&hhg#UxS#KlKa!uRkKmoh4F*#H!}rcg}usc!Ub7dt4lFbp^xD!iU_Aq;F37PMnaE-~cawqp387>>r{CD4Y@Rl>&SC${vK!BIIG8%E#prK6 zm;CvKXaA$dZJaw>B3XrNX9ze6;~#j(g7uZA=|q~SddJv}wntSkW2C&^;kq0=QH7z4 z`&C!!SUwAj;qiH7L&Q0jYtM6nLyB6N;bSxVpc-Mx<_D|gyrOv-3EnFdOQhBn)oQu# zE(vV%YF2!ew@({i?f_JLBG*LmF3lD7UIq26Yj{b5tq(nInJJ0!?RxUs=~M600Uknz z-`44ew;5lLLqcWs-k%!0b-D|p{Y%rGo4Pok8n3Q8LjU644OszEPTfZmFei+kK0Qi* zQ7Dshz8g<`?OuLK2c(>iW$h6sqLdfOw^m4ReLrRar2ig`fnaeG_4B9U2? zZsr?wW&`fV$yPCC$90@tly)2DWwOH?UJ(O4vv3p~R*lsRoK#Sk5OhCm=!EHi>95g8 z#F?jP=-$Y)J8?!@)7$yE1p4HkJBUh|+ULYj9J?7rlNF{i=`WY+?9UB2-S04)+l6x} zu?ObcU=Z2g>c2w>gWopQi_A+O)Z}9#7${}k+de*)_V!0v2i+dp`7jjsO|Q4K3bMNx zlW0FHf1PBj;~nia;;y*$M(;pkT97#8vP-MG+@q%WzCb}8OIHnMK!&F*VO>X8gwd?r z?^Jm09T_l#+re&BY4_z#b~0bdJSP=r0;k=95T9GKLi7Z~xMr+Ct3c*`6)oO}HTE-; z)t{CJixEd$AkSyCkA49V32xeq5?odjeO8~N+OqX7`8T3E#zVVC`sBg1-aoyMQZPiW zgK(sinDz~?lIYhE1*Jt(N??}V%q_tCXHeYUR_?2 z*$Ts45xWdoCe^6EIphJD^tvXiVG}=DE_r{xQa(SAnR$DB(UPKdh6B_Lq7-T3!t4{X z&%{U}2{`dMCdW*SRAV-G->_xS73ZQdZCf)*z=R?`A3YpdKI_w5wDO<`=7;}Ppd$j? z@Y1J^VCRK=WOez>*O3PrI@p85y%`mzSfi8j{vVk(v&IAdQPsP$$&%^>CSTj90R}>_ z3H^Y}GtU!=X$DdfUE|Fs*K_^f_CZR$X_lwaht+%XNkqOm+~N0Mf)zLec-`*{Y(oi! zi}N@x8YT!f**$p`vu6nyOhU$;Ld`Fps>Uo&Mpi2i{Ie@fHf>x^P*Km9B_*WmWMd6)}8O?OUj_6;TC%LgZn zGw^Vi1vJ?%XkN6Bk!$JWe?w)OH^AL`i5R(^GglnhJIq~zCz&|H7qMlNpy?DV>3$^4 zMO&j4UJm6qj_{Tm4Jo^LBcG_4I=tl>_G{=Yx!V`<;$&}zQ(m)>@lT( z4r-KNpjmTriv+dhqtV z0pczh@X8)E+sw2Kp5|xj-9LaSObfb9rPn>40%reTN_y4Vxdzb37qtcv*r1HAi;46{N@n4Wj{w<#H!i z%>~&({F;|V$a1xSG&FoLUD1qy;HF{vu=a)p+uwhkz7DY=FHoHE9_3JHcGG4p$U-W%31;Gd834Q z2OwEz6}v5_@VcwvAe&AUepz(A%7W1zR>q5`uOdc3^5Zdc(p@Lm2nDlovcKLu>ontL zS}YU!qjRfl+inlZGA%8@aWr+ugYfzjSLs7ZO;C4((P4gqG|38E5oIZg!t-AAel083=FltKv|r!?rXzkG0na8en}mjs(9X&1el((Ch)Sh50E%Y`0p zIx23jSx%|x*IFXwai?sqQfaB9jTypFxTg-&(#IS+tjC5o&gv=0g4p3h@38AlCyRyg zri$3!2oOxC*xzXKC--BOl}Q~g_8NCB*gyB3)`fS=IGe-mmyesx5~qdJh% zd$iTF)5LPm!#FO%HJw!Uvv34a#C_+*0jSGcK(HV3O=&wx9*KVhCMI*1 z%y!c61%>=>!Fv4?O0z=p_!3I1_ZIIDtGzT6@;^P|HEe ztl+!PRk?ujbkg7eScS5`SOvNjfK|XI)S|bm8z=A+!Cv{%3XC|5D#HpEaeQQUjxbOf zCcApo%$~dgA}|}l-@g5EU098Yg;lKI_CT;1g%^hkqUUqEZRw^oKh3agR_ap6j%Cpp zA@UQ$?m9hl4>T+eIlP4sYKt zxBmzjIPm=W56g^u_aW^K0+>Dfz6KBV+=-b##+(~35V<~Yp4^coAPeWdbPfzl-}^As z9#%d#B>b3Q{_ZVG?Bgk>r%^b)xI9kh} zbl~#!wNg9J41S3mpVg9m!pr!=!w^AOQHD#@kgo;|YNMr$Y-FY75C=3m=or6(JLjDR3_IUe4G zsz)k*%E)EkGKw(`wS_E=3*ar>o%KV`tZ@kus(;mT`*5lgauR|K--v>G@%h2f)@ z#;hr`5AnMw&f%ZYyWTdWuGY=e8-_h(>gl4Xr$RIx#}ezJd;fZMG1S4s!S#=;k(GKRwH$i>X%6Z9pp*T!D@*U zI~+O=C2_qL*{MsmZ6OpXWj(BZ*X}Y_R&NpX;XKVzKzF)LI+dTviHch0w0J%|SM8S1;~V@C07>m5Kxj*e&R+(+sQu{EKmc&`Z-K!)UCoGF80 zwBP0O>d})R-+{5cz90+!U2H`pbPAsmeCT03PF1c<_f>Q0xHhq9GAWZ#v(FR$d&~Ok z#nZyhdw1}SGs@>VO?DY}xn+;n_&tm*MA6W^&-8 z^rSn)A$m!3{}=kfLD%+JE6v*6V7hT5sNU2t$aVGGu$$@+&d6j-O5tDGttoBM1v5u3 zk@l!B7F~F68`*t@x^tSk_x)!5)i4-FQ+6-IL`xg@sdzNc7uJ#Ehol5g0@FQ)*1`L+ zb!kc2;EQN81<^TeP{_r6*`xAXND#b|kja{>tXQMIl}Rk%{jhe4ecbc>By#=s)2GE# zLT0Bp@z=ll@XFYN`{o*LDy)84|J|$>r+Y=OCiN}sKCEWqv!PT`eR)fOY6M#{|MTh& zCkU-|eGe2LZ(5*OnZV}6;$naAPzTl#yrZ-HW_a$mqbwRa*7h@ipN#y~6~mfyvh#NN1U z(jI5!>&L53tpvOLqsK^Qbkw{Nen+XBow!m{X5I6 z3HgY!E{72Ivb&}?GFF<`hN>*DhH$55oJ0`>gkI~=gdsa;k$jTWQc_rGiu3C-gy z+DY@zoCQpLi#q00(>wS}Vf4ppAm+;UdScdIf-mha@Fr8jP5I0#l#g9L8vca5T|_;Y zmv+Cq)LSP_inZis8`xl};~ng3hnR0_Sx*w!5Vw8oC#PD@UohZwwkftxWbLzVJ*{IM zU&L4{Hb-v_w960pAreIuf*?$?pkAYNUb4f= z4KB+B70Ii-z9CCX)JkOz?tXDRe3$wT+y)NMtul!1BuRR|n$#6m(AGmU54lT$Jtukv zsWOJ35RCxEKVV3McFmAA1~>bB>TX(}!V?=0JuuMF{Dt9{*5imPGod>}q1+5DV?(Kz zVazSq{RHV5XB9F4wm2VCGXB(U&Eh2xMRV{yC zjQmUG_j>a=?Ig0%2R2402=(P}GG;R7Ttf42G6u|N#S*gCJ$NZB6A6ENTxR4Bg!o4J zXDYsuen>Obk0I?!j+nIn3PD>1(Mk7?dl=M-3UlG55`1Ua2SWrKBivmV!CY;@Szx;0 zP^T?MrImDatO{UA-U2WV#kLdSZz6`T+*xNWF2W-Ko4|A0GRmJ~%x3VZ(kP-MK;PH# zJ&?NJCAHQf>jV6X7KF`U(O30p|OO0Xb3xYMKANqCe;hb$QB`5pLEfOuE$W{ef{)py##q zLO{7QvW(X>r`UD@jwm{MK8_aXE}j5&Ey|z>%&VN+n=Wl2Ya(#i@tGpn>V>`VBa}rU zAQMl`kg82wvS;v?8Kko4!HD`{g}T(l*?_P-jcmmPX~y8RjwD4Lv#qE!@lss4gVX$s zl_BW8kW>6!1kuSKO6Rb|tUb)-!pHID=Xc~GOQEKEjn^dRg7emBW(%+Ok83^Bm*&t- z`+r-dX>&VS0jsnk-q-n_iS=E`8!XN}kYNs220wlor9bzOFnPu4fJ%M)Tw%#5M+1=n z-vCePOOo}l%+`+F61MI^yB|z>=u-xd%p9eoA=d>TBolHKDwRm#K*iG0!aXZ>B7-w%J_IIccyTmmo#o4hL%jSpBS_L+b;Q>_Ot!Q50Kg z-}{xQ_7xHx4sSdsgpblm?+UTS2fD^xrJP(#oaTqW@+Jx1oehP&&zLl^f~IAZt|jAk z?ZY|n!i-Hix~i}WgVJVFE#xM%-_8wa7Ckx{A0j)$Tz3Vo4Te;&3s_X#OJ`qx2eVCt zT}6d|EJipMz(K#t{MKPPl9rzT&cpz_(-Ji#BY2j*z`0GJ3f_THsFId4l4*|Q6%NtD zc8|rkO%Ks7whFbZ;xj1I>B>_lhj~xDStCS1#1_(;exY5UpD5~}!5q+6)OPPJW=})@ zR{)(*+77U+$h+XElf1|@6bWilHvMBacS}c;%f zR(I34H7Sw1)%O=GUhYX(U_`|gBYh3^;*G#hDk_`$+msyPKx$(3&zm`J&n0Ks?;Yno z5$*XO4&E2jFu4q{E6dK*s}jYsny>F%vMsN|tcHJfw`z&xuyHKeK_Q0wS6P+w;fH;G zvRH*IuiRbck#g+-c_w^l8En^9dmV7ji%P-MW-PC~Da$N0^Y>ONv%#<-iD74)xo<5g zCs*g}7#fT>hVd9fBhq%@+D+Y;k`UHdD26hXc3v;ByX1arkd>9?ws=41K_Y31EdeBy ztef2r!~zK=Rs;=eX#f<2uz69NOS1>~d+8P0c4kRatn&%8_5y$YEP$Ewm*BGX)m0Ob z5fgfkP^fSFLy%xp-k(*oHB?iS#Yvwv(`3@3JQB9*jbN&?j&b4sSU6t&tWgo)$y-OPcBH z>5Zncxsu&-=5DQAnIB|oSY9K%4O679%1ov0fyE$G7w{7{eB4h&Vl?241NKwYx=bZJ_|XipVFd4Z zF2;IbpFDSXB1UB$R=3R;KX||5(c;<=KVHd2fInQnG#ZeFfKzFnsbSW*zQ$ zUH3F2t!CUjgmVm*WmgW|A*OcEByVZ=>`9aB*z7{(o0T_Adl~9sJdS0nRSsp(ELreL z+MEe~T!!GRa{8@eb}3;qoC>%YP3TU+52F;)l@|Y407PI&YC8nyA5Yzef6xqiiea#;s#Jw!;YPD%)`|0JR^ zp`V}@zd2hQ#9VQ}o#$(b$(VY_X_%9gwO3Tf>D;AhSdyK&+#sQ9?CWV(`mKf3bYSN6 zfpj_We5wR+%1mSmnZyXfU7f!wCqpJ=OsaD@{-Wq?i@?IdBB&BPqm=)&K_Zo!6S3BN znI;laCx{~#OHLz42L&`>45UxqnxF&2AjC}iVRN#Mn-u-Z-}ZajNL92qH;{>dWMzN6 ztKo&(%l+}~h3QBdIx-$_5E~rq__f44^`E1;+F@Gm3Wo~jqp#XG0K25qs>`g*wHiJT z+5mftV6}RfmPUatizv;M9GzQ$1`u$h)p&>CPsgz)cP=-Dxibk)Wh5ti_9$RIG`j5D zJa}EVq{>I25pvRz@jm%oX`r`X{#?qJ;CEDoo*Gq^;mQ{$5t#r4)*)<8UJ3Sj36;kd zQX@NhvDgN4g_~?}CxD)Xg~O^_S?70kFjeBaPKn4`JWv|C3F9gzX0HZ0dlx-M=2rqb zj>T;H5OPu9!=j0P$Z6I=S=UD=1-`knA)oeO_fN<{ zWXa}VZk*B=9@ha+Jc zT`b*oiiGL)o7?Lm`9zQQ=6wt&!CGfAmOH*;X&=t4P#*_WTiBrc*;22B3^=F5*HDL) zO9Re;59hmr@Wq}rYn2yZo0GMdl1CWh{OR}x+}jY~Vkgoe(x5THYj>-$4Y4RgE5Ug) zb2F=_!1Nu{*ZRCK`;&Ow$S<`r9ox=_#*JaWL6k?lku9RIT$15rF>p_g&V-}JCwrpV zC?$72^}}-7@;Zu7xWg;z;b#m1Z4xf6A}4czNhr21?4b(RG@( zI^HaS)ilQ>-$a(m>Vn(tCj8EVnQ-eRY_R-;hEdxvkhy?DWvFJ>lgb`p767>-+(f3G z*)bo`Ypp@n;}|2#IX@R9>+!;@3&k5zI$_;2v};^Ro<%av^q_aTI9T*&E!Hk6{@y^H zxkN4psS7S=t>*=LV@&y@560I)5l2q6-$Lh38h`G?=doLtv?&Qfm>Zt8Xe%uSLP1Z;^S)0jT(DJ3JVNXoK*A&?X(6 zp}v*z^k1{eG5k_mUqIB#;N&&3u9IF^0tMLUjltum!TQ#Pt&?MxtJssm#il`bRl-A6 zxJ*T6z6#WnbBr2NNiL_jUgIph&~|j(p|`RP#j{TZhd6?m0H>C9kie$ZFf? zc5vjPT;-3S+K&;pV4GjwfW~-hIcoDQD!AJ0u0=%Slk^xfoHodldeL%@vY!(8@f;3EJt$F?}|iYSXN&7Q%+0^t9j6{@Ev9Pf$+F? z!&{pdbIpT2KuAM4yZ(kY2!=ld?v9ln?zMReIn9@90+Atxv$e$h9FT)KYi*&>rER!XLP{P~kjyGmW^ zCxX`&daSS_d#(si{;WMV3>0or!app4?{xZCR=<=#;m)&IjKZ5VkHLN~kj%aC8BRBo zh7lMNc=bNGU#vdgboN%AD&`8HqxzIhU;iEOj2RJW?a1^P;@XSz4>|K^IRP>v`2n!D zPu1eCB63osEc_Vl$0;=Iw6pdgB#IGIL+-U|H4;vuA)+T`UG_ccT*cC<;e!ko>x+jfMERgg^fOuA=kJWJ$8%P%yHL&-Ae z8P$lb=a+xtHjW-jn!cf~{KX2M1o5`)>PrNzaXBh#850Zb9+j@Bs$$NHt2JlzP`Uq8 z@BL*bZV-KuHxd3)C?sP^&j>;xw?jgc7tQ%g$r%@7I#U`E^yVdr+7&do7mO2=_jtQVF~;3i$+7lux2Xo`?)kX8i-dUpk1!^isYg)I^JA)ic_!Feze;s z`+<2IYJ6tt4hq(8&*bfkQhxY_APRhI4FMVu$?=}O|NoDn)P`O2v2}?cb-8T|`$usE zQ5?~~1h$ne68aKLJ`*LHjjh)!^fq7m8Ncb8COj;si~n>5aIV1dx_5{uK#yBq=)Y`;2bvhn>*3ntLm>a-RC{7}RfrVAu15fW<E17h_+Afq!afyFfMx(smOjQAn%_bv~o`k@d>X%9RtEU{US ze4B&V!ZpLi{0^|fTB|kPmYQoiRQ`$Xa+ok_2Y8vmtp9LjMRRz^4u80^+gkt^_xt>S zkNTTX1F-PCzYw)(2P@<$fDljE^C0DzHB|-l`!;NpKjhisBq*o6_sf60cE6VmN<4VX zD*kBXT48Y@=N6?lRrmSf1B^nxZka#Cz)6SKZs!FaHJ!Z6-Fr^Qq1*4%xUqOexLQA-ejfaNhqOxJt$0LE-`GeXw5Qf5)H4yjg>}xaksYaLKm2u=a4O=jUk@vB-`P}UgVckYqhAg_Xp)u_19mnmX5Vd>9h(xcx~@0 z`=)(g4>3L*`)5l`R`ei5V7`5uof1!wB8=OkG?6}e`}phq-ZsH}_3qr&f{mDjq#~TD zsiw3s&ho8 zgC$eg(U3gai_Y?JTdf7}w)rAvO*+@6{dm`@Jyzm*?&{((1`Q}Aq$F;KKsrX^yAgi{ z93PuxM(1CoN=49Gd66lpYc2}~j@po1qUVlwC1HiSNE@AWor{&@Cw}1J-i++sH)5TK zFDq{}ttP~jtNQewoSf>7<7NIPv+l$rv+0(du$@};I5jR7mefqk&HeIL-7l~H3Do6n zG?m6bG3FMBCJ9`IRZVfb!wya#Dov%Yk!qEbGg9tWT`w*=dh>~>l=Hqy^Ro0RE~{HU zflvszS91CXaK>|8hq)+OtD5j=Wo0LgZ+b=*=stw9$~$(4Ez0!mX{XQ89I~ybmjUQNxK}DA{Z-9!=!8Ci0LH&IdouMVHI7SWb&N z)Wz){kq;JI9xgFZ*h>)p^X{e9pyjrDDiZ~Vfn5%=Sz`l(9376bVifa7xT+mZ9~P{$VS_s5=@%|&jxWBKR$UmqH^{OYs|ea0dqKf*ikW#wj- zidJpO>gOwd^C^NG&b82)+rCIO@^f7HY*PG}NY?lAw9`<5EA+7?5Q!{@uNyo4Z)1z@ zT!vDIGHl~jfr0aRZO^B+x+Uxgw0K`>EVgT%9C*#u>cZ}xtB`3PoDj{`ZN+?h8g2D$ zujm^;2lFk83lbSiKi@3FD5R@FKOOG*_COvrC=IFynKA36rt6D&<&&1;v@nMheOp}9K3g6_`aDMl@E01 z#=}RNK|S+5F2~E&(mJDMdKCFsiXhY^tu+0s7(17hO2%fg&Hh+0;IXOCOO8&?o}#+c z-OFRW_?4V|c$W|vSri}y-ykgT(`1I!Tv;3;nQyzv!>%Bt`I}_gq?aK_L-B+s+tzfG zcbxA#)5s5!yECJi6KOhRKb0w_A{~B0kh&1K@y@pTsTV% z>16GaIU790Ao=2B|5@q*Z~Y3a0Dr(JURGv9o@$u@wF$dR12ta2XumUuo$eraof9*t zd_1g1@#U-irPWNMrv{EnOKsf6$^OUC5e7Y?w8eTkqdmCeQ{9R(Qg&^ZQ`NpL->Z(- z(j!1f=k6Oiq1aDaX?vYpK1x7*!nqTAN|%tf<>gn;wi)cI{IB8eNUUfI@D;AZ;W`$F zwK#fbonLA_pkPPG-Uk~2rnQR^BBHI-cVo2`hP{0b%#kxqWbQp1KpIGx@^x98htJPf zUyKw{vJyYQxBi|<*!Qhmm99v=I{P@5c8gxccIVU@!-&bhiPOodIq>_@7Xv3ArN=`r4q2^<=R)DLF;ZAC%P>T`aSK$RtMPTe71hDw3?rf?Tb%gp#^ z6=~Fy#Z2^w@5YnW^&hL8F%O@1u`eGLsnvM7gnj!CCrToyP%)$kIVCKghTSe7)2EL% zZsWHfYR+4_s0J*wq+UJ_?>ml~6koT+n`Qe))8@Cykq^cR`TG;y)vI3<295Oh^sIP0 zFy%=v*T>TzWVK~<(Z>henyC^p1rl&tiA@cf94!<&+kOXmG<2NTyx>r4Ij?)^eI&c8 zSrK<2VYci=8h3ENdY>JHRHRv7rCvK_J~!g*z zlgaz#i$3sriZpW3v^86P#b^ z*dJ>3?j3loW-q81Ob8-Gso@G&?DIIN%MEMBs)b;D*BWJMR2Y8|DhH0A1 zoBUe45AWmKGBbF@Wc54p^wEAtsONISf;~_33bL4OclL_ zodG#xJn@ith>=P9Ba+9{N7V?(Owy^6)c89c14!h73!YRe#~?ThHD5B-dx40(@u;Ll z0)sRC*(&Vgogl{lVePG>;>x;j(S+ax3+|TS65Ktw1rII>?hb_o3vK}tBtUR?cb8y= zJB7OxPVjru-RbV%_uY5jyJNh6sWFOk>g==kT63;B=Q%o8_;CfYjsSF_495dSMYRiV zbJYmR_-?HS#reD+)5R`EdFY^O4>)CBnsYt3JMF!QA4!Ab*(?jyBJ-H&$@f%lL)ar>DAZT^E5c!A`prs_s%?p8yu)({TCXN!YS1n@}BE{z2OR_>U5>&MKbkzI001I{G5=D{(-%M*1} zsX2aza3m&-!WhK^EyNdGLFg5$*U!_eOi%9A;@sw%Y&JvJWz*&4)hsrPLDVUaBX-`0 zIMLwUL!FW^9$Ddd$FLDo-L>0|GmE}Ps`%jyS5}rH-7EocTl zcjl)Fc&H4sD>(>%***!}K4yIL09etu&jx#PfKO-r^C%Dp-lF|L77fv;4sK#U5eRBY zI?=_74+y3_e@c;`aAw{fV>q40Ey$YJeaD;L$Ix&1X1^m5(e!hfWsT*4kfD8uU}449 zQ)We2gssY|Qjd?8CK#*mwd(nAMVGpEH_&tiaiZC}BqP+)n?MHqJB2x`kMsv6+G?V{ z2eNY#dX28C_udbS4VfARnLv0oKcPz|O0x~-spgyiSkf4nawR_(YK3^Qcq!CYGU!<4(&PlCkbyJoOhe{!a?LYkr5SVvzK3Y zZ6OHYaIo%E`P#g$g`VF=UPkfO$esRf022{)2ikCPsOnZKksXS@9^7@7=M5D}f^0CobS)h<90a!?Gp3|b>`gzdB1xU^EvwaX!J|ne?oUDJq;BiK`n80XmkMp2P zDubz^))w=8Kz~2-fj4h|$!7_atqBY2s@sL1dm$=O9k_%OY(aoimUx0~h#o?mH* zjYi?#;4TkOOIm^`j7ZSTiu&C z!@eA7wOXiFDs2|C-M(+q_{yy(Ht>n(bfacm;lIm>@8{$z4WH=+8$+qlFcImAa{HBA zCimDvj{RUAcwSMlhV`%s><_`Zbs3)AUZ#{Wpo`}D^NEXG53Hj@U1-uTT;~!dPG7yO-BumrpA2>2?~sftOW_0woDnbxW|%EHS6VF`5hyN# zznugP_LiR69%_zwq&-kG z`*G@~KZV)!<~BJOs$&3QHCTwf``t>4C}YrukDlxI^Dpufc3yMP5giD)qc%%11b@k) zIx@Sz)8Nf?<)}&i`AzD2QYlZRcgmAqkQA5V=~Wnfux^#+qZ4K!s0b|JEvvwanYr;Oo|^9|MvE!t!El3YhWBE3A<)OLs@HQ?0u5?Y!`ieZ{{`R zW<32e2MX)ty?b$#)=_XQ8c-Ir)?;z>jCiYH`J7nFhEEG@4V)| z+M=#)%C1{{JhXvPA44h#rHp9+EIn9l*lGBKEhqDL{c5yK19LiCDjg0^!X89twa%j< zUE?D{RX+Cq1kSAUwwfa;Y5YH#3w-Vol$RRo9O~ERz1q~3Odfyv_l49xeFjy2-wH%p z-w7{MRI^OM1#6Mb?PlUwFH!qF-1IIqvra8P*G9jM`B7-s((*nRRXX#J!GB=QV35Q1 zR&r}IrG4#TR?s*%aOv!)9v9H_0 zpsuq#ltxBH&mg~KV=6RMe889TYpBvB>r?kD7XPVrFU4Pt;3%JtCN^BaVK=6-q^T8p zi*fd&>LAIS1~Hmw2-dPC5#Pm-DMODxVd;nVlMjYPTsBk9Xop55MsDU4is*LWyD6;1 zwLRoTH|{e`Yn31scNNNa@`u&NGpMK`n4f5#dPJ%9$?h`h&pn0`5EW6?R1=G zOWUEfl+MGRe}!s`B&vQ^!ndytWwX*gznk2@nLPWbk5Fd!k^L{HT6N(w3#QfOq^ zhdOojQzim*#d~*_@V~tIV+DVe>fFx$<_FK(a@tyeA6Bn9=7>ZnjL+>z(!h%=!JaHf z889atxtfc}{nhmlObBHG<2!|n`@A2lh_ODc_bO%EL!RIRutaZW?sCZhfy<0o?^x2PtLHajLN9~j01k4)lYa2p0M(y7z zyl(iuRy@4JTtFPNDt78`>B5mIF|r97G=bE2P)|N<^A34r=_8^^`UPl+Q+0-$C2x!ny4^ zEB2@u^v>VCXYa9O9~lxVYQ4COYH%s{`a7l)CPYLCtYr`0E;@WMwUn`ZOtM@5sESn; zQ;#>du&*GLeg4Kvz~pRsRoHG$zGLWvyhV!0drd~otGGQl(%j^`fWgRcJJH9P3am{h zz9Yu_FVGKxvk6W`Z?9fqWH?`-#c1y=3~IKRJ5`>VuhQt`gJ(73({wB1sFF4iDXI+Adq-g=XtI zY>JxlV|Op@;|1UkK@Yf^m$4x)>TV!$nad-t%w zuC4Q#bKbQggen+4sro1>@M0RsJEKio4o|py5Gg$-lz1dOgtUaC%Rw^I`~W{f>-r)} zray=E&h)AI;Tx^`CsB{8D1Ad5A6gm0BT%9{Qg668rCm_j{-J zBO>!-tI2#XZ+q2ng31ty8~AC#Qx{i#JA}}sz;xRW8xu!iE~#&~yAjTL*L=0*wM2=| z03NEJXh1Mq29cGd z$8-PC|6U37!M|<;&@2m#mzlvR8bRlr4!hmIyX?*uu;=6+sSiKL=Si%!eR%a<;Y+pm zQ%*_xzsK!=fgsePPmI*uj%KN|cNE6cCD}20-Fi+<)C3C~Ph!1Ts9_83dG>%89*Is{ z-d&dScbV{)!@G!u2mqmskD_D-7$6e!dL`;V?lX{@fSqV_#;J=mOUl)L;I~e*Wuc>M z*IH&BMM~5c0If4FA3)EZCRvrC9M{bV}dFcX8vARU&_%QvYc@ z@?TCBBCM3;8P4IDLzHSbYJrt1YX4Qp|8s4B@5_H%W5D_m!T7E8BPSR%Q*g8(#XmD((1jNK*zk-#OuOf4rKo=B^VgR62IOAwaU@0||LC5kK z^!eseGaWEen*d;+;YwVc`3<@<6>V+H_61f|{C91~<5tz_Cwxv@5n8wjxYD|X8YPlt z&6n`0yxz%C#Jtu80mA6t=C`wLeSz%oR@4tQt`g=79t8B`OiC zKeJw=be@NgwiUXgfK{l^U5iK zt`T;G26T>E-~aOkl_i0JyM{D;RmnS7$d6fM1!1{bD$CQW=0;?#k?=1mP8CXw8R(~q znGC=xySvwCIhrN`lLumPX{33ig6z9+FcqfpKse&W_1U)hm_IZk+PZBaf!(UFw$d0h zn{DAVF#LnU?rMssqsJhDS(iu2z?(PHMf$7`dC*buu&P+(s@*_PuF&q;oRs2mtibPe z)Ls(Up0ub7dcUAC@7f#3L$sXv%H;HJuS>A0jQ^z>%jP&g%9YAMtko3+D(n&asjWd{ z_cA?rUOA?V_sWGkHxRpjc;c!bDN7y z70rByZut~V!V?IX9~%l`HwO4zU(+N2Tl!;sD*sOZYM0j&mxy4Ga3I2PNHs4XpaA1z z5~Vq33-dDUF^jt&Zg0; zm&)U@=&O0V8$SBzETEI|ZPYOfKb~W~pAFWovye;q%sszHjsDM;_t&ejGA+>_=hx^` zQBTKIHuESN_BcU=tx_shF&`}9Zn;NF%>bSND$m^wnJc*JvdGP2Nn9b#6_6#x!)LvR zFI8`|`hOh0;6D~y^1%|d>PBLIpp73S3b&dm&W!sMiSE0{_T{8U=)KnZmB=38WW5aa z+oSTmh;{t?0S=GurQgR4F-Kn89q8M6JXB}lYW zmszwjeIOOyDWx{xL%-@tH5bHMSLf;hJX~DKi@hFNu^B}}Rls#)cQhk_1G>Olef>2Z zDcFiZtvEkSYp!%Ew5v|?Bp1d08Si|#au+4ZB4;hb-w`x_4ln%L%(uiuew`8z#s9D5 z6}Qzd@`@(x-{e)Y$1n0~=YNt{uc>yX+L~7fJT=Q+UYwzT1r_kz<7A7@*z9z@1#jhU zF6?{&ll$cFoyHX1yMM4(o55;HZEY853P}Pom_-^eWs@>sB?rNysiv}d+Fym@fAd!p zBmWot754Q%{8b+R(SZaIHv?D|YfdckR$cVS`_^``XXtr0n)SEreYgZTt}LJr*0_J$ zAZr3TEs!a_fq>5JoOf29a_gCnBuXxMLPRSnE|%;=!wMC`tPb=XIM&mzC+J_# zZ@gZeQ&(JlQPGS!)nE;AC^huT%g;4j7q@$&2qB1K(W=zz4KFS z7F08ZH&4-I^qZaOSZRE!7rl4leD;kkgcuLkW}f=(HuKW1!K2q8wl7VntM>;Jeh3cc z@0$O6H5JAWr_8?OK2^;J9iq5C%SNVDmeD3wMtw>{~0mL}l@9Md$V7T3w zSjn?o-;)L^26121ZR&x#k zeacdvEt4s*d1@d-xrncYPOU)}=khb75`xFj{woH4xe|uGp2;)BG87gq1;^Pe+&7f4 zkW6w>&eYgihF3u&=}rdwy9*uQ#Aqv*6;HIXrx(kS*ELXb)775&Y#CKP*K@%6?QQ$< z-kZk-q^+}d4AKIOVmZR&+t6pV`F$g)@Qq_KRP8quWo~Wbm6&q1FJ2C9J}@ ze-lkGwSN&!XzvpwuxJE;G8HXPuDM>X(%p|fC=#}0BnSlv)YUtxuc`y(3fEW*{4k*I z7jkClX9%2Y2@YlO_5|q-`?#uW7E>SjWrli#*HUT;;=c1Y?r63|>uI_DX`9{KoN(UiX=0GqBJBLoYBd_^ zqMd27PBKB-tQVossgQQ1`BOXigN!t{a}|?O^w~gnTjN!pq~oEpT%&N$3&qSNVpHzu zTjw<=mPY#ycTsaDjJyn^jAjbeC2`>_Z$vzS>$$uH1z@z7A|ldNeqQqUQ`C|>U0B-N zy^$sm!)L4%4|IW_F(^tA?+w`w&y@0g0zU1{6|pGfJ|{IJmkS68NNRs%Z@D^p%nHL{ zP&VD7Lnrc9c)d@>zu;YBaQatbBqGerGe3tDrhGonSiuS(lFiqv<9^$49RpqaY%Skn zzK4u!@(P#{En1DZJw)D}Amo@X^SSI2P-i_XHK3?763LQ5=j4#&D-VS{M^5KHQ%U77 zf9@%~qmeg;+s}$yIRx12 zO2vBD2$3hZ!>es4KGoVSOEx8Cx2%sesqxHtQEy=JJFkpZq)d4=6GRh*)av^k9&5v8 z5D~w~3{h!GoZ8(Wo%lrsX;Gh5n2w{MSsu-{riO0jYKAI9kGgk=h<7Gt5*q957pVm7 z$YCMP!|UrfTBwdrb5mDyr6m}>U~?8}!))=p3Lph&=d%x6YT+rAltS_lB%Ssb#QaaC z$_$fsVqvStXlp*0zokM#{saCsr z*QLc>#HPqZ90(1<_LWNpeszq_z-(mV8((w(hmI{&Aq}JOZSUI}N;}bC9`6Fu;uz~d z4fQ>%Sv0gMB*M5F{g6WVAy~+wz|*2H>Ts{R`Hy8iYVqKlz`kf|OZ>Yj-eg zayuIQ1Bln<^Azds?K#m?AP53`#9?23nrqH{ z(eBV6rcW~}y${BC10Er!CtekV!E?pn594h-lwA&Kc8mg!iD)NYbZLTHV#Oyn$j6=Gm!IyWVzmI)P)pfVsPg_Y+eBBYu`j{wCiP6j?EX2wz2n|zfa z=t_{s!yWI85${k@Od9y-`_kZi4#HLQtLJBy65o?PesV3dZ|iKr0{)?zy&a7J5#V@| z8`AxjG-Weswo3rZ>5V(C|H_mch9}4NNn$r2jFA<(!;a~%75avZIBamFaqDSef+z>! z4k8ThtUh!7K@H!1g-Sdya-V&(ICVRpp~i&zsM&CH;`yZ_ zC%T8VYEU1QueH=Gz{9?dN$er)?`8S>H~vU&`01m2L~@2>Ku*GHx%#GMUxS6-t5zzU z4O7(`jU~jF7NR4s>b5&{slVdgC+{eoec7D2jgd-sAGjb+a|3~u>IO=EL{n#-M`2UY zavHhP{P3s6XCyU9ZdCjPvx44xxYyrL}4@Pi9GLtv>qA2pG2t$H8erK zkm{g}+Vzqmnya_gZXq*lv3KLWa&LG-TD}e$h*4NrX%*>ozCPoVmx+fsGHD^sb!!%Y zUGjc7x4jTPQkm~bY4D37I@Cjgg;&Y@vtMqHj1=L$yx~h-Ke~qx?+loei$EXUJduhE zzpLYkK!2A&-OzbslFD;bCriF38}LR_W2J}{zM-Hpqzf_KRHaNw#h`EiQlGq{D2+SQ!3k811+s=Zz@h_mjrqW)f}VR{ zXTTG;&$bJVe;@=YM#nE{na8e_W#;sC8|4K5UYD3p-Muu>nB=4u!4OtDZIKN5%lOS` z$taB#4;fdVr|OMdf~*>v8_;XOSeq+V_RXQWCFcom^g%(oVopSnn=(j%F$gJ9lR42h z5;h=xz#B&6fDy`2J(Vt1UK+!xb%jxDkGI8=M(0 z+`#%)=5-L_swcO-ySX%+5Qp2<()~{N$+|vt;`|ds=8)P-LvFBrJRTyzwDW`9%3@EEW_K8qAJgCy=DMV+7jS zv|l-B6sROfE^$v+(=#4nBIAae-sehyZe(&86kDhwzN((od~2)ar~BG(sqEYUIi5Nn;aY5lv^(DL$s(KuG01)nzDqHY%x73+AnGG6 z+aU|gmUyh^;;N5H^)__@5wU0!7@SWIobL^jzVIr0tAG|sgoRafEZ}xjOv#7vyjd!8 zpINWz?9uCLv{kL9BkpTTp0zlwUf{>@l@p)6NlxQxmlW8WeImQFTygiR11wUh-oj86SC*r$eR^vXx^^*G2 zBa4*I&$J(FF^tqYw(FOG4n^GtFykgnW6U7x)tuGk#W_a-j-*cE~3R`h6&a3B)3 zJ0Y6Siy7loGGDEJmLt2^mKd;ZuZ6q3ja&(MzSpV&G>zqCJ?kUc57?I>cnPa%t zEM4B)`+gGasfvz?fN76p=GBUXkPYJc%?o0&h*H%)b>e*rCSt~eUT`~{$13JxtGHCo z`_-HLZ(3DCd4Bd&^PHu9UL^-ZyX*t4KXI9`(^&8LGpWhM1U#lx7e-vGH_Mpug{Q10 z-v-u({9dg8f+bB6e;)apX@qC%xxu0hr^`kj`FQ8+-@-~AP`Tf(pEI-TgJN_iMF;n7e!B-+H;%iG51%|ZVz8tFt z3sWpkuwVKuk1y+cCVgSnm%c(HlSt)v%VH5q86ZL@5pdQ4T7l(Q_T=6O?~kVPw-HL# zW$GT&PW{t7)X)1O)APl?Mft87MOT_4X>3L`?zid8m4cm;l;p(ESL=!gC=38rvA{E+ zR%cNM2MbHe7qsCZbm*-WlrPwQ6}i{*9FIX@74@SJ{%iA)MylO#u#iS~t92f|Y%?G}&%rz^Nh4`}YEdgJuV z$BZ|T4&}&rYnDnJuK#Y);wfPtD!hpz*JHB&U~AZU>jHi>*j)=r23~s|J><@k1`H5gI7?T7|f0gD8*r1{Y=A(G|r6wuPI?Eo%z0qCQG&8O( zPipW)n91PeBGT1I%gp=Y;kd)JU7Oh!E4(uFdDXlH{t3W-o447z5ESvYHbes^S~kXH zqV1=y!O*$c`w-njezdMvcC*r<0^H1olt7okDGz}wXky>?<&NG*&naEDD!VcEXf)v`siH3XWHMzOfgpvU+xMj^+oU9Dn8X{Lf zfF;n(FbL{YTT6Up*4yCMn>jV=aSDr{UWR1Uk*H%!{6YD^wACYeGTgq@`!A^8Ru^_) zGAxRY1aD)p9-nVofMXG|KJFlaOF(5gnUkD~pz=nI!^Dg<4{INHG$$*_ZTKB_?8XZ* zLtt`Ken)cj>x3Y;Bejx8g3!ZGo3r6#>qm3d$QGJjCHF7Xitd!;7g;L&w=mQBYK;Ht z^V<~ypHS+b?@fHA7Uu78;l5S)0AaF2Zl)GJ@^}A5_b^3Ekw0k{orHLQ#&+;p#PFl} zcisLwF}DnH!?cNi?WeZ>DIPk^8mqPd&zCUmN=4G#`{iaGdS^PMSN53?fXwOK92xQ% zfJ9HF+tQGD=330ar7u)7-sg?PCpT)=a2u`|&Np6v{aC9vehD{;U!eQ1U&(L(9PHf-ZC7auUi?uuw?BiPswFA=u}416GsucbtBV(`@ivJ z5Cy>2$YETI1dlU`s%F#uKED1p)Xd-5=%1ejBTCci1&hG(=)C>7|8?)bzWV?C4fRKe zuu>ZNcWW*)Yq-kfJTI#!wF$AY-`L%)r&j~7X6P}|xfF0WbE!lK}*U7x&>;eDrE*_co7 z{!kLTsg{~HxkG_=4PndaJdyL(xy7#_lpM4N0ej2zxW;D%d2yFD0zItyUfz8N=L}5s z?{@L~E3Bq+v;P7(;+bJBCEkqQ3CTE9GNfF>9w!ID4p=^x;b8- z#&TG9|MGRBOx^Ne%4S<;=iPu9{qpR+;02u{nwXd**ouc~@elFyFF~}tll$u4TGgDN zI}d7jP@u*uO$w(vw=9M_GeWPegjyC+Tb zG50G)9TH=&fY}YpxY4NP6OPuS?aDF*xxdFHR&vF@lP~jMIjR!q%0|ZWOUhaF>9W)e z#M7j9h`j43GMNn-a|W7I z?dlc&b*crZ>*mmWMM-fYDKIMk&C$uRe}RNY(f&j;2L*3rLeoI;J<0f8NoVCZ)muh} zQ9;D)G{yOuZMxEvwR4iHi878=<6JZHzEUmE&wm99zrDfWiA#~QvtE#07{UIm?l=BA zVLMnR9JgRk7&;cO&QlP5B#iP;-mj8!oaw;XfOmCL%TGlOUecaA)#on-gfaW1T zW%@Gw^5?JkUva6M)Kyk)r(Wl&qmQCj*hSv|uue`QhxC@47epL@f3kG))giHdQ9?$g z$>6*Of%K3y(N-|<(f7S6t5G+nwu>)Q7tPtXOEZ@+p?OKnQGRC>>%)ct=v%l}8os_t ziTBKCAB2BeIx9P0U+1Og10#r&fL+&oeDl~$?yI(cmo+_6A2G6e&@6Tf%k>`-3dF3P z<}b#u2ilxlXXA?iYi@v;Hma;FA930a+geTPdPA{+9L25^($*c{w#hh2>*(0jjn<4m zyOK{zQ_oY_A4B(*n*qpB-&9gAGx4eb>zMdWPUtM;Twh0il>6RmYjK1(rts$$w?YUr z2M2e4*b(pwMn*%l)v^zSyPHn<$|As*5X6%3CkM1h_1@K1l)|(JHCal|Pl2`{oCk;{ z+&Mmjcm3GPdC(d>fS^I71bX#M0B)mwfw$KEo+~DCE(s6d0&Nx=r<5ltOVU0cx%tkc zV5ey`&Key+t5Q1PeQj7Q8`kawG4p+n`y_o`8XPx~{fJw_sRXRI#Z~8_)V|I!Z2#_A zun}OyB5)DHaa?gx5yVVWG)&UzEaYo{xeeR^;ZF zXEos5kZwBstu#cj$Pskk+1ZH{{@C_tQ_4V4FMogR-MBuYKUpus{>!s^IF)^2h_Q}? zUjS>qCeQQJq8xyfZ8ZKTVFUXAK-k=&{z2H3SAvTb11|^#oO$lAH}P~2AGhkzD})dL zsIBA+2(*vDumX=xkjtgpn!??ekfX2wySJFbf4`q@=W!^E!)Lx|U#MI~9XBv?)1U4( zWT0!P1{=&o{J+yIxn?~AsV?cuyZC%A^Z{F5?BT9C2WsyO8IvwB(|C8?@V=w@mJ>C( zwuuvKu+05+;K@Gm({h7IfFG+vC8x@i4zKNon#B=zQ&ag1jC#V(jb?0_QAxF1l2u0Z zoA{n=uE_8Sa7AgW6^Nmrk>&bYFK?;8FS=~TdDCDv%P)bl-30iT5uVz+as+hl^zO6?eImd0ehS z0bg`gbv1`9q~344T7Ad%NKOHlNmnE(PZ4ei&D{X4*{rv9a@(Y1-Le5>LTDA7ADV^{q&fi1|o{{>5XU7>iC8s z2u;ga`QU|H&8SD8Um`9DUCHv{c{{uBa@$((D}X?0%!S?6!)r^qbf8zu6@uvfr}+|H(Are*BAR zdO0T4x-I%2Op`K@CxO#(Jsu7|{n5&p%(IFlVXkL9Zu4Uet`Hk{LOT^m5?6JTT68e` zC1}zf$0yAN1WnEC7(9TW2|Z5x=JLET`TihVx9w?w`R-?lKg^hSqS4R5C{w9f8ns!e z0I{(vPVGkK?ImEe3Ufh#M4*DS`ujh)tPM0i<0|qWmh=AMk&w8Y0 z_n)Ev&`cQ_8S;h@DLGuG6}UdqJr5}sb@+SxgB@ki|B-0obyy3e92Em3O-82J48SOS z_s`BX%qwNeb4zLI5Xw(@Bk59o(PULq6QyJkd=|^>?u>reutq!{1L?a!@G+Ts@w-qq zb`wC04;-`@+&00 z?unPzG{lv~8I`M3U#ZXFMKfmVw8&Py?Z=@Si3>R?k$N<3;s<;2W`7+Iufj#Z+BLgQ zki|Qt0cKE{9Nx|9EUWD5?Zho>1LAd{3|`e}?fYx!=)Qc^)@yDK#Ak%!}bX5aszt9JYEB^#+y`O zfANo|pw2;*YzyOHG+>a$vxtiNU2`Uy~_Ib>~*`XpS<_9tSY(d?)bpo_gRG@;ipmALE3-6wR^4=s@% z>_gw&QFLmyZJsAbS{3ikyB$a`T$Av6oWA5V@z*3WQ-tU+5FPY>Pfa6#%;@_?!;uta zKq?xXS{*zXwQI~Y^Aea{+i1Qu`wp+ItEaE09`qu(RQuFT^ekVM)jRNxwDk>~LIp5J z@rz>qN;_VfRND4zFVZNX?#|cC8vtYvzgsn0OjrRHC&pOQoY*x<^2Y5JTXj+c&aWfc zFIC;usuAeIB6t#>cLD~&WC?vM=PW`l34N3gT+}f>cSfP7Jd2grX8PZ@RhiJzQ93$t zNCV)$qQq~%6yo8H;5&J&B>O^d>^#3sh8LcczdV~37uJ%H!hJ;qnVc;~H2n4*er$Kx z6+@1E{9^}L_!W>*i-Kpj$>EJ@s==>UQn$*n9ORrR$W$)l5ObSlS|V1QI%_c$5F`jt zVXLI7=fTuFWQOBPXAZMf`YxIy&?dEGl%Gx8Fi+tmpfq|xWnaAPBBOOi+71yJ; z>kB$$*SAqPa9;sQ747LIM)a%m)nAILE7iGSnvreCW#c<)J6)ySgGh|Q6xZa$KaXer zMQ;z>{AG&P9deJqcG7QD_Ws*&O+PV)F{7Ttl#SvG9S8OoSZ5MJ0rBma!A|IcGZVbow`ev?6$iz4H`g2^`!NXAEoDgK4<#tE z8d=hi;}@}o0s#F0l_m1D01oeSTjg$9@Tt47mS!~qm;WEo@ZknwR5Q?k|cJQBGurQtsRUJq+T-8gKC@ad%`vu!0D7C)3l>GT& z4}r9Nr)y5%w6lTsDswHK`9`&Cc_(#mte#@EQld>E{gTcTmu75TNvMR&UxTe6s=O_E zcFs(Fdzz_@Hd@2Ij?0P^OmiUkL&NTdFug0K0nk;Heh7^7{whd2l?xO6Dhxn7#IX)F z9)p8}CrYV;uVGuRSj*ZFfXqmN8lg(dGFoV2TfJed$Ld~78%S5=Zjbx;`1$3^MkTd| z_eRNb&;ucC6bhDm4V0UmY7`||tnX5?DgAOWT3U*Rtw#Xoo@dcinT61)O z1{abCby_sQtZq}DnK%CXKw2`Ak;iIFNX_gExI0$?#4a@B5I&$@ok1c+Pga!~*Oc8@bN$*nJn+t9V2D02izk-hMrU?tx!R zOOt!L2md{ORk9)a69i$-3QKUQzOS>x>BBCSf~cL{{SovQk5(6rlt;t{YrbIlu;%A? zZU~LwWjjZQG&tE_x`tp){HIfzvphgF%L1VF6#Xk>X0Nh5}P`&za@XFSk>20`t1%Wy4uBCTei zAn%&=3csw2SanYckG{JexY|xhDuO7~C(Y6B!7KNubbV=T4ZN3EG8E}`KHOb>Upek) zFE-smSZt*A|2%E{+Nm%;4IjUFxpQZsMAj=9?SeXG6GbH6d>cN?O8pK~63>xnIq&M} za$WL}6Gpa<%x~(j?@#LRisw)2aGg2vF*U_>-mhe;NTUGNK>=BiQ7!{hU+pv~o2_WT zW&{mgP2Y)W>sEOf%{n=OMV1iJ{l2l?lF57;zS)JlnC1C!1V1XYwTUd%(9RquC>N27 z{6-Njtw~==lvaMV}haHbI;dDoX=~XWoejv%l4e;Ik*ZegOW9?v|KcuDqgJLqhK>5qCi5?NxS6g zBukP@n{+P{HC9}F`O4bkmu zr*<5~PJ?Ej!g10N2~c*&&X{46_>DL4C%Bv{oqkh_XhxN|X|aDw!`^9}M?Y|s|6&v= zQB#b8k=IN#61%*&m-F5A>|rdROhztl3`vb!bDHlJtMLGZcrHb|q&Ih0;?5+Wm#5 zc4gA}@;qaOOGM94NazX}y?AV&x4BNNy8??c?ju3h#?PAHl5I8+my6^>cv^!oUAH|b zI4kFLoCk|oJiHXo^pblhv>M>l>a<~lg5l4W))C3Q6e`b<^Ia3{qsceKVdq|^T7r?`Z_9?e)b~0;^PuN$JUfDcy0OY_?^u}Z3(E4kkfYP zQHqUqn-nrtinh*9)0lXlW`Fv?2?+0YgWaC*)4XpZy6pg}ULJeaJ(zFDM=P>l7i`yS zXbrjo%iBR6(A7Oo%Y1Ph%74RQx^}RE_$?5@xAKQ%$-)Vxx)-n$h0UE1dxUM@5A!er zqGsTm&qt3_b~|HzeG@>Kr*4L(@(PMjhJKADw&3;TOTx$Vs>uv-n&{WGy;u>2BW0$e zqefIat9`v=Kuq+c;J5c=KTF1+rn!)Reb`ot9-E(HSel=R*9F*5K-`f0a5uwES8-n> zF$qGOOCGsWjUW<^)qgnK&*e&brJcaOSNdpc(j)}lWC+T0y~uDY9uQ^0Q0L)o@NT+> z*OZqhzTb`Qvp6X8EfSkF7R|u>CEA27_~g?rIX!D2EWJOC^QnpRQ-$a+*7N974G!~H zkM(CM)aZAY6d=$zpg83U1fVm;?Na9P!-J|q)hhI>#`E2U=-N~7GSiHRh+ha+mBaTO zKiCremR!pHk*cF(ubxysjHU;MewOdQc+tysZ!Lfql_DcpVA|u~Vqi8WgL2?LJ`TR$ zU6o3It6vY-ECN@mDhx8f+yu*m{P^5crFeZee;(Z8U10+=+{AaqwznRR zdadjB(o>>!oH z->P5Ojl$(zRJ*pFV7*aQ5sx-=aX-?IM)zMeoVvhXUmX2O(s&4|2@h?${4J$HO zR#;kU?zLF1$m(M!#xCm3jw~}0!W6m`SSCs7CXEvhMs>47(f?#xnc64f6^`rmN`gfQ zqrT6kwaN9u66Y|>uI<6u?eVEv`o+w`PFdP$R|pOo61ClIzg02XWRud1oYVV8giGl5 zGp8kM)-D0e8AazqNWcv`araAA7@Ng%Q4&y)dsWACEFi4WF>pCz`*jP5bj$>CC=+uv?lsvuw5$X&YqYmQE#VVP#|7iH)@nIU~f)x2)O@HV35cU!Jl`C0;Dm3S*UvXTp#UnTL z3%t7Q8-#Dhz8e)Zg7g2V_&VwIXOC86Dqg)J;dj|mT?xu_LU>LrufzTLVl-E7zV#y^ zRl?sR%>E*wR8QIVLp$4ElQ4Cv$1;-~{6! z%%^WKIyspg92}~LF_2r4gU$K`d&I&BmE)lQECTx$3=HFQ5CzL2E`c8)4xQNd_3p_c z4XmTL0S3vC(=<=;uw06yoQDEveM*RurX|!?(r^O(Cp>4?oB=}@D z<@cOsw5rHaNIRv^$;p9lCSecqyFg)Sk-Q}+V>cT~G*Pzj>&~&9vOFKKvKvjB$WzZx zS;Nk|085rlf@LzBLzM)Z56da^U8{t@x=ydPyl3 zV3W4udqIKX>sUH?3DFuBvDZP04(Y=tFTdemO2Mc6z&!8Z$oPy5d2QLfXLW&+r#Ex@ zgizUG87MBt3Hc6Y1qB)27jpkIKoIN7VR(2ptyD;xd#7TEPVWc$V!DerXV3*p1`Ch? zsrYvf<^KcJrb$OL*bCO6`+k%2{q?C(d27q%8?lAz1+4THL}sZh36yJSCU0;Ve&-wN z!L%9Xz48tz9+YP&2Lo}AFnsq9XyJbt@wY^8?Mj0(>o^IAeZ98uOZD*@AHU=HUD4Lj z5>(JI_MxS_$WMmh1l+CN$rV9QnW|99nc;oWc?uq^c0^kzLfaq*oc5EXAODSo{GR)A z$ZH*7=Md70=SkTVxzu%F>E$wSn?M*pR=cVuEi_nqrQ8V-B}by+wGh`$h=TGTR23f* zU84}Nc_2?0p7lxrzKdip9> znJH*W6sYsH_&|JMu}1Y^d|wuIG}-M_?$;ljAav9JwsK7QWNZ14m17dKUUR>5o3x^0 zddYqEmxMv^mTH{NRrA%(Dx_66v~A;1I$K2JO>=;e@nO^YTWs|VU=)%3mC?rD#rCg3 zGZc&_^1S%Ylx0^EVQ+PnE$g`d!ALb;k-KHSSYk%}(9c}BY&KrW4gimg zWRN%$V3rKll&A!)G_+Jr*nulaEsct2roK+D>{tf#llC$NT*qLq zVTcGYWwSd(r_#zj>$@f9j-VgZTifgw^N*@Ovoz}PrH(k#{VkcR^<+*ik4-l+s~*if z-R=^zxW~-Ukqp*H$@P4BDJ`fa)y_m?who9s_kE!g7~-ZBcpQ} zG|RHghEr8b7i!#>tCM_oejdq}462vwWq3H$Tki3=ju0IbpzU#P5t{>6P2E5MP@2QKcuwgBSC+GuEIN_r5C z@+*mHQ>i!QM*}3I-sO8>L_|fct?4LCJ8w#1)_d^3I+^>48I||h%itCY!cP>TRRk%i zdsgXMt4q|?TCuLeOU?1vCRL& zc(b>nB*Kw=hby{ZqmCzA6|(3QIO}SeY%|6j{9UqPm2fbxEyL# zTAw%nc>}I)y+Lz2uftc7FF;_>+Ypu9kMrglw7t08hW4v8V!wcafpkW0>yPeEkGE{v zg2(qAg>l!*wsK@8=Ue8P8go&2TtHUfB3lDd2VpvTQ)`WL5_P^!@ zl9C2Qn6z-o(eB=d8lmtAW)tOScKNL<3SMKVhNhWjVleJ(hlh10KL;-mFsaPeT|8$X zR(%Ee6TT`gdj#GG4 zyF2oyB^3|u^&ptpzPXi!*&M$}F^?FCzn-U!H^lVcGExvid3n&f_b$J85@LwTFQ*42 zCwHx6!52KVeL&f(N`Rx=K67uZQzce!!(?fCk^lTYSkZJ`822Ratg=I`NhVOXjuwtP zJM$(pU(@_FOM@-Jaw6Ic+%7;!$CHUar9wp}FnYdRONJES{*2JsLpKgk5CN4Lh!Gz` z!@~={Z+pE>s#9=O107KI+Qj#66mu|45;nxNA7Q%aJw**u?Cp4SgiY@o%73jbw_uMD< z6$n(fi$q3B9x~+NzngjcQPNVd!!bfvPJ(#dg7OSvizTk6&|N~*%r$DXGKei_tVp}} zllzJ4*Z`_Z>m%N@x!93Dy}&;2Xc!I&pIoq;9_}bf9{QG~2aa98@2F#(qqTW-jtf#x zi6CHLgO3BCb~!JOD!iHdjb}&)-&xqC>SktUR`2{aedRf|0dt?%ZD&4=QBy^=$pDhG20Q6U~!R?O^SeW@37#M2bTGD-=_i4F&gK$?NwkA5k zIFs%}WP+J}Bs-NMsNZQDAzMo&IZc24C)BCJV|WzJ3hO0nD5f9f(R)Kh>!kt2x3hF) zl2IH#L%P!Xp@*91%}c~zmPcTlzPOp?hv^FYsg(}~QyY-pBW}W5Y0Ry4yZH9avv~Pk zGrpigV<3Bq-?`$WrsYKa^y%<;%g>jva5Rm!$Y!Q&hv>O~_&{<@Eade53KRZg^=`M2 z{#A7sX6-EpY=#lp-Jhb&fB4q6g1>DqY4$GJiI|IYj(K@xfBau~_8O4BaJ^V1qnL=sfcq=5-W4_z+7r{4y75VK(=#$fBG{{d)S4LUF1 zJ{7IoffcSSmZJS4*f~;!j#aN26>|DAy|kDTHUIwrv<2%BfR;n|Xku-6DbLDP6DKf)oUGCGXJpleU+H!h-~w>9VY9C%D**)OIh&EwWdhRt68sG zMqyN#<6i3@FDg3TMJLg;*(?QqoAlxzGKpb{?IgTR_0vIiSUV4VTp2Xo#RUfG43D#r z!CN7>73$+g% zXB315yynwiB%9K zrlg!D6ch$b6wjwN7p8R?I5%UXl@DNM(XgXc!1o{NS_0X%ksIjn{ePWWAK|#_7%?Fy^jm7f2lJCX#Z7b zHbc~z^~W$_s#R|ab@2s3cj4FvW8M4t;kr+5K>7F-j#j04`|_Ro0-7)H^RQ;0WE74k z>!72?m2aLx75Oxk$TRc3HJn&B^TKc&F=~0K%ab;UFzX#>GF^M*$yxNl-iN;gcJj2` z{}G5_A^016(b9JAiPqN46s z)`!@E>(C^Kr37}g6cF%*qBoH#G3cgA@qJ#H(|b<%^+PY$t!pTmbd~b6v}*CUQFnmM zlhZrXnV+h`z zn_bh@v=vO{e4aEJO2Zv`89AO0Dh}L+ICj!~KdQMB%?{49&U&wj8 z4fZwQ#>~?poI}3tm)CpID7zGPP@8XwwelwLgPwlBn*PJgH;{{4PP4G_*r3^m|28%I zy@b+7liw7pguVL9*b}o`irR7X3tsVMLBs$=KWE=+UhNQ<9~w`X?Rzv%K~NH8F{=m^`r>-E>OQj}Yvk$37p*zvg`I#9Pm za)_&^`F)QGf3RRc883F^nT$fu?3d?-lkYkd!Q;!_uIecR#IDyH4?ac-vnJL$&@1VD zJBh=;6>%Kys&6N9cXeUdUAz0)%;YZy)`)&6=jOxBn5Brm>cr%T6x16RuDLzIhk&*w zm4Ab_3jcz(YQ6sfZI6PGcGc+&j&p^vqjr1vXwt!+hujF@S)P^r?@bSc@~W%e``UJ= z$(GQubboRiEDk6#EYfX0S=p7xsGaBrhocUhA&`p4=`WiC4oi&Sg5kA8M3P-kn26Y( zwDUTL+dg=ZKu!rw?jcW>84(TEOR&tBO=i$ovog@%p@bIr4_nQP;e9d5@u_rY0f+b7UmiV_SmJ zL-MniD*xEF@?jB-hbhnf?ZYE&Q<_QKDofM6Ja>zQ(TDKfRI}5Tu&kUctk*}(t@s2}X;chK_yIkXcOhBIUD z;cYi4Z&6PPkR!b8@R;|#&UmH1HwfCsTaFK$NvsP_llCZmkWzJa#{hAKhlESFutu3F zDMiBzFTiwxR9aHwcqvB$ik{O!u;SKa_%Hb9X>A+bEgdW8nE`o z)K+EjxpuX9p&XrsG#aB=dK82=|DC-0bWBu&H(Rg_KQ=;|+}$!$agOdzZrC87iy6NX zFg}OxKdJ%kg=6G-^>%p5ykR6cAlanAJ&Oa@(Cj;@q+kw*9Q0I+{>y6@ajSiU+4s33 zvN#cDi4?Z)xkyykb_8hrQxrcJHH2g1PHWI9codJ#*zSDClkDR?9FN-{{Y;_)Gm)#6M^cCq{%$D=cT{|wA= zDe>vx4vY6oAw_lJME^BT^;*LgVKTtE5yEkQJaCLbGMRa53utS3eiu!<8gJ>^+3p{( ze#j!+ll1nQg@D^`;gxE^Xke51GTJKR<6Ao#JIt=*_UO{maf92bqlUG^L!_!quWpLs zBeWKu+REa#!~HT_M-;)=AyedE!S~8dXJ;A|xMLU@UP>`BrR$?nLjHVNWe|&kUA64J z!ZsXc54YH#F*}Bj-7pxiM^@lYs;*l8rNmAS!$D5N?-~^|UE2gCkNecUPi>y?FN?3b zl1#fMdcw%cFM^`vgatuRB2@iM#4*14Jmy&lj5Dx&z(sIiL>FVS`S&N1f)$4SyNS_JWS{j64a z!$edXC-cC)We}KlUT>}m4%Bl#Kqn(L(a_{7E~JO9R;T$~>#UOyQTO)pyk||aJ<664 z2E`tY6F(25&W_~s;P)Lr<0H{pVlMK$7ifx-eptlSiLuWmAe@vb?GC#PB#x3Rw-5TZeT8ToEbhVmw$HZ5B1~ zB38baE>>dzRe}^iy#Bk%LSw$|B6AR>?@qqrTXlbbQC6cZx{iR(%LToWD%OfS@tLSE zKA*>TA_%isglIQuUHl%Kz2S1SJxib*v~~gdE6X_(W^>@UdQ)w@2llld|uSQ)5Ct6 z@(SOY>Y5zqD$HX^V*9gf{$4$SA}!Gs?~f;OHdQy_r*0BFbu?T>+ScqX*zBQh-vC9G zuO;8Fwi1-(FY|V5CJEoT68V3NqsbMWMQhasClJTs?y~re3f-}!_aym_WbL?Fxm~C4 z8lI%nW_0MC#qaM{i>9#swM_r|e@klcj4j?U%^|&mls^EuW>`+unfNPOHadc!L}cfm zjJ8`AA%t86dR{(}tQ*U6ob-n5dL~QopDfgVAo4AgzcVgeZ1ey~Z*Tcbi~CWCMd0(G zPG&LwAfcqaDP#D;j}L1$3fU2Vzgit06t(1=y5!!IB4*F<#@%LKDs{tNcizjV2h^+5 zu#COlyWA*Y8(MyMS=+_N`Lbqiq`e&*3ShW1_SK;Yyxznj^-O^0e z1jC)be;e|#rU4)Ay3;l$Fq*g`^aao7{fD1SJEyjxA|HPxLIeowX(Mz8`Sw*GA&+6R zSQ`)??v(9}HgxQ@LIV{8;U{TsIpH>cME&n`67TgcSvyd9cWqEd*H7f&?(*!Wt<{W2 z#YYdM`^g5^dcIj%6J}AVsu87FX`CrPxSvpV-BA(5i@NGt_Z_jNcttH=f4ac|?cd+5 z$Hu5Yx%*)d9pc&KIZim5Sjp!7Dn?Iu@tW&ud3tj?eyL`dHoTL*T{_l$>}_*pyX zYf6n=!FlAg=D`zOSbl{6OvS&W_WQ*8|M9J!=rwBI;g^0cIPe(bw%EUK@XsakzgNot zezT>30Xz}DY4*b0-<)LfKPs3e<1C>b^1VU{Ar(~cf*6ZJxhJt$ah3k8{Jplfwx|lCa;aGjpC%Z} zyYRaicz866ztK6;Fb}741<&gFVnXzwWL#IxWyq0g$Id&HXzzv0iRi&@15#BYF>RgEAe1ZY4Nx^)BPn#L9O8Kepd?r`f%va94t-2$0y-0>e+sN zwIsne!gfG|xz21fMze$r*#NIndC&rRaE5|Ct^n<`v$JwM!`!%MA_AxL1rp1SmwHhA zUh@-E`yAxL!e}#P&*QZ+_qsERRz&nw1V4@-p2P753MCxo3bK5u9g>40D(>4dLX3AV zp57T4W zYpCo4?Jt*mF45XbQ2I79Fykb*_D>oNJV^K&q zHpXYOm_h>Kb5wh{l!a;=xaa5Rii_ZFH|8?9m6a8oans9!yi9?_0k9*mS<)@rY<7e= z+8Gl+iMVIrs3|4QFoQ1?HeImXf3?h&F1(iS<^ufT5OutB`zh+=t&tt*IX31YKc%qoC?Fv}P0AYZ zOg7TpJz;J79_yd#A#yr8K)GRm(rKbM(v9F5-0iPsJ_;<wfaqXXWR_8XDM?cZ zF2kXaAnLh6^K#enM0b4owS&U?G~#KnzaiNAM~^3zMU9BH7hIYmAmh&(GhRuA#st(S8n$y?l?lH z%}+eMNnd7U5_?t|1IfF9;%aJy3_4KI0R{`8M71Vu4)RYa~5) z?Q(x>5|hyY5@BZZKTF^M3W|x4Gtj)zIbh`VYo*ASvNBouAYX{xGsg1hFC@LwX+n=T zu$>2&yG+hgr+mo%_z_PNWqLt3k;Fk6d-&jwyCX_EJ}A!t+0fVoBm{_Y_EBfIk;f|U zA02$J-FBH-3nh`x#G*=}=jU1NMs4Xjo)BX|jK-Z^>xvmU*~p76VMRoG5yx*fXUhWs zatxy6ZmR$<_D$ASGJha+9r&1^D6uNG={M8WxSt zn~`o^lXo6j$(9vfpV--n#AzD@auG!bQOBw$ORiT< zS81|fd@#q%cf{v0%*oTIgmWHCgPYLh1|bs)K3NFmD`Xn(zw6wiVA8IHX_0FAepyhU zucUptd3)UiheG*O;I8;-1T}0 zU-v0=yjT^@Dh0K=403;x|8U02Kcx?Vcuo3IJVgi7U$l`Q@gY?j*{?K>w3(1v~Bj-k#*t+u=a78A&a-iPx43;Y|il3)9izdM#bR zzHbVgXt)y-Ye5azhbAMAzT@EDa6){vFt#CE`jP!5T)o;gu|sM>LEsy2wi#BkgKDAhPKpPSXkI%`rX7=n+H^4!}FYSo9V&} z*HU-ZOMsd?*~vdKSUm!iVs`cpBZ1$u&mKAfiQss}Y`aWlFuzM6ivo4WM3wm(6DOy4 zj1ywzSnk2}+(*ND9eV>|a8~-RMR@x8A&ZDq_a4pb&WZ+W2_irQ%OEtHdY2^T9Z{xO zfCPH2_gj?09*eD`Fi$K+xvN)7hIrGl+wWSv@_k6DL4jS#eJ9MEC+I~trB(KJ7p|O< zIJt(0R-C{XR84z*Y1sAAv(7c2sm+lYo09vdJZZGKgrEma&iCDjPez6pEW+C1)gF@t z!LsC$OoWP2nfmYPoIFq5n+~>Ego7DBY{iB(NU|Ou+x#x`khN7{;n z^V;vUzuNulvX!sDvU0<2n!b)Ty>tDA?1&wE;&V&%a&f7cV?#$UJ2e_G<7U#mzg)*c z1h5xLx63*2d==BEkLxwk&npA+!+K6+W$4*0RBZFHhq>2JiT9#YdQj zm0o0YZXE1O@9LNG<@}_>i`B^J)KqL^d_4YGYr+;zAP9>Be3FFU?w=|3A8|FKqo9C_ z+_P`Rzff6uA}grsc2jDxDMM* zpng!_8stE(02c&kGBjtr9I_k+^{sb6Kb+a?z>>Qekmrb#xg#g)GvI>az}ecR-Eq$k zi!8zjU3-w7RE**Dt?k&&43F?iyJ5o<5JHR&YtVQl15}_~9tcT_sCz~T@b+{?GG-!n z3cshnP)YuDRqB`rfVBMXRQ!>4+CMCCNrHSV~Q%O*M-}%=?OS#K4 zloRoUikhiUvWcvmuaqA{B=39V!+n~$XIlH>+4kzUoR3uF^*UicQWylr;co5odo>GYc^9_r#p!>9)s8e5 zrT2iVL#*b`UmR2>TonWej#+3@TxU1%w(Y8vIF_9B{R-P1&FE@jA7KLJ9c-r3h?`@A z{Z{H+%jakzL&bzhzdMQ&*iXZ9y}*;F3HdT)rc zfgxwU<1FE~v`Mq%yV`lreQLI~#rRUJ_Q5E zYVpJzNn7!3gI{d?JX5>nHtmb2m{n2#9DD%_E19$1(y&UQW9 zocD{ED2Gz@{cbA6y7q*^4ms*oHN~2S@V|(_QiM#%frv3NABaaZqImGB=&0VgFOGxK zk+HF2)ySC?85TTM`D!#nM(~}ASb2Czy~bGy{Ca&uo5dbX7Y_C64Z_nv;VPfr&91$l z(kJKd!q3<&WExNp_jC}Pn8+AmJor+2nW>QiH~70LGr1x;3!HQGaDX*H(7R|U+^6zc z%h~Ko_3T5B(w5l=Vvj`R4XQSd-Z;b3#Ayw5V(*R4w3=7Q+GP zGko{q9_laRDw}toJ@{q%KMM;Hl6Qh>l1hC6O`ef;7Y%IKHYFE{PXKLRUjN$dnom z#R&^3(~9dKSi&tL#+qY!XqBPCopj1AbC4Ek1FSjx9u1N#<6>f6S;W8)p-2!J*M|f5 z!of?WICfT+Kc$OyZ20J4+MsdjoaR(g6awTXwgs4kLuCYl$o{e22+|&28NFml)9q*= zC|mw)Ld`_ncP<>Z1&&qy^)|CQA<5NkERVT}x1DwIY-ek_n`br=qI+&Z7XCX)q|e^d zBwEA@ZRq;eaco!XOljk3*S)f~l&$PKCYuAd_v?DJW+zB4^0BSASe0sg9LEG|IPnRT zLbVPKR|Hn^xlAKsCK7p`u8O`cuMk6rH*-2>euP|46>C0OsJrA%wAa3I1iKr8q=Viy zpM~>&J^Q@$DP=P8;xYoC17~8KFm>=Mx)8P`=5? zNB06seQRp7D4wC0Dc41&<%~qUV%E?{s#G?MU1%!FM4gb{^tdPz`Rt$yxNi3AxN_sh z1<*_*Ei$H6pFGv3xjv>H4k4p10soZPeisT|CEAw=U%AGon^uyENR4*N9jAS#PGVD2 z_lYFdinr>9cvraY&3(WN?GIBRNBrrD)3u;v8@G>C^Z4&oQhI23e+Nz zDL^BSJxsVM`-TE>bpc2J3zrR~k#VzCA`QcZ(|4r`Cpt~iN)8T=z!L2Bf=AAW&)6C@ znYoQ=`?G{ydnfZPva)hR%2;q17|O{>1xOwVwLQ43xFrjg>p8*Z+^z9c1pL-8(QK~w z;Z0n9jLh$VYil?zAFa5qJChRQHEX#%nkOEW;B`_-uWU3@e6#?U7tCSN+MBdX;5$L%d8eL9}JZ z_fu(bxx1o{ub55#DJi^yGFkFMzF}M*Ly8n@QMuJttPU&^6s?)cBFf!mo7(KEFF+Dy zX$(X39I7P?9IfJ#&$`Kroie!Z#+97I>-xVfc48Wi9s8r8u z#@bC}rlE6WIMmj5ET+Yj+|J=}f%bZa2(b-j<*Xw2_;SLA!6gqyt=8LoIU{BuHqCMl zfxPv`fLuf ziu`;FL3U65;EZd9#%_iY9pqz1GURjZzPDJ{rtU`fId>^U0~Q^S~@Yei{!SmGr+g&?#k zw-bj&^N#D&FE_4v4eP#F_w$2g&t(Nojl*1CpQOK|mgmk!Ed&MEy=@4N+}m;v4Yx+| z^#LO!JFlKfge*AzP;#2mN5T~Z>`MWLp<6ztIpZi zUkTX(5570(0D)6UWbMRP5C^)i0Dv{&enDSc#RE7FE$IBZ!JVa}eG#^+@8zk^ttdNs z<&pj>Fsu|+CgZqXhHsmlm>YoFg`FS{3*@Y#=Jz{nf%!2Az!OBP-Mn!9b4O&AktqRR zfDgGmD^@KYT}k4>9hv;jU+d6FabSfg7SXG>GCoMWymYPzQWWfI&e^@)sm^Tj0D25zLIXVR> z%68LJu*>MA7Bl6vQ0DbP;9I)zG*%3hjGq-&y9y2sasAvS`S%YHAePnFI~x9Yk%Z-| z?c;G>sLr>!sAh3Op3jV8rfDC~ z&s6P2mqAza;nEd1smm`gFHA=hH4H-14)*WZ#!u!aQz^B~Jzb7FFVD#EzP&K(sBIr{ zSHTkNnoBj>3;v6$vO@82KwXJ-QV=gXuMQRReyF=|{Sx)-0QC@;2$cy|;Z<8ZE8So# z{Qjb5*L3yPLFM){mtTALhq&|W0#dK0Jq7_=mJ$6|ncf%rUf=8&%F1XEQ#YB8<{d%7 z4UV7^1ea8R$-SjZ;dUo^mu;{T82!#{J*kEf0qwuQR%d+w#69Ypfi-g0&&LEwh3g0B zIyqRVVo9`{QV~Gh%uHi8y2j7eBn8(PWTT^Oo4tk$k&?_9z0;cwVnrVi;?CKRrTPbd zgph27vMoCxyMnYql&(5#jF^93bIk)rCKORem@dj9SY$emd*SCAl&feK>n0%m?%CTF zqi_GqSm}i{sqca<(M94C1XIys1Q(g>C2 z;cg)_R!&MM!BuBPuW+gMF&*Ja-=8#^6^dCRi$iMp7T4qJ!drLS=jd1??IZB%rdG{Y zNR8YmUD&989Od09i8=Dg!FhUi0LCaQGN0Gco*{QA!E0yC={lQ5RCe}vId##lC+=w> zd|ahJiu;N!?@}^_pa6CEbM`2IUhS`XoF6xoHQsb@knG_rsG{A`uGN?O)Qs;~wu8$S zzjh)TDfWZBrjHGBaILqShDNZ{PGHd1Cf=d1q5k@77L9dzG}0*XV$p zLPqR;8pE<3MEL(uakAdQQ*ErA=z#+(sSz`^2{}2bU`RUBzhfb~xN6Wmu8vbGV0TS# z@~Pt!?-=5#xDEeE;IGl~;-Ek$8AtShFryGZc|aO+&jlFPWPB(i8BJ-lIIl%{`Z2v@ z##GGU=*ciTKHPZy@t=6u52LUN-kweucO;`qe7{i%n)o zER~Xi?asQ%^APC&^&kHAYyMi&?UQZF?Z0Z6dzdKv3N*dzrl-2PpjRIIJS*HcVdmtF-B^&!0r7eHbXRC>3Gou0sSEYYn)y{?#8?vXMie zK3SzFILGQj#3<+p8(OYgti1BsOb>Lm_U)W_?cCwm@W9Vr*%{pI^Z8rh8t|+q_i3$6 z6l0@GfS$0jJf2rx$n1z03We~#YifUT{a_lZzr)+pnT{-ro=PqSaoNbIo0f?Q8xaZV zjqE2~=U%7p`ykxYM$#+a&SzR5##dW`u`XSVDO2OKcH;q zlPZo{m+$fCb~7u4Fwn-D-N~AN8VF4l@4jwrZ8dAOtZncMzHlEEqCNnn-Ndqz{eM81 zOMRpq4+|M9@8X7=jJ2k9SaQvWQZDrzwODEYEWLII7&F&n*mzR#W_Mg9N0Hem)skj! zxh_M!7nc)Vmd&`O3E0lp8IA;h5=sopYdwne=r!8XuZQWI_)0*W@~g>}6`F;|-E6%a zv`G}0d+;%wq@<)hq@`d|I|X4me8g3g%ZXnJ0qfM(&QAM=9S%Z9uVQo8=M__D=GUTJ zAq=Jt*HxBb8O427#H+fkO_O#CX|>1gtE;3M&lNa!*Ix> zyK(XpTV9&|BNFshJ7&ZX3(}N6v5MSfdGX$ zi)wK@tUWI^+83muRRHt5qO;g0z1f7i;9M!0q1L0an2zXgD{kASrjVQNXFkxMeT(+J z@rJ207meQssS~QO4>6EvSTgHF98Gjg3^TJhI=$XhD8I+38L|4TO%Hb}98<^P!YNES zb?K)q_CJr2bqxWLERGHJHz|26S24xl6ronv?CC~+-+UVWz7o=BHYA8E&#zs8;}FKc zrp-DG9X&meMfjy#29%X$kSug*8xj)oRrXU#h0_2}w9`8bLGdSp4njMvg~*UFT;Dcu zXO;c-Ahwd5URSilD$@hbiRT*HS(3Y>#4RnN@BMi23vlXkS0b}+<&Jj9*MX!z{Kr-T z|0&BQ(`HWuQN-@;A?w3{G^44OZ}R@G>M9(`<5SmIt2k}*w-(~W>_`cZMl=EdR`VIG zrM0ykS=V&pFrmSH#!WkfEEt%rTAryTL`tf^_f_w$-IGmFUb6iicoWU=_Sj)8+nCdO zwf2n$qkeu~qIwGQ=$xMST4W%-l9G~Nv#_7}ZY$jmd6wlXz|#-_Dbsc3nJ`_J&x-mN zWKDKP8+MVu`w@Z7{F@AC(<>JeVvRD(N<_3@Vvx@|Hle5(0|Bh_D);t9tiHXsdJf;w z%@2T}(~b_)tc66^F@z1wC{+Wk&@Zkt(!NSg=K=vif<}ge2e}UtH3h*_? z+0uz_bh0MKh%+THPX6|e_Us%SC|Td9w724NyhdvH%pnUx)d%ji+r7SvNc$l7@Gc#2x@Rf8qvWc3;iIqK_$)$F?P zVVt3@7;XJw#&NX1nkCUBJ^;cE2Cz30JHcB8dJ6fiMw+xg9KKUAtG3>Oi;A?2a(=dF zD}a9v+74Fz;VP;k9sU`+&T-95?4Jokw%cg1 zoRkWQJV7SU&b}2|!#Y}Ql6Hz&H*#t2FQnUxu(En;tfAvs`t8%cm*yv$CiMJdFDYag?iAbK^BLK8iP`WX8Q&da0|3Ae#GLnQT&}MDnu0+kCAE z^Stn0T#l#S$V_sz&2_l>Noyt!?d2|gU)R;F zWrFiI3=h6M@p_q+}yM~0b!^xfy2eR)D2b`l&2NUD-P*}&3l-4Qe+ z>*2uvphiJv_xMRE5K=6&3g3A4ay?znV&u)3CqV zp_b@+dRaoCHvIxPj(0SA-C}Y2H;jAKkn7Mge_-ngORm#D_aWQNczo@>B?~GkzX>%p zzUKeIlwsRWCDZ}E5_GB?!R7Nvr6C}Cyn1wV=`l$&7e7@?|8?)2gaap`- zTML3_2Lf}(L!DT2n-WxLT6LQ3UpJq7iNdbSCiKonkD<>scn4Rz;t09^N@N5o=k{e~ z*SEpT6U{f)u=b;)bems8U940)KyS>8tu;J0nF9HQuXg8U3H@;M?J*{!$th;A zOf9ve3h5aq)*-&xlV0K+(jg|$oOwWH`rJY%brI04CI)m?d@Q9l#*9gEABznNH}E*@ zL57D&AML^YhS^BNri1ewVnTu?*u>Q{1s=_;j~O)3XHv~$V&?V~EnJ4xiC}Q_FlkHM zn8%9c30-o6Mh1H%!}ipqJpHUTi%iRm9r5(QOkjzEqU-tNeu=Ir;QyiQt;4EZyER@= zB&4N5Ktf8oyF`s>P0>TQcXA=)687npKdRNArsNNpTip~7e%%2kQH$I^W|G5!gr_iSGa(M0?Ge<3YN%8%R6IifW%v9S zb6x?Ma}{(!+d@cMjYXeXlz!G-Hs^On{I}zeW9tdrF1o?W&!?%hD^ZcM?SA*J8&odz zAsDC{zh;kXU_4j^^duiF+|M(0y-K8{$3@jryAW}xaAuj{Gy8MJtAP}1hg3(k9kw=} zf1i^q_^))0BQl|jgU2|6;Ij4m7{yUr;+i-H$D+fZl{)5`|H8>&x3gz@*2p*HW^$vQ zY)eKCe4}hwk-d8c3&~%y{m2lplxhtO+hiFN?l)F)<)gu5(*i6!8bRPDjwPLY;?XoFX2%POl;m@NtG>Mp>YD7F ze9aXu4neK|fz&*3Xvimya!T2%nT);fS^VU6#hFvA+%A$Mqlj=FW~d+uqx_#<0FfuC zB}bg^j`LqsMJkvG)WzxNLx09_dAc}M6XZ#VG+z-O=v9$iZcBgXIE(2gECLE!pP`JV z4@#VySCK?!6Oq$KCc^LN|LOAPee>!NP;eIey6h&-e5k69C6R2r^f`|rG{$4V?E9>y zR4+64;~3 zy--cAv+rvpc*xG=3^?d7QBpP1(J3ZoJ1KqasCr&M4S#Tf?%Y9aoYXmb4qn?-q{FaU zUR)*&Ck@l{&5JzMH~tNRF}2vBLiw{dL||Vh@$2gl`DBC`<4e+%qZNK*fH{)wpNHY84I}qD91haFtlI8U2k&oR8^vLgJRkysy4F^Sy$8|JBIg#i}^k}@* z71w7(RI8BTX}-$Z{qRu6?#qB>B+5dh5z-U9x1x#Z**{kpp}bY8Uqxa*8ztdL#Ae`r zwZ9}OHSaP$={;azm!oWy(ISR@c1@p6#Mw24W#2nM zL5TNuT)3Ge5CJ;4^-irEK)KRf3>Z>r#dQvn28LG*MB)xW^Q99J?o~t> z${efoAtbTAO#t<&bPt1Z6tM{j>O3j16&#hSRIlxM7(LmrU{l0S9_j{f5OEtkCSK2S0zlp(TvN zBvSV?a(%_^PgO;XWJndD6=@c2=1B5f`8j}@=H?58>h2G1l4(mm&k zWHytZ5ws{s3q}g`ectqWnIvMUFb>V@l_tm7%mP#lDp~9dn^K91JO%iGKey`ybhp7t^bI zD>}>qb{{Y-F2HQWa&_UYrY)9$#@5apdhjDH>Z<~QUMa%&6J4S#{AY53%axd~g3jj| zEoR{QP|7j3gEM3*=?T;Hn-0e-<9F?Pa|*JY^*G0nWp8I{62dD@CJn83G%FcZBlC#- zWOIF5?)`*G`~`_r_j*|UWaz~ek9P8p4ezgdXe(VEPbN^^f%F{-8QG65qJdZ8payi? ztTQe3i&$0CK~RqarnO!n^^-*id&_hOJCy5lI=6Y*|)8vMC#guTHkmR=-1kEN8J^Ul~)jiZs>Ah zdHHC9(B}6i_wjlSEmJB(ud@;c*{q|@17d6-3?TB$_}K6@Ese{1bmrBK`Ka!Sw0ag& zee>(r1gHX|_sUw^1N_kiB&h% zYkYeOVfDL0I5|44(+>h3R0cvRqJ@CVjHxTwJ4aofG3lxP9R`ti@R<7L+E?X6ZnlJ? zF7iCa`jC!z{xg5(t2f$1qGBuQSIwMj1VgIWxPX`B zW@sC2y}mR>_xr3EkxM}}?jdY!n084wh}CsXpUlV;_|A{1;CQ|H47I(X^i=FvePpNw z_t_fnh_eeCnxIEfgav8VxW-lRz0LB$OMlF1H49>F!STu386z%b=n4$Ev$X;J^nJO_ zr9A!*3g^1$8%t5h6@V~z4C$fzWDFeWH@r@vr;qZxHx13(Rt4@I`MtDF5I_M|-Yb%Mwa~ik z7U@9M{j6E(lFMq2h)oYyW4;1yAA!rG`|grgZ)_jm)2rnPQYUOuySS5geJ~$LruiRt zZ6bW?CFJN@QOEtN6pSao<4PnXco9_hbTm{KNwnw9TAhxq6FN~e8xs)v%$24to<+o$ z6}dvUJYI;r|D^}3g~toh4Xfd$ZNbdIco%?(J9Q*d=LCp8>DIF}NM)_7lVm&r8+JK!oUPi4?~9 zw`Q6eUBMYzNGzs|a709w`lyd}U)YFA6+tL{mz88$nLcWw)s!*GqThW=Q&>F(f!_Ja zU)_N_d}XE3+NT3)bWse%#HgK7S3SYddB3a;nzBzS&cX6Ag4uD5bg6pK+9 zWurZgdn4_+KLrEK62jvyS&}~P7I%c{+sq8Z9haF0)8eoOlY=7!+L9%DnqmCLBx}Dp zRv_AShMQwSdhU)PlVoNVV`;%Xl2Z*+=+ivg!G>=PzCfM6!rx+%?0PCrqoiMMZC}dr z9Xu>uwjQ!p33J{Q(V_l4V53(2_Q*7V9UF3xj3;+^$K|7zBs6+31ioXu^|?kV3roTVFmmsDSx!K(&W> zmwd?7X0?a5fJlFGgbYg=L}@Y!$xQWGUm=L3tuZ2FwAh8m2{ZW8w;WX7Y_aHo#6_OmlS(laqoWF=@5Qx7O*)rLno1 zoE!5Q|CE{v@>PQap=)*0WFpnnwByV7{rZv9zcL`7Hz=X2FkDUf8apPp`~VSTR#mjdSDtt;c( zGj@4Yv~H?q>o9Nog3ap{;?c63dwP^rc3Ag|__!!Y-Qe<6AT@p^j+S8wv`+s7Hza0sff`A&T8LE`w zwipB%@#HU(y&QomHMJbb4|5P{VXWEgs7QW-J}K}swAp_>=8uAzV!3EZ>AQApqN1a9 zHNr>&l!(KBFew<3^=t6A7OpfdRP%Do{v`&sG!PxMlv_!PpO(eR;=V6H!(p+*U5G;l zGm_dv>J{QbXmBA4XF8fey}^q`w#EaVYH9$Lo#CI}w8%F?87j_8zCqVrB zfB5hJ=-*!@2zm+ZB|!}I4|AprrO*H4!|?B)`6u}QU*D8D`1_`;pUJHgf;hb_JgG@? z0fE|*UqFb=R!d-j4YR+ki;GM9P@_?Ms?+dSWSeZT($^{6srqx$MSR98;t4PNI7mD$ zDYrna0OFild&X2v&)`@8Mt{Gk6uyYKPRD(&vQ_{?pt7Z9sS=9pwuD9!lNmx;^E1iM z?Vo`WDomnk_lizUg{7lOQvsm85)7kZS%;n?>KVfyc5%msy*rM7-Zih}2c(T1s3PHR z0T*3lnZA_;VwzEx)2>^D)7!dhS_j@bq^(_N_r$EPI2{<_*FL~e8#sELW8T*yCznid zI>!#pXugXmpC=tqqzwB3>SlF1^S^b>3S^X&sFVf{(^!@4?q+gML~JA(FzaRiZTK5YTwzbtgI~2 zGRcB^P1j?kQu}6wd`V6a_A(O)V4|yZ9_7oMP zk(4-FMxWpq@0|02ST~jPBmNiy)ro;06jV>9rks@r@+9@g6SoAkE8{PZLCWQ|ZT(q}O-K|O;vqfJfw&LH&7LAtC1dm;INDmWo_ z$&w)4BP0J>A`6$RV^|;|Vw|3aqyCOL&q&c8@3mNC>6lZbi%<2G!j_iFiw$pTE6HjW z#@K}}B)nPw&WuR)(tgeMpWsF_1Vdfa~g*pShhN-(H9PasIUmS{(QC} zUS`NTo%v>Gj{C-v3pc)F?a^&4tnY&=Y54DJ6xZ;_k=>F5zSeqrrRr8muRenYS;57` zg4PE|d45Duk&$73A8o=RB+OcqQzD_%JclPv6%!nl;ZZs5Nsg-_+Suq`rD;B;)Tp<8 zgPJyb`f<`}u*L5I@Ambh!ODAN=AaHAkIVH|f~!Zi@tqQ1w6=0B06q$Am%w>2()5M33v#5@l z2L#(-lP673anxGGaH%d&Q|EWLxBM8FQJ@2>Pn6xhgL(L#(4AJ{J_xwkx(_u}`>&mdCA`0Wef9GRoRi~5hz=24^7Y!D(YESs)5Z1bn#O?YCslOMN+f?c z90XZei(+dSIJmDS42JxI`et>GM@eI)X8vvA(bu9B?U*zo#5p>HM+4g=Rw z(~)a&BKSE8oD!|Ma~-WGDi( zS5=Yndb6I0ZXOIGhfo|pBl_@aE8;WPDKln3#ZPg4ll{%t_=wo%kz1Km>T9=KL8wr= z@YtWXiuVePcQ@YzryW}9a+J`A9CN)izNXfu@w7X~A?U!rya9=)qmBj2vSNDvj)@aD2uic=3C*|&Xbqr6{ss1gWO+RD4O4kQ^ zIG+V??-+Vq>xXoD3t$9wLb?0^G`Dtx&^gPk(qnQ7Vb?1h1`RRMcowYj+-S2R(vE*- z0^uQ-F5nCBUt(^!Mkhs$&lXdFCR@Ng8H%}guvuB>W+e5M6;af1d2MWaW7!o@+KGrnJR^Qh};?uR@nbVsGCZLWu*_4s6T8q~R=86GCt z&)jNDNCp!g+%(})pOs3{3cxQaFJ7+n=6z%-U^G>3kD+TH8Aql1RV!O-;;Mi}gpZGJ zqCU32kTee%&6Nyf=Au2?^9^y+dwWt1{rclYM2MQr&Sb*Uu89croCXf`X$nC1z&}_V z;qWgkUM{~K2v?!bqOMIpo6Ixciuj5F$}?X7-sT^q+6J8<;02$(ZEgFY^hZZ+8}+|* z)UW?vbksEK|3gPj{=aq9#+{{q>8SDYqsGTrq&w_m=m&YhvG=UtiUUVMi?9mB_OZ=DTH$#!X&q-}n<^a&rYdjLAgGr?P$h@KX! zPdXxbXoiw=``OPP4}p=VMBFr&6Z_9l`1C16 z45L1ADf^ENN(@YU#i#+3el=eYGEZ^S-8` z0ln2G^z_ZNM$~KRY8(Rz<*ZydFZep-dZP5rVF6a0oHO+d8q`$Yqwl0u$uCXKDc|>v z_`iX=7C;;b2;BmBTMM-NLM4IqC~fBS66Dg8{^f}7H+0DV%z_NHYe4QXL&lyGqpg}tMNfvsF; zUN-O>oR>4qxb+K<6Tc{yn#{8AuAlQsi~IVT_v&1Vf65 zY1`b65qt{mt4oTE1YfMR?1r^!r#0?FV$^b{S*Ws{gk;Y8;h^BgiH+bUs2vm&?eg4I zN?CDcdv^ChfO;HQLWdo=H^KtB_}Cks?ZL10;o!S5&T@RPmP=yj&$a+dqP5T+2zqGk zLdFq)U;nm|BaWPAG}W4nA0Iw_f;DcH&e8HwyZA7v>7OWp$?(*0vkNW~_TE3*cn&Wt zo-s@(-<%!-z6%xw1IY*IbqEX&V>}sbRX0q)m$3>%WvjL)O#yZ?T()pH-=>Qv@(5dn zgPCqf)HJd*5nJP$6%Ce1|3MT#dGxOnqBHh#uya+Q0c;IW5$m_feI^MmPS;8`mmEuQ z8U4O7T#(yX5|F1RJ#Qy?LQ~~I+P5pzUR<>wVojH%-pm%!Uoa~|KHI5QFsqiXK&n1l z(U7Etl6zY!2x}J1LN-vC=Yz~#;es_97zoW8)Jgz#nuW&INp3V6Xyp6Ml|?_mw^%QZ z0qZ*dh{cr*93$s;|2h~H@PEmtr+50_n}U0n>&h1kH`h78`H8m*-{P(7C@gFGnZ=-g z_lHeqS%;oA;Ay6EKj~efC`kNxKj^Y<13GQv=A@0|gKk0nkR<@|AN@2={QuBT69@iF zKkYVe!;9&)$4rRD9%@f2pyzn~(Yw8+xzX=OoYq^+EBT+fw3P$!8r2AF37>W!>ru}p zNZ;)ESh8}64UZ4T{TIlN{1?b3_yw{jk6i!Fv5y3+rboxm3M;uq$pE-Nv2F?%Pk!I(hN;l^-p_Lvr02%GYOG_p|uTY z?c>hBBil80pjsA1SWC@s^^ra#ieQowZ6mGX{SA@9F8F89$$)$|7wejKjPn;-# zZUf1EXV!p+V(MKRQlh9_BzQ6P@v+!|hsqa#>CP<4iJWVqhg+v{gP0c58Sss7(zt;MLu?zpf*cE?c z?9YE;?8zt*T@R16tqyIH5rWwG^@g1IbyU@W>*?PVyPgl^{+nWJRYhZvJHNx@ag^vY zWdyX@46A#bLXoZ=>Oz6r&(EQ47&L=Xkt)K(;;O3TIUCRE*AuSShjC1`h0%M|of6Dm zvaL@b(T&G?J5XA^S6XW>D05N-^D!xtFJb20o;5%Q?3`C@RB4&PY)V^=_MD%@w)0*(o@B-z(Ma09!`@%;?Qo20lmlaD{ zNn&y(cPUFdaV>|W5n&ku!f6eCKoCU~i_=ej@TpU6M!Kf-YG1!$QU%~@4lXK#Kb;J5 zn_mz1h^xgg2YDp#Iepy@q%KQg_0Whpnp28gT^xGc+cWabV{p)4`I8od5rMVgWwW$X zWBbeJtl`MS9X^tsgdZpwNbuvTiRbZ(hWhck z7KTSk25{LmK%ehM`=5NJI@k*XJ4h`4nG60;FTm-WOnzh6LgqV{jpsM;Xt}qt`Cu>2 zxu=cvgsM~SQ=WtOY}v=`16pJ-t|xs7e{pSaYsGR8BSk`q1AK&+y0QRTx94&W_?hEY zXl^aEgcb)Yr{K?NtWpkELs6L)k6quCOiR0I``L`mGslYb6XXIzg!GYOkdLZ&g{t_O zY-%#x>CbYWYWVF*GGM*vZT%@3@tm>Il((4`!cU6NtP${be12xvP2A#YyN?pm-ja~8Oi#U{p{ z8*Y12PfUqfGds~T&||u@4voO9lMR zfDnzP-P{%QpaVia=ydC|K=I}l#KVLfn4uNJ;cUhLi!t&?z&&Ysa#|-ajtk6F-U>$F z7YM-NqPK%qyvcoCO4>qOM4?!nE^*UGX0}alhLOG(6K2WC!;MMbqBdKh* z!hwqnrk)upoNmce*OM1q8EO?Offl9K!nj1$M#U|YMXhG;qTpaEtLKs5r=$x+-{z!v zb?d2cI1yI`e38`AK&kd?tK=t9n3jmLa07)>OctDVkMH>smc9h4Zc`PXuesDJcKb_6 z^NO3bjWN51+}le7Z8pV8Gc~?`6l-06tm+`G$E)gON#|PR5wLI`j&v}wy z*p`mHVfV`8;qb!CJ?G4Y6i`u|#B;hT#4i~r&FF<6M<43l_H%wfEj;}mZAU6l>4IP6 z`UP_3Z8o1?yPRuY~gVMu(XuQ3imA+(_559 zq(rQNE`*i2dc8)ZfOFj6q`Nqfmbe{QSh0iqUA)-DuFOnH$rOdhb~)7}g&ZPkUxDAN zR9P&Qo^O~bVweDWDvPCHQA+65ajO;-s)qtepIrG4ytebxMxHx{9_vl16cs%!{}Ev= z4M6Xim@U{b!djT_%jU+1UdUb^Vvo;<2zxZ@y*2#pkHeJ5xviCx%rK#S-JJe2hG1J+?7X;4%t(*}9cq`^zo z@pLCgKMNQRlgvtBa%C0EnJXRt1;33*q0o%`vub~>;_qM@eZN<+90VB@DHg4jh=9&7 z%`&!TtFt&W5^1SR

*>2^0Hng;rxi>)9p*&(3v;Y%(i){TshqA@_d|Do|sg@_utE>MS}RX%-fX z!1eMF2L6XO;4O99`kcTZg_qg+8GWOKDNQY3PQyqalr@+=FbH~EhV8?~u{Sgg(aAL7 z9I!teBGP0+BW1+KByAv3!tTQ6i7@F@WjZbPQ!3ZGQdqD8lr7t6(dY;YGkg0Q5}|7U z3nSu`intR6ONWGXP2qL6!)FtIvKO*pjuO(KpV`H*%{KWOR$=)gA;A&LM{Y>x`|>XsU_j&Y+&bb%|U%F#$XL@G{$y4^E63MU0A zqGE#s`M=|WK>#sf=@L!y?G;_AlWv-IRibQHe%Bb%)ukdJWBr`c`^f{Uxx1CT1ynD1 zcN5q{$KY8Cbf!1ghyCeT(t#*OKE1R;J*D^Az=q&#F4oqW`k4>(jgJ*C@)oI^&z@~R zC7!GXY#atV3XE?@G8@U~t$qv0Y$G=nSi|BsN{s)FT})73_rA=pcp$~0qt5xa>QzlAw}xi&W;?_6%5Z#b3tf7 z-w`47hT(ZHLLzn}@u`2n)FvAX4(SX)*uN&y=;&03dEX)wF785*`TaKy_kk3sJ?7FK z{0^TGU>{J;jty*mQ8v1B>kB*{Lr(i6bRU)*W$0qhXOogxf@sJDR+9>}nT9$5KQ@1` zoHE7~7S>>dd#?LZ|M4bQf~T6$uy?RKr6{aaS`*jW^4sN%FVou0DkMA}WK47%+>@>RE?DT;>wdOGY#^uwZ&Kxg+kZJ36PWMPJ z%a}NL2*GqGchdu~iv4wEyI~J`JP!L1H`Qi{=}O0>Hya-tA%338^oH@)3uym=eJ%R|oP7u-sf z_e&PbDzdB^4P^rBg%EQ!Y8Z2o>gL~kJauIZTnXzLEMv|EbKVU*!F|hf+^jp*k&)41 z>@u4H{kc^GP80)H$9m^O0$n*8@g-~kLT2b%`_tg;BtbHLR->|IS&IL zBBM9HpkuKTja$1|zknM96T+ci7lI(RH@JCNSuq#8Hqz>Fj%Po?O=0Cr1E+^yWXNv_ zKEkHym5s4tVq!7|eh_UmBI2Yt2T3R;-Jaqdw8sr5`2d=gsPEfy9I^C3BZ{pn&1_Xi2l)i_bW z*||YXU#ci)$TnYOuaZ+`Lcy8*^Gs(0(erniu%RN*F>#i79)Qs{ni9QreTdX+{V}_e z;5Iy1XML-W=7$_Pn*kpMFyV$t_AI0ZMu!^q7c%E@AI+a7i0|c8H2gMZGv?C0GO$0h~8{ z`-Dn{WC2swQ#m2C&k_<1N}?&i5=}Z<{|uFVDCs0Sk`se4|Y(01Vf;QD2(~*irR+?(!YUg%Xf0QcL3`ApC@T@P`I=C&- zm+m-RvmU%BwBM6NKEQE#hvRY$36CcQ)F`pZG2)Aa-ppm3|*^(yC5q zrgg-g=rL`0{0h>+gsL740q^Ud3&;8s1XxGI$F+p*4H%v3jx^~+mik_|O8m}bS&%Z2=Kp*Fe9zkKLtCc3ChO=3z{dFjACEs- z%m1m-{;zLF|5AEK^Rm?^21MU6xc-0t#lL>i6c=3jMHrlBwgI&^5G+mWYFSAh5fKq| zfq&Be%ZeXxyq1xYmZnK?zM-tUC{?8;w2TQ<)L4 z`~LsxwTbvmrithGcf^WQzo|-o>1z77HEI6aS1leMv@Sy`yVH4yfC0C6OiZOrF|t@4 z1?O^s#lP*gtv$t1k;YKpeV0JHpZKk>)+BNKWx(BJ7yemXR!hs0skC^+;MF;=1NyIJ z{YzDydr&{}wfpP87mIZ?fsB@+xodsDf}^+tYj3`~l=u;hP=Fi5RM`ud@d_u>iV7|M z{`3Wywzf9IGUK8~Tm1WrGj`r~_igH#Bo~n8x>5DQ4 z0ApDJn3g_vyX~r&Y%Gl&IO164(x07CRv1}u{ZUF`iY9wI6u@Ih)HAmJmy+Mw=-={Y zCv=n~W{bB#2?nUk<9pd=prNAHRW~W3mFC~RR65~}DQYUOtVWS#!7A)hTq00hn#x09 z%1f|Zci9-ySI+F{YtS-xIZC`MV-1TIok>!Sjt#L`BKwZX&j5+x!t!1D8wIbuV6-oB z%M;HA_i^J%&CO-n+r!N(beFv2CypKNbk}RPho2MI7V3L|G&U`3wp26s?qa*}gh)6n z%R2sq9I&sCSv`L0qaH3;2_SE-O3#+5!U$qNy00tlsZ5oKB7yMrLPC1Q&kGF=PVfN& z5AD?#O!q!l_UCUq1xjBy*dNCwDC*paj2C9gR=w!y!zzAM)QzO1M5UfiIX10!j>`ul z<=aq=*`j}mVP$73!8uy`F|5dCSyxxs7eUU$lMaj=LHaD)OaHvPqoN9i#otW{CYuxZ z&tH@QhgN{tL~jaFDAn+Ld;4?aC}4;zh(Jz7h8GC1uCS=yyf1r&Q(O3d%vt^ znJLv4SIHcdf8Oz5Z$F#_oGyf0@JTDrfS&1)BZ+V`NoFPXBBt5-&2)&BWaKz}f$cCE zey8!QB^T)C3Ugp|G#i-J&=)LdZvI{}fzxke6J_r_H@M2WopXTIF-F>7DcfnqeKp!? zEyMomrfd}yYPr%Rs+KC$WPGueMYBuF^Tgs}*TcAl4oj`bbKAR0b}(e3xGn8@ho5ve z16RRNxS_Bg!eZpIfWrvNU--y#m5ae?W9V5&u3Rmq=<=-nlB!l?+Q~6hJ4QHz+%9$l z$gt&e2V%)Tew3`IUaZrll1#XSqe|gX#$qoS*xM>nV~SdE+WqY5VpTwjtzqbXi|BHA z#y3^ypbkurB%;!+=#!u-W93LAFVHlZO8BwQ*j|kIB2^~oDSjoOuuSH%HI0?#@_fE? zv&-1{W%AX23Xc`S70xN)Q&{h? z@Qh&W@6JD}Re%V9X?HS;7-SgX^dz2hbd@-bB#NRj|9qNAg0Fu3_`zuWxglu>cuT%6 zmxrQsKj=7D=Q808t4(KrX)tB%B^a%S8bvv3EV5xSDx8m}lA1#WWxmJ}YD3BLiiE!> z0Wr7lb)xi!%a^EC=O>@rzbn};1ndKH>~==vfKdZ`{j%9y*uO^qRC769?@){sa>e#I zY}l*XON3DPI69g;)$UQr=sQ`ievc-Vk~x^MFrG!^cwO?nYwNI%(QGEAA&2;a^9=81 z(Q$vW7JoFlbpBS9}daPsDpN^LqigypdTBFQAyvIZjPVN zys6J%V5TYzKHVD*n+|T{UGMar)mMX7sJv~yYNkqY9`(q@QYex!Q31MQlR{3y^&8Wt zg=%igM3i?ZoaZGRrw6@yF%n8d4`0Zihxi`Qo#4YrA&n=3|4c-!I!U8z>eVGd@Z_RUjYWkAQz1Z85k# zJg~NhYFeqw>L1#hh=nDkDv)H^{l-7N%5vFw^my4cZLvm^<72=zo=!L1&2lFwh}Nwu zx^#IfZRdwfVlO1zO8g0q91f#7FOb1hPq)%r*;Yl#i~G=>6Elv1kre3sz zdt6ZhEM`YwF~3{rNGMZkW_N!W#x{Vnm@Chmb)`FJH0^@)SkeD+{BY7mW;)IHj^_8{ z{eAK9^S0g4_aZS8D*C7KW`pZBW3#pDl528Q`4H-1-(d2V}<-HLl5%Yi<(e9k=S zR5`oO1#@%3wny-b=vQfFY3$DY&I0Wk(Ed5>va*~;4}7`!JJBw6m0F8Se)8ToxAsI* ztQ%It7De)|bq5#6%WfZG;anqn$=f0tZ0~H-5$&sBS%;bT_Q)^0qKWRFhha@u)Rfx8 z#Np#m+yl8gxH4%44}5SLhKkP4dNrx<@wJST7(}2ItOv zBCw`(8y;{+9xm_fJu^lc8zv(`k(8r+G({vv84Zo(7-)*|p&rA# z(W>~jI^&I%R9}4TM303^x`G3Cr9)fK>!N=NGJu$E)y z#FKr|wGORWFDaN!1DZo;M4ZiGf@Z9#7UX7rD|j+$>z7hitoe^@e(HyXXVhq0pddPiM0@2)rR8kJ3bEDULGlEg$-55=#hlx7O16cJX`7~eI03ho@rE;D zbR&JQ_Z&H`R+@w&%`yFobb&?)=Iy?n5luQJi@PUXw=l}sH=|(bPL1qWCcVAw<6sB{QrNhxR?|#Okwen@*y+mGL2ZB_tOE8%_8r( zq1O-PhKw=0sm+Rn2$qI@;%{1?@51+eGZwwrKPkF=fYOpG`8vrT_v5`5I}u^=0mJre z%Y*ue)Qzv8)n;XjWTUNGOH5U1leHsns!BO5=-W)I{^Hj3#3d(eLhMSN$~&T>7K=m2 zG#;y(pbqy!npXDIu=nIEvf-??_a+Wsbl>SgJO!cjLr>2yD|oEDCTfnuc!BH?(q6f( zO-tm_n^g&S!}uMco|3(5b2Hou+R`dqZE9_6jXW_dR=8_#D!C;#UW=JBp-xNo7`~Cl zW>N1xKqQmHTIY6!oRaL|4!r2jXJj#48^<=TwAf)KcK^Op!BQ?J>S_CSR z$&*5bcim{$Oj6@cDfSIOECOq`p+Lh2Ew*t*Tf%3z9}{s9v`U?L!?;z+6kO>(KX`Cfv{Z+CMu*)g(NxQs zG&+_moQt_?W!W?$Nz%!kneGcq{j3*Dr94d!U~k&4g>qNXyWw%!3Z}B3Oy<$7TWWf) zz8vaD|F2DX2$RryHy@hfLwHeBZRa@`<y=(yku0 zrBBISq`)jvYwzIaaYw1_5MWn3Z2#0yE}aqPWD^UmTyeiYYaNeqer#V>b<|*Y63ygk zdQld`-)`&+ynfW(W^^3>8PEDB$Oxwg$2?ralY1FQzt)YI?AGcHg8C+A1S=(|?e@B!b_-}n{COMib%w8+aGln{ z&!VD|ieEaK3)Bsr<|7~k7??+}SY*G9d~-r~$A(kQyQ2vDE}2}&VPJETFaPU=p9>5) zL+XcAmV}xziQk_3uGoMpowM#k=NOyLu&b79il)BVsK}w#r0MEtFgR(K({FOU)DSr- zC0)sWbiNq+F~%qPP)aju+7-cr^pv`2l{Mt%L)}de2ktRZ?4R)K_i66SyN4W@uli~K zXu|Ax+>$&??nm%~j7(p1g3uNF_4&e)+)jMG+=bhL^_+u&*)O!QQ9L^5-! zGNj~^2uwUTmPq*N7hYxT=dRED-H=5K)usg;OiThQjn}x-PtjPtVJ`bh4i&-WvU)uf z0{hCJ;tS$ixt}1%df*RMpY<93^a4QB6cMGpm(-lgsJ6Z1DFAeCZoPZ8E7bmT@U!`J zn`G|0DE3zaXcOqcBdNn#hQn%O(L}xFt~KkISA}TY?1@4uu?LGUbPi4w=toF8UW>ro zB^u_X@~LLNPGN;;w)dRn>A(QP(HjJd99Avg_Q7KyfTSGs7LNvem;-2TyK)`B@I}|Y z=)I05sAoArKb~VtWG>Y%I$pedOQKN>>ex~nxjHbXeb0x>?zl1eUL5VfYNq&{UO($O zGCTeJi$%W>6~*_73<3cYu#h?!z$|$0-M|o;BaTsCx@Kx`7_Ka&YzPCUhS5cH6~>$< z=2w(>NO@Sry9b0dWtOBSwYJ3`2n94!$&yM1 zVDa=gXQIj1DIB#~Y;g1U$tbl4!AhNPuk>%-1Ta=dT8^f1`4+uZtF|1*6Gmt>gq*Dd zY?%xZKh?&l8%jg_I7Kl^9sG=SjAv2YXnrkmefT_%3=2{R{O-s2VrQz=otT?Q$H%ip zoTGKK8ZOXrj*BN!?z4exZy#@A@sZlsD>Nc85o;f}FNpM~`BELs^jc_v2m=1LQ`r50 z9_$L+l5fBr+t=rr(UPYN%ifVfsTjIV6P7q@Y{q0y*D^hAcmKvEs<4|eOM}_p&`MRbcGNJgN{t*J;uS5gu&`1#&9=v}{GvL;YGydkJrBFd zrtolH1U~Zk;TOyOD(&%06Pi2Of!1Qj`#a@HpQX(0cljD}QvXUkb0srmvwH?;>)iHu zxNiF5Yv8u3n*r~gbCOQ7g$4sVXEfQL@BX_y1KjFlukPxPo55fz#*j~6CVIyD37O&} z+EQVSreMZJKI+sy(>!0G;X7bZCGWv_`XwP-;jjtqFawM|g|ckFTYb0TCi>Z4B_GtDiR} zQy;F;(l6a(oCA;lXP5!hzShEkNMqS1N@FVmY^nI^46*eh5{_DSP~Gd3ZqeF|Uy`D8 z0dATfBwer zgOZQFzFRDM7j$Hr?GJ9h>e=cS>&9 z)LnRv=Xjpyz4yLf{HVxUbFTj!zcI!vvh_wON0RrANiBGa^IuQkr@r^wzx2-rD~E!B z#cm?fsQ%)W8;VbGj$GE9F%}64=-_tJW7N;iWNRN<|J7Rbtz3GKY;qRRawQ1_lUwD* zY_A;sbhyjWF^Jf+N zT_mLMfMqL_a=bA(yf<4-&0a`*x;L3}b}%dEJ?bx0u0JsL?4vM1ogJ5(AOR66XFozi zLe^^c4_gSWlzSy`pOW&gQ`cD@BD5k~iJ(T&DrT3iP!8orP*MpBE=ca)Ad;-`>gNvw zuN_Sw&x>!YG$s~_Rvg)ysl@hM>RH>bd)xCrkB`Wh)MIloI8kBuxN{kpKXo?ZHcIipZJ5G!F zRG=L|n}7weu&pdn^}6EWu5Rg$pyWNS)*?{7b?bXHy<22iP_E=(YrLghcyTN@qGF?q zG>Rww5V+J5QoeP-K$H-;f0*Y$;8z5#lQlPI*n^hWqi3Ns7||vpBO_PX_Iz?@M9J{^ z{x&cupVX0zK~kkB9S5`8skn6KK|NbcI&x&8k!!d8)Iw zd`>~l=32A;9?d`sr=my*K6l_QoJ-01K}ND)2%+>n#?R_?x@MMWqP%H2WSopKRTi^( z!F8Ql>=cQ~A9VQjE*h1OaplVOKd78R$hTo=L{E3Up!gM%<@x0WBL(ncwzXWteu;>X z3i7`-2cKwQwZG}B?l%ebSa!;bn)>?4gDv8r`2tEj-zjjRdvI`uX#rgkE9HiB!1kcd zn-^{Tro$B|o`fuj^ad|P12SYs>xKu3XVu16{DSfW(c?og=@hW%G^Qe|lOe*L&>k-%@N&!`LOr9x74&sfQU zVPLR{u#@7T?Abbw9BUK1h$v@fFMEb7dWL%a>0(lqj$9w}4B!>mqDlr$8`t|h=r-p2OLM2boL$s|v5zQefceusLdazON z>7%(x_aC9n(i3r`dHpFjM}lm}g#@|=aviy21QvrQ6`a7`=$x80ebFS(74%dVxNK#t*+Cb?k? zs)fm_T^rDK<>A#f)bA7_2}8Zmj^t2;J;AXJw)+F_E{VW=N+E4+oOfhck=(U_E%jBd z8GGDhELFQb<;PRa({TwvAS;9KpA>NMCxBR@M0wzPb3Osd*^xx*k7kZhC-hfFLzc!g zFA#~bzpj*{-+1VD(#b(8niI*Jf1Be@e(LtY{xbu-(m_44{4*^~Dz==VWt{XGss^mo zuusu3*-Tm?#DW0|bgFH<5&!7+wmzCI25vtbjOWv%SS)YW_cRYdy}WF0Gm>oZ+(X+0 zych+KMwzI#N3Ml~#R?279iQKGoM0#z!PUQrI*4g6ofWw-YBpug?S3U>9n9xv)O+7l zL(S>>{hdm=Gme>3bF}*nDdUd?&0JowLR&FbBlY@Gf77|^wIJDC=Tkz7TU>foYO*x> zS_EiPVN(68<0M4`w>c`i{lxbR1sCzrjOxOSO?)Bt2XIedqxmJ>pZxEodrMBv>yT=G zH71P`RpQQe8u|Pm%O46tT}7`EqB?SK3v^3IAt2lj-+=Xk*e>Fud|T`ERZWgw`JcIl z!V-Q$efoOpdW8WqLef=nB^~+LsC!7;bZR$EZI+_s-os;LAB{%m^4G_SEKk3W7fZRp zPcz6haV^v&mt7<#OJ5tjbLQD7mbg6ICwG+fWJd4oLc?PiivEyLqn1eX0I!@Wybam# zA(6h;XCVT&5@SqJBJfZ$-ih|Jjvj^@JZQ58WBndo>MvD(ei~5a6kg`Wa~6V%pSe--e$2cNZ=pwcmX!(na$@gBDcszY>BV5^M`S~Z#E15YQN zl)Kz~1droajJ)PWHR?olKy=ufPdYn3z;dsiDH$fcr?xmja9_q}i7ffV8n^@CZW-v8 zMcO~(Lyx_tZ~-xTd20i=+!kTIcLG*GSgX0KN(d_W#)i<_z78NOBak8i@!!y`P!7tu z#yWmpbmn~66GJww0>$eMPP!};fBTQR@5x9rs8~M1c+u^5Cfvaw^ueU-TreN5Pkblk zki$Ze0`CrNcfNx$6nX43p6g>aPF-IS-|f{`0**amN$0Rji%F{X%|wXcqrkx&QZ!Wf z*__<2ocZ)fM*~%*D#7Pc6CytlB~;t6!FsLiQ^}4$aj#Mk-Yc+me1j#c$sGUJihNhi zK?046_BNdTuC~E5Aw-a>FvSV!KC_62;k|2b^`dj7T6&E$2xHVCZl`z%TCdpKw^Z%t zg{querV6;BLCd@iC)R|gv;lO$u1+45PbqjK99%9LkjRX*=go>wP#7X0j0Y-12cROg zT1W5|qo(tC#3P3{Al_Hfl(@tdpHVHH9yu$sb0dyJKh);r)cN48Na?#RdW#$kR(-)3 z^qkAjl@Cm62IPK04eM)E5!`DIhe5Dw8CQ~q>l%CImy+a=ZOhAiWY%j5nxLpTP+4r0 z4Vh$WT|ymQV-9$8vpofh4XG$pCp;#S+#2eAjU692Pp`dwycq zMgvFLwfeTbJT{^M3a3r?%$Ro4ko&!p*4tuD7GDvrTdTCVViVQv3TItz-Bf|cjW{+s z)nq(o#^^%h-jhdl6oBfvx{+55sk{k|w+7|y*`E$P2A)^G`Xw|(q;R9iSm zDW@|n0u!}wHN_2v*Iw)~6M1`XKOSu6k4F!KIEt0W_3Poln63r8zG^?$X)9Ux`V zOR6;nd2b)^`yOEQ_;I_T(Z@$tL`zZmWeIo($T7b({^dSE;}2>WfBAvrz`5&Xhvw~- zn4R#DnNU&`4SyJ7gjN1xMTst*zi-GFlpT2RMdiUwbonU1r@ERlG9dBC-AVlKtc8-E z0}{Ux%;AL?r2MmT+9UeN@7;MZ*o;fZ8v_c`HBzT*ir{jSvNy@~`u!)gxpWHG8?S;0 z7Q(xqymQfKQR>*bgrsbA=LrP-I*~p$Mu>$Js7bpTBu`9y5D@V%v1-5H6mxy2>g(#~ zkU!M8R;uYxJ2z>Ph17g|1QSw0?q_Fe?wmur6%_ldh}F3C+T#7_cBu&@j~;yP!jnOK zq%v?Ba_S?Dt3w1ou-kq+TtZ1Qr<0SlOB#y9dG!7>K+f|!E(}6Ck z-4g9~>dPx9yTD26SBIVAj={r3W6~513?L|Skn`OA`Wsq^&g6o_n`*w3i({34u3LE8gc#v2UAhbNN$f%m&e(Z!{dmS(Pq3`Km9zJRxNY)9O!R zvI;axaH@4`Sd>}tuT)-_Fg5IGEK{m^eap7U>ogRhvRK=q(HxeHsi-1wU6yMpVfBgWodi zkNuni>5Tgj&-~-7g1C(vXoX=OpPKh0`x`;5yG zFvBI$n1iwo{(N((%k(Cp%VN4th6cPP^-LZ?TBys(3HVY@qrrcXA2-43)Gyz$>52aG zYR?!@0aMJglw2ztqkHNeB+yn*-di^eeb2>Na9FRs{&KoN;CpTEs405gaBFbiKmsRK z@T?hd;b{HU*CqE&bD9}-eGKpBZB<*>b5mdr96~wwK$4n@l0*P2_NPZf z8bI20vQe<9kkMQm(zxEBh*aPX)z^@#J}GJ#h=E?YAq?pII_TlO993r1-$lA}O3^Uv z^i$6?JA^8#&pa}sml?0sBH?E@_hLaBxVXY@bK`{wz*wCRV9iU7b9EG*#ih$BTo+Nt-J7C9-c=9BC^Y(gKq)DvuU2P8k04!wN z`;Jg?MR~g8Gg}AO?HHaJkkYnSS>f?)KV!9TV39E?D6DyUi0}e;B>8e0aoR(#|=q{bGKJR7*{vJL_<~pXI^g!f;YNNw7T(ro&JSW-y&IV zfR(2jtjHiKbt6Md9SO-rM~&gi2B3Ui;mXwO!W2w%rRwOq(r*UeyA^E7Htqw?m&;{d z_&%POi@f9fyA5pLA3r>KDX|J>SR+1=8nDG1Em)1%bpgi2PMa2C4r9~#hJX;UrLlS` zO&;s>lEO!xz00rim3dY%d}-Bb8RF3uu0Pw>SH#9Dd3j==wyQHV1h!E5o3I0Ro8n+- z4WjjBm6@?@j)0Gi0KRm)qfHv_Hm70g`X=7RS5-G50sOM2B^U8RVG+{$OW2<5O1WNs zG~W&9;X0zl0iOcgi0|t&?)U2T4&dZQm(dCO1Zq~YcJGIjW``tsn1CHS0~qAbjl){= zZY@(RJ4-WYg2rujP8w$UX_;Eu{xH;Atp=uAP`5G1{XN?uRwirD7sk9c;vn&*g#h81 z2BVA_q))EyKN7z6&W8eaxV4U%edXb5lPe= zF{r6RQaCyBmsKW)o8CMyUPvROS7XvNn+y9(Q@hj1J;efq-1iH`#G%&t`HA@S)#@wF zS`G|}Y1l!xlebnXIUtTW@Y94+g0V8l)%q(JSMq??(@;aZi?q7ZE8vz(YZ#P$V zJi+0r;Y|HyR~Uy8SktKQ6WGuxyaNRK?cj1nW~p^60NG-U{GQwB|3Zswa`DBMK;GiX zY-vUZ80z|@?>Pb`1h|8yXwLfOX0a+2q7}{ih{+-i`F-n+8wV1qQvp|`d=*0vwQc8OZFjEg^DSw+ohNEULDFoGon`*{?E^62 zIX)mH5TXalh{ZhyjLd#F=l%;96>emdU6e%yWE|#72Gm}|zWI8hf=_ttx6}7Sd`*hT z{4s}@8S&1gXKn$;6IDfLKN3T!yu13FhUZ{O_y%ZCW6tYuj_Kld zWJ-&zouxCnet`LmsSx3S8;4&mvy|xJ1mN35b*@aq_x`Y)Aj7ioI=Bv!!Yjt>u!~YR z*ZFWqbUcgSr9n!Z=(yYA@2%x0*?la5uq?qDX^Ua!KNDq6o%iy?pL6j)VCT0-{I@6x zJnx!2-l6XG(5mXk<4MNxe+0|_KQHOMGnMo;p!NFyv9z>w0&c#-1e}TOQ9@W)QJY%^ z?!pHRmrZa!0n0D>*7|XP@u*;CLg2#+HUN9r_kqRo(WpX)f=#LUde(uOnYo8<8v9S6 zK|2qvgH=Sm2z$$WeMM}bus3^}q8=~r)*9%LuSs>up;Y&d|JP4P^TcyCQZAlvjQ~PP zL7@I-sPTbp73lvQTP&U1ymyu9#}!uhtOcxpWf;}!K5KYo#e#t1bRhLP}7^YHl1yBSdU`ufW1>SiW< z%67Vg*#yOn1tS_MhbCTDJ@}m;V&8L`uMXu!^@WI6E$sEiRqCiJhdoiPHWIsVeJ~M# z-DPHC+ul)yknlZ$(_+YralHgRj-wVq(mEq$)=Hn!Q~h>2YkHiZfQ|B6c)GfE~}ylq_)MRu$@X{ zXgt7o->@5xrSdxLKi<#cb6zbebpH!YB!m5>g+IOQ=orVWogvpwN{Er1tv1U7?ly&Y z8+Fmmt`)gT05mJz%d6gYE1WT9BrNTfn=0Xvk(pevMv~0PNRIpU{cXgQ zSNy-c07)#s06x>XLKBlhgyhjhfSwDuwlbY;^j*f@k#Zyga7xkulwvRUp)-ywJyj0{ z*`$6USqK?ZB+0Y)<=Q{8)r%ig*pJ&c-^^bgO7TfmKA9a}3e}fs-6MKEip!WlKp-}) zq^xED8a#b6p48^19uT5HxR~P7@_F zM~A@U#HL{P#o*(-Cbuu&0*rsXfTpM|f8-5(s0=>8rC;YqIj_#i>8|=Z^3HZfNH6lm zix=PQZ)<|gS64so@z~`U6l>VtTydX5LCwH}%*(U33EG(MboRc6f^flA52wRib~mN_ zOmA4q3v#?DUQv(_2dtbW(7ef25r=a`S`+N-L#tC*yxi;cLnOAR>+w>`LJskn5eW?R zbs%(uRFWcB8WSr8d@N`pn*Qm7N8KRZ-w3jh6UB4C;iEZT_g;nnjlciFE`DXiO}Ui7 zkug07$5)E?$-;++0k&}t6pX;-$Shxp*CNu!BX`v3(Vs;Y-CUg#6=UIQR{R%$XfV0O zZSB~4aC=Uqmqb0Uj;2_|x)A@`UQ|9&BI$7by_5^k7nbGHFzNx!a#JH#vPH&Gc_&xR zH@tu^$Il_hB2A=#%qwc&4Soieh@zF1kce0DnE{;r_4+P;xPvMA=t&A|CteDLgyMU= zwwZ#B)nnKg4CMk>5BSf{p9^3NMFTB!-Mm+L)7$=U|2Fpj&-CH)Kj=gAz0lJ91$_;* z#X6I#?>$db!ZLAj(#kvE(^_PwK)K3^7(si=r=+?8fq9ZT8YEIyr#t2M&hJT$aa$d+ z@)cok9<51M=pG95xNfFCS&)c^t97B>UIdO@z?xkWfO8mKO2fPKj-Ykgm9ivvLOhS# z${kf&?!#d5e+YF0>Rhdx*uWbsCdLtAQ&Tz&!tkQ?D9ISQG!p*5$pxbNf0K(k%NGe7 z#)TKJRFKFi$dAOw5bUh6ljSUDu>A5>DvhN%*ObXs20|S6=EOG!ld^zD&;J2kyi>hC zrID&NnJkjNb5Iewn0RWBNeD`L%3QUBqTeR-l7q8pim7)d3$rMbpY_;mGUo84coB14 zp@v50H>rp#GH5C+B*ngv%94o61@32*YkrN$lN<-67Vsgl zmzm2G7ktZEpjjXN&!f$KB>^`%8h0X~Y}kc#)l1<(fU%2>YfQ4aJB z5r<bz2yTG)T#~n<@%0Z$Ja86*Bh+ z7aFc<=dIlRv!z@DLATjq-jChEIpEf)AI+lI3q-Pj)?cl)c7R1sDY8js;;qzH{A=0Fnl64oa0D zjSjBX>DNAC?!|?u*YLUTC>H0s$1xcN_D1yjZ5TJ4e*&lIY;fx`?Wj`fKa!Uy`->HM zihXU_8U>?}A|=+1wPgW*81G3}LKa(mA`Ta-$tqM=8q8y=zhTC*c7}Y4`?XV)r9KrR+2PIgj8-51z&-J2mk$rfGoXzT z;A)Fz<&5Ao45tXs8(4?wd#>^SX-ORDeQmXPV@!vP5OP2G)OhX6FUxjs=uu#>(W=f< z5z$?D|5kJ8%)wYdYi+sUX=InzM_B=B;4RD_AB6MQI~@8ne`u4qjLEiGL8mKx+nVElGlT$t z5G3+DpU?yNgiZ`C`bxDqG_zb;nU5jx;KxXx(HO)$kvjwreAW+_iqPvg^2l@NxBc;% zFlbS^-k!LU)t!3BUtq4(jaGdX+Gt6jM~N2u+TaQ;JC2}hv&Hk;7^?>`KV3qK5|a|` z*M7?<{h;`KTdY&`CFq%@0VTS9?1GxUH#NHI>G^lcb*ye1_!u=io-dIqQa>pZC)MHw z^E%>>Ca+q>O5^bykla%UmdD2}u2#nt(XR%q1pC(wingIUbzLwK+#F0VSr-~iNINk5 zWphjyUf=LS8gui!p5MoZDKKd6AKyy=K#jW>=DJkuj#s{bmPTQ)@*HKSR>%837?}md zclA)NCFBgHs66=)`B-;<>Bo8{Mvr0f#%?C@(;~W#Z@H>diaXJQ8}V6DfE}3g{^aX+MR;LEn9l&LpxI3nYEPJZQrb0Kwa=mX?S5P@yh@ z&LRc8o5DV@6!boUK`W7g0wi_3&n;+UgU3RJ%l1d=25ipU zbZXp45j67KQ1~3lOG*e7d_Tn~cM`vIzafwF{gH9C`Q^S`Y>MP?68uSUrms_V;|N*J zdx7Q#lh@7VRn}|ENk>0J3_PIuEr-|f)B!xD&(n|_Od~f^W8@=PKSH6A-Y$xCrmieI zh@^DR4pkzimJB_OIa5)gH)H2SQeZfn`4_6P&FWekfwhQ^t&?Ti;#|DuQ&TzrSxx%b zEd$QM#LggD7yWB+k5|&33KdmNzGItXp{CDUo}*U&xClBG^%p9@`!yfG)_@{}xez zi7E983qT+jJJ`+S5C0?OV17qH`U3tUAZUyKK|mN^DzqAD_b5GLTNiVfx*!0HuH8}0jFCKD{TlrwJ z<;UA6@2F@_+z(LDjv+?h2v|Kz=^T2UF|^9OtSGcPm{|hqI2?!ITr{y0q(ow5#jOO0&u2ClT?- z!oA$ZuKIvoTtgeL2Icwz`YU`J%J+$%X7n}8Nq~bgOxrBF_6Z})qQ>+qfy2NXPf3-N zPW-LLEeMt&4;uEa%C9f)i*gZeSF?_0DieT>nM)p9%*AW*#2nfZAfZPO_AhWE{TDc4%pW(HB-zIc{WO_m z2~j1ycbtXO7Y%nUE9+lipX;_gUdI4%D2Lf>nd%aL(`aSAQE9!Y>1SyyqUn?S$gKL= zIGZoE(cAf|d0=k>irQ){GzcP(;Zm zy~AAPE*sVS_ot!&6#yTQItFp-H~&T-j{duM=tIKyztM+71`M{EbiGAK$ZC(!c(jd< z6JxjjbZ75{~Jmt7~ z+-Z2}C;M2;?ga_fTj_IZ%-^>2R_!VGpejE^d$@IZFhQkUI#g-Y?u-dhCcXBi0L2Rz zmrI{KVU%${_wbNKdyQhRgSVxUlHU*W2IO#8N9ih_*LzY6GtBL*6tDl@$$y0Yv46z| zTv2SkdLgSw$kX7cGb-N{!3;D5*oo!fRy3a;w_@x}$Z&Fe55b=fG+&)dwOjDeboE%j z7Pc&Y2qD^XO@9oYT_3zr%TlUT%n-G+duVqei^;+K@^&6tzqL6`MxyL>Dn_NY^@$7$ zXkt{{s&U@oxAR6iJg_>Hc0e^?k@H} z4wMNOF8C~mv`(KbnQsT{h~ePpFQA&CD~|`9934F~D(h|j^^E~WB*$1(A9lk?ttP@B zOeX50b@Blff>z2hrFk9fY4FD6Ok?H{Dp;>m?|fOfc?$h>5)FBjcrP9{J~y12WAiQr zfy?N=RolRRObkEIxXp;TS4U~{DOe;hchp^E6x_HP$-ZdIdyP;e_weCAvU3ahooZ_g z&BkDq!L!g%EqAU|DR7rVhig!5td^IC`jUT*U_MA5Z( zWp!cw1Ci@;9}5DSjaVoN13MPb_bfs{&?V;rWS0iO58cs?X0r-4-$i}v{TnEGJ``JQ zxp7Oz=6y^8J|kKCEE`W7&8Wy=ighwc8i^dUKA<|}i#DCN^(UPm&Z5(0sR|hI@%GOo z%0LCTeU*j$^Q75;6gR2I+9f^Keu zgxmECu19T4=*W#h7XHXq)uW{2HGd#Zc z_gwBN_5}!O(02?zs-%U=$ce=NCRYBxxP_&-klI!q63(*e(u*R^ykBmT{|n&wS6(BM z+w)6&W%@jW4K)eYy_Yod)Yb8R{{EwvfZMr38>(`rjAtYQ{KD`k(!gkB6f)BC`puVp zEMmdrC8a^SH|?S!M(Y*}Stn^yIgnPwOX>}{U3tOlAQzK$-pIH(tRwq=r29LXx9c!l zFDLbS`vJP3Ks53g=hO5phh~qIBK1ZIWn}|8J(O3ih3=kXg^Vl3k35giE7ZhKBaZ%A zl`aT9)VU{9D~P!|U=VQ8MPaqYLiSii(O9*n$4s*YDF%pC0;uqiwQ2Du{}XP+b6pr= zhE7c>CA*Md=FTXT)fiR$m95w>SGA4W0GqdMGD{8n2H|ZECh?k=xf~&>3>J%eh1I^| z^B!^?%0tPtKs0MeKQT*%i`R~jKMpJna##a2##|{N);Gq}+Yy9^sPMkiwPiCi_1Bca zLiSN<(bR>Sb%`X+Z|&=_SWY=KhY%Ncor1{j-vJB};0_cTgXpcfX}b8snLe7WQ-WrS z20Hw9AY8Zwxb0Lbt!tTk&g#{<%k52R(PTdDaO_c~9JKIQwYgjMV#ElE)HxmBr$7Jn zs4tAb5GQ(VZrecFvk%F`4kgkcbxker#q>Y#)pIN^yX{wd7l&fxT~?8g7Mm z@JV6*3S(GT7V27!TAFJxm@QOAF~s4c?8f@myE-uUJ~rgm;ZM8Lc#@nJ*{9?H+#f_u zP9L&8X^}d=QU*x@o6W`4!Z0Ro&gg^h!stJ-M!W=oH8?qU?-~(^5?~h^Snvt4O@F3z zz(PL;q`BwAzKH|q!MZRFdc0p3eo4R_E&7#YfT$RAD74=FW2v`a=4hJt1GNzH`qG_Z zI+Yv!0o9MdJ7F{}7?ZQG(HlkkKqU&C7<}=BEb`$$zZ$VHK%OK$0{vH9qssAcpqs0= zvv--t##+L@jWra*7X?_U9sMUGq3SM#YbMQxe90j= zp8E0wWv0oFh)C|>qp8|6yPf$r1dna3tpSS#KuKtpeo~Sf$!$$kUgbn%8r?Vhr5R%M z9Mi+p-a?ZP3$`sE z2P4^$zi8UeE#?RLb3bWK3LK7XP@k^xlmnYcCwp20?FO~W@xwfVh4_~lL^5mf(gJ?N zMNsD-=5x%(l-C9+uB%xN|Lc;ZlJoR&WjUpHnhbC+_oGpd3{HdhvgW0WO=sR7S0QDC zPY+J6M>TK!^_$qe@$3ph^0=aSRtDmd&w%bq378}Jb}UAtWRH?_El(j=0&=_4EZe7G z=I9T{Rr${IQfX@*Y~hjjotH;eW@PN;SSN;wQCp^g;nG!Y?~su^h!F^%e)EBr|JIRY zf6MU&z=D#1a=A);6J&b&CY=}(Iab7G+^=Mpr#0d40iMim&Vs+lGkpqPzEnQRLSP%{PVwIKML1(@Em;blY>dN`*X^6!kc$xNqg15mnHT4 zR++k6&O9{NSFJSuFrGj8(NCK8nhzstnbf}Q)e#>9H@m#k2W5z&1K;85yW}?>uYUy~ z-qmjBN7=3&>77CY2#)0Pc=$?Q#4 zEB*TDD$FK?q!za>`iH!Rl!7BKr=mFB5v@K*JrTULbD}e3C@ZurahXp_#>rn$@3!{m zj9i5B3%r=`OLAQ447td(QM4=5K(nlO2PD@fV~RfOU7l;fmOu=U-`51D;fR8{O=~3} zlF}Dra&h~J5_-DV$}6NYXA~f08)sj4#O@?GKvaecJHd0fK2+&=O?AICc! zVZlURm+1Le4L(qI<4tz%?DA{xQ6qu+Y2W(VEsKV|C9lKqq@+T0FyKjF5(!fxy#S2H zA*i(amaJD3#Tv47fFnW}UpCitx3Dva(VmB^a)Zn=>}5YZtw0wwTtX(~*Z17t>rYPN z0~Opq+O*voA=d~?mU`p&NT*#Nb8Uv>1$6*ZsPN`^J|__ygqlo4?HWD?))Z7Z(mU*A zPZUt;60Lr*wUyXRvo~9>Sc~P$j4m2{$4PMQi3t=1K~e2(yuq2kEHBR>rv2>gUFxGa zjFZSX&3N2aa7pc#7a*^f-W)&W<@kCyKu+ZMyYLeA33*&=qyp#@I7fT1DP5OOu@uS{ zn`CPc=OH}a9}=qecx8}0Y_7<8$zm|9sI`p?e^Xw7& z&XdzTD2-;D8VNDKcr&k#^czQb{Jg86gJ(Cx%(~*q#Yd@si}`uh28ot9(ROmiWGtt2 zCh=Dv6zcCw=N|FBg}!IVQogT-3|o{KYatd&5|fYiQoCbC1w^HFzwbNX?@kn6gOczQ zc`s$9oaj*4L!?p49$Hc9Dlmvq*u9H#}F2&*q zuFzlMTEqDm21+&{<3PuhpBh@CXrT&ZnX-IP{at0Dj@l%e@-83(0RkeO8o>le^-YyT z-uh;dU0m0=iotG)U)l{87nd>0JkRJmg8)v_5%8uu?Ip|%!(D-i;YYBR+9z*c0i_Vu z)l$iF9fMOBeNLc~?TreedklYqov2FRSg&AmXqs$rO&e4n33TQWv?nIx0fG zW?1Nr3UcVZJ<3w#->O-7*W5RQ{&4%dmk%ye0OLQcQU1`JfZdm8ze=MzBvpXUsE%a< zxa^7rAF#LAyh!g(UsxZ!h?K$wj|LStWaF+(luHwvdsJ!xo{d<`c62)v9h=)Geo%To zZ%uC>KAlta~s zIXPE>?%?l!z90+EXhmNtNSO~aX?Rfe%8WZntvpZlU>MmhQg=Uuqv|L?rKa;cs_u#4 zT+i}qrtE_85kXgK)Es#T=9x{t$E^1TG5)vea1*bv>R!`LW zzO)pX$V|1uaOQ^| zkyq-g!^d=53OR4k$kjK8w_Dw$?t&+pR-BuC#UO)fJ%2u!P#l2ODCU^TS9GKGCzF+L zw7Rw~(+c!ZtITCmehC}=_xcUA3P$|_g)yg?h|_e@Wty~qHc(1m;hFok945rKdHs?h zglNk$C0)Md8TzqFex<{N% zpd>27v+v%#f|W;HwfCi7c_JkajWj#>_+D&ObO*-?T5~lzEFvXLXqxY^PoQ$90@smB zcUXZp|ID9Ud}5@>)#)))ZSBX~-N5a1YH-j>)L|vt_KzXGzOTl6u?JVU9n>8c>~v?U zk{^bjB`?8R&zsEI2OnF+WN$2gf8V#W?$Fasw7`t3RiIYt8n^M3YwmmJ(E%>Vh_}ax zlcImd<_fCUPKU7n6|}J-;{hl3fNf3(0Y3U%?F>-?O51@MG?B!NM~^~&c2Ft&?4U~4 z_n3V0EH6g)H>V?Cy8`?@bG;$V`akNYE=clT#s8gCDN(q~sp!`{Z)+?QcU{K0Ms#?$NqQ}u^7ANy z!OE(9VkHWEM@C~RQh_-9!ck9Jq7Z7D%YfP`z6V8v$L0FTmtuu8O*WTRJf)-L+{#fV(|I_zsu4`2 z;|OXypGc5lWixKs_IuhSNr~ZY2_v7zp8=u=u3YHG2KS`5OP*{5BjpB9p;Fb@Mugo0 zeRkBo{UK0G@jRAdroybx+*juuG`XKWeNgtAP*lXUXpG3BKQ>MwHONQ%(ed2&9Ohm4 zq-Vb9jo3J6jVzAM?2f6U{T+jGi~<-;dgxGb4mONCU2_jUk;@OZ4VFwCH1C3C0hGnv z+-mP3C}73>&8GTQkpfig*_JBlt86SLLeY{m0f85Pt1zGzQSG<&EK$g4*FFDZ`;`^POxvQ1KW20BWj26K># zz%h^S7D#@61zHDIaMh*30C_Q}oFnreGYaZ)s@2~4@PMM)X3B$IDT86){;JI=MT4B0 z0#>l$t%ikSc4tz3-XQYv`Ar6D?`O7+W2rH9%3t}Ewac)kbl`j;U990|bY@WQc(2uA zqzN!oHA(5Sd~iDBj_2H9op)+fu56A{uc9bz{jruiI{tMqm$6YRFNS#}FHze5+JP2& z>J+$-lY%f*&sj$EATFNGC~u!_y4j;x`t2$Iix&Ym3yd18#1kUDBJ^|c&7bL%Df+;l z=@jc+*30tHC~eh)2@Jc8L1vvUTC&Q{nLtS_#@$8VtJ;+7#M?q3o~3wqjBlV)Z1|#^ zl>#I@b?y_e4{9*kYWCZf5P7RevnHz$Y6KR7coU+^w;xbK3vI(4|6bUsCn$@9QspI1 zE27DQc3EldL7bB6jn=*!?cj0ZG?gKsdg%dYfvO~Q>M`dhUD~>DHr^9%w~ZSre?+!Z zOF7QB^pGc3B=BC^$S29W#7>UqsrzqiiMx8}1W1PkJmgTcof&t}q=BpEh4U zBXM+ZbtQ7(I@?>&Bwzsw^Op}lf9e{@1NEm^iM$28TT!J%_ha{FtEkD4z2p~+&6Go4 z^D2k=VH6CT8VVTJl#l1Cm5c)aldgh#n#s|rb4O23gqDvPm^UYT09;XqAB9RREc?K} zn$3<+(XVdk16?Z(;?EPI*f4oYrov7Fjwec4o*Cm)c5r?h!g_rj>LPcy%F?%_3}xCC zIvXIl3X_<^L@J%r2C{)|TX;R%#Rg@-*=}`##=yNCH(ny&q}*0b_v0p(S2O$y*e4J^$W>-Yaq;1o@YH zQfl{=3c*U1H578qlM!*s__tsHWt!?-4QISv-X^@f@knTn)0qO4U?gr`Z z?#@jJo8ELvOLupJbbpJ-<2gR(_`bjQzi*5^7@z~zTKBr+n%A7yyrjt9Lj4`e#X&_% zOBDd#74@)c^^T_f+haDDk>|_xy@j}eCN!|Y0A;iFxUI)$*W~IfiE-@%vjfNjG7q?S z#6EWhr|EBIPfu^$f_@dRvWXvXR6@^XvFjNYS4s)hmueF7D zIAo~8OB}N7*7_YSb9-F&oERWr>Q95e68*%kqz(0I2a0DXRvou&PmHBXWPa5ODwhBh{jU^h&;t>b(z(vV;Fl-1cAe z)}w!2;a`73SL{uuUU7bPuS%dG-)Dbe*`DIuhZ>PP_giLDpv-N5zG3IBJ|7=3P`RO) zcya<}u=w^W)0wX;OrIr|zV{no9hi6tl!X8mfZNuG&2BxlZgcO9zb(%vUcS`T)AO#! zq4#LHnrOP@OwmvS%=+njGnYSf=cqLpT+JOUSu{G9xywxP} z{apZ6XSvxbyzc$hnk8Y7q}yM$rf(!3Ba?__imBE~fX0irfF7_mK(z!9DDqb)vcE;y zJvbh%kM(CnYLTz-Q9kZtxWckm5|INn9<}824T9ow!2**W|4ON-=1I{xVek=bPsVfc4j`;JfH?U%DVo%>!C@Z5|5J z7c8EIq{FE+xjg}Dy8g)ySe%R!To}WS6vF)v{J`K~-mm-s+A4g;vLX^~e`j9Q!!2h~ ziIrm<_uBuQPaa4$j>jbYe0&o9N|l@6GQ2$G2>$}`|8@8SKWIFFj#vY7wGaOXKc#d; z!Y&CnH(b}VZb7wYfZ$}vyIcA#7gq$8dfmt8=zUoLO@66k!05Cwch2bu^HNye{r)Os z0yany=vCn3bMkAi0y`hOpvAkBADQ@MIo-RHxciI*^ZqyNS>$3l0}j@?c@6Kq{DvEx z&kcZ*28ZRoJB$A=Y5BYq8LaqLGH4FdS6JMs=x$b! z=fwfG6dxa|^lrBra#9T}5>A)6Hv#=o*-p)WJe8E{bRrUz)GX~dq@^Ik`LxjT?XXDfgQXHs)F7#)MNdsdOIya^wyYB<{xLH% zlOP8uYXCKW;s#ln&e)~{!Ok#ylcUHfS*y2@w8DClO^Pb~Oqswu;NrlrzIKEn-^7LG zh)2Wgj7-Yirp@d@rQXOVf<~R)MujF{yn51HcF|VC3F0d3TX`F9IhSv_^7(qO|Dr-- zh;CY#n`6YT>1iygu;&j*#_=60k-@abdc=jzeSem4@WUVfeA$0a)|Q8zc9EVk>a{WR z0Usra_-Vz9HiMx#j-L67V6&9|?AahiHLI4-jCMCfN@XT+3ojBCUBvULx_+;%@9A&g z{VN$fwORGUt^dmpxBi2{J{{f#jhI~fK`b+iF)TE*gF19y%9<%0M!jTtXSJSq7fWfg z3;&1;y;Jh(FK(2#H{5EAO-)kvp-Nk!dc$>gc?eTA*S+X@Qm5OD(SM8U>)4gq?S!%d6D%AvcSYev(=#i2@F&^UwpzKQN`g?5M?9v(}4 z?D0iMKrdkAU+ah2Nq&-gd`UW5t4^B{sK-gmlZu%|1_o0eJy61 zo+(>L!q&!mb#sB5&<_&cLolj2WyU^VuRjq59bFKeTJ6Ln)rrB-fBa{5<-boGo-c3@ z#x=WW*^N^84@t^WyMg~sQU-?xkoL_EVw18B{xqy#00Oo&S=Qi!Tjz7BF0m9@PQaq8{*_V? z9er5Afm~6gfc(4rylu#X5B(9eUZwGbqawg_0F|dgc18^5dQ!Q?OU1JoDMsW~?6$ zgLy1#9Vil5>`HK=nAqh0`R;TujN5Q8s)%EzPn=!5$qg}ym}x2^_Itj7w(*Cw;!-qs zax4hxarTL^iVKCyNee`5X(kp-Denm$YK#(#`owl~b5mhqymSzsVno+Jt$JsysN7{K zg63XC7bLh?M!KF^QGvouE~(mcrv&U5CF{30$GAXLE2QrxEVSYs)m3RKuB54%VXI(h z7@$Y;IK8jB5`QJzrWmr`BMz>WRUGWolf4cZNF$v9nu%7XsL$LfFZNFw20?xN3}uG) z_&eRmW|{V0>)aPJ%JTAZpq<1=1~`Oj-0QWkh`aZWX@UlxI}`HMqPFAI8bUcxy>4f? zqU&#v-aPuv$Ab5BYd#iF<J|W<>NSl5cJ3D7bF@}K*{mzRG#9~6Y|Ck-OAW^yTyQ0ll@k@!aiK(By?;T z%>#72ZLEQg48wGOWWONiX1@`drAxaxGtg34`XLU@~AdVvHFaHeZ$JSB(`{= zPB&Heut4TXGP zqN$4s3W>#zl))40JuPq*n5lw@K9`QH)HjsUI`2yusj)x7U@#koiiDfYk~dd18ka>* zBKT;#H_khV$?R5+i~IU@p}X+q__z`GKxar&{;&c43sIrmtZ2^{@bDGAiJwFu`K~d$ zPp0CAN92YaV?ySl964nZrhqaQ%sQ^sk_`WVfVRCo_WYvZ@sAA_^JdA2==7-xg-|6G z>@W*25Uuk*rD)dZNoqz+H-T!Ajk8+Zgo|Qabys9NLCJVz@)VvRQ@vbCm;Lns2eO>R zoaFst)0x8InkEcN^GRl#_#Od6q!Qsx0emJVG5X$t#$cODys1svm6OUD_vSaJ^w1}+~8k{>dw3(;0rm(u>sO5s#?1eTpeTNp9rSG9pAyn^Mwmx5Y z-1c-*=*N-=!G0C7iKA96zgAG&MH(7CQ^=@;IjLCN*Z^IB6}aLj?INLO7h*C3`Y~c7 z9I^lIt^5J!z}L*2tvUH2Ou$Ma2JYfYl~Ph!mlqoP*+}G2wlsGPtCQ$XW2SI3g@ctY;E&urDHAf-W%TQqTDyIE_%%I16)`aTXL+HG_V%Ji3vdFc@X z@5+O3LI>Ol7T>+cs;UxFLV$SN5a0H;j`1pE{PTOSGTUB+w-N|-0%4e8CBmN-^UnNs z=Qdtec5RWMOhxm_o;r=)bOW{^DCKnY5y>vHKu>|lV7cOHjlM~^ZI8)@3#T@vy!c?Y zzV#RN*8XU#s~IT_h$KKUrN`_n_Q)hLh?dXtV(qKu37!L~o0P6jQh}>H|7UifCTNRe zX}EliGO2uhF$nv@!Z_ntV}a!be`)h3eC z2G%fH4$DNN#POWHh#8mKBV7+X{p{g|@7x~POtoPKsdJ<36Dzc;C-Cp7q#)SOGb)`4 zDkvy%BuTNxOuN;&HZK{cXBUh$p5MKyDABN(Haop+9V2>M_H5zvC>{ zI=pF3;Gl&k??!ryJ-#s9U>fCJ7-<`;@57e!@JWA(93IyJ1hm;|9P9?@x_+TJLmAqn z@9td^kiq2?<6dh#sH7B!7R8{vMC`;A)6M=q<2H!tzZ2cKCo9ysBGL?@TD5fH15Z{o~TbY@6U+2d|i_4~+7J*u~(77A2-$Vw$c;X^!kg0}A%D#r4 zUHhp8aMiGl8!oQ%tN2$a@$VNvv}pSHUCxeaW(;^ky4En6|M!>q_b*oZeK!Bt_Qj{N zYi@e4pj4eFmx-%FU1Kk~$gYf|(X z-jLTlMY}yU2R4i7yBn)jnsRD&rq|n*jldk_(bD=*S*pGI<;z{KHT81EvMnH~$ilBH zWvgW{L<-$dcX=9DULKyDth3Fl`;w(|Bh*&cg%-R8M{iytkIA*a?ttVK5z;e2U*5s> zpJ2cv$*Q{sUmF{el`&DOesmNP_s#+DL6Yn6ACsZ%j*Vh-1bAn{h zy`&|H59|HN9E8Nbi+*ahU?nh$SMoUYM%xT9CUCpv)xC#ruuJ)8>K%!Yki_1WeJ||a z-7VC0KqJeLm_`-iWHc1`5Z^5U+3y)RZnx9zJlUMWa<)4-F(@Qe;hHlqKAgybdWmZ8GkrT#}2#}B%`&?`Po4O%$P=id;o z&YL*s(Q9jKzf8WPrf5T_h+S@3xOq7^kmdz=dwjecv0rd}-Yv9ok}R+8jvR#6=SLwa zTQ0T14f$F(|4oz7a;*oo&+P`$IBkeJweLARY;GeOp z)&@FpDKr@QNGjO5mN?iQ3_S-NygsO@rIz0^tq&-t5ArIk&;Wus7f{NCx-%SLn^$(M zJEb2)YjF6gy`!>x1qpEo@0-YpD?x+Qqr?T;E6Zh89py&IMg1-j?(QXbb9Guh+JC-4 zujWPEp|1lJoda#?I|4kxp1<27KSO;2<{9H7>6toSWqX07EpV|}5RHd!;LM*~@-GV28=HviWkhHBVAO;j^PP zZr4S?Ilg*;*@8=h*kI&4j-dY2o$>rzdgPdI%%AYUl!H4f5{1>NVLQVOK+dqPZy!)b z?~Q|>cP<8z9`ECDqG2^neWv6#>pZx>@V|0xn71B%XQ!B}U&`em9sqH7GhuoV9Iu#L z8!J;HCH7NPPJt^$Cd_IqxSnnan^c*q*4eaGV>NZkgXEXW6s^CwFQ_GRI#0i$yQU&c zee~#&aC1H0f{B73U(6W0!&eDTp@Fu`XcP|mgKb;7jRO4_y=VwHOpkkI66TO>#Wpy> z-+K5<;zmbh{4HL;!uSJG7$-^5MW9Iaa+w^uH&K8|bx%|oXUEYh1v7<^EUSKTtM*Do zJb~%Sck^67B(T@cggxK(*nvQ!!}o)6kk~hj{{#X&A%x+%XQ-w_6_4twLYh6IFtO-83J z03|^_Lmg=@o2Wcm3znSX@Q|cxy;EUqwi@;4&HVg6N}D$55ZDl)Ye`~DV*{j8fx{?I-qL;mi4=GG||!!jpZ9_0$a-SBScC4OxOyI zIqfGBBE*-2ETYq_Qjw6wmcK@{u{f_+3>_NnflAz~$F>_9ZKL{$GRtaXnh!anJG%T<>DBIGH>n#NppTma7tB8uCw+s6< zrHRriQYL%I8H2+&w@*$=-Q8}4jMH}043aJl^>-(zwZQEp>{5JbiL)lIl^2Rrlbi|Y zXyX``N5zLjFb8a!Wt95LB~TlMyYgEb8+ks;&)vIrW%4?3*m^_$+-x}OKuK{d;_P8gm$K`v@WadFTOpJr;?i~n?5_Jn&$aN^Du{I z+o2MfUUnXIE|hc(;rK~eo_*LC{p6MLV&b_PhMv|H&CO9AZDfK&5VWxPvZRtV z5I6ub*-h=+Dd^b*(sjLGMJw@kB--2Cm(I>`WaJEuv(;G4nFsuXFb6-$K9-+O@jCGJ zua(Xnpiu$me}M%m8tk=9879Tyipxt)>U$hwj*&4@a|Xk7LX{Fh7r`deXRKGthVUi3 zuW7--=VwlO6A4qSR%_LJv|x<7Uy$s#=phbz_1Rkpqsr%$KM#Yz=8jLcVdDfSEgl2Z z{oR~%S%raLReAj;3gR*0e>bGf{X(Bx4RBZwHpbmPQyAe%%-HeA=x{>LT-#uYk!?D@ z=Qu37-#|ZX#$wpqdXx?1$XvGm@gETccY|1)K;9%Z$j4SO-F*wptZ>FMukh`tD zTl(;87Wi;PeCC8JnI7+|7`N(Z=M;m@gy?R5xlWfdcUCyu~l`YP1@Lm?Ae1SO}nDiYhOc5Yc;@*%j&(c)#;K7 z7%%a-3^vV7OgQd##KSb#y_&{|jRp&D1x%A3auDSkIms}NpIMJv{K~Yu#;mGCH^fcE z;%(A!jOnS?$e+tXZTY!fJNKnD{Q<-*&EIuJ!d)-R?M7r>^q6o~z^5Im@Tt=bb+J0C zU6Y`?)G1p%yU=%K$|Z!#XrU^7TH(Pa;G*3?73%%Fxx~v(w;yx4j#pzMBIqMT#y_J$ zneFM=hq<=)_D+0G%Kj}3_J0IbKVeT5Vm>-1jxw0pv&fWB^#beFD%;9%hfLVZr_9Cy z>$jb6SO{MGB%p`?K!==(z3<0FG%P*rB`wxfKZJ;j z=rLuT+F8#U=G>N?@k0IxQ!HO&k0k1wNXO6WlZD z6*1-Y3v2hx+t}pnoBHkjk_)ES(3Dysv-X0Z$Quo_L#CwlW+;53SF;2(o zP~U6~ktVxDn{)%J1(wr=uc5&wHpwiOw`Y3~&6R=Bb~{`UNL6@UyO)d~f(RRTaN17Q zN|nT6|J>rkKl?#7I$AS4zI7e5gFXG?5_SCCc8F4GF^Jb3Z2$W+`Ok;;s1r&r8f`d}VkRtA zl(Y;RO0?xNt6>Jp&5pnN{Q~GlK^tD_>2Jc;F<-C&S*uHH{ViVc{`=>A3f3l3d7lJ< zJQ`EcbvgZ*T)iTQQLd#4z=Ho97{Wur@=a*kY_JA9C^J<5R=Uy>daCjzG z@=2~g%{EgH3XivgeHP~F{xLp^W*TI#9*oQWsH21bVo>m4CcmVyF14#xVdouy-#IzeZ5r+TwesQUZfBR<9^J}!S4R@`|odnm4Z= z@+*tuRn?jk12_s9TG4uF*PlJ?TL%~L<{;bTfW&3%s;s50psh|^7@>`ZUreT6>J6Dq>TCq2t-%ciBZBB`cUqFqG; z#-Irl5B2e3?DSSV&rm#G7Y=VgOQX;$Dalz})c6$7@)U>7*0;2j`XM51u)p__l7&{f zNoKo!WV_c1C{1xda#USqSxpA$J_(90aN*+h3>eV6R*m5x3iOHuhS!GC*qby3$=Q6Y0u# zOS@{#(G^?xbo|&-wNBofk_^ml)~W+J-SwosSnjTO77Xj?G-uKPj^?9lZmvu>_0n@} z#vs+$ttk+~y!7&Z8eUS!)hX8I#mwxqT#&ckF<%k5f=U&#)Ov}MO;I*g1tf%CESTNA zRxeib>C)?OxpQ^4Jli$&`nn4Vc7TS0di&_u%>}HPf&?$FaTuQA6q)RIOh)FQH$S$c zGax*j8fDS^uojl;Imk|@BLS0Z$pril~3;*qLwl>i7rUc@*L}6Pjbhgin za6kV#4U=9SPuWg@_jOePu>xEZ5M8{3qkL}sCExPmYlsAID*ah`eU7L+Cv#lHgCG>A8DEPC<(!wzf5CzrXK+v+Pe_!p+$U-RD<$lVHmGtYuP5$vSW)>=x9J1ep^px#sRtX&Uvi8bLR|z>4|HFYN_ymTE zl8q@lkrDF00cbi`Q+jUGnAfL4lkdv9Ls1Y*NSKw?Dc$6l?8MiFe6@eFrwS&$Q?V2+ zwdB{CSC^NDOXIBzwCrPsmVTjDQO8v}M_uG#2Pj-;Eh=Hz*!92gSz~MKhnB9EO-&zl9#rlvcrk1JiD~}ly*s}f z>TU4&DtINsoa@fxmE~v^{~6x%%a6yB&W3EyvLZdmFh2_vf81jw&z!~rY<20OI8C)i z1`iTN5jXo1*(1g*)e@$`qZ1ResVfe>=Ya#(sLm$I4HqVmT##d|<(%`Gl(Q=C5N2FS zqQAqkJ%1wQpcLbT9BfhGSEC(XJpo_xtm}gP$cFd&oU904VR$|#BF79|>b9yMT}t9B z4Tgr-Dv7R_nPA~8$%Wo&Rjb%r6@QEcS6rR$WYugY9+t9$3Z_#10&kr2N$d?`f1hsp z`xQ6)0s+mqNAG*SLC*@JwvU0-d09lHy;};tNMO%Vt}I|v_YDvC#bCcvB2yzPb6)Q= zoc#gVGS97k0c_cTvD^O&*hVCUTZ9GDi__y`?If?Ki8!!ZT3URqL)a+TO3TZf=}Pm+ zvmpBCRD{f9ZbiI^$jE-cl$KD;DUNVjs-I&aq|)P{mxWU?w13%%MX)ZGz}9BbpV>;l z09028R1Rry6OZ>amLHL?$PNHbpfShVNeNrzjTvnMnL<$(vLBeAm6chtamn}1s)_(D zURxWoIx}^9l`Hx^yr6ej%E8oxoRlxJx`Ib0%n$i1nb^O$rZCrN z=gdkD6%ynh@Pc5#qic}Pays(d zgjJrIPD&gU7$UY#+izx{r+s2^Y&BAz=^N+-Qg;>Mb-+22(!k6UAg5e?^V##pg;*g( zP@b5pSlU_aY~R{%dc_7g(4?oR(5b=bPA3?H^_gNq!bh=2@{3e)Apww_DGks@0Upni zx^e!?I2lRSOR(dU1MJLmu?Cl|$W)TnRiNh_p#Ric<_fUZdv&pR`cpht{1k-|ch3vXj zPrb3Iy9sZlWindrkLpZwnRv)z^6iN=2q#13Y_sq%&HyC z8jBiV-AV|2pKt7KD}mef?NWp;mE|XfyQ8{>>O_@^=fn6*=Ur`lcjp_NB}(Wd*WzI_ zt@Z-_uM4Jk&a{jQ&qf%yZ0B?M$s;O(F3{T@pQTwWZ{qjC#;B|awY5~*77YCdf5(-- zqk?SXcoL@dLiak6e?r6hqu~1WKWRfMl-VNU#B(gKMSlYna#{x4F1FP?BDt}58_ph| zVZ-0QZ&9dQMJ6?Vj@IxQVc{My=Hptk>BGWVLPU(`+%W7*I<8^v!<@E2OsRtYUNAi#?05(mUN^*$u%Vw#2n}0;s z$p!#-BY>pD)w^lxtPY?%Q*BZ?hYt4U#IyFMD(J`^JL=oe=G__p@{aoC(;}E;* zN9KCH&7s)WhgmJOO-| z%z^>K6?_g3Y+_>KkK!V2fc`71re?BOzQO7Iy{0DqOWer=I}=%GmAYsjAWR=35eUP9 zNpm_a)Ec0$Hugk_*HhKw*()G;exy)oY0#JNH$+py8QRbUn{&y^ zNa77#ReNwh1@}@q8%oAde)PV6YISKAn4a~9!=rMx9U66S5dPjvn_m#nY!0*(l7A&L zS*UyJc6V2^Qvw;vm&6#B5y&Pjp0`CJ6A=+9t+VccoX4lOD`0i1lpaf9DSQ+B=QzIc zr~?E|26L=&2LC%z1`PwF-P%sJ`K^H7#nm+;-U8{M;hH+SkolUBAW>`k1m+boa!_!v zO_5S9c30?~=f#Db!|D*Jgqm6?dYZbw;rSq+i3*2Yi9#-aXRc_HX3q(xks3DL@W_{& z#TL$XI`fc&dY{#7 zYo}dMX;T3I^L0Y@YdYXa@BtJi_|(+mQ*Kz+8?qO09}=rA_XI#hvhctQmsNyEmQa)PrIvfw z;nj4R5(=~sF7*Wcm5Kshhz$3m+B}nQ=^l0F9D$jc9~u@BD^Wkpm!4C-;N>046Ib^Z z^d=-FMTgk$w|4{;z{0_`#9OWab{d*!Uvm-{7l_bZL+5J8vxo-HU7J#$7obL477Co+n zJNLVZ94}Q`&?oqPmnF-8&#I)PKYWJRtnPl&cSHXFpzrcNl8U7kp36J!^fOCj&c~bQ zK?$j!(g@9`pg*FbU4lY$|BeVao_P7;-f^lqn0ZjSLI4WO!DJl!6F_1Ce&_EIhgTCW}{jw5&Gi4&6#Im9zUn->XT z{k=T{5(xr<_0`pMSHCkBpi2;vV9;p8673G%?bWG#>#F0;MVlUj@jUhu=ohVp)N%$x zQo=KK@{jXOsx3Ab--oI0Oo6H!(dSO~1Sow4`1!Y-xeT8`zm)p0#lJgQC0ac3sk9n! zu23zRkfl$GOHD0N3sm-9B0P{J&{0?Y&dkK6w%{y`tX>WVSF&vFY~=BCi&(Ga1#b;k zQUJMW?-k)i?96f#1U$BUA6|MrI?_g2ikoz(t|dZ&w|I{ktJnJpD`||F#4!>W?KfJ2 zgVrqXVA zGbb^bIv)Tu=~&iGFMFyE4`FY4KDi*$o?nY%73a3wJANg?1AnhKmf3CPE7v8S$pG48 zI5q0LM?pg~fCkh&S^RClYq)z&OO#RdR;Fk|pIV0H}x(tatA zoX)>#l1G7a?1a2qNyx2_H>m|rI5z-CcH5_+-vmNVEXhorb8Z5+A(`$#!zo*22^kxP zv-^641We2tAhayM4@#vNlYH&tqq#8Oa5XPlPGfCVKG!%25L>fJs&fQO&)it8_<~BT z#N#udqz$(lVkE#;$7`RSJB(7#Kw1ydRoC3lfIkA7B05QjP;8!#mBjrFp^zW4|RN$%c7O zzYxne3>{4JE!wzX5Sx2kgE%uyl6Hs4_6{?iT=+vSf?z*<5Dp zdAjA2BzX&^jdIb7x*LvOK@?a5U48Mgg75-6;IMz;&&72D9?goE$>wsF!x~P-zH=8^Ezq}A$YsEu4zW1jQjM&7nSxTs-k}A4@V_)CYWyk zEZx{Z!}+!cQzD#i*fJMP?8jDHB8J-V<*iNd3S$cWG^#$7z*fu~L1&ddb{h&Q% zYQb4-ye(M$OwirwhsO{*wYB6ge+zj(GsAu5oT{r-pGv5xXQ{UBMZ36EhuqgBl5JgX z6Tqi(T0<8rRSE#6L$*wLvlMO(ZYguU>Q!iKcX^rTrUVi_&)ub3C#t${)BV%6#CL_k z^?z)V2lfmAg5GBbH->&p)Ysbc)`Jaz4EOzc(&g4LdUqzHCR)ZBEu%5p&WKLx6!wf; z*0BUCRaF&^j|IJ6U7ZN3)*+Et=)dEunoC#*LCU(znz4L;{*!kfA!oUD#nwOgR^815 z#7e)RKS8d{)bv|;Yz75xnI1r$ds4v=j7$GAB#Ghu-$=JYdn?+NZ!jN8?K~7WYeUG+ z0HJa)G6%jm_$Q6}Z6F-tOF%**7IU$eUM{Q*^82{4*C_;@AN>^-j}oD8)kA1Ud8W|M z^gjgc_|Z>&amZwi!>3=t`atdy&)8O8`}7g=0WZL>qH<@?e!0->MhkaTt+VS|P<90}hG6n~|wa8^WW6Zi*OkP|HC8M*fY;#xWOTbTI* zkEaGvL=Bj?N45n$H5K)h<_XRl;gHIU3HN3m zo9*Ej%I>p8=S-Ex+waGK3RTOMJpxu%A?}*joO&E}Vc}MA4MVm89e5Ao`jyhXioka5c(XO-L8Lbe`0}irgCqpZ4Owd{J!E6o) zjofQYE&IDx%G&&4WZk_{?z+w1xawS+Z7bkyI42OD==2B>3=5*`f@OEc!;y-#r1=(t zwkH9_yCJPyyExfVQt^K2t`cWD1c`y&cE9KVKPUJL#L+ZHlq@4DElpovcprh?W;a{y z#JKbzBj>~-aoSHNk%D_>&Ms*_j6r>FMmP%nDKav$O@Icyo@PkviCPI68QCj$q*2a- zdLGhcbE#q05y#N;CA&vAR~@??H7i;=B3G+xJc#+)+S-+LJ67$GAn@zio2=p z8tc!m|Cz;I6hM4S(NJYOAM)K}hdhCVj_qulBsg1g59+b!Ynh$bE&WQFj!m?%q5c9H zNW9YaMZ9jpT9qY=h${p<&`+OgZ$*kH=Ta)1Jmzw_UtqDmiXNdgxA6u^X@fU7LI7pi zxi9PVZ?O7*2SINhg~6c!jnP$hj`&`lkUuh0+LTRZ9#?4TAWFekl2-mR2a#Ds;s+EZ z<}D=0ktpWCoZqX6QVhNOKLB$xX{(TTKIfFCCM72?A0L80>D5vY|qhh~Hyii^XuRq#WLQ@*uxG=8$_8pdsoliGHC9Bz99$h$tl|P(L$BN6i zoTi;~H*h_k(8hTVB|hlY^^GO`U*nhFiMWWH#ke0mi~X|lFCMo53(dmJ>?N0aox)|f zLz@fBpH%Q^TH-yrzebH0rrfFI;?pkPXt*HiE!oMOiwA( z%(qQYYr1Px{bR?6v1PsK7~YJgpR3p1f}Bpb@o8$lyWgpD#D&P;9mbsPgt<2<&sDRf zT{z=zd)D{zUn~V>QQg{e03}94Y@x>urwy4KEy_E?FaI^EnokKOE}Mc&)525=o8I=57_P%GqARDuDmgp5V(xgR>2hr%@KDfcgjQT_|4XFVl>4)xAQ z15-%vOC;bjhgZ+PTOEXl_?!8IyXYzu$SBXH#%?I7ZcghV7Nw~k8r$84F)14Xrs7=y zt$b+X8cO)jC4`jk2ISa4X-Bro8UH(#{2CiO7!Elvoi}gb@br{lt5vA}e7{LTNy^jT zKQ|s=L)-I*O8}jxLZuaJD9-KEBS0JXHA_6-k8#c6=+YH4J<`GLVSboNplIBbo)wGjcyU|Ir&qIkapDWL{~VcA-w! zT`(IJ%1{vQ*6kha?yy%kHZ)r@(GOdk4>SPL(@@pi-XzeV2I%9Iv6qMwWH$6zoP%{? zd*sjDg+fzr{h!RROu>TO52-LqHemDnQ{k(0ZrYbp-Mk${12NyW0Yp5;T+0yM)G>#r z?uhF1f3o28Ijj4bPmd!~T&IZRo>8?e{RK^#$vj@!BAgjqzr^@f&w3*xuyoh=sc!*{ z)v>LX%YO^)P-v|`i;LzPedBVopdPBBuau}PrFYB*B+Zx)HvP&08vXYAfTq+M-A2aM z9Gf+mdN6fthjXd`c^Y)8(>KxGebKeV>%=MV)^nu6&0Rm4Me4-Ir=cnpX**B(;P?@SISGKII3IZt$4)b9+lHS zKiS<4260p7vLOVws7lXdW#_|F+%K3xP!sulHAdT15$Eb?%cYLL++{ssab{4}^}X5| zu8kcxKN&-+E9EZ7y=3KoP;pBqb94CzxNrNo-yGP!{Yv2*U8;H&hVzlrT2VZ1xc2^b z6PmaXZMxX>n!jA?{+xohSoOB6ssq*brMk?Ln;lx=Nu)WCbg{PV~HYVTe= zY>MkLwRQ{@w)zzbTr+GRy@$R>5@eexd(}ttq2v;?W5%;MlDD?LUMXf?;0bVgGb#ob z)L0k|s)wOk*4Ao;dv~`=SYb2=jlg;1Tz@$GSoO-TWyJbuvWQi>tQO=ANMztCZqBQ z9gUYxIMcJ!Xnrqoo3pQTw`|4Igk>IY(s1$%dnoSNZuy!syM>g>l@7b@{Ybcs11u{x z(A5$?HNie+EIBWg@tr!m%_QtQX!W^O+r<7we0jV( z1s6naX=&-od_d`(-l1#GfS07uky0+C$cDCOneDpQ~q{nn{m?MG#KEkS>E9G7% zNBrJ^+*L_4B@qA~*0bI9r?0JbxLkZsY;#4Pak71z!?oTj&U$xkw|98d4fRg`@dl{j zdQtndRozJwKXq>!6*4?R>wbW1GeK+9)h@cQeJW685Rhkg(5l>%CUO6Vi^DQeou8kv z=BP<3Y^NS23*EDnRHx}Ji)DAN4|PexWL~~*xKh`Z(0&&?7c0|(2Eg5`84A^M!3b=$G~3$!4H|!v z2cuGtarecfMY13Pv!Q_afNJ`0@c|PGzwRMWgSiZ11X%zEzmzg&cX!GuWtgw0VIw3Z z6&~_FGUlTP^QXweRJjCHTxvl6H7*Y1?)IP>*LC7+SaX--^nL~l+e}H`CUZrc_5DGt zAgw!2kR&*LNuq0Ge^5@HMe!l4hatXj1`F} zew3p1|K=p8>&6sTUzIvUTPB~*Cw3VhQ>vP!g-#MlsVpOt-!TnjjP|11NgtP8=*$r9 zRDJovb1Wo@F#0mz&wp%;V@XQYc!cWbdCD_~|E=0k`bMN-)b8ZFZgNj|i~hEoNYAP- z40NV!o9~5tq1M-@wu2R1tZ*Bnw~8<^OIwAtiSi};EmR<9&ImMgQWB#fTjyzhY)Q`o z2KUqN@@j@~RBNOgwJ$>T6pWSge1M#G(HL8)`6F-q@AAe(OZl|0@(;!!+ zbbkGOLo(CFU)oYA>Xf+Zv24t$vh6}#@%ZU`&g$bLG1eQY{QWqD#*6w9(w)QiU^27o zwnRn=YK&Oz4PU5aZd*9xyM_t2F79S@$s^6lva@V7!mxee_lkzB1WGC);&h*Kh|Cju zp2Z;5)WMgKdr&Z;Lf=&E6Ge*YXr0bD&t5Hc|50{OkqU!6*FSSIrHQ>@tp?X@NdBaP z4=&}A1^RVu7G_OyYN^j6A$z1`{>4|G~?O2{Fh=8(1kE+wcC&4wUIr*GMo~TVL7OU%=@?Qu1O2Sqy)JY zZGI)OV54tu_}uT0SHzWkH%&gx?22_ugh;PBa9=H|?qJ9_T@+3Vo0N<4kJ^}2>00#m z_U_X0sNz^xXkV-1&ayIb%VvsdRb6N#9g%Cty}QG(N5JvuN{t6i-PT;Pt4>$5C6cNX zYO78Y{R~<1m7%sl*GWYL8}Q%WsM{`Nl@p4X&=K)hz{_Z5f!4R`TZidP^+1JHnugT4 zET3VNsyo?luXifBxouyA#(K?%`)(@wDCL%OwZRwUm>IDoF)XtUm`YQQ^3j7&g_BS9 zj!%p8$m3Ol`p@j|n?W1P?_*F64I`%voexY`0f7l+t=`CD)r7(Hiyex}fQ4l~UG37{ zdMq>!bdsO9_!nk5WCP9`H9@D_7grZBMt>_j;9wb01cHKszP%x8FUc+rM#q=p<5555 z`9#N+GbW$Y7x)4yFSy5l?b>)Am*oDJ3i-g4!cY(}?aDigt#ady2 zgRyN<@swJ zv|axOR{73QM9OsUn$`E34Dpo9oTlFK%)xiHe)M`(hi^!`E=unucv$sy0qui7q5jN2#ab945%^TaNXEv}NL8+O=r!Ae8B$1OYJm z7>nWTI*L6&P1ztnLo;fUeJDVf!an;Op!~HXQa;{Si!V_g8Xqzs!m4;f*-cZo+`IL* zyPJ-~ZuJmFOj<~5^Lwwc`52F{|E~;HWZlmURhU|XEvAyle-c!Z&a95p zbkX^5ADd2?aaJ@~u8{5&WMpK>A@lCP4g}Pcvaf5rdIU^EWMoPDhgEQ*X!(8k4aSRV zLuVv6D_&oo#(g@~5PPTv5CB-aT%aHxXE_fSB{aMVqi@BxZT3>0yv9-ej@fX_u^9zqXbn3!eR&(ANfsj{uYVk?f z=zbcu2gKLbBn88@?h;)DUS72LOmeqHVNVnj>~5aLe0g2Gf2tE&+S7Srle!}G3h``k zTdgFDdCIq$WZ8>eK*@Jf6P|Q1(C1b`xcC$OrL4-lkL=8J!=Z~ zQVHE4T!$srJn`|2p19$L=-9Ak4fl3?lR)SUj~ZtuLC}np7Beyab1%|`PyxhK#AzZ7 zoa+V8Md(L*8Cz~;WXrnOT!B7`gx8+J&ka$s-O<+L-mF)_di%m?pB&U}adpXM3Xd|$ z5j*NONhvQe9e*e}V=OXsg&MQ(pBmTW-;iZG>lpx6w0jswVd2UwqfHGVlH0$*bv`ka zO5Va)W%k(e`9=OoIf^u2<~{!de)k2&bioH zA#YC=q~f?AU!Ti{tX;rIcsZhF>1cG|ayC25HU?bQN`M z$wA?Yhawk%q0kNI^sw=J287*x$1F!1^$m`%@BG(hUdhjwCZ?D*(RO8@U8@)NVXtiW z&}ngjb_em{PAd|ijiA*5?G}MFZX^tnZ{?ga+zU2i%}fhJJHG(ZIF+jzuy8vJ^BRfE zYohQ-q$I3&Py0w0Lsuj$F{Q*TXm`zvcc`f-a+_B5;{EWQiW@b6X~s$Z?#v#bPn-N zvgW0jX)_8a?zvzl-3aPjEwfKx$E!KVNYb<&?dJX{rm4ztvB`El{W`JImSYXMJhKEF zeYdxBHWf|Vhi5W1l}>dgIihEWof1ZXG;-qp%4}|WWTC-(tCN#kZI{Jh=)>ugHNt}z z6J6COxfMrmTY6+p;JQc~^~hlQ#g-X!`UeuT7?ap08CoRQHY14u6;IA|X)e1l!aC^N>oM22W50~C zyH}W|FB1OuI$RePY3H=gQj<(5vb4H~sNJ2Ak232MUnaEgss9ugHKeHrS!}u(<&^T{ zaIsRRMJOI0s=&JRWu_!=&X9Y$_}?f!W5W#K#;Dc%VFBMZIb`)`656R5;uZhO-v2x> zL-PiBYHtBs1+|?6+{*#7f0-00eYjEj3;Wqyu%NzaGhy+rLp4ICBbx`%;F*9-9t|d9 z9z1dx+6(5*Z?^qcgp?cnVJ(neS zj^B|;oZf);pAz~vEW?{q_T^!ZVJ(kWgkpkgOi;p^8A#M2C|a$-Nm|-D;_Bbobma~2 zhi=a0Tn^y<9F{kf{uf&QSJw37K+f?7kaP5#`8v1wnE3w|4E#jhSz>|ieVn_~`d4dS zUS746(FQ^~y801|jirU3TmTVDh8t)uTem?VQ$HZkD%Dbrx1yy*Wdf7@|KMl+u^WCt zOL=7m^%Knv=dYQZNUzMk50*{N-J=5J5$%BAhVrk|K%_8A3oj5!-tfDi0?C3m*J${3l)`vL{oItz8iv@qdpr%5tx_XdGbKe)H5_u z6X0=vd1d>M(_#IQuC6W#Swf53_7!p_DQQ4}2{4w8fIpZD9v2=Ss!ScTIM%QGlwkH@ z821@sS9kaB!agzspyvxvUb0awRPzJywG`7qqc4meesNg-!3WGV*B4AA3EX-WR==<( zOZfJ14LuNH-|dw!x);Bt#J}j>-r2n1=zzhR-wV^vO*_xLwj1E!(dmNH0rH2dtE(@7 z_#rO@_>wIEV~W09o)A~VXzp;2>p`fH-2Bd}e=fqGi|W^TIjjeO8id%GlRdJ-+T>kXSgSr{nWE9=-bj(A4?Yiwu+r1R((516gYtbq5neWCW(qXdntk^v z#Z;Sem{BFjr`e<@IX$RQf&3`z+){Grj6E{1U`0_Dxm@AB)6|E~4p?_Hn{E-Lkg(xP zE5Q1^0~s^a`4bR%djp8nd1a4T0@80>P8a_3DyLqm1O?9-9*4?lkR1&R3r07uX7Iaj zw`hAn>DaAXfW1V%^lzk)e?Ou>&&a9X{~Bq9#}U!*Lq0BSr`K(!#aWFbfZFeumi?%{ z&O_8aQ>fm41!|URw|_jlPSe@fClU}G*tAaHz;9%9&uRPYfhm?EDi%Qz6XX7#-63q7 z)gv7u6$XHF5MvqQmoINsWIs||gDJjV0*DiGDk^~;%i&J-;@H#EHHA_AkHhYd9@YQF z^IwDzT}e0@sk_D=Y4Z+fwa!sFage?L+M*30!8Zi|eq|wzT}8wh0#+}7fNb>!5EM+F zQmR+@`reI`m9Q%byfzM7%wGML`zmi$16TGJ{QYZX{QW^VdjG*ZP|sgk3_6qFbqfEd zRT-D?i|5Y+rf|>qsu{%)p$bs~R0NXLG&Dn*=9cmI{RdD8I8(e>O`fKCU7hZdAIh4R z9D^;F!3NoFId-)K9y^7O!9{xwEoA9RLIb(1&H#U9%S?M0Qu*DihY|X$!4P_*g{B$! zLkk@@9VWp)UF?xZ9TCN=g4aU@fAs$l>G)}10$mx*1QKUDptO43B0q^a?nU#RxR?B8 zpWO2(4@R61AJil#G?s(JZlu^pc!z`7$$(jxLKR@vB_uFeM$>==H2BTxZyNmee>V8x z${-cbyE+H`QW{un8km_(LYWOIo<3bldzOM-4X%hfzOYKDeDtLKPS*M z>;Fa^@8f2Ccn9gR%DKlqB7lxJFgWlE)Wd#b;{{CQRp4t5ccE(R3(ZvQ>PeC(b==0| z5rIW)_TkroHas|KfjagNsyi1Kwgfx69>lx?9|W!3jX2!x>yx{Lq@>&`7{*WjQBF+s zM$wy^VgYcurO7k=P(btKF{S;;sF(}8V(lrP&yZ(!iOLT}wR>@LR~8;1FKWrN7y}R- z?Lf5>LraL&?*>~o*q!`QRdy%_g#cPR&A{}RIQf5ClsD&X(9r%Mv+t0FURV2V-L$4R zezc~k><{8bJcQvjuAn78z;UF}W;%jAEZs4_T%rRv=%x{`P~~>KB~aD%E%MLa^xJ8$ z*(~h0-n33v36?gR46f)ge%(Q>rY>ChzuWBsWQ z;u>Pw4OSsgwW#8sH1~l}faXq9c)l)qa6@xnu}2G3a@93mQT*JW3k>AL=DOW1Iu%sJ zmOp%12&@(!&g#3bBVi5M9*U%G$x4({MrL73s35PI3M9aK1~52!VURpzsp&QJws12< zBTY#9)Z@nT%6$}2k+;p~4d)%;=SO4aw5(W7yHV|)px-F3;T2bDM+|sudW<5$xW4&4 zQY7T$v295)@f)9GA+|?<+phm>?M+c27-o{P0hNWh;EfBF#W0%#i9*>3^SV%QNi~y5kv@f1;J^BX|L(Vb z69j(e@Tn5ZlbUiuLl%0W{r~%_|GajabU;~IC;z?bFZl7l9_O#C{N_l^uXj+Ly8OBv z(fzMxt9#jdQ-G~qRDVSVI<89B7_~LzrmFTmYTT<9m-^A8;0EQ~-)}mv22rYHIqH-FplgqwyOYXO2vs zMUP+;O`V&Zd9+u9vOfu1KLM%i5X1|!^udFwBQz6dO*eEbjQN8#MP(GDy~wqW&dxSJ zM_rEbuHN3p6-lf-$7hM5+C`!Jl$~GroTGKNa!$Rx1DY&;Jvh0T2RD4;#2SajHN}r( zz!>0eIblQ=^TN<^=&r3^`q%8IHBMI_00I!i@X>jQh0YIB_o663>P}~v(Sj|g0lhmp zHMIaAq$8X&jTkQKZU`BJt>aa2VQSoWE|1?z&_8a)yIKSwQ)_djqwKZ>gPuQLoLC$? z50Z;ZR@6`X**j(N>S<|PSa^H*$|`7dBqu+Wh!jDxChe;Iw|=l=BENwWdML0>s}yj< z2J-313^Oy?T^Bx#_QX)RRckZU7wsQ`Fxz=BKGtEHJZ4bR<}Pw}VcR&ZnMtVnDFOfM zomT>Hd;c&B__6|VnD5Nh6{bsI8JgCRR>$C zHJ||W&XMhsOu-6#9tVsFf~X>3svY1EE=fo~BFCTr>w$qHNyPjfT?9)AZ&fWo<>9y#Z#RS5DiWi!P z9?NWvtS&kRmfm%}N0ubW?y9E{;+LAbnm%$r?7r%-tzEI(ii}q6m)t9SGcZ-(3DD0$ zAtlWOBu3BAviC{V`l5!%r|DOE;Uu3o$0lVY(5B}v_!K{PEn(3%|rL`INb0$Y# z(vzb4ns&;B%Or4Pl*kU;NNArO+T z?dm`Ua#B*zjnFsJl<6xV5Ib1yM{YdaFhBpNbyVUCCT~HjisZ&X84g{xKlPdfdl@t2 zFay01&<|J7Plo6&-fVpn=g08YaR}J);{>2TAm*cg0{BZo&9>bo9^Q00+kq~pBbDxk zRUJ@my@{o2)J(${L96G-^g=FAP^AIy@r1>`qkt-A(>Ui|GycrVBjq0cC@NT5 zc>66dK=8b7SAVrNipjJ>a z$i~4vqQj+8Z}n<8=94#NL~g-nAYe?JCzM`1riBZVva+i5N3_j5;l~sL1x0i)92^4c z=?&!%uk}g@UFB#8xg;s4#`&sMc<254q94E|aS|J-0r*lMj?zXSCbHx}M%WJ&z7qk7dOat;ySSkjVD@oB_4| z)#-GWwL^4HquMWf(zj|3xy+)o^FM64pK_KrQ2=l zQKyvSw+32tJEv|$*A1GIBUIPlQv=*_yGKDKGcPb|UWHqX6P3{`U!FZa0DV^1R8vdA zzHzI1?p6M{H?N_45>U7Ux)h7{8>dcbcet~Q$ocD!t&r2h}lUQRp0N|>jV z5C|u5I2~j|r!Gv-oi_FgLtPgZVe6Sy8TLSna?&+QST#-O4f4<+$+@EOyIeP_NwQdX zqSa21{3%`h%cX!pMkCh5dlL>y?V!)vZo-Ca5`O6yR6*P28yjmT6Uy73O2wrd7giL;N#6?6 zM&*Vj@@zDnoBQ{;Xoz%hRObu1puY4CTB?o5j@gh}h}oxgg9e^#j0FQx2}fZ%bBUG# zqyYf1k zL9EUtn!KLH?%;nWCU*aU;5~!~`eOHQ8`vSl8XK4#%sMq(Zyf4wpH?R#xevVEfO(dm zO&oe&PT=ECSQ$P;$0jn%d+Ea%@bcx;XRpN&u>xYCkzfdQpW(j>0)e@WMsQP)`<3y~X?8 zt@}Sd@5mnn_!zh4-?Z*~C(?+xw_~}5IgFW6$>W3&I6vbv6jKqs;xK#{hjey+p3`f{ z=oQhyE1i$$Ze$ob5n-pAKJPw`zj4$WZcJUcURq#%S;bRMeq{Qn#haFBk?b=1w498Q zAZpiMBwrCDh*&lr5`^adRMc4lJ!chjr7~l}vY?WaPX!jM{5?a*qt5)T@zvU3Brmt1 z2U5!^y}Cg@N7W=&-Ad2(i*4}>ydj}_$&qbk5WGrLRu-$!`>(tB^Wa;r#I4Z&_%{X~ zTzBmx@}h$<81#+9F9J^NK%_kF*_$-c+JhsMmP?-M7oQF^Jw30e78Em>z+DA-mb}*D z+I^@T`l6W600R$as$2zGzp#$)zMs;~{2^q8<>V+D8+Q>;E5_FID<_i5bksN1YtB3z z#i5EG-*>?rhMM+6J`i~Pv~k@SVUT#qr|gfx4-gUgZ~gdii}NoVsB5xT$mLijOm-T- zJ9Dn)z3yYQ|58Se)7Mf}Zn#e-8JU$~1jomdF01W_`r|2r?4nk9L<~X46-OG1`ijWL z$zfrDS-+)d-t5Ftequ0m?7NlQV>6xU&6a3Z;ZkYeayX~mz(;&(e<6ph(<7YB*U)dk zINTQ)$$-lX&!ob44#>=#wftsPi^$UQbf5Q1LY59vPr9q}pkv$XCpi>~o<(Pou-38} z3Q9}iU5)~gw<@q~ltQ0>KI8(CZ#C4nDqi&B4C&f}RAN}S_sUsPw-m64b?e`_se454 zdu2%{3j@UM`Jqx^Fh&!ed!gaWABhPNH;1`)i5V{C@N2H zPQv#`R1so3sGpQ8O#ws0Cv9geprCtrs#!KYnEg#v>l=MEZtI2M>cVktm193rEm zvjY%6ntVFYEmzP~l4QJOU%Y>7RxaO^Pla_WG_I@6QdwU`?iL`oo&pXH}N_RD+> zz6LEh#&J7VCq0bnl3q6}?~wky#g^m6C@kcV-pW@ss~`)df97wk0rGpx;RZ!e9`VJB z0Pr=0AD_7g2n+7vN*N=36Ze>H<1}=O7&vqlA;M6O$Pfd&D>r53sIzc~^kQ!7XXIZj zY$7<6o^pNhGd57GextJd(Q^cnE{Fqf&~=W-P?gHM`Xp4 zIP#EtIw=E!VfC3v6*nrhW%^2a-$neuLIcEU?DHV?3J@_-2lrG6ue0M7_T+Kdk7xH+ zjK?y(gKb9Iv%4K_wnBHdZUzo7ne@&vDJ*TO7dKFYN2BZ|4v9$N=sGoTx(8QzMMsx7 z_7_X*ZFhIg7Qsi4*6Rev)}O6p;R+0ZpEPjo+S8fFCt|3!%Z_z~&7@+P!1cmDffy46KcCmbN4E0EytPxidx^r z-JrGEt3|@HSA;8ro6DtNOZbnV!0a92pqK&0O?28t-%k}+XZJc^ehv8WuM!Ee7kl)+zxc$ED)TYVgXGYm$X@Vuj3zB#7+EMK}G4 zv#|_=s?5enVcJ8TonlONT&BP+bWKbet=E#rYh6AgUZG9E9n^{u{ zxDz$bPrxF0&@~Sn)8oR#uHB5`vSGb*^)+tW1V+)2w8^&6vehArLkG9dPAVl)Qp;kJ zwsb|HYaT_Kg;JJ{WTj|($wPzoBTMGbiAhXGq=QR=-KCd#MR73GrT8#hUMXUiMg8mV zSEX(%bVeh4>|xp2TMow=Zs?+L8g*MC=XG@cMY5?vTsJ$EwHY3_p=Ew!;V>}#%b4fL zAT4aXp2tm@fTUo5Yr1AkeybZtpnY&z8i#hV2)N4FcH=^s%0-#OS`{UwRhCq@UXu%p zLrt%lI(u?!#@-Cd!8kT8ojHi+Qi9@!?cfz$ibuQI2K86`{4pHa7?c(}^F zHRzzC;#vZ{FEfrg&-8N#{3E`V#=R5rlu6`G43knDHq(YuRANuYGdbhKPe5D*gZ%>x zTaUs*9b~)Sc_;LeYH>6Z{t5|y#)i3v-qmr`g;Sw!bwamL({&Ksh=){S(B)=Cy=qaV zxrUcrbx1m)yjw$cl@I=QU%)&(${YglDXofhM&=VRLS8V*jLET)H4LX`B0{F~K5@Gq ziCyI8d^0W6Tq!x19`fI=`(}~7~ zlgxb%@Mk|IXwVce2T=8NY7;)5<$FlggOlRk1b5!4%IQ~9Q~O3~iEQ=muF12%UFXd! z_=bk~Nn#WYJ#lCru2d}(=RNt?4)?ztOnkbfuvSiJ5s~FC-6e zSqJKEx+DV3@5~j?eN725F{L(o-Cd%?k3rimc)Mw>#XN5Pc@5V-OGxgu_i=Is{@ifq zFiF2|71o&YkJ>cPv?C%79+?iBYHaiR9gkr?Uz2*ck>+5^2ZDo2crFNrm@%soF8Z3D;|E$`* z>V3J9rIUDB&7qcAOJlEb&_mPlh_LLMB#k5Uy?X>mWGT;oKGZqPmvbxnQ=LJMjt5=y z1gkr($Zc$Ek*jMx^Bm*f3p9tPx2HY1)}|LbkC-9&IE;~9t}~}9M-T8MCyx~Dv{cu> zZ%YP6dx%I&tL9YJ0=`}R=Koxiz&+Rmp}o^TAoIGlkaeBV^z2^$ZiT9x;P8^u;AAi= zu_-XU+45~z4T`YyhHHspS#1EhUDUPDZ;?wAE!)&0BW!=4XT-u$-)F#(8M5o(7B^qd zOE#k$b_gv_i@1w{{%ljW>`+?Cy}rx#?$qu7dckw@2sXhW^pz0hkuopN*3e`@f&RLj z@(Wyy?U~o9wv_1T*pi8_o8h?WjR`L-w`zTvT}-G>Pfz8opyGhEoKIfRgGX4{5iBgZ zmCi0>?RMpkZFypXhsSqBOiFf?iR5)iv2A0W7Ng@5ih2FrGjPSBlAu6W5`b<}wx-if z=Rap^(R)K2SEN4BDJWqUGGyF8#2ufTpb5B3_eZ$&$B{y&X#|IvA{O zpYsvxDW6t@pXV9GE7LfJM?hIwRVjDQdFBlHCWn!b!4{j{te(U|?YlP7G61zI?^cp)1_89($;rP?x6Y@;$N35NVYp6V^_}sW{~+7-+gK z07`J7G3w{-uRUX5jOl6UcqWled6JWokPXZe zp!7#kM^T;ab<^`I%4an;Cgzlv`yn78WIqx8a6UIJ=xZU8%$TT4ryFfXjDBl=)=*dJrrsE^7NSMCSsYM>|pb&4aSCjg#-XbUm5f zlZO^Mwy?&U`s8OEPFZ|*vRJI|Fn8fP>`j$)?(4WNw9t}YTVCAD3NH|PEAe*X*xpV_ zVyYXLg)?0?8S_@K!wdOmJToS;3da)6CU=roax!;^Emm7_x(bfrV!7;qGBN zwD==!T<~-5z!w{46pW7CA0tYON3I^FfBVLtTWjI9mCerHN=U^QH?*^$My^8wiRRQn zMB}hK`E-W&>{+ho_1=8@ur=z(tI|;XPxprrL#bT;01r&AKd~~K&IwcHm>UJD$0pjv zBj>4HC2l3L$Krzy#D`%wu))A2Cv~~U_8@uadO_OTR&g_G<1y@9aWpRTI!C`80=_4q z7R6_YK7@EhM))?k&YsAaR_l*awGp{*qYI}A( z(SL1Bex{^;U=3pagcej-Z)DEmLNix!X?ZPI)uK%ITZuib8?bgX)61_Jx%*ypzliA=fHTv+Q;LhQwCpeAa(BLFMiZ|~dJFu1+jnAqf z9BZn_f`NL_AqZv7zaY|Hsbyk#JFnZ0Zk;%cPZ}Vn5m(W@Rf4I69jOy3UUJ-xCu@R9 zwRF;0x=7?F!U`uAC~;Ddey+8-k(Y9?{+Qbd9)f6-Lsv;zeG^A73R&gJot7uM)SXr( zUTBB&5)vMeCFfL!h3S9V5P60>8KIDT1&q&4XlM{L_=&~jrLWSaK|&=q_G*1bOlnvi;`v=`whfA@UlzBd) z0M%-z%Ej5gyBK`p|LFsU`a41d)o@d1MIFc$0>fHuZbt?IBvm&x%*~ z@|-TmDLIU1>LNSB^TNaBsql(~tTjYC)`tgK&L&#-H{~#pfHK!_{dkiDSxG#GPMcFF+)l`u_N60oA+)7-rFF*S#?tcQMh=U#CV zx9E_A#w>j82)g6CPYmq2(QIeFI^FMxQuJeyS!c zsjzYI~dX9Gt>Wy73ju8?UpY9o{0f=#fwux8IT zaFi^|-0D9%&uny_*J^rhUHBfXE_N%~>Iv}T&F}LHx7?nL!h(h37VEN`S(s!L)n6pw zpTy`=Ak7ux>1slGSs<~}cJWMF4uZobUptKo zCk$n+YERZk9iHI_n057%A2!dPs0`NLMHWx^LOtsi<9_MBc7=51tK+%GmaF6LPIOuG zb@?uv_;g+(93)*3IKUFfJiU9!s`1t40d3v&ZH>A;g3^`A>4Q^na^Hm;*5DV0#kEVX z+H|NDhHV>Wf%L__p8!K;*#qYBjO&#(2jNN){GCN5Df1Vaz=_lr{nSI0}4gJcS{Wh*MydaxyyLJX`!@kA3{>m5Z$ zFwNd*3UZweB4ZN|#pbpSD<4eEH?LbLGug656=p%ak_#iB5y;41!77Y;Qy%^N692^X z{wRnf5#8T{+9r!UU2=*wwJrJk4m-rHzy5bkYR$Y94ZW#J?Qd#Q5Uk(~uWDcqgMMIk z=88HI$~7Ebb9?fyNXq{$l%GDd(%tO>vD$cp+{tjJvTp?LTJl6+L4P%sRM2#{1O~_L zNU}hx{&(#)L2y%z!eQB(eMCaRGeSN(+6w%x1ee9rN2~7Y*oMXg))hyMuYTq!H;;Pd zzSQ=hKT32=Ui>v5Z~2?aDtoB1!+v486-=55PlYSoE1akraiE+Jwm?HG#OJYv%&F`! zuE#U=UzO6!IqaJq%#XN~UEs}1C|qXB(SBy&`&?~qJY;kg<7W~A0Jd{SU!H?(=3Yke zI_s)aUc&l`b>L>26)OeMNbUU8*eAyFVI9!ikM9>GtXb~X{YQm!3xN|TN>z~pE9hLg zq6#ZE{d9i6t^eux_`%Dl!t+gT^}*4It`y||dbz*9=%2?E#J3yzzV56{r0cPzOM713 zX49{jT8{v1nlH~zV<@(jP_%1Z`f2erGOebG)_h}hQiHJQsoiB*aK&HbhO4IqJqjLFt%dT=dU~Qj!y=ha42Zi zDnI4s7WUmun&hC~8nIVtpgz8P7ilmuXOM!JDZ(!+OTqKXG`FC@QP_8MI}yMyq9UW^ z939K7G~vGB@WlCfRA%QZgjQA0z`%!(&(kIwQSAC-ZFhEeQ%NPa(*a`&d42tKRge)g ziiSRP%+&l#xQubzNCbR*VyP3hHMS;mZq(D$HDxN9r_bzJ(EqXe*9)QM!! zXe`lap3{J{i=h(T2zKIWR8_b`=41618ezoV_w z=q?FK%OEMf_~C9`jzBXrvsHgVBxy&N+*d?I?}4yny5APIMwQ$M0;V;|<~XT`sn2>y zFQ*xCYqKtB+-1`2aabRB-Cek=Q3Hy~Wz`?C7^rENG8Uz@H^fcwsIaNnHVW1*9<27@ zNrVO$kWUV7+8&=WFRm3P8gU+W^?ZqqT3airGinpIzOdL>{0FEc3VaF5+vRstq-_Vi zWb_{R0RGj~*{SO#NGugH%5A{NW3O5Kn8@cGY#ZzACdY+%PSvG}r>bkY+OZIB1@FA!k(wcKagoFC2p?Tep8k#ap*|5JDb5c3|Yv1SZPGrGsXiUZ~@ckIQj7K1{h6 zI+IuJEhFDc=6tpl0A73Z1-)87D7^Zfr%L44{Zk_h>kuEXtLub}sQ$*<5i@?0JFhUf zVsi+GkIBf$5L9hZX+1EbO3cSU>vM84!P0UifDBQP4=ZHLUH8*(=1bS0p!&DI4)%W1i%tp~B2jzS7X76KD7 zFk-~ccA%PGsa)G}Vx5$C*5aqROc(tQB@CB4`fKAo=zt<-fN#d5Mwm-O9gRN8qtf&7 z<$>|F1dPt@y@7l18QsHRHLe%wm?1SgjV8ev+aeyHm|dR!ibpm=FB8&fz%ubxRhAp% z>PnthwM&o;%c`Z~9cd>s=LirxgC_B8#SPlRUpRqL0>xUqw| zd+WJWoQW}_l$3W?zd4_4W_C|^K@X;98_=XHFHzP}(FDN>bCl&De1REA*66|_!j#dj zV3{1-S7@T;2k>|y)8;`}8PBMd?{213Cl5-k;4hNcMk&h@x%_wfpU0w)WFj}HCO8D< z0D86|lX9ld5UA1s0P|*NWQ_GlDU)5|aGbFQ1_x(!bxCl3_2Nt9(G;pXsnZ7%=%h(6 zgMJ3jCb$w%7>45V=35M!7Xfrh=G~;uz~Q#XI3@>{74k~Q6k992)h#Fv>A*N&#=&i$ zHYr@48mH2!mu3b*BYZ&rVdEW1TS`E8pMhx57;45)4&v;+*SUF4cQ|DV z>)&64GHrLrq&FBFdBiY^&SHojYEwG52s>bhB=<9YN%-6pn{Yuv$lx6oX_~T$)^3XK zHA^D-?t+#fm)x?738nA=>-ha|6~&YW;@tB(@wOUC1*${My)T(;3(qZci!v9q<5wl* z>4qaQCk`EE-V2i$ht}=_LvE6Ea}~#8SK29!4Y$kKff2hUrb}+y3bPrW2j5^`0syH> zE3;nvswd*0k65;^sa0|5@v-V5lWFz(51X`-JYxn9Zm@M~UzT}$S%52RS zV73Ft-BF2$_aDiHzR|R8m64qF%N*q6yN*-@TgnBa;Gcv}a)=JhL`&nW4&`V8O=6zt ztd>(M!zPBXZXnzKOckMB1w2N#o5f2!=~=y}ZXMinHWz3$h5WNrwb^*~39`_NO~z>1 zCN({j?Su409xDH_>GMI3D9UvT^b1=qc_^)T1*dz<{iQD)7tK#(Zf{MLQA@|N_HNBs zJ8i3=$chg5CK||ZKJD)9v~|cE?Mhrb|60n-35uwML|HZ=6|j)JsihCMNOHtm ztI*JJ%*A0ALrLuHqh4R5w_+Ki@c7e*FLytFM1T79+a(JflUpH+5x}KUlzH-&cjT=> zPy*jN^u)AU+e7E#^t1z)B`|d7Smq1La}z#borXZ`Ft~auD<_l2_bDx_n|pd>LclY# zOpto6eQnd-m!*3?#B^yhCKtg;0yzMei{A2jox0k1&)^ClF}I8*o-JQD!dp`y zdp+0eEu5yNECY3j+B^kI98X4P6B zKNaNU7;#bOWPkl+c{#I%YBMY&Z{v+6@$d_nX7juKLGI?an8fvk=QH(iNsRvL^~(m$ ziO-CBr^8su)a|QX$5$gwDCza_#jH5QH8P;N_vySYDG##$DsL7dC>r>8QG{TaQ?PbriB*A-xe9xQaLcFJ7Ze==6W^xSO0wsYk84!>`P&PvJFnvjq?yp` z7RupJ#Gmj8O>9qtE6l1zrJfwp5t>HyPDIqRG}LHi5`^I^qr7$vg+dgEfC}stsL(f- zJrM9e%}UE{F!Zk@Gb-=k*$Pb_ay)bm-}YgLENRQngcxvJw2Fb@9wW&im8Drc=_?SH zp5V=)v$qGwJ=xn(ch%taYPad&pjBWi7lozdQ+FKad5=CYcr3t3)oH(wtz({~?R*{v z`r9(1zYUZKi257NT+v+ZWaX>kEpzfiYN~?aIg8>686joLPCQZCu&5X~3=abw4{wr} zmJX3HH>cGA}B}OkF>wC-9uIi%$qKty|P|QYW|JoB^h14r(aJU%L%=HQ0Y& z{)3C6tlMA&&djJEZqeo{P(1BI2t1e#YX^s7ePZsf>@=o~@THJ8@NU5lx6c#mQIo8K zKj%oF9Cn+6`{cprJb&(;-baEjnVEyrS&hqHnV64YR)2$*xRJ@qhf+$n5RyO(Mgk%G zB(kN%PhUN7qkv8V1jkjDYQ#nxZcU=An`PB^u_QJs2ezs z(^6f{>qy0|K+njiXa-{C)W9^00XdtY7{uW-Zg^6D#GboSVEeV~&M#aIDDkWw1KH#Z z;^O8c<);=7GuofrmcSP`+!knLBDkE=((pDv=Dmvx1KX6-%$h%_Ep=N{gUu@4XW#E` z-ymF0avL8LdhLNBE@hHKVh5PC-!mmQcOyHt*30r{fu>SER21JUZZLplyE@u@Yr@nr znf-G-mTDXgGFACe_m-pA^@cwAl%;UdHuP)x@M0%yME|=K0rxno!(VKiDHjCBnC^*^ zDqq40znVn%ZfxMhB$~1 zeOYBd!&qw5-=$1eG_SkepC1~@l70M`?=auQ(ga5&Q;Ud4be7c*fHo+~jb$Yr@@n85 zCGFW-UrwL1`{Rud#O*Sbw6B5`^}C&45)jz?mxtpU7gdz=)U7B^SV&9|8cZ!6e$FX`~9&Szh4+^yI#qv03L+q)j=yI5qnT()W0anu{o0ShPxIWv-#wJIQ z)KtmZbK-JfNvw+x8Qx149ICPp$h<^N5OKb)uX8#QO@EF4^jLyZLO-)wbt=j z@m}`o9dUa@>N1uxbi8T7aqF5LQuzn~ZHs2~a#H(~6Z1V+E2gwjp&cX&sd1Y5!L4C# z_2FP-{fHF^&1L%Z{)9%pSU2sqQEye!ky=;Fe0+3Ls!MMYgx^sbnl&Kw$J;kFxO7#U zusJJI)d6=Z!m%#D^J*H|^_m1Htog*!Qv5{{S#?2d*(EWxEbuB_CA8gB*DacNO`=wS zh0@wqclt5ZJ+>FA4qg}MREpge&y}`y;CL2`Y&~AuzXkp(=T%<-mR-(Q#uZr4cez;- z73HJRVD`sMC$%G6?w+|{BOz)Y?jE>FlR0Zc5a9$F&&^GA@)C;{+@$bStBR!UCodS4 z470+I47NPi1~M_#3{mLqE#R)Ry{Tx8>AJy z6}4dmOQ|{JWvHB~SQ#~IY;^J+(C*wRo@)DWBY3pFivJD~!5 zcb%_>DQSAjsKPrV$SHDk8MzpZ<(E6;*YBR!Y#%A2(UXbAvJ17^QXxOx-XD)4ZEeNm z(QluX`TSbdsYO##=IDVZ2TbX(&E}F$PtRQj#(Vgl3}wuA(_OncJg%Ip&X5q8_{0&} zhEkK?OEB0WU$GmTpesiU-ofC|RO$$NdTFwpUzLz#`NE^xF-SYvs5e#=5dMOZmzIX! z&Ic+Q_a@cMfz%tZmjV)8VCdC?xUstrN?jN4IqKvF04vXPWxA`1!)eOp1t(3SlV_cD zB8dv0kMg)ee>b^1ZoZKUgTE^xt2!&uk+&t&;l&$BT4|64ptM+Od|^Y zKy5|ihd000Ec%uB9NjRPy>P;mu)N2Gu+Jp8aAzSnop&s^-T3F;ar@~j;!nKXK7Ls! ziYp_Mpqa?qcZSr%mAQ@4!=+7tNo~uXvgR>l~u@q0XQ*iAlxL_eW-X1ZHtF{K#? zy(-8loImzQH5*(=74#pHN9&}dWB@B-nSQhsj{RH9Dyze&a2WfUPG0Rvqw#5Br~DU(|tyuX(nFe}S! zJEX(75s6-{tb7EugD^@r9NN>aL_B12^^%<9H8M5^3hMWq%}NOhBIRPSHH$0IeWG~s zyc2D5$FWz3o{oSk`Feb$kZ2gLyc1`pqOnCmd;Q%Qm2&X0yM*QzBU8y>RDC`U>&; zg}CjI<;+R3#M(muJu%@GRaHdsP+7?;vhyW{&OzJ9)ZD?EpN7Si8fe7E=uQE&J?x_sBq zmJ+)Fyp+B?P_n`*{Gds)sIL_nD;qHBS__1a2dP{vS1<#ETMzda`-zqQKu;^pz)7@5 zA)qc92&>%ht<*UWgdbq%3&7U@2JRFeSO;mofA3@3HDnqY9-A`(jEt2oD=W+Dg~oD) zNk~XewD2klR=&~~A`3~j;lkr^|3W66^xEV6D06BGS9F+Ds;cHvv(khiGb>ZxPU2xy zbflcJvafn2uL}Rxqv2e|^dSqHb^3 zmWrk*YfBqpO?B{W@Y{@b_Udbv%k2@|v*MK3%9gT*p=ZV|#@)-(-gVL= z_pGXDA^rWi0FTDT`<>ei5!Q=u1#Hp$QwPa|b6#G)7hL|+YJwITu;&b)kG3ZlKTC^1 zdpULZ$Lq|IqR_D_`pCJKmR6{)R|+c{$Jdv!U@5M5+`3IDl6C=0(cYN3!6tU3&_OYPR9%JzCarofjr3SvON%>^Pgewo zS3|Tt>{9IGM~}5eU7lP_EgjH2hsH(3IVCS)IIl*73I}U>`l>Q2(utFi{j zPG;m6`cL@8c-#)tLMt+$t|Q(Nl7cM zCp?|wg&rNtF3}hep!#IJj*1R8OUPYrw^mWyhB*CBdBF1p63ViPM_5<{?d{B^JtEKA zWHQ6kt{sH=L92ntIVP8ea)-sNA&W{`bRL6tIOf73w+KQrS|%AHxbbM+}S zQShYWBR~io@Lky;r*%Ygu}TIKN8CtV>sb*1Y1}ir&dtlE-B;Z(867$)JXrXgn#)Ig z?g%;9@M&-BgIzn*Ki(YnjV|JqqU5RRYd;S(nb=W#F;zpogsxg1U$QNu{WATEgGsLL z{6HQy45%FwtMLA#E6gr%D^#BRrQ-+9>L1i8DU5a#MGsnx?Fk{(K)al*(!N5ReM}l6 z4&=2EzFL4u3*jL(e0jS2`sucf1}T~BSGG`3w55>w;$SaKNPyXTvOG?IxBVc~;hS+?WTkANtSQhN*N-zqYQeks(h z`;35aCz5zfMXMOXQa)C0ey$!C#BQ1SqzNeW=l}*Bi85S7SafV681@T+=u<&NxP!2^ z8cytvx%kdJw11;NZlRQBejmGGyeufqO=z(40ooYqS$N<#&Fe;uYU3^?Cs1e>0SaCQ zkRm<2Ki46dge8f%epFPS2A}}T=H3n`{sh^gVb5n;RQZWTLNkEzZMjvO0EIw_O_K>} z;|CInGRjutOzjUQUTX^NrEoe}UaoYaTloPcM#Amd04WN0wZliY*^n2)qLmFzmf!eS z&PL;S6F4Gd_lSv(Ozc()+uLWJKjLy7btj^Kh__%LL^UjV8l&r;l_urm!?jO$`J(L8kUz21^+Ee} zs+o+b)9Oq5H$4q8Z(UGx{y)av0w}I-i58BKKtg~J+#5Fi8_f(LgQ z++7mf-Q8ty8C>4sGq~Tq@BM!jMGaNJnK@_g-QBC#TD_o3n7t8wTy}ZFmL#Zz|A;WB zv=}TS@YD#ONthkK0H}xICb2=(KN=z;735@6>X#?b*wu6cGx(^l2ml^d@NXq8w*r%V zw>`__B}*;)PfsoG#9I11}>`bf}7K9g7n92#(eK*`iiblqV#EcXs@s;nM{0`L-NpsE1X5H$24|+Xolgw%(+lO1uNyXPkj5a+j7X$2R za+<|;>G*v|sT!f#8r@5W?%KGt8q)s`c>^Sm+OxT$5$#9)=H{krkVH~OLhptU zXC+S{?nsm&`#XzZF#lRbsvL?`&u@M|7IY0X5%$X$^wA8zjW?Soz2f>2=XA10l@0Ae zxxlDRJ#80wJbje*f&iiyvunsI%fLyijyKNc@fp<~aX)M1%u2PIKIvp#bK&Fc+SJl( zw1dUl7Q{ZQ8H=u-i*@lBy;ZE(*si|8JrTMQ7WTJ&8*QBT2g#rN#VYsB9pf3(d0x_s zuusO+AB#P3MW`iu*mILrP#?Bx+oe*%m;zp~rIJTB$l zR#2$1shL@L#Qk#rG~;&8j#p!Aj_3!qCO9h~=fXkGV2s5!Uue+2#}*(;L{t&h~GTTaHUY=94^D z=#v1>11Y?q74~d?l38)7psX(uR4NnbI&$e6f75U_HhvL|YabWDm0hrOqbZh>JFBcF z*KN3WENvJapsS>I6=vga7912*645DnhDEVUeb^QB#x3j}SKpG1bCtm_B`7$ZKp?C~y0;A>`!u>&={{i?E zVi+`#9HXu34#q~(ey@UT2>=&{rZzP_VKj_@t1UaWoBQb~t`Yr;gs#v|Nv{CXF3E4r z+vVo0tQspzWbB%c_lvGDB6}*ZN0{j>Mj)zd#$*nxPm&vD11sOG)xN-3KV-_KDj z20hZ9`C29Oity^g-+PVg)o1!>-|u8(qm6(x%z&IyKXJoblg}OBd$Z@EN$LUZ zK&sk?(NTd=M=)J=xLs~E;8fGm(IIm`gL8PBB)iTt z>7So4j(&VxrM@Uo-Mu}M!0E`PuLoLTFo_%a>c2l*ty`O5@_>%%6&K1w0uq;y#QN-? zots-IXQ;Ebo|O3#R7OF@)!tW+y7~)MXw?GLR3@oLf%BBex1hpb3e$cW!RynfPx38b zu?!Bs_3tI;;_*4>SyFNm_6YrsLelu}kgPWbK7tnFQmPMMuddx< zfInZQ~ z(?uPp)(o1*_b*&wiW@+ME>0|0s6MAiiT9ta@u^sN_04TiKZo&k8ueM&m>bdU5q}AS zh%j!yqPigt%n7impUR}@YE{8RMHM$ytX~%`XKJiWo0wetJn;TOJ;qZ@Fi>hpv+6Tj zcc44mA@BGK!>}a%Tmzu{u#d{LKZR)n;q-6X(Ez-452F-wfMCJ!6K@G9oVr27Ys*p` z1Gw`4!ZVygc{C(!4J2ro9*;`C<{{Sr688wT9I==3K1QyQNBa5^3Hc~wlYOstNgXQa z%|8A^{{=9Wh3Bt-2=n?|X;eAAsPu^Bnk*4W5Zf#uB!ZU4E5t@|#lP%Zsm*-}RsHn& zcas3Qd1?Gn>~*yQ!y#kB8#48l&G1E3^JjYU_nFimM{yO=i}yNZ2!6BE$Z6&iXbjKp z52w5EI3Njkb`bjVgWFpA_xM~BhfFX*xMky!BxH_Lb(6*MgmP#0hzg*yu;zTTK|+CB zCJ=Eu%MQloQsoc11(?7rkw>2*=dk{jnhwyy0oQa7LcvWlXF&u~)DLF=zV4p^`9Ht! z_yBC}9o_eC(|%Y*PwrvCf31gq{a7dTi-v*niggd{XJGmSpxr&P3I6h*q`P8(plTnO zj-lz|ORZVO1DMr`Dw*|bmMt+iW&q=-bCZCMYsyRJKGnnYgnUT4AGvElpkI#{_I+3@ zdae9#cn59cU(f#T$6peB$;Bx*nVVulyWc&9nBG=6sy_iJJ2D#PRI95AHaRFj4!U?0 zMh^5Q4Qekb0OJQ(Q^k@3b+O6GR9@AS6#~eST(^hB(t@23hjEt5rNK3Q?z%}#R#nv$ z_3ncVQV6EPY%aY|z6Uc@gtoXCz#P`HUv@q0H{IW+UqnxKodeZPo-oe~Ke=O@dEZ{6 z9q!>e5cC$Avg@`81888#tbHjwfUVTjuuc7itz>IPt zr+~_9{|7Mbp&N&4Ji5>+bnY+Bm4++y)H4~aJ6a}7@}4B-TcBAl8p3(?9=bgm_}1Mm zCS&`wuwLBoP^!|Xd&B#9Z%#mrl$uKhDiB|`HK}MiSUQ}o2?)$n5>n}HSBzq5O{p0f znT8(19>Q(EvOQ({zl#a95-|#bEC7+@S>y$kbB_*~MKBIx3U(SNu91xpW6bb%sQ+2{8QIrQXaL94 zDFK3mO?n3wSa(f6Z;-=v{QobsTIfrNyvaD_213}oG{?CsdLpQpqD!LZF4n5qsGhPa z8;t{+H6afG7Pzt6$CjU+U65wwrMCb<@v(wNHE)u8tbX;XnGEvv`f#ti#}e33Lo}NG zcCJ;v2RYMJsWAP^uSctTWoVr2!H}3qGDJl%N#3F4>QI8Cgsg-}4oj&^ED$i#dpgjk zJ*qBL3OP%;s&d|)-ecKcki8%|CNB{XGB!4h$f>9laF!m3^&g%*3uI4(Gq%XWn3bjO zG)_eefX2!0V1nyq00g{+8W{(Rh|L?vY@SSSco>;xGp%$h4>qi|+sx^+pE^76yQ8t4 z+>vF(0?0nl%1}vaRLeeO%S3pxh5RLO>Vi^iw{Y0)KVoEJk`@p7iC!V%GUe`?AeBbJ zBqDF9E0Z?tqelkaM9Ff*`7eu%KlkcC z8&#pReLRE>Abor!*V!jE$;(aY7&#!69BP{)XHR?j^eOnzru(?YCY*%@hvloh2Ll)k zmH`^M0z>isxU6o%*N87(C^UMW?=M3tzsJXsg@(oo-`kUnTeNU1=3lYTa$3`I9&d!_ zBxzY*hBZvq52qx6Ae+!ufcY^;t}`YVinKeCYM4YnUN;JBIQ5{U+X>+@GQxa^@-f#} zTdlNWz!x54Be7F1TTL%LW4k>~=#KOi5Ao6a091uJO!*=XKLB%0g)G!X;`>wmAL`H@ zGXDXn#StSw4xN>9@BM8@RCU_=@XwJC5a34agT_WjW#O{OOM&W8k^`_{;&L3(5^xK! zTNB8snKBSE3jCJGHB!Q5eNlfiwI|PznfU5mXs2Q1TZPbAL7g4p(Ou(}Qr6bDQX=Q) zNAZHE?irGO0(a&hn=SsjgyRB1+jjC&{gVC;P@q8MY8q2KhD^@scDII7RX{ba&1Mtn z-K`Y3?~nhDDi}TL=yHAAKtv;)U7+3h=_a9|-?7Z>UEeWNRB4p@9W*tE=dk85^RO}W zV9iq_1G!1GRe66L(I4uc@v0gzeRe%%?X3sxsF8 zU1#E1Ky4<+UunSrWac+`BGp+oc2FaXRY3j|FY7oJ6qA$4?`NO~(#taWo-qd}nO5sL zugT6ChWM9@#&VhQ>2zdtRFt$$*CRCd*SNT5N}6}|m<&|hSzs1-@L$UdY z!!RQ!CtzJnW0aT^?tjIvM{rKDf7UgLiZ9(SV6Lv79>a53m1mays6oJM4ow?R_^Na+ z-d7iLBV4|^Zl}iLdxK&C6-^~N(s50^@$NmW`H%V=@+#L|ZlOT|cH zbajJ^2D)T=z;1?jrA^*Kkd3Tlo#D$_>pKe-spMW9=IkR`fu3!KTtmIA<7*p%XVV|G zSOd5_r_#|ceOmkQrWN7@uj!YUI-)Qg9I}w!{qBRvMYt~ky%*mJ8*Kx@9Sv}v-2|)} z^z7B&_xsV4f;ZVKtU|oJ_>4>pHmY+rO1aDb(6t_Pfs86)uyG*M`R0{j+ILnCg>#~K z4WaG`a5ZmPHxbysrn$<6(9)9ue7eyh`m(b)${g}8sGyw1CThFBwDiY(6=PAO+Ve5Y8Hz>Ragh@OBV99JEU$1^uMNN_|hS=3ys(Pi7xYSsw!U z%L)bu2V1DI8SZkBlToDrAyEU5ZXCyb8WT!ywEsFamp>yTqvmw3Bk#MIO>UBrB-V({!P&jD;=P~p$X$jKRSb)~SUWD+q-x%_;5hQ9j3gL5D+ zH5N`uI1ffn`&BD9B4{a=_mlvq9?jAyQ^92m)lGDoV#Q!2+lZgLcE=JBAz;Ky+2%3=#BCVhyp>n57LJ5`|NdT! zTWbm^VryKWa>jRTpQ{O=8Da;EB1(;lMEXohsF)}bP+=k<|niJuzI@2x>cFaf` z7{<*mMV9!q@b{sw%w#GTVp@4exE#ie*DN3;FvEptlrk@|JJ27MJq?0?xGMvIl9YMS zd*J`mnIg>e|LsgsRprFy*$~9!Rt5sSy9|8;I3{>Ex5+|#B_Gw{IQ?0%bYtxO`t=^0Lyxrn;!qI&dX+*mo%#0gIU0Jr%(&+D z^*bZLXw+oQ5c{h&5IADtC7BD%I?boc|08Elpx;$>Dy6wIV2e1+hHM(L@rBt2q zk78I46&R}J3-n9U&l<30c<$9fF=~zq{3GJ&egN56IFp64WoDmt400)8KoP-e!?2f_ zBqmYkbh3ECcs!hRO~F~a{UVYM{s9266UsB+AQHjEk&xDfZ8Q#wiklSQ<%M z?XnXoy&Sx-?+V32M{l!Dl0n5n%UJVYa+|Ci_js!5#``3=16L%;y(Th;HFEu{Zy+V6 zJhny@^qt!;G85B?zQ6jvIeB^MPcKi0CrbrP`Zxfk0ozsc2e!yKF`&bhLN=UfOSmow zTFN`dRxCcfZ|a_^vV%}fbw@_*BG>!>>HdZV2MFRLSJNBz19Lmy((wlm=bX;VjpJ@^ z_q3~sCx(e=_pq(6h-6*RoPw|!W0U-a``F|}E>E^)5UqrC7 z8N)e#4WS%um#RwW>h2!~S~Lot(2Ie3SI1bVe!W(!-Y`Sh|-KN+mlPvzN5LHJi(N@8AIdKu<=srKPUq7u^&vkim)fWqNu1nC} z>)mlAl32SBw<{_*=nuMKp2Xn@myaiht3c6?b{nBG+FNLG5@`9|*3h`YC6X|3|qASAj;rZoW6n z#XiJprp$JIbR^}xXy(1-xc|%1jY~c;lr5`Zix$PNU;tywp*TE(dfUhTC7H!P z%(AM-FfG<}IxE6#XV;JI+t!nRd++4^s7@(2vc<7>06ea;TMfBAJy)}fBNN?j>R6;I zJ)s$^GtMHdZ1H&XOQd&_n4AD~UsA-zu&_552IJHLyT}sD#NyJ3l>U_0AUtUuQ@{tY z?za_blD_9iiky6Ea;A8kfhoFW)O0>>B8VTi=z(^ooR-aQKRLD?36}xLON~HeAbrj; z*>S9dr{^j^)_JFp+qHpKwueyF?!fTY{!d!n$xwGi)?cZv$I{D{i_K8P{#-^J$9gX1 zR7Ge|l|!%a`ef-k>Bo=K^&uiApRKb2dw5k@1RUrm-1seSWwBH7m@diaLCB30s0~#p zO=VJmOG-X|0)J_y(j&y`_?o^%pzqdx?Q)!i8g%ItnlLg>k14|G?02=4l$2}jzuKV2 zE!I3Vw9ygTZ1*)m%yG`1nLW@`dS2>$H-^*O+d15uMTm$_afni^-o*o>_fI{Idc*kB z=M`=aYSY})i_ETTtD0$syn*VKqa;aqn-Q+ZKRefuOK&#IiN(!KNMjwto=GyvC5N_7+;l%KfJ_-w)h%+RGCE zhnnUn69Mo*X|R#ExP&Ct@ijy_HaIHKtm1IrNbe}mRi3Jmuj18(-DIDOr-?!@|1>}m z3VAC7k9tTq2Q=DOYvNt+tWP{T&66=bkc-eoq;e|*=ive;2xSrgYm+W6F&CAJPnyRo z?W1Ax{jb;6=`HC&_D*>OYjwYqqWD(r_t( z1_9TTUYuSYlKYI&DToJ72ra;N<*ZnjJYYx70h5iw=ET6=Jt3AL;Amak!y_;!^|GQ^ zm$kN2aus!uKb}&F^-w1D-RgX7xL8S!9RkvNN6X%bx=iZmN}j7Zfd(LEjwLYEGqB+| zM#a-#4<N;b>OB$Vnp#b0q95>YaYZ10RvUl&b@ip%F<#LDJbdbCs2?A5pH9&X^D1Rl$yCs|X!9Q)8%7n+H#&c10HQ z__EA~Ho9Wc=qe7~qlEz}&yCSJqG-aNGm7!=7>GEYmk>&%n_)w?+jU>0SuuLQEU zkc_Sdfpu0*0Xc*;}E#D3&Mt&soYs;%GTK<-zZKUbYZGMM^S9W8FvxwR1FhDUGaKT zt_y>Q9|&-)tqf+MkQfcybUCJM#FY&JfAa8b18bN7mTA}>S6OB0&xYSrVs?5B=DCF` zST1ht*Rlt8;~|dgY36& z02l}HZEF|2!I+rz4pA4#2dk*mE+Co7deT}(bGfOmrjWX#^YhMB>7&$$x`DA#>?AzG z9RN~tMs~k0p9jzOx!|vF07EwtEyOJcc{N2_-b(pzi)+?i{DUR2O32yzd{wt?lT=f~ z-7IU+LVt3sS!QO>b~zavv;F<_wDE?cLz(yf?fnXeA;c#(?S>vb5vZ(Kv>-`Bg3NDT zT=8|EXph|}BsQKEh4)|;Cs2s$O(a@2$|$V9sszhr$sAPMlIw^QUbehI(`L4qaSF3V z!|VNxJyJI;#k!!UNt9}iEB{UzFdVQcn?n|rlvD(B!5Ik~o3w1hYQnZf=tapW(9 zs@=PE&FfVLHavD}=$Che{miQg65edGUR2PcqN4J@`2-eNteJ+LK1sMXJGr*i3ryQf z(!*m@vl|P8wl~GKi!edhYPCN>sxRt{%mFmMd}3l@+4kB}!t~OxO?fZI@mT!lW;h*Z zf`L6Qv_HFGl3rUai{M70f&+)mGurIZ@Om=H5H-oxoX`Lo1X*~~L#G45O@6DmDGt_D_I}NVyZTz)%BN(U+GB4J{G_EQjykE#j%SJ!%hSCGn!->39U* z3156r1LuPQ#QSZR$MiD{f3rviL)92=cB21;)9M2!IsoGnN4vijKB#SX9y(bGnkPPkz1)(cI08!+cO9CJ7nR+YWoV^s^y<<7Ed9|V z%d+^sy|Pc2?JcY{n=(2jFm_Hri-A?Lh5?r@1=Aktwx_cg>JO(g3A)(Ya^eu-6$cdt zg|oy8=*{45;D%K>dB7s0SIg^$RBKG~C)3hj-o#8U^_)sgbe{)Q;7bDL z#&*y-QeBEY7Z8&j+fm&_1wj(f>kE&U<^bpzlKyzDo_vBT7N)?_GBsSV$$11yd_nIn zo0&D72U58OtmQaSWDC=7B><%>J@xLPU1j1!(bOGTI_Xa^a#u-6LJ98doSEiPm2CT@ ztEnhFczS@A%3(@t^;ipVbqNJb7&dcQ0Wgwgo3NC?7F{2Nn}MFz0B|fA4|Kjp`18r* zW|cfT;7XEHkySSvq<6U5AtbZYKdmWW(Mwto2>Tn0Y+I+_k&_g%{sq!q-@*osl+A8Z z(R}|CiF|Evk3=?wX>OXye4xQRzNc4=Q8~B+g!H!n7?eOA5iJ)eK&<&5P`LeumVBk} zGX8^J;m1O;jAC@uh5)IPN2X_|3a-gMI$_^almyGBtxBtHukH31(RW-kHt68v5~ad9lSC8F{>Uw&*7b=Gv8nN< zOLo(}p$TCxmDajZcB{fqJT9q{2pk1^*@ZyZ`LfAu0YQ;A)9Uwzr(G5iL{mV zZ4Z8J9`wyHNE+uA5*{1BjSruVXh1-hJ>e2R2n13j^YVLzmowDPHZ+-J-|ZwSpAobN zXoOyqIKpd(j9WQ?#83;dQ9QUq4}#X$N$r(mZOmXxOEs9R*p|#0c2!*k`vX&VF_)V`KXRn35kkUl(b^gCgRY-Qd_9cOXOEZ7MwtmZ|k!`s>vHIByw;j7J{R|dtso`V&e{v_ha30-eD8W9P0g?q`t~=nk zwEU=v3A_6b$RV7c+++BV$1C(u9WiH{!zr zLd}OqBlxpgpW`%fc*b}*l6NQJ}kWiyC;!gz!~y!cRm)oLcSh87U8ZVD2>hg~syd0b9g(fZ3}@K@r5-BK;B&ho(x5BTCg{1|n#SbN z`{{A*u*3q48QUq-xsG7u&W9S-J8Y(*`yX1p_pUX$@wa%0fV6 zg+4w`!Y^lXm@MDDd*$pzT4T4Bd0B6@$YEn^yW_y_(xa>{QKL$AGilGCuni2dxj1%z z1k9vuPX5g|P-ZOG($*HCklz+xxN$}-85^_#!W*O`e<`9=h)+S0+ZGf9`qwB|WfE!S zAC}iJA&L}_cWG7gt0rT-c;s`LI^>YdmX`WhVf3$B$V_N5UYSkpCkUMP^lT{?n-!Z- zj5+O=xV&a`U9-Es$(Sts1k)Gr^X`ML3s0XwCUJnzNMY(WHnm23KM*XN48~;iu(@L} zZ4|!>*a5J*NV}e`mEv6(ScW2VSZ1~ot;T#bw8F{bK+1${W|1~-scW+Y^j}3ur=a;%{g^bQBQ*t8A9OHj0wkvY%!^CTeBB`<6BA0_ zH848byHNrs>e%%1<;(Xp8PbYsr(y1`&CMv!e0@zmEZU=@p(&`%M-GOn4|my@{Je^6 z4bL1Ce33*Fv9P(knfa_AhA1GQ{v+MX1JT#+Ye#$&HY~_AA?64)Az{;MhHOe>XQBvW zD-s3h&T#dNYY${<6$$!u6M0@}1``}9++c9!`RXbjzq{01ydCY3C(vK=b&a0-> z1w7Q3NR5wB^)zT!YeGb884b4i%go;)Ff%i^w8gi6J-_AkQZ2^ARYwZXR|8@;@5%Ztg6Q6DHU=NOUC3t1l|*|zMxQ| z6zG|x&$xgd9tuu7>>SLon+CV9_ayk8C%Jz;6Cf1!lhp@21jIjBF>dV*Xx&`?m2t;T*2oQm0&EX>JqX)sF1aZ<~@ zG&)H?;*HUs3U3DOd@x?diUdw?U2m(^N_$b;B<|bLq_7Ev4A`~*@--?d400@Bo$|dq z8fAphloL;dd_2;0JnvKgHxs8;miN-y{S&!k& z-hpCU5_<%dyso|WYxfJC)kA$j>%tl=J&J>EH+9_9RMo`+8d$vDx$(-VDVtOrlgrE8 zEof<54Kie^K`xqFHTlZ8-Qg7uZHZ`mbV8(g9U^0}Loi~Yx3k>T)`6X+<~U0M8qIMN z%I!?ZSnw6C;U+CV<8gZ>?3<5ewxm-`1>Qef#IsmWyQ@u$7`cRqbF9OOFKq3Bw;>cz z`s%;tjedCwLmI^P2uzH6V2K{QCa3wahP=s0#)JBeV_|c!kMas(tJ*8w?K6=d^*^}I zH~3a^BX?wE@)tAT!hjifRVf35S-o2W8~BF}dJoP}q;%$RZ0#V^tTg>CrNf4wfhoch zRoZwpcAL-NX=%;gj2MS3AA`e{S#ISROy^`PkJ`3qOp8Z9_Ebh-EyRE^+oQ?pyVNsiVu)>!H_lDOcaLX_xpJ#E+&;&YPJPorV6j zw|7QL=mJo2e~ij4YY2O8HbzmXyA>5&q|`rm)^km^=W5C!upL?4UDuirC~yl4yJ@f| zFE8NS-g0<9bm+6>ukK-ZfHkG$N?TDw7Bm+yhB|ndGnHh$w>z6XpUkzpH?8y{CD$Hi zE(fjqVBm*e88HVT%5<@<)n_zwMKcQWl+e@Tzli@4vS8^OV3^9}L&(-p0Y zT1dw8`XT-B>&rh93(yCl8(zyMbxrvSrtNKx?7CGz<8XzD_y%*kLWsGrn9IcP`8oM(?C9UfPXU4^*c0}|zXVN1 z+0sH!F~!|}c(ioIQ7hr=*~;5_1rf2b;=DMBYAUWy0v%WGPFt33P!Nmj5qW%b`K8w{ zrM66uSoY=?85K8ueYf3Q%|15}!`;i-vQf#Ovxw|ImSk%_*(GoOzD+{zN;~!fPFjUl zRJK#p0oA$Dcv;Y%O69w4am;s6)1^iv*LMtXs8#$yu0Dxx5bOWrIy~O_&+-}Gnb>M;Um*_3R7&y=sI$l&QzdD}JN^%`k7MBf;DY%n4!9{{jyM2!&;&M(rX;iMzp1;Bk zGE7PWx6UV3+$Jlo?$KSy$Z)TE1<}XFUF5CA@$cD;R@3*RyZ=4ube(8nT}jQ~hCqz9 z%DCA@z1BfOKn3xWMr6&{XMB!W!6%9**@Vmfl)xYZ*WS3wkD6OmwY8=xQv5RBo%TN{ zf6y~FGZylD2l#(9>0X&qoMKScR~Hk(!KaKGC*0WRQw2p(|5;U@3$v6l1yaz;r?9v<4smj1A@@-UXHAPl4b|!# zPG`)6#Y@leLBNW(RJGF+vht$-$$V7IOYk?k!y>^eFr}D;h>Wpa<5+Je0&>C3-&}x( z>|w2V-{CANUQi(GlA-=N{*L^~nYcUsDj5>O?5w4`qF$o${W&PD`NW2*Qrmr#RH*rD ztp>Ye)9msX<2U2Bki(N@X=gMdQiqcstXCdR*|aFaUJV|0!(WrspZa5=KVlmxh~#a} z!87jvyoR3}Nv{7kM~>tX5)zJqjAW{eJ`TJZ@%XH<==Z2-J+~L|NHozOO{NNR)m{+z zS1{s*2X^NdPaX1slQa=ekX-EZ{V@R@fn(^3Mb4Xs`{)%+fw zMY}ECE#p$`pNBVQJ`4?w++$eZ4(<=NO(Fk70_Cy&lc4p#AAs<$$4}%1aKEf<3-BNJ zNY=n4xdcv(VBo=&fVcb*hv+WI%c^I?3Zh6D>?O!*c%KL_}kcT zJvyEJ%@AI`WJ(N=+;0{NYFp%kg+lHmP)JqcO6}8!!=X2n@yx8ByQN&0w+4#o-#Q=D znq7L(Gnp5Oml|+!VbxM4l8K(7c~$FXQM-i5#CXz9#&snsn_G%=2>qQ+TJ0gfmZ9dP z>V^Euy^LMTq|PbOx7ZM{K)_+-1&Ss2UQ%QSJa&6octCov9Ja_`P)lxNlMl({=STjq z>Qc?u4yqv&nKmVV)NP-^KblD>r<#s=q++wwkC`3&r_GxTuH)04M$G5M1VD4D zqZ)Zb-&*r;?o#T!F?QFJvMKuPj5l;bscNTh*%WqZ8gb<>>Ckxlpbd?M=zS}nI>$|D zx^n$1Wo@CmM_*K{-S`Wonah9DXAM@1F>4e?=j>_KG9g~u@XU7r=se8n>5iX1x$Llf zRm8>Nf@n(@NEBvff3{K;1{idYW25j=tGN5cfzebMD=@`7ZKxEXbxk5_3DPmBOY79} zQC&=86sb8VGchU{oBn2u6}r#k^BbtqJ~hI^=D?~Up8>|82_6zXiAj~%&w4Jm(oVD^ z-4zg!UR>r@02A7B-+i3SB>}bzF!UBRfz44N^@z3JGr~6}WN*!z$CSe|+s}DC5|hKE zhsADlOd~@}E$dxbN8R>Rb#tom+rKAv0%6mTcp(K}PED|!PH+S;eAwiqrBP=oJaul2 zbrSG*l~MhLnqm_Y(8M62Mge~(l+s2{3Mwy9eZ8@>6ATksBj4AaZOX60Pn-(zJz5V9 zPe?0pti_i#N3ve&K<-d{MwOO2Vy`N)lDd{L(%Pp{3t`B{pAZeub|p^DIq$x5nN+;~ z@{6ZT4u3sywpKLbyj(#OR4IKU>av`83gz8mGM6vgF)oKS&1(?s@9N{V^FzFdRXzcL z>AV>9IdM5SHPh)CPv^Z2%)D}v!DNCOrk1Yy=mA>%*Si+fL}YfB=v;1G2;QlD`$qFt zFykjJuBK8SXsMKv>@#i0+SWE`k(UVY@nw{yv$^=d89Aet0}E?234=-Y*#DVpe>p-S zrR;F@AlZA2q``~*jr}z9yW=3ClgoI{(BRpKWzh3_!Cxd*A8aBpW2+pWmb}r)E$csI zpyo}jtVD{UQjt$I8P%-FJX6{EJn`Ydzy30eY&206imu(Lc9}ohF%rN+t#hZ7YOoU# z$SIX1dcEQ9`7TnD8KE8YmTFWLD9{EJUn~Jdn^Kc;=Lt#V0AAdKXL*+eW%E99W+jSY z%q@av+IjRibIAUYtOQw@J2VXR+FnsiM6xZ0UJ?IoLeFCCQdYQj8vA|N;CbTsQ`nl+m)UiAj+hxrR;1Frc2*eDp5F%+cbCIRgik=P`wLs-%ZnqZU z$gcAu$vyGE6OX^HoQ(y8NejU};@2+2UiWG;Vr(){diX*A_v;11yK<_XzlzNd=lJV? z9XWp@3BS-E`>%KuX;}gw!JMLARsM-{{D1uF?z2BnrbdkCkXO2Pwx@Q_nd6&am6Vj~ zPTJJIvtxLdm6c5&f-Pp>*PV~m3In~ngM(;0wG;##?Om<;wuKMP$6J*s?V&PW^-*10 zS&UlbY*k&@d;*t-ocA|2Tk;7CiG-kCJIDwN%{M()2^g!bkT6?HbN4G&E>G}-Eaod- zG+x=fUhmTw*o;~gczBC|`|}e1(DYlHV|6qt@MyjQ#nRW=9DB7gAY7Kudn^yU3QA&m zCehS{Yg3q-)%+P=k7)zMCDgJd~osp zJb%MAIGvrHeJj|14yez<|7bi!SjV`BU>9W3Tvj8=NN@KrCrl=OZB_U}a!9BhZp3)- zMT)y%bFGK&N~Y$gr9|jHeBf6{X;O}>C(=Lc>*e{lxVV5OHU3mZ$hWvS9G%gC;b%v; zzF)80U|`3a)5${c#RZHr{~N`zXb9LJi!0PUBp81E7TJF^H_FtyM6>?lCyRbg4u%&n zi#Siccm%&|xVsz2e7d~dbuW+cf*#=a_S|lxv}o02ht!|`7W&C<$i%_H@$quBy3OV( zEW)5GxNd(&&S)YVInmR);$Q}LuhBaYqc0jeEuWdL;YE1ndrA)35CQ%vg)Swz(lx_% z>e-J#Ji&{pvHG3$lhqVaGlBEzW3R_d?k`@xtYCevcEf5jgI*dGWQRw@?zV!73O1Uu zRHSOwZM;l7p{K|tOdSh7d6>`T#PKW>OT35gEl_VzpVcVkzFWK5v@q1_RbR;DGCu>} zfoDf@{RsF^-CT8t1(Uv7q7&D@#r|rd3+c|=oe=fkdrJ)SKKVAgqEiBq*RrosG0<3O;44; z{O3UK7Va_;nT-E9O!R!kq=GphFgFlg->^TvprzxWLsn-csuw57o|=SkAyS1%H}PO7 z7a};|!fy;fB^PHjcyqYfY*McCaHR4@$$_s9mjtxWSX+!7#I2tBZCijny_^vOYp%D@37%hW; zZY5Ea4yDua_5P&xcQ^a6ZU?Ox5Uwl7@4>a{d;Znyq}){Z`xO}A{5k2%vS`?~gVPBj ziqV9nIvG;Iwt8S$IP3!6%s>t)xvyHKvESZU{%^qcs!Y22x_!?cqT+eW2KNGC^wKjk zGjrkBO;V^GBQkPm=*8klFiy~LWn+aX`Wx?w!VtJ zBnwTl2`5`d@j3%wfnfWt!`3lOO16BTr=Na*iVZ#^Y1&v4(30oPHG6QP=Oq48uChx%eH7fYw!Q9FmkH)$|2z!q{`?&OV?B|5ESjfTdBqmQ`C@E4gD(HOLU+RFAS;G?o>2!Oz1sctK-hRmz(mxJnEJ-96_6z-RA(ACO?iwS3 zV}u0l_7vkeh>R_~cT2(w1BFyxEwh6&sZKJ9D|mA_OSiS8aCGmGMO{KtfxvKOLxbZQ z_hHWT%lvL<#yv_%smb-j;KyYw|1n4KfreH|iYB+oNK=#A1T3$=_9SUW-5+jaZLNTS ztJQ6kFQ;zi&4)61A!17#1y}qg_p_UMdxlKLt(o$;soY~9pf|2RCVSfvoOC9q5)~Vk zI<(=D9~bT}lhw!~HY=UzgNp$iQ(lL^<#DN{AezRdCGE+0^~RY!gf(Nc*JJCS*1`n; zE}M9sM2heftTN@@7RZNxd*)c{uVqqYD***u_4Fj!@c!T|R|AgST{y-Ye5)~2wcD;vT)+LvDTTdAkl z?xXYXTM`3{r$CFz+XOC}86$XXZaxJhGSM0}_DZQHRJ!#AFK#fSfips@6OK7l;it*I~81I7zb|R;G=BPNR6!!)@Kw}wl<1UUW4(K zR;$txqS!K#OUACm6)qD3I0q~rH4)&`S`W#?bFX}%(%KGA;cM?Zo34GQv)|mDS7FTc zoJ=oJCE$&t0RQd;I55#$Caryo>H7LQzoOUs{saL~h!RYoFwGwkL-+FcH!^Xd7SdQ} zHBnJffm~#OG}8?&N~EPyWv0u_O+5nk?iw`6JX_;DuPG|b)ct_* z>|lXz@m$w_cT$$m_xJeyV?Vg6^HD^n*_1F!yJ?u28BWVu1T_Qz_D-|7)Fih#jvCX* zJ6Q=*yQZ~~D^$*RIN3J7gRWo15DezKBHFNS52k1lt*BqT8-9usLpKZb4d?tSzuEw?vFGnnsIS84cJsVbsuh@C`LKeE(dtU|$xYhYf z=bb#mV>GzRw~eMY8MIp9;~Uuf?F9!P^2^b5eB)ZS)$E)M>5@(!rg_27FHPgp2#u&% z@$&q7Od^9{L9Jl|hwuBFOm_R-9G_KN7Tb%6)`^j|%#8NrHp9Tl;2v@H{toHYc4KXq zXEP<+gtM(;U3_n?aKIy_`lnfA%vY-)Fw$RE6o@b^1^o1|FaSvr^mvlZ@*z z{ILnf;W|rjp#MX~0tbDkWQO0ILwzy1*$ zUU?;mzQ5@ZHQ{_TjWUd8Sd&uoQh@jUE9B)B@<7$kOMlc%(I515BA6PE9f3ofqF;7Q zmW;(xIS2|0PEdR6lf*d%O=#k8na~GFCIH{Rc_okSl@QSdN=ezVCWugFKgZc`LVn|uT4 zA|P)Y_=64ALGagF`?V^hLmy%9;6 zN2V0b?0@(Wnccu&-@X~*dkPKg_XU?_OJem2jrxwiJ{35ye*3jX{H;R&o!R^qm%*@y zpkUw~w&%?Xet3L*KxxYrvgcJ8&!f&x4(j^C!bEft^1zr_y8hpPj=4dgCR`Y-boJ|6 zUtbRu#&drGUhq(A#lt!LJQCSp?|rxcg`e&kc10(NjG46QsJvdNT8> zsrsZG*57}8BA}?P>&}Z5@0ec|3QIYEO-A<8ayYS2DZdXc;R^#}DR7c^`UeFSpS%{X zHt}wnQwN=~`^}V4Y3;9W&jyArDXJ3tNh{QSTl?fRkixDp>1ljsO0tziF-JuCQ{W&^ z;3ceet7*x3elrfgxsbyh+L@)Ovt#z>^Gd6LS>4!J36r`b_29C>Nzvpcqk`bRHRHZJ z^yB%SdVfQDwma>;KA5;X9&am#LoJ%AHqBl3Tdn(074!m+VPbXKw(Y!3TPn>#06Xc* zjplhp38(bRSrEX{eT<7^1n`QiR-pXQ&2)Blo~m@+*mKm$_My>eT>0+ht~jL3BOl$O zd{BNIHt~smm7-j=NcmRyXH{%P192qE`h9E3w+rs3%n7WrVH3LW`HvMHhh)XK=<&pw zX8$9yV6%OJdiijx@~6F7mh@cJEF3g60GS6J)W7RxCm{N{#s9b3q5IOy@1;g@Z5g6P3dgj02W< zL_{!iq0;hr?;;bmXlH}lmX1CDgjRO3c_5$}0!qnj3Wjmv+#%+v4_@Aw^f|7#XGaNr2Y z$b_TwWb?>@Wm$dxDkedG!eN*QDx%l(4a{9S01hNny5L@ZmAK~MUe3&IoCjb4FS%`A z93R^pd1`rR_Ccu)>|P!Z-`}RmW3O9w#QMN;^8=J^hQ7S%?tCRIz{bCA7Yf-8{jxBZ zaQ1qx8>r7b-41DxQAz<1)*n@E!Z~yn5vg|eGLG%p3j)GKpovAwc#Yz<$K_BQEiF z!kp}kB4V;0mmOSy0$IN%{JB>YBzY^)G{i(c`Q_Fwu#SIj&MV7%dHd{z5O4BKof|O{ zP09YD)y6`G0{83PpZgWKND~6mTvfu{!BOLTgApU{wWljENJ2r!w&8WIxE4em1f=8( z84=Jrj~{zotY#vFYe}am#?<&G&ahVUMx!E8CC$^%jbW=uR*SEC#52Su^b=$Kah(z<^oZ93h$-on z1T>J`HU@4j-L8&!z8`2o<>!;vC4GKBhQZ%B(G{B*345g9jI1`C9Mt*2tM*JX+NCCL z8rf`3+{#az6NAqT~yp7WjUcu4Q$!?A)kZ##-ykty*gw1VDroulSOS9m44$!pZgH{)qrnT5bp zJ%9OlxaEE6T3U^&;=uyuO>lJ=H!;d)exjH0UAtl6XZ>nk42rXXGIM zQS2&}{;Sx{C8VI$Y)TXC+~e^;5Ot-1&;is;6CT$g=*S4W_n4weC`d?{#=E-79HjO{ z2~4c4P%SOhC+tXk#06yl>0L`)x~vl|pwRqK%l5y?F4z^OV71{fo6UGyhhJ+>&5Vx3 zYHL#wU6&B>>B0$z{l+vOd@MA&i8tj*8Dddz{4R`;NFFBr$Y_p8T(J1rD`w)(5?Wv1 z;t*OgHWA^m{i!?ePzR0UQzapuUHZz6pibT*oVpkXxY%)=fK6Av)7e)>XsZn&~??43|!}A~~+)ifkt>Ozr{Ge8$Lo6>GSt3sPzIcrqXBpB7=F zxa;NdOvLvVA9-sBtFD!Nqg6{JEkdY#>!`r~M zP^kpU?B6WxA8WF}?~%{Q_LBNqv$}dKVkc`RCtNaGA#^Y74o~g$c|ml)l}7gHE!dMQ zC^y9ezF4(Z#?>2rEANX>s%MU1U#vl^FW|g>|D~0O&p}a?Lo;BVkr{k$Gc-fbpPbBN z-W_L+a=7T}im%al`tAC2iE6n#k5%H?6v|X%Es;ctfD?NDrU*Vh{+qjNQhM7noEP}) z&nRPQ`FxR2It0dxQ4l|@bce+pi!S&>tCng$NzOTMpr9Sesc_86kH03^7;tB8iX{`% zKHI#%#!c}!dz!@V-WPXQOJxvxp+o;65$bC@;SmP2@EG28vm_yv>(?0OXKJ>l9Nb6F zN0VCH&auvj*H?u;fJFJ_a4Q=&?SLEReB=3ec+E3P3L38SY#bR&qKYv^yWBE79_v8s zh3pc6es~-vNYAT&#;M93QbMUgRd*5qqV~^Ci4RTnTnOQB#c5+gTN3-VBh(?TrPKvw zRpFmGSelJk5!x4{q2pPrsjyOEt^L>zKO^y<7j^uQ>Htrvv|teKXoSd|ttNG#s<2%k zb=zh1%@oq@BQ^o)>2u_B3tq*yX3=LVXdzHfp;mk_X>})pH~P#xRyWH{4y5s^)GG1@ zDwxaLlIp>Sog4REmvy$xBkot?KPoI~e(0vl+-+jP7pQqs?El71gMP63)+!erM-xmu@X+}h`RaAP( zt-}Cqc%E)h4xB>6^n z_O|Cm`6aRamaMFf;_)1Ck@)exkDuT}1bW$S=-6Qc=l{}R?SkM;wW)ttt9*$=KgI6$ zcHrcK6RdSXX;l@|Ks+Zxc{zQL2!PiXbY31`Va}8xt>2xRzrbSim+U{JYHl_nYwZIt>{b6@69dEv4DA1B_MJ$SiTs6*{ELNfQDvTgJ(CLA|c7 z4yb2ml}Q-E9EwzG!F6@YK`ynfuL=~fSJ&1HYKAcrk;|(H6g7EhNjr4U2DTasf!OiP z^fsn;Fz|xf9_J`K!@Lsjzn=QEIJdGxsrQ0GPaS6s^ga?EzZC{_J>Z}*BJK3MT(9@s) z)*>Fq^i+E(oQ#5EbUF9L&_q*n!DzOGYr)mfd}}2|(`gyu-V2>t4f8e%;&dC--9at~ zx*+%*k@P9LpgFG6@IfS==ppo%BHi6-XK>QK;QOJ!NRejsT*;Jasl-tyx|FL&43-}I zqKGG$=Nj@TmS#KQ!2J+u{h^{OYqUQISR(9B%PT`%EK>FD_Ba<_c@tHMjs82}{*M6o z<7F-Zul9I;PUiB^1#6HHn4I<{HllVF84pH4gU1S9qaX&D*+N| zBloiHUx#Zb5)cdge%V)qd~eWn0uUaRDJdyp7jBShEau-&>bBD z)Lkwv&L-*Oa~yWNpD1HdJ{Ji{%3*W3WgVNNINVj?O5JV93Gw`cgLG-KY`Uuu<4=4) zCM7z;`7h#f6Cf@V8s)Z|n_1wVnjclI<@!(7>XxuhW6fAu+k5%5bEHAP#mC8# z!d_o;xYGTd-TI$SmoZ3+n#U{2X9>4ze^g8Px(|BdncgRd@D@f2sL@}GXRF#BcP73s zcfzX5&)uz@e?~33yR%0`#tH=F1>WQ1s5n#ij1eUy1OyDDQ{5c)lG`Fo#ugUvZtkXA zwgex=1oX9K(kM^*O-r7d*9WWo935`Fquk9)*ve} zh9lyK5&C&j+iNa}V9f)h$k=9yS|b*qo0%ZU`yz#;lb9!>yd?!W3sgAiWo3_EQ#=Jg z+O?#MSDwI;Je9&`je{}Nt#YC3(x#c{Yct_A10J*RLwkb>2#&i+ZUkRyG;Ibwujw%P zkI?&%eGU{nfcV7CR@Nd+U48yLw#&P!sAmwfXS~{)@Ev~m>5wfPCkY(mfK-j5O4%8gVCo17jCY%&~ zQ`e3BoiW!l--Sc1?5Rgr`6&#`fZGlpXcbP0ep z=+834Uzb3!p}u}cM2uc5nudk8R^SB{NQStHT>4riA+Ur%HbK=yEKn@-x|*BF)mzfj z8Xe#fVc2OV>P=az@3&xZ2e`KGrEWmvC}7$G7Da=TyWyOT73 z4i67q%_4g7Z^lj1839moW_a8_YoJBqlT+Z(EQh*+<8=}s0*qcJW}_N{`F$zb;S>b& zvio9zTKT$IgEI=*BV11JTiY#q?vgeXu4dEQg*T5xJB(v3=0mnVz`?~|Zy7-$OHj06 zbs4IbzA@)mHuMWkKB{%(=>RAl75m`?+K8b#m7o~t7ezt6Vd9Jv?_}Oq`Y!=!+laVO z2wv&%<@L3idE#Gq@c)=TJY*0gfLKN~(x5-I6l0QB;An7DlD}N1dU(Ul0+1lT1nnVq4+$ieWa$`aaSj&O0Y7u7Ic6Fg+(*&lA*!z zAm5FK3gla#>KiH8ncZ!jY7&m;!R1@7PI*#BtXdWCH3z3 z#o6vvZ`@bq3`2dqe`}LJ0{@*d+b6c|nu(1lQ?+Q7h zEtuhbH2&|s_y~qg1b7cFq(Wz>dSRVA%fGz~{|K5tUOFayNYvW+#SuOz6 zI#O+WO1Ia^&k48=cCxk1XKKdIc>%}G%;ff2C;BVHWHq%rj#+CA3=I3!>%4`l?6R_N zC9Znr0YHl}MBT0s;pPy;oSY-Zw8!$K-J&=n;(J~0*&B%-sX3s6<|~} zo9lXT1I?gSl~{C4B{R1nxKiwOROM04-ptC>NM_Hlqno|G0=P({k;To;J%kYG%M#jh zfTXRJVJ^XAsjwDQJS@w8q*zx+^$e~=sr2iq1Z4uaC`#xcLx>{sG`T}I%_D5hXSuJ@ zkVerwfNiEp5G)&1aj?oZ&HCF``(TUmz9Y|eSgO9M@PFZk(q8SjNrT z30_F}00Y?P@QTANLH65YPp;pgmx9jDfu>(vp!!$U{xm31XM1Bh5dt$IFPUdHT>uGy z-8``tZ3SnNPzY8!0B>%qnpc;rr?w!xVrCXJpG6Gw^Mhx^TdcBvA}c3*avdWhL(%Ss zO+Y{xHKq80F;|MOB1J^cSS4Ro-)-LBH|iB&16ls|#k5e3>LcA&bD$W)_*`DYjmZ*PPD|LwjDnQ%LH(j5ano=v;8}N3R2(52)O*?pU`|TAG zi4v8}(cXnz$jbNj=I*>fqc!XEp|D+YUvm|URqL#{hn#jL z2O86Dk@#l|uXFu-M9dcIWEMF?QrUVp6D2bX%|L-@Vr-}7?6vv~mGquywc*yqSY#|uys-9L5^&!v>4r?IA5M@r_iyp!w7qD70D{( zCOFEiyV|BqtEgNtYAq}xZuN|fp=dNX2xfLk*geC)G`}>yc1S*}$ym(Hkx0yEDo(D7 zt99KNV(8W_{!m#~v#ur>I(>bI%j59knSr2SC&x$d9k)BE`HZ25z}S_fHFehWX5@lB zqN=k{sdyX~&di+~ZckL`1J&tt_^_#&crOe0+0`=pZzrCYYa(#6HR|2nCJJU=MqvbJ zBK@?)J;72`2WIlv;$}48k2WMdFX47I?i>I9SsV_Ix{V_lfRh15^RWS)A zIs8ed6^+^#|D@BF-X=NMuDMvIQ1m=-VVivyK-bXRbAc^@4Vzz2*1Xjy@hYeL6;|R9 z5z7TL)&%tIY=P3@(-)W1?P7tB{tLj8JZ|~z5nxyeVqPp7g~-fO-YpV8}w?`Dg`UDr&l7bI!P`Hw;y7 zs}%in{)w*WKVZ5ZUph~v=p2x0>Jfg3u2SRbUiw*_> z$!un#-N~Keez?S-^zg*S*a<7qmPy1_Gjs;sb`Md-Zzk`#6#zdxr@4H@1UPobMgAA@ zZC>4j_!cr7aP8jm8t>IEZi3FB&hCSWs%I1x1+mTkBqZf6E(Fz4QIO>Skk#6&aa0$n zveVEy^Agg6a(M(f+0lK6r zW^Q&`h@xPL8?KZ7$JDC{3q=}o2op5qG&YQme1bK7CYJ?t0WpXy3Gb4c}hbp=#|looi@k%MI)*ak}^(H#owwN*>f6Lxl*$&d&Y0dWC;9W-qs8KEw_ zAblr|tP*xwQld2L$gT!G@6XS!8e{}y=<6rOWW*FlS^7?k)wR%3(T$E6qy*cdPY*R2 zBF15$zZqi#)xDf%Yl@7?QVJEcxP$~~7NGeH2v;iCatUv53(ya<3y%Wdlgzz|mZmZ= z#XIR`5T9wXJIZKS02t~?vBa}=sS-ndNi?GyhviS`p=%9Xf-pH}+tEwD+|;lzwiWLL z4EZm&QylB@!~G2cH0KKls2mSwj8O$UNnKMl0IDD?zRKA0Zuiviz21%`HCnQ}*1>{_ zYovxtO2_VCxSKHX4$y>DyP+sm%iO7uoqn9UKK1IUDd?{BSjE|CimqAuOGP{ zCHbuni&>ta_~k;csEdK=DCP+z@fwTs_6Xsu$VYi82b}bq)aaeeJ|x2OM{Rij3%m ztDfTxh!=A2yCx25{g}1p{=mDIKG=rGX0gOAng|IJmjP?>J9}eOx9sQBPPz%}N)|Un zXmSd1i3yxz%@HqN6lBoWi2lM**C7Q~0eOjDemkI7Q_6o)nlIA#TD6BM4qB6dBTAnD zPlQ7z0558X3<-@WyQmR4w&Pj8102a)Jrx~2mD^qd9#IWSq*UZ&;*XjN@#?jK(gZ6E zaq9g6-*oBt8#JA1Ge-B+g*ir3i+6<8z~7;u`gGA-CJV2+H9M;z$d1 zD{Q`DD)%3F6CyP!&egj1Oq@$G$}OsRPhYuL%+^i!R;(Ac{iYt{j8ECxUaxTWyF|9psyXb-r3GJ5<4gYn@=k` zf{b?ZF69-Pk8+wtlDMD}*iZP_%J_j420y^L04tndrAb`quokyVY5(9@Hd!1u3n^{# z2(+BQgO9Go<#!(Q^E@sa03_CPFpj@1D|w8^^&T^2ca5_1nCL@$ve#R^-Ui;$0+2C# z@d7ma*UqIhWY=H0ZVsi1H0xy}*af(<7K_fVm^5A*%;*Sy5(seHcGjY;UTm%neOVX` zO{|s~wWEl{x8|bYhQ>%mQKcx{ht=16c^q2WbQ^#5-W2b}mR9kl=|NnmES2tE5vbIN zi(f5bI=iO9kiK?1$q}jB!R#I>LWhl_04)@cDM?jz z=0WR<4~NTw40y6+jJw~C)Gq` zv|7FP-&rKc{u|W_h^R0$&I*K%j%u_SqqY}U+Hp`YwgWh5%O&69BNfytn=~Mc2i-{{ zQOsMZp@qzda}6|_QGwER4R7}55$G?p`?1BziAGA73$@*B#4VN+^SQ*IJlW9!d`rRR zz1&;`yntz6FgFQ{*`{ zC-a%Ac+ELOiKt#BeSxfKa4kwYg^V>pgWc}9Xjr;nf6R7is>@5QhzR)`v+T3+$lI61 zF4da1E)-wO^bmxFyA1b%^Fc*d*AlNN+Hp0G5NueS95}&PWv`I^=1lfuqVY*ZQelBJ z0xWEI7P;Iv?gsw+C4WRBa#2qOnMh>X67sHvsu4;Bh5~yXx4t}nGE#Vc%Yl13V>!9GX(jiiuIbHQNHZ0W zerQHCFXegJ@vIHI0pSlVz?f{n)Nyhta0o!Est{4OidGzE01EQ6oWW&v`^p+CUfj>F zuG0vUH)!~lx0hbkEJe6~EI$j1WEW+py1Niox=6dO9FkLFU9T-mo0LGkm<`C|=Is$M zx9(BJy2f)c&eQG5$$Q$r!>_z5kS|jd(bKVP?v}57jE*+nS;-J2ehE|vEPdeo**_{! z#%j-9^j-j*f1#!Cnt?-@m<%Or1uW0~i%1fw&Ua#{5{d{e=r`9W?)>Bi4cqfGu4>&c zLU(VBIlF=r)1H3K4!V~TMBV*Tfc8!StCpUlcx>|i{3+0&t7ME3jl6Z0Wcz55C;#rM zpvod&x!w(i!GilevW$`<4L*;@xK2_{my!v{!@5_@6AW5dS_;1ivXVh~Ok`jB2AYn! z{-^?No_qzs6rblvy3Vn+6eqIk06F_6s4xs`@oh6{LENqvu`a*~WuVIgxr^)pDbwE3 z;!1Muoe4e3-@VhXCROn8QtDa{o~TYm-Le42>|DW@-gc zjOdUQi1>Tnqv=z8?1(7EU}sXFMri?z=qC8iJFu64L_52rwPCAgG!>Ys<{FPRaA*nM z;Zwssm@CJf2k~Do5vnb_blLA-9Cb&yi(4u}1Ip0H-gu*vxVWkHsSJ3oxAE6z zPFfRhrmzxmYC$TuGq4b zeIFH6{9l1}D4(l$DdVNs46BSRegf2g8t`m>i<3y@fd!Pl|*eTFzAe}p`5%e`)ZT4yO>1FUkOBYpojVzs^kAGN6 ze)7(3ybqY}MR6{~s%$pon`T@s8FeIKxBtR)DM!a~i&0QR_Oa%Z zu|ot9gOq8$#zIF{aq?9IpUW{ zpdgG_b0}ncCzxxRsLfv{(a2;WV7D+9vG!^uVWaN2?r#`zL9;Oqy~z~AeL z2V9XCj_B1EJJ5>Ag#s(qAn^kg9hz6qoPad9YYvgk=uHyg0kK@D847Yf!9^%;<-qug z2)3gdW`#ovCY-$5Xiv)os$jCAaM%OP%mC@CnV zUW4VotmXGt{C=0tX&$@g%O7Y^L^B=(#^u+v3FZ(H394riOtkdhaJd(n zj%BzT-P@B;DG5!kqf_A=UhSYCiv){5`$>9Obg_I>H)nF(utqU7ISdLiQDQ|;WpTHv;U+@aO5D~gDWeqOK= z;yJYIU53cBHyssQOR#@zPYRCM|M^UQzleHJWgUOhQSpO5*>uJSnynq3HPu^LTLT3&ar>#Z#w@1LmyY~XRiT9 zBoneX;*Nn~G=vR2&R+p^0aS!p_)FrCZXThFWn6hl?bj{MR$sR36KoE5vtNuKTMGk?wvgp2Oaf<5B7g0}pFgKa z8$7V;9lnoO$^CCV`(U-lg|pePf3tc6ntm@aeziZP8x*+vnb5GX!eU|!6GfTCwweB6scBi6$wfmP0a`J@}2SKgXT&_{1|`Gbm(N|lkE#0#&!(j~94e?w0dq)84rvH^ba~H-mOg zKLs5vKLi~jT#&bab^62F7*=%s)g#er1BU6i*e5n4bA;p7BN!Exi^WCB_gbwdX)58getVB4cd3R)=NL}T`$ge-%FD@SFB7Z)^YF9a6y`fmJa(LMS0BHneA^$CTNLJ zgLHHbOCxg+jSm*494;9=-o0!8E|GX>m&hVAJlu|9ID`d-6dCT7ZsO@&PJ4aglc>UL zta2+MH<|3Iv}{zOYIb`18ydAMamXSCc;RevZXRm?#OkpK6A^+`cl` zy&)Eto^&-=s9Kk-CX=9&(eO@|opjPczQo+$$n_c7{R)9wuab7Q5ao$2&Vt$_KP}ub zz=~m&)f%SY8)3^@tJ|ZvY-Aq&l>d_qLiNiXA-)!Lot4UCYekqceU%}Q0FL{PM39a% z$?O~DBzY(-P@#{$C7dkmrFt3Aj4Z|zU$^+>FJJucC+0ZsgD&uUR(#{`^7gaEZ#}Yp zPyVLbQSWyTZyIke8%RV*5vL4#Mfx$X=|v17Le{u9xwmLTRUd<+qa*eAfI1Qb|0|}d zR=p#o&s9ys+&psECu3*$Wsbu%y64EJSn0C;9`#l&{4_xKUM{WOd*_3?}bnc|h?b0BPSEKazRV{5bT)a0d%qOelP4RB3PlI7b49DTg|>_Xa!N zYuv~c*D6p-r#Q^P7y8wyn=7`Syootp7vPJUsTv+UKS|h>z2%?05Tr3=6(D zY6Mf;;5c`-mzO>LWw>#d3%OVt`q3Xv>dgM|6x{ry7r+o7uk5&{>~-6{UxVUvnMqOI zuk9c$Eu8uo6FV!hF#{u9#1APZ)~c@2I;{Ka9$?w;83nV&4Fbmxf6LmJH`Stc)nJb;R`a0g>V)y%PI#b3{WD zI_T%b99ZWs&*$qX{nKP*5FsJ;pzb$NTg=DoTIYFLKYCC~@qDvXNaom(qb*-JA7|IU z(%2r*7`wumYE?=uCm*U-plr$26-F4lsxCC@$g`5{P2lfuy%%DKhgH6Zn0SYiFy?um z!NJcMuLUq^m9oi(6oN?&%oqCeKCtUrR=E1EZ~3uD2ByKi?d{$M!%n>g?lE@ZmAup- zOfcegmsHYQxm*d>soEq$l&{?qSt_Me(h|Csnz^tD!=}*(>nBk=6IWshyKghb`tW-;6-0+U`-L zGOE@+LqTC#tmD&e(%$Y*Y3>P{M7yoAAlI4Z&{S&~fFFEHb7rzv?Fe)*HVo}DH25aGF-$33s7Y>4p&?-q`HVSFr3_*4c0;CFTN>)e_w?Je z=U37J&}<;M7d4C8;n6*Z-RT91-I>sQ!odeyTB+M7FGW*4yrQB}g^z@5WV?!A3cpyB zj&H$nrgI%CWbzz(QMdwVu48ahQmS0m7z)kbjqyrhG&hU}`*8o9!thEu9JCmepV5*?;u%f8z{kQ?bwEETr%@2$5bD zhIBBZFW%8&v>Gl|rJ&^7WTV3l-^hqkR4AcPXu7ST~#adF6r-AG}j z0{4v9kBu|M)U*6Zm4a8N<@VwSd80{7>~=R8jTL1k_yVmvJY)8Os+!^-hKF&R>+9`JZ})?r0trbd14gyY)c{@ia1G>iv@b~UgS6P$Z@%A4|C+XymVspD zU_-$gT{0)0U64`|m8`~lR5Gwj z{c1luN;4iG!lh9xaChQl0(yN^ZU=&D6BHpD8X8m-cb}GJrYh(9`qd4k#IYrADZsj7 zcWyyoK35h>KuAMAk4~d1ZmL+E#(kTT{`s@7-OUt|YO4d9u&>ML@;Nu%=AviY`_pUe z(!uO)W|MD4N>sUydqCsY5O{py^Ml3QY%S{adN9W54(z(LP?vjl|0hv7GBUO($4d;d zjoe^E^|^U2`RxUS#YMe3Gf^pH>Bbr!iB-E+KEBs>tn^+JKNXCM|3&-{&+Cu2-(M%B`fxhPC)?l?a)+a;p$~!0E$=&kCyE z`MTEc=`LB$YMGaV?{Py;ty=e?!)qS!hhWiDBt1U{Z~2`TZq>G4du!tr^$Px+E7CT` zpO&Jekbr?MMD6CbsVMa9b~ro8j_NhvW94%*PnX-+NTzyi{_TOCxhkMUSyMdbC5A{KW}s_@}X-lSDbg7P11KV2$!9B|B~^BmO)Meh)3u}efKCzQByW+etUNQt#JJg%bRNNDl*&m!h>9o?U;-I5i14!6*fd^cJ_Jl{W8d{#Wwi_$?v^`1G=;I_y<($k79ay9(*kk#P|V8QBpuV z$E&y;$7rK>)-AV9uDLb@`_s*Z{?y2W3DMELLm;~bH0*bVmrs+7!O(mtQ zJ6OJpC}T?D)BxT4GH!0(6!epSFfX6CGuvyNGBIf!57^6SyosVGW;h3|Eq1q)rdbbn zpBT5#W`1&5X^ZTplfFS`npGdkujSV*Cwr{r=xCx`jCD(Eh!U_;Jzq1GXy-jCUu-hL zq>M9cS}U@^gwa3EL$IGMT~=FL(7(#8#9hjId{HEIslh!VhF;1)+{ZxcIlgIYX`7ya|g{eB_E{a7HF`!O*4bN8+0JV-9D1OQllVCm^8)qCo3jAU{eSMi|3WXPo#C!40frW*IHhF<^ zl7YtK8+~Yt;ef2ec|tvV?5>#yn8OSO*ZywY6gs!?)?q8QQ=TE$Fq*=mU|!3hNymtG z<71%hM8Y02+-#*1K0lAOjYk(!Z4G+4T%Qlv5Hwt%0IP+ZFeWG^rPfU;%8AhuX2Y(d zNIBycCGc$K=TZ3P67r3@(_R<$lFemi^tE&S>QLfz74nynbX6n(%)=Z)b#GhI>*|hv zxogfXWp|a4ny=rUaFTmeY;=C4%z+lKti!(fd+_*qeYlGFLH7hE?%f8(KGBfOifru$ zSwtABA**9$=txqMSwUapxdd+bG7gGiHf-xjgoqfqX3`lmY2&wiCB0XiZoMmDs*vQ8 zxl^gV7&ypyGh9!#z*BL8rB)JAe zCB~T5>@WL(nanQ83ba}ugO(~2UCy_PG^?H0BsKzDPFQ(x{f(D>>lQkw{_!rIoTl5sNWK5xyl}E6KWu=I$CPN@fe$ z??vezoH5$ZNFuzV%q_=d(aEZiB9P>C*v}Y!tX8Qpq#TXq%p^|P*+?D5r0=T$w_;)@TCV6DaD zYC+h^QZ%`5GMA6kGHYc;!6ZwAOsh{de8Chs#uBXdXJI0TYZR2~%G zUnemzJ|8<0(@VFezooHXFEMt9-(7sSv_e9bJ6C|VI98tNXM8)Oz@#J3mTNPZzP9L@ zi4*;_$n)_IF?`ont7o{Uiwr}nm0GO_(R>Bf(Rh2toJy0XT_K7lG= zw+eNhyr}!H+OjMrZ_*ltL@o@kIsQ~O0<4lPa#A$VK6QkmV6uYN-$HDNVVJ;jdwz1) zXqhO7JNfg@rM!hezP_BHB{jBCR$D_wBi*_|Atf6mBldi!nR;8P=EyBo^37OVLbp07cFoVL}> zzO*$^2APk?mG6Ey$pTTvs+b2o`#oNVl9ugH|3B8=GAgR|jT=5D79dEc(jlPqkRm<6 z5JRWZFobl29+VD&p@)v4k#11wj-gY!yZhZ7^&F4q|E~9W)_T|C!{!4s%%1z+_jUd1 zx+wlgio_4-BD6cph!9`GQjXM)@AINz85UjWN+=tD#PRE2{J4H4cpap6xK8^Z6fE-x zR!W+f$~KSTWQF7qr>pWdPLWVb-h{K9?H=xcbwkT@+l>wrVrQ%g8R^uF42js$WUQYn z9_aQyqr|`M?BisqO~f5A6E=)$j#dYvodOv?AEJKf&+*GgPY;3k8*qMzH;PD{|C_8wWHk>`(-ln zKmAR{o2zb%1liD=Y1`h5^WfJ1D(e4!pnt!3MR_f?uLKM384Kc76=?WxbNs(&;Cz_RaeVys=&nOek69_yo0)bFEkp?4>Rt-_ES-w(xGvo3i`Ky@NRDVjv>E@jbtB2i*-C99 z!}(0ui&y;Wdj~G;jxBHYD{Qy_Y&>R>t$Bv`&zHf6ep5ep5{RnYHyOz)aTb%1koaU= z3DmRq$hqQ2-+##L&ebS@M@O3!@H70q6MkGICO>NFZqHp}5Wqc|4(LVd#!;vlsRI7Kpn0GJ z2?p{$Z8z4UvDGw2-JLzTU#3qw&T9>QlGocg0E9}HlP%qMAc|>VTrFG$g;0~utnjQ( zANiEl=u^Ipoz(8$*#-aY-xpmX-&G4o1}C2-5USTnG=0KEzq2X|j|@>}j_J>Y0<0l0 z?oo+b+jJ!*qXWJv5=mVCKJG+d+g1FCL$r%6nL z`@dJaWcb&(#mMoU&;m44Bwg+;@q6)|twQY;NE*o}Urq{jw$yXI&2l`&u?YZjyA+Ow zefzUy2rA0U<)rs;PgdGl=vcTS&(2Iysr21Y!1gs!6Dt8^QKz){NP%IJ=aq&7_f}Aw zg!k^6NC1MEqE{|2UY#eNm_!m>;nUbi5+r-yb2T%jh;AraT z+qcY)M7aTs&-dbZ8x4n?T)YH!iUQ&RoXB1-S?FHR)vHR$7m@dm$Tb;%4|F5BANIaY z`zQN`AzABePpnXsu`=Ed(9I=S&g~**j(~I@_&`mJkme@1)n*@>s1!S$9d!%>a?E5AKziPN?r|Rk%jyg$|zhGHWRw;OKy5 zWsy)?*}nC$GB8t-{rV{TtDaYBW9fm!Aarwwo$U4I)#*pJ)C_(@)p{nI@%(TEBDE=s zb>B&QC>NLvELFP7P#+#)_9@+;x&oUJP-svImw;2+4bDeP;Bj%H=)|1K_N1e`Cwte% z>=4fT8^WuDIW!}-NEI;Krt?l}7d9JgcVl5e4Db>sJMR-`avdjYfT%ZnT9 zcM9BH>_~jBM=N)mm)l`uIBT>`3f;=Fma|T-4z#Py656DwO(h+*N3uR%s}wl08GS7) zp_JGKV6xY!0#v$Gxg5CW={T5xj6x*0`!c+xOPJnwtpgXC$L)&Gd_v50yq2I?ms$!f+OMRWtJ0#8A#iHJ(~RmeRZDZ{=}Ag9Y9pp$P!3{x@0<* z28pIg$8p9n16XArOQalNb{eP#W+`T`#BiGsv)@Ty9m>xvm5Jd@;b4pugd1LXrxI!( zt!O$sEs$V~uaxG-W>WI%@z+!Ok>7bwzj@Alw9b;{cqmi2=43A^P%uXYA|;6$eHW)@jZ=SYvuLJ(QWvyZnW(Vw z4kF=cm_5$k<}@FFCx?iNMU!$v8%;85p zmJ3>aI`Yb&d0{QA({Djliamo{hSzTSCD0$suO0!p9}HNfIYq!q8#F6xkhTmG(diW( zL{)i=rXiB9UAx9P@+t^F?^hK0`_aoC@pfJqkCc}=bu9YDt2!%DswUE55qd1zmU@<+ z9H=6ZRDY6);$*p%76|un%mkhOpUWp4hPZ)58{C=Bn4S?;kH0uT@zp&gJ1aO%J?{tNJQR(hl6C8GI%u#YiY_ zd-wgb>-jRO8UxA{RMj=v^3u|;b=ZV6q;wPBz!NA`nks=|fLfRPF&mD~S8HYRto8i0 zbDdATbLr~HtJaM|&B!~C2%#HNRsngc2Qq36Ni09hgtu{bxvRKs(m#@vY)DH&7ILVD z2JXyI}+CBq`f~;K?fgy5WmKkD230$fXvSE-Yl$F%vUX%P|)Eg250+|t!9x_Fj^Y~ zVL!r#3y%ycj5?K3O%bt4*--6VzkXvG7^=CVHmeQ3H)hkiaM~IwQ2t*C4|uxz5ZFB! zvJPMQiA}IN{)SDk`7O_FY(SPVyRUKN;UMA5?N31WCG2fsX>WC24QH3{NHJPvv`Jyn ztM?;mJm&p2CHi)1`Cxf{u*=DW<(6qruW9NPj`z?8_o_XqdJZRg`8X)@)?jvbrV&ea z0uZ%vDP;gC3!bvR;V0ACLkReuawMi-_b@}U*u-Kf8Iw%%e*kwkMpLYgYu;!l1I?`e9N0ex+UhHOI#MFi8s&^RfZ2&?Q|-@d{>`#w=Y|Xim`@|7My2 zjeU!a!a;ozbbn2h^yi}boA&uUOZ!Lj(rkh!E9{$QV_XBsRCDEkM06))ro+f2#wK84 zPCsm|kJC=1?LLVUJut|H#eu4T*-9h>A4!N3Ttxa@r#=d8X89Npm$&n0L%C0wO=s3u zoC52Oxek>D)O@DxAsrfn` zTU%;$6zf)j zMhr^6Af#(xn9|%44ZfNYPF%<^rjCxzs+Q2&!gs8l9qCXTy=kKV@x4&KRjdpSu9*e^uVj5Xf#b-evU)PJvpP!&-U?36e6UYSTL|K^{B#93|_NB*^m}W{e z#~@ZX7EFuPK-4u+ap5vRI#0jq&WuFgBzPH^(|gPNeP4ql6rDoL>99mZ(92pRBh@Ax zr>;+YER7kR*9w?n31Fu3!X*BHsU#~nwXahTEuR*7TH`Wg-<**d&-#|yQ1mv}u4tEG zcz^w9Gk01(dtDp7x@MiQ}7U1hkN&f4p__Q4!&9oc&S-udE%Bf&cgw}TAjddmDtn-wy^P{D(=IG~H zS%L1M1`S895J@}6RjFl|>%?gJ!ij;QK3%hF)xr9JW1&D;07>CsL0VLpNv;kC@?nHs z34ZWUiH3u)jfNQ)ZB-6uR9L2i3?h~paSuett=cK;9Ym^RV=j}iA6`;tb_b4bI`aqf zYIQ8C70)nYL86b?y9Aa$xMq#nHah6YrUe8aJvV8?seewe(A3QFPv86l*?YJ1zx&zP*OGgEiB->HxwPj`l zVsRscZq#5mE)_tYnw`uY78crn9Fe*9kc7|nW{Jh4Ci$DO89#Cot4p$=46~QOoGhD$&v;7a zowsGY3gQb8UPBaYlj|1Q(oiz>IyhV(_b#usE%(G?q)6Ft5;3V=v<@)&Y`4dAF~zyW z)YW3(uBV}TvytE`(AJ*m;kFf1U%tV+yjJ7T{JH?0_E^rM`W){cmm35oOH%+N; zCf*Q=)^Nh&)}13TZH5fwb|`FoadUCVu8@$DnLn6?>p71NcCLsZyeB^yYUScLCY-F3x7;;7Z#_V!Xx9kXwfUv3p=Y-wUMpNRUps^;P0p`CC0 z&CZy(i`}}5W`b$I>JfSKEIYJI)oPA(fsGC7MEY6^IM_}&4WdI|a#7B@W62keNRbqL zSySb6IeEZg)-REU9U=24P`;&xaS%UU)|HI6uOTBhf3nKG9{n<}oloDuaND^oZ1j%P z!J1mA-UA@5x(Qa^9xTFxW%mlrG4|85E^Heeeqp%5B-64fQ09XC7M&ucIn0j*!a#rk z&N{&)^Bt^zYZ^WA3A`o9+1K!QpvRF1NQe(VbF4##!S!gp*-vtenG8w>IS zNt})+Lr5Neu~4MWV}k-V_V2*jY|nGjC*woi!G_&V;S1f-ua&B~r-2DqCi`s$%3}hV z=qGzF5!bonHUNM#GS-(mI>j1#@5X;i(SKn{ z`#sDJNCT|1 zv1Qut^&kJ)kpRU0@1IZa0F?yiii*f>1M~5eJ<#8F)nD_CZg5>J5H>z29CQ_?1rOx`67-xb2YFZk@QGfxhFMe1 z!_V38+RTwGTjjLumc8lK_4D;j?{_)elm1k}{P+_Ylk+J*5ubkfiDsqa7mLD9dilxO zXwGwECKILDmh(yWs^qSWtAaRSm^^I>FsDWobVV^{OAL` zLI8HP<)k06;2hHsY{}NVnWem+4kVZ>06aW+!Ke_Kbad38x@9$+DWe*7GG2)*6&)RI z|Gb8Ei{z0�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 diff --git a/src/content/docs/configuration/customizing_plugins.mdx b/src/content/docs/configuration/customizing_plugins.mdx index fe9e2b413..f4acb71e9 100644 --- a/src/content/docs/configuration/customizing_plugins.mdx +++ b/src/content/docs/configuration/customizing_plugins.mdx @@ -324,7 +324,7 @@ return { ### Extending Core Plugin Config Functions -Many of our core plugins have additional code that runs during setup which you might want to extend. For this reason we have included our own modules in `require("astronvim.plugins.configs.X")` (replacing `X` with the plugin `require` string) that returns the AstroNvim default config function in each plugin specification that has a `config` function which can be easily called if you want to extend a plugin configuration. This is particularly useful if you want to do something like add rules to `nvim-autopairs`, add user snippets to `luasnip`, or add more extensions to `telescope` without having to rewrite our entire configuration function. Here is an example of adding the `media_files` Telescope extension: +Many of our core plugins have additional code that runs during setup which you might want to extend. For this reason we have included our own modules in `require("astronvim.plugins.configs.X")` (replacing `X` with the plugin `require` string) that returns the AstroNvim default config function in each plugin specification that has a `config` function which can be easily called if you want to extend a plugin configuration. This is particularly useful if you want to do something like add rules to `nvim-autopairs` or add user snippets to `luasnip` without having to rewrite our entire configuration function. Here is an example of adding extending LuaSnip to use extend snippet filetypes: :::note @@ -335,18 +335,15 @@ Not all plugins have custom `config` functions and will not have an `astronvim.p ```lua title="lua/plugins/extended_config.lua" {10-11} return { { - "nvim-telescope/telescope.nvim", - dependencies = { -- add a new dependency to telescope that is our new plugin - "nvim-telescope/telescope-media-files.nvim", - }, + "L3MON4D3/LuaSnip", -- the first parameter is the plugin specification -- the second is the table of options as set up in Lazy with the `opts` key config = function(plugin, opts) -- run the core AstroNvim configuration function with the options table - require("astronvim.plugins.configs.telescope")(plugin, opts) + require("astronvim.plugins.configs.luasnip")(plugin, opts) - -- require telescope and load extensions as necessary - require("telescope").load_extension("media_files") + -- require luasnip and use it's API as normal + require("luasnip").filetype_extend("javascript", { "javascriptreact" }) end, }, } @@ -354,11 +351,11 @@ return { ## Disabling Plugins -Plugins can be easily disabled by simply setting the `enabled` option to `false`. Here is an example of disabling the core dashboard plugin, `alpha`: +Plugins can be easily disabled by simply setting the `enabled` option to `false`. Here is an example of disabling the core easy escape plugin, `better-escape`: ```lua title="lua/plugins/disabled.lua" "enabled = false" return { - { "goolord/alpha-nvim", enabled = false }, + { "max397574/better-escape.nvim", enabled = false }, } ``` @@ -390,7 +387,7 @@ return { }, -- this plugin will be loaded on the autocmd event "UIEnter" - { "rcarriga/nvim-notify", event = "UIEnter" }, + { "rebelot/heirline.nvim", event = "UIEnter" }, } ``` @@ -445,10 +442,10 @@ return { AstroNvim has many plugins that we load on the first real file that is open. This is used internally for plugins like Treesitter, LSP related plugins, and other various plugins related to interacting with files. We achieve this by creating a custom `User` `autocmd` event called `AstroFile`. This can also be used by users for lazy loading plugins on the first real file that is opened: -```lua title="lua/plugins/indent-blankline.lua" {4} +```lua title="lua/plugins/illuminate.lua" {4} return { { - "lukas-reineke/indent-blankline.nvim", + "RRethy/vim-illuminate", event = "User AstroFile", }, } diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index a9320c7e2..3e7b2c48d 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -30,7 +30,7 @@ AstroNvim is an aesthetically pleasing and feature-rich neovim config that is ex - A clipboard tool is necessary for the integration with the system clipboard (see [`:help clipboard-tool`](https://neovim.io/doc/user/provider.html#clipboard-tool) for supported solutions) - Terminal with true color support (for the default theme, otherwise it is dependent on the theme you are using) [[2]](#2) - Optional Requirements: - - [ripgrep](https://github.com/BurntSushi/ripgrep) - live grep telescope search (`fw`) + - [ripgrep](https://github.com/BurntSushi/ripgrep) - live grep file search (`fw`) - [lazygit](https://github.com/jesseduffield/lazygit) - git ui toggle terminal (`tl` or `gg`) - [go DiskUsage()](https://github.com/dundee/gdu) - disk usage toggle terminal (`tu`) - [bottom](https://github.com/ClementTsang/bottom) - process viewer toggle terminal (`tt`) @@ -40,19 +40,20 @@ AstroNvim is an aesthetically pleasing and feature-rich neovim config that is ex :::note \[1\] All downloadable Nerd Fonts contain icons which are used -by AstroNvim. Install the Nerd Font of your choice to your system and in your terminal -emulator settings, set its font face to that Nerd Font. If you are using AstroNvim -on a remote system via SSH, you do not need to install the font on the remote system. +by AstroNvim. Install the Nerd Font of your choice to your system and in your +terminal emulator settings, set its font face to that Nerd Font. If you are +using AstroNvim on a remote system via SSH, you do not need to install the font +on the remote system. ::: :::note -\[2\] When using default theme: For MacOS, the default terminal -does not have true color support. You will need to use [iTerm2](https://iterm2.com/), -[Kitty](https://sw.kovidgoyal.net/kitty/), [WezTerm](https://wezfurlong.org/wezterm/), -or another [terminal emulator](https://github.com/termstandard/colors) that has true -color support. +\[2\] When using default theme: For MacOS, the default +terminal does not have true color support. You will need to use +[iTerm2](https://iterm2.com/), [Kitty](https://sw.kovidgoyal.net/kitty/), +[WezTerm](https://wezfurlong.org/wezterm/), or another [terminal +emulator](https://github.com/termstandard/colors) that has true color support. ::: @@ -188,7 +189,7 @@ docker run -w /root -it --rm alpine:edge sh -uelic ' - Autocompletion with [Cmp](https://github.com/hrsh7th/nvim-cmp) - Git integration with [Gitsigns](https://github.com/lewis6991/gitsigns.nvim) - Terminal with [Toggleterm](https://github.com/akinsho/toggleterm.nvim) -- Fuzzy finding with [Telescope](https://github.com/nvim-telescope/telescope.nvim) +- Fuzzy finding with [snacks.picker](https://github.com/folke/snacks.nvim/blob/main/docs/picker.md) - Syntax highlighting with [Treesitter](https://github.com/nvim-treesitter/nvim-treesitter) - Formatting and linting with [none-ls](https://github.com/nvimtools/none-ls.nvim) - Language Server Protocol with [Native LSP](https://github.com/neovim/nvim-lspconfig) diff --git a/src/content/docs/mappings.mdx b/src/content/docs/mappings.mdx index 90b603062..7ffb1689d 100644 --- a/src/content/docs/mappings.mdx +++ b/src/content/docs/mappings.mdx @@ -181,45 +181,53 @@ AstroNvim generally relies on `` driven mappings, which is default set t | Toggle Debugger UI | `Leader + du` | | Debugger Hover | `Leader + dh` | -## Telescope Mappings +## Picker Mappings | Action | Mappings | | --------------------------------- | -------------------- | | Resume previous search | `Leader + f + Enter` | | Marks | `Leader + f'` | +| AstroNvim config files | `Leader + fa` | | Buffers | `Leader + fb` | | Word at cursor | `Leader + fc` | | Commands | `Leader + fC` | | Find files | `Leader + ff` | | Find files (include hidden files) | `Leader + fF` | +| Git tracked files | `Leader + fg` | | Help Tags | `Leader + fh` | | Keymaps | `Leader + fk` | +| Lines | `Leader + fl` | | Man Pages | `Leader + fm` | | Notifications | `Leader + fn` | | Old Files | `Leader + fo` | +| Old Files (current directory) | `Leader + fO` | +| Projects | `Leader + fp` | | Registers | `Leader + fr` | +| Smart (buffers,recent,files) | `Leader + fs` | | Colorschemes | `Leader + ft` | | Live Grep | `Leader + fw` | | Live Grep (include hidden files) | `Leader + fW` | | Git Branches | `Leader + gb` | | Git Commits (repository) | `Leader + gc` | | Git Commits (current file) | `Leader + gC` | +| Git browse (open) | `Leader + go` | | Git Status | `Leader + gt` | +| Git Stash | `Leader + gT` | | LSP Symbols | `Leader + ls` | | LSP Workspace Symbols | `Leader + lG` | ## Terminal Mappings -| Action | Mappings | -| ------------------------ | ----------------------- | -| Open Floating Terminal | `Leader + tf` | -| Open Horizontal Terminal | `Leader + th` | -| Open Vertical Terminal | `Leader + tv` | -| Open Toggle Lazygit | `Leader + tl` | -| Open Toggle node | `Leader + tn` | -| Open Toggle Python | `Leader + tp` | -| Open Toggle btm | `Leader + tt` | -| Toggle Current Terminal | `` | +| Action | Mappings | +| ------------------------ | ------------- | +| Open Floating Terminal | `Leader + tf` | +| Open Horizontal Terminal | `Leader + th` | +| Open Vertical Terminal | `Leader + tv` | +| Open Toggle Lazygit | `Leader + tl` | +| Open Toggle node | `Leader + tn` | +| Open Toggle Python | `Leader + tp` | +| Open Toggle btm | `Leader + tt` | +| Toggle Current Terminal | `` | ## UI/UX Mappings @@ -255,3 +263,4 @@ AstroNvim generally relies on `` driven mappings, which is default set t | Toggle syntax highlighting (buffer) | `Leader + uy` | | Toggle LSP semantic tokens (buffer) | `Leader + uY` | | Toggle color highlighting | `Leader + uz` | +| Toggle zen mode | `Leader + uZ` | diff --git a/src/content/docs/recipes/alpha.mdx b/src/content/docs/recipes/alpha.mdx deleted file mode 100644 index 0f1e8dbb0..000000000 --- a/src/content/docs/recipes/alpha.mdx +++ /dev/null @@ -1,66 +0,0 @@ ---- -id: alpha -title: Dashboard Customizations ---- - -AstroNvim comes with [alpha-nvim](https://github.com/goolord/alpha-nvim) by default for providing a dashboard/home screen. This page provides a few common customization options. - -### Customize Alpha Header - -If you want to customize your header on the dashboard you can do this easily by overriding the `alpha` options in your plugins: - -```lua title="lua/plugins/alpha.lua" -return { - "goolord/alpha-nvim", - opts = function(_, opts) -- override the options using lazy.nvim - opts.section.header.val = { -- change the header section value - " My Custom ", - " Dashboard Header", - } - end, -} -``` - -### Customize Buttons - -In order to customize buttons presented on the dashboard, you can modify `alpha` options: - -```lua title="lua/plugins/alpha_buttons.lua" -return { - "goolord/alpha-nvim", - opts = function(_, opts) -- override the options using lazy.nvim - opts.section.buttons.val = { - opts.button("h", " Say Hi", ':echo "Hello World!"'), - } - end, -} -``` - -### Open Alpha Automatically When No More Buffers - -If you want to make the Alpha dashboard/home screen open automatically when you close the last buffer in your session you can add the following to your AstroCore mappings configuration: - -```lua title="lua/plugins/astrocore.lua" -return { - "AstroNvim/astrocore", - ---@type AstroCoreOpts - opts = { - mappings = { - n = { - ["c"] = { - function() - local bufs = vim.fn.getbufinfo({ buflisted = true }) - require("astrocore.buffer").close(0) - if - require("astrocore").is_available("alpha-nvim") and not bufs[2] - then - require("alpha").start() - end - end, - desc = "Close buffer", - }, - }, - }, - }, -} -``` diff --git a/src/content/docs/recipes/dashboard.mdx b/src/content/docs/recipes/dashboard.mdx new file mode 100644 index 000000000..952d2d52d --- /dev/null +++ b/src/content/docs/recipes/dashboard.mdx @@ -0,0 +1,78 @@ +--- +id: dashboard +title: Dashboard Customizations +--- + +AstroNvim comes with [snacks.dashboard](https://github.com/folke/snacks.nvim/blob/main/docs/dashboard.md) by default for providing a dashboard/home screen. This page provides a few common customization options. + +### Customize Dashboard Header + +If you want to customize your header on the dashboard you can do this easily by overriding the `snacks.nvim` options in your plugins: + +```lua title="lua/plugins/dashboard.lua" +return { + "folke/snacks.nvim", + opts = { + dashboard = { + preset = { + header = table.concat({ + "My Custom", + "Dashboard Header", + }, "\n"), + }, + }, + }, +} +``` + +### Customize Buttons + +In order to customize buttons presented on the dashboard, you can modify `snacks.nvim` options: + +```lua title="lua/plugins/dashboard_buttons.lua" +return { + "folke/snacks.nvim", + opts = { + dashboard = { + preset = { + keys = { + { + key = "h", + action = function() + vim.notify("Hello World!") + end, + desc = "Say Hi", + }, + }, + }, + }, + }, +} +``` + +### Open Dashboard Automatically When No More Buffers + +If you want to make the dashboard/home screen open automatically when you close the last buffer in your session you can add the following to your AstroCore mappings configuration: + +```lua title="lua/plugins/astrocore.lua" +return { + "AstroNvim/astrocore", + ---@type AstroCoreOpts + opts = { + mappings = { + n = { + ["c"] = { + function() + local bufs = vim.fn.getbufinfo({ buflisted = true }) + require("astrocore.buffer").close(0) + if not bufs[2] then + require("snacks").dashboard() + end + end, + desc = "Close buffer", + }, + }, + }, + }, +} +``` diff --git a/src/content/docs/recipes/detached_git_worktrees.mdx b/src/content/docs/recipes/detached_git_worktrees.mdx index a67a83652..93650b199 100644 --- a/src/content/docs/recipes/detached_git_worktrees.mdx +++ b/src/content/docs/recipes/detached_git_worktrees.mdx @@ -5,7 +5,7 @@ title: Detached Git Worktrees Some users prefer tracking their dotfiles in bare git repos which rely on setting a detached worktree to work. However, without a `.git` folder, it's difficult to tell whether a file is being tracked by a bare repo or not. Unfortunately, this also means that while editing dotfiles, it's not possible to see git diffs in the gutter or open lazygit in the correct repository — at least not without further configuration. -AstroNvim provides an easy way to enable git integration when editing files within detached worktrees, allowing gitsigns gutter highlighting, lazygit toggleterm, and telescope mappings to work as you would expect them to. +AstroNvim provides an easy way to enable git integration when editing files within detached worktrees, allowing gitsigns gutter highlighting, lazygit toggleterm, and picker mappings to work as you would expect them to. This functionality is opt-in. To enable it, configure AstroCore and set the `git_worktrees` option to an array-like table, where each entry represents a separate worktree with entries `toplevel` and `gitdir` specifying paths on your system. diff --git a/src/content/docs/recipes/mappings.mdx b/src/content/docs/recipes/mappings.mdx index e532ace9d..2521c9a2a 100644 --- a/src/content/docs/recipes/mappings.mdx +++ b/src/content/docs/recipes/mappings.mdx @@ -70,65 +70,51 @@ return { } ``` -### Enable Telescope LSP Mappings +### Enable Picker LSP Mappings :::tip -This is available in the [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/recipes/telescope-lsp-mappings) +This is available in the [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/recipes/snacks-lsp-mappings) ```lua title="lua/community.lua" ins={3} return { "AstroNvim/astrocommunity", - { import = "astrocommunity.recipes.telescope-lsp-mappings" }, + { import = "astrocommunity.recipes.snacks-lsp-mappings" }, } ``` ::: -Telescope provides functionality for using the picker for tasks such as getting references and symbols. This can be easily enabled through AstroLSP. Here is an example specification that can be added to your plugins: +`snacks.picker` provides functionality for using the picker for tasks such as getting references and symbols. This can be easily enabled through AstroLSP. Here is an example specification that can be added to your plugins: -```lua title="lua/plugins/telescope_lsp_mappings.lua" +```lua title="lua/plugins/snacks_lsp_mappings.lua" return { "AstroNvim/astrolsp", ---@param opts AstroLSPOpts opts = function(_, opts) if opts.mappings.n.gd then opts.mappings.n.gd[1] = function() - require("telescope.builtin").lsp_definitions({ reuse_win = true }) + require("snacks.picker").lsp_definitions() end end if opts.mappings.n.gI then opts.mappings.n.gI[1] = function() - require("telescope.builtin").lsp_implementations({ reuse_win = true }) + require("snacks.picker").lsp_implementations() end end if opts.mappings.n.gy then opts.mappings.n.gy[1] = function() - require("telescope.builtin").lsp_type_definitions({ reuse_win = true }) + require("snacks.picker").lsp_type_definitions() end end if opts.mappings.n["lG"] then opts.mappings.n["lG"][1] = function() - vim.ui.input( - { prompt = "Symbol Query: (leave empty for word under cursor)" }, - function(query) - if query then - -- word under cursor if given query is empty - if query == "" then - query = vim.fn.expand("") - end - require("telescope.builtin").lsp_workspace_symbols({ - query = query, - prompt_title = ("Find word (%s)"):format(query), - }) - end - end - ) + require("snacks.picker").lsp_workspace_symbols() end end if opts.mappings.n["lR"] then opts.mappings.n["lR"][1] = function() - require("telescope.builtin").lsp_references() + require("snacks.picker").lsp_references() end end end, diff --git a/src/content/docs/recipes/picker_theme.mdx b/src/content/docs/recipes/picker_theme.mdx new file mode 100644 index 000000000..281adae3e --- /dev/null +++ b/src/content/docs/recipes/picker_theme.mdx @@ -0,0 +1,61 @@ +--- +id: picker_theme +title: NvChad Snacks.Picker Theme +--- + +:::tip + +This is available in the [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/recipes/snacks-nvchad-theme) + +```lua title="lua/community.lua" ins={3} +return { + "AstroNvim/astrocommunity", + { import = "astrocommunity.recipes.snacks-nvchad-theme" }, +} +``` + +::: + +This plugin specification makes the default theme `snacks.picker` look similar to the default NvChad picker theme: + +![Screenshot of picker theme](../../../assets/recipes/picker_theme.png) + +## Plugin Specification + +```lua title="lua/plugins/astroui.lua" +return { + "AstroNvim/astroui", + ---@type AstroUIOpts + opts = { + highlights = { + -- set highlights for all themes + -- use a function override to let us use lua to retrieve + -- colors from highlight group there is no default table + -- so we don't need to put a parameter for this function + init = function() + local get_hlgroup = require("astroui").get_hlgroup + -- get highlights from highlight groups + local bg = get_hlgroup("Normal").bg + local bg_alt = get_hlgroup("Visual").bg + local green = get_hlgroup("String").fg + local red = get_hlgroup("Error").fg + -- return a table of highlights for snacks.picker based on + -- colors retrieved from highlight groups + return { + SnacksPickerBorder = { fg = bg_alt, bg = bg }, + SnacksPicker = { bg = bg }, + SnacksPickerPreviewBorder = { fg = bg, bg = bg }, + SnacksPickerPreview = { bg = bg }, + SnacksPickerPreviewTitle = { fg = bg, bg = green }, + SnacksPickerBoxBorder = { fg = bg, bg = bg }, + SnacksPickerInputBorder = { fg = bg, bg = bg }, + SnacksPickerInputSearch = { fg = red, bg = bg }, + SnacksPickerListBorder = { fg = bg, bg = bg }, + SnacksPickerList = { bg = bg }, + SnacksPickerListTitle = { fg = bg, bg = bg }, + } + end, + }, + }, +} +``` diff --git a/src/content/docs/recipes/rooter.mdx b/src/content/docs/recipes/rooter.mdx index aaa6bea43..741d9be8f 100644 --- a/src/content/docs/recipes/rooter.mdx +++ b/src/content/docs/recipes/rooter.mdx @@ -52,7 +52,7 @@ A rooter automatically changes Neovim's working directory based on the context o ### The working directory in Neovim affects many operations: -- **File searching**: Tools like Telescope will search relative to your working directory +- **File searching**: Tools like `snacks.picker` will search relative to your working directory - **Command execution**: Shell commands run from Neovim use the working directory as their context - **Project navigation**: Moving between files is easier when your working directory is at the project root @@ -69,6 +69,6 @@ Neovim has a built-in autochdir option that automatically changes the working di ## Practical Use Cases: - **Cross-project navigation**: When opening files from different projects, the rooter ensures your working context switches appropriately -- **Telescope optimization**: Limits searches to the relevant project rather than including unrelated files +- **File picker optimization**: Limits searches to the relevant project rather than including unrelated files - **Consistent command context**: Shell commands and LSP operations work against the proper project root - **Improved file navigation**: Makes it easier to navigate between related files in a project diff --git a/src/content/docs/recipes/sessions.mdx b/src/content/docs/recipes/sessions.mdx index 558d7841c..721f669b0 100644 --- a/src/content/docs/recipes/sessions.mdx +++ b/src/content/docs/recipes/sessions.mdx @@ -42,8 +42,6 @@ return { ---@type AstroCoreOpts opts = { autocmds = { - -- disable alpha autostart - alpha_autostart = false, restore_session = { { event = "VimEnter", @@ -115,8 +113,6 @@ return { }, }, autocmds = { - -- disable alpha autostart - alpha_autostart = false, git_branch_sessions = { -- auto save directory sessions on leaving { diff --git a/src/content/docs/recipes/telescope_theme.mdx b/src/content/docs/recipes/telescope_theme.mdx deleted file mode 100644 index fc6568e55..000000000 --- a/src/content/docs/recipes/telescope_theme.mdx +++ /dev/null @@ -1,63 +0,0 @@ ---- -id: telescope_theme -title: NvChad Telescope Theme ---- - -:::tip - -This is available in the [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/recipes/telescope-nvchad-theme) - -```lua title="lua/community.lua" ins={3} -return { - "AstroNvim/astrocommunity", - { import = "astrocommunity.recipes.telescope-nvchad-theme" }, -} -``` - -::: - -This plugin specification makes the default theme telescope look like the default NvChad telescope theme: - -![Screenshot of telescope theme](../../../assets/recipes/telescope_theme.png) - -## Plugin Specification - -```lua title="lua/plugins/astroui.lua" -return { - "AstroNvim/astroui", - ---@type AstroUIOpts - opts = { - highlights = { - -- set highlights for all themes - -- use a function override to let us use lua to retrieve - -- colors from highlight group there is no default table - -- so we don't need to put a parameter for this function - init = function() - local get_hlgroup = require("astroui").get_hlgroup - -- get highlights from highlight groups - local normal = get_hlgroup("Normal") - local fg, bg = normal.fg, normal.bg - local bg_alt = get_hlgroup("Visual").bg - local green = get_hlgroup("String").fg - local red = get_hlgroup("Error").fg - -- return a table of highlights for telescope based on - -- colors gotten from highlight groups - return { - TelescopeBorder = { fg = bg_alt, bg = bg }, - TelescopeNormal = { bg = bg }, - TelescopePreviewBorder = { fg = bg, bg = bg }, - TelescopePreviewNormal = { bg = bg }, - TelescopePreviewTitle = { fg = bg, bg = green }, - TelescopePromptBorder = { fg = bg_alt, bg = bg_alt }, - TelescopePromptNormal = { fg = fg, bg = bg_alt }, - TelescopePromptPrefix = { fg = red, bg = bg_alt }, - TelescopePromptTitle = { fg = bg, bg = red }, - TelescopeResultsBorder = { fg = bg, bg = bg }, - TelescopeResultsNormal = { bg = bg }, - TelescopeResultsTitle = { fg = bg, bg = bg }, - } - end, - }, - }, -} -``` diff --git a/src/content/docs/reference/default_plugins.mdx b/src/content/docs/reference/default_plugins.mdx index 2c3b024a5..0c07be04c 100644 --- a/src/content/docs/reference/default_plugins.mdx +++ b/src/content/docs/reference/default_plugins.mdx @@ -3,59 +3,53 @@ id: default_plugins title: Default Plugins --- -| Plugin | Purpose | -| ------------------------------------------------------------------------------------------------------------- | -------------------------------------------- | -| [AstroNvim/astrocore](https://github.com/AstroNvim/astrocore) | Core Functionality | -| [AstroNvim/astrolsp](https://github.com/AstroNvim/astrolsp) | LSP Integration | -| [AstroNvim/astrotheme](https://github.com/AstroNvim/astrotheme) | Default Colorscheme/Theme | -| [AstroNvim/astroui](https://github.com/AstroNvim/astroui) | UI Configuration | -| [JoosepAlviste/nvim-ts-context-commentstring](https://github.com/JoosepAlviste/nvim-ts-context-commentstring) | Contextual commenting | -| [L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip) | Snippet Engine | -| [MunifTanjim/nui.nvim](https://github.com/MunifTanjim/nui.nvim) | UI Component Library (for Neo-Tree) | -| [NMAC427/guess-indent.nvim](https://github.com/NMAC427/guess-indent.nvim) | Automatic Indentation Detection | -| [WhoIsSethDaniel/mason-tool-installer.nvim](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) | Automatic Mason Installation | -| [akinsho/toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim) | Terminal Management | -| [brenoprata10/nvim-highlight-colors](https://github.com/brenoprata10/nvim-highlight-colors) | Highlight Color Strings | -| [echasnovski/mini.bufremove](https://github.com/echasnovski/mini.bufremove) | Buffer Removal | -| [echasnovski/mini.icons](https://github.com/echasnovski/mini.icons) | Icon Provider | -| [folke/lazy.nvim](https://github.com/folke/lazy.nvim) | Plugin Management | -| [folke/neoconf.nvim](https://github.com/folke/neoconf.nvim) | Global and Project-local settings | -| [folke/neodev.nvim](https://github.com/folke/neodev.nvim) | Neovim Lua LSP Integration | -| [folke/which-key.nvim](https://github.com/folke/which-key.nvim) | Keymap Popup/Help Window | -| [goolord/alpha-nvim](https://github.com/goolord/alpha-nvim) | Dashboard/Homescreen | -| [hrsh7th/cmp-buffer](https://github.com/hrsh7th/cmp-buffer) | Completion of Buffer Words | -| [hrsh7th/cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) | Completion of LSP | -| [hrsh7th/cmp-path](https://github.com/hrsh7th/cmp-path) | Completion of Paths | -| [hrsh7th/nvim-cmp](https://github.com/hrsh7th/nvim-cmp) | Completion Engine | -| [jay-babu/mason-null-ls.nvim](https://github.com/jay-babu/mason-null-ls.nvim) | Mason Null-LS (None-LS) Integration | -| [jay-babu/mason-nvim-dap.nvim](https://github.com/jay-babu/mason-nvim-dap.nvim) | Mason Nvim-DAP Integration | -| [kevinhwang91/nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) | Fold detection | -| [kevinhwang91/promise-async](https://github.com/kevinhwang91/promise-async) | Asynchronous Library (helper) | -| [lewis6991/gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) | Buffer Git Integration | -| [lukas-reineke/indent-blankline.nvim](https://github.com/lukas-reineke/indent-blankline.nvim) | Indent-level Indicators | -| [max397574/better-escape.nvim](https://github.com/max397574/better-escape.nvim) | Easy Escape (`jj`, `jk`) | -| [mfussenegger/nvim-dap](https://github.com/mfussenegger/nvim-dap) | Debugger Adapter Protocol | -| [mrjones2014/smart-splits.nvim](https://github.com/mrjones2014/smart-splits.nvim) | Split Navigation and Multiplexer Integration | -| [neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) | Language Server Configurations | -| [numToStr/Comment.nvim](https://github.com/numToStr/Comment.nvim) | Comment Vim Operators | -| [nvim-lua/plenary.nvim](https://github.com/nvim-lua/plenary.nvim) | Lua Helper Functions (helper) | -| [nvim-neo-tree/neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) | File Explorer | -| [nvim-telescope/telescope-fzf-native.nvim](https://github.com/nvim-telescope/telescope-fzf-native.nvim) | Fast Telescope Sorter | -| [nvim-telescope/telescope.nvim](https://github.com/nvim-telescope/telescope.nvim) | General Finder/Picker | -| [nvim-treesitter/nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) | Treesitter Vim Text Objects | -| [nvim-treesitter/nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) | Syntax Tree Based Highlighting | -| [nvimtools/none-ls.nvim](https://github.com/nvimtools/none-ls.nvim) | Formatter and Linter LSP Integration | -| [rafamadriz/friendly-snippets](https://github.com/rafamadriz/friendly-snippets) | General Purpose Snippet Collection | -| [rcarriga/cmp-dap](https://github.com/rcarriga/cmp-dap) | Completion in DAP REPL | -| [rcarriga/nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui) | DAP User Interface | -| [rcarriga/nvim-notify](https://github.com/rcarriga/nvim-notify) | UI Notification Pop-ups | -| [rebelot/heirline.nvim](https://github.com/rebelot/heirline.nvim) | Custom Statusline/Tabline/Winbar | -| [s1n7ax/nvim-window-picker](https://github.com/s1n7ax/nvim-window-picker) | Window Picker (for Neo-tree) | -| [saadparwaiz1/cmp_luasnip](https://github.com/saadparwaiz1/cmp_luasnip) | Completion of Snippets | -| [stevearc/aerial.nvim](https://github.com/stevearc/aerial.nvim) | Symbol Overview/Code Outline | -| [stevearc/dressing.nvim](https://github.com/stevearc/dressing.nvim) | General `vim.ui` Improvements | -| [stevearc/resession.nvim](https://github.com/stevearc/resession.nvim) | Session Management | -| [williamboman/mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim) | Mason LSP Integration | -| [williamboman/mason.nvim](https://github.com/williamboman/mason.nvim) | External Package Manager | -| [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) | Automatically Close Pairs | -| [windwp/nvim-ts-autotag](https://github.com/windwp/nvim-ts-autotag) | Automatically Close/Rename Tags | +| Plugin | Purpose | +| ------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------- | +| [AstroNvim/astrocore](https://github.com/AstroNvim/astrocore) | Core Functionality | +| [AstroNvim/astrolsp](https://github.com/AstroNvim/astrolsp) | LSP Integration | +| [AstroNvim/astrotheme](https://github.com/AstroNvim/astrotheme) | Default Colorscheme/Theme | +| [AstroNvim/astroui](https://github.com/AstroNvim/astroui) | UI Configuration | +| [JoosepAlviste/nvim-ts-context-commentstring](https://github.com/JoosepAlviste/nvim-ts-context-commentstring) | Contextual commenting | +| [L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip) | Snippet Engine | +| [MunifTanjim/nui.nvim](https://github.com/MunifTanjim/nui.nvim) | UI Component Library (for Neo-Tree) | +| [NMAC427/guess-indent.nvim](https://github.com/NMAC427/guess-indent.nvim) | Automatic Indentation Detection | +| [WhoIsSethDaniel/mason-tool-installer.nvim](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) | Automatic Mason Installation | +| [akinsho/toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim) | Terminal Management | +| [brenoprata10/nvim-highlight-colors](https://github.com/brenoprata10/nvim-highlight-colors) | Highlight Color Strings | +| [echasnovski/mini.icons](https://github.com/echasnovski/mini.icons) | Icon Provider | +| [folke/lazy.nvim](https://github.com/folke/lazy.nvim) | Plugin Management | +| [folke/neoconf.nvim](https://github.com/folke/neoconf.nvim) | Global and Project-local settings | +| [folke/neodev.nvim](https://github.com/folke/neodev.nvim) | Neovim Lua LSP Integration | +| [folke/snacks.nvim](https://github.com/folke/snacks.nvim) | Finder/Picker, better `vim.ui`, pretty notifications, indentation indicators, dashboard | +| [folke/which-key.nvim](https://github.com/folke/which-key.nvim) | Keymap Popup/Help Window | +| [hrsh7th/cmp-buffer](https://github.com/hrsh7th/cmp-buffer) | Completion of Buffer Words | +| [hrsh7th/cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) | Completion of LSP | +| [hrsh7th/cmp-path](https://github.com/hrsh7th/cmp-path) | Completion of Paths | +| [hrsh7th/nvim-cmp](https://github.com/hrsh7th/nvim-cmp) | Completion Engine | +| [jay-babu/mason-null-ls.nvim](https://github.com/jay-babu/mason-null-ls.nvim) | Mason Null-LS (None-LS) Integration | +| [jay-babu/mason-nvim-dap.nvim](https://github.com/jay-babu/mason-nvim-dap.nvim) | Mason Nvim-DAP Integration | +| [kevinhwang91/nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) | Fold detection | +| [kevinhwang91/promise-async](https://github.com/kevinhwang91/promise-async) | Asynchronous Library (helper) | +| [lewis6991/gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) | Buffer Git Integration | +| [max397574/better-escape.nvim](https://github.com/max397574/better-escape.nvim) | Easy Escape (`jj`, `jk`) | +| [mfussenegger/nvim-dap](https://github.com/mfussenegger/nvim-dap) | Debugger Adapter Protocol | +| [mrjones2014/smart-splits.nvim](https://github.com/mrjones2014/smart-splits.nvim) | Split Navigation and Multiplexer Integration | +| [neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) | Language Server Configurations | +| [numToStr/Comment.nvim](https://github.com/numToStr/Comment.nvim) | Comment Vim Operators | +| [nvim-lua/plenary.nvim](https://github.com/nvim-lua/plenary.nvim) | Lua Helper Functions (helper) | +| [nvim-neo-tree/neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) | File Explorer | +| [nvim-treesitter/nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) | Treesitter Vim Text Objects | +| [nvim-treesitter/nvim-treesitter](https://github.com/nvim-treesitter/nvim-treesitter) | Syntax Tree Based Highlighting | +| [nvimtools/none-ls.nvim](https://github.com/nvimtools/none-ls.nvim) | Formatter and Linter LSP Integration | +| [rafamadriz/friendly-snippets](https://github.com/rafamadriz/friendly-snippets) | General Purpose Snippet Collection | +| [rcarriga/cmp-dap](https://github.com/rcarriga/cmp-dap) | Completion in DAP REPL | +| [rcarriga/nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui) | DAP User Interface | +| [rebelot/heirline.nvim](https://github.com/rebelot/heirline.nvim) | Custom Statusline/Tabline/Winbar | +| [s1n7ax/nvim-window-picker](https://github.com/s1n7ax/nvim-window-picker) | Window Picker (for Neo-tree) | +| [saadparwaiz1/cmp_luasnip](https://github.com/saadparwaiz1/cmp_luasnip) | Completion of Snippets | +| [stevearc/aerial.nvim](https://github.com/stevearc/aerial.nvim) | Symbol Overview/Code Outline | +| [stevearc/resession.nvim](https://github.com/stevearc/resession.nvim) | Session Management | +| [williamboman/mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim) | Mason LSP Integration | +| [williamboman/mason.nvim](https://github.com/williamboman/mason.nvim) | External Package Manager | +| [windwp/nvim-autopairs](https://github.com/windwp/nvim-autopairs) | Automatically Close Pairs | +| [windwp/nvim-ts-autotag](https://github.com/windwp/nvim-ts-autotag) | Automatically Close/Rename Tags | From 735fc98a749925069e971c9e57f7f9b94e6f997e Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 09:34:30 -0400 Subject: [PATCH 06/22] feat(mappings): add new `uv` and `uV` mappings --- src/content/docs/mappings.mdx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/docs/mappings.mdx b/src/content/docs/mappings.mdx index 7ffb1689d..981cf28e3 100644 --- a/src/content/docs/mappings.mdx +++ b/src/content/docs/mappings.mdx @@ -259,6 +259,8 @@ AstroNvim generally relies on `` driven mappings, which is default set t | Toggle conceal | `Leader + uS` | | Toggle tabline | `Leader + ut` | | Toggle URL highlighting | `Leader + uu` | +| Toggle diagnostics virtual text | `Leader + uv` | +| Toggle diagnostics virtual lines | `Leader + uV` | | Toggle wrap | `Leader + uw` | | Toggle syntax highlighting (buffer) | `Leader + uy` | | Toggle LSP semantic tokens (buffer) | `Leader + uY` | From 29e7ed5f7edb8d41753f6e2fe19836e8ff71f614 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 09:34:49 -0400 Subject: [PATCH 07/22] docs(default_plugins): add note about plugins only when using Neovim 0.10 --- src/content/docs/reference/default_plugins.mdx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/docs/reference/default_plugins.mdx b/src/content/docs/reference/default_plugins.mdx index 0c07be04c..88307c674 100644 --- a/src/content/docs/reference/default_plugins.mdx +++ b/src/content/docs/reference/default_plugins.mdx @@ -9,7 +9,7 @@ title: Default Plugins | [AstroNvim/astrolsp](https://github.com/AstroNvim/astrolsp) | LSP Integration | | [AstroNvim/astrotheme](https://github.com/AstroNvim/astrotheme) | Default Colorscheme/Theme | | [AstroNvim/astroui](https://github.com/AstroNvim/astroui) | UI Configuration | -| [JoosepAlviste/nvim-ts-context-commentstring](https://github.com/JoosepAlviste/nvim-ts-context-commentstring) | Contextual commenting | +| [JoosepAlviste/nvim-ts-context-commentstring](https://github.com/JoosepAlviste/nvim-ts-context-commentstring) | Contextual commenting (_Nvim 0.10 only_) | | [L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip) | Snippet Engine | | [MunifTanjim/nui.nvim](https://github.com/MunifTanjim/nui.nvim) | UI Component Library (for Neo-Tree) | | [NMAC427/guess-indent.nvim](https://github.com/NMAC427/guess-indent.nvim) | Automatic Indentation Detection | @@ -28,14 +28,14 @@ title: Default Plugins | [hrsh7th/nvim-cmp](https://github.com/hrsh7th/nvim-cmp) | Completion Engine | | [jay-babu/mason-null-ls.nvim](https://github.com/jay-babu/mason-null-ls.nvim) | Mason Null-LS (None-LS) Integration | | [jay-babu/mason-nvim-dap.nvim](https://github.com/jay-babu/mason-nvim-dap.nvim) | Mason Nvim-DAP Integration | -| [kevinhwang91/nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) | Fold detection | +| [kevinhwang91/nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) | Fold detection (_Nvim 0.10 only_) | | [kevinhwang91/promise-async](https://github.com/kevinhwang91/promise-async) | Asynchronous Library (helper) | | [lewis6991/gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim) | Buffer Git Integration | | [max397574/better-escape.nvim](https://github.com/max397574/better-escape.nvim) | Easy Escape (`jj`, `jk`) | | [mfussenegger/nvim-dap](https://github.com/mfussenegger/nvim-dap) | Debugger Adapter Protocol | | [mrjones2014/smart-splits.nvim](https://github.com/mrjones2014/smart-splits.nvim) | Split Navigation and Multiplexer Integration | | [neovim/nvim-lspconfig](https://github.com/neovim/nvim-lspconfig) | Language Server Configurations | -| [numToStr/Comment.nvim](https://github.com/numToStr/Comment.nvim) | Comment Vim Operators | +| [numToStr/Comment.nvim](https://github.com/numToStr/Comment.nvim) | Comment Vim Operators (_Nvim 0.10 only_) | | [nvim-lua/plenary.nvim](https://github.com/nvim-lua/plenary.nvim) | Lua Helper Functions (helper) | | [nvim-neo-tree/neo-tree.nvim](https://github.com/nvim-neo-tree/neo-tree.nvim) | File Explorer | | [nvim-treesitter/nvim-treesitter-textobjects](https://github.com/nvim-treesitter/nvim-treesitter-textobjects) | Treesitter Vim Text Objects | From 58442f98fe1c587a320f15e0f192062a91a7b179 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 11:20:03 -0400 Subject: [PATCH 08/22] docs(migration): start working on the v5 migration guide --- .../docs/configuration/v4_migration.mdx | 245 ------------------ .../docs/configuration/v5_migration.mdx | 133 ++++++++++ 2 files changed, 133 insertions(+), 245 deletions(-) delete mode 100644 src/content/docs/configuration/v4_migration.mdx create mode 100644 src/content/docs/configuration/v5_migration.mdx diff --git a/src/content/docs/configuration/v4_migration.mdx b/src/content/docs/configuration/v4_migration.mdx deleted file mode 100644 index 73fd69939..000000000 --- a/src/content/docs/configuration/v4_migration.mdx +++ /dev/null @@ -1,245 +0,0 @@ ---- -id: v4_migration -title: Migration to v4.0 ---- - -import { Steps } from "@astrojs/starlight/components"; - -While there are many small improvements to AstroNvim in version 4, the major update is a move to use the [`lazy.nvim`](https://github.com/folke/lazy.nvim) plugin manager for much more of the configuration. - -The first major change is that the installation of AstroNvim itself is through `lazy.nvim`. Rather than cloning AstroNvim, as was done in previous versions, AstroNvim is "just another" plugin and it is installed using `lazy.nvim`. - -The second major change is that AstroNvim configuration has been split among a number of plugins, each with their own configuration. While the [AstroNvim](https://github.com/AstroNvim/AstroNvim) plugin is still the main plugin, it has very limited configuration options. - -The new plugins are: - -- [AstroCore](https://github.com/AstroNvim/astrocore) - Provides a configuration interface for "core" AstroNvim functions, such as key mappings, auto commands, etc. The [configuration here](https://github.com/AstroNvim/astrocore#%EF%B8%8F-configuration) provides an example and `:help astrocore` provides help within Neovim. AstroCore also has an API for utility functions that help with managing and updating your configuration. -- [AstroLSP](https://github.com/AstroNvim/astrolsp) - Provides a configuration interface for Language Server Protocol (LSP) functions. The [configuration here](https://github.com/AstroNvim/astrolsp#%EF%B8%8F-configuration) provides an example and `:help astrolsp` provides help within Neovim. -- [AstroUI](https://github.com/AstroNvim/astroui) - Provides a configuration interface for User Interface (UI) functions, such as setting the colorscheme, highlights, icons, etc. The [configuration here](https://github.com/AstroNvim/astroui#%EF%B8%8F-configuration) provides and example and `:help astroui` provides help within Neovim. - -All AstroNvim configuration is coordinated through those plugins above. - -:::note - -Before getting started it is recommended to review the [Getting Started](/) guide. The guide explains how AstroNvim uses `lazy.nvim` and it also explains the AstroNvim configuration template, which is the recommended way to migrate from the previous version. - -::: - -## Setting Up a Migration Environment - -Breaking your working editor configuration when migrating to v4 will make it difficult to edit your new configuration. As such, we **recommend following the process** below so that your existing editor keeps working while you upgrade to the new v4 configuration. This workflow makes use of an [Isolated Installation](/reference/alt_install/#isolated-installation) environment. - -:::tip - -Checkout the [Managing User Configuration Page](/configuration/manage_user_config) for details on how to create a new git repository from our template or convert the clone described above into a repository. It is highly recommended to set up your configuration as a git repository so that it is backed up as well as easier to share. - -::: - - - -1. Clone the AstroNvim v4 configuration template to a new location (`astronvim_v4` is used as the example): - - ```sh - git clone https://github.com/AstroNvim/template ~/.config/astronvim_v4 - rm -rf ~/.config/astronvim_v4/.git - ``` - -2. Start `nvim` in the new environment. `nvim` should start, bootstrap itself by installing and loading `lazy.nvim`. Lazy will load all of the plugins specified by AstroNvim. - - ```sh - NVIM_APPNAME=astronvim_v4 nvim - ``` - -3. Migrate your AstroNvim v3 configuration to your new AstroNvim v4 environment at `~/.config/astronvim_v4` using the guide below. You can use your previous AstroNvim setup to do the editing and then continue running the command in Step 2 to test the new installation. - -4. Once you have your configuration set up how you like it, move it over to the default neovim configuration location `~/.config/nvim`: - - ```sh - # Backup old Neovim folders - mv ~/.local/share/nvim ~/.local/share/nvim.bak # backup old data folder - mv ~/.local/state/nvim ~/.local/state/nvim.bak # backup old state folder - mv ~/.cache/nvim ~/.cache/nvim.bak # backup old cache folder - mv ~/.config/nvim ~/.config/nvim.bak # backup old config - # Move new configuration into place - mv ~/.config/astronvim_v4 ~/.config/nvim # move new config - ``` - -5. Run your new v4 environment simply with `nvim` 🎉 - - - -## Migration Guide - -### Configuration Option Changes - -:::caution - -This is a work in progress. This guide is taking shape and covers much of the migration. There are holes though! If you see something missing drop a note on the Discord `#v4_testing` channel or open a pull request on GitHub. - -::: - -Each "Migrating" section below has an link to documentation and/or an example configuration. Each example configuration file shows the structure for configuring that plugin. The comments in each example configuration describes the configuration keys. - -:::note - -**Recommended reading**: for each plugin there is a link to example configuration. These configurations are full of documentation and can help guide your migration! - -::: - -The [plugin configuration files.](https://github.com/AstroNvim/AstroNvim/tree/main/lua%2Fastronvim%2Fplugins) in the AstroNvim codebase itself are also a good reference to learn how to configure. - -**Please also read the [Other Changes section](#other-changes)** - there are a number of changes that are not just "move some config from one place to another". For example, in key mapping `` is no longer recognized. - -If you get stuck, people on the [Discord](https://discord.astronvim.com/) forum are active and friendly! Like all humans, sometimes they are grumpy, so be nice to them! The best place to post is most likely the `#help-forum`, but poke around a few of the other channels, you never know what you will find that is useful. - -v3 configuration options in `user/init.lua` and their new location in the core AstroNvim plugin configuration `opts`: - -| v3 `user/init.lua` table key | v4 `AstroNvim/` plugin | v4 plugin `opt` key | -| ---------------------------- | ---------------------- | --------------------------- | -| `colorscheme` | `astroui` | `colorscheme` | -| `diagnostics` | `astrocore` | `diagnostics` | -| `heirline.attributes` | `astroui` | `status.attributes` | -| `heirline.colors` | `astroui` | `status.colors` | -| `heirline.icon_highlights` | `astroui` | `status.icon_highlights` | -| `heirline.separators` | `astroui` | `status.separators` | -| `highlights.init` | `astroui` | `highlights.init` | -| `highlights.` | `astroui` | `highlights.` | -| `icons` | `astroui` | `icons` | -| `lsp.capabilities` | `astrolsp` | `capabilities` | -| `lsp.config.` | `astrolsp` | `config.` | -| `lsp.flags` | `astrolsp` | `flags` | -| `lsp.formatting` | `astrolsp` | `formatting` | -| `lsp.mappings` | `astrolsp` | `mappings` | -| `lsp.on_attach` | `astrolsp` | `on_attach` | -| `lsp.servers` | `astrolsp` | `servers` | -| `lsp.setup_handlers` | `astrolsp` | `handlers` | -| `lsp.skip_setup` | `astrolsp` | Set `handler. = false` | -| `mappings` | `astrocore` | `mappings` | -| `options` | `astrocore` | `options` | -| `text_icons` | `astroui` | `text_icons` | - -v3 keys which are now handled entirely by the user in their configuration. Here are examples for where the configuration goes in the provided starter template: - -| `user/init.lua` table key | Starter Template Migration | -| ------------------------- | ----------------------------------------------------------------------------------------------------------------------------- | -| `lazy` | `lazy` is bootstrapped through `init.lua` and configured using `lua/lazy_setup.lua` | -| `plugins` | Plugins are in the directory `lua/plugins/.lua` | -| `polish` | `polish` is in the file `lua/polish.lua` | -| `updater` | Updating uses `lazy` update features and is configured in `init.lua` using `lazy` `branch` and `version` plugin spec options. | - -A few options were configured through global (`vim.g`) variables. These have also been moved to our core configuration plugins: - -| v3 `vim.g` variable | v4 `AstroNvim/` plugin | v4 plugin `opt` key | -| -------------------------- | ---------------------- | ----------------------------------- | -| `autoformat_enabled` | `astrolsp` | `formatting.format_on_save.enabled` | -| `autopairs_enabled` | `astrocore` | `features.autopairs` | -| `cmp_enabled` | `astrocore` | `features.cmp` | -| `codelens_enabled` | `astrolsp` | `features.codelens` | -| `diagnostic_mode` | `astrocore` | `features.diagnostics_mode` | -| `git_worktrees` | `astrocore` | `git_worktrees` | -| `highlighturl_enabled` | `astrocore` | `features.highlighturl` | -| `icons_enabled` | `AstroNvim` | `icons_enabled` | -| `inlay_hints_enabled` | `astrolsp` | `features.inlay_hints` | -| `lsp_handlers_enabled` | `astrolsp` | `lsp_handlers` | -| `max_file` | `astrocore` | `features.large_buf` | -| `semantic_tokens_enabled` | `astrolsp` | `features.semantic_tokens` | -| `ui_notifications_enabled` | `astrocore` | `features.notifications` | -| `resession_enabled` | N/A | Resession is now the default | - -The following keys are introduced in v4 and have no equivalent in v3. This configuration was done through user configuration (for example in `polish.lua): - -| New key | v4 `AstroNvim/` plugin | Description | -| ---------- | ---------------------- | ---------------------------------------------------------------------------- | -| `autocmds` | `astrocore` | Configure global auto commands | -| `commands` | `astrocore` | Configure global commands | -| `on_keys` | `astrocore` | Configure functions on key press | -| `rooter` | `astrocore` | Configure project root detection | -| `sessions` | `astrocore` | Configure Resession session management | -| `autocmds` | `astrolsp` | Configure buffer local auto commands to add when attaching a language server | -| `commands` | `astrolsp` | Configure buffer local user commands to add when attaching a language server | - -### Module Changes - -AstroNvim v3 also has many utility functions in `astronvim.utils` modules which users may be using in their user configuration These utility functions have been moved to the various AstroNvim core plugins. Here are the updated modules names which can be used to update `require` statements throughout the user configuration: - -| v3 module | v4 module | -| ---------------------------------- | ----------------------------------------- | -| `astronvim.utils` | `astrocore` | -| `astronvim.utils.buffer` | `astrocore.buffer` | -| `astronvim.utils.git` | N/A - no longer providing a Git Lua API | -| `astronvim.utils.lsp` | `astrolsp` | -| `astronvim.utils.mason` | `astrocore.mason` | -| `astronvim.utils.status` | `astroui.status` | -| `astronvim.utils.status.component` | `astroui.status.component` | -| `astronvim.utils.status.condition` | `astroui.status.condition` | -| `astronvim.utils.status.env` | `astroui.config.status` | -| `astronvim.utils.status.heirline` | `astroui.status.heirline` | -| `astronvim.utils.status.hl` | `astroui.status.hl` | -| `astronvim.utils.status.init` | `astroui.status.init` | -| `astronvim.utils.status.provider` | `astroui.status.provider` | -| `astronvim.utils.status.utils` | `astroui.status.utils` | -| `astronvim.utils.ui` | `astrocore.toggles` | -| `astronvim.utils.updater` | N/A - no longer providing our own updater | - -This table captures most of the changes, here are a few changes that don't exactly follow the above and need to be mentioned specifically: - -- A few `astronvim.util` functions were moved to `astroui` rather than `astrocore`: - - `get_hlgroup` → `require("astroui").get_hlgroup` - - `get_icon` → `require("astroui").get_icon` - - `get_spinner` → `require("astroui").get_spinner` - -### Plugin Changes - -Along with the new core AstroNvim plugins, we have made some other changes to our plugin list that user's should keep in mind while performing the migration. - -- Added: - - [`AstroNvim/AstroNvim`](https://github.com/AstroNvim/AstroNvim) - - AstroNvim is now formatted as a plugin that provides plugin specifications to `lazy.nvim` through `import`. - - [`AstroNvim/astrocore`](https://github.com/AstroNvim/astrocore) - - The core configuration mechanism for AstroNvim for configuring things such as auto commands, mappings, vim options, session management, etc. - - [`AstroNvim/astrolsp`](https://github.com/AstroNvim/astrolsp) - - The core LSP configuration mechanism for AstroNvim which provides a single place of configuration that interfaces between the various LSP plugins. - - [`AstroNvim/astroui`](https://github.com/AstroNvim/astroui) - - The UI configuration mechanism for providing a unified interface such as icon and highlight configuration as well as our extensive `status` Lua API for building our `statusline`, `tabline`, `winbar`, and `statuscolumn` - - [`RRethy/vim-illuminate`](https://github.com/RRethy/vim-illuminate) - - provides more general and performant highlighting of the word under the cursor. If you were previously removing the `augroup` `lsp_document_highlight`, we are no longer creating that `augroup` and instead you should just disable (or configure) this plugin. - - [`folke/todo-comments.nvim`](https://github.com/folke/todo-comments.nvim) - - provides highlighting of known comment strings like `TODO:`. -- Changed: - - [`jose-elias-alvarez/null-ls.nvim`](https://github.com/jose-elias-alvarez/null-ls.nvim) → [`nvimtools/none-ls.nvim`](https://github.com/nvimtools/none-ls.nvim) - - `null-ls` was archived by the author and `none-ls` is a maintainer fork. All `require`s are the same, but if you are configuring `null-ls` in your plugins anywhere be sure to update the repository to `nvimtools/none-ls.nvim`. - - [`Shatur/neovim-session-manager`](https://github.com/Shatur/neovim-session-manager) → [`stevearc/resession.nvim`](https://github.com/stevearc/resession.nvim) - - `resession.nvim` provides a deeper and more configurable Lua API for building up our session management. This allows us to take into account our tab-local buffers when saving and restoring sessions. Similar to how `heirline` provides a framework for building statuslines, `resession` provides a framework for session management. We have added a few easy to configure options in AstroCore under the `sessions` table in the configuration opts for easily configuring auto saving of sessions and rules for ignoring buffers when saving. For advanced configuration please check out the extensive [Ressesion Documentation](https://github.com/stevearc/resession.nvim/) and our [Session Management Recipes](/recipes/sessions). -- Removed: - - [`b0o/SchemaStore.nvim`](https://github.com/b0o/SchemaStore.nvim) - - We are no longer providing `SchemaStore.nvim` out of the box. This will be provided as needed in the AstroCommunity language packs. - -### Other Changes - -:::caution - -`mapleader` and `maplocalleader` must be configured either before the `lazy.setup` call or in the `AstroNvim/AstroNvim` `opts` (This is in the `lua/lazy_setup.lua` file in the official template). This is required due to the way that `lazy.nvim` plugin manager works and how Neovim creates mappings with the leaders. - -::: - -- Key codes in the keys for the mappings for AstroNvim are now normalized to match the casing in the official vimdocs. For example in v3 our mappings used ``, but this is now changed to ``. -- `mapleader` and `maplocalleader` must be set in the `AstroNvim/AstroNvim` configuration spec `opts` or before the `require("lazy").setup` call in your Neovim configuration. -- `MasonUpdate` and `MasonUpdateAll` commands have been renamed to `AstroMasonUpdate` and `AstroMasonUpdateAll` to avoid conflicting with core Mason commands -- `u` mappings have been modified to align buffer-local and global commands to a common standard -- The mapping for "Go to Type Definition" has changed from `gT` to `gy` to avoid the core vim mapping to go to previous vim tab -- The `file_info` component in the `status` API default options have been changed. If you are using `file_info` in your configuration, please refer to the new defaults in the [AstroUI Repository](https://github.com/AstroNvim/astroui/blob/main/lua/astroui/status/component.lua#L34-L57). -- `signs` is no longer used for configuring diagnostic signs. This is now configured in the `diagnostics` table under the `signs` key. If you are modifying the diagnostic signs in your configuration, please refer to the [AstroCore configuration in AstroNvim](https://github.com/AstroNvim/AstroNvim/blob/main/lua/astronvim/plugins/_astrocore.lua#L26-L33) -- The `signs` table is now a dictionary format rather than a list to more closely align with the core Neovim Lua API as well as make it easier for the user to modify. If you are customizing signs in your user configuration, the field that was previously `name` in the list is now the key in a dictionary like table. -- The "loop" text object configured in `nvim-treesitter-text-objects` has been changed from `l` to `o` to avoid collisions with the common text object for line -- If you previously had configured a global `neoconf.json` file in your `user/` folder, this should now go into the root of your configuration (typically: `~/.config/nvim`) -- `~/.config/astronvim` is no longer getting added to the runtime path as it doesn't make sense anymore - -### New Features - -Some changes have been made that do not necessarily require any user intervention during the migration, but are just new features! Here are a few icon_highlights - -- Full control over Neovim configuration folder (typically: `~/.config/nvim`) which allows the usage of all core runtime folders such as `after/`, `queries/`, etc. -- `shift+enter` in Neo-Tree will now open the file under the cursor with the system. This is useful for opening images or other files that are not supported natively by Neovim. -- Heirline now has a virtual environment component that is in the default configuration. If a virtual environment is activated, it will be shown in the statusline. -- AstroNvim now has a built-in project rooting utility that can be used to update the current working directory to an automatically detected project root. `:AstroRootInfo` can be used to see the current information from the rooter and `:AstroRoot` will update the current working directory to the detected root. This can be configured in AstroCore in the `rooter` settings to update the root automatically as well as changing how the root detection works. -- Large buffer detection has been greatly improved to make working with large files much faster. We have also added a user auto command event (`AstroLargeBuf`) which can be used to disable more things when a large buffer is detected. diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx new file mode 100644 index 000000000..813562851 --- /dev/null +++ b/src/content/docs/configuration/v5_migration.mdx @@ -0,0 +1,133 @@ +--- +id: v5_migration +title: Migration to v5.0 +--- + +import { Steps } from "@astrojs/starlight/components"; + +While AstroNvim v4 came with a large restructuring of the configuration organization, AstroNvim v5 is a much smaller major version release and mainly comes with some modernization of plugins and small quality of life improvements. Most of the migration will only apply to users who have gone and customized the plugins that have been replaced. The plugin replacements come from various reasons such as plugins getting archived (`dressing.nvim`), better performance, more stable development practices, and overall simplification. + +:::note + +Before getting started it is recommended to review the [Getting Started](/) guide. The guide explains how AstroNvim uses `lazy.nvim` and it also explains the AstroNvim configuration template, which is the recommended way to migrate from the previous version. + +::: + +## Setting Up a Migration Environment + +Breaking your working editor configuration when migrating to v5 will make it difficult to edit your new configuration. As such, we **recommend following the process** below so that your existing editor keeps working while you upgrade to the new v5 configuration. This workflow makes use of an [Isolated Installation](/reference/alt_install/#isolated-installation) environment. + +:::tip + +Checkout the [Managing User Configuration Page](/configuration/manage_user_config) for details on how to create a new git repository from our template or convert the clone described above into a repository. It is highly recommended to set up your configuration as a git repository so that it is backed up as well as easier to share. + +::: + + + +1. Clone the AstroNvim v5 configuration template to a new location (`astronvim_v5` is used as the example): + + ```sh + git clone https://github.com/AstroNvim/template ~/.config/astronvim_v5 + rm -rf ~/.config/astronvim_v5/.git + ``` + +2. Start `nvim` in the new environment. `nvim` should start, bootstrap itself by installing and loading `lazy.nvim`. Lazy will load all of the plugins specified by AstroNvim. + + ```sh + NVIM_APPNAME=astronvim_v5 nvim + ``` + +3. Migrate your AstroNvim v4 configuration to your new AstroNvim v5 environment at `~/.config/astronvim_v5` using the guide below. You can use your previous AstroNvim setup to do the editing and then continue running the command in Step 2 to test the new installation. + +4. Once you have your configuration set up how you like it, move it over to the default neovim configuration location `~/.config/nvim`: + + ```sh + # Backup old Neovim folders + mv ~/.local/share/nvim ~/.local/share/nvim.bak # backup old data folder + mv ~/.local/state/nvim ~/.local/state/nvim.bak # backup old state folder + mv ~/.cache/nvim ~/.cache/nvim.bak # backup old cache folder + mv ~/.config/nvim ~/.config/nvim.bak # backup old config + # Move new configuration into place + mv ~/.config/astronvim_v5 ~/.config/nvim # move new config + ``` + +5. Run your new v5 environment simply with `nvim` 🎉 + + + +## Migration Guide + +### Configuration Option Changes + +:::caution + +This is a work in progress. This guide is taking shape and covers much of the migration. There are holes though! If you see something missing drop a note on the Discord `#next` channel or open a pull request on GitHub. + +::: + +Each "Migrating" section below has an link to documentation and/or an example configuration. Each example configuration file shows the structure for configuring that plugin. The comments in each example configuration describes the configuration keys. + +:::note + +**Recommended reading**: for each plugin there is a link to example configuration. These configurations are full of documentation and can help guide your migration! + +::: + +The [plugin configuration files.](https://github.com/AstroNvim/AstroNvim/tree/main/lua%2Fastronvim%2Fplugins) in the AstroNvim codebase itself are also a good reference to learn how to configure. + +**Please also read the [Other Changes section](#other-changes)** - there are a number of changes that are not just "move some config from one place to another". For example, in key mapping `` is no longer recognized. + +If you get stuck, people on the [Discord](https://discord.astronvim.com/) forum are active and friendly! Like all humans, sometimes they are grumpy, so be nice to them! The best place to post is most likely the `#help-forum`, but poke around a few of the other channels, you never know what you will find that is useful. + +### Plugin Changes + +AstroNvim v5 comes with some changes to our default plugin list that user's should keep in mind while performing the migration. + +- Added: + - [`mason-tool-installer.nvim`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) + - AstroNvim is now relying on `mason-tool-installer.nvim` rather than `mason-lspconfig`/`mason-nvim-dap`/`mason-null-ls`. This makes configuration of installed packages easier rather than managing several `ensure_installed` tables and also adds support for installing packages automatically that are not part of any of those usecase specific plugins. `mason-tool-installer.nvim` also allows the user to specify specific package versions and other options. Check out the [`mason-tool-installer.nvim` Documentation](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) for details on it's configuration. + - For migration, anywhere in your configuration where you are configuring `ensure_installed` for `mason-lspconfig`/`mason-nvim-dap`/`mason-null-ls`, you should move those to an `ensure_installed` table in `mason-tool-installer.nvim`. You must also change the name of the package where necessary to properly reflect the name of the package in Mason. For instance, if you have `lua_ls` specified for `mason-lspconfig`, this would be `lua-language-server` in `mason-tool-installer.nvim`. +- Changed: + - [`nvim-web-devicons`](https://github.com/nvim-tree/nvim-web-devicons) → [`mini.icons`](https://github.com/echasnovski/mini.icons) + - TODO + - [`lspkind.nvim`](https://github.com/onsails/lspkind.nvim) → [`mini.icons`](https://github.com/echasnovski/mini.icons) + - TODO + - [`nvim-colorizer.lua`](https://github.com/NvChad/nvim-colorizer.lua) → [`nvim-highlight-colors`](https://github.com/brenoprata10/nvim-highlight-colors) + - TODO + - [`dressing.nvim`](https://github.com/stevearc/dressing.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - TODO + - [`indent-blankline.nvim`](https://github.com/lukas-reineke/indent-blankline.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - TODO + - [`telescope.nvim`](https://github.com/nvim-telescope/telescope.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - TODO + - [`alpha-nvim`](https://github.com/goolord/alpha-nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - TODO + - [`nvim-notify`](https://github.com/rcarriga/nvim-notify) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - TODO + +### AstroNvim Core Plugin Changes + +#### AstroCore + +- The `system_open` function has been removed and any references to `require("astrocore").system_open()` should be replaced with `vim.ui.open()` +- The `features.diagnostics_mode` configuration option has been simplified to just be `features.diagnostics`. This new value is either a boolean (`true`/`false`) to enable/disable diagnostics completely on startup, or it can be a table in the form of `{ virtual_text = true, virtual_lines = false }` to control the display of virtual text/virtual lines on startup. New toggles have been added (`uv` and `uV`) to toggle the virtual text and virtual lines at runtime. Furthermore the `ud` mapping simply enables/disables diagnostics completely rather than managing various different states. + +#### AstroLSP + +- Configuration of `vim.lsp.buf.hover` and `vim.lsp.buf.signature_help` are no longer configured through the `handlers["textDocument/hover"]` and `handlers["textDocument/signature_help"]` configuration options. This is because of a breaking change in core Neovim where these are no longer configured as such. The options are now configured through a new `defaults` table in the AstroLSP configuration (`defaults.hover` and `defaults.signature_help`). If you have customized those handlers in your configuration, then check the [AstroLSP Documentation](https://github.com/AstroNvim/astrolsp) for where to place those configurations. + +#### AstroUI + +- Introduction of a new `folding` module for a custom built `foldexpr` function in order to replace `nvim-ufo`. This feature is currently only enabled by default if you are using Neovim v0.11 as this provides LSP based folding out of the box, but if you want to use it with Neovim v0.10 then you can simply disable `nvim-ufo` in your user configuration. When in use, it also exposes a new command, `:AstroFoldInfo` which displays the current fold information. The folding behavior can also be configured through the new `folding` configuration table which can be explored through the [AstroUI Documentation](https://github.com/AstroNvim/astroui) which allows the user to configure when folding is enabled as well as which folding methods are utilized (currently supports treesitter based folding, indentation based folding, and LSP based folding which is Neovim v0.11 only). + +### Other Changes + +- `AstroMasonUpdate` and `AstroMasonUpdateAll` commands have been removed in favor for the commands provided by [`mason-tool-installer`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) +- The mapping `` for saving while in insert mode has been removed as this is now a core Neovim binding for showing signature help. + +### New Features + +Some changes have been made that do not necessarily require any user intervention during the migration, but are just new features! Here are a few highlights + +- TODO From 6271c159bb821aea92951318315d34df0bd3793b Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 13:07:26 -0400 Subject: [PATCH 09/22] fix(recipes): update AstroCommunity links for recipes --- src/content/docs/recipes/mappings.mdx | 4 ++-- src/content/docs/recipes/picker_theme.mdx | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/docs/recipes/mappings.mdx b/src/content/docs/recipes/mappings.mdx index 2521c9a2a..a1d84fc3a 100644 --- a/src/content/docs/recipes/mappings.mdx +++ b/src/content/docs/recipes/mappings.mdx @@ -74,12 +74,12 @@ return { :::tip -This is available in the [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/recipes/snacks-lsp-mappings) +This is available in the [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/recipes/picker-lsp-mappings) ```lua title="lua/community.lua" ins={3} return { "AstroNvim/astrocommunity", - { import = "astrocommunity.recipes.snacks-lsp-mappings" }, + { import = "astrocommunity.recipes.picker-lsp-mappings" }, } ``` diff --git a/src/content/docs/recipes/picker_theme.mdx b/src/content/docs/recipes/picker_theme.mdx index 281adae3e..0e1d14451 100644 --- a/src/content/docs/recipes/picker_theme.mdx +++ b/src/content/docs/recipes/picker_theme.mdx @@ -5,12 +5,12 @@ title: NvChad Snacks.Picker Theme :::tip -This is available in the [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/recipes/snacks-nvchad-theme) +This is available in the [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/recipes/picker-nvchad-theme) ```lua title="lua/community.lua" ins={3} return { "AstroNvim/astrocommunity", - { import = "astrocommunity.recipes.snacks-nvchad-theme" }, + { import = "astrocommunity.recipes.picker-nvchad-theme" }, } ``` From e1012d1c2118873866f42548bdb35f44810822a5 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 14:54:33 -0400 Subject: [PATCH 10/22] feat(mappings): add new LSP mappings --- src/content/docs/mappings.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/content/docs/mappings.mdx b/src/content/docs/mappings.mdx index 981cf28e3..495ca0409 100644 --- a/src/content/docs/mappings.mdx +++ b/src/content/docs/mappings.mdx @@ -154,10 +154,11 @@ AstroNvim generally relies on `` driven mappings, which is default set t | Diagnostic Warning Previous | `[w` | | Document Symbol Next | `]y` | | Document Symbol Previous | `[y` | +| Document Symbol | `gO` | | Declaration | `gD` | | Type Definition | `gy` | | Definition | `gd` | -| Implementation | `gI` | +| Implementation | `gri` | | References | `grr`, `Leader + lR` | ## Debugger Mappings From 2f67db26275c90a0bf079f14a392fb0495a4ec12 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 14:54:43 -0400 Subject: [PATCH 11/22] feat(migration): add more details to the v5 migration guide --- .../docs/configuration/v5_migration.mdx | 162 +++++++++++++++--- 1 file changed, 134 insertions(+), 28 deletions(-) diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx index 813562851..cb023be12 100644 --- a/src/content/docs/configuration/v5_migration.mdx +++ b/src/content/docs/configuration/v5_migration.mdx @@ -5,7 +5,7 @@ title: Migration to v5.0 import { Steps } from "@astrojs/starlight/components"; -While AstroNvim v4 came with a large restructuring of the configuration organization, AstroNvim v5 is a much smaller major version release and mainly comes with some modernization of plugins and small quality of life improvements. Most of the migration will only apply to users who have gone and customized the plugins that have been replaced. The plugin replacements come from various reasons such as plugins getting archived (`dressing.nvim`), better performance, more stable development practices, and overall simplification. +While AstroNvim v4 came with a large restructuring of the configuration organization, AstroNvim v5 is a much smaller major version release and mainly comes with some modernization of plugins and small quality of life improvements. The most notable change in AstroNvim v5 is that support for Neovim \<0.10 has been dropped and users must be running either Neovim stable releases of v0.10 or v0.11. Most of the migration will only apply to users who have gone and customized the plugins that have been replaced. The plugin replacements come from various reasons such as plugins getting archived (`dressing.nvim`), better performance, more stable development practices, and overall simplification. :::note @@ -84,50 +84,156 @@ If you get stuck, people on the [Discord](https://discord.astronvim.com/) forum AstroNvim v5 comes with some changes to our default plugin list that user's should keep in mind while performing the migration. -- Added: - - [`mason-tool-installer.nvim`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) - - AstroNvim is now relying on `mason-tool-installer.nvim` rather than `mason-lspconfig`/`mason-nvim-dap`/`mason-null-ls`. This makes configuration of installed packages easier rather than managing several `ensure_installed` tables and also adds support for installing packages automatically that are not part of any of those usecase specific plugins. `mason-tool-installer.nvim` also allows the user to specify specific package versions and other options. Check out the [`mason-tool-installer.nvim` Documentation](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) for details on it's configuration. - - For migration, anywhere in your configuration where you are configuring `ensure_installed` for `mason-lspconfig`/`mason-nvim-dap`/`mason-null-ls`, you should move those to an `ensure_installed` table in `mason-tool-installer.nvim`. You must also change the name of the package where necessary to properly reflect the name of the package in Mason. For instance, if you have `lua_ls` specified for `mason-lspconfig`, this would be `lua-language-server` in `mason-tool-installer.nvim`. -- Changed: - - [`nvim-web-devicons`](https://github.com/nvim-tree/nvim-web-devicons) → [`mini.icons`](https://github.com/echasnovski/mini.icons) - - TODO - - [`lspkind.nvim`](https://github.com/onsails/lspkind.nvim) → [`mini.icons`](https://github.com/echasnovski/mini.icons) - - TODO - - [`nvim-colorizer.lua`](https://github.com/NvChad/nvim-colorizer.lua) → [`nvim-highlight-colors`](https://github.com/brenoprata10/nvim-highlight-colors) - - TODO - - [`dressing.nvim`](https://github.com/stevearc/dressing.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) - - TODO - - [`indent-blankline.nvim`](https://github.com/lukas-reineke/indent-blankline.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) - - TODO - - [`telescope.nvim`](https://github.com/nvim-telescope/telescope.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) - - TODO - - [`alpha-nvim`](https://github.com/goolord/alpha-nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) - - TODO - - [`nvim-notify`](https://github.com/rcarriga/nvim-notify) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) - - TODO +#### Overview + +| Old Plugin | New Plugin | +| --------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | +| N/A | [`mason-tool-installer.nvim`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) | +| [`alpha-nvim`](https://github.com/goolord/alpha-nvim) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | +| [`dressing.nvim`](https://github.com/stevearc/dressing.nvim) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | +| [`indent-blankline.nvim`](https://github.com/lukas-reineke/indent-blankline.nvim) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | +| [`lspkind.nvim`](https://github.com/onsails/lspkind.nvim) | [`mini.icons`](https://github.com/echasnovski/mini.icons) | +| [`mini.bufremove`](https://github.com/echasnovski/mini.bufremove) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | +| [`nvim-colorizer.lua`](https://github.com/NvChad/nvim-colorizer.lua) | [`nvim-highlight-colors`](https://github.com/brenoprata10/nvim-highlight-colors) | +| [`nvim-notify`](https://github.com/rcarriga/nvim-notify) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | +| [`nvim-web-devicons`](https://github.com/nvim-tree/nvim-web-devicons) | [`mini.icons`](https://github.com/echasnovski/mini.icons) | +| [`telescope.nvim`](https://github.com/nvim-telescope/telescope.nvim) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | + +#### Details + +- [`mason-tool-installer.nvim`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) (New Plugin) + - AstroNvim is now relying on `mason-tool-installer.nvim` rather than `mason-lspconfig`/`mason-nvim-dap`/`mason-null-ls`. This makes configuration of installed packages easier rather than managing several `ensure_installed` tables and also adds support for installing packages automatically that are not part of any of those usecase specific plugins. `mason-tool-installer.nvim` also allows the user to specify specific package versions and other options. Check out the [`mason-tool-installer.nvim` Documentation](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) for details on it's configuration. + - For migration, anywhere in your configuration where you are configuring `ensure_installed` for `mason-lspconfig`/`mason-nvim-dap`/`mason-null-ls`, you should move those to an `ensure_installed` table in `mason-tool-installer.nvim`. You must also change the name of the package where necessary to properly reflect the name of the package in Mason. For instance, if you have `lua_ls` specified for `mason-lspconfig`, this would be `lua-language-server` in `mason-tool-installer.nvim`. +- [`alpha-nvim`](https://github.com/goolord/alpha-nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - If you are customizing `alpha-nvim`, checkout the [updated Dashboard Customizations recipes](/recipes/dashboard) and the [`snacks.dashboard` Documentation](https://github.com/folke/snacks.nvim/blob/main/docs/dashboard.md) for how to implement the same customizations in the new plugin. +- [`dressing.nvim`](https://github.com/stevearc/dressing.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - If you are customizing the `input` field in `dressing.nvim`, check out the [`snacks.input` Documentation](https://github.com/folke/snacks.nvim/blob/main/docs/input.md) for how to implement the same customizations in the new plugin. + - If you are customizing the `select` field in `dressing.nvim`, checkout the [`snacks.picker` Documentation](https://github.com/folke/snacks.nvim/blob/main/docs/picker.md) for how to implement the same customizations in the new plugin. +- [`indent-blankline.nvim`](https://github.com/lukas-reineke/indent-blankline.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - If you are customizing `indent-blankline.nvim`, checkout the [`snacks.indent` Documentation](https://github.com/folke/snacks.nvim/blob/main/docs/indent.md) for how to implement the same customizations in the new plugin. +- [`lspkind.nvim`](https://github.com/onsails/lspkind.nvim) → [`mini.icons`](https://github.com/echasnovski/mini.icons) + + - If you are customizing lsp kind icons, check out the [`mini.icons` Documentation](https://github.com/echasnovski/mini.icons/blob/main/doc/mini-icons.txt) for how to implement the same custom icons in the new plugin. + - If you have customized the `mode` option in `lspkind.nvim` to change the look of the LSP icons, this can be done easily by customizing the `formatting.format` function in `nvim-cmp`: + + ```lua title="lua/plugins/cmp_lspkind_modes.lua" + return { + "hrsh7th/nvim-cmp", + opts = function(_, opts) + if not opts.formatting then + opts.formatting = {} + end + -- use the `fields` option for reordering the fields + opts.formatting.fields = { "abbr", "kind", "menu" } + + -- we can use the AstroCore utility for easily patching a + -- function to extend our formatting + opts.formatting.format = require("astrocore").patch_func( + opts.formatting.format, + -- the function provides the original function for patching + -- and all of the parameters following + function(orig_format, entry, vim_item) + local kind_text = vim_item.kind -- store the kind text + + -- perform the base format function + vim_item = orig_format(entry, vim_item) + + -- put your lspkind.nvim `mode` here + local lspkind_mode = "symbol_text" + + -- symbol only is the default, so we will do nothing + -- if that mode is set. For all other modes set the + -- kind to the appropriate string concatenation + if lspkind_mode == "text" then + vim_item.kind = kind_text + elseif lspkind_mode == "text_symbol" then + vim_item.kind = kind_text .. " " .. vim_item.kind + elseif lspkind_mode == "symbol_text" then + vim_item.kind = vim_item.kind .. " " .. kind_text + end + + return vim_item + end + ) + end, + } + ``` + +- [`mini.bufremove`](https://github.com/echasnovski/mini.bufremove) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - If you are using any of the API provided by `mini.bufremove`, check out the [`snacks.bufdelete` Documentation](https://github.com/folke/snacks.nvim/blob/main/docs/bufdelete.md) for the new method names to call. +- [`nvim-colorizer.lua`](https://github.com/NvChad/nvim-colorizer.lua) → [`nvim-highlight-colors`](https://github.com/brenoprata10/nvim-highlight-colors) + - If you are customizing `nvim-colorizer.lua`, check out the [`nvim-highlight-colors` Documentation](https://github.com/brenoprata10/nvim-highlight-colors) for how to implement the same customizations in the new plugin. +- [`nvim-notify`](https://github.com/rcarriga/nvim-notify) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - If you are customizing `nvim-notify`, checkout the [`snacks.notify` Documentation](https://github.com/folke/snacks.nvim/blob/main/docs/notify.md) for how to implement the same customizations in the new plugin. +- [`nvim-web-devicons`](https://github.com/nvim-tree/nvim-web-devicons) → [`mini.icons`](https://github.com/echasnovski/mini.icons) + - If you are customizing icons, check out the [`mini.icons` Documentation](https://github.com/echasnovski/mini.icons/blob/main/doc/mini-icons.txt) for how to implement the same custom icons in the new plugin. +- [`telescope.nvim`](https://github.com/nvim-telescope/telescope.nvim) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) + - If you are customizing `telescope.nvim`, checkout the [`snacks.picker` Documentation](https://github.com/folke/snacks.nvim/blob/main/docs/picker.md) for how to implement the same customizations in the new plugin. + - Some plugins have strong `telescope.nvim` integration, if you have plugins such as this, look to see if they have support for `snacks.picker` or just the native `vim.ui.select` function which will use `snacks.picker`. + - If you want to revert back to using `telescope.nvim`, you can install it from [AstroCommunity](https://github.com/AstroNvim/astrocommunity/tree/main/lua/astrocommunity/fuzzy-finder/telescope-nvim) ### AstroNvim Core Plugin Changes #### AstroCore - The `system_open` function has been removed and any references to `require("astrocore").system_open()` should be replaced with `vim.ui.open()` -- The `features.diagnostics_mode` configuration option has been simplified to just be `features.diagnostics`. This new value is either a boolean (`true`/`false`) to enable/disable diagnostics completely on startup, or it can be a table in the form of `{ virtual_text = true, virtual_lines = false }` to control the display of virtual text/virtual lines on startup. New toggles have been added (`uv` and `uV`) to toggle the virtual text and virtual lines at runtime. Furthermore the `ud` mapping simply enables/disables diagnostics completely rather than managing various different states. +- The `features.diagnostics_mode` configuration option has been simplified to just be `features.diagnostics`. This new value is either a boolean (`true`/`false`) to enable/disable diagnostics completely on startup, or it can be a table in the form of `{ virtual_text = true, virtual_lines = false }` to control the display of virtual text/virtual lines on startup. New toggles have been added (`uv` and `uV`) to toggle the virtual text and virtual lines at runtime. +- The mapping `ud` simply enables/disables diagnostics completely rather than managing various different states. +- The `mappings` configuration table now does some basic normalization which means specific casing of the keys should not matter as much. It is still recommended to use the official keycode casing to maintain the most stable behavior. +- The `mason` module has been removed. If you are using `require("astrocore.mason")` anywhere, investigate the APIs available from [`mason.nvim`](https://github.com/williamboman/mason.nvim/blob/main/doc/reference.md) and [`mason-tool-installer.nvim`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) for alternatives. #### AstroLSP - Configuration of `vim.lsp.buf.hover` and `vim.lsp.buf.signature_help` are no longer configured through the `handlers["textDocument/hover"]` and `handlers["textDocument/signature_help"]` configuration options. This is because of a breaking change in core Neovim where these are no longer configured as such. The options are now configured through a new `defaults` table in the AstroLSP configuration (`defaults.hover` and `defaults.signature_help`). If you have customized those handlers in your configuration, then check the [AstroLSP Documentation](https://github.com/AstroNvim/astrolsp) for where to place those configurations. +- The `mappings` configuration table now does some basic normalization which means specific casing of the keys should not matter as much. It is still recommended to use the official keycode casing to maintain the most stable behavior. #### AstroUI -- Introduction of a new `folding` module for a custom built `foldexpr` function in order to replace `nvim-ufo`. This feature is currently only enabled by default if you are using Neovim v0.11 as this provides LSP based folding out of the box, but if you want to use it with Neovim v0.10 then you can simply disable `nvim-ufo` in your user configuration. When in use, it also exposes a new command, `:AstroFoldInfo` which displays the current fold information. The folding behavior can also be configured through the new `folding` configuration table which can be explored through the [AstroUI Documentation](https://github.com/AstroNvim/astroui) which allows the user to configure when folding is enabled as well as which folding methods are utilized (currently supports treesitter based folding, indentation based folding, and LSP based folding which is Neovim v0.11 only). - -### Other Changes - +- Introduction of a new `folding` module for a custom built `foldexpr` function in order to replace `nvim-ufo`. + - This feature is currently only enabled by default if you are using Neovim v0.11 as this provides LSP based folding out of the box, but if you want to use it with Neovim v0.10 then you can simply disable `nvim-ufo` in your user configuration. + - When in use, it also exposes a new command, `:AstroFoldInfo` which displays the current fold information. + - The folding behavior can also be configured through the new `folding` configuration table which can be explored through the [AstroUI Documentation](https://github.com/AstroNvim/astroui) which allows the user to configure when folding is enabled as well as which folding methods are utilized (currently supports treesitter based folding, indentation based folding, and LSP based folding which is Neovim v0.11 only). +- AstroUI status providers and component defaults options can now be configured in the `opts` table through `status.providers` and `status.components`. + + - All of these options have strong typing and autocompletion as long as the type is set with Lua annotations in the code (an example of this is shown in the code example below). + - This is primarily useful for customizing default options for the providers such as setting up custom LSP client name mappings or alignment/padding of some elements without having to fully modify the statusline in `heirline.nvim`. For example, if you want to set up custom LSP client names to be displayed, you can do the following: + + ```lua title="lua/plugins/astroui_lsp_client_names.lua" + return { + "AstroNvim/astroui", + ---@type AstroUIOpts + opts = { + status = { + providers = { + lsp_client_names = { + mappings = { + -- display `lua_ls` as just `LUA` in the statusline + lua_ls = "LUA", + }, + }, + }, + }, + }, + } + ``` + +### Other Breaking Changes + +- Drop support for Neovim v0.9 - `AstroMasonUpdate` and `AstroMasonUpdateAll` commands have been removed in favor for the commands provided by [`mason-tool-installer`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) - The mapping `` for saving while in insert mode has been removed as this is now a core Neovim binding for showing signature help. +- The mapping `gI` for lsp implementation has been moved to `gri` to align with new core Neovim default LSP mappings ### New Features Some changes have been made that do not necessarily require any user intervention during the migration, but are just new features! Here are a few highlights -- TODO +- Neovim v0.11 adds a ton of great new features such as `vim.lsp.foldexpr` and context based comment strings. When using Neovim v0.11 we disable a few plugins and just rely on core features + - `Comment.nvim` and `nvim-ts-context-commentstring` are disabled in Neovim v0.11 in favor of the built in commenting features + - `nvim-ufo` is disabled in Neovim v0.11 in favor of the new AstroUI based fold expression. This provides a much clearer implementation of folding rather than relying on the "manual" fold method which can lead to soome strange behavior. +- New mappings `uv` and `uV` for toggling diagnostic virtual text and virtual lines (virtual lines are only available in Neovim v0.11 and can replace plugins such as `lsp_lines.nvim`) +- New mapping `gO` for document symbols to align with new core Neovim default LSP mappings +- New mapping `uZ` for toggling "Zen mode" for the current buffer which maximizes the buffer, centers the code, and disables most of the "eye candy" such as diagnostics +- New mapping `go` for opening the current buffer's git URL in the browser if it is a git tracked file +- A new command, `:AstroRename` has been added which renames the current file. This uses a new function in AstroCore, [`require("astrocore").rename_file()`](https://github.com/AstroNvim/astrocore/blob/main/doc/api.md#rename_file) +- AstroLSP has a full implementation for LSP based file operations which can help with things such as updating import statements when renaming files. These features are now enabled by default and have integration with [`neo-tree.nvim`](https://github.com/nvim-neo-tree/neo-tree.nvim) when moving and renaming files as well as the `:AstroRename` command From 96f9872033b96b91bb3c1c6b2e089a11cccad1cb Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 15:07:16 -0400 Subject: [PATCH 12/22] fix: broken link --- src/content/docs/configuration/v5_migration.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx index cb023be12..b64b1ab45 100644 --- a/src/content/docs/configuration/v5_migration.mdx +++ b/src/content/docs/configuration/v5_migration.mdx @@ -76,7 +76,7 @@ Each "Migrating" section below has an link to documentation and/or an example co The [plugin configuration files.](https://github.com/AstroNvim/AstroNvim/tree/main/lua%2Fastronvim%2Fplugins) in the AstroNvim codebase itself are also a good reference to learn how to configure. -**Please also read the [Other Changes section](#other-changes)** - there are a number of changes that are not just "move some config from one place to another". For example, in key mapping `` is no longer recognized. +**Please also read the [Other Breaking Changes section](#other-breaking-changes)** - there are a number of changes that are not just "move some config from one place to another". For example, in key mapping `` is no longer recognized. If you get stuck, people on the [Discord](https://discord.astronvim.com/) forum are active and friendly! Like all humans, sometimes they are grumpy, so be nice to them! The best place to post is most likely the `#help-forum`, but poke around a few of the other channels, you never know what you will find that is useful. From 39668793f6d2a95c6e5cfe84bb9d029aeb94853e Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 15:15:06 -0400 Subject: [PATCH 13/22] fix: update migration banner --- src/content/docs/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 3e7b2c48d..d178aadf7 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -6,7 +6,7 @@ head: content: Getting Started banner: content: | - AstroNvim v4 is officially released! Upgrade today with the v4 migration guide! + AstroNvim v5 is officially released! Upgrade today with the v5 migration guide! --- import { Tabs, TabItem, FileTree, Steps } from "@astrojs/starlight/components"; From 2f9e86da71f996342f036b62168f25d1152b22cd Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 15:15:19 -0400 Subject: [PATCH 14/22] chore: update dependencies --- astro.config.mjs | 3 - package.json | 10 +- pnpm-lock.yaml | 855 ++++++++++++++++----------------- src/components/SiteTitle.astro | 58 --- 4 files changed, 423 insertions(+), 503 deletions(-) delete mode 100644 src/components/SiteTitle.astro diff --git a/astro.config.mjs b/astro.config.mjs index 4735de2fa..34dea4998 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -118,9 +118,6 @@ export default defineConfig({ logo: { src: "./src/assets/astronvim.svg", }, - components: { - SiteTitle: "./src/components/SiteTitle.astro", - }, plugins: [ starlightDocSearch({ appId: "JXZNTZ86UN", diff --git a/package.json b/package.json index 5118c4a29..5edfdcf41 100644 --- a/package.json +++ b/package.json @@ -11,15 +11,15 @@ "upgrade": "pnpm dlx @astrojs/upgrade" }, "dependencies": { - "@astrojs/mdx": "^4.0.6", - "@astrojs/starlight": "^0.31.1", - "@astrojs/starlight-docsearch": "^0.4.0", + "@astrojs/mdx": "^4.1.1", + "@astrojs/starlight": "^0.32.2", + "@astrojs/starlight-docsearch": "^0.6.0", "@astrojs/starlight-tailwind": "^3.0.0", - "@astrojs/tailwind": "^5.1.4", + "@astrojs/tailwind": "^6.0.0", "@expressive-code/plugin-collapsible-sections": "^0.35.3", "@fontsource-variable/inter": "^5.1.1", "@fontsource-variable/jetbrains-mono": "^5.1.2", - "astro": "^5.1.7", + "astro": "^5.4.3", "sharp": "^0.33.4", "starlight-image-zoom": "^0.1.0", "starlight-links-validator": "^0.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 762939444..52fa45733 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,20 +9,20 @@ importers: .: dependencies: '@astrojs/mdx': - specifier: ^4.0.6 - version: 4.0.6(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + specifier: ^4.1.1 + version: 4.1.1(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) '@astrojs/starlight': - specifier: ^0.31.1 - version: 0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + specifier: ^0.32.2 + version: 0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) '@astrojs/starlight-docsearch': - specifier: ^0.4.0 - version: 0.4.0(@algolia/client-search@4.24.0)(@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(search-insights@2.13.0) + specifier: ^0.6.0 + version: 0.6.0(@algolia/client-search@4.24.0)(@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(search-insights@2.13.0) '@astrojs/starlight-tailwind': specifier: ^3.0.0 - version: 3.0.0(@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(@astrojs/tailwind@5.1.4(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4))(tailwindcss@3.4.4) + version: 3.0.0(@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(@astrojs/tailwind@6.0.0(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4))(tailwindcss@3.4.4) '@astrojs/tailwind': - specifier: ^5.1.4 - version: 5.1.4(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4) + specifier: ^6.0.0 + version: 6.0.0(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4) '@expressive-code/plugin-collapsible-sections': specifier: ^0.35.3 version: 0.35.3 @@ -33,17 +33,17 @@ importers: specifier: ^5.1.2 version: 5.1.2 astro: - specifier: ^5.1.7 - version: 5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) + specifier: ^5.4.3 + version: 5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) sharp: specifier: ^0.33.4 version: 0.33.4 starlight-image-zoom: specifier: ^0.1.0 - version: 0.1.0(@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))) + version: 0.1.0(@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))) starlight-links-validator: specifier: ^0.5.3 - version: 0.5.3(@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + version: 0.5.3(@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) tailwindcss: specifier: ^3.4.4 version: 3.4.4 @@ -138,17 +138,17 @@ packages: '@astrojs/compiler@1.8.2': resolution: {integrity: sha512-o/ObKgtMzl8SlpIdzaxFnt7SATKPxu4oIP/1NL+HDJRzxfJcAkOTAb/ZKMRyULbz4q+1t2/DAebs2Z1QairkZw==} - '@astrojs/compiler@2.10.3': - resolution: {integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==} + '@astrojs/compiler@2.10.4': + resolution: {integrity: sha512-86B3QGagP99MvSNwuJGiYSBHnh8nLvm2Q1IFI15wIUJJsPeQTO3eb2uwBmrqRsXykeR/mBzH8XCgz5AAt1BJrQ==} - '@astrojs/internal-helpers@0.4.2': - resolution: {integrity: sha512-EdDWkC3JJVcpGpqJAU/5hSk2LKXyG3mNGkzGoAuyK+xoPHbaVdSuIWoN1QTnmK3N/gGfaaAfM8gO2KDCAW7S3w==} + '@astrojs/internal-helpers@0.6.1': + resolution: {integrity: sha512-l5Pqf6uZu31aG+3Lv8nl/3s4DbUzdlxTWDof4pEpto6GUJNhhCbelVi9dEyurOVyqaelwmS9oSyOWOENSfgo9A==} - '@astrojs/markdown-remark@6.0.2': - resolution: {integrity: sha512-aAoHGVRK3rebCYbaLjyyR+3VeAuTz4q49syUxJP29Oo5yZHdy4cCAXRqLBdr9mJVlxCUUjZiF0Dau6YBf65SGg==} + '@astrojs/markdown-remark@6.2.1': + resolution: {integrity: sha512-qtQXfZXeG84XSH9bMgG2e/kZfA4J7U19PKjhmFDNsKX47nautSHC0DitvxaWgQFSED66k6hWKDHLq3VKHCy/rg==} - '@astrojs/mdx@4.0.6': - resolution: {integrity: sha512-ADLYzHrJeIIyXk6grCBr6TmHtM1buXJ/84ulwuZrte8liI0/iQSujeOjzW0/GKgh1RBBGpg1/mopbkn1sPGz5w==} + '@astrojs/mdx@4.1.1': + resolution: {integrity: sha512-zz/x7wL4nQukG4XKZONainVr31uArB/Jnbq0NvhOGw2LCDhVQ6d9yIYxma5hJ8PU5QjLu8bWHz7ZGRD37GBWJw==} engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0} peerDependencies: astro: ^5.0.0 @@ -160,10 +160,10 @@ packages: '@astrojs/sitemap@3.2.1': resolution: {integrity: sha512-uxMfO8f7pALq0ADL6Lk68UV6dNYjJ2xGUzyjjVj60JLBs5a6smtlkBYv3tQ0DzoqwS7c9n4FUx5lgv0yPo/fgA==} - '@astrojs/starlight-docsearch@0.4.0': - resolution: {integrity: sha512-XLgvJi4qAZVObdKofzFbbzskUhOQtMmyl69vVEH+1H/h/NAro7QZWnZAxD16UWM3iUjOWcaI8Zi3aTPNan7cNQ==} + '@astrojs/starlight-docsearch@0.6.0': + resolution: {integrity: sha512-jTW/6SVU98/birzDCrYLVEKrgzdRzLlevGIhG6EDRmieLCAUnsKUk0q856fOJ7RJcuVLTlzg80rkwAgRINpyZQ==} peerDependencies: - '@astrojs/starlight': '>=0.30.0' + '@astrojs/starlight': '>=0.32.0' '@astrojs/starlight-tailwind@3.0.0': resolution: {integrity: sha512-oYHG9RY+VaOSeAhheVZfm9HDA892qvcQA82VT86POYmg1OsgBuWwdf1ZbofV8iq/z5kO06ajcSdzhPE8lhEx8g==} @@ -172,13 +172,13 @@ packages: '@astrojs/tailwind': ^5.1.3 tailwindcss: ^3.3.3 - '@astrojs/starlight@0.31.1': - resolution: {integrity: sha512-VIVkHugwgtEqJPiRH8+ouP0UqUfdmpBO9C64R+6QaQ2qmADNkI/BA3/YAJHTBZYlMQQGEEuLJwD9qpaUovi52Q==} + '@astrojs/starlight@0.32.2': + resolution: {integrity: sha512-FLz8Y8R+GsD0jD/G64bYijwwVsAq99Ugk2bJYRmH2k1reYMh83GRma2IaKGgSI2fLNEu7tdyG4cpkwrwP3W02A==} peerDependencies: astro: ^5.1.5 - '@astrojs/tailwind@5.1.4': - resolution: {integrity: sha512-EJ3uoTZZr0RYwTrVS2HgYN0+VbXvg7h87AtwpD5OzqS3GyMwRmzfOwHfORTxoWGQRrY9k/Fi+Awk60kwpvRL5Q==} + '@astrojs/tailwind@6.0.0': + resolution: {integrity: sha512-GbEK2/h0nvY8i6g1GZT5ddHAgj71lQIf34/j7+jPLhUti3xDxKcWElApDe2jWvqAaKl2oKEh045ITSm8mU9BVQ==} peerDependencies: astro: ^3.0.0 || ^4.0.0 || ^5.0.0 tailwindcss: ^3.0.24 @@ -238,152 +238,152 @@ packages: '@emnapi/runtime@1.2.0': resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} - '@esbuild/aix-ppc64@0.24.2': - resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} + '@esbuild/aix-ppc64@0.25.1': + resolution: {integrity: sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.24.2': - resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} + '@esbuild/android-arm64@0.25.1': + resolution: {integrity: sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.24.2': - resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} + '@esbuild/android-arm@0.25.1': + resolution: {integrity: sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.24.2': - resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} + '@esbuild/android-x64@0.25.1': + resolution: {integrity: sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.24.2': - resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} + '@esbuild/darwin-arm64@0.25.1': + resolution: {integrity: sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.24.2': - resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} + '@esbuild/darwin-x64@0.25.1': + resolution: {integrity: sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.24.2': - resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} + '@esbuild/freebsd-arm64@0.25.1': + resolution: {integrity: sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.24.2': - resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} + '@esbuild/freebsd-x64@0.25.1': + resolution: {integrity: sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.24.2': - resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} + '@esbuild/linux-arm64@0.25.1': + resolution: {integrity: sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.24.2': - resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} + '@esbuild/linux-arm@0.25.1': + resolution: {integrity: sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.24.2': - resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} + '@esbuild/linux-ia32@0.25.1': + resolution: {integrity: sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.24.2': - resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} + '@esbuild/linux-loong64@0.25.1': + resolution: {integrity: sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.24.2': - resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} + '@esbuild/linux-mips64el@0.25.1': + resolution: {integrity: sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.24.2': - resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} + '@esbuild/linux-ppc64@0.25.1': + resolution: {integrity: sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.24.2': - resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} + '@esbuild/linux-riscv64@0.25.1': + resolution: {integrity: sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.24.2': - resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} + '@esbuild/linux-s390x@0.25.1': + resolution: {integrity: sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.24.2': - resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} + '@esbuild/linux-x64@0.25.1': + resolution: {integrity: sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.24.2': - resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==} + '@esbuild/netbsd-arm64@0.25.1': + resolution: {integrity: sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.24.2': - resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} + '@esbuild/netbsd-x64@0.25.1': + resolution: {integrity: sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.24.2': - resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} + '@esbuild/openbsd-arm64@0.25.1': + resolution: {integrity: sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.24.2': - resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} + '@esbuild/openbsd-x64@0.25.1': + resolution: {integrity: sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/sunos-x64@0.24.2': - resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} + '@esbuild/sunos-x64@0.25.1': + resolution: {integrity: sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.24.2': - resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} + '@esbuild/win32-arm64@0.25.1': + resolution: {integrity: sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.24.2': - resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} + '@esbuild/win32-ia32@0.25.1': + resolution: {integrity: sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.24.2': - resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} + '@esbuild/win32-x64@0.25.1': + resolution: {integrity: sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -735,21 +735,39 @@ packages: '@shikijs/core@1.27.2': resolution: {integrity: sha512-ns1dokDr0KE1lQ9mWd4rqaBkhSApk0qGCK1+lOqwnkQSkVZ08UGqXj1Ef8dAcTMZNFkN6PSNjkL5TYNX7pyPbQ==} + '@shikijs/core@1.29.2': + resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} + '@shikijs/engine-javascript@1.27.2': resolution: {integrity: sha512-0JB7U5vJc16NShBdxv9hSSJYSKX79+32O7F4oXIxJLdYfomyFvx4B982ackUI9ftO9T3WwagkiiD3nOxOOLiGA==} + '@shikijs/engine-javascript@1.29.2': + resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} + '@shikijs/engine-oniguruma@1.27.2': resolution: {integrity: sha512-FZYKD1KN7srvpkz4lbGLOYWlyDU4Rd+2RtuKfABTkafAPOFr+J6umfIwY/TzOQqfNtWjL7SAwPAO0dcOraRLaQ==} + '@shikijs/engine-oniguruma@1.29.2': + resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} + '@shikijs/langs@1.27.2': resolution: {integrity: sha512-MSrknKL0DbeXvhtSigMLIzjPOOQfvK7fsbcRv2NUUB0EvuTTomY8/U+lAkczYrXY2+dygKOapJKk8ScFYbtoNw==} + '@shikijs/langs@1.29.2': + resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} + '@shikijs/themes@1.27.2': resolution: {integrity: sha512-Yw/uV7EijjWavIIZLoWneTAohcbBqEKj6XMX1bfMqO3llqTKsyXukPp1evf8qPqzUHY7ibauqEaQchhfi857mg==} + '@shikijs/themes@1.29.2': + resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} + '@shikijs/types@1.27.2': resolution: {integrity: sha512-DM9OWUyjmdYdnKDpaGB/GEn9XkToyK1tqxuqbmc5PV+5K8WjjwfygL3+cIvbkSw2v1ySwHDgqATq/+98pJ4Kyg==} + '@shikijs/types@1.29.2': + resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} + '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} @@ -765,9 +783,6 @@ packages: '@types/estree-jsx@1.0.5': resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} @@ -864,9 +879,6 @@ packages: arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -889,8 +901,8 @@ packages: peerDependencies: astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0 - astro@5.1.7: - resolution: {integrity: sha512-hGYHtO+67ZWDl0TY9ysh2iBv2KOgcgvpFJaMGZvknqBjh6TGqrwtWldCsJr1CK57rK8ycpPwC3Bi5bPaBELMuw==} + astro@5.4.3: + resolution: {integrity: sha512-GKkOJQCHLx6CrPoghGhj7824WDSvIuuc+HTVjfjMPdB9axp238iJLByREJNDaSdzMeR/lC13xvBiUnKvcYyEIA==} engines: {node: ^18.17.1 || ^20.3.0 || >=22.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0'} hasBin: true @@ -1019,6 +1031,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} @@ -1092,10 +1108,6 @@ packages: resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} engines: {node: '>=8'} - consola@3.4.0: - resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==} - engines: {node: ^14.18.0 || >=16.10.0} - content-disposition@0.5.4: resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} engines: {node: '>= 0.6'} @@ -1129,8 +1141,8 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - crossws@0.3.1: - resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==} + crossws@0.3.4: + resolution: {integrity: sha512-uj0O1ETYX1Bh6uSgktfPvwDiPYGQ3aI4qVsaC/LWpkIzGj1nUYm5FK3K+t11oOlpN01lGbprFCH4wBlKdJjVgw==} crypto-random-string@2.0.0: resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} @@ -1183,15 +1195,6 @@ packages: supports-color: optional: true - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -1329,8 +1332,8 @@ packages: esast-util-from-js@2.0.1: resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==} - esbuild@0.24.2: - resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} + esbuild@0.25.1: + resolution: {integrity: sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==} engines: {node: '>=18'} hasBin: true @@ -1353,11 +1356,6 @@ packages: resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} engines: {node: '>=12'} - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - estree-util-attach-comments@3.0.0: resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==} @@ -1408,16 +1406,20 @@ packages: resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} - fast-glob@3.3.3: - resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} - engines: {node: '>=8.6.0'} - fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} fd-slicer@1.1.0: resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + fdir@6.4.3: + resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + fetch-blob@3.2.0: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} @@ -1430,17 +1432,10 @@ packages: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} - find-up-simple@1.0.0: - resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} - engines: {node: '>=18'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flattie@1.1.1: resolution: {integrity: sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==} engines: {node: '>=8'} @@ -1520,8 +1515,8 @@ packages: graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - h3@1.13.1: - resolution: {integrity: sha512-u/z6Z4YY+ANZ05cRRfsFJadTBrNA6e3jxdU+AN5UCbZSZEUwgHiwjvUEe0k1NoQmAvQmETwr+xB5jd7mhCJuIQ==} + h3@1.15.1: + resolution: {integrity: sha512-+ORaOBttdUm1E2Uu/obAyCguiI7MbBvsLTndc3gyK3zU+SYLoZXlyCP9Xgy0gikkGufFLTZXCXD6+4BsufnmHA==} has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -1581,12 +1576,12 @@ packages: hast-util-to-html@9.0.1: resolution: {integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==} - hast-util-to-html@9.0.3: - resolution: {integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==} - hast-util-to-html@9.0.4: resolution: {integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==} + hast-util-to-html@9.0.5: + resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==} + hast-util-to-jsx-runtime@2.3.0: resolution: {integrity: sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==} @@ -1782,10 +1777,6 @@ packages: resolution: {integrity: sha512-c80Qupofp43y4cJ7+8TTDN/AsDwLi5oOm/plBrWI+iQt485vKXCco+yVmOwEgdo9VOdsYTuV0UlTeetVPTriXA==} engines: {node: '>=12'} - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -1798,6 +1789,10 @@ packages: resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} engines: {node: '>=6'} + klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + lighthouse-logger@1.4.2: resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==} @@ -1820,10 +1815,6 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -2054,10 +2045,6 @@ packages: resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} engines: {node: '>=8.6'} - micromatch@4.0.8: - resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} - engines: {node: '>=8.6'} - mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -2071,11 +2058,6 @@ packages: engines: {node: '>=4'} hasBin: true - mime@3.0.0: - resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} - engines: {node: '>=10.0.0'} - hasBin: true - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2090,8 +2072,8 @@ packages: mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mrmime@2.0.0: - resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} engines: {node: '>=10'} ms@2.0.0: @@ -2137,8 +2119,8 @@ packages: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} - node-fetch-native@1.6.4: - resolution: {integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==} + node-fetch-native@1.6.6: + resolution: {integrity: sha512-8Mc2HhqPdlIfedsuZoc3yioPuzp6b+L5jRCRY1QzuWZh2EGJVQrGppC6V6cF0bLdbW0+O2YpqCA25aF/1lvipQ==} node-fetch@2.6.7: resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} @@ -2153,6 +2135,9 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-mock-http@1.0.0: + resolution: {integrity: sha512-0uGYQ1WQL1M5kKvGRXWQ3uZCHtLTO8hln3oBjIusM75WoesZ909uQJs/Hb946i2SS+Gsrhkaa6iAO17jRIv6DQ==} + node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -2185,9 +2170,6 @@ packages: ofetch@1.4.1: resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==} - ohash@1.1.4: - resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==} - on-finished@2.4.1: resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} engines: {node: '>= 0.8'} @@ -2202,6 +2184,9 @@ packages: oniguruma-to-es@2.1.0: resolution: {integrity: sha512-Iq/949c5IueVC5gQR7OYXs0uHsDIePcgZFlVRIVGfQcWwbKG+nsyWfthswdytShlRdkZADY+bWSi+BRyUL81gA==} + oniguruma-to-es@2.3.0: + resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} + open@8.4.2: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} @@ -2218,8 +2203,8 @@ packages: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} - p-queue@8.0.1: - resolution: {integrity: sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA==} + p-queue@8.1.0: + resolution: {integrity: sha512-mxLDbbGIBEXTJL0zEx8JIylaj3xQ7Z/7eEVjcF9fJX4DBiH9oqe+oahYnlKKxm0Ci9TlWTyhSHgygxMxjIB2jw==} engines: {node: '>=18'} p-timeout@6.1.2: @@ -2233,6 +2218,9 @@ packages: package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + package-manager-detector@1.0.0: + resolution: {integrity: sha512-7elnH+9zMsRo7aS72w6MeRugTpdRvInmEB4Kmm9BVvPw/SLG8gXUGQ+4wF0Mys0RSWPz0B9nuBbDe8vFeA2sfg==} + pagefind@1.3.0: resolution: {integrity: sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==} hasBin: true @@ -2278,9 +2266,6 @@ packages: path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - pend@1.2.0: resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} @@ -2302,10 +2287,6 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -2355,21 +2336,17 @@ packages: resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} - postcss@8.4.47: - resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} - engines: {node: ^10 || ^12 || >=14} - postcss@8.5.1: resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} + preact@10.22.0: resolution: {integrity: sha512-RRurnSjJPj4rp5K6XoP45Ui33ncb7e4H7WiOHVpjbkvqvA3U+N8Z6Qbo0AE6leGYBV66n8EhEaFixvIu3SkxFw==} - preferred-pm@4.0.0: - resolution: {integrity: sha512-gYBeFTZLu055D8Vv3cSPox/0iTPtkzxpLroSYYA7WXgRi31WCJ51Uyl8ZiPeUUjyvs2MBzK+S8v9JVUgHU/Sqw==} - engines: {node: '>=18.12'} - prettier-plugin-astro@0.13.0: resolution: {integrity: sha512-5HrJNnPmZqTUNoA97zn4gNQv9BgVhv+et03314WpQ9H9N8m2L9OSV798olwmG2YLXPl1iSstlJCR1zB3x5xG4g==} engines: {node: ^14.15.0 || >=16.0.0} @@ -2446,6 +2423,9 @@ packages: property-information@6.5.0: resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} + property-information@7.0.0: + resolution: {integrity: sha512-7D/qOz/+Y4X/rzSB6jKxKUsQnphO046ei8qxG59mtM3RG3DHgTK81HrxrmoDVINJb8NKT5ZsRbwHvQ6B68Iyhg==} + proxy-addr@2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -2502,6 +2482,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + recma-build-jsx@1.0.0: resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==} @@ -2557,8 +2541,8 @@ packages: remark-directive@3.0.0: resolution: {integrity: sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==} - remark-gfm@4.0.0: - resolution: {integrity: sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==} + remark-gfm@4.0.1: + resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==} remark-mdx@3.0.1: resolution: {integrity: sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==} @@ -2651,8 +2635,8 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.3: - resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + semver@7.7.1: + resolution: {integrity: sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==} engines: {node: '>=10'} hasBin: true @@ -2686,6 +2670,9 @@ packages: shiki@1.27.2: resolution: {integrity: sha512-QtA1C41oEVixKog+V8I3ia7jjGls7oCZ8Yul8vdHrVBga5uPoyTtMvFF4lMMXIyAZo5A5QbXq91bot2vA6Q+eQ==} + shiki@1.29.2: + resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} + side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} engines: {node: '>= 0.4'} @@ -2708,6 +2695,10 @@ packages: engines: {node: '>=14.0.0', npm: '>=6.0.0'} hasBin: true + smol-toml@1.3.1: + resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==} + engines: {node: '>= 18'} + source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} @@ -2731,9 +2722,6 @@ packages: resolution: {integrity: sha512-DI7/OuAUD+GMpR6dmu8lliO2Wg5zfeh+/xsdyJZCzd8o5JgFUjCeLsBDuZjIQJdwXS3J0L/uZYrELKYqx+PXog==} engines: {node: '>=8.0'} - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - starlight-image-zoom@0.1.0: resolution: {integrity: sha512-AtGF+or+fdHyCBWBsCled7tqMSc6Gb2NuUq3XOKndfiUeV2shqgqAmsBWjHIHWfWYAiXZp8WUKYBOy8pba42CA==} engines: {node: '>=18'} @@ -2780,10 +2768,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - style-to-object@0.4.4: resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} @@ -2834,6 +2818,10 @@ packages: tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} + tinyglobby@0.2.12: + resolution: {integrity: sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==} + engines: {node: '>=12.0.0'} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -2858,8 +2846,8 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - tsconfck@3.1.4: - resolution: {integrity: sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==} + tsconfck@3.1.5: + resolution: {integrity: sha512-CLDfGgUp7XPswWnezWwsCRxNmgQjhYq3VXHM0/XIRxhVrKw0M1if9agzryh1QS3nxjCROvV+xWxoJO1YctzzWg==} engines: {node: ^18 || >=20} hasBin: true peerDependencies: @@ -2910,9 +2898,6 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - unenv@1.10.0: - resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==} - unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} @@ -2954,27 +2939,27 @@ packages: resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} engines: {node: '>= 0.8'} - unstorage@1.14.4: - resolution: {integrity: sha512-1SYeamwuYeQJtJ/USE1x4l17LkmQBzg7deBJ+U9qOBoHo15d1cDxG4jM31zKRgF7pG0kirZy4wVMX6WL6Zoscg==} + unstorage@1.15.0: + resolution: {integrity: sha512-m40eHdGY/gA6xAPqo8eaxqXgBuzQTlAKfmB1iF7oCKXE1HfwHwzDJBywK+qQGn52dta+bPlZluPF7++yR3p/bg==} peerDependencies: '@azure/app-configuration': ^1.8.0 '@azure/cosmos': ^4.2.0 '@azure/data-tables': ^13.3.0 - '@azure/identity': ^4.5.0 + '@azure/identity': ^4.6.0 '@azure/keyvault-secrets': ^4.9.0 '@azure/storage-blob': ^12.26.0 '@capacitor/preferences': ^6.0.3 - '@deno/kv': '>=0.8.4' + '@deno/kv': '>=0.9.0' '@netlify/blobs': ^6.5.0 || ^7.0.0 || ^8.1.0 '@planetscale/database': ^1.19.0 '@upstash/redis': ^1.34.3 - '@vercel/blob': '>=0.27.0' + '@vercel/blob': '>=0.27.1' '@vercel/kv': ^1.0.1 aws4fetch: ^1.0.20 db0: '>=0.2.1' idb-keyval: ^6.2.1 ioredis: ^5.4.2 - uploadthing: ^7.4.1 + uploadthing: ^7.4.4 peerDependenciesMeta: '@azure/app-configuration': optional: true @@ -3045,8 +3030,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite@6.0.7: - resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==} + vite@6.2.1: + resolution: {integrity: sha512-n2GnqDb6XPhlt9B8olZPrgMD/es/Nd1RdChF6CBD/fHW6pUyUTt2sQW2fPRX5GiD9XEa6+8A6A4f2vT6pSsE7Q==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -3085,8 +3070,8 @@ packages: yaml: optional: true - vitefu@1.0.5: - resolution: {integrity: sha512-h4Vflt9gxODPFNGPwp4zAMZRpZR7eslzwH2c5hn5kNZ5rhnKyRJ50U+yGCdc2IRaBs8O4haIgLNGrV5CrpMsCA==} + vitefu@1.0.6: + resolution: {integrity: sha512-+Rex1GlappUyNN6UfwbVZne/9cYC4+R2XDk9xkNXBKMw6HQagdX9PgZ8V2v1WUSK1wfBLp7qbI1+XSNIlB1xmA==} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 peerDependenciesMeta: @@ -3110,10 +3095,6 @@ packages: resolution: {integrity: sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==} engines: {node: '>=4'} - which-pm@3.0.0: - resolution: {integrity: sha512-ysVYmw6+ZBhx3+ZkcPwRuJi38ZOTLJJ33PSHaitLxSKUMsh0LkKd0nC69zZCwt5D+AYUcMK2hhw4yWny20vSGg==} - engines: {node: '>=18.12'} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3208,16 +3189,16 @@ packages: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} - yocto-spinner@0.1.2: - resolution: {integrity: sha512-VfmLIh/ZSZOJnVRQZc/dvpPP90lWL4G0bmxQMP0+U/2vKBA8GSpcBuWv17y7F+CZItRuO97HN1wdbb4p10uhOg==} + yocto-spinner@0.2.1: + resolution: {integrity: sha512-lHHxjh0bXaLgdJy3cNnVb/F9myx3CkhrvSOEVTkaUgNMXnYFa2xYPVhtGnqhh3jErY2gParBOHallCbc7NrlZQ==} engines: {node: '>=18.19'} yoctocolors@2.1.1: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} - zod-to-json-schema@3.24.1: - resolution: {integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==} + zod-to-json-schema@3.24.3: + resolution: {integrity: sha512-HIAfWdYIt1sssHfYZFCXp4rU1w2r8hVVXYIlmoa0r0gABLs5di3RCqPU5DDROogVz1pAdYBaz7HK5n9pSUNs3A==} peerDependencies: zod: ^3.24.1 @@ -3227,12 +3208,12 @@ packages: typescript: ^4.9.4 || ^5.0.2 zod: ^3 - zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - zod@3.24.1: resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + zod@3.24.2: + resolution: {integrity: sha512-lY7CDW43ECgW9u1TcT3IoXHflywfVqDYze4waEz812jR/bZ8FHDsl7pFQoSZTz5N+2NqRXs8GBwnAwo3ZNxqhQ==} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -3346,12 +3327,13 @@ snapshots: '@astrojs/compiler@1.8.2': {} - '@astrojs/compiler@2.10.3': {} + '@astrojs/compiler@2.10.4': {} - '@astrojs/internal-helpers@0.4.2': {} + '@astrojs/internal-helpers@0.6.1': {} - '@astrojs/markdown-remark@6.0.2': + '@astrojs/markdown-remark@6.2.1': dependencies: + '@astrojs/internal-helpers': 0.6.1 '@astrojs/prism': 3.2.0 github-slugger: 2.0.0 hast-util-from-html: 2.0.3 @@ -3361,11 +3343,12 @@ snapshots: mdast-util-definitions: 6.0.0 rehype-raw: 7.0.0 rehype-stringify: 10.0.1 - remark-gfm: 4.0.0 + remark-gfm: 4.0.1 remark-parse: 11.0.0 remark-rehype: 11.1.1 remark-smartypants: 3.0.2 - shiki: 1.27.2 + shiki: 1.29.2 + smol-toml: 1.3.1 unified: 11.0.5 unist-util-remove-position: 5.0.0 unist-util-visit: 5.0.0 @@ -3374,18 +3357,18 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/mdx@4.0.6(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))': + '@astrojs/mdx@4.1.1(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))': dependencies: - '@astrojs/markdown-remark': 6.0.2 + '@astrojs/markdown-remark': 6.2.1 '@mdx-js/mdx': 3.1.0(acorn@8.14.0) acorn: 8.14.0 - astro: 5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) + astro: 5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) es-module-lexer: 1.6.0 estree-util-visit: 2.0.0 - hast-util-to-html: 9.0.4 + hast-util-to-html: 9.0.5 kleur: 4.1.5 rehype-raw: 7.0.0 - remark-gfm: 4.0.0 + remark-gfm: 4.0.1 remark-smartypants: 3.0.2 source-map: 0.7.4 unist-util-visit: 5.0.0 @@ -3401,11 +3384,11 @@ snapshots: dependencies: sitemap: 8.0.0 stream-replace-string: 2.0.0 - zod: 3.23.8 + zod: 3.24.1 - '@astrojs/starlight-docsearch@0.4.0(@algolia/client-search@4.24.0)(@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(search-insights@2.13.0)': + '@astrojs/starlight-docsearch@0.6.0(@algolia/client-search@4.24.0)(@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(search-insights@2.13.0)': dependencies: - '@astrojs/starlight': 0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + '@astrojs/starlight': 0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.24.0)(search-insights@2.13.0) transitivePeerDependencies: @@ -3415,22 +3398,22 @@ snapshots: - react-dom - search-insights - '@astrojs/starlight-tailwind@3.0.0(@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(@astrojs/tailwind@5.1.4(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4))(tailwindcss@3.4.4)': + '@astrojs/starlight-tailwind@3.0.0(@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(@astrojs/tailwind@6.0.0(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4))(tailwindcss@3.4.4)': dependencies: - '@astrojs/starlight': 0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) - '@astrojs/tailwind': 5.1.4(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4) + '@astrojs/starlight': 0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + '@astrojs/tailwind': 6.0.0(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4) tailwindcss: 3.4.4 - '@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))': + '@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))': dependencies: - '@astrojs/mdx': 4.0.6(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + '@astrojs/mdx': 4.1.1(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) '@astrojs/sitemap': 3.2.1 '@pagefind/default-ui': 1.3.0 '@types/hast': 3.0.4 '@types/js-yaml': 4.0.9 '@types/mdast': 4.0.4 - astro: 5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) - astro-expressive-code: 0.40.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + astro: 5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) + astro-expressive-code: 0.40.1(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) bcp-47: 2.1.0 hast-util-from-html: 2.0.3 hast-util-select: 6.0.2 @@ -3438,6 +3421,7 @@ snapshots: hastscript: 9.0.0 i18next: 23.16.0 js-yaml: 4.1.0 + klona: 2.0.6 mdast-util-directive: 3.0.0 mdast-util-to-markdown: 2.1.0 mdast-util-to-string: 4.0.0 @@ -3451,9 +3435,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@astrojs/tailwind@5.1.4(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4)': + '@astrojs/tailwind@6.0.0(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))(tailwindcss@3.4.4)': dependencies: - astro: 5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) + astro: 5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) autoprefixer: 10.4.20(postcss@8.5.1) postcss: 8.5.1 postcss-load-config: 4.0.2(postcss@8.5.1) @@ -3522,79 +3506,79 @@ snapshots: tslib: 2.6.3 optional: true - '@esbuild/aix-ppc64@0.24.2': + '@esbuild/aix-ppc64@0.25.1': optional: true - '@esbuild/android-arm64@0.24.2': + '@esbuild/android-arm64@0.25.1': optional: true - '@esbuild/android-arm@0.24.2': + '@esbuild/android-arm@0.25.1': optional: true - '@esbuild/android-x64@0.24.2': + '@esbuild/android-x64@0.25.1': optional: true - '@esbuild/darwin-arm64@0.24.2': + '@esbuild/darwin-arm64@0.25.1': optional: true - '@esbuild/darwin-x64@0.24.2': + '@esbuild/darwin-x64@0.25.1': optional: true - '@esbuild/freebsd-arm64@0.24.2': + '@esbuild/freebsd-arm64@0.25.1': optional: true - '@esbuild/freebsd-x64@0.24.2': + '@esbuild/freebsd-x64@0.25.1': optional: true - '@esbuild/linux-arm64@0.24.2': + '@esbuild/linux-arm64@0.25.1': optional: true - '@esbuild/linux-arm@0.24.2': + '@esbuild/linux-arm@0.25.1': optional: true - '@esbuild/linux-ia32@0.24.2': + '@esbuild/linux-ia32@0.25.1': optional: true - '@esbuild/linux-loong64@0.24.2': + '@esbuild/linux-loong64@0.25.1': optional: true - '@esbuild/linux-mips64el@0.24.2': + '@esbuild/linux-mips64el@0.25.1': optional: true - '@esbuild/linux-ppc64@0.24.2': + '@esbuild/linux-ppc64@0.25.1': optional: true - '@esbuild/linux-riscv64@0.24.2': + '@esbuild/linux-riscv64@0.25.1': optional: true - '@esbuild/linux-s390x@0.24.2': + '@esbuild/linux-s390x@0.25.1': optional: true - '@esbuild/linux-x64@0.24.2': + '@esbuild/linux-x64@0.25.1': optional: true - '@esbuild/netbsd-arm64@0.24.2': + '@esbuild/netbsd-arm64@0.25.1': optional: true - '@esbuild/netbsd-x64@0.24.2': + '@esbuild/netbsd-x64@0.25.1': optional: true - '@esbuild/openbsd-arm64@0.24.2': + '@esbuild/openbsd-arm64@0.25.1': optional: true - '@esbuild/openbsd-x64@0.24.2': + '@esbuild/openbsd-x64@0.25.1': optional: true - '@esbuild/sunos-x64@0.24.2': + '@esbuild/sunos-x64@0.25.1': optional: true - '@esbuild/win32-arm64@0.24.2': + '@esbuild/win32-arm64@0.25.1': optional: true - '@esbuild/win32-ia32@0.24.2': + '@esbuild/win32-ia32@0.25.1': optional: true - '@esbuild/win32-x64@0.24.2': + '@esbuild/win32-x64@0.25.1': optional: true '@expressive-code/core@0.35.3': @@ -3613,11 +3597,11 @@ snapshots: dependencies: '@ctrl/tinycolor': 4.1.0 hast-util-select: 6.0.2 - hast-util-to-html: 9.0.3 + hast-util-to-html: 9.0.4 hast-util-to-text: 4.0.2 hastscript: 9.0.0 - postcss: 8.4.47 - postcss-nested: 6.0.1(postcss@8.4.47) + postcss: 8.5.1 + postcss-nested: 6.0.1(postcss@8.5.1) unist-util-visit: 5.0.0 unist-util-visit-parents: 6.0.1 @@ -3747,7 +3731,7 @@ snapshots: '@mdx-js/mdx@3.1.0(acorn@8.14.0)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 '@types/mdx': 2.0.13 @@ -3827,7 +3811,7 @@ snapshots: '@rollup/pluginutils@5.1.4(rollup@4.31.0)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: @@ -3939,35 +3923,68 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 + '@shikijs/core@1.29.2': + dependencies: + '@shikijs/engine-javascript': 1.29.2 + '@shikijs/engine-oniguruma': 1.29.2 + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.1 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.4 + '@shikijs/engine-javascript@1.27.2': dependencies: '@shikijs/types': 1.27.2 '@shikijs/vscode-textmate': 10.0.1 oniguruma-to-es: 2.1.0 + '@shikijs/engine-javascript@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.1 + oniguruma-to-es: 2.3.0 + '@shikijs/engine-oniguruma@1.27.2': dependencies: '@shikijs/types': 1.27.2 '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/engine-oniguruma@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/langs@1.27.2': dependencies: '@shikijs/types': 1.27.2 + '@shikijs/langs@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + '@shikijs/themes@1.27.2': dependencies: '@shikijs/types': 1.27.2 + '@shikijs/themes@1.29.2': + dependencies: + '@shikijs/types': 1.29.2 + '@shikijs/types@1.27.2': dependencies: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 + '@shikijs/types@1.29.2': + dependencies: + '@shikijs/vscode-textmate': 10.0.1 + '@types/hast': 3.0.4 + '@shikijs/vscode-textmate@10.0.1': {} '@types/acorn@4.0.6': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/cookie@0.6.0': {} @@ -3977,9 +3994,7 @@ snapshots: '@types/estree-jsx@1.0.5': dependencies: - '@types/estree': 1.0.5 - - '@types/estree@1.0.5': {} + '@types/estree': 1.0.6 '@types/estree@1.0.6': {} @@ -4082,10 +4097,6 @@ snapshots: arg@5.0.2: {} - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 - argparse@2.0.1: {} aria-query@5.3.2: {} @@ -4096,16 +4107,16 @@ snapshots: astring@1.8.6: {} - astro-expressive-code@0.40.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)): + astro-expressive-code@0.40.1(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)): dependencies: - astro: 5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) + astro: 5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) rehype-expressive-code: 0.40.1 - astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5): + astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5): dependencies: - '@astrojs/compiler': 2.10.3 - '@astrojs/internal-helpers': 0.4.2 - '@astrojs/markdown-remark': 6.0.2 + '@astrojs/compiler': 2.10.4 + '@astrojs/internal-helpers': 0.6.1 + '@astrojs/markdown-remark': 6.2.1 '@astrojs/telemetry': 3.2.0 '@oslojs/encoding': 1.1.0 '@rollup/pluginutils': 5.1.4(rollup@4.31.0) @@ -4126,9 +4137,8 @@ snapshots: dlv: 1.1.3 dset: 3.1.4 es-module-lexer: 1.6.0 - esbuild: 0.24.2 + esbuild: 0.25.1 estree-walker: 3.0.3 - fast-glob: 3.3.3 flattie: 1.1.1 github-slugger: 2.0.0 html-escaper: 3.0.3 @@ -4137,31 +4147,31 @@ snapshots: kleur: 4.1.5 magic-string: 0.30.17 magicast: 0.3.5 - micromatch: 4.0.8 - mrmime: 2.0.0 + mrmime: 2.0.1 neotraverse: 0.6.18 p-limit: 6.2.0 - p-queue: 8.0.1 - preferred-pm: 4.0.0 + p-queue: 8.1.0 + package-manager-detector: 1.0.0 + picomatch: 4.0.2 prompts: 2.4.2 rehype: 13.0.2 - semver: 7.6.3 - shiki: 1.27.2 + semver: 7.7.1 + shiki: 1.29.2 tinyexec: 0.3.2 - tsconfck: 3.1.4(typescript@5.6.2) + tinyglobby: 0.2.12 + tsconfck: 3.1.5(typescript@5.6.2) ultrahtml: 1.5.3 unist-util-visit: 5.0.0 - unstorage: 1.14.4 + unstorage: 1.15.0 vfile: 6.0.3 - vite: 6.0.7(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5) - vitefu: 1.0.5(vite@6.0.7(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5)) - which-pm: 3.0.0 + vite: 6.2.1(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5) + vitefu: 1.0.6(vite@6.2.1(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5)) xxhash-wasm: 1.1.0 yargs-parser: 21.1.1 - yocto-spinner: 0.1.2 - zod: 3.24.1 - zod-to-json-schema: 3.24.1(zod@3.24.1) - zod-to-ts: 1.2.0(typescript@5.6.2)(zod@3.24.1) + yocto-spinner: 0.2.1 + zod: 3.24.2 + zod-to-json-schema: 3.24.3(zod@3.24.2) + zod-to-ts: 1.2.0(typescript@5.6.2)(zod@3.24.2) optionalDependencies: sharp: 0.33.4 transitivePeerDependencies: @@ -4345,6 +4355,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + chownr@1.1.4: {} chrome-launcher@0.15.2: @@ -4425,8 +4439,6 @@ snapshots: write-file-atomic: 3.0.3 xdg-basedir: 4.0.0 - consola@3.4.0: {} - content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 @@ -4455,7 +4467,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - crossws@0.3.1: + crossws@0.3.4: dependencies: uncrypto: 0.1.3 @@ -4487,10 +4499,6 @@ snapshots: dependencies: ms: 2.1.2 - debug@4.3.7: - dependencies: - ms: 2.1.3 - debug@4.4.0: dependencies: ms: 2.1.3 @@ -4598,33 +4606,33 @@ snapshots: esast-util-from-estree: 2.0.0 vfile-message: 4.0.2 - esbuild@0.24.2: + esbuild@0.25.1: optionalDependencies: - '@esbuild/aix-ppc64': 0.24.2 - '@esbuild/android-arm': 0.24.2 - '@esbuild/android-arm64': 0.24.2 - '@esbuild/android-x64': 0.24.2 - '@esbuild/darwin-arm64': 0.24.2 - '@esbuild/darwin-x64': 0.24.2 - '@esbuild/freebsd-arm64': 0.24.2 - '@esbuild/freebsd-x64': 0.24.2 - '@esbuild/linux-arm': 0.24.2 - '@esbuild/linux-arm64': 0.24.2 - '@esbuild/linux-ia32': 0.24.2 - '@esbuild/linux-loong64': 0.24.2 - '@esbuild/linux-mips64el': 0.24.2 - '@esbuild/linux-ppc64': 0.24.2 - '@esbuild/linux-riscv64': 0.24.2 - '@esbuild/linux-s390x': 0.24.2 - '@esbuild/linux-x64': 0.24.2 - '@esbuild/netbsd-arm64': 0.24.2 - '@esbuild/netbsd-x64': 0.24.2 - '@esbuild/openbsd-arm64': 0.24.2 - '@esbuild/openbsd-x64': 0.24.2 - '@esbuild/sunos-x64': 0.24.2 - '@esbuild/win32-arm64': 0.24.2 - '@esbuild/win32-ia32': 0.24.2 - '@esbuild/win32-x64': 0.24.2 + '@esbuild/aix-ppc64': 0.25.1 + '@esbuild/android-arm': 0.25.1 + '@esbuild/android-arm64': 0.25.1 + '@esbuild/android-x64': 0.25.1 + '@esbuild/darwin-arm64': 0.25.1 + '@esbuild/darwin-x64': 0.25.1 + '@esbuild/freebsd-arm64': 0.25.1 + '@esbuild/freebsd-x64': 0.25.1 + '@esbuild/linux-arm': 0.25.1 + '@esbuild/linux-arm64': 0.25.1 + '@esbuild/linux-ia32': 0.25.1 + '@esbuild/linux-loong64': 0.25.1 + '@esbuild/linux-mips64el': 0.25.1 + '@esbuild/linux-ppc64': 0.25.1 + '@esbuild/linux-riscv64': 0.25.1 + '@esbuild/linux-s390x': 0.25.1 + '@esbuild/linux-x64': 0.25.1 + '@esbuild/netbsd-arm64': 0.25.1 + '@esbuild/netbsd-x64': 0.25.1 + '@esbuild/openbsd-arm64': 0.25.1 + '@esbuild/openbsd-x64': 0.25.1 + '@esbuild/sunos-x64': 0.25.1 + '@esbuild/win32-arm64': 0.25.1 + '@esbuild/win32-ia32': 0.25.1 + '@esbuild/win32-x64': 0.25.1 escalade@3.1.2: {} @@ -4636,11 +4644,9 @@ snapshots: escape-string-regexp@5.0.0: {} - esprima@4.0.1: {} - estree-util-attach-comments@3.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-util-build-jsx@3.0.1: dependencies: @@ -4653,7 +4659,7 @@ snapshots: estree-util-scope@1.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 estree-util-to-js@2.0.0: @@ -4671,7 +4677,7 @@ snapshots: estree-walker@3.0.3: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 etag@1.8.1: {} @@ -4740,14 +4746,6 @@ snapshots: merge2: 1.4.1 micromatch: 4.0.7 - fast-glob@3.3.3: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - fastq@1.17.1: dependencies: reusify: 1.0.4 @@ -4756,6 +4754,10 @@ snapshots: dependencies: pend: 1.2.0 + fdir@6.4.3(picomatch@4.0.2): + optionalDependencies: + picomatch: 4.0.2 + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 @@ -4777,18 +4779,11 @@ snapshots: transitivePeerDependencies: - supports-color - find-up-simple@1.0.0: {} - find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - find-yarn-workspace-root2@1.2.16: - dependencies: - micromatch: 4.0.8 - pkg-dir: 4.2.0 - flattie@1.1.1: {} foreground-child@3.2.1: @@ -4865,18 +4860,17 @@ snapshots: graceful-fs@4.2.11: {} - h3@1.13.1: + h3@1.15.1: dependencies: cookie-es: 1.2.2 - crossws: 0.3.1 + crossws: 0.3.4 defu: 6.1.4 destr: 2.0.3 iron-webcrypto: 1.2.1 - ohash: 1.1.4 + node-mock-http: 1.0.0 radix3: 1.1.2 ufo: 1.5.4 uncrypto: 0.1.3 - unenv: 1.10.0 has-flag@4.0.0: {} @@ -4987,7 +4981,7 @@ snapshots: hast-util-to-estree@3.1.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/estree-jsx': 1.0.5 '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 @@ -5021,7 +5015,7 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-to-html@9.0.3: + hast-util-to-html@9.0.4: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.2 @@ -5035,7 +5029,7 @@ snapshots: stringify-entities: 4.0.4 zwitch: 2.0.4 - hast-util-to-html@9.0.4: + hast-util-to-html@9.0.5: dependencies: '@types/hast': 3.0.4 '@types/unist': 3.0.2 @@ -5044,14 +5038,14 @@ snapshots: hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 mdast-util-to-hast: 13.2.0 - property-information: 6.5.0 + property-information: 7.0.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 zwitch: 2.0.4 hast-util-to-jsx-runtime@2.3.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/hast': 3.0.4 '@types/unist': 3.0.2 comma-separated-tokens: 2.0.3 @@ -5253,11 +5247,6 @@ snapshots: js-library-detector@6.7.0: {} - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - js-yaml@4.1.0: dependencies: argparse: 2.0.1 @@ -5266,6 +5255,8 @@ snapshots: kleur@4.1.5: {} + klona@2.0.6: {} + lighthouse-logger@1.4.2: dependencies: debug: 2.6.9 @@ -5316,13 +5307,6 @@ snapshots: lines-and-columns@1.2.4: {} - load-yaml-file@0.2.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -5642,7 +5626,7 @@ snapshots: micromark-extension-mdx-expression@3.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-factory-mdx-expression: 2.0.1 micromark-factory-space: 2.0.0 @@ -5654,7 +5638,7 @@ snapshots: micromark-extension-mdx-jsx@3.0.0: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 estree-util-is-identifier-name: 3.0.0 micromark-factory-mdx-expression: 2.0.1 @@ -5670,7 +5654,7 @@ snapshots: micromark-extension-mdxjs-esm@3.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 micromark-util-character: 2.1.0 @@ -5706,7 +5690,7 @@ snapshots: micromark-factory-mdx-expression@2.0.1: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 devlop: 1.1.0 micromark-util-character: 2.1.0 micromark-util-events-to-acorn: 2.0.2 @@ -5770,7 +5754,7 @@ snapshots: micromark-util-events-to-acorn@2.0.2: dependencies: '@types/acorn': 4.0.6 - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/unist': 3.0.2 devlop: 1.1.0 estree-util-visit: 2.0.0 @@ -5808,7 +5792,7 @@ snapshots: micromark@4.0.0: dependencies: '@types/debug': 4.1.12 - debug: 4.3.7 + debug: 4.4.0 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.1 @@ -5832,11 +5816,6 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 - micromatch@4.0.8: - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - mime-db@1.52.0: {} mime-types@2.1.35: @@ -5845,8 +5824,6 @@ snapshots: mime@1.6.0: {} - mime@3.0.0: {} - minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -5859,7 +5836,7 @@ snapshots: mkdirp-classic@0.5.3: {} - mrmime@2.0.0: {} + mrmime@2.0.1: {} ms@2.0.0: {} @@ -5895,7 +5872,7 @@ snapshots: node-domexception@1.0.0: {} - node-fetch-native@1.6.4: {} + node-fetch-native@1.6.6: {} node-fetch@2.6.7: dependencies: @@ -5907,6 +5884,8 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + node-mock-http@1.0.0: {} + node-releases@2.0.18: {} normalize-path@3.0.0: {} @@ -5928,11 +5907,9 @@ snapshots: ofetch@1.4.1: dependencies: destr: 2.0.3 - node-fetch-native: 1.6.4 + node-fetch-native: 1.6.6 ufo: 1.5.4 - ohash@1.1.4: {} - on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -5949,6 +5926,12 @@ snapshots: regex: 5.1.1 regex-recursion: 5.1.1 + oniguruma-to-es@2.3.0: + dependencies: + emoji-regex-xs: 1.0.0 + regex: 5.1.1 + regex-recursion: 5.1.1 + open@8.4.2: dependencies: define-lazy-prop: 2.0.0 @@ -5967,7 +5950,7 @@ snapshots: dependencies: p-limit: 2.3.0 - p-queue@8.0.1: + p-queue@8.1.0: dependencies: eventemitter3: 5.0.1 p-timeout: 6.1.2 @@ -5978,6 +5961,8 @@ snapshots: package-json-from-dist@1.0.0: {} + package-manager-detector@1.0.0: {} + pagefind@1.3.0: optionalDependencies: '@pagefind/darwin-arm64': 1.3.0 @@ -6033,8 +6018,6 @@ snapshots: path-to-regexp@0.1.7: {} - pathe@1.1.2: {} - pend@1.2.0: {} picocolors@1.0.1: {} @@ -6047,8 +6030,6 @@ snapshots: pify@2.3.0: {} - pify@4.0.1: {} - pirates@4.0.6: {} pkg-dir@4.2.0: @@ -6086,9 +6067,9 @@ snapshots: postcss: 8.4.39 postcss-selector-parser: 6.1.0 - postcss-nested@6.0.1(postcss@8.4.47): + postcss-nested@6.0.1(postcss@8.5.1): dependencies: - postcss: 8.4.47 + postcss: 8.5.1 postcss-selector-parser: 6.1.0 postcss-selector-parser@6.1.0: @@ -6104,13 +6085,13 @@ snapshots: picocolors: 1.0.1 source-map-js: 1.2.0 - postcss@8.4.47: + postcss@8.5.1: dependencies: - nanoid: 3.3.7 + nanoid: 3.3.8 picocolors: 1.1.1 source-map-js: 1.2.1 - postcss@8.5.1: + postcss@8.5.3: dependencies: nanoid: 3.3.8 picocolors: 1.1.1 @@ -6118,12 +6099,6 @@ snapshots: preact@10.22.0: {} - preferred-pm@4.0.0: - dependencies: - find-up-simple: 1.0.0 - find-yarn-workspace-root2: 1.2.16 - which-pm: 3.0.0 - prettier-plugin-astro@0.13.0: dependencies: '@astrojs/compiler': 1.8.2 @@ -6149,6 +6124,8 @@ snapshots: property-information@6.5.0: {} + property-information@7.0.0: {} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 @@ -6244,9 +6221,11 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.1.2: {} + recma-build-jsx@1.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-util-build-jsx: 3.0.1 vfile: 6.0.3 @@ -6262,14 +6241,14 @@ snapshots: recma-parse@1.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 esast-util-from-js: 2.0.1 unified: 11.0.5 vfile: 6.0.3 recma-stringify@1.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-util-to-js: 2.0.0 unified: 11.0.5 vfile: 6.0.3 @@ -6324,7 +6303,7 @@ snapshots: rehype-recma@1.0.0: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@types/hast': 3.0.4 hast-util-to-estree: 3.1.0 transitivePeerDependencies: @@ -6354,7 +6333,7 @@ snapshots: transitivePeerDependencies: - supports-color - remark-gfm@4.0.0: + remark-gfm@4.0.1: dependencies: '@types/mdast': 4.0.4 mdast-util-gfm: 3.0.0 @@ -6494,7 +6473,7 @@ snapshots: semver@7.6.2: {} - semver@7.6.3: {} + semver@7.7.1: {} send@0.18.0: dependencies: @@ -6577,6 +6556,17 @@ snapshots: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 + shiki@1.29.2: + dependencies: + '@shikijs/core': 1.29.2 + '@shikijs/engine-javascript': 1.29.2 + '@shikijs/engine-oniguruma': 1.29.2 + '@shikijs/langs': 1.29.2 + '@shikijs/themes': 1.29.2 + '@shikijs/types': 1.29.2 + '@shikijs/vscode-textmate': 10.0.1 + '@types/hast': 3.0.4 + side-channel@1.0.6: dependencies: call-bind: 1.0.7 @@ -6601,6 +6591,8 @@ snapshots: arg: 5.0.2 sax: 1.4.1 + smol-toml@1.3.1: {} + source-map-js@1.2.0: {} source-map-js@1.2.1: {} @@ -6617,19 +6609,17 @@ snapshots: image-ssim: 0.2.0 jpeg-js: 0.4.4 - sprintf-js@1.0.3: {} - - starlight-image-zoom@0.1.0(@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))): + starlight-image-zoom@0.1.0(@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5))): dependencies: - '@astrojs/starlight': 0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + '@astrojs/starlight': 0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) rehype-raw: 7.0.0 unist-util-visit: 5.0.0 unist-util-visit-parents: 6.0.1 - starlight-links-validator@0.5.3(@astrojs/starlight@0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)): + starlight-links-validator@0.5.3(@astrojs/starlight@0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)))(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)): dependencies: - '@astrojs/starlight': 0.31.1(astro@5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) - astro: 5.1.7(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) + '@astrojs/starlight': 0.32.2(astro@5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5)) + astro: 5.4.3(@types/node@20.14.9)(jiti@1.21.6)(rollup@4.31.0)(typescript@5.6.2)(yaml@2.4.5) github-slugger: 2.0.0 hast-util-from-html: 2.0.1 hast-util-has-property: 3.0.0 @@ -6677,8 +6667,6 @@ snapshots: dependencies: ansi-regex: 6.0.1 - strip-bom@3.0.0: {} - style-to-object@0.4.4: dependencies: inline-style-parser: 0.1.1 @@ -6763,6 +6751,11 @@ snapshots: tinyexec@0.3.2: {} + tinyglobby@0.2.12: + dependencies: + fdir: 6.4.3(picomatch@4.0.2) + picomatch: 4.0.2 + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: @@ -6779,7 +6772,7 @@ snapshots: ts-interface-checker@0.1.13: {} - tsconfck@3.1.4(typescript@5.6.2): + tsconfck@3.1.5(typescript@5.6.2): optionalDependencies: typescript: 5.6.2 @@ -6816,14 +6809,6 @@ snapshots: undici-types@5.26.5: {} - unenv@1.10.0: - dependencies: - consola: 3.4.0 - defu: 6.1.4 - mime: 3.0.0 - node-fetch-native: 1.6.4 - pathe: 1.1.2 - unified@11.0.5: dependencies: '@types/unist': 3.0.2 @@ -6886,14 +6871,14 @@ snapshots: unpipe@1.0.0: {} - unstorage@1.14.4: + unstorage@1.15.0: dependencies: anymatch: 3.1.3 - chokidar: 3.6.0 + chokidar: 4.0.3 destr: 2.0.3 - h3: 1.13.1 + h3: 1.15.1 lru-cache: 10.4.3 - node-fetch-native: 1.6.4 + node-fetch-native: 1.6.6 ofetch: 1.4.1 ufo: 1.5.4 @@ -6932,10 +6917,10 @@ snapshots: '@types/unist': 3.0.2 vfile-message: 4.0.2 - vite@6.0.7(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5): + vite@6.2.1(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5): dependencies: - esbuild: 0.24.2 - postcss: 8.5.1 + esbuild: 0.25.1 + postcss: 8.5.3 rollup: 4.31.0 optionalDependencies: '@types/node': 20.14.9 @@ -6943,9 +6928,9 @@ snapshots: jiti: 1.21.6 yaml: 2.4.5 - vitefu@1.0.5(vite@6.0.7(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5)): + vitefu@1.0.6(vite@6.2.1(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5)): optionalDependencies: - vite: 6.0.7(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5) + vite: 6.2.1(@types/node@20.14.9)(jiti@1.21.6)(yaml@2.4.5) web-namespaces@2.0.1: {} @@ -6960,10 +6945,6 @@ snapshots: which-pm-runs@1.1.0: {} - which-pm@3.0.0: - dependencies: - load-yaml-file: 0.2.0 - which@2.0.2: dependencies: isexe: 2.0.0 @@ -7032,23 +7013,23 @@ snapshots: yocto-queue@1.1.1: {} - yocto-spinner@0.1.2: + yocto-spinner@0.2.1: dependencies: yoctocolors: 2.1.1 yoctocolors@2.1.1: {} - zod-to-json-schema@3.24.1(zod@3.24.1): + zod-to-json-schema@3.24.3(zod@3.24.2): dependencies: - zod: 3.24.1 + zod: 3.24.2 - zod-to-ts@1.2.0(typescript@5.6.2)(zod@3.24.1): + zod-to-ts@1.2.0(typescript@5.6.2)(zod@3.24.2): dependencies: typescript: 5.6.2 - zod: 3.24.1 - - zod@3.23.8: {} + zod: 3.24.2 zod@3.24.1: {} + zod@3.24.2: {} + zwitch@2.0.4: {} diff --git a/src/components/SiteTitle.astro b/src/components/SiteTitle.astro deleted file mode 100644 index 8e0c01335..000000000 --- a/src/components/SiteTitle.astro +++ /dev/null @@ -1,58 +0,0 @@ ---- -import { logos } from "virtual:starlight/user-images"; -import config from "virtual:starlight/user-config"; -import type { Props } from "@astrojs/starlight/props"; - -const { siteTitle } = Astro.props; -const href = "/"; ---- - - - - { - config.logo && logos.dark && ( - <> - {config.logo.alt} - {/* Show light alternate if a user configure both light and dark logos. */} - {!("src" in config.logo) && ( - {config.logo.alt} - )} - - ) - } - - - {siteTitle} - - - - From 37b3c2ead6c842a2d30c6746355e4465214997f5 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 15:17:52 -0400 Subject: [PATCH 15/22] fix: use relative link for migration guide --- src/content/docs/index.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index d178aadf7..7223332e9 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -6,7 +6,7 @@ head: content: Getting Started banner: content: | - AstroNvim v5 is officially released! Upgrade today with the v5 migration guide! + AstroNvim v5 is officially released! Upgrade today with the v5 migration guide! --- import { Tabs, TabItem, FileTree, Steps } from "@astrojs/starlight/components"; From 63f18e6fccbc14d9a90b23a87e5ec92a4a34f2d5 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Tue, 11 Mar 2025 15:24:47 -0400 Subject: [PATCH 16/22] feat(migration): add tip for doing the migration with the user configuration rather than a base template --- src/content/docs/configuration/v5_migration.mdx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx index b64b1ab45..2f96ed4d7 100644 --- a/src/content/docs/configuration/v5_migration.mdx +++ b/src/content/docs/configuration/v5_migration.mdx @@ -23,6 +23,12 @@ Checkout the [Managing User Configuration Page](/configuration/manage_user_confi ::: +:::tip + +Rather than cloning the template into `~/.config/astronvim_v5`, you can also clone your personal configuration into that location and change the AstroNvim version in the `lazy_setup.lua` file to `"^5"` and do the migration with your current configuration while using your old installation as the main editor while testing. + +::: + 1. Clone the AstroNvim v5 configuration template to a new location (`astronvim_v5` is used as the example): From 5d2b6d4beba030d78a56c05493422d3f98d5e586 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Wed, 12 Mar 2025 07:59:47 -0400 Subject: [PATCH 17/22] fix: disable ligatures --- src/tailwind.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tailwind.css b/src/tailwind.css index 4ab90c56e..ae21f27f7 100644 --- a/src/tailwind.css +++ b/src/tailwind.css @@ -4,6 +4,7 @@ /* Dark mode colors. */ :root { + font-variant-ligatures: none; --sl-font: "Inter Variable", sans-serif; --sl-font-mono: "JetBrains Mono Variable", monospace; --sl-color-accent-low: #1a1d23; From 93a7fb9a41f320c4ec59ced29638bd0e44500434 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Wed, 12 Mar 2025 08:00:58 -0400 Subject: [PATCH 18/22] chore(migration): remove duplicate notice --- src/content/docs/configuration/v5_migration.mdx | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx index 2f96ed4d7..11bd13908 100644 --- a/src/content/docs/configuration/v5_migration.mdx +++ b/src/content/docs/configuration/v5_migration.mdx @@ -74,12 +74,6 @@ This is a work in progress. This guide is taking shape and covers much of the mi Each "Migrating" section below has an link to documentation and/or an example configuration. Each example configuration file shows the structure for configuring that plugin. The comments in each example configuration describes the configuration keys. -:::note - -**Recommended reading**: for each plugin there is a link to example configuration. These configurations are full of documentation and can help guide your migration! - -::: - The [plugin configuration files.](https://github.com/AstroNvim/AstroNvim/tree/main/lua%2Fastronvim%2Fplugins) in the AstroNvim codebase itself are also a good reference to learn how to configure. **Please also read the [Other Breaking Changes section](#other-breaking-changes)** - there are a number of changes that are not just "move some config from one place to another". For example, in key mapping `` is no longer recognized. @@ -236,7 +230,7 @@ Some changes have been made that do not necessarily require any user interventio - Neovim v0.11 adds a ton of great new features such as `vim.lsp.foldexpr` and context based comment strings. When using Neovim v0.11 we disable a few plugins and just rely on core features - `Comment.nvim` and `nvim-ts-context-commentstring` are disabled in Neovim v0.11 in favor of the built in commenting features - - `nvim-ufo` is disabled in Neovim v0.11 in favor of the new AstroUI based fold expression. This provides a much clearer implementation of folding rather than relying on the "manual" fold method which can lead to soome strange behavior. + - `nvim-ufo` is disabled in Neovim v0.11 in favor of the new AstroUI based fold expression. This provides a much clearer implementation of folding rather than relying on the "manual" fold method which can lead to some strange behavior. - New mappings `uv` and `uV` for toggling diagnostic virtual text and virtual lines (virtual lines are only available in Neovim v0.11 and can replace plugins such as `lsp_lines.nvim`) - New mapping `gO` for document symbols to align with new core Neovim default LSP mappings - New mapping `uZ` for toggling "Zen mode" for the current buffer which maximizes the buffer, centers the code, and disables most of the "eye candy" such as diagnostics From 3070de7067373603956a84a1e2a4649bfde50e8a Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Wed, 12 Mar 2025 08:03:20 -0400 Subject: [PATCH 19/22] fix(migration): add link and note about where to locate keycode casing --- src/content/docs/configuration/v5_migration.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx index 11bd13908..5c6cda0fa 100644 --- a/src/content/docs/configuration/v5_migration.mdx +++ b/src/content/docs/configuration/v5_migration.mdx @@ -179,13 +179,13 @@ AstroNvim v5 comes with some changes to our default plugin list that user's shou - The `system_open` function has been removed and any references to `require("astrocore").system_open()` should be replaced with `vim.ui.open()` - The `features.diagnostics_mode` configuration option has been simplified to just be `features.diagnostics`. This new value is either a boolean (`true`/`false`) to enable/disable diagnostics completely on startup, or it can be a table in the form of `{ virtual_text = true, virtual_lines = false }` to control the display of virtual text/virtual lines on startup. New toggles have been added (`uv` and `uV`) to toggle the virtual text and virtual lines at runtime. - The mapping `ud` simply enables/disables diagnostics completely rather than managing various different states. -- The `mappings` configuration table now does some basic normalization which means specific casing of the keys should not matter as much. It is still recommended to use the official keycode casing to maintain the most stable behavior. +- The `mappings` configuration table now does some basic normalization which means specific casing of the keys should not matter as much. It is still recommended to use the official keycode casing to maintain the most stable behavior (keycode casing can be found in [`:h keycodes`](https://neovim.io/doc/user/intro.html#keycodes)). - The `mason` module has been removed. If you are using `require("astrocore.mason")` anywhere, investigate the APIs available from [`mason.nvim`](https://github.com/williamboman/mason.nvim/blob/main/doc/reference.md) and [`mason-tool-installer.nvim`](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) for alternatives. #### AstroLSP - Configuration of `vim.lsp.buf.hover` and `vim.lsp.buf.signature_help` are no longer configured through the `handlers["textDocument/hover"]` and `handlers["textDocument/signature_help"]` configuration options. This is because of a breaking change in core Neovim where these are no longer configured as such. The options are now configured through a new `defaults` table in the AstroLSP configuration (`defaults.hover` and `defaults.signature_help`). If you have customized those handlers in your configuration, then check the [AstroLSP Documentation](https://github.com/AstroNvim/astrolsp) for where to place those configurations. -- The `mappings` configuration table now does some basic normalization which means specific casing of the keys should not matter as much. It is still recommended to use the official keycode casing to maintain the most stable behavior. +- The `mappings` configuration table now does some basic normalization which means specific casing of the keys should not matter as much. It is still recommended to use the official keycode casing to maintain the most stable behavior (keycode casing can be found in [`:h keycodes`](https://neovim.io/doc/user/intro.html#keycodes)). #### AstroUI From b55d4206d812e4a11d02cacc4de6b31f612aede3 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Wed, 12 Mar 2025 09:15:45 -0400 Subject: [PATCH 20/22] feat(migration): add new commenting mappings --- src/content/docs/configuration/v5_migration.mdx | 1 + src/content/docs/mappings.mdx | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx index 5c6cda0fa..f186f77a3 100644 --- a/src/content/docs/configuration/v5_migration.mdx +++ b/src/content/docs/configuration/v5_migration.mdx @@ -231,6 +231,7 @@ Some changes have been made that do not necessarily require any user interventio - Neovim v0.11 adds a ton of great new features such as `vim.lsp.foldexpr` and context based comment strings. When using Neovim v0.11 we disable a few plugins and just rely on core features - `Comment.nvim` and `nvim-ts-context-commentstring` are disabled in Neovim v0.11 in favor of the built in commenting features - `nvim-ufo` is disabled in Neovim v0.11 in favor of the new AstroUI based fold expression. This provides a much clearer implementation of folding rather than relying on the "manual" fold method which can lead to some strange behavior. +- New mappings `gco` and `gcO` for inserting new comments below and above the current line - New mappings `uv` and `uV` for toggling diagnostic virtual text and virtual lines (virtual lines are only available in Neovim v0.11 and can replace plugins such as `lsp_lines.nvim`) - New mapping `gO` for document symbols to align with new core Neovim default LSP mappings - New mapping `uZ` for toggling "Zen mode" for the current buffer which maximizes the buffer, centers the code, and disables most of the "eye candy" such as diagnostics diff --git a/src/content/docs/mappings.mdx b/src/content/docs/mappings.mdx index 495ca0409..da2b305d8 100644 --- a/src/content/docs/mappings.mdx +++ b/src/content/docs/mappings.mdx @@ -29,7 +29,6 @@ AstroNvim generally relies on `` driven mappings, which is default set t | Close Buffer | `Leader + c` | | Next Tab (real vim tab) | `]t` | | Previous Tab (real vim tab) | `[t` | -| Comment | `Leader + /` | | Horizontal Split | `\` | | Vertical Split | | | @@ -56,6 +55,14 @@ AstroNvim generally relies on `` driven mappings, which is default set t | Open a buffer tab in a new horizontal split with interactive picker | `Leader + b\` | | Open a buffer tab in a new vertical split with interactive picker | Leader + b| | +## Commenting Mappings + +| Action | Mappings | +| --------------------------------- | ------------ | +| Toggle comment of current line | `Leader + /` | +| Insert comment below current line | `gco` | +| Insert comment above current line | `gcO` | + ## List Management | Action | Mappings | From f017eddf4b7cc069b169218d862539eeaa4afff1 Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Thu, 20 Mar 2025 10:35:04 -0400 Subject: [PATCH 21/22] feat(migration): add comment about new `v:count` support for diagnostic navigation --- src/content/docs/configuration/v5_migration.mdx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx index f186f77a3..ddcb9b914 100644 --- a/src/content/docs/configuration/v5_migration.mdx +++ b/src/content/docs/configuration/v5_migration.mdx @@ -231,6 +231,7 @@ Some changes have been made that do not necessarily require any user interventio - Neovim v0.11 adds a ton of great new features such as `vim.lsp.foldexpr` and context based comment strings. When using Neovim v0.11 we disable a few plugins and just rely on core features - `Comment.nvim` and `nvim-ts-context-commentstring` are disabled in Neovim v0.11 in favor of the built in commenting features - `nvim-ufo` is disabled in Neovim v0.11 in favor of the new AstroUI based fold expression. This provides a much clearer implementation of folding rather than relying on the "manual" fold method which can lead to some strange behavior. +- With Neovim v0.11 diagnostic navigation bindings (`[d`/`]d`/`[w`/`]w`/`[e`/`]e`) support `v:count`, for example `3]e` will navigate 3 errors forward. - New mappings `gco` and `gcO` for inserting new comments below and above the current line - New mappings `uv` and `uV` for toggling diagnostic virtual text and virtual lines (virtual lines are only available in Neovim v0.11 and can replace plugins such as `lsp_lines.nvim`) - New mapping `gO` for document symbols to align with new core Neovim default LSP mappings From d1d66493e64f36599f43ecf4a30b18cfbc7c31cd Mon Sep 17 00:00:00 2001 From: Micah Halter Date: Wed, 26 Mar 2025 14:19:27 -0400 Subject: [PATCH 22/22] feat: move from `nvim-cmp` to `blink.cmp` --- .../configuration/customizing_plugins.mdx | 13 - .../docs/configuration/v5_migration.mdx | 59 ++--- src/content/docs/index.mdx | 2 +- src/content/docs/recipes/ai.mdx | 52 ++-- src/content/docs/recipes/cmp.mdx | 231 +++++++----------- .../docs/reference/default_plugins.mdx | 6 +- 6 files changed, 140 insertions(+), 223 deletions(-) diff --git a/src/content/docs/configuration/customizing_plugins.mdx b/src/content/docs/configuration/customizing_plugins.mdx index f4acb71e9..bb8ad5ab3 100644 --- a/src/content/docs/configuration/customizing_plugins.mdx +++ b/src/content/docs/configuration/customizing_plugins.mdx @@ -78,19 +78,6 @@ return { }, }, }, - -- customize cmp mappings - { - "hrsh7th/nvim-cmp", - -- override the options table that is used - -- in the `require("cmp").setup()` call - opts = function(_, opts) - -- opts parameter is the default options table - -- the function is lazy loaded so cmp is able to be required - local cmp = require("cmp") - -- modify the mapping part of the table - opts.mapping[""] = cmp.mapping.select_next_item() - end, - }, -- customize treesitter parsers { "nvim-treesitter/nvim-treesitter", diff --git a/src/content/docs/configuration/v5_migration.mdx b/src/content/docs/configuration/v5_migration.mdx index ddcb9b914..fbc3aabf2 100644 --- a/src/content/docs/configuration/v5_migration.mdx +++ b/src/content/docs/configuration/v5_migration.mdx @@ -94,6 +94,7 @@ AstroNvim v5 comes with some changes to our default plugin list that user's shou | [`indent-blankline.nvim`](https://github.com/lukas-reineke/indent-blankline.nvim) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | | [`lspkind.nvim`](https://github.com/onsails/lspkind.nvim) | [`mini.icons`](https://github.com/echasnovski/mini.icons) | | [`mini.bufremove`](https://github.com/echasnovski/mini.bufremove) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | +| [`nvim-cmp`](https://github.com/hrsh7th/nvim-cmp) | [`blink.cmp`](https://github.com/Saghen/blink.cmp) | | [`nvim-colorizer.lua`](https://github.com/NvChad/nvim-colorizer.lua) | [`nvim-highlight-colors`](https://github.com/brenoprata10/nvim-highlight-colors) | | [`nvim-notify`](https://github.com/rcarriga/nvim-notify) | [`snacks.nvim`](https://github.com/folke/snacks.nvim) | | [`nvim-web-devicons`](https://github.com/nvim-tree/nvim-web-devicons) | [`mini.icons`](https://github.com/echasnovski/mini.icons) | @@ -114,53 +115,31 @@ AstroNvim v5 comes with some changes to our default plugin list that user's shou - [`lspkind.nvim`](https://github.com/onsails/lspkind.nvim) → [`mini.icons`](https://github.com/echasnovski/mini.icons) - If you are customizing lsp kind icons, check out the [`mini.icons` Documentation](https://github.com/echasnovski/mini.icons/blob/main/doc/mini-icons.txt) for how to implement the same custom icons in the new plugin. - - If you have customized the `mode` option in `lspkind.nvim` to change the look of the LSP icons, this can be done easily by customizing the `formatting.format` function in `nvim-cmp`: + - If you have customized the `mode` option in `lspkind.nvim` to change the look of the LSP icons, this can be done easily by customizing the [`completion.menu.draw.columns`](https://cmp.saghen.dev/configuration/completion.html#menu-draw) option in `blink.cmp`: - ```lua title="lua/plugins/cmp_lspkind_modes.lua" + ```lua title="lua/plugins/blink_menu.lua" return { - "hrsh7th/nvim-cmp", - opts = function(_, opts) - if not opts.formatting then - opts.formatting = {} - end - -- use the `fields` option for reordering the fields - opts.formatting.fields = { "abbr", "kind", "menu" } - - -- we can use the AstroCore utility for easily patching a - -- function to extend our formatting - opts.formatting.format = require("astrocore").patch_func( - opts.formatting.format, - -- the function provides the original function for patching - -- and all of the parameters following - function(orig_format, entry, vim_item) - local kind_text = vim_item.kind -- store the kind text - - -- perform the base format function - vim_item = orig_format(entry, vim_item) - - -- put your lspkind.nvim `mode` here - local lspkind_mode = "symbol_text" - - -- symbol only is the default, so we will do nothing - -- if that mode is set. For all other modes set the - -- kind to the appropriate string concatenation - if lspkind_mode == "text" then - vim_item.kind = kind_text - elseif lspkind_mode == "text_symbol" then - vim_item.kind = kind_text .. " " .. vim_item.kind - elseif lspkind_mode == "symbol_text" then - vim_item.kind = vim_item.kind .. " " .. kind_text - end - - return vim_item - end - ) - end, + "Saghen/blink.cmp", + opts = { + completion = { + menu = { + draw = { + columns = { + -- rearrange these as necessary to match desired look + { "label", "label_description", gap = 1 }, + { "kind_icon", "kind", gap = 1 }, + }, + }, + }, + }, + }, } ``` - [`mini.bufremove`](https://github.com/echasnovski/mini.bufremove) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) - If you are using any of the API provided by `mini.bufremove`, check out the [`snacks.bufdelete` Documentation](https://github.com/folke/snacks.nvim/blob/main/docs/bufdelete.md) for the new method names to call. +- [`nvim-cmp`](https://github.com/hrsh7th/nvim-cmp) → [`blink.cmp`](https://github.com/Saghen/blink.cmp) + - If you are customizing `nvim-cmp`, checkout the [updated Cmp Customizations recipes](/recipes/cmp) and the [`blink.cmp` Documentation](https://cmp.saghen.dev/) for how to implement the same customizations in the new plugin. - [`nvim-colorizer.lua`](https://github.com/NvChad/nvim-colorizer.lua) → [`nvim-highlight-colors`](https://github.com/brenoprata10/nvim-highlight-colors) - If you are customizing `nvim-colorizer.lua`, check out the [`nvim-highlight-colors` Documentation](https://github.com/brenoprata10/nvim-highlight-colors) for how to implement the same customizations in the new plugin. - [`nvim-notify`](https://github.com/rcarriga/nvim-notify) → [`snacks.nvim`](https://github.com/folke/snacks.nvim) diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 7223332e9..821ddc312 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -186,7 +186,7 @@ docker run -w /root -it --rm alpine:edge sh -uelic ' - Plugin management with [lazy.nvim](https://github.com/folke/lazy.nvim) - Package management with [mason.nvim](https://github.com/williamboman/mason.nvim) - File explorer with [Neo-tree](https://github.com/nvim-neo-tree/neo-tree.nvim) -- Autocompletion with [Cmp](https://github.com/hrsh7th/nvim-cmp) +- Autocompletion with [Blink.cmp](https://github.com/Saghen/blink.cmp) - Git integration with [Gitsigns](https://github.com/lewis6991/gitsigns.nvim) - Terminal with [Toggleterm](https://github.com/akinsho/toggleterm.nvim) - Fuzzy finding with [snacks.picker](https://github.com/folke/snacks.nvim/blob/main/docs/picker.md) diff --git a/src/content/docs/recipes/ai.mdx b/src/content/docs/recipes/ai.mdx index c0fc2653c..521bad656 100644 --- a/src/content/docs/recipes/ai.mdx +++ b/src/content/docs/recipes/ai.mdx @@ -24,6 +24,32 @@ In order to make AI plugins play nicely with AstroNvim it's important to set up These configurations set up the completion engines to look for a function stored in `vim.g.ai_accept` which can be later configured by an AI completion plugin to choose what action should be taken when attempting to accept an AI suggestion if available. +#### [blink.cmp](https://github.com/Saghen/blink.cmp) Integration + +[blink.cmp](https://github.com/Saghen/blink.cmp) is another popular completion plugin. This configures the `` key as described above: + +```lua title="lua/plugins/cmp_ai.lua" +return { + "Saghen/blink.cmp", + optional = true, + opts = function(_, opts) + if not opts.keymap then + opts.keymap = {} + end + opts.keymap[""] = { + "snippet_forward", + function() + if vim.g.ai_accept then + return vim.g.ai_accept() + end + end, + "fallback", + } + opts.keymap[""] = { "snippet_backward", "fallback" } + end, +} +``` + #### [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) Integration By default AstroNvim comes with [`nvim-cmp`](https://github.com/hrsh7th/nvim-cmp) for completion. This modifies the default configuration to set up the `` key as described above: @@ -91,32 +117,6 @@ return { } ``` -#### [blink.cmp](https://github.com/Saghen/blink.cmp) Integration - -[blink.cmp](https://github.com/Saghen/blink.cmp) is another popular completion plugin. This configures the `` key as described above: - -```lua title="lua/plugins/cmp_ai.lua" -return { - "Saghen/blink.cmp", - optional = true, - opts = function(_, opts) - if not opts.keymap then - opts.keymap = {} - end - opts.keymap[""] = { - "snippet_forward", - function() - if vim.g.ai_accept then - return vim.g.ai_accept() - end - end, - "fallback", - } - opts.keymap[""] = { "snippet_backward", "fallback" } - end, -} -``` - ### AI Plugin Integration Once our completion engine is configured, we can start choosing and adding in an AI plugin from the Neovim plugin ecosystem, and setting up the `vim.g.ai_accept` function appropriately to hook into the completion engine mappings that we previously set up. Please note that further configuration may be necessary if you want to use completion sources rather than inline suggestions or change other behavior of the AI plugins. For that setup, please refer to the documentation of the plugins themselves. diff --git a/src/content/docs/recipes/cmp.mdx b/src/content/docs/recipes/cmp.mdx index ca16f397e..c42d75da3 100644 --- a/src/content/docs/recipes/cmp.mdx +++ b/src/content/docs/recipes/cmp.mdx @@ -3,173 +3,128 @@ id: cmp title: Customize cmp Completion --- -AstroNvim comes with [nvim-cmp](https://github.com/hrsh7th/nvim-cmp) for powering completion out of the box. This page documents common configuration options such as custom keybindings or adding more sources. +AstroNvim comes with [blink.cmp](https://github.com/Saghen/blink.cmp) for powering completion out of the box. This page documents common configuration options such as custom keybindings or adding more sources, for more detailed information on configuring the plugin be sure to check out the extensive [blink.cmp Documentation](https://cmp.saghen.dev/). ### Customize Keybindings -Some overrides require access to the plugin itself that you are overriding. This comes up a lot in things adding custom mappings to `cmp`. This can be achieved with the following plugin spec: - -```lua title="lua/plugins/cmp.lua" -return { -- override nvim-cmp plugin - "hrsh7th/nvim-cmp", - -- override the options table that is used in the `require("cmp").setup()` call - opts = function(_, opts) - -- opts parameter is the default options table - -- the function is lazy loaded so cmp is able to be required - local cmp = require("cmp") - -- modify the mapping part of the table - opts.mapping[""] = cmp.mapping.select_next_item() - end, +Some overrides require access to the plugin itself that you are overriding. This comes up a lot in things adding custom mappings to `blink.cmp`. This can be achieved with the following plugin spec: + +```lua title="lua/plugins/blink.lua" +return { -- override blink.cmp plugin + "Saghen/blink.cmp", + opts = { + keymap = { + [""] = { "snippet_forward", "fallback" }, + }, + }, } ``` ### Customize Source Priority -Similarly to customizing mappings, you can customize and configure your `cmp` sources as well: - -```lua title="lua/plugins/cmp.lua" -return { -- override nvim-cmp plugin - "hrsh7th/nvim-cmp", - -- override the options table that is used in the `require("cmp").setup()` call - opts = function(_, opts) - -- opts parameter is the default options table - -- the function is lazy loaded so cmp is able to be required - local cmp = require("cmp") - -- modify the sources part of the options table - opts.sources = cmp.config.sources({ - { name = "nvim_lsp", priority = 1000 }, - { name = "luasnip", priority = 750 }, - { name = "buffer", priority = 500 }, - { name = "path", priority = 250 }, - }) - end, +Similarly to customizing mappings, you can customize and configure your `blink.cmp` providers as well: + +```lua title="lua/plugins/blink.lua" +return { -- override blink.cmp plugin + "Saghen/blink.cmp", + opts = { + sources = { + providers = { + path = { score_offset = 3 }, + lsp = { score_offset = 0 }, + snippets = { score_offset = -1 }, + buffer = { score_offset = -3 }, + }, + }, + }, } ``` ### Modify Existing Source Options -You can use this `cmp` override to also customize the options of the sources: - -```lua title="lua/plugins/cmp.lua" -return { -- override nvim-cmp plugin - "hrsh7th/nvim-cmp", - -- override the options table that is used in the `require("cmp").setup()` call - opts = function(_, opts) - -- opts parameter is the default options table - -- the function is lazy loaded so cmp is able to be required - local cmp = require("cmp") - -- modify the sources part of the options table - opts.sources = cmp.config.sources({ - { name = "nvim_lsp", priority = 1000 }, - { name = "luasnip", priority = 750 }, - { - name = "buffer", - priority = 500, - option = { - get_bufnrs = function() - return vim.api.nvim_list_bufs() - end, +You can use this `blink.cmp` override to also customize the options of the sources. You can find all of the available options for the providers in the [blink.cmp Documentation](https://cmp.saghen.dev/configuration/reference.html#providers): + +```lua title="lua/plugins/blink.lua" +return { -- override blink.cmp plugin + "Saghen/blink.cmp", + opts = { + sources = { + providers = { + buffer = { + -- each provider can be customized with their `opts` + opts = { + get_bufnrs = function() + return vim.api.nvim_list_bufs() + end, + }, }, }, - { name = "path", priority = 250 }, - }) - end, + }, + }, } ``` ### Add More Sources -To add more sources than the default, you can add other `cmp` source plugins as dependencies, and then add the new source in the `opts`: +To add more sources than the default, you can add the new `blink` source plugins ([blink.cmp Community Sources](https://cmp.saghen.dev/configuration/sources.html#community-sources)) and configure the `blink.cmp` options to enable the provider: -```lua title="lua/plugins/cmp.lua" -return { -- override nvim-cmp plugin - "hrsh7th/nvim-cmp", - dependencies = { - "hrsh7th/cmp-emoji", -- add cmp source as dependency of cmp +```lua title="lua/plugins/blink-emoji.lua" +return { + "moyiz/blink-emoji.nvim", + lazy = true, + specs = { + { + "Saghen/blink.cmp", + optional = true, + opts = { + sources = { + -- enable the provider by default (automatically extends when merging tables) + default = { "emoji" }, + providers = { + -- Specific details depend on the blink source + emoji = { + name = "Emoji", + module = "blink-emoji", + min_keyword_length = 1, + score_offset = -1, + }, + }, + }, + }, + }, }, - -- override the options table that is used in the `require("cmp").setup()` call - opts = function(_, opts) - -- opts parameter is the default options table - -- the function is lazy loaded so cmp is able to be required - local cmp = require("cmp") - -- modify the sources part of the options table - opts.sources = cmp.config.sources({ - { name = "nvim_lsp", priority = 1000 }, - { name = "luasnip", priority = 750 }, - { name = "buffer", priority = 500 }, - { name = "path", priority = 250 }, - { name = "emoji", priority = 700 }, -- add new source - }) - end, } ``` -### Advanced Setup For Filetype and Cmdline +#### Add `nvim-cmp` Sources -You can also use the `config` function and the provided default configuration function for each plugin to extend the configuration and setup of `cmp` like adding `cmp-cmdline`: +Not all sources for `nvim-cmp` are available as `blink.cmp` providers, but `blink.cmp` provides a compatibility layer to make it easy to add more sources. For more detail check out the [`blink.compat` Documentation](https://github.com/Saghen/blink.compat). Here is an example for adding `cmp-latex-symbols`: -```lua title="lua/plugins/cmp.lua" -return { -- override nvim-cmp plugin - "hrsh7th/nvim-cmp", - keys = { ":", "/", "?" }, -- lazy load cmp on more keys along with insert mode +```lua title="lua/plugins/cmp-latex-symbols.lua" +return { + "Saghen/blink.cmp", + optional = true, dependencies = { - "hrsh7th/cmp-cmdline", -- add cmp-cmdline as dependency of cmp + -- add the legacy cmp source as a dependency for `blink.cmp` + "kdheepak/cmp-latex-symbols", }, - config = function(plugin, opts) - local cmp = require("cmp") - -- run cmp setup - cmp.setup(opts) - - -- configure `cmp-cmdline` as described in their repo: https://github.com/hrsh7th/cmp-cmdline#setup - cmp.setup.cmdline("/", { - mapping = cmp.mapping.preset.cmdline(), - sources = { - { name = "buffer" }, - }, - }) - cmp.setup.cmdline(":", { - mapping = cmp.mapping.preset.cmdline(), - sources = cmp.config.sources({ - { name = "path" }, - }, { - { - name = "cmdline", - option = { - ignore_cmds = { "Man", "!" }, - }, + specs = { + -- install the blink, nvim-cmp compatibility layer + { "Saghen/blink.compat", version = "*", lazy = true, opts = {} }, + }, + opts = { + sources = { + -- enable the provider by default + default = { "latex" }, + -- configure the provider for your new source + providers = { + latex = { + name = "latex_symbols", + module = "blink.compat.source", + score_offset = -1, }, - }), - }) - end, -} -``` - -### Limit Label and Menu Item Length - -To limit the label and menu item length and prevent the documentation window from getting too small, you can use the following configuration: - -```lua title="lua/plugins/cmp.lua" -return { - "hrsh7th/nvim-cmp", - opts = function(_, opts) - local astrocore, astroui = require "astrocore", require "astroui" - local function truncate(str, len) - if not str then return end - local truncated = vim.fn.strcharpart(str, 0, len) - return truncated == str and str or truncated .. astroui.get_icon "Ellipsis" - end - - if not opts.formatting then opts.formatting = {} end - opts.formatting.format = astrocore.patch_func(opts.formatting.format, function(format, ...) - -- get item from original formatting function - local vim_item = format(...) - - -- truncate text fields to maximum of 25% of the window - vim_item.abbr = truncate(vim_item.abbr, math.floor(0.25 * vim.o.columns)) - vim_item.menu = truncate(vim_item.menu, math.floor(0.25 * vim.o.columns)) - - return vim_item - end) - end, + }, + }, + }, } ``` diff --git a/src/content/docs/reference/default_plugins.mdx b/src/content/docs/reference/default_plugins.mdx index 88307c674..1b582aee7 100644 --- a/src/content/docs/reference/default_plugins.mdx +++ b/src/content/docs/reference/default_plugins.mdx @@ -13,6 +13,7 @@ title: Default Plugins | [L3MON4D3/LuaSnip](https://github.com/L3MON4D3/LuaSnip) | Snippet Engine | | [MunifTanjim/nui.nvim](https://github.com/MunifTanjim/nui.nvim) | UI Component Library (for Neo-Tree) | | [NMAC427/guess-indent.nvim](https://github.com/NMAC427/guess-indent.nvim) | Automatic Indentation Detection | +| [Saghen/blink.cmp](https://github.com/Saghen/blink.cmp) | Completion Engine | | [WhoIsSethDaniel/mason-tool-installer.nvim](https://github.com/WhoIsSethDaniel/mason-tool-installer.nvim) | Automatic Mason Installation | | [akinsho/toggleterm.nvim](https://github.com/akinsho/toggleterm.nvim) | Terminal Management | | [brenoprata10/nvim-highlight-colors](https://github.com/brenoprata10/nvim-highlight-colors) | Highlight Color Strings | @@ -22,10 +23,6 @@ title: Default Plugins | [folke/neodev.nvim](https://github.com/folke/neodev.nvim) | Neovim Lua LSP Integration | | [folke/snacks.nvim](https://github.com/folke/snacks.nvim) | Finder/Picker, better `vim.ui`, pretty notifications, indentation indicators, dashboard | | [folke/which-key.nvim](https://github.com/folke/which-key.nvim) | Keymap Popup/Help Window | -| [hrsh7th/cmp-buffer](https://github.com/hrsh7th/cmp-buffer) | Completion of Buffer Words | -| [hrsh7th/cmp-nvim-lsp](https://github.com/hrsh7th/cmp-nvim-lsp) | Completion of LSP | -| [hrsh7th/cmp-path](https://github.com/hrsh7th/cmp-path) | Completion of Paths | -| [hrsh7th/nvim-cmp](https://github.com/hrsh7th/nvim-cmp) | Completion Engine | | [jay-babu/mason-null-ls.nvim](https://github.com/jay-babu/mason-null-ls.nvim) | Mason Null-LS (None-LS) Integration | | [jay-babu/mason-nvim-dap.nvim](https://github.com/jay-babu/mason-nvim-dap.nvim) | Mason Nvim-DAP Integration | | [kevinhwang91/nvim-ufo](https://github.com/kevinhwang91/nvim-ufo) | Fold detection (_Nvim 0.10 only_) | @@ -46,7 +43,6 @@ title: Default Plugins | [rcarriga/nvim-dap-ui](https://github.com/rcarriga/nvim-dap-ui) | DAP User Interface | | [rebelot/heirline.nvim](https://github.com/rebelot/heirline.nvim) | Custom Statusline/Tabline/Winbar | | [s1n7ax/nvim-window-picker](https://github.com/s1n7ax/nvim-window-picker) | Window Picker (for Neo-tree) | -| [saadparwaiz1/cmp_luasnip](https://github.com/saadparwaiz1/cmp_luasnip) | Completion of Snippets | | [stevearc/aerial.nvim](https://github.com/stevearc/aerial.nvim) | Symbol Overview/Code Outline | | [stevearc/resession.nvim](https://github.com/stevearc/resession.nvim) | Session Management | | [williamboman/mason-lspconfig.nvim](https://github.com/williamboman/mason-lspconfig.nvim) | Mason LSP Integration |