From b86dafc1556d27d1c8500262ebf70f6e57c707be Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 21:32:06 +0300 Subject: [PATCH 01/45] Improve OpenIPC documentation entry points --- .../docs/use-cases/fpv/wfb-ng/{-quick-start.md => quick-start.md} | 0 .../use-cases/home-automation/{-quick-start.md => quick-start.md} | 0 .../video-surveillance/{-quick-start.md => quick-start.md} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename src/content/docs/use-cases/fpv/wfb-ng/{-quick-start.md => quick-start.md} (100%) rename src/content/docs/use-cases/home-automation/{-quick-start.md => quick-start.md} (100%) rename src/content/docs/use-cases/video-surveillance/{-quick-start.md => quick-start.md} (100%) diff --git a/src/content/docs/use-cases/fpv/wfb-ng/-quick-start.md b/src/content/docs/use-cases/fpv/wfb-ng/quick-start.md similarity index 100% rename from src/content/docs/use-cases/fpv/wfb-ng/-quick-start.md rename to src/content/docs/use-cases/fpv/wfb-ng/quick-start.md diff --git a/src/content/docs/use-cases/home-automation/-quick-start.md b/src/content/docs/use-cases/home-automation/quick-start.md similarity index 100% rename from src/content/docs/use-cases/home-automation/-quick-start.md rename to src/content/docs/use-cases/home-automation/quick-start.md diff --git a/src/content/docs/use-cases/video-surveillance/-quick-start.md b/src/content/docs/use-cases/video-surveillance/quick-start.md similarity index 100% rename from src/content/docs/use-cases/video-surveillance/-quick-start.md rename to src/content/docs/use-cases/video-surveillance/quick-start.md From 8b83f821ea5c5f61c965fccf8ed408ec2aa84752 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 21:32:15 +0300 Subject: [PATCH 02/45] Expand core OpenIPC docs --- src/content/docs/getting-started/homepage.mdx | 30 ++++++------ .../docs/getting-started/introduction.md | 35 ++++++++++---- .../docs/getting-started/quick-start.md | 46 ++++++++++++++++++- src/content/docs/index.mdx | 31 +++++++------ src/content/docs/reference/example.md | 26 +++++++++-- src/content/docs/resources/faq.md | 6 +-- src/content/docs/resources/useful-links.md | 36 ++++++++++++++- src/content/docs/software/firmware-updates.md | 41 +++++++++++++---- 8 files changed, 196 insertions(+), 55 deletions(-) diff --git a/src/content/docs/getting-started/homepage.mdx b/src/content/docs/getting-started/homepage.mdx index e5c3de6..c600c8f 100644 --- a/src/content/docs/getting-started/homepage.mdx +++ b/src/content/docs/getting-started/homepage.mdx @@ -1,31 +1,35 @@ --- title: Welcome to OpenIPC Documentation -description: Start your journey with OpenIPC for advanced camera firmware solutions. +description: Start your journey with OpenIPC firmware, supported hardware, and common installation paths. --- - + + ![image](/images/OpenIPC_TREE.jpg) import { Card, CardGrid } from "@astrojs/starlight/components"; -## Next Steps in Your OpenIPC Adventure +## Start Here - - Check [the Hardware section](/hardware/hardware-page/). for compatible - devices and setup instructions. + + Start with the [hardware section](/hardware/hardware-page/) and the official + [supported hardware list](https://openipc.org/supported-hardware/featured). + A matching SoC and flash layout are required before installing firmware. - - Navigate to [the Software section](/software/software-page/). for - software settings and customizations. + + Read the [Quick Start](/getting-started/quick-start/) and choose the guide + that matches your use case: regular camera firmware, FPV, home automation, + or video surveillance. - Connect with other users in the OpenIPC community for support and - collaboration. + Use the official OpenIPC website and Telegram links when you need help. + Include your device model, SoC, boot log, and the exact step where you are + blocked. - Find out how you can contribute to the project in [the OpenIPC Contribution - Guide](/development/contribution-guidelines/). + Improve pages, correct outdated instructions, or add tested device notes + through the [Contribution Guide](/development/contribution-guidelines/). diff --git a/src/content/docs/getting-started/introduction.md b/src/content/docs/getting-started/introduction.md index 84c814f..f5d08cb 100644 --- a/src/content/docs/getting-started/introduction.md +++ b/src/content/docs/getting-started/introduction.md @@ -1,18 +1,35 @@ --- title: About the Project -description: Discover the essence of OpenIPC and its impactful presence in the world of open-source camera firmware. +description: What OpenIPC is, where it fits, and how to continue through the documentation. --- -## OpenIPC: Empowering Camera Innovation +## What is OpenIPC? -OpenIPC stands as a pioneering force in the realm of open-source projects, specifically revolutionizing IP camera firmware. Initiated to break free from the limitations of proprietary firmware, OpenIPC symbolizes empowerment, innovation, and versatility. This project caters to a myriad of applications, from enhancing home security systems to enriching FPV (First Person View) experiences, and advancing IoT (Internet of Things) integrations. +OpenIPC is an open source firmware project for supported IP camera hardware. It +replaces vendor firmware with a Buildroot-based Linux system and related camera +software so users can inspect, adapt, and maintain their devices when the +hardware is supported. -The essence of OpenIPC lies in its community-driven approach. By leveraging the collective wisdom and contributions of its user base, OpenIPC continuously evolves, integrating new features, enhancing security, and ensuring user-friendliness. This collaboration leads to a firmware that not only meets the diverse needs of its users but also stays ahead in technological advancements. +OpenIPC is used in several areas: -## Explore More About OpenIPC: +- IP camera and video surveillance deployments. +- FPV video links and ground-station projects. +- Home automation and camera-based experiments. +- Development and testing on supported camera SoCs. -- **Getting Started**: Embark on your OpenIPC journey and understand the basics of installation and configuration in our comprehensive [Getting Started Guide](/getting-started/quick-start/). -- **Diverse Use Cases**: Discover the versatility of OpenIPC across different scenarios in our detailed Use Cases section, which includes specialized guides for [FPV setups](/use-cases/fpv/quick-start), [home automation](/use-cases/home-automation/quick-start) configurations, and [video surveillance](/use-cases/video-surveillance/quick-start) applications. -- **Hardware Compatibility**: Learn about the supported devices and how to maximize their potential with OpenIPC in the [Hardware Compatibility](/hardware/supported-devices/) guide. +Because camera hardware varies widely, OpenIPC documentation is organized around +hardware targets and practical use cases. Always match a guide to your exact SoC, +flash layout, and recovery method before installing firmware. -Join the OpenIPC movement and be part of a community that's reshaping the world of camera technology. With OpenIPC, the possibilities are endless, and the future is open. +## Continue reading + +- [Quick Start](/getting-started/quick-start/) - first checks before installing + or updating a device. +- [Hardware](/hardware/hardware-page/) - board and device-specific notes. +- [Software](/software/software-page/) - firmware updates, UART flashing, Web UI, + and sysupgrade notes. +- [FPV](/use-cases/fpv/wfb-ng/quick-start/) - WFB-NG and related FPV setup paths. +- [Home Automation](/use-cases/home-automation/quick-start/) - integration-focused + starting point. +- [Video Surveillance](/use-cases/video-surveillance/quick-start/) - general IP + camera deployment notes. diff --git a/src/content/docs/getting-started/quick-start.md b/src/content/docs/getting-started/quick-start.md index cf80d44..656eb40 100644 --- a/src/content/docs/getting-started/quick-start.md +++ b/src/content/docs/getting-started/quick-start.md @@ -3,4 +3,48 @@ title: Quick Start description: The fastest path to get started with OpenIPC --- -Want to try out OpenIPC? Check the [recommended hardware list](https://openipc.org/supported-hardware/featured) for your SoC to generate an example installation guide or take a look at the **Use Cases** section for more information depending on your use case. +OpenIPC replaces vendor firmware on supported IP camera hardware. Before you +flash anything, identify the exact camera board, SoC, flash type, and recovery +options. Installing an image for the wrong target can leave the device unable to +boot. + +## 1. Identify your hardware + +- Open the device page, label, or board silkscreen and record the camera model. +- Identify the SoC family and flash type when possible. +- Check the official [supported hardware list](https://openipc.org/supported-hardware/featured). +- If the device is not listed, search the OpenIPC Wiki and community channels + before trying a similar image. + +## 2. Choose the right path + +- Use [Software](/software/software-page/) for firmware update and flashing + notes. +- Use [FPV](/use-cases/fpv/wfb-ng/quick-start/) if you are building a digital + video link. +- Use [Video Surveillance](/use-cases/video-surveillance/quick-start/) for + general IP camera deployments. +- Use [Home Automation](/use-cases/home-automation/quick-start/) if the camera + will be integrated with a home automation system. + +## 3. Prepare a recovery plan + +Before flashing, make sure you have a way back: + +- Save the current firmware or partitions if your guide requires it. +- Keep UART access available for troubleshooting. +- Prepare a TFTP server when the selected guide uses network recovery. +- Do not interrupt power while flashing or upgrading. + +## 4. Install and verify + +Follow the guide for your exact board or SoC. After the first boot, verify basic +access before changing advanced settings: + +- The device receives an IP address or responds on its documented default IP. +- SSH or the Web UI is reachable. +- Video streaming works with the configured streamer. +- The firmware version and target match the image you installed. + +If a step does not match your hardware, stop and ask in the OpenIPC community +with the device model, SoC, board photos, boot log, and the guide you followed. diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index bf4d60b..c599f2f 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -1,9 +1,9 @@ --- title: Welcome to OpenIPC Documentation -description: Start your journey with OpenIPC for advanced camera firmware solutions. +description: Start your journey with OpenIPC firmware, supported hardware, and common installation paths. template: splash hero: - tagline: Dive into the world of OpenIPC and unlock your camera's full potential! + tagline: Open source firmware documentation for IP cameras, FPV video links, and camera-based projects. image: file: ../../assets/logo/OpenIPC__OPENIPC_logo_vertical_white.svg actions: @@ -12,30 +12,33 @@ hero: icon: right-arrow variant: primary - text: Explore Use Cases - link: /use-cases/fpv/quick-start/ + link: /use-cases/fpv/wfb-ng/quick-start/ icon: right-arrow variant: secondary --- import { Card, CardGrid } from "@astrojs/starlight/components"; -## Next Steps in Your OpenIPC Adventure +## Start Here - - Check [the Hardware section](/hardware/supported-devices/). for compatible - devices and setup instructions. + + Start with the [hardware section](/hardware/hardware-page/) and the official + [supported hardware list](https://openipc.org/supported-hardware/featured). + A matching SoC and flash layout are required before installing firmware. - - Navigate to [the Software section](/software/software-overview/). for - software settings and customizations. + + Read the [Quick Start](/getting-started/quick-start/) and choose the guide + that matches your use case: regular camera firmware, FPV, home automation, + or video surveillance. - Connect with other users in the OpenIPC community for support and - collaboration. + Use the official OpenIPC website and Telegram links when you need help. + Include your device model, SoC, boot log, and the exact step where you are + blocked. - Find out how you can contribute to the project in [the OpenIPC Contribution - Guide](/development/contribution-guidelines/). + Improve pages, correct outdated instructions, or add tested device notes + through the [Contribution Guide](/development/contribution-guidelines/). diff --git a/src/content/docs/reference/example.md b/src/content/docs/reference/example.md index 897521c..50b19c0 100644 --- a/src/content/docs/reference/example.md +++ b/src/content/docs/reference/example.md @@ -1,7 +1,25 @@ --- -title: Example Reference -description: A reference page in my new Starlight docs site. +title: Project Resources +description: Reference links for OpenIPC firmware, documentation, and community resources. --- -- https://openipc.org -- [OpenIPC](https://openipc.org) +## Official links + +- [OpenIPC website](https://openipc.org/) +- [Supported hardware](https://openipc.org/supported-hardware/featured) +- [OpenIPC firmware on GitHub](https://github.com/OpenIPC/firmware) +- [OpenIPC Wiki](https://github.com/OpenIPC/wiki) +- [OpenIPC GitHub organization](https://github.com/OpenIPC) + +## Firmware components + +- [Buildroot](https://buildroot.org/) +- [Majestic streamer](https://github.com/OpenIPC/majestic) +- [Mini streamer](https://github.com/OpenIPC/mini) +- [Venc streamer](https://github.com/OpenIPC/venc) + +## Community and support + +Use the community links published on the +[OpenIPC website](https://openipc.org/) when asking for support. Include device +model, SoC, firmware target, boot log, and the exact command or page that failed. diff --git a/src/content/docs/resources/faq.md b/src/content/docs/resources/faq.md index 3839068..e507d01 100644 --- a/src/content/docs/resources/faq.md +++ b/src/content/docs/resources/faq.md @@ -51,7 +51,7 @@ Links to these channels are available on the [OpenIPC website](https://openipc.o OpenIPC FPV refers to using OpenIPC firmware and hardware for First Person View (FPV) applications—primarily in drones. It involves developing dedicated hardware and software for FPV use. ### What are the goals of OpenIPC FPV? -The goal is to provide a flexible, open system for FPV that allows users to experiment and innovate using inexpensive, widely available components. There is also an aspiration for OpenIPC to become the defacto FPV standard. +The goal is to provide a flexible, open system for FPV that allows users to experiment and innovate using inexpensive, widely available components. There is also an aspiration for OpenIPC to become the de facto FPV standard. ### Which firmware can I use for FPV? Current firmware options include: @@ -65,7 +65,7 @@ OpenIPC supports multiple solutions tailored for FPV. Latency is generally around 80–100 ms at 60fps. For lower latency, it is recommended to use 120fps encoding/decoding with a 120Hz monitor. Official latency figures are not stated due to measurement variability. ### Is there a WebUI for OpenIPC FPV firmware? -PLACE HOLDER +OpenIPC devices can expose a Web UI depending on the installed image and streamer. Use the Web UI for routine configuration when it is available, but keep SSH and UART recovery options ready for installation, troubleshooting, or failed upgrades. ### How can I get help with setting up OpenIPC FPV? You can ask for help in the OpenIPC FPV users Telegram group. It is also recommended to review the existing documentation first, as many common questions have already been discussed. @@ -79,7 +79,7 @@ MSP OSD (On‑Screen Display) is a feature that overlays flight controller infor WFB‑NG is the next generation of a long‑range packet radio link that uses raw WiFi. It is a key component of OpenIPC FPV, and setup is managed via commands like `wfb_cli gs`. ### What is Ruby FPV? -Ruby FPV is another digital FPV system compatible with OpenIPC cameras. More detailed resources are available on [RubyFPV website] (https://rubyfpv.com/). +Ruby FPV is another digital FPV system compatible with OpenIPC cameras. More detailed resources are available on [RubyFPV website](https://rubyfpv.com/). ## Documentation Related Questions diff --git a/src/content/docs/resources/useful-links.md b/src/content/docs/resources/useful-links.md index af57b09..888cfe0 100644 --- a/src/content/docs/resources/useful-links.md +++ b/src/content/docs/resources/useful-links.md @@ -1,4 +1,36 @@ --- -title: Example Guide -description: A guide in my new Starlight docs site. +title: Useful Links +description: Official OpenIPC resources and related project links. --- + +Use official project resources first when checking compatibility, downloading +firmware, or asking for help. + +## OpenIPC resources + +- [OpenIPC website](https://openipc.org/) - project overview, supported + hardware, tools, and community links. +- [OpenIPC firmware repository](https://github.com/OpenIPC/firmware) - Buildroot + based firmware source code and release information. +- [OpenIPC Wiki](https://github.com/OpenIPC/wiki) - current wiki content and + historical guides. Some pages can be older than the docs site, so check dates + and compare with current firmware behavior. +- [OpenIPC organization on GitHub](https://github.com/OpenIPC) - related + repositories such as web interfaces, streamers, and FPV tooling. + +## Documentation and contribution + +- [Contribution Guidelines](/development/contribution-guidelines/) - how to + improve these docs. +- [Quick Start](/getting-started/quick-start/) - first checks before installing + firmware. +- [Firmware Updates](/software/firmware-updates/) - update flow after OpenIPC is + already installed. + +## Related projects mentioned in OpenIPC docs + +- [Buildroot](https://buildroot.org/) - build system used by OpenIPC firmware. +- [WFB-NG](https://github.com/svpcom/wfb-ng) - raw WiFi broadcast link commonly + used in FPV setups. +- [Ruby FPV](https://rubyfpv.com/) - digital FPV ecosystem that can be used with + OpenIPC camera firmware. diff --git a/src/content/docs/software/firmware-updates.md b/src/content/docs/software/firmware-updates.md index 0948d68..586ac41 100644 --- a/src/content/docs/software/firmware-updates.md +++ b/src/content/docs/software/firmware-updates.md @@ -2,12 +2,35 @@ title: Firmware Updates description: A guide on how to update your camera. --- -Updating your camera to the latest firmware is easy! - -- Go to your camera's IP address and sign in to your camera, If prompted. -- Go to Settings → Firmware OR Firmware → Update -- Click 'Install update from GitHub' -> [!NOTE] -> Updating can take up to 5 minutes, So dont be too worried if it takes a while to update. -- Wait for 'Uncondional reboot' -And just like that, Your camera has been updated! + +Use this page when OpenIPC is already installed and the camera boots normally. +For first-time installation or recovery, follow the guide for your exact device +or SoC instead. + +## Before updating + +- Confirm that the device is running OpenIPC. +- Keep stable power connected during the whole update. +- Note the current firmware target and version. +- Back up any custom configuration that is important for your setup. +- Make sure the camera can reach GitHub if you plan to use the Web UI update + button. + +## Update from the Web UI + +1. Open the camera Web UI in your browser. +2. Sign in if the interface asks for credentials. +3. Open **Settings -> Firmware** or **Firmware -> Update**. +4. Select **Install update from GitHub**. +5. Wait for the update process and automatic reboot to finish. + +The update can take several minutes. Do not power off the camera while firmware +is being written. + +## After updating + +- Refresh the Web UI and check the reported firmware version. +- Verify video streaming and any required integrations. +- Reapply custom settings only if they were not preserved. +- If the camera does not boot, use the recovery method documented for your + hardware. From fbd414c976824011b65817e942475f4b92a7c61b Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 21:32:19 +0300 Subject: [PATCH 03/45] Add Russian documentation locale --- astro.config.mjs | 13 +- src/content/config.ts | 3 +- .../docs/ru/getting-started/homepage.mdx | 31 +++++ .../docs/ru/getting-started/introduction.md | 35 ++++++ .../docs/ru/getting-started/quick-start.md | 51 ++++++++ src/content/docs/ru/index.mdx | 43 +++++++ src/content/docs/ru/reference/example.md | 25 ++++ src/content/docs/ru/resources/faq.md | 116 ++++++++++++++++++ src/content/docs/ru/resources/useful-links.md | 36 ++++++ .../docs/ru/software/firmware-updates.md | 36 ++++++ src/content/i18n/ru.json | 1 + 11 files changed, 388 insertions(+), 2 deletions(-) create mode 100644 src/content/docs/ru/getting-started/homepage.mdx create mode 100644 src/content/docs/ru/getting-started/introduction.md create mode 100644 src/content/docs/ru/getting-started/quick-start.md create mode 100644 src/content/docs/ru/index.mdx create mode 100644 src/content/docs/ru/reference/example.md create mode 100644 src/content/docs/ru/resources/faq.md create mode 100644 src/content/docs/ru/resources/useful-links.md create mode 100644 src/content/docs/ru/software/firmware-updates.md create mode 100644 src/content/i18n/ru.json diff --git a/astro.config.mjs b/astro.config.mjs index a82c979..caf17c5 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -5,11 +5,22 @@ import tailwind from "@astrojs/tailwind"; // https://astro.build/config export default defineConfig({ - site: "https://docs.openipc.org", + site: "https://openipc.egorniko.ru", base: "/", integrations: [ starlight({ title: "Documentation", + defaultLocale: "root", + locales: { + root: { + label: "English", + lang: "en", + }, + ru: { + label: "Русский", + lang: "ru", + }, + }, customCss: ["./src/tailwind.css"], social: { github: "https://github.com/OpenIPC", diff --git a/src/content/config.ts b/src/content/config.ts index a4eec59..f043fb4 100644 --- a/src/content/config.ts +++ b/src/content/config.ts @@ -1,6 +1,7 @@ import { defineCollection } from "astro:content"; -import { docsSchema } from "@astrojs/starlight/schema"; +import { docsSchema, i18nSchema } from "@astrojs/starlight/schema"; export const collections = { docs: defineCollection({ schema: docsSchema() }), + i18n: defineCollection({ type: "data", schema: i18nSchema() }), }; diff --git a/src/content/docs/ru/getting-started/homepage.mdx b/src/content/docs/ru/getting-started/homepage.mdx new file mode 100644 index 0000000..dbd5512 --- /dev/null +++ b/src/content/docs/ru/getting-started/homepage.mdx @@ -0,0 +1,31 @@ +--- +title: Документация OpenIPC +description: Начните работу с прошивкой OpenIPC, поддерживаемым оборудованием и типовыми сценариями установки. +--- + +![Схема OpenIPC](/images/OpenIPC_TREE.jpg) + +import { Card, CardGrid } from "@astrojs/starlight/components"; + +## С чего начать + + + + Начните с [раздела Hardware](/ru/hardware/hardware-page/) и официального + [списка поддерживаемого оборудования](https://openipc.org/supported-hardware/featured). + Перед установкой прошивки должны совпадать SoC и разметка flash-памяти. + + + Откройте [быстрый старт](/ru/getting-started/quick-start/) и выберите + инструкцию под свой сценарий: обычная IP-камера, FPV, домашняя автоматизация + или видеонаблюдение. + + + Используйте официальные ссылки OpenIPC и Telegram-группы. В вопросе укажите + модель устройства, SoC, boot log и точный шаг, на котором возникла проблема. + + + Улучшайте страницы, исправляйте устаревшие инструкции или добавляйте + проверенные заметки по устройствам через [руководство для авторов](/ru/development/contribution-guidelines/). + + diff --git a/src/content/docs/ru/getting-started/introduction.md b/src/content/docs/ru/getting-started/introduction.md new file mode 100644 index 0000000..563440f --- /dev/null +++ b/src/content/docs/ru/getting-started/introduction.md @@ -0,0 +1,35 @@ +--- +title: О проекте +description: Что такое OpenIPC, где он применяется и как двигаться по документации. +--- + +## Что такое OpenIPC? + +OpenIPC - открытый проект прошивки для поддерживаемого оборудования IP-камер. +Он заменяет заводскую прошивку Linux-системой на базе Buildroot и связанным +камерным ПО, чтобы пользователи могли изучать, адаптировать и обслуживать +устройства там, где оборудование поддерживается проектом. + +OpenIPC применяют в нескольких направлениях: + +- IP-камеры и видеонаблюдение. +- FPV-видеолинии и наземные станции. +- Домашняя автоматизация и эксперименты на базе камер. +- Разработка и тестирование на поддерживаемых camera SoC. + +Оборудование камер сильно отличается, поэтому документация построена вокруг +hardware targets и практических сценариев. Перед установкой прошивки всегда +сверяйте инструкцию с точным SoC, flash-разметкой и способом восстановления. + +## Что читать дальше + +- [Быстрый старт](/ru/getting-started/quick-start/) - первые проверки перед + установкой или обновлением устройства. +- [Hardware](/ru/hardware/hardware-page/) - заметки по конкретным платам и устройствам. +- [Software](/ru/software/software-page/) - обновления прошивки, UART flashing, + Web UI и sysupgrade. +- [FPV](/ru/use-cases/fpv/wfb-ng/quick-start/) - WFB-NG и связанные FPV-сценарии. +- [Home Automation](/ru/use-cases/home-automation/quick-start/) - стартовая точка + для интеграций. +- [Video Surveillance](/ru/use-cases/video-surveillance/quick-start/) - заметки + по обычному видеонаблюдению. diff --git a/src/content/docs/ru/getting-started/quick-start.md b/src/content/docs/ru/getting-started/quick-start.md new file mode 100644 index 0000000..9b3d52b --- /dev/null +++ b/src/content/docs/ru/getting-started/quick-start.md @@ -0,0 +1,51 @@ +--- +title: Быстрый старт +description: Самый короткий путь к началу работы с OpenIPC +--- + +OpenIPC заменяет заводскую прошивку на поддерживаемом оборудовании IP-камер. +Перед прошивкой определите точную плату камеры, SoC, тип flash-памяти и способ +восстановления. Образ для неверной цели может привести к тому, что устройство +перестанет загружаться. + +## 1. Определите оборудование + +- Запишите модель камеры по корпусу, наклейке, странице устройства или маркировке платы. +- По возможности определите семейство SoC и тип flash-памяти. +- Проверьте официальный [список поддерживаемого оборудования](https://openipc.org/supported-hardware/featured). +- Если устройства нет в списке, сначала поищите его в OpenIPC Wiki и каналах + сообщества, а не ставьте образ от похожей модели. + +## 2. Выберите подходящую инструкцию + +- Раздел [Software](/ru/software/software-page/) подходит для заметок по прошивке + и обновлениям. +- Раздел [FPV](/ru/use-cases/fpv/wfb-ng/quick-start/) нужен для цифровой + видеолинии. +- Раздел [Video Surveillance](/ru/use-cases/video-surveillance/quick-start/) + подходит для обычного видеонаблюдения. +- Раздел [Home Automation](/ru/use-cases/home-automation/quick-start/) полезен, + если камера будет частью системы домашней автоматизации. + +## 3. Подготовьте восстановление + +Перед прошивкой убедитесь, что есть путь назад: + +- Сохраните текущую прошивку или разделы, если это требуется в инструкции. +- Держите UART доступным для диагностики. +- Подготовьте TFTP-сервер, если выбранная инструкция использует сетевое восстановление. +- Не отключайте питание во время прошивки или обновления. + +## 4. Установите и проверьте + +Следуйте инструкции именно для вашей платы или SoC. После первой загрузки +проверьте базовый доступ до изменения сложных настроек: + +- Устройство получает IP-адрес или отвечает на документированный адрес по умолчанию. +- Доступны SSH или Web UI. +- Видеопоток работает с выбранным streamer. +- Версия прошивки и target совпадают с установленным образом. + +Если шаг инструкции не совпадает с вашим оборудованием, остановитесь и задайте +вопрос в сообществе OpenIPC. Приложите модель устройства, SoC, фото платы, +boot log и ссылку на инструкцию. diff --git a/src/content/docs/ru/index.mdx b/src/content/docs/ru/index.mdx new file mode 100644 index 0000000..d9aed55 --- /dev/null +++ b/src/content/docs/ru/index.mdx @@ -0,0 +1,43 @@ +--- +title: Документация OpenIPC +description: Начните работу с прошивкой OpenIPC, поддерживаемым оборудованием и типовыми сценариями установки. +template: splash +hero: + tagline: Документация по открытой прошивке для IP-камер, FPV-видеолиний и проектов на базе камер. + image: + file: ../../../assets/logo/OpenIPC__OPENIPC_logo_vertical_white.svg + actions: + - text: Быстрый старт + link: /ru/getting-started/quick-start/ + icon: right-arrow + variant: primary + - text: Сценарии применения + link: /ru/use-cases/fpv/wfb-ng/quick-start/ + icon: right-arrow + variant: secondary +--- + +import { Card, CardGrid } from "@astrojs/starlight/components"; + +## С чего начать + + + + Начните с [раздела Hardware](/ru/hardware/hardware-page/) и официального + [списка поддерживаемого оборудования](https://openipc.org/supported-hardware/featured). + Перед установкой прошивки должны совпадать SoC и разметка flash-памяти. + + + Откройте [быстрый старт](/ru/getting-started/quick-start/) и выберите + инструкцию под свой сценарий: обычная IP-камера, FPV, домашняя автоматизация + или видеонаблюдение. + + + Используйте официальные ссылки OpenIPC и Telegram-группы. В вопросе укажите + модель устройства, SoC, boot log и точный шаг, на котором возникла проблема. + + + Улучшайте страницы, исправляйте устаревшие инструкции или добавляйте + проверенные заметки по устройствам через [руководство для авторов](/ru/development/contribution-guidelines/). + + diff --git a/src/content/docs/ru/reference/example.md b/src/content/docs/ru/reference/example.md new file mode 100644 index 0000000..63ae65f --- /dev/null +++ b/src/content/docs/ru/reference/example.md @@ -0,0 +1,25 @@ +--- +title: Ресурсы проекта +description: Справочные ссылки на прошивку OpenIPC, документацию и сообщество. +--- + +## Официальные ссылки + +- [Сайт OpenIPC](https://openipc.org/) +- [Поддерживаемое оборудование](https://openipc.org/supported-hardware/featured) +- [Прошивка OpenIPC на GitHub](https://github.com/OpenIPC/firmware) +- [OpenIPC Wiki](https://github.com/OpenIPC/wiki) +- [Организация OpenIPC на GitHub](https://github.com/OpenIPC) + +## Компоненты прошивки + +- [Buildroot](https://buildroot.org/) +- [Majestic streamer](https://github.com/OpenIPC/majestic) +- [Mini streamer](https://github.com/OpenIPC/mini) +- [Venc streamer](https://github.com/OpenIPC/venc) + +## Сообщество и поддержка + +Для вопросов используйте ссылки сообщества, опубликованные на +[сайте OpenIPC](https://openipc.org/). Указывайте модель устройства, SoC, +firmware target, boot log и точную команду или страницу, где возникла ошибка. diff --git a/src/content/docs/ru/resources/faq.md b/src/content/docs/ru/resources/faq.md new file mode 100644 index 0000000..214fed7 --- /dev/null +++ b/src/content/docs/ru/resources/faq.md @@ -0,0 +1,116 @@ +--- +title: "OpenIPC FAQ" +description: "Частые вопросы по OpenIPC: общая информация, FPV, документация и настройка." +--- + +# OpenIPC FAQ + +Эта страница отвечает на частые вопросы об OpenIPC. Для самых актуальных данных +сверяйтесь с [docs.openipc.org](https://docs.openipc.org) и официальным сайтом +OpenIPC. + +## Общие вопросы + +### Что такое OpenIPC? +OpenIPC - открытая прошивка и набор проектов для IP-камер и камерных устройств. +Прошивка строится на Buildroot и заменяет закрытую заводскую прошивку там, где +оборудование поддерживается проектом. + +### OpenIPC - коммерческий проект? +OpenIPC развивается открытым сообществом. У проекта есть бесплатная поддержка в +сообществе и отдельная платная коммерческая поддержка для пользователей, которым +нужны сопровождение и приоритетная помощь. + +### Как помочь OpenIPC? +Можно помогать несколькими способами: + +- писать и улучшать документацию; +- проверять инструкции на реальном оборудовании; +- сообщать о неточностях и устаревших шагах; +- отправлять исправления в код и документацию; +- делиться воспроизводимыми логами и результатами тестов. + +### Где искать документацию? +Основные источники: + +- [OpenIPC Wiki](https://github.com/OpenIPC/wiki); +- [новый сайт документации](https://docs.openipc.org); +- [официальный сайт OpenIPC](https://openipc.org/). + +Часть wiki-материалов может быть старше текущей прошивки, поэтому проверяйте +дату страницы и сравнивайте с актуальным поведением устройства. + +### Какие основные направления есть у OpenIPC? +В документации выделены несколько сценариев: видеонаблюдение, FPV и домашняя +автоматизация. Они используют общую базу прошивки, но отличаются оборудованием, +настройками видеопотока и требованиями к задержке. + +### Где общается сообщество? +Основные ссылки на Telegram и другие каналы опубликованы на +[официальном сайте OpenIPC](https://openipc.org/). При обращении за помощью +указывайте модель устройства, SoC, target прошивки, boot log и инструкцию, +которую вы выполняете. + +## FPV + +### Что такое OpenIPC FPV? +OpenIPC FPV - применение прошивки OpenIPC и связанного оборудования в цифровых +FPV-системах, чаще всего для беспилотников и наземных станций. + +### Какие цели у OpenIPC FPV? +Цель - дать пользователям гибкую открытую систему для экспериментов с доступным +камерным и WiFi-оборудованием. Конкретная пригодность зависит от SoC, сенсора, +WiFi-модуля, настроек кодирования и наземной станции. + +### Какие варианты прошивки используются для FPV? +В документации встречаются WFB-NG и Ruby FPV. Выбирайте инструкции под свою +камеру, наземную станцию и WiFi-модуль. + +### Что с задержкой видео? +Задержка зависит от сенсора, SoC, streamer, частоты кадров, кодирования, +передающего модуля, наземной станции и дисплея. Не переносите чужие цифры на +свою сборку без измерений. + +### Есть ли Web UI для FPV-прошивки? +Устройства OpenIPC могут иметь Web UI в зависимости от установленного образа и +streamer. Используйте Web UI для обычной настройки, если он доступен, но для +установки, диагностики и восстановления держите готовыми SSH и UART. + +### Где получить помощь с FPV? +Сначала прочитайте подходящий раздел документации и затем обращайтесь в +профильные каналы OpenIPC. В вопросе приложите железо, target прошивки, схему +подключения, логи и шаг, который не получается выполнить. + +### Какое оборудование поддерживается? +Поддержка зависит от конкретного SoC, платы, flash-разметки и выбранного образа. +Начинайте с официального списка поддерживаемого оборудования и страниц по +конкретным платам. + +### Что такое MSP OSD? +MSP OSD - вывод данных полетного контроллера поверх видео. В OpenIPC это связано +с отдельными компонентами и настройками FPV-сценариев. + +### Что такое WFB-NG? +WFB-NG - raw WiFi broadcast link, который часто используют в FPV-сборках для +передачи видео и телеметрии. + +### Что такое Ruby FPV? +Ruby FPV - цифровая FPV-экосистема, которую можно использовать с камерами на +OpenIPC. Подробнее смотрите на [rubyfpv.com](https://rubyfpv.com/). + +## Документация + +### Почему документация важна? +OpenIPC работает с разным оборудованием, поэтому качественная документация +уменьшает риск неверной прошивки, помогает новичкам и дает сообществу +повторяемые инструкции. + +### Как внести правку? +Создайте GitHub-аккаунт, сделайте fork репозитория документации, внесите правку +в Markdown/MDX и отправьте pull request. Подробности есть в +[Contribution Guidelines](/ru/development/contribution-guidelines/). + +### Документация всегда актуальна? +Не всегда. Проект активно развивается, а часть старых wiki-страниц постепенно +переносится или уточняется. Если нашли устаревший шаг, лучше отправить небольшую +проверенную правку с описанием устройства и версии прошивки. diff --git a/src/content/docs/ru/resources/useful-links.md b/src/content/docs/ru/resources/useful-links.md new file mode 100644 index 0000000..c8ac82c --- /dev/null +++ b/src/content/docs/ru/resources/useful-links.md @@ -0,0 +1,36 @@ +--- +title: Полезные ссылки +description: Официальные ресурсы OpenIPC и связанные проекты. +--- + +При проверке совместимости, загрузке прошивки и обращении за помощью сначала +используйте официальные ресурсы проекта. + +## Ресурсы OpenIPC + +- [Сайт OpenIPC](https://openipc.org/) - обзор проекта, поддерживаемое + оборудование, инструменты и ссылки на сообщество. +- [Репозиторий прошивки OpenIPC](https://github.com/OpenIPC/firmware) - исходный + код прошивки на базе Buildroot и сведения о релизах. +- [OpenIPC Wiki](https://github.com/OpenIPC/wiki) - текущие wiki-материалы и + исторические инструкции. Часть страниц может быть старше сайта документации, + поэтому сверяйте даты и фактическое поведение актуальной прошивки. +- [Организация OpenIPC на GitHub](https://github.com/OpenIPC) - связанные + репозитории Web UI, streamer и FPV-инструментов. + +## Документация и вклад + +- [Руководство для авторов](/ru/development/contribution-guidelines/) - как + улучшать эту документацию. +- [Быстрый старт](/ru/getting-started/quick-start/) - первые проверки перед + установкой прошивки. +- [Обновления прошивки](/ru/software/firmware-updates/) - обновление устройства, + на котором уже установлена OpenIPC. + +## Связанные проекты, упоминаемые в документации + +- [Buildroot](https://buildroot.org/) - система сборки, используемая прошивкой OpenIPC. +- [WFB-NG](https://github.com/svpcom/wfb-ng) - raw WiFi broadcast link, часто + используемый в FPV-сценариях. +- [Ruby FPV](https://rubyfpv.com/) - цифровая FPV-экосистема, которую можно + использовать с камерной прошивкой OpenIPC. diff --git a/src/content/docs/ru/software/firmware-updates.md b/src/content/docs/ru/software/firmware-updates.md new file mode 100644 index 0000000..2415dd4 --- /dev/null +++ b/src/content/docs/ru/software/firmware-updates.md @@ -0,0 +1,36 @@ +--- +title: Обновления прошивки +description: Как обновлять камеру с установленной OpenIPC. +--- + +Эта страница относится к устройствам, на которых OpenIPC уже установлена и +камера нормально загружается. Для первой установки или восстановления используйте +инструкцию именно для вашего устройства или SoC. + +## Перед обновлением + +- Убедитесь, что устройство уже работает на OpenIPC. +- Обеспечьте стабильное питание на все время обновления. +- Запишите текущий firmware target и версию. +- Сохраните важную пользовательскую конфигурацию. +- Убедитесь, что камера может обращаться к GitHub, если планируете обновление + через кнопку Web UI. + +## Обновление через Web UI + +1. Откройте Web UI камеры в браузере. +2. Войдите в интерфейс, если он запросит учетные данные. +3. Откройте **Settings -> Firmware** или **Firmware -> Update**. +4. Выберите **Install update from GitHub**. +5. Дождитесь завершения обновления и автоматической перезагрузки. + +Обновление может занять несколько минут. Не отключайте питание камеры, пока +прошивка записывается. + +## После обновления + +- Обновите страницу Web UI и проверьте отображаемую версию прошивки. +- Проверьте видеопоток и нужные интеграции. +- Верните пользовательские настройки только если они не сохранились. +- Если камера не загружается, используйте способ восстановления, описанный для + вашего оборудования. diff --git a/src/content/i18n/ru.json b/src/content/i18n/ru.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/src/content/i18n/ru.json @@ -0,0 +1 @@ +{} From c77fe1c525fe4bd6857ed21128a1a8058d784d04 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 21:34:50 +0300 Subject: [PATCH 04/45] Fix card links in localized home pages --- src/content/docs/getting-started/homepage.mdx | 4 ++-- src/content/docs/index.mdx | 4 ++-- src/content/docs/ru/getting-started/homepage.mdx | 4 ++-- src/content/docs/ru/index.mdx | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/docs/getting-started/homepage.mdx b/src/content/docs/getting-started/homepage.mdx index c600c8f..b8dc034 100644 --- a/src/content/docs/getting-started/homepage.mdx +++ b/src/content/docs/getting-started/homepage.mdx @@ -14,8 +14,8 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Start with the [hardware section](/hardware/hardware-page/) and the official - [supported hardware list](https://openipc.org/supported-hardware/featured). + Start with the hardware section and the official + supported hardware list. A matching SoC and flash layout are required before installing firmware. diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index c599f2f..77c2691 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -23,8 +23,8 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Start with the [hardware section](/hardware/hardware-page/) and the official - [supported hardware list](https://openipc.org/supported-hardware/featured). + Start with the hardware section and the official + supported hardware list. A matching SoC and flash layout are required before installing firmware. diff --git a/src/content/docs/ru/getting-started/homepage.mdx b/src/content/docs/ru/getting-started/homepage.mdx index dbd5512..ece739a 100644 --- a/src/content/docs/ru/getting-started/homepage.mdx +++ b/src/content/docs/ru/getting-started/homepage.mdx @@ -11,8 +11,8 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Начните с [раздела Hardware](/ru/hardware/hardware-page/) и официального - [списка поддерживаемого оборудования](https://openipc.org/supported-hardware/featured). + Начните с раздела Hardware и официального + списка поддерживаемого оборудования. Перед установкой прошивки должны совпадать SoC и разметка flash-памяти. diff --git a/src/content/docs/ru/index.mdx b/src/content/docs/ru/index.mdx index d9aed55..aa953e8 100644 --- a/src/content/docs/ru/index.mdx +++ b/src/content/docs/ru/index.mdx @@ -23,8 +23,8 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Начните с [раздела Hardware](/ru/hardware/hardware-page/) и официального - [списка поддерживаемого оборудования](https://openipc.org/supported-hardware/featured). + Начните с раздела Hardware и официального + списка поддерживаемого оборудования. Перед установкой прошивки должны совпадать SoC и разметка flash-памяти. From 3e1da0b954c0e616fca158cda5f979c1e5eb9c00 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 14:58:43 -0400 Subject: [PATCH 05/45] Fix deployed site URL for HTTP hosting --- astro.config.mjs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/astro.config.mjs b/astro.config.mjs index caf17c5..5291ea0 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -5,7 +5,7 @@ import tailwind from "@astrojs/tailwind"; // https://astro.build/config export default defineConfig({ - site: "https://openipc.egorniko.ru", + site: "http://openipc.egorniko.ru", base: "/", integrations: [ starlight({ From ae9b58bac6d14008d625899678ff533017eb67e0 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 15:26:41 -0400 Subject: [PATCH 06/45] Rework docs information architecture --- astro.config.mjs | 231 ++++++------------ .../firmware-updates.md | 0 .../general-uart-flashing-guide.mdx | 0 .../online-sysupgrade.mdx} | 0 .../docs/firmware-recovery/unbrick-ingenic.md | 11 + .../firmware-recovery/unbrick-sigmastar.md | 11 + src/content/docs/getting-started/homepage.mdx | 2 +- .../docs/getting-started/introduction.md | 4 +- .../docs/getting-started/quick-start.md | 2 +- .../openipc/openipc-mario-aio.md} | 0 .../openipc/openipc-thinker-air-unit.md} | 2 +- src/content/docs/hardware/air-units/others.md | 7 + .../runcam/runcam-wifilink1.mdx} | 2 +- .../runcam/runcam-wifilink2.mdx} | 2 +- .../hisilicon-gk7025v200-gk7025v300.md | 7 + .../cameras/sigmastar-ssc338q-ssc30k.md | 14 ++ src/content/docs/hardware/displays.md | 7 + .../hardware/{hardware-page.mdx => index.mdx} | 0 .../docs/hardware/sbcs/nvr-hi3536dv100.md | 11 + .../{OpenIPC/VRX => sbcs}/openipc-bonnet.mdx | 0 src/content/docs/hardware/sbcs/orange-pi.md | 7 + src/content/docs/hardware/sbcs/others.md | 7 + .../docs/hardware/sbcs/radxa-zero-3w-3e.md | 11 + src/content/docs/hardware/sbcs/runcam.md | 9 + .../wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx} | 0 .../wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx} | 0 .../wi-fi-adapters/bl-r8812af1-rtl8812au.mdx} | 0 .../docs/hardware/wi-fi-adapters/openipc.md | 7 + .../wi-fi-adapters/runcam-custom-rtl8812eu.md | 12 + src/content/docs/index.mdx | 2 +- src/content/docs/resources/useful-links.md | 2 +- src/content/docs/software-tools/aviateur.md | 7 + src/content/docs/software-tools/companion.md | 12 + .../index.mdx} | 0 .../docs/software-tools/openipc-builder.md | 12 + .../system-components/bidirectional-link.md | 10 + src/content/docs/system-components/divinus.md | 7 + .../docs/system-components/joystick.md | 7 + .../docs/system-components/majestic.md | 11 + src/content/docs/system-components/mavfwd.md | 7 + src/content/docs/system-components/msp-osd.md | 7 + .../system-components/pixelpilot-android.md | 12 + .../docs/system-components/pixelpilot-rk.md | 7 + .../docs/system-components/sysupgrade.md | 9 + .../web-ui-development.md} | 0 .../{software => system-components}/web-ui.md | 0 src/content/docs/system-components/zoom.md | 7 + .../docs/use-cases/ap-fpv-over-wi-fi/faq.md | 9 + .../ap-fpv-over-wi-fi/quick-start.md | 9 + .../docs/use-cases/camera-surveillance.md | 10 + .../docs/use-cases/fpv-over-wfb-ng/faq.md | 10 + .../use-cases/fpv-over-wfb-ng/quick-start.md | 11 + src/content/docs/use-cases/openwrt.md | 7 + .../docs/use-cases/youtube-streaming.md | 7 + 54 files changed, 387 insertions(+), 161 deletions(-) rename src/content/docs/{software => firmware-recovery}/firmware-updates.md (100%) rename src/content/docs/{software => firmware-recovery}/general-uart-flashing-guide.mdx (100%) rename src/content/docs/{software/sysupgrade.mdx => firmware-recovery/online-sysupgrade.mdx} (100%) create mode 100644 src/content/docs/firmware-recovery/unbrick-ingenic.md create mode 100644 src/content/docs/firmware-recovery/unbrick-sigmastar.md rename src/content/docs/hardware/{OpenIPC/VTX/fpv-mario-aio.md => air-units/openipc/openipc-mario-aio.md} (100%) rename src/content/docs/hardware/{OpenIPC/VTX/fpv-thinker-aio.md => air-units/openipc/openipc-thinker-air-unit.md} (97%) create mode 100644 src/content/docs/hardware/air-units/others.md rename src/content/docs/hardware/{Runcam/VTX/runcam-wifilink-v1.mdx => air-units/runcam/runcam-wifilink1.mdx} (97%) rename src/content/docs/hardware/{Runcam/VTX/runcam-wifilink-v2.mdx => air-units/runcam/runcam-wifilink2.mdx} (97%) create mode 100644 src/content/docs/hardware/cameras/hisilicon-gk7025v200-gk7025v300.md create mode 100644 src/content/docs/hardware/cameras/sigmastar-ssc338q-ssc30k.md create mode 100644 src/content/docs/hardware/displays.md rename src/content/docs/hardware/{hardware-page.mdx => index.mdx} (100%) create mode 100644 src/content/docs/hardware/sbcs/nvr-hi3536dv100.md rename src/content/docs/hardware/{OpenIPC/VRX => sbcs}/openipc-bonnet.mdx (100%) create mode 100644 src/content/docs/hardware/sbcs/orange-pi.md create mode 100644 src/content/docs/hardware/sbcs/others.md create mode 100644 src/content/docs/hardware/sbcs/radxa-zero-3w-3e.md create mode 100644 src/content/docs/hardware/sbcs/runcam.md rename src/content/docs/{use-cases/fpv/net-cards/rtl8731bu.mdx => hardware/wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx} (100%) rename src/content/docs/{use-cases/fpv/net-cards/rtl8812eu.mdx => hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx} (100%) rename src/content/docs/{use-cases/fpv/net-cards/rtl8812au.mdx => hardware/wi-fi-adapters/bl-r8812af1-rtl8812au.mdx} (100%) create mode 100644 src/content/docs/hardware/wi-fi-adapters/openipc.md create mode 100644 src/content/docs/hardware/wi-fi-adapters/runcam-custom-rtl8812eu.md create mode 100644 src/content/docs/software-tools/aviateur.md create mode 100644 src/content/docs/software-tools/companion.md rename src/content/docs/{software/software-page.mdx => software-tools/index.mdx} (100%) create mode 100644 src/content/docs/software-tools/openipc-builder.md create mode 100644 src/content/docs/system-components/bidirectional-link.md create mode 100644 src/content/docs/system-components/divinus.md create mode 100644 src/content/docs/system-components/joystick.md create mode 100644 src/content/docs/system-components/majestic.md create mode 100644 src/content/docs/system-components/mavfwd.md create mode 100644 src/content/docs/system-components/msp-osd.md create mode 100644 src/content/docs/system-components/pixelpilot-android.md create mode 100644 src/content/docs/system-components/pixelpilot-rk.md create mode 100644 src/content/docs/system-components/sysupgrade.md rename src/content/docs/{development/webface-guide.md => system-components/web-ui-development.md} (100%) rename src/content/docs/{software => system-components}/web-ui.md (100%) create mode 100644 src/content/docs/system-components/zoom.md create mode 100644 src/content/docs/use-cases/ap-fpv-over-wi-fi/faq.md create mode 100644 src/content/docs/use-cases/ap-fpv-over-wi-fi/quick-start.md create mode 100644 src/content/docs/use-cases/camera-surveillance.md create mode 100644 src/content/docs/use-cases/fpv-over-wfb-ng/faq.md create mode 100644 src/content/docs/use-cases/fpv-over-wfb-ng/quick-start.md create mode 100644 src/content/docs/use-cases/openwrt.md create mode 100644 src/content/docs/use-cases/youtube-streaming.md diff --git a/astro.config.mjs b/astro.config.mjs index 5291ea0..340c283 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -12,168 +12,95 @@ export default defineConfig({ title: "Documentation", defaultLocale: "root", locales: { - root: { - label: "English", - lang: "en", - }, - ru: { - label: "Русский", - lang: "ru", - }, + root: { label: "English", lang: "en" }, + ru: { label: "Русский", lang: "ru" }, }, customCss: ["./src/tailwind.css"], - social: { - github: "https://github.com/OpenIPC", - }, + social: { github: "https://github.com/OpenIPC" }, logo: { light: "./src/assets/logo/OpenIPC__OPENIPC_logo_vertical.svg", dark: "./src/assets/logo/OpenIPC__OPENIPC_logo_vertical_white.svg", }, - editLink: { - baseUrl: "https://github.com/OpenIPC/docs/edit/main/", - }, - components: { - // Relative path to the custom component. - Head: "./src/components/Head.astro", - }, + editLink: { baseUrl: "https://github.com/OpenIPC/docs/edit/main/" }, + components: { Head: "./src/components/Head.astro" }, sidebar: [ - { - label: "Getting Started", - collapsed: true, - items: [ - { - label: "Homepage", - link: "/getting-started/homepage", - }, - { - label: "About the Project", - link: "/getting-started/introduction/", - }, - { - label: "Quick Start", - link: "/getting-started/quick-start/", - badge: { text: "WIP", variant: "caution" }, - }, - { - label: "Roadmap", - link: "/getting-started/roadmap/", - }, - ], - }, - { - label: "Use Cases", - collapsed: true, - items: [ - { - label: "FPV (First Person View)", - collapsed: true, - items: [ - { - label: "Net cards", - collapsed: true, - autogenerate: { - directory: "/use-cases/fpv/net-cards", - }, - }, - { - label: "WFB-NG", - collapsed: true, - autogenerate: { - directory: "/use-cases/fpv/wfb-ng", - }, - }, - { - label: "APFPV", - collapsed: true, - autogenerate: { - directory: "/use-cases/fpv/apfpv", - }, - }, - ], - badge: { text: "WIP", variant: "caution" }, - }, - { - label: "Home Automation", - collapsed: true, - autogenerate: { - directory: "/use-cases/home-automation", - }, - badge: { text: "WIP", variant: "caution" }, - }, - { - label: "Video Surveillance", - collapsed: true, - autogenerate: { - directory: "/use-cases/video-surveillance", - }, - badge: { text: "WIP", variant: "caution" }, - }, - ], - }, - { - label: "Hardware", - collapsed: true, - autogenerate: { - collapsed: true, - directory: "/hardware", - }, - }, - { - label: "Software", - collapsed: true, - autogenerate: { - directory: "/software", - }, - }, - { - label: "Development", - collapsed: true, - items: [ - { - label: "Contribution Guidelines", - link: "/development/contribution-guidelines/", - }, - { - label: "Projects & Applications", - link: "/development/projects-applications/", - badge: { text: "WIP", variant: "caution" }, - }, - { - label: "Webface Guide", - link: "/development/webface-guide/", - badge: { text: "WIP", variant: "caution" }, - }, - ], - }, - { - label: "Resources", - collapsed: true, - items: [ - { - label: "Frequently Asked Questions", - link: "/resources/faq/", - badge: { text: "WIP", variant: "caution" }, - }, - { - label: "Useful Links", - link: "/resources/useful-links/", - badge: { text: "WIP", variant: "caution" }, - }, - ], - }, - { - label: "Reference", - collapsed: true, - autogenerate: { - collapsed: true, - directory: "reference", - }, - }, + { label: "Getting Started", collapsed: true, items: [ + { label: "Homepage", link: "/getting-started/homepage" }, + { label: "About the Project", link: "/getting-started/introduction/" }, + { label: "Quick Start", link: "/getting-started/quick-start/" }, + { label: "Roadmap", link: "/getting-started/roadmap/" }, + ] }, + { label: "Hardware", collapsed: true, items: [ + { label: "Overview", link: "/hardware/" }, + { label: "SBCs", collapsed: true, autogenerate: { directory: "/hardware/sbcs" } }, + { label: "Air Units", collapsed: true, items: [ + { label: "Runcam", collapsed: true, autogenerate: { directory: "/hardware/air-units/runcam" } }, + { label: "OpenIPC", collapsed: true, autogenerate: { directory: "/hardware/air-units/openipc" } }, + { label: "Others", link: "/hardware/air-units/others/" }, + ] }, + { label: "Cameras", collapsed: true, autogenerate: { directory: "/hardware/cameras" } }, + { label: "Wi-Fi Adapters", collapsed: true, autogenerate: { directory: "/hardware/wi-fi-adapters" } }, + { label: "Displays", link: "/hardware/displays/" }, + ] }, + { label: "Firmware & Recovery", collapsed: true, autogenerate: { directory: "/firmware-recovery" } }, + { label: "Software & Tools", collapsed: true, items: [ + { label: "Overview", link: "/software-tools/" }, + { label: "OpenIPC Builder", link: "/software-tools/openipc-builder/" }, + { label: "Companion", link: "/software-tools/companion/" }, + { label: "Aviateur", link: "/software-tools/aviateur/" }, + ] }, + { label: "System Components", collapsed: true, items: [ + { label: "MSP OSD", link: "/system-components/msp-osd/" }, + { label: "MAVFWD", link: "/system-components/mavfwd/" }, + { label: "Joystick", link: "/system-components/joystick/" }, + { label: "PixelPilot RK", link: "/system-components/pixelpilot-rk/" }, + { label: "PixelPilot Android", link: "/system-components/pixelpilot-android/" }, + { label: "Bidirectional Link", link: "/system-components/bidirectional-link/" }, + { label: "Divinus", link: "/system-components/divinus/" }, + { label: "Majestic", link: "/system-components/majestic/" }, + { label: "Sysupgrade", link: "/system-components/sysupgrade/" }, + { label: "Web UI", link: "/system-components/web-ui/" }, + { label: "Web UI Development", link: "/system-components/web-ui-development/" }, + { label: "Zoom", link: "/system-components/zoom/" }, + ] }, + { label: "Use Cases", collapsed: true, items: [ + { label: "Camera Surveillance", link: "/use-cases/camera-surveillance/" }, + { label: "FPV over WFB-NG", collapsed: true, autogenerate: { directory: "/use-cases/fpv-over-wfb-ng" } }, + { label: "AP FPV over Wi-Fi", collapsed: true, autogenerate: { directory: "/use-cases/ap-fpv-over-wi-fi" } }, + { label: "OpenWrt", link: "/use-cases/openwrt/" }, + { label: "YouTube Streaming", link: "/use-cases/youtube-streaming/" }, + ] }, + { label: "Development", collapsed: true, items: [ + { label: "Contribution Guidelines", link: "/development/contribution-guidelines/" }, + { label: "Projects & Applications", link: "/development/projects-applications/", badge: { text: "WIP", variant: "caution" } }, + ] }, + { label: "Resources", collapsed: true, items: [ + { label: "Frequently Asked Questions", link: "/resources/faq/", badge: { text: "WIP", variant: "caution" } }, + { label: "Useful Links", link: "/resources/useful-links/", badge: { text: "WIP", variant: "caution" } }, + ] }, + { label: "Reference", collapsed: true, autogenerate: { directory: "reference" } }, + { label: "Team", link: "/team/" }, ], }), tailwind({ applyBaseStyles: false }), ], redirects: { - "/": "/getting-started/homepage", - } + "/": "/getting-started/homepage", + "/hardware/hardware-page": "/hardware/", + "/software/software-page": "/software-tools/", + "/software/general-uart-flashing-guide": "/firmware-recovery/general-uart-flashing-guide/", + "/software/sysupgrade": "/firmware-recovery/online-sysupgrade/", + "/software/firmware-updates": "/firmware-recovery/firmware-updates/", + "/software/web-ui": "/system-components/web-ui/", + "/development/webface-guide": "/system-components/web-ui-development/", + "/use-cases/fpv/net-cards/rtl8812eu": "/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu/", + "/use-cases/fpv/net-cards/rtl8812au": "/hardware/wi-fi-adapters/bl-r8812af1-rtl8812au/", + "/use-cases/fpv/net-cards/rtl8731bu": "/hardware/wi-fi-adapters/bl-m8731bu3-rtl873xbu/", + "/hardware/OpenIPC/VRX/openipc-bonnet": "/hardware/sbcs/openipc-bonnet/", + "/hardware/OpenIPC/VTX/fpv-mario-aio": "/hardware/air-units/openipc/openipc-mario-aio/", + "/hardware/OpenIPC/VTX/fpv-thinker-aio": "/hardware/air-units/openipc/openipc-thinker-air-unit/", + "/hardware/Runcam/VTX/runcam-wifilink-v1": "/hardware/air-units/runcam/runcam-wifilink1/", + "/hardware/Runcam/VTX/runcam-wifilink-v2": "/hardware/air-units/runcam/runcam-wifilink2/", + }, }); + diff --git a/src/content/docs/software/firmware-updates.md b/src/content/docs/firmware-recovery/firmware-updates.md similarity index 100% rename from src/content/docs/software/firmware-updates.md rename to src/content/docs/firmware-recovery/firmware-updates.md diff --git a/src/content/docs/software/general-uart-flashing-guide.mdx b/src/content/docs/firmware-recovery/general-uart-flashing-guide.mdx similarity index 100% rename from src/content/docs/software/general-uart-flashing-guide.mdx rename to src/content/docs/firmware-recovery/general-uart-flashing-guide.mdx diff --git a/src/content/docs/software/sysupgrade.mdx b/src/content/docs/firmware-recovery/online-sysupgrade.mdx similarity index 100% rename from src/content/docs/software/sysupgrade.mdx rename to src/content/docs/firmware-recovery/online-sysupgrade.mdx diff --git a/src/content/docs/firmware-recovery/unbrick-ingenic.md b/src/content/docs/firmware-recovery/unbrick-ingenic.md new file mode 100644 index 0000000..bc4fd19 --- /dev/null +++ b/src/content/docs/firmware-recovery/unbrick-ingenic.md @@ -0,0 +1,11 @@ +--- +title: "Unbrick: Ingenic" +description: Placeholder index for Ingenic unbrick documentation. +--- + +This section is reserved for Ingenic recovery and unbrick instructions. The current repository content does not yet include a dedicated Ingenic unbrick guide. + +Start with the general recovery material: + +- [General UART Flashing Guide](/firmware-recovery/general-uart-flashing-guide/) + diff --git a/src/content/docs/firmware-recovery/unbrick-sigmastar.md b/src/content/docs/firmware-recovery/unbrick-sigmastar.md new file mode 100644 index 0000000..2b98017 --- /dev/null +++ b/src/content/docs/firmware-recovery/unbrick-sigmastar.md @@ -0,0 +1,11 @@ +--- +title: "Unbrick: SigmaStar" +description: Placeholder index for SigmaStar unbrick documentation. +--- + +This section is reserved for SigmaStar recovery and unbrick instructions. The current repository content does not yet include a dedicated SigmaStar unbrick guide. + +Start with the general recovery material: + +- [General UART Flashing Guide](/firmware-recovery/general-uart-flashing-guide/) + diff --git a/src/content/docs/getting-started/homepage.mdx b/src/content/docs/getting-started/homepage.mdx index b8dc034..1b4177a 100644 --- a/src/content/docs/getting-started/homepage.mdx +++ b/src/content/docs/getting-started/homepage.mdx @@ -14,7 +14,7 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Start with the hardware section and the official + Start with the hardware section and the official supported hardware list. A matching SoC and flash layout are required before installing firmware. diff --git a/src/content/docs/getting-started/introduction.md b/src/content/docs/getting-started/introduction.md index f5d08cb..714d30a 100644 --- a/src/content/docs/getting-started/introduction.md +++ b/src/content/docs/getting-started/introduction.md @@ -25,8 +25,8 @@ flash layout, and recovery method before installing firmware. - [Quick Start](/getting-started/quick-start/) - first checks before installing or updating a device. -- [Hardware](/hardware/hardware-page/) - board and device-specific notes. -- [Software](/software/software-page/) - firmware updates, UART flashing, Web UI, +- [Hardware](/hardware/) - board and device-specific notes. +- [Software](/software-tools/) - firmware updates, UART flashing, Web UI, and sysupgrade notes. - [FPV](/use-cases/fpv/wfb-ng/quick-start/) - WFB-NG and related FPV setup paths. - [Home Automation](/use-cases/home-automation/quick-start/) - integration-focused diff --git a/src/content/docs/getting-started/quick-start.md b/src/content/docs/getting-started/quick-start.md index 656eb40..6ecbfb3 100644 --- a/src/content/docs/getting-started/quick-start.md +++ b/src/content/docs/getting-started/quick-start.md @@ -18,7 +18,7 @@ boot. ## 2. Choose the right path -- Use [Software](/software/software-page/) for firmware update and flashing +- Use [Software](/software-tools/) for firmware update and flashing notes. - Use [FPV](/use-cases/fpv/wfb-ng/quick-start/) if you are building a digital video link. diff --git a/src/content/docs/hardware/OpenIPC/VTX/fpv-mario-aio.md b/src/content/docs/hardware/air-units/openipc/openipc-mario-aio.md similarity index 100% rename from src/content/docs/hardware/OpenIPC/VTX/fpv-mario-aio.md rename to src/content/docs/hardware/air-units/openipc/openipc-mario-aio.md diff --git a/src/content/docs/hardware/OpenIPC/VTX/fpv-thinker-aio.md b/src/content/docs/hardware/air-units/openipc/openipc-thinker-air-unit.md similarity index 97% rename from src/content/docs/hardware/OpenIPC/VTX/fpv-thinker-aio.md rename to src/content/docs/hardware/air-units/openipc/openipc-thinker-air-unit.md index 8f7960d..3808dc6 100644 --- a/src/content/docs/hardware/OpenIPC/VTX/fpv-thinker-aio.md +++ b/src/content/docs/hardware/air-units/openipc/openipc-thinker-air-unit.md @@ -176,7 +176,7 @@ There are several ways to update the firmware on your Thinker Air Unit, but the The latest standard firmware can be downloaded [here](https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_fpv_openipc-thinker-aio-nor.tgz). This version (`ssc338q_fpv_openipc-thinker-aio-nor`) includes drivers for **RTL8812AU** and **RTL873xBU** WiFi modules. -If you're using an [**RTL8812EU**](/use-cases/fpv/net-cards/rtl8812eu) module, use [this alternate firmware](https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_fpv_openipc-urllc-aio-nor.tgz) (`ssc338q_fpv_openipc-urllc-aio-nor`). +If you're using an [**RTL8812EU**](/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu) module, use [this alternate firmware](https://github.com/OpenIPC/builder/releases/download/latest/ssc338q_fpv_openipc-urllc-aio-nor.tgz) (`ssc338q_fpv_openipc-urllc-aio-nor`). #### Advanced Configuration diff --git a/src/content/docs/hardware/air-units/others.md b/src/content/docs/hardware/air-units/others.md new file mode 100644 index 0000000..1f7aea0 --- /dev/null +++ b/src/content/docs/hardware/air-units/others.md @@ -0,0 +1,7 @@ +--- +title: Other Air Units +description: Placeholder index for Eachine, EMAX, and other air units. +--- + +This section is reserved for Eachine, EMAX, and other air units. The current repository content does not yet include dedicated tested pages for these devices. + diff --git a/src/content/docs/hardware/Runcam/VTX/runcam-wifilink-v1.mdx b/src/content/docs/hardware/air-units/runcam/runcam-wifilink1.mdx similarity index 97% rename from src/content/docs/hardware/Runcam/VTX/runcam-wifilink-v1.mdx rename to src/content/docs/hardware/air-units/runcam/runcam-wifilink1.mdx index ac5df77..3f578ec 100644 --- a/src/content/docs/hardware/Runcam/VTX/runcam-wifilink-v1.mdx +++ b/src/content/docs/hardware/air-units/runcam/runcam-wifilink1.mdx @@ -18,7 +18,7 @@ import ThemeImage from '/src/components/ThemeImage.astro' |Weight | 30g | |Antennas | IPEX connector | |PA | 29dBm (800 mW) | -|WiFi chip | [BL-M8812EU2](/use-cases/fpv/net-cards/rtl8812eu) (5MHz, 10MHz, 20MHz) | +|WiFi chip | [BL-M8812EU2](/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu) (5MHz, 10MHz, 20MHz) | |UARTs | 1 | |SOC | SigmaStar SSC338Q | | Firmware | ssc338q_fpv_openipc_urllc_aio_nor.tgz | diff --git a/src/content/docs/hardware/Runcam/VTX/runcam-wifilink-v2.mdx b/src/content/docs/hardware/air-units/runcam/runcam-wifilink2.mdx similarity index 97% rename from src/content/docs/hardware/Runcam/VTX/runcam-wifilink-v2.mdx rename to src/content/docs/hardware/air-units/runcam/runcam-wifilink2.mdx index 6bcf535..995460f 100644 --- a/src/content/docs/hardware/Runcam/VTX/runcam-wifilink-v2.mdx +++ b/src/content/docs/hardware/air-units/runcam/runcam-wifilink2.mdx @@ -18,7 +18,7 @@ import ThemeImage from '/src/components/ThemeImage.astro' |Weight | 30g(with fan) / 25g (without fan) | |Antennas | IPEX connector | |PA | 28dBm(FCC), 20dBm(CE) / 630mW(FCC), 100mW(CE) | -|WiFi chip | [Runcam custom RTL8812EU](/use-cases/fpv/net-cards/rtl8812eu) (5MHz, 10MHz, 20MHz) | +|WiFi chip | [Runcam custom RTL8812EU](/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu) (5MHz, 10MHz, 20MHz) | |UARTs | 1 | |SOC | SigmaStar SSC338Q | | Firmware | ssc338q_fpv_openipc_urllc_aio_nor.tgz | diff --git a/src/content/docs/hardware/cameras/hisilicon-gk7025v200-gk7025v300.md b/src/content/docs/hardware/cameras/hisilicon-gk7025v200-gk7025v300.md new file mode 100644 index 0000000..d4a407f --- /dev/null +++ b/src/content/docs/hardware/cameras/hisilicon-gk7025v200-gk7025v300.md @@ -0,0 +1,7 @@ +--- +title: HiSilicon GK7025v200 / GK7025v300 +description: Placeholder index for HiSilicon GK7025 camera documentation. +--- + +This section is reserved for HiSilicon GK7025v200 and GK7025v300 camera documentation. The current repository content does not yet include a dedicated page for these camera targets. + diff --git a/src/content/docs/hardware/cameras/sigmastar-ssc338q-ssc30k.md b/src/content/docs/hardware/cameras/sigmastar-ssc338q-ssc30k.md new file mode 100644 index 0000000..2be58b3 --- /dev/null +++ b/src/content/docs/hardware/cameras/sigmastar-ssc338q-ssc30k.md @@ -0,0 +1,14 @@ +--- +title: SigmaStar SSC338Q / SSC30K +description: Index for SigmaStar camera and air unit documentation. +--- + +Existing pages in this repository mention SigmaStar SSC338Q and SSC30K in FPV air unit and SoC context. + +- [Runcam WiFiLink1](/hardware/air-units/runcam/runcam-wifilink1/) +- [Runcam WiFiLink2](/hardware/air-units/runcam/runcam-wifilink2/) +- [OpenIPC Thinker Air Unit](/hardware/air-units/openipc/openipc-thinker-air-unit/) +- [Supported SoC](/use-cases/video-surveillance/soc/) + +Add tested camera-specific notes here when available. + diff --git a/src/content/docs/hardware/displays.md b/src/content/docs/hardware/displays.md new file mode 100644 index 0000000..ed45d86 --- /dev/null +++ b/src/content/docs/hardware/displays.md @@ -0,0 +1,7 @@ +--- +title: Displays +description: Placeholder index for OpenIPC display documentation. +--- + +This section is reserved for display hardware notes. The current repository content does not yet include dedicated display documentation. + diff --git a/src/content/docs/hardware/hardware-page.mdx b/src/content/docs/hardware/index.mdx similarity index 100% rename from src/content/docs/hardware/hardware-page.mdx rename to src/content/docs/hardware/index.mdx diff --git a/src/content/docs/hardware/sbcs/nvr-hi3536dv100.md b/src/content/docs/hardware/sbcs/nvr-hi3536dv100.md new file mode 100644 index 0000000..12d2c19 --- /dev/null +++ b/src/content/docs/hardware/sbcs/nvr-hi3536dv100.md @@ -0,0 +1,11 @@ +--- +title: NVR Hi3536DV100 +description: NVR Hi3536DV100 notes for OpenIPC FPV ground station use. +--- + +The existing documentation includes an NVR ground station guide in the WFB-NG use case section. + +- [GroundStation on NVR](/use-cases/fpv/wfb-ng/groundstation-nvr/) + +This page is an index for board-specific NVR Hi3536DV100 hardware notes. + diff --git a/src/content/docs/hardware/OpenIPC/VRX/openipc-bonnet.mdx b/src/content/docs/hardware/sbcs/openipc-bonnet.mdx similarity index 100% rename from src/content/docs/hardware/OpenIPC/VRX/openipc-bonnet.mdx rename to src/content/docs/hardware/sbcs/openipc-bonnet.mdx diff --git a/src/content/docs/hardware/sbcs/orange-pi.md b/src/content/docs/hardware/sbcs/orange-pi.md new file mode 100644 index 0000000..5db3b58 --- /dev/null +++ b/src/content/docs/hardware/sbcs/orange-pi.md @@ -0,0 +1,7 @@ +--- +title: Orange Pi +description: Placeholder index for Orange Pi documentation. +--- + +This section is reserved for Orange Pi SBC documentation. The current repository content does not yet include a tested Orange Pi page. + diff --git a/src/content/docs/hardware/sbcs/others.md b/src/content/docs/hardware/sbcs/others.md new file mode 100644 index 0000000..7125ac6 --- /dev/null +++ b/src/content/docs/hardware/sbcs/others.md @@ -0,0 +1,7 @@ +--- +title: Other SBCs +description: Placeholder index for additional SBC documentation. +--- + +This section is reserved for SBCs that do not yet have a dedicated page in the repository. Add only tested board notes and keep links to practical use-case guides where appropriate. + diff --git a/src/content/docs/hardware/sbcs/radxa-zero-3w-3e.md b/src/content/docs/hardware/sbcs/radxa-zero-3w-3e.md new file mode 100644 index 0000000..578356c --- /dev/null +++ b/src/content/docs/hardware/sbcs/radxa-zero-3w-3e.md @@ -0,0 +1,11 @@ +--- +title: Radxa Zero 3 W/E +description: Radxa Zero 3 W/E notes for OpenIPC ground station use. +--- + +The existing documentation includes a Radxa Zero 3W ground station guide in the WFB-NG use case section. + +- [GroundStation on Radxa ZERO 3W](/use-cases/fpv/wfb-ng/groundstation-radxa-zero-3w/) + +This SBC page is an index for board-specific Radxa Zero 3 W/E content. Add tested hardware notes here when they are available. + diff --git a/src/content/docs/hardware/sbcs/runcam.md b/src/content/docs/hardware/sbcs/runcam.md new file mode 100644 index 0000000..6206cc5 --- /dev/null +++ b/src/content/docs/hardware/sbcs/runcam.md @@ -0,0 +1,9 @@ +--- +title: Runcam SBCs +description: Placeholder index for Runcam SBC documentation. +--- + +This section is reserved for Runcam SBC notes. The current repository content does not yet include a dedicated Runcam SBC page. + +Use this page as an index until tested board-specific documentation is added. + diff --git a/src/content/docs/use-cases/fpv/net-cards/rtl8731bu.mdx b/src/content/docs/hardware/wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx similarity index 100% rename from src/content/docs/use-cases/fpv/net-cards/rtl8731bu.mdx rename to src/content/docs/hardware/wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx diff --git a/src/content/docs/use-cases/fpv/net-cards/rtl8812eu.mdx b/src/content/docs/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx similarity index 100% rename from src/content/docs/use-cases/fpv/net-cards/rtl8812eu.mdx rename to src/content/docs/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx diff --git a/src/content/docs/use-cases/fpv/net-cards/rtl8812au.mdx b/src/content/docs/hardware/wi-fi-adapters/bl-r8812af1-rtl8812au.mdx similarity index 100% rename from src/content/docs/use-cases/fpv/net-cards/rtl8812au.mdx rename to src/content/docs/hardware/wi-fi-adapters/bl-r8812af1-rtl8812au.mdx diff --git a/src/content/docs/hardware/wi-fi-adapters/openipc.md b/src/content/docs/hardware/wi-fi-adapters/openipc.md new file mode 100644 index 0000000..4bb3beb --- /dev/null +++ b/src/content/docs/hardware/wi-fi-adapters/openipc.md @@ -0,0 +1,7 @@ +--- +title: OpenIPC Wi-Fi Adapters +description: Placeholder index for OpenIPC Wi-Fi adapter documentation. +--- + +This section is reserved for OpenIPC-branded Wi-Fi adapter notes. Existing adapter details are currently documented on the RTL8812EU, RTL8812AU, and RTL873xBU pages. + diff --git a/src/content/docs/hardware/wi-fi-adapters/runcam-custom-rtl8812eu.md b/src/content/docs/hardware/wi-fi-adapters/runcam-custom-rtl8812eu.md new file mode 100644 index 0000000..8f39e1b --- /dev/null +++ b/src/content/docs/hardware/wi-fi-adapters/runcam-custom-rtl8812eu.md @@ -0,0 +1,12 @@ +--- +title: Runcam Custom RTL8812EU +description: Runcam custom RTL8812EU adapter index. +--- + +The Runcam WiFiLink2 page identifies its Wi-Fi chip as a Runcam custom RTL8812EU module. + +- [Runcam WiFiLink2](/hardware/air-units/runcam/runcam-wifilink2/) +- [BL-M8812EU2 RTL8812EU](/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu/) + +Add separate tested adapter notes here when available. + diff --git a/src/content/docs/index.mdx b/src/content/docs/index.mdx index 77c2691..ae64570 100644 --- a/src/content/docs/index.mdx +++ b/src/content/docs/index.mdx @@ -23,7 +23,7 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Start with the hardware section and the official + Start with the hardware section and the official supported hardware list. A matching SoC and flash layout are required before installing firmware. diff --git a/src/content/docs/resources/useful-links.md b/src/content/docs/resources/useful-links.md index 888cfe0..7d58690 100644 --- a/src/content/docs/resources/useful-links.md +++ b/src/content/docs/resources/useful-links.md @@ -24,7 +24,7 @@ firmware, or asking for help. improve these docs. - [Quick Start](/getting-started/quick-start/) - first checks before installing firmware. -- [Firmware Updates](/software/firmware-updates/) - update flow after OpenIPC is +- [Firmware Updates](/firmware-recovery/firmware-updates/) - update flow after OpenIPC is already installed. ## Related projects mentioned in OpenIPC docs diff --git a/src/content/docs/software-tools/aviateur.md b/src/content/docs/software-tools/aviateur.md new file mode 100644 index 0000000..3344eea --- /dev/null +++ b/src/content/docs/software-tools/aviateur.md @@ -0,0 +1,7 @@ +--- +title: Aviateur +description: Placeholder index for Aviateur documentation. +--- + +This section is reserved for Aviateur documentation. The current repository content does not yet include a dedicated Aviateur page. + diff --git a/src/content/docs/software-tools/companion.md b/src/content/docs/software-tools/companion.md new file mode 100644 index 0000000..87f0ce2 --- /dev/null +++ b/src/content/docs/software-tools/companion.md @@ -0,0 +1,12 @@ +--- +title: Companion +description: Index page for OpenIPC Companion documentation. +--- + +Existing FPV setup pages use OpenIPC Companion for configuration and firmware work. + +- [WFB-NG Quick Start](/use-cases/fpv/wfb-ng/quick-start/) +- [Advanced setup guide](/use-cases/fpv/wfb-ng/advanced-setup/) + +Add a standalone Companion guide here when the repository has tested content for it. + diff --git a/src/content/docs/software/software-page.mdx b/src/content/docs/software-tools/index.mdx similarity index 100% rename from src/content/docs/software/software-page.mdx rename to src/content/docs/software-tools/index.mdx diff --git a/src/content/docs/software-tools/openipc-builder.md b/src/content/docs/software-tools/openipc-builder.md new file mode 100644 index 0000000..d9256b5 --- /dev/null +++ b/src/content/docs/software-tools/openipc-builder.md @@ -0,0 +1,12 @@ +--- +title: OpenIPC Builder +description: Index page for OpenIPC Builder documentation. +--- + +OpenIPC Builder is listed here as part of the documentation structure. The current repository content does not yet include a full Builder guide. + +Useful related pages: + +- [Firmware Updates](/firmware-recovery/firmware-updates/) +- [General UART Flashing Guide](/firmware-recovery/general-uart-flashing-guide/) + diff --git a/src/content/docs/system-components/bidirectional-link.md b/src/content/docs/system-components/bidirectional-link.md new file mode 100644 index 0000000..76e1f95 --- /dev/null +++ b/src/content/docs/system-components/bidirectional-link.md @@ -0,0 +1,10 @@ +--- +title: Bidirectional Link +description: Index page for bidirectional link documentation. +--- + +Existing documentation covers bidirectional adaptive link setup for Runcam VTX hardware and WFB-NG. + +- [Installing Adaptive Link](/use-cases/fpv/wfb-ng/install-adaptive-link/) +- [How to install bidirectional adaptive link on Runcam VTX](/hardware/Runcam/VTX/installing-alink-runcam/) + diff --git a/src/content/docs/system-components/divinus.md b/src/content/docs/system-components/divinus.md new file mode 100644 index 0000000..2103cae --- /dev/null +++ b/src/content/docs/system-components/divinus.md @@ -0,0 +1,7 @@ +--- +title: Divinus +description: Placeholder index for Divinus documentation. +--- + +This section is reserved for Divinus documentation. The current repository content does not yet include a dedicated Divinus page. + diff --git a/src/content/docs/system-components/joystick.md b/src/content/docs/system-components/joystick.md new file mode 100644 index 0000000..e60a73c --- /dev/null +++ b/src/content/docs/system-components/joystick.md @@ -0,0 +1,7 @@ +--- +title: Joystick +description: Placeholder index for joystick documentation. +--- + +This section is reserved for joystick documentation. Add tested setup and configuration notes here when they are available. + diff --git a/src/content/docs/system-components/majestic.md b/src/content/docs/system-components/majestic.md new file mode 100644 index 0000000..3d72e1a --- /dev/null +++ b/src/content/docs/system-components/majestic.md @@ -0,0 +1,11 @@ +--- +title: Majestic +description: Index page for Majestic documentation. +--- + +Majestic is referenced in the existing Web UI and video surveillance documentation as the streamer used by OpenIPC setups. + +- [Web UI](/system-components/web-ui/) +- [Camera Surveillance](/use-cases/video-surveillance/quick-start/) +- [OpenIPC Glossary](/reference/OpenIPC-Glossary/) + diff --git a/src/content/docs/system-components/mavfwd.md b/src/content/docs/system-components/mavfwd.md new file mode 100644 index 0000000..6a0dbf0 --- /dev/null +++ b/src/content/docs/system-components/mavfwd.md @@ -0,0 +1,7 @@ +--- +title: MAVFWD +description: Placeholder index for MAVFWD documentation. +--- + +This section is reserved for MAVFWD documentation. Add tested setup and configuration notes here when they are available. + diff --git a/src/content/docs/system-components/msp-osd.md b/src/content/docs/system-components/msp-osd.md new file mode 100644 index 0000000..0ea6c92 --- /dev/null +++ b/src/content/docs/system-components/msp-osd.md @@ -0,0 +1,7 @@ +--- +title: MSP OSD +description: Placeholder index for MSP OSD documentation. +--- + +This section is reserved for MSP OSD documentation. Add tested setup and configuration notes here when they are available. + diff --git a/src/content/docs/system-components/pixelpilot-android.md b/src/content/docs/system-components/pixelpilot-android.md new file mode 100644 index 0000000..0f66352 --- /dev/null +++ b/src/content/docs/system-components/pixelpilot-android.md @@ -0,0 +1,12 @@ +--- +title: PixelPilot Android +description: PixelPilot Android index page. +--- + +Existing FPV pages mention PixelPilot as an Android-based ground station option. + +- [WFB-NG Quick Start](/use-cases/fpv/wfb-ng/quick-start/) +- [APFPV Firmware - Beginner's Guide](/use-cases/fpv/apfpv/APFPV/) + +Add standalone PixelPilot Android instructions here when they are available. + diff --git a/src/content/docs/system-components/pixelpilot-rk.md b/src/content/docs/system-components/pixelpilot-rk.md new file mode 100644 index 0000000..086bc41 --- /dev/null +++ b/src/content/docs/system-components/pixelpilot-rk.md @@ -0,0 +1,7 @@ +--- +title: PixelPilot RK +description: Placeholder index for PixelPilot RK documentation. +--- + +This section is reserved for PixelPilot RK documentation. Add tested setup and configuration notes here when they are available. + diff --git a/src/content/docs/system-components/sysupgrade.md b/src/content/docs/system-components/sysupgrade.md new file mode 100644 index 0000000..3f2c3fb --- /dev/null +++ b/src/content/docs/system-components/sysupgrade.md @@ -0,0 +1,9 @@ +--- +title: Sysupgrade +description: Index page for sysupgrade documentation. +--- + +Sysupgrade documentation has been moved to Firmware & Recovery. + +- [Online Sysupgrade](/firmware-recovery/online-sysupgrade/) + diff --git a/src/content/docs/development/webface-guide.md b/src/content/docs/system-components/web-ui-development.md similarity index 100% rename from src/content/docs/development/webface-guide.md rename to src/content/docs/system-components/web-ui-development.md diff --git a/src/content/docs/software/web-ui.md b/src/content/docs/system-components/web-ui.md similarity index 100% rename from src/content/docs/software/web-ui.md rename to src/content/docs/system-components/web-ui.md diff --git a/src/content/docs/system-components/zoom.md b/src/content/docs/system-components/zoom.md new file mode 100644 index 0000000..6ccdea6 --- /dev/null +++ b/src/content/docs/system-components/zoom.md @@ -0,0 +1,7 @@ +--- +title: Zoom +description: Placeholder index for Zoom documentation. +--- + +This section is reserved for Zoom documentation. The current repository content does not yet include a dedicated Zoom page. + diff --git a/src/content/docs/use-cases/ap-fpv-over-wi-fi/faq.md b/src/content/docs/use-cases/ap-fpv-over-wi-fi/faq.md new file mode 100644 index 0000000..be366ac --- /dev/null +++ b/src/content/docs/use-cases/ap-fpv-over-wi-fi/faq.md @@ -0,0 +1,9 @@ +--- +title: FAQ +description: FAQ index for AP FPV over Wi-Fi. +--- + +This section is reserved for AP FPV over Wi-Fi questions. The current repository content has setup and troubleshooting notes in the APFPV beginner guide. + +- [APFPV Firmware - Beginner's Guide](/use-cases/fpv/apfpv/APFPV/) + diff --git a/src/content/docs/use-cases/ap-fpv-over-wi-fi/quick-start.md b/src/content/docs/use-cases/ap-fpv-over-wi-fi/quick-start.md new file mode 100644 index 0000000..ee0eee2 --- /dev/null +++ b/src/content/docs/use-cases/ap-fpv-over-wi-fi/quick-start.md @@ -0,0 +1,9 @@ +--- +title: Quick Start +description: Entry point for AP FPV over Wi-Fi documentation. +--- + +The existing APFPV beginner guide is preserved and linked from this new use-case entry point. + +- [APFPV Firmware - Beginner's Guide](/use-cases/fpv/apfpv/APFPV/) + diff --git a/src/content/docs/use-cases/camera-surveillance.md b/src/content/docs/use-cases/camera-surveillance.md new file mode 100644 index 0000000..059f473 --- /dev/null +++ b/src/content/docs/use-cases/camera-surveillance.md @@ -0,0 +1,10 @@ +--- +title: Camera Surveillance +description: Index page for camera surveillance use cases. +--- + +The existing video surveillance guides are preserved under their original URLs and linked from this use-case index. + +- [Video Surveillance Quick Start](/use-cases/video-surveillance/quick-start/) +- [Supported SoC](/use-cases/video-surveillance/soc/) + diff --git a/src/content/docs/use-cases/fpv-over-wfb-ng/faq.md b/src/content/docs/use-cases/fpv-over-wfb-ng/faq.md new file mode 100644 index 0000000..283c8f6 --- /dev/null +++ b/src/content/docs/use-cases/fpv-over-wfb-ng/faq.md @@ -0,0 +1,10 @@ +--- +title: FAQ +description: FAQ index for FPV over WFB-NG. +--- + +WFB-NG-specific questions are currently covered across the FPV quick start, advanced setup, adapter pages, and the general FAQ. + +- [WFB-NG Quick Start](/use-cases/fpv/wfb-ng/quick-start/) +- [OpenIPC FAQ](/resources/faq/) + diff --git a/src/content/docs/use-cases/fpv-over-wfb-ng/quick-start.md b/src/content/docs/use-cases/fpv-over-wfb-ng/quick-start.md new file mode 100644 index 0000000..0c0d3dc --- /dev/null +++ b/src/content/docs/use-cases/fpv-over-wfb-ng/quick-start.md @@ -0,0 +1,11 @@ +--- +title: Quick Start +description: Entry point for FPV over WFB-NG documentation. +--- + +The existing WFB-NG quick start remains available in the FPV section. + +- [WFB-NG Step-by-Step Installation Guide](/use-cases/fpv/wfb-ng/quick-start/) +- [Advanced setup guide](/use-cases/fpv/wfb-ng/advanced-setup/) +- [WFB-NG Bitrate calculator](/use-cases/fpv/wfb-ng/wfb-ng-calculator/) + diff --git a/src/content/docs/use-cases/openwrt.md b/src/content/docs/use-cases/openwrt.md new file mode 100644 index 0000000..8ac442f --- /dev/null +++ b/src/content/docs/use-cases/openwrt.md @@ -0,0 +1,7 @@ +--- +title: OpenWrt +description: Placeholder index for OpenWrt use-case documentation. +--- + +This section is reserved for OpenWrt use-case documentation. The current repository content does not yet include a dedicated OpenWrt page. + diff --git a/src/content/docs/use-cases/youtube-streaming.md b/src/content/docs/use-cases/youtube-streaming.md new file mode 100644 index 0000000..a6c66ec --- /dev/null +++ b/src/content/docs/use-cases/youtube-streaming.md @@ -0,0 +1,7 @@ +--- +title: YouTube Streaming +description: Placeholder index for YouTube streaming documentation. +--- + +This section is reserved for YouTube streaming documentation. The current repository content does not yet include a dedicated YouTube streaming guide. + From c05c4034c0c3957e5f4166b06b938f9f97a98314 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 15:26:46 -0400 Subject: [PATCH 07/45] Add Russian indexes for new docs structure --- .../{software => firmware-recovery}/firmware-updates.md | 0 src/content/docs/ru/firmware-recovery/index.md | 7 +++++++ src/content/docs/ru/firmware-recovery/unbrick-ingenic.md | 7 +++++++ .../docs/ru/firmware-recovery/unbrick-sigmastar.md | 7 +++++++ src/content/docs/ru/getting-started/homepage.mdx | 2 +- src/content/docs/ru/getting-started/introduction.md | 4 ++-- src/content/docs/ru/getting-started/quick-start.md | 2 +- src/content/docs/ru/hardware/air-units/index.md | 7 +++++++ src/content/docs/ru/hardware/index.mdx | 9 +++++++++ src/content/docs/ru/hardware/sbcs/index.md | 7 +++++++ src/content/docs/ru/hardware/wi-fi-adapters/index.md | 7 +++++++ src/content/docs/ru/index.mdx | 2 +- src/content/docs/ru/resources/useful-links.md | 2 +- src/content/docs/ru/software-tools/aviateur.md | 7 +++++++ src/content/docs/ru/software-tools/companion.md | 7 +++++++ src/content/docs/ru/software-tools/index.md | 7 +++++++ src/content/docs/ru/software-tools/openipc-builder.md | 7 +++++++ src/content/docs/ru/system-components/index.md | 7 +++++++ src/content/docs/ru/system-components/sysupgrade.md | 9 +++++++++ src/content/docs/ru/system-components/web-ui.md | 7 +++++++ src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/faq.md | 7 +++++++ .../docs/ru/use-cases/ap-fpv-over-wi-fi/quick-start.md | 7 +++++++ src/content/docs/ru/use-cases/camera-surveillance.md | 7 +++++++ src/content/docs/ru/use-cases/fpv-over-wfb-ng/faq.md | 7 +++++++ .../docs/ru/use-cases/fpv-over-wfb-ng/quick-start.md | 7 +++++++ src/content/docs/ru/use-cases/openwrt.md | 7 +++++++ src/content/docs/ru/use-cases/youtube-streaming.md | 7 +++++++ 27 files changed, 157 insertions(+), 6 deletions(-) rename src/content/docs/ru/{software => firmware-recovery}/firmware-updates.md (100%) create mode 100644 src/content/docs/ru/firmware-recovery/index.md create mode 100644 src/content/docs/ru/firmware-recovery/unbrick-ingenic.md create mode 100644 src/content/docs/ru/firmware-recovery/unbrick-sigmastar.md create mode 100644 src/content/docs/ru/hardware/air-units/index.md create mode 100644 src/content/docs/ru/hardware/index.mdx create mode 100644 src/content/docs/ru/hardware/sbcs/index.md create mode 100644 src/content/docs/ru/hardware/wi-fi-adapters/index.md create mode 100644 src/content/docs/ru/software-tools/aviateur.md create mode 100644 src/content/docs/ru/software-tools/companion.md create mode 100644 src/content/docs/ru/software-tools/index.md create mode 100644 src/content/docs/ru/software-tools/openipc-builder.md create mode 100644 src/content/docs/ru/system-components/index.md create mode 100644 src/content/docs/ru/system-components/sysupgrade.md create mode 100644 src/content/docs/ru/system-components/web-ui.md create mode 100644 src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/faq.md create mode 100644 src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/quick-start.md create mode 100644 src/content/docs/ru/use-cases/camera-surveillance.md create mode 100644 src/content/docs/ru/use-cases/fpv-over-wfb-ng/faq.md create mode 100644 src/content/docs/ru/use-cases/fpv-over-wfb-ng/quick-start.md create mode 100644 src/content/docs/ru/use-cases/openwrt.md create mode 100644 src/content/docs/ru/use-cases/youtube-streaming.md diff --git a/src/content/docs/ru/software/firmware-updates.md b/src/content/docs/ru/firmware-recovery/firmware-updates.md similarity index 100% rename from src/content/docs/ru/software/firmware-updates.md rename to src/content/docs/ru/firmware-recovery/firmware-updates.md diff --git a/src/content/docs/ru/firmware-recovery/index.md b/src/content/docs/ru/firmware-recovery/index.md new file mode 100644 index 0000000..9509c11 --- /dev/null +++ b/src/content/docs/ru/firmware-recovery/index.md @@ -0,0 +1,7 @@ +--- +title: Прошивка и восстановление +description: Индекс прошивки и восстановления OpenIPC. +--- + +Сюда перенесены материалы по обновлению прошивки, online sysupgrade и UART flashing. Страницы Unbrick для SigmaStar и Ingenic пока являются индексами до появления проверенных инструкций. + diff --git a/src/content/docs/ru/firmware-recovery/unbrick-ingenic.md b/src/content/docs/ru/firmware-recovery/unbrick-ingenic.md new file mode 100644 index 0000000..f71facf --- /dev/null +++ b/src/content/docs/ru/firmware-recovery/unbrick-ingenic.md @@ -0,0 +1,7 @@ +--- +title: "Unbrick: Ingenic" +description: Индекс восстановления Ingenic. +--- + +В репозитории пока нет отдельной проверенной инструкции Unbrick для Ingenic. Начинайте с общего материала по UART flashing и добавляйте сюда только проверенные шаги. + diff --git a/src/content/docs/ru/firmware-recovery/unbrick-sigmastar.md b/src/content/docs/ru/firmware-recovery/unbrick-sigmastar.md new file mode 100644 index 0000000..757b8a1 --- /dev/null +++ b/src/content/docs/ru/firmware-recovery/unbrick-sigmastar.md @@ -0,0 +1,7 @@ +--- +title: "Unbrick: SigmaStar" +description: Индекс восстановления SigmaStar. +--- + +В репозитории пока нет отдельной проверенной инструкции Unbrick для SigmaStar. Начинайте с общего материала по UART flashing и добавляйте сюда только проверенные шаги. + diff --git a/src/content/docs/ru/getting-started/homepage.mdx b/src/content/docs/ru/getting-started/homepage.mdx index ece739a..bca07f8 100644 --- a/src/content/docs/ru/getting-started/homepage.mdx +++ b/src/content/docs/ru/getting-started/homepage.mdx @@ -11,7 +11,7 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Начните с раздела Hardware и официального + Начните с раздела Hardware и официального списка поддерживаемого оборудования. Перед установкой прошивки должны совпадать SoC и разметка flash-памяти. diff --git a/src/content/docs/ru/getting-started/introduction.md b/src/content/docs/ru/getting-started/introduction.md index 563440f..535807f 100644 --- a/src/content/docs/ru/getting-started/introduction.md +++ b/src/content/docs/ru/getting-started/introduction.md @@ -25,8 +25,8 @@ hardware targets и практических сценариев. Перед ус - [Быстрый старт](/ru/getting-started/quick-start/) - первые проверки перед установкой или обновлением устройства. -- [Hardware](/ru/hardware/hardware-page/) - заметки по конкретным платам и устройствам. -- [Software](/ru/software/software-page/) - обновления прошивки, UART flashing, +- [Hardware](/ru/hardware/) - заметки по конкретным платам и устройствам. +- [Software](/ru/software-tools/) - обновления прошивки, UART flashing, Web UI и sysupgrade. - [FPV](/ru/use-cases/fpv/wfb-ng/quick-start/) - WFB-NG и связанные FPV-сценарии. - [Home Automation](/ru/use-cases/home-automation/quick-start/) - стартовая точка diff --git a/src/content/docs/ru/getting-started/quick-start.md b/src/content/docs/ru/getting-started/quick-start.md index 9b3d52b..d3d4d31 100644 --- a/src/content/docs/ru/getting-started/quick-start.md +++ b/src/content/docs/ru/getting-started/quick-start.md @@ -18,7 +18,7 @@ OpenIPC заменяет заводскую прошивку на поддерж ## 2. Выберите подходящую инструкцию -- Раздел [Software](/ru/software/software-page/) подходит для заметок по прошивке +- Раздел [Software](/ru/software-tools/) подходит для заметок по прошивке и обновлениям. - Раздел [FPV](/ru/use-cases/fpv/wfb-ng/quick-start/) нужен для цифровой видеолинии. diff --git a/src/content/docs/ru/hardware/air-units/index.md b/src/content/docs/ru/hardware/air-units/index.md new file mode 100644 index 0000000..ee7d7a2 --- /dev/null +++ b/src/content/docs/ru/hardware/air-units/index.md @@ -0,0 +1,7 @@ +--- +title: Air Units +description: Индекс Air Unit устройств. +--- + +Раздел Air Units сгруппирован по Runcam, OpenIPC и другим устройствам. Подробные EN-страницы Runcam WiFiLink и OpenIPC Mario/Thinker уже перенесены в новую структуру. + diff --git a/src/content/docs/ru/hardware/index.mdx b/src/content/docs/ru/hardware/index.mdx new file mode 100644 index 0000000..54a99cc --- /dev/null +++ b/src/content/docs/ru/hardware/index.mdx @@ -0,0 +1,9 @@ +--- +title: Оборудование +description: Обзор раздела оборудования OpenIPC. +--- + +Раздел оборудования теперь разделен на SBC, Air Units, камеры, Wi-Fi адаптеры и дисплеи. + +Часть страниц пока является индексами: в репозитории нет проверенного отдельного материала для всех устройств из структуры. + diff --git a/src/content/docs/ru/hardware/sbcs/index.md b/src/content/docs/ru/hardware/sbcs/index.md new file mode 100644 index 0000000..afef5d9 --- /dev/null +++ b/src/content/docs/ru/hardware/sbcs/index.md @@ -0,0 +1,7 @@ +--- +title: SBC +description: Индекс SBC для документации OpenIPC. +--- + +Раздел SBC включает OpenIPC Bonnet, Runcam, Radxa Zero 3 W/E, Orange Pi, NVR Hi3536DV100 и прочие платы. Подробные страницы добавляются только при наличии проверенного материала. + diff --git a/src/content/docs/ru/hardware/wi-fi-adapters/index.md b/src/content/docs/ru/hardware/wi-fi-adapters/index.md new file mode 100644 index 0000000..1cb842b --- /dev/null +++ b/src/content/docs/ru/hardware/wi-fi-adapters/index.md @@ -0,0 +1,7 @@ +--- +title: Wi-Fi адаптеры +description: Индекс Wi-Fi адаптеров OpenIPC FPV. +--- + +Раздел включает перенесенные страницы BL-M8812EU2 RTL8812EU, BL-R8812AF1 RTL8812AU и BL-M8731BU3 RTL873xBU. Русские подробные переводы для этих страниц пока отсутствуют в репозитории. + diff --git a/src/content/docs/ru/index.mdx b/src/content/docs/ru/index.mdx index aa953e8..c020834 100644 --- a/src/content/docs/ru/index.mdx +++ b/src/content/docs/ru/index.mdx @@ -23,7 +23,7 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Начните с раздела Hardware и официального + Начните с раздела Hardware и официального списка поддерживаемого оборудования. Перед установкой прошивки должны совпадать SoC и разметка flash-памяти. diff --git a/src/content/docs/ru/resources/useful-links.md b/src/content/docs/ru/resources/useful-links.md index c8ac82c..15a6590 100644 --- a/src/content/docs/ru/resources/useful-links.md +++ b/src/content/docs/ru/resources/useful-links.md @@ -24,7 +24,7 @@ description: Официальные ресурсы OpenIPC и связанные улучшать эту документацию. - [Быстрый старт](/ru/getting-started/quick-start/) - первые проверки перед установкой прошивки. -- [Обновления прошивки](/ru/software/firmware-updates/) - обновление устройства, +- [Обновления прошивки](/ru/firmware-recovery/firmware-updates/) - обновление устройства, на котором уже установлена OpenIPC. ## Связанные проекты, упоминаемые в документации diff --git a/src/content/docs/ru/software-tools/aviateur.md b/src/content/docs/ru/software-tools/aviateur.md new file mode 100644 index 0000000..f2bca8e --- /dev/null +++ b/src/content/docs/ru/software-tools/aviateur.md @@ -0,0 +1,7 @@ +--- +title: Aviateur +description: Индекс Aviateur. +--- + +Страница зарезервирована для документации Aviateur. Проверенного отдельного материала в текущем репозитории пока нет. + diff --git a/src/content/docs/ru/software-tools/companion.md b/src/content/docs/ru/software-tools/companion.md new file mode 100644 index 0000000..466adea --- /dev/null +++ b/src/content/docs/ru/software-tools/companion.md @@ -0,0 +1,7 @@ +--- +title: Companion +description: Индекс OpenIPC Companion. +--- + +OpenIPC Companion упоминается в существующих FPV-руководствах для настройки и работы с прошивкой. Отдельная русская страница будет добавлена после появления проверенного материала. + diff --git a/src/content/docs/ru/software-tools/index.md b/src/content/docs/ru/software-tools/index.md new file mode 100644 index 0000000..f05b825 --- /dev/null +++ b/src/content/docs/ru/software-tools/index.md @@ -0,0 +1,7 @@ +--- +title: ПО и инструменты +description: Индекс программ и инструментов OpenIPC. +--- + +Раздел включает OpenIPC Builder, Companion и Aviateur. Пока в репозитории есть только связанные упоминания Companion в FPV-руководствах; отдельные страницы Builder и Aviateur ожидают наполнения. + diff --git a/src/content/docs/ru/software-tools/openipc-builder.md b/src/content/docs/ru/software-tools/openipc-builder.md new file mode 100644 index 0000000..8608936 --- /dev/null +++ b/src/content/docs/ru/software-tools/openipc-builder.md @@ -0,0 +1,7 @@ +--- +title: OpenIPC Builder +description: Индекс OpenIPC Builder. +--- + +Страница зарезервирована для документации OpenIPC Builder. Проверенного отдельного материала в текущем репозитории пока нет. + diff --git a/src/content/docs/ru/system-components/index.md b/src/content/docs/ru/system-components/index.md new file mode 100644 index 0000000..bf939d6 --- /dev/null +++ b/src/content/docs/ru/system-components/index.md @@ -0,0 +1,7 @@ +--- +title: Системные компоненты +description: Индекс системных компонентов OpenIPC. +--- + +Раздел включает MSP OSD, MAVFWD, Joystick, PixelPilot, Bidirectional Link, Divinus, Majestic, Sysupgrade, Web UI и Zoom. Подробные страницы добавляются только при наличии проверенного материала. + diff --git a/src/content/docs/ru/system-components/sysupgrade.md b/src/content/docs/ru/system-components/sysupgrade.md new file mode 100644 index 0000000..838f155 --- /dev/null +++ b/src/content/docs/ru/system-components/sysupgrade.md @@ -0,0 +1,9 @@ +--- +title: Sysupgrade +description: Индекс sysupgrade. +--- + +Материал по sysupgrade перенесен в раздел прошивки и восстановления. + +- [Обновления прошивки](/ru/firmware-recovery/firmware-updates/) + diff --git a/src/content/docs/ru/system-components/web-ui.md b/src/content/docs/ru/system-components/web-ui.md new file mode 100644 index 0000000..3c8cffa --- /dev/null +++ b/src/content/docs/ru/system-components/web-ui.md @@ -0,0 +1,7 @@ +--- +title: Web UI +description: Индекс Web UI. +--- + +Английская страница Web UI перенесена в System Components. Русский перевод отдельной страницы пока отсутствует. + diff --git a/src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/faq.md b/src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/faq.md new file mode 100644 index 0000000..9f9a35b --- /dev/null +++ b/src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/faq.md @@ -0,0 +1,7 @@ +--- +title: FAQ +description: Индекс вопросов по AP FPV over Wi-Fi. +--- + +Страница зарезервирована для вопросов по AP FPV over Wi-Fi. Проверенный материал пока находится в существующем APFPV guide. + diff --git a/src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/quick-start.md b/src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/quick-start.md new file mode 100644 index 0000000..ee76a06 --- /dev/null +++ b/src/content/docs/ru/use-cases/ap-fpv-over-wi-fi/quick-start.md @@ -0,0 +1,7 @@ +--- +title: Быстрый старт +description: Индекс AP FPV over Wi-Fi. +--- + +Существующий APFPV beginner guide сохранен в EN-разделе FPV. Русский перевод отдельной страницы пока отсутствует. + diff --git a/src/content/docs/ru/use-cases/camera-surveillance.md b/src/content/docs/ru/use-cases/camera-surveillance.md new file mode 100644 index 0000000..7b10884 --- /dev/null +++ b/src/content/docs/ru/use-cases/camera-surveillance.md @@ -0,0 +1,7 @@ +--- +title: Видеонаблюдение +description: Индекс сценария видеонаблюдения. +--- + +Существующие материалы по видеонаблюдению сохранены в старом разделе и связаны с этим индексом. + diff --git a/src/content/docs/ru/use-cases/fpv-over-wfb-ng/faq.md b/src/content/docs/ru/use-cases/fpv-over-wfb-ng/faq.md new file mode 100644 index 0000000..b0c90c2 --- /dev/null +++ b/src/content/docs/ru/use-cases/fpv-over-wfb-ng/faq.md @@ -0,0 +1,7 @@ +--- +title: FAQ +description: Индекс вопросов по FPV over WFB-NG. +--- + +Вопросы по WFB-NG пока распределены между существующими FPV-страницами и общим FAQ. + diff --git a/src/content/docs/ru/use-cases/fpv-over-wfb-ng/quick-start.md b/src/content/docs/ru/use-cases/fpv-over-wfb-ng/quick-start.md new file mode 100644 index 0000000..3d6dad7 --- /dev/null +++ b/src/content/docs/ru/use-cases/fpv-over-wfb-ng/quick-start.md @@ -0,0 +1,7 @@ +--- +title: Быстрый старт +description: Индекс FPV over WFB-NG. +--- + +Существующий WFB-NG quick start остается в EN-разделе FPV. Русский перевод отдельной страницы пока отсутствует. + diff --git a/src/content/docs/ru/use-cases/openwrt.md b/src/content/docs/ru/use-cases/openwrt.md new file mode 100644 index 0000000..dc76747 --- /dev/null +++ b/src/content/docs/ru/use-cases/openwrt.md @@ -0,0 +1,7 @@ +--- +title: OpenWrt +description: Индекс OpenWrt сценария. +--- + +Страница зарезервирована для OpenWrt use case. Проверенного отдельного материала в текущем репозитории пока нет. + diff --git a/src/content/docs/ru/use-cases/youtube-streaming.md b/src/content/docs/ru/use-cases/youtube-streaming.md new file mode 100644 index 0000000..0125f82 --- /dev/null +++ b/src/content/docs/ru/use-cases/youtube-streaming.md @@ -0,0 +1,7 @@ +--- +title: YouTube Streaming +description: Индекс YouTube streaming. +--- + +Страница зарезервирована для YouTube streaming. Проверенного отдельного материала в текущем репозитории пока нет. + From f76b242e884e7fcdb3131d864d8790d61f5f8670 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 16:40:59 -0400 Subject: [PATCH 08/45] Add Russian docs localization --- astro.config.mjs | 66 ++++++------- src/content/docs/getting-started/homepage.mdx | 2 +- .../ru/development/projects-applications.mdx | 7 ++ .../general-uart-flashing-guide.mdx | 99 +++++++++++++++++++ .../docs/ru/getting-started/homepage.mdx | 4 +- .../docs/ru/getting-started/introduction.md | 4 +- .../docs/ru/getting-started/quick-start.md | 2 +- .../docs/ru/getting-started/roadmap.mdx | 90 +++++++++++++++++ .../docs/ru/hardware/air-units/index.md | 9 +- .../docs/ru/hardware/air-units/others.md | 6 ++ .../hisilicon-gk7025v200-gk7025v300.md | 6 ++ .../cameras/sigmastar-ssc338q-ssc30k.md | 13 +++ src/content/docs/ru/hardware/displays.md | 6 ++ .../docs/ru/hardware/sbcs/nvr-hi3536dv100.md | 10 ++ .../docs/ru/hardware/sbcs/orange-pi.md | 6 ++ src/content/docs/ru/hardware/sbcs/others.md | 6 ++ .../docs/ru/hardware/sbcs/radxa-zero-3w-3e.md | 10 ++ src/content/docs/ru/hardware/sbcs/runcam.md | 8 ++ .../wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx | 55 +++++++++++ .../wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx | 76 ++++++++++++++ .../wi-fi-adapters/bl-r8812af1-rtl8812au.mdx | 62 ++++++++++++ .../ru/hardware/wi-fi-adapters/openipc.md | 6 ++ .../wi-fi-adapters/runcam-custom-rtl8812eu.md | 11 +++ src/content/docs/ru/index.mdx | 2 +- src/content/docs/ru/software-tools/index.md | 7 +- .../system-components/bidirectional-link.md | 9 ++ .../docs/ru/system-components/divinus.md | 6 ++ .../docs/ru/system-components/joystick.md | 6 ++ .../docs/ru/system-components/majestic.md | 10 ++ .../docs/ru/system-components/mavfwd.md | 6 ++ .../docs/ru/system-components/msp-osd.md | 6 ++ .../system-components/pixelpilot-android.md | 11 +++ .../ru/system-components/pixelpilot-rk.md | 6 ++ src/content/docs/ru/system-components/zoom.md | 6 ++ src/content/docs/ru/team.mdx | 48 +++++++++ .../use-cases/fpv/wfb-ng/groundstation-nvr.md | 31 ++++++ .../fpv/wfb-ng/groundstation-ubuntu.md | 85 ++++++++++++++++ .../ru/use-cases/fpv/wfb-ng/unbrick-eu-bu.mdx | 27 +++++ .../use-cases/home-automation/quick-start.md | 8 ++ .../docs/ru/use-cases/youtube-streaming.md | 7 +- 40 files changed, 794 insertions(+), 51 deletions(-) create mode 100644 src/content/docs/ru/development/projects-applications.mdx create mode 100644 src/content/docs/ru/firmware-recovery/general-uart-flashing-guide.mdx create mode 100644 src/content/docs/ru/getting-started/roadmap.mdx create mode 100644 src/content/docs/ru/hardware/air-units/others.md create mode 100644 src/content/docs/ru/hardware/cameras/hisilicon-gk7025v200-gk7025v300.md create mode 100644 src/content/docs/ru/hardware/cameras/sigmastar-ssc338q-ssc30k.md create mode 100644 src/content/docs/ru/hardware/displays.md create mode 100644 src/content/docs/ru/hardware/sbcs/nvr-hi3536dv100.md create mode 100644 src/content/docs/ru/hardware/sbcs/orange-pi.md create mode 100644 src/content/docs/ru/hardware/sbcs/others.md create mode 100644 src/content/docs/ru/hardware/sbcs/radxa-zero-3w-3e.md create mode 100644 src/content/docs/ru/hardware/sbcs/runcam.md create mode 100644 src/content/docs/ru/hardware/wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx create mode 100644 src/content/docs/ru/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx create mode 100644 src/content/docs/ru/hardware/wi-fi-adapters/bl-r8812af1-rtl8812au.mdx create mode 100644 src/content/docs/ru/hardware/wi-fi-adapters/openipc.md create mode 100644 src/content/docs/ru/hardware/wi-fi-adapters/runcam-custom-rtl8812eu.md create mode 100644 src/content/docs/ru/system-components/bidirectional-link.md create mode 100644 src/content/docs/ru/system-components/divinus.md create mode 100644 src/content/docs/ru/system-components/joystick.md create mode 100644 src/content/docs/ru/system-components/majestic.md create mode 100644 src/content/docs/ru/system-components/mavfwd.md create mode 100644 src/content/docs/ru/system-components/msp-osd.md create mode 100644 src/content/docs/ru/system-components/pixelpilot-android.md create mode 100644 src/content/docs/ru/system-components/pixelpilot-rk.md create mode 100644 src/content/docs/ru/system-components/zoom.md create mode 100644 src/content/docs/ru/team.mdx create mode 100644 src/content/docs/ru/use-cases/fpv/wfb-ng/groundstation-nvr.md create mode 100644 src/content/docs/ru/use-cases/fpv/wfb-ng/groundstation-ubuntu.md create mode 100644 src/content/docs/ru/use-cases/fpv/wfb-ng/unbrick-eu-bu.mdx create mode 100644 src/content/docs/ru/use-cases/home-automation/quick-start.md diff --git a/astro.config.mjs b/astro.config.mjs index 340c283..daa2c0d 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -24,62 +24,62 @@ export default defineConfig({ editLink: { baseUrl: "https://github.com/OpenIPC/docs/edit/main/" }, components: { Head: "./src/components/Head.astro" }, sidebar: [ - { label: "Getting Started", collapsed: true, items: [ - { label: "Homepage", link: "/getting-started/homepage" }, - { label: "About the Project", link: "/getting-started/introduction/" }, - { label: "Quick Start", link: "/getting-started/quick-start/" }, - { label: "Roadmap", link: "/getting-started/roadmap/" }, + { label: "Getting Started", translations: { ru: "Начало работы" }, collapsed: true, items: [ + { label: "Homepage", translations: { ru: "Главная" }, link: "/getting-started/homepage" }, + { label: "About the Project", translations: { ru: "О проекте" }, link: "/getting-started/introduction/" }, + { label: "Quick Start", translations: { ru: "Быстрый старт" }, link: "/getting-started/quick-start/" }, + { label: "Roadmap", translations: { ru: "Дорожная карта" }, link: "/getting-started/roadmap/" }, ] }, - { label: "Hardware", collapsed: true, items: [ - { label: "Overview", link: "/hardware/" }, - { label: "SBCs", collapsed: true, autogenerate: { directory: "/hardware/sbcs" } }, - { label: "Air Units", collapsed: true, items: [ + { label: "Hardware", translations: { ru: "Оборудование" }, collapsed: true, items: [ + { label: "Overview", translations: { ru: "Обзор" }, link: "/hardware/" }, + { label: "SBCs", translations: { ru: "Одноплатные компьютеры" }, collapsed: true, autogenerate: { directory: "/hardware/sbcs" } }, + { label: "Air Units", translations: { ru: "Передающие модули" }, collapsed: true, items: [ { label: "Runcam", collapsed: true, autogenerate: { directory: "/hardware/air-units/runcam" } }, { label: "OpenIPC", collapsed: true, autogenerate: { directory: "/hardware/air-units/openipc" } }, - { label: "Others", link: "/hardware/air-units/others/" }, + { label: "Others", translations: { ru: "Другие" }, link: "/hardware/air-units/others/" }, ] }, - { label: "Cameras", collapsed: true, autogenerate: { directory: "/hardware/cameras" } }, - { label: "Wi-Fi Adapters", collapsed: true, autogenerate: { directory: "/hardware/wi-fi-adapters" } }, - { label: "Displays", link: "/hardware/displays/" }, + { label: "Cameras", translations: { ru: "Камеры" }, collapsed: true, autogenerate: { directory: "/hardware/cameras" } }, + { label: "Wi-Fi Adapters", translations: { ru: "Wi-Fi адаптеры" }, collapsed: true, autogenerate: { directory: "/hardware/wi-fi-adapters" } }, + { label: "Displays", translations: { ru: "Дисплеи" }, link: "/hardware/displays/" }, ] }, - { label: "Firmware & Recovery", collapsed: true, autogenerate: { directory: "/firmware-recovery" } }, - { label: "Software & Tools", collapsed: true, items: [ - { label: "Overview", link: "/software-tools/" }, + { label: "Firmware & Recovery", translations: { ru: "Прошивка и восстановление" }, collapsed: true, autogenerate: { directory: "/firmware-recovery" } }, + { label: "Software & Tools", translations: { ru: "ПО и инструменты" }, collapsed: true, items: [ + { label: "Overview", translations: { ru: "Обзор" }, link: "/software-tools/" }, { label: "OpenIPC Builder", link: "/software-tools/openipc-builder/" }, { label: "Companion", link: "/software-tools/companion/" }, { label: "Aviateur", link: "/software-tools/aviateur/" }, ] }, - { label: "System Components", collapsed: true, items: [ + { label: "System Components", translations: { ru: "Системные компоненты" }, collapsed: true, items: [ { label: "MSP OSD", link: "/system-components/msp-osd/" }, { label: "MAVFWD", link: "/system-components/mavfwd/" }, - { label: "Joystick", link: "/system-components/joystick/" }, + { label: "Joystick", translations: { ru: "Джойстик" }, link: "/system-components/joystick/" }, { label: "PixelPilot RK", link: "/system-components/pixelpilot-rk/" }, { label: "PixelPilot Android", link: "/system-components/pixelpilot-android/" }, - { label: "Bidirectional Link", link: "/system-components/bidirectional-link/" }, + { label: "Bidirectional Link", translations: { ru: "Двунаправленный канал" }, link: "/system-components/bidirectional-link/" }, { label: "Divinus", link: "/system-components/divinus/" }, { label: "Majestic", link: "/system-components/majestic/" }, { label: "Sysupgrade", link: "/system-components/sysupgrade/" }, { label: "Web UI", link: "/system-components/web-ui/" }, - { label: "Web UI Development", link: "/system-components/web-ui-development/" }, + { label: "Web UI Development", translations: { ru: "Разработка Web UI" }, link: "/system-components/web-ui-development/" }, { label: "Zoom", link: "/system-components/zoom/" }, ] }, - { label: "Use Cases", collapsed: true, items: [ - { label: "Camera Surveillance", link: "/use-cases/camera-surveillance/" }, - { label: "FPV over WFB-NG", collapsed: true, autogenerate: { directory: "/use-cases/fpv-over-wfb-ng" } }, - { label: "AP FPV over Wi-Fi", collapsed: true, autogenerate: { directory: "/use-cases/ap-fpv-over-wi-fi" } }, + { label: "Use Cases", translations: { ru: "Сценарии использования" }, collapsed: true, items: [ + { label: "Camera Surveillance", translations: { ru: "Видеонаблюдение" }, link: "/use-cases/camera-surveillance/" }, + { label: "FPV over WFB-NG", translations: { ru: "FPV через WFB-NG" }, collapsed: true, autogenerate: { directory: "/use-cases/fpv-over-wfb-ng" } }, + { label: "AP FPV over Wi-Fi", translations: { ru: "AP FPV через Wi-Fi" }, collapsed: true, autogenerate: { directory: "/use-cases/ap-fpv-over-wi-fi" } }, { label: "OpenWrt", link: "/use-cases/openwrt/" }, - { label: "YouTube Streaming", link: "/use-cases/youtube-streaming/" }, + { label: "YouTube Streaming", translations: { ru: "Стриминг на YouTube" }, link: "/use-cases/youtube-streaming/" }, ] }, - { label: "Development", collapsed: true, items: [ - { label: "Contribution Guidelines", link: "/development/contribution-guidelines/" }, - { label: "Projects & Applications", link: "/development/projects-applications/", badge: { text: "WIP", variant: "caution" } }, + { label: "Development", translations: { ru: "Разработка" }, collapsed: true, items: [ + { label: "Contribution Guidelines", translations: { ru: "Правила участия" }, link: "/development/contribution-guidelines/" }, + { label: "Projects & Applications", translations: { ru: "Проекты и применения" }, link: "/development/projects-applications/", badge: { text: "WIP", variant: "caution" } }, ] }, - { label: "Resources", collapsed: true, items: [ - { label: "Frequently Asked Questions", link: "/resources/faq/", badge: { text: "WIP", variant: "caution" } }, - { label: "Useful Links", link: "/resources/useful-links/", badge: { text: "WIP", variant: "caution" } }, + { label: "Resources", translations: { ru: "Ресурсы" }, collapsed: true, items: [ + { label: "Frequently Asked Questions", translations: { ru: "Частые вопросы" }, link: "/resources/faq/", badge: { text: "WIP", variant: "caution" } }, + { label: "Useful Links", translations: { ru: "Полезные ссылки" }, link: "/resources/useful-links/", badge: { text: "WIP", variant: "caution" } }, ] }, - { label: "Reference", collapsed: true, autogenerate: { directory: "reference" } }, - { label: "Team", link: "/team/" }, + { label: "Reference", translations: { ru: "Справочник" }, collapsed: true, autogenerate: { directory: "reference" } }, + { label: "Team", translations: { ru: "Команда" }, link: "/team/" }, ], }), tailwind({ applyBaseStyles: false }), diff --git a/src/content/docs/getting-started/homepage.mdx b/src/content/docs/getting-started/homepage.mdx index 1b4177a..31af437 100644 --- a/src/content/docs/getting-started/homepage.mdx +++ b/src/content/docs/getting-started/homepage.mdx @@ -12,7 +12,7 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; ## Start Here - + Start with the hardware section and the official supported hardware list. diff --git a/src/content/docs/ru/development/projects-applications.mdx b/src/content/docs/ru/development/projects-applications.mdx new file mode 100644 index 0000000..4b8ecf5 --- /dev/null +++ b/src/content/docs/ru/development/projects-applications.mdx @@ -0,0 +1,7 @@ +--- +title: "Известные применения OpenIPC" +description: "Список известных применений OpenIPC" +--- +import ThemeImage from '/src/components/ThemeImage.astro' + +FPV, CCTV и домашняя автоматизация. diff --git a/src/content/docs/ru/firmware-recovery/general-uart-flashing-guide.mdx b/src/content/docs/ru/firmware-recovery/general-uart-flashing-guide.mdx new file mode 100644 index 0000000..28dd18b --- /dev/null +++ b/src/content/docs/ru/firmware-recovery/general-uart-flashing-guide.mdx @@ -0,0 +1,99 @@ +--- +title: "Общее руководство по прошивке через UART" +description: "Универсальное руководство по прошивке через UART с использованием FTDI и TFTP." +--- + +## Как прошить firmware через UART + +### Что понадобится + +- FTDI FT232RL +- miniUSB - USB кабель +- Несколько проводов + +### ПО + +- Скачайте и установите [**Putty**](https://www.putty.org/) +- Скачайте и установите [**Tftpd64**](https://github.com/OpenIPC/docs/raw/refs/heads/main/src/assets/files/tftpd64-windows.exe) + +--- + +### Шаги прошивки + +1. Откройте **CMD** или **Windows Console**, введите команду: + + ```bash + ipconfig + ``` + + ![вывод ipconfig](/images/runcamv1ip.png) + + Найдите свой **IPv4 address**. + +2. Запустите **Tftpd64**: + + ![Tftpd64](/images/tftpd.png) + + [Ссылка на страницу инструкции](https://openipc.org/cameras/vendors/sigmastar/socs/ssc338q?locale=en) + +3. Сгенерируйте **MAC address** и укажите свой IPv4 как адрес **TFTP server**. +4. Нажмите **Generate Instructions**. +5. Проверьте подключение FTDI: + + ![подключение FTDI](/images/ftdi.png) + + - **RX** -> **TX** + - **TX** -> **RX** + - **GND** -> **GND** + +:::danger +Дважды проверьте подключение UART перед подачей питания на плату. Неправильные соединения могут повредить компоненты. +::: + +:::tip +Определите подходящий интерфейс UART, как указано в документации по оборудованию. +::: + +6. Припаяйте выводы FTDI к UART pads. +7. Откройте **Device Manager**, подключите USB FTDI и найдите его **COM port**. +8. Откройте Putty с правильным портом: + + ```bash + putty.exe -serial COM3 -sercfg 115200,8,n,1,N + ``` + +9. Откроется окно **Putty**. +10. Подайте питание на **FTDI USB** и **Air Unit**. + +:::tip +Всегда открывайте Putty **до** подачи питания на устройство, чтобы захватить boot log. +::: + +11. Если всё подключено правильно, в терминале Putty появятся boot logs. + + ![вывод UART в Putty](/images/runcamv1putty.png) + +12. Перейдите на [https://openipc.org/cameras/vendors/](https://openipc.org/cameras/vendors/). + + Выберите firmware, подходящую вашему устройству, и нажмите **"Generate an installation guide"**. + +13. Поместите скачанный файл firmware `.bin` в папку TFTP: + + ![файл прошивки TFTP](/images/runcamv1tftp1.png) + +14. Выполняйте инструкции **строка за строкой** (не вставляйте сразу несколько строк): + + ![команда прошивки](/images/runcamv1firmware.png) + +15. **Если загрузка завершается ошибкой после третьей команды**, проверьте настройки TFTP-сервера. + +:::tip +Убедитесь, что firewall или antivirus не блокируют связь с TFTP-сервером. +::: + +16. **Пример настройки IP, если ваш роутер находится на 192.168.0.1:** + + - IP устройства: `192.168.0.123` + - IP ПК: `192.168.0.40` + +17. После установки стандартной прошивки OpenIPC можно легко прошить любую совместимую FPV firmware через [Multiconfigurator](https://github.com/OpenIPC/openipc-configurator/releases/) в зависимости от устройства. diff --git a/src/content/docs/ru/getting-started/homepage.mdx b/src/content/docs/ru/getting-started/homepage.mdx index bca07f8..f195ec6 100644 --- a/src/content/docs/ru/getting-started/homepage.mdx +++ b/src/content/docs/ru/getting-started/homepage.mdx @@ -9,9 +9,9 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; ## С чего начать - + - Начните с раздела Hardware и официального + Начните с раздела оборудования и официального списка поддерживаемого оборудования. Перед установкой прошивки должны совпадать SoC и разметка flash-памяти. diff --git a/src/content/docs/ru/getting-started/introduction.md b/src/content/docs/ru/getting-started/introduction.md index 535807f..999f82d 100644 --- a/src/content/docs/ru/getting-started/introduction.md +++ b/src/content/docs/ru/getting-started/introduction.md @@ -25,8 +25,8 @@ hardware targets и практических сценариев. Перед ус - [Быстрый старт](/ru/getting-started/quick-start/) - первые проверки перед установкой или обновлением устройства. -- [Hardware](/ru/hardware/) - заметки по конкретным платам и устройствам. -- [Software](/ru/software-tools/) - обновления прошивки, UART flashing, +- [Оборудование](/ru/hardware/) - заметки по конкретным платам и устройствам. +- [ПО и инструменты](/ru/software-tools/) - обновления прошивки, прошивке через UART, Web UI и sysupgrade. - [FPV](/ru/use-cases/fpv/wfb-ng/quick-start/) - WFB-NG и связанные FPV-сценарии. - [Home Automation](/ru/use-cases/home-automation/quick-start/) - стартовая точка diff --git a/src/content/docs/ru/getting-started/quick-start.md b/src/content/docs/ru/getting-started/quick-start.md index d3d4d31..c62ff2e 100644 --- a/src/content/docs/ru/getting-started/quick-start.md +++ b/src/content/docs/ru/getting-started/quick-start.md @@ -18,7 +18,7 @@ OpenIPC заменяет заводскую прошивку на поддерж ## 2. Выберите подходящую инструкцию -- Раздел [Software](/ru/software-tools/) подходит для заметок по прошивке +- Раздел [ПО и инструменты](/ru/software-tools/) подходит для заметок по прошивке и обновлениям. - Раздел [FPV](/ru/use-cases/fpv/wfb-ng/quick-start/) нужен для цифровой видеолинии. diff --git a/src/content/docs/ru/getting-started/roadmap.mdx b/src/content/docs/ru/getting-started/roadmap.mdx new file mode 100644 index 0000000..a87edff --- /dev/null +++ b/src/content/docs/ru/getting-started/roadmap.mdx @@ -0,0 +1,90 @@ +--- +title: Дорожная карта +description: Дорожная карта OpenIPC. +--- + +import Roadmap from "../../../../components/roadmap.astro"; + +Посмотрите нашу дорожную карту: она показывает достигнутые результаты и ближайшие планы проекта. + +
+ +
diff --git a/src/content/docs/ru/hardware/air-units/index.md b/src/content/docs/ru/hardware/air-units/index.md index ee7d7a2..cde781e 100644 --- a/src/content/docs/ru/hardware/air-units/index.md +++ b/src/content/docs/ru/hardware/air-units/index.md @@ -1,7 +1,10 @@ --- -title: Air Units -description: Индекс Air Unit устройств. +title: Передающие модули +description: Индекс передающих модулей. --- -Раздел Air Units сгруппирован по Runcam, OpenIPC и другим устройствам. Подробные EN-страницы Runcam WiFiLink и OpenIPC Mario/Thinker уже перенесены в новую структуру. +Этот раздел объединяет страницы air unit для FPV-сценариев OpenIPC. +- [OpenIPC](/ru/hardware/air-units/openipc/) +- [Runcam](/ru/hardware/air-units/runcam/) +- [Другие передающие модули](/ru/hardware/air-units/others/) diff --git a/src/content/docs/ru/hardware/air-units/others.md b/src/content/docs/ru/hardware/air-units/others.md new file mode 100644 index 0000000..78616bb --- /dev/null +++ b/src/content/docs/ru/hardware/air-units/others.md @@ -0,0 +1,6 @@ +--- +title: Другие передающие модули +description: Индексная страница для Eachine, EMAX и других air unit. +--- + +Этот раздел зарезервирован для Eachine, EMAX и других передающих модулей. В текущем содержимом репозитория пока нет отдельных проверенных страниц по этим устройствам. diff --git a/src/content/docs/ru/hardware/cameras/hisilicon-gk7025v200-gk7025v300.md b/src/content/docs/ru/hardware/cameras/hisilicon-gk7025v200-gk7025v300.md new file mode 100644 index 0000000..d8ed39d --- /dev/null +++ b/src/content/docs/ru/hardware/cameras/hisilicon-gk7025v200-gk7025v300.md @@ -0,0 +1,6 @@ +--- +title: HiSilicon GK7025v200 / GK7025v300 +description: Индексная страница документации камер HiSilicon GK7025. +--- + +Этот раздел зарезервирован для документации по камерам HiSilicon GK7025v200 и GK7025v300. В текущем содержимом репозитория пока нет отдельной страницы для этих целевых камер. diff --git a/src/content/docs/ru/hardware/cameras/sigmastar-ssc338q-ssc30k.md b/src/content/docs/ru/hardware/cameras/sigmastar-ssc338q-ssc30k.md new file mode 100644 index 0000000..7fbcb21 --- /dev/null +++ b/src/content/docs/ru/hardware/cameras/sigmastar-ssc338q-ssc30k.md @@ -0,0 +1,13 @@ +--- +title: SigmaStar SSC338Q / SSC30K +description: Индексная страница документации камер и air unit на SigmaStar. +--- + +Существующие страницы в этом репозитории упоминают SigmaStar SSC338Q и SSC30K в контексте FPV air unit и SoC. + +- [Runcam WiFiLink1](/ru/hardware/air-units/runcam/runcam-wifilink1/) +- [Runcam WiFiLink2](/ru/hardware/air-units/runcam/runcam-wifilink2/) +- [OpenIPC Thinker Air Unit](/ru/hardware/air-units/openipc/openipc-thinker-air-unit/) +- [Поддерживаемые SoC](/ru/use-cases/video-surveillance/soc/) + +Добавляйте сюда проверенные заметки по конкретным камерам, когда они появятся. diff --git a/src/content/docs/ru/hardware/displays.md b/src/content/docs/ru/hardware/displays.md new file mode 100644 index 0000000..9143fc5 --- /dev/null +++ b/src/content/docs/ru/hardware/displays.md @@ -0,0 +1,6 @@ +--- +title: Дисплеи +description: Индексная страница документации по дисплеям OpenIPC. +--- + +Этот раздел зарезервирован для заметок по дисплейному оборудованию. В текущем содержимом репозитория пока нет отдельной документации по дисплеям. diff --git a/src/content/docs/ru/hardware/sbcs/nvr-hi3536dv100.md b/src/content/docs/ru/hardware/sbcs/nvr-hi3536dv100.md new file mode 100644 index 0000000..69abd5e --- /dev/null +++ b/src/content/docs/ru/hardware/sbcs/nvr-hi3536dv100.md @@ -0,0 +1,10 @@ +--- +title: NVR Hi3536DV100 +description: Заметки NVR Hi3536DV100 для использования наземной станции OpenIPC FPV. +--- + +Существующая документация содержит руководство по наземной станции NVR в разделе сценария WFB-NG. + +- [GroundStation на NVR](/ru/use-cases/fpv/wfb-ng/groundstation-nvr/) + +Эта страница служит индексом для аппаратных заметок по плате NVR Hi3536DV100. diff --git a/src/content/docs/ru/hardware/sbcs/orange-pi.md b/src/content/docs/ru/hardware/sbcs/orange-pi.md new file mode 100644 index 0000000..424a8f7 --- /dev/null +++ b/src/content/docs/ru/hardware/sbcs/orange-pi.md @@ -0,0 +1,6 @@ +--- +title: Orange Pi +description: Индексная страница документации Orange Pi. +--- + +Этот раздел зарезервирован для документации по одноплатным компьютерам Orange Pi. В текущем содержимом репозитория пока нет проверенной страницы Orange Pi. diff --git a/src/content/docs/ru/hardware/sbcs/others.md b/src/content/docs/ru/hardware/sbcs/others.md new file mode 100644 index 0000000..954b37e --- /dev/null +++ b/src/content/docs/ru/hardware/sbcs/others.md @@ -0,0 +1,6 @@ +--- +title: Другие SBC +description: Индексная страница для дополнительных SBC. +--- + +Этот раздел зарезервирован для одноплатных компьютеров, по которым в репозитории пока нет отдельной страницы. Добавляйте только проверенные заметки по платам и, где уместно, ссылки на практические сценарии использования. diff --git a/src/content/docs/ru/hardware/sbcs/radxa-zero-3w-3e.md b/src/content/docs/ru/hardware/sbcs/radxa-zero-3w-3e.md new file mode 100644 index 0000000..b460cd0 --- /dev/null +++ b/src/content/docs/ru/hardware/sbcs/radxa-zero-3w-3e.md @@ -0,0 +1,10 @@ +--- +title: Radxa Zero 3 W/E +description: Заметки Radxa Zero 3 W/E для использования наземной станции OpenIPC. +--- + +Существующая документация содержит руководство по наземной станции Radxa Zero 3W в разделе сценария WFB-NG. + +- [GroundStation на Radxa ZERO 3W](/ru/use-cases/fpv/wfb-ng/groundstation-radxa-zero-3w/) + +Эта страница SBC служит индексом для материалов по Radxa Zero 3 W/E. Добавляйте сюда проверенные аппаратные заметки, когда они появятся. diff --git a/src/content/docs/ru/hardware/sbcs/runcam.md b/src/content/docs/ru/hardware/sbcs/runcam.md new file mode 100644 index 0000000..ce346ee --- /dev/null +++ b/src/content/docs/ru/hardware/sbcs/runcam.md @@ -0,0 +1,8 @@ +--- +title: SBC Runcam +description: Индексная страница документации SBC Runcam. +--- + +Этот раздел зарезервирован для заметок по SBC Runcam. В текущем содержимом репозитория пока нет отдельной страницы Runcam SBC. + +Используйте эту страницу как индекс, пока не будет добавлена проверенная документация по конкретным платам. diff --git a/src/content/docs/ru/hardware/wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx b/src/content/docs/ru/hardware/wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx new file mode 100644 index 0000000..5ced5f7 --- /dev/null +++ b/src/content/docs/ru/hardware/wi-fi-adapters/bl-m8731bu3-rtl873xbu.mdx @@ -0,0 +1,55 @@ +--- +title: "RTL873xBU" +description: "Страница документации RTL873xBU для OpenIPC wiki" +--- +import ThemeImage from '/src/components/ThemeImage.astro' + +RTL8731BU и RTL8733BU - очень маленькие Wi-Fi чипы, поэтому сетевые карты на базе RTL873xBU тоже получаются очень компактными. Из-за этого они особенно популярны для tinywhoops. Но сетевые карты на базе RTL873xBU **НЕ ПОДХОДЯТ ДЛЯ ДАЛЬНЕЙ СВЯЗИ И ИСПОЛЬЗОВАНИЯ В RX**. + +Поддерживаются режимы 5MHz, 10MHz, 20MHz и 40MHz. + +:::caution +Режим 40MHz поддерживается драйвером, но **ваша** сетeвая карта может не поддерживать этот режим. Перед покупкой уточните это у продавца. Добавляйте свою сетевую карту в список NIC на базе RTL873xBU ниже. +::: + +:::caution +Если после включения режима 40MHz изображение не принимается, прочитайте эту [статью](/ru/use-cases/fpv/wfb-ng/unbrick-eu-bu/), чтобы исправить проблему. +::: + +## BL-M8731BU3 + +### Компоновка + +Верх + +![image](/images/bl-m8731bu3-top.png) + +Низ + +![image](/images/bl-m8731bu3-bottom.png) + +### Распиновка + + + +| Номер пина | Функция | +|:----------:|:-------:| +| 1 | GND | +| 2 | NC | +| 3 | VDD 3.3V | +| 4 | DM- | +| 5 | DP+ | +| 6 | GND | + +### Характеристики + +| Host interface | USB 2.0 | +|:--------------:|:-------:| +| Power Supply | DC 3.3V | +| Antenna connection | IPEX | +| Power output | <=17dBm(<=50mW)@5G <=21dBm(<=125mW)@2.4G | +| Supported modes | 5MHz, 10MHz, 20MHz, 40MHz | diff --git a/src/content/docs/ru/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx b/src/content/docs/ru/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx new file mode 100644 index 0000000..7468013 --- /dev/null +++ b/src/content/docs/ru/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu.mdx @@ -0,0 +1,76 @@ +--- +title: "RTL8812EU" +description: "Страница документации RTL8812EU для OpenIPC wiki" +--- +import ThemeImage from '/src/components/ThemeImage.astro' + +RTL8812EU - новый, недорогой и широко используемый Wi-Fi чип, который встречается во множестве Wi-Fi адаптеров. Этот чип был выпущен относительно недавно, поэтому возможности driver injection/monitor пока ограничены: сейчас поддерживается передача в режимах 5MHz, 10MHz и 20MHz, а 40MHz доступен только на приём. Это лучший выбор для прошивки APFPV. На этой странице собраны сведения об известных Wi-Fi адаптерах с этим чипом. + +:::caution +Если после включения режима 40MHz изображение не принимается, прочитайте эту [статью](/ru/use-cases/fpv/wfb-ng/unbrick-eu-bu/), чтобы исправить проблему. +::: + +## BL-M8812EU2 + +LB-LINK BL-M8812EU2 - недорогой и мощный Wi-Fi адаптер, который можно встретить в [Runcam WiFiLink 1](/ru/hardware/air-units/runcam/runcam-wifilink1/). + +### Компоновка + +Вид сверху + +![image](/images/bl-m8812eu2-top.png) + +Вид снизу (с номерами пинов) + + + +### Распиновка + +| Номер пина | Функция | +|:----------:|:-------:| +| 1 | GND | +| 2 | USB2.0 D+ | +| 3 | USB2.0 D- | +| 4 | GND | +| 5 | RESET | +| 6 | Вход питания 5V | +| 7 | Вход питания 5V | +| 8 | GND | + +### Характеристики + +| Host interface | USB 2.0 | +|:--------------:|:-------:| +| Power Supply | DC 5.0V +-0.25V @ 1800mA (MAX) | +| Antenna connection | IPEX x2 | +| Power output | <=29dBm(<=800mW) | +| Supported modes | 5MHz, 10MHz, 20MHz, 40MHz (только приём) | + +## Runcam custom RTL8812EU + +Runcam custom RTL8812EU - пользовательский адаптер, сделанный Runcam для своих устройств, таких как [WiFiLink 2](/ru/hardware/air-units/runcam/runcam-wifilink2/) и [WiFiLink-RX](/ru/hardware/runcam/vrx/runcam-wifilink-rx/). + +### Компоновка + + + +### Распиновка + +На фотографии выше. + +### Характеристики + +| Host interface | USB 2.0 | +|:--------------:|:-------:| +| Power Supply | DC 5.0V | +| Antenna connection | IPEX x2 | +| Power output | <=28dBm(FCC), <=20dBm(CE) / <=630mW(FCC), <=100mW(CE) | +| Supported modes | 5MHz, 10MHz, 20MHz, 40MHz (только приём) | diff --git a/src/content/docs/ru/hardware/wi-fi-adapters/bl-r8812af1-rtl8812au.mdx b/src/content/docs/ru/hardware/wi-fi-adapters/bl-r8812af1-rtl8812au.mdx new file mode 100644 index 0000000..3dd6323 --- /dev/null +++ b/src/content/docs/ru/hardware/wi-fi-adapters/bl-r8812af1-rtl8812au.mdx @@ -0,0 +1,62 @@ +--- +title: "RTL8812AU" +description: "Страница документации RTL8812AU для OpenIPC wiki" +--- +import ThemeImage from '/src/components/ThemeImage.astro' + +RTL8812AU - старый, дорогой, но проверенный Wi-Fi чип, который встречается во многих сетевых картах. NIC на базе AU имеют отличную поддержку сообщества, поэтому режимы injection/monitor 5Mhz, 10MHz, 20MHz и 40MHz могут принимать и передавать. Поэтому оборудование на базе AU может достигать выдающихся битрейтов: например, 21-04-2025 суммарно было достигнуто 52Mbps, из них 36Mbps видео (WFB-NG). На этой странице собраны сведения об известных Wi-Fi адаптерах с этим чипом. + +:::caution +Драйвер RTL8812AU сообщает сглаженный RSSI, который реагирует очень медленно, поэтому прошивка APFPV на базе `hostapd` даёт на этом Wi-Fi чипе дерганую картинку. +::: + +## BL-R8812AF1 + +LB-LINK BL-R8812AF1 - маленькая сетeвая карта с низким энергопотреблением. Это очень популярный выбор для toothpick-сборок. Эта карта встречается в EMAX Wyvern Link VTX Alpha 100mW. + +:::caution +Эта сетeвая карта может очень быстро сильно нагреваться, поэтому лучше сделать для неё какой-либо радиатор. +::: + +![image](/images/bl-r8812af1-top.png) + + + +### Распиновка + +| Номер пина | Функция | +|:----------:|:-------:| +| 1 | PDN | +| 2 | VDD(3.3V) | +| 3 | DM- | +| 4 | DP+ | +| 5 | GND | +| 6 | LED | + +### Характеристики + +| Host interface | USB 2.0 | +|:--------------:|:-------:| +| Power Supply | DC 3.3V +-10% | +| Antenna connection | IPEX x2 | +| Power output | <=20dBm(<=100mW) | +| Supported modes | 5MHz, 10MHz, 20MHz, 40MHz | + +## Сетевая карта из набора WiFiLink-G + +Это сетeвая карта, которую можно получить при покупке набора WiFiLink-G. У неё низкое энергопотребление, поэтому она популярна для использования с Android GS. + +![image](/images/rtl8812au-wifilink-g-adapter.png) + +### Характеристики + +| Host interface | USB 3.0 | +|:--------------:|:-------:| +| Power Supply | DC 5V | +| Antenna connection | RP-SMA x2 | +| Power output | NA | +| Supported modes | 5MHz, 10MHz, 20MHz, 40MHz | diff --git a/src/content/docs/ru/hardware/wi-fi-adapters/openipc.md b/src/content/docs/ru/hardware/wi-fi-adapters/openipc.md new file mode 100644 index 0000000..eb48fa5 --- /dev/null +++ b/src/content/docs/ru/hardware/wi-fi-adapters/openipc.md @@ -0,0 +1,6 @@ +--- +title: Wi-Fi адаптеры OpenIPC +description: Индексная страница Wi-Fi адаптеров OpenIPC. +--- + +Этот раздел зарезервирован для заметок по Wi-Fi адаптерам под брендом OpenIPC. Существующие сведения об адаптерах сейчас находятся на страницах RTL8812EU, RTL8812AU и RTL873xBU. diff --git a/src/content/docs/ru/hardware/wi-fi-adapters/runcam-custom-rtl8812eu.md b/src/content/docs/ru/hardware/wi-fi-adapters/runcam-custom-rtl8812eu.md new file mode 100644 index 0000000..99fd66c --- /dev/null +++ b/src/content/docs/ru/hardware/wi-fi-adapters/runcam-custom-rtl8812eu.md @@ -0,0 +1,11 @@ +--- +title: Runcam Custom RTL8812EU +description: Индексная страница адаптера Runcam custom RTL8812EU. +--- + +На странице Runcam WiFiLink2 Wi-Fi чип указан как пользовательский модуль RTL8812EU от Runcam. + +- [Runcam WiFiLink2](/ru/hardware/air-units/runcam/runcam-wifilink2/) +- [BL-M8812EU2 RTL8812EU](/ru/hardware/wi-fi-adapters/bl-m8812eu2-rtl8812eu/) + +Добавляйте сюда отдельные проверенные заметки по адаптеру, когда они появятся. diff --git a/src/content/docs/ru/index.mdx b/src/content/docs/ru/index.mdx index c020834..cce54c0 100644 --- a/src/content/docs/ru/index.mdx +++ b/src/content/docs/ru/index.mdx @@ -23,7 +23,7 @@ import { Card, CardGrid } from "@astrojs/starlight/components"; - Начните с раздела Hardware и официального + Начните с раздела оборудования и официального списка поддерживаемого оборудования. Перед установкой прошивки должны совпадать SoC и разметка flash-памяти. diff --git a/src/content/docs/ru/software-tools/index.md b/src/content/docs/ru/software-tools/index.md index f05b825..09f4645 100644 --- a/src/content/docs/ru/software-tools/index.md +++ b/src/content/docs/ru/software-tools/index.md @@ -1,7 +1,6 @@ --- -title: ПО и инструменты -description: Индекс программ и инструментов OpenIPC. +title: "Раздел ПО" +description: "Стартовая страница раздела ПО" --- -Раздел включает OpenIPC Builder, Companion и Aviateur. Пока в репозитории есть только связанные упоминания Companion в FPV-руководствах; отдельные страницы Builder и Aviateur ожидают наполнения. - +В этом разделе находится документация по программной стороне OpenIPC. diff --git a/src/content/docs/ru/system-components/bidirectional-link.md b/src/content/docs/ru/system-components/bidirectional-link.md new file mode 100644 index 0000000..52564d1 --- /dev/null +++ b/src/content/docs/ru/system-components/bidirectional-link.md @@ -0,0 +1,9 @@ +--- +title: Двунаправленный канал +description: Индексная страница документации по bidirectional link. +--- + +Существующая документация описывает настройку двунаправленного adaptive link для оборудования Runcam VTX и WFB-NG. + +- [Установка Adaptive Link](/ru/use-cases/fpv/wfb-ng/install-adaptive-link/) +- [Как установить двунаправленный adaptive link на Runcam VTX](/ru/hardware/Runcam/VTX/installing-alink-runcam/) diff --git a/src/content/docs/ru/system-components/divinus.md b/src/content/docs/ru/system-components/divinus.md new file mode 100644 index 0000000..8f93705 --- /dev/null +++ b/src/content/docs/ru/system-components/divinus.md @@ -0,0 +1,6 @@ +--- +title: Divinus +description: Индексная страница документации Divinus. +--- + +Этот раздел зарезервирован для документации Divinus. В текущем содержимом репозитория пока нет отдельной страницы Divinus. diff --git a/src/content/docs/ru/system-components/joystick.md b/src/content/docs/ru/system-components/joystick.md new file mode 100644 index 0000000..9a9295a --- /dev/null +++ b/src/content/docs/ru/system-components/joystick.md @@ -0,0 +1,6 @@ +--- +title: Джойстик +description: Индексная страница документации по джойстику. +--- + +Этот раздел зарезервирован для документации по джойстику. Добавляйте сюда проверенные заметки по настройке и конфигурации, когда они появятся. diff --git a/src/content/docs/ru/system-components/majestic.md b/src/content/docs/ru/system-components/majestic.md new file mode 100644 index 0000000..b4a6693 --- /dev/null +++ b/src/content/docs/ru/system-components/majestic.md @@ -0,0 +1,10 @@ +--- +title: Majestic +description: Индексная страница документации Majestic. +--- + +Majestic упоминается в существующей документации Web UI и видеонаблюдения как стример, используемый в установках OpenIPC. + +- [Web UI](/ru/system-components/web-ui/) +- [Видеонаблюдение](/ru/use-cases/video-surveillance/quick-start/) +- [Глоссарий OpenIPC](/ru/reference/OpenIPC-Glossary/) diff --git a/src/content/docs/ru/system-components/mavfwd.md b/src/content/docs/ru/system-components/mavfwd.md new file mode 100644 index 0000000..bdaf86b --- /dev/null +++ b/src/content/docs/ru/system-components/mavfwd.md @@ -0,0 +1,6 @@ +--- +title: MAVFWD +description: Индексная страница документации MAVFWD. +--- + +Этот раздел зарезервирован для документации MAVFWD. Добавляйте сюда проверенные заметки по настройке и конфигурации, когда они появятся. diff --git a/src/content/docs/ru/system-components/msp-osd.md b/src/content/docs/ru/system-components/msp-osd.md new file mode 100644 index 0000000..27dc140 --- /dev/null +++ b/src/content/docs/ru/system-components/msp-osd.md @@ -0,0 +1,6 @@ +--- +title: MSP OSD +description: Индексная страница документации MSP OSD. +--- + +Этот раздел зарезервирован для документации MSP OSD. Добавляйте сюда проверенные заметки по настройке и конфигурации, когда они появятся. diff --git a/src/content/docs/ru/system-components/pixelpilot-android.md b/src/content/docs/ru/system-components/pixelpilot-android.md new file mode 100644 index 0000000..2498a4b --- /dev/null +++ b/src/content/docs/ru/system-components/pixelpilot-android.md @@ -0,0 +1,11 @@ +--- +title: PixelPilot Android +description: Индексная страница PixelPilot Android. +--- + +Существующие FPV-страницы упоминают PixelPilot как вариант наземной станции на Android. + +- [Быстрый старт WFB-NG](/ru/use-cases/fpv/wfb-ng/quick-start/) +- [APFPV Firmware - руководство для начинающих](/ru/use-cases/fpv/apfpv/APFPV/) + +Добавляйте сюда самостоятельные инструкции PixelPilot Android, когда они появятся. diff --git a/src/content/docs/ru/system-components/pixelpilot-rk.md b/src/content/docs/ru/system-components/pixelpilot-rk.md new file mode 100644 index 0000000..6fd0842 --- /dev/null +++ b/src/content/docs/ru/system-components/pixelpilot-rk.md @@ -0,0 +1,6 @@ +--- +title: PixelPilot RK +description: Индексная страница документации PixelPilot RK. +--- + +Этот раздел зарезервирован для документации PixelPilot RK. Добавляйте сюда проверенные заметки по настройке и конфигурации, когда они появятся. diff --git a/src/content/docs/ru/system-components/zoom.md b/src/content/docs/ru/system-components/zoom.md new file mode 100644 index 0000000..d1d2a70 --- /dev/null +++ b/src/content/docs/ru/system-components/zoom.md @@ -0,0 +1,6 @@ +--- +title: Zoom +description: Индексная страница документации Zoom. +--- + +Этот раздел зарезервирован для документации Zoom. В текущем содержимом репозитория пока нет отдельной страницы Zoom. diff --git a/src/content/docs/ru/team.mdx b/src/content/docs/ru/team.mdx new file mode 100644 index 0000000..357e777 --- /dev/null +++ b/src/content/docs/ru/team.mdx @@ -0,0 +1,48 @@ +--- +title: Команда +description: Познакомьтесь с командой, которая стоит за OpenIPC Docs. +--- + +import CardGrid from "../../../components/card-grid.astro"; + +Спасибо всем, кто внес вклад в документацию OpenIPC! + + diff --git a/src/content/docs/ru/use-cases/fpv/wfb-ng/groundstation-nvr.md b/src/content/docs/ru/use-cases/fpv/wfb-ng/groundstation-nvr.md new file mode 100644 index 0000000..07d924e --- /dev/null +++ b/src/content/docs/ru/use-cases/fpv/wfb-ng/groundstation-nvr.md @@ -0,0 +1,31 @@ +--- +title: GroundStation на NVR +description: Как заставить плату NVR работать с OpenIPC +--- + +## Переход с оригинальной прошивки платы NVR HI3536DV100 на прошивку OpenIPC FPV + +- Установите [PUTTY](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) и сервер [TFTP](https://pjo2.github.io/tftpd64/). +- Скачайте актуальный [образ](https://openipc.org/cameras/vendors/hisilicon/socs/hi3536dv100/download_full_image?flash_size=16&flash_type=nor&fw_release=fpv) для NVR с сайта OpenIPC. +- Загрузите этот образ на свой TFTP-сервер. +- Отключите питание NVR, подключите USB-адаптер к UART NVR и укажите COM-порт на ПК. +- Перейдите в U-Boot быстрым нажатием `Ctrl+C` при включении питания. +- Выполните набор команд, каждую строку отдельно: + +``` +## Изменение IP-адреса платы NVR и IP-адреса вашего TFTP-сервера +setenv ipaddr 192.168.1.10; setenv serverip 192.168.1.254 +mw.b 0x82000000 0xff 0x1000000 +tftp 0x82000000 openipc-hi3536dv100-fpv-16mb.bin +sf probe 0; sf lock 0; sf erase 0x0 0x1000000; sf write 0x82000000 0x0 0x1000000 +reset +``` + +## Результат + +![](/images/fpv-nvr-hi3536dv100-openipc-ready.webp) + +## Где купить устройство + +- [https://www.aliexpress.com/item/1005004023376532.html](https://www.aliexpress.com/item/1005004023376532.html) +- [https://www.aliexpress.com/item/1005002358182146.html](https://www.aliexpress.com/item/1005002358182146.html) diff --git a/src/content/docs/ru/use-cases/fpv/wfb-ng/groundstation-ubuntu.md b/src/content/docs/ru/use-cases/fpv/wfb-ng/groundstation-ubuntu.md new file mode 100644 index 0000000..9754b7a --- /dev/null +++ b/src/content/docs/ru/use-cases/fpv/wfb-ng/groundstation-ubuntu.md @@ -0,0 +1,85 @@ +--- +title: GroundStation на Ubuntu 22.04 +description: Руководство с подробным пошаговым описанием настройки наземной станции на Ubuntu +--- + +Видео-версия: + +- [OpenIPC - Prepare GroundStation: Ubuntu + QGroundControl](https://www.youtube.com/watch?v=JMtRAsOm0Dc) + +## Подготовка + +``` +sudo apt update +``` + +``` +sudo apt install dkms git python3-all-dev net-tools virtualenv fakeroot debhelper python3-twisted +sudo apt install dkms git python3-all-dev net-tools virtualenv fakeroot debhelper python3-twisted libpcap-dev python3-pyroute2 python3-future python3-configparser python3-all libsodium-dev +``` + +## Libsodium + +``` +git clone https://github.com/jedisct1/libsodium --branch stable +cd libsodium +./configure +make && make check +sudo make install +``` + +## Драйвер Wi-Fi карты + +``` +git clone -b v5.2.20 https://github.com/svpcom/rtl8812au.git +cd rtl8812au/ +sudo ./dkms-install.sh +``` + +## WFB-NG + +``` +git clone -b stable https://github.com/svpcom/wfb-ng.git +cd wfb-ng +sudo ./scripts/install_gs.sh wlan0 +``` + +## Настройка канала + +``` +vi /etc/wifibroadcast.cfg +``` + +## Запуск WFB CLI + +``` +wfb-cli gs +``` + +######GS IS READY FOR USE###### + +## Запуск, остановка и перезапуск сервиса + +``` +systemctl status wifibroadcast@gs +systemctl stop wifibroadcast@gs +systemctl start wifibroadcast@gs +``` + +## Руководство QGroundControl + +- https://docs.qgroundcontrol.com/master/en/getting_started/download_and_install.html + +## Получение последних логов сервиса + +``` +journalctl -xu wifibroadcast@gs -n 100 +``` + +## Полезные команды + +``` +nmcli +ifconfig +iwconfig +``` diff --git a/src/content/docs/ru/use-cases/fpv/wfb-ng/unbrick-eu-bu.mdx b/src/content/docs/ru/use-cases/fpv/wfb-ng/unbrick-eu-bu.mdx new file mode 100644 index 0000000..f1f7f84 --- /dev/null +++ b/src/content/docs/ru/use-cases/fpv/wfb-ng/unbrick-eu-bu.mdx @@ -0,0 +1,27 @@ +--- +title: "Как исправить сбой на VTX на базе EU и BU" +description: "Статья о том, как исправить сбой на VTX на базе BU и EU для OpenIPC wiki" +--- + +## Что произошло? + +**Все** сетевые карты на базе EU не могут передавать на 40MHz, а **некоторые** сетевые карты на базе BU не могут передавать на 40MHz. Если принудительно включить режим 40MHz на таких сетевых картах, RX не сможет принять сигнал. Проверьте сведения о вашей сетевой карте в разделе "Net cards": в спецификациях перечислены все поддерживаемые режимы. + +## Что нужно для исправления этого сбоя + +- ПК с установленным [OpenIPC Configurator](https://github.com/OpenIPC/openipc-configurator). +- VTX с проявившимся сбоем. + +## Как исправить сбой 40MHz + +- Подключите VTX к ПК через Ethernet или debug port. +- Настройте Ethernet-соединение, см. [расширенное руководство по настройке](/ru/use-cases/fpv/advanced-setup/). +- Обновите прошивку на VTX с помощью OpenIPC Configurator, см. [расширенное руководство по настройке](/ru/use-cases/fpv/advanced-setup/). + +:::caution +Не вмешивайтесь во время процесса обновления. Не отключайте аккумулятор, Ethernet-кабель и ПК. +::: + +:::caution +Подождите еще 10 секунд после сообщения "Firmware upgrade completed successfully.". +::: diff --git a/src/content/docs/ru/use-cases/home-automation/quick-start.md b/src/content/docs/ru/use-cases/home-automation/quick-start.md new file mode 100644 index 0000000..653597e --- /dev/null +++ b/src/content/docs/ru/use-cases/home-automation/quick-start.md @@ -0,0 +1,8 @@ +--- +title: Быстрый старт +description: Быстрый старт для домашней автоматизации. +--- + +### Примеры OpenIPC + MQTT + +Для MQTT можно использовать: https://github.com/gtxaspec/thingino-scripts diff --git a/src/content/docs/ru/use-cases/youtube-streaming.md b/src/content/docs/ru/use-cases/youtube-streaming.md index 0125f82..e9310df 100644 --- a/src/content/docs/ru/use-cases/youtube-streaming.md +++ b/src/content/docs/ru/use-cases/youtube-streaming.md @@ -1,7 +1,6 @@ --- -title: YouTube Streaming -description: Индекс YouTube streaming. +title: Стриминг на YouTube +description: Индекс сценария стриминга на YouTube. --- -Страница зарезервирована для YouTube streaming. Проверенного отдельного материала в текущем репозитории пока нет. - +Этот раздел зарезервирован для сценария стриминга на YouTube с OpenIPC. Добавляйте сюда проверенные инструкции, когда они появятся. From 29003b14d063be6240bdaf01aa5a4fccc951a333 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 16:46:48 -0400 Subject: [PATCH 09/45] Rename Russian cameras section --- astro.config.mjs | 2 +- src/content/docs/ru/hardware/cameras/index.md | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 src/content/docs/ru/hardware/cameras/index.md diff --git a/astro.config.mjs b/astro.config.mjs index daa2c0d..76ca27e 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -38,7 +38,7 @@ export default defineConfig({ { label: "OpenIPC", collapsed: true, autogenerate: { directory: "/hardware/air-units/openipc" } }, { label: "Others", translations: { ru: "Другие" }, link: "/hardware/air-units/others/" }, ] }, - { label: "Cameras", translations: { ru: "Камеры" }, collapsed: true, autogenerate: { directory: "/hardware/cameras" } }, + { label: "Cameras", translations: { ru: "IP-камеры" }, collapsed: true, autogenerate: { directory: "/hardware/cameras" } }, { label: "Wi-Fi Adapters", translations: { ru: "Wi-Fi адаптеры" }, collapsed: true, autogenerate: { directory: "/hardware/wi-fi-adapters" } }, { label: "Displays", translations: { ru: "Дисплеи" }, link: "/hardware/displays/" }, ] }, diff --git a/src/content/docs/ru/hardware/cameras/index.md b/src/content/docs/ru/hardware/cameras/index.md new file mode 100644 index 0000000..a256d3b --- /dev/null +++ b/src/content/docs/ru/hardware/cameras/index.md @@ -0,0 +1,9 @@ +--- +title: IP-камеры +description: Раздел документации по IP-камерам и совместимому камерному оборудованию. +--- + +В этом разделе собраны страницы по IP-камерам и камерным платформам, поддерживаемым OpenIPC. + +- [HiSilicon GK7025v200 / GK7025v300](/ru/hardware/cameras/hisilicon-gk7025v200-gk7025v300/) +- [SigmaStar SSC338Q / SSC30K](/ru/hardware/cameras/sigmastar-ssc338q-ssc30k/) From 1b3ae2b6a07df82149e77ebf9a92d39c46d40686 Mon Sep 17 00:00:00 2001 From: Egor Date: Sat, 11 Jul 2026 17:30:52 -0400 Subject: [PATCH 10/45] docs: add FPV related resources --- .../fpv-related-aviateur-ground-station.webp | Bin 0 -> 19944 bytes public/images/fpv-related-fpv-presets.webp | Bin 0 -> 69546 bytes public/images/fpv-related-msposd-osd.webp | Bin 0 -> 75264 bytes .../fpv-related-openipc-companion-wfb.webp | Bin 0 -> 31002 bytes .../fpv-related-openipc-configurator.webp | Bin 0 -> 54994 bytes .../fpv-related-pixelpilot-android.webp | Bin 0 -> 124088 bytes public/images/fpv-related-pixelpilot-rk.webp | Bin 0 -> 32340 bytes .../fpv-over-wfb-ng/related-resources.md | 62 ++++++++++++++++++ .../fpv-over-wfb-ng/related-resources.md | 62 ++++++++++++++++++ 9 files changed, 124 insertions(+) create mode 100644 public/images/fpv-related-aviateur-ground-station.webp create mode 100644 public/images/fpv-related-fpv-presets.webp create mode 100644 public/images/fpv-related-msposd-osd.webp create mode 100644 public/images/fpv-related-openipc-companion-wfb.webp create mode 100644 public/images/fpv-related-openipc-configurator.webp create mode 100644 public/images/fpv-related-pixelpilot-android.webp create mode 100644 public/images/fpv-related-pixelpilot-rk.webp create mode 100644 src/content/docs/ru/use-cases/fpv-over-wfb-ng/related-resources.md create mode 100644 src/content/docs/use-cases/fpv-over-wfb-ng/related-resources.md diff --git a/public/images/fpv-related-aviateur-ground-station.webp b/public/images/fpv-related-aviateur-ground-station.webp new file mode 100644 index 0000000000000000000000000000000000000000..c5d81c39f1f2865e820b6270d0dd5dc450657018 GIT binary patch literal 19944 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 z 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 J`eh&h003p^xmf@J literal 0 HcmV?d00001 diff --git a/public/images/fpv-related-msposd-osd.webp b/public/images/fpv-related-msposd-osd.webp new file mode 100644 index 0000000000000000000000000000000000000000..924bc71c03c98d32742753f6d8c140a78bd755d9 GIT binary patch literal 75264 zcmV(*K;FMnNk&HaB>@0eMM6+kP&gp$B>@1i6$PCEDzF5j0zP3blSiZ?A*!Rax>-;R z31@DWn>Nkrv#xX2Z0q9cOCc2%f~B1v{x2NrE2I9?!e_NTH`uQHe@Gs4f7knYB)6dsW@_n?wzzt{u+ zcc=$V|BnCd|B31^=bz+%#_Z0&rTz!^XY1d*efRt~{crsKp&r)#pZ$;cKl4BF z|Hc0B{n&or`){>Bihrm7h5noKbNuhv5A&bt|K`8Ce(!&Q|NsA2+;(y@(Q~s~^r|cW~xAsr?KjA;l|L*@W z|NsA=-$(!7b|1RG|G#$rSAS(c{gGx3rp#DCT3vR%?Ld1S6suX4_X76&n9`TE(5-mz z4T(}=tp@YM*YV%Do+D>aKkb02b=T7+>zKjx1fpY!#DV3&$Z5rytqSQR(D_orP zG6Jq(3Yg9+UYpE&&{-2lIVR^=5gdzoXv8>@cTj7(X7d1+7i(?0|3UCcvbUzeqjl!f z2c;(s?`M64GJC7Vb2EJ9ke-jjZ)%TEBX}5Gc#I$SrB_aVI)(f)PmUhrxUOu(kX>g~ z;d-B6`gFReImQs2F2(ri z>DLD=c4-6yUkZ<-Pmr8O%vCWRk&JxqXQ zJbiQHKTC(JB+ZbGyTX4xEH<6J-pJrvg<#Gx<4_cZV_&JlYey)OLj=u9c z%n6X)i)d}DOAQ#9Fl=_AFfF?3HPl+jzU3O(#%Iq5q3o!V;EHN~yrYnd5#n!Zr1%*o z?Yzi$%8I<3z|Cd=@F=qBFs~^NMXXb#!O!}03RdYWGNv$?)C{v6KBrK{(Pa-Cp&l$- zXxO(KFyXf(EaEbf ze&x+b9C_50l#iam)q#oWB$-O+ol+&+C7(MFW)VCz-yEh%)v5%^ox|z zguP*Alu<&&I|f2-(h)q8Ak{mFaJtrlqh+1UVCym>>%CjkH+0c7tY6)B&z;hk$q^IR z%ID$r^PqUT^C#-}dgMhgt%XsRRg4+qe1r zU&W;~YT`)?)Db3!b*xRvoxEVmWWTYV9u=QWkJ=;2QZk+A0Mhh-P0vIE1W3a&1Z@Q6 z#v})qGG&I16jjsry1;jltkf)%AUx?4vwbb}qs5n|)4Z(O;b#EGtdM zPO-dD#Jg4F5iryvwJoHdTNA=_down}Ce&~iQq^n@x@`z<=W^s|>NHZv-*dssY59Q@ z#oG_=VKtr#2+$qBFCW+tVIfvONy%@X5O`@L2yPNyeu?BAki;_v4rn2g)(!FMdI`2j zW9eU*lG0t+?6Ua7Xp+;>DLSS7Qn22Q6t*A@UDJl=Ef}5ecN?_6f!lt%Q6F$$nHHV@ z#RZS5D-o6IwvkvITM$xAx)D4pIxMRf^u#y%Zhg-EF`AbTl1&Wq=8Gj)G&k(ukAHFDh?&g zCZ^+oXP5J}xQH%L0vp0f$BVu6SN<)eTbUIouO|a+)vF;)VvbY9Fb> zq$Eezjd{T54}kLiw<;qJ-pMatwijm%&lARK8L^97r)D0yH-9S1k*CVxOcJ)28H~Q; z;0R>b{=T)MX#v&kEE$O03NsB`pQ_F5@BKqc@rciIwusYHG}LQMSv>MzPdY*#mom71;2F>$v5bCaD%RD)sKIA>*uWW9 zR;kcd)!`+dO1sI$RX=#RzN7Xnn%T_|zZg1Ok%m!7x%7Jy$we+<++mEf_!4lN+?)2v ztj6-Lv+Unq30aQZALbp-awe_S(gOD#wJheP} z7M|q0zGf*B>Y$C zm^$qtY#0Bv+UNRd?^ipj37MA{b;4(d@sq!4 zqq}TUs3HjwY75d4l8Iq-iRpfAewa~z%$SR|M3DUER*|omg~GFxVMRw@{_1eY8ebVNluxPeDG;58og`{c<3r`H~8PX*e9l;d64l4ZE+hy z(E?rkJyf+x`PwVu_;E=nOg(?WM-kxb2c7ga83%ia?X8zseOK%?DPS^H^3m12I$i8? z!UxE(dxzjv@JqdHg`7>nbnZY1mqEe~oxY^{GBdf=gZIL*tvVvHVeBoLE(rPsIQ5ZT ztr)5br#b+#n}H0vRQ%~N2<^V0)=R7fB@iI1E@fQkP#%2efhnl*OmB3ib7f^c8M=ll zAaTzg565?Jqmu~M+Ek0|LuhJHwfdnRO}0@rwa~;05lOPXh6giVy}AhNzpj;2QzMD2 z{}-3jdP;uNeN87BXg=^_6z2)mbcW>LnYPX-Cd8_Ft*lussa*x3uuVM!%5dcgE^9sirdwsw zS_F{F4ADEIfK~@_t9*7DmurFZ=erIDn&y4ngTc-p)*YM9c|?bme+bv$5vAY#L{+MUdM^-vJ5 zSBz3~OpZ<|qMv1aBhvSNd5mDoNu7FQ$B4OvH3S{ELkb_!0y@idd)N+HTcc`^rJsw; zEQ+Q|Fx_c^1GZlP5GLj!96Qwlu6c-2ExrD>)cg+y+~+a)p+YP02E0>1`YAuJ=L{h_ zfWV!^-Pp{jKg)le+`E(qSE_&YT05dt87qrm6d@%h5shUf2ZM^d#|>QpH3Bq5dUds7 zK3!CfFRYQ2&v*D+3Zusc!C701z?r8Au705=PK8!+pzarM{)ht(ODyu_m~o2o-=y=H zrmLK`xy_c}7Kst*_2m;SQoqK$y9qa2Z6Fd%kt}do!A^PuR6aixJY234NC;Jm!KGb_ zM6=Aa>#U?Z3`$cozX&CE%ogLukz}mAz>r=M6*6+`t&n!SC58OvA2y?}i@l8qJEH5> zyDGf2a5pfn<1mJH_1t3xxH1GEBhc!chWof!}hTrBqOk(_`fXDBi` z9`5FR@cN}7-N&mX7YTuBCN+{*1!*IzTqR!PgU7&&k^`|Oyt4*T3Q`%Q%BGi?Z5h$h z(0CTG%Q&ee$2$vHhQrb>wAR%yH6>_$wI`gn%rs4=Esq^@MubRU60re;UpFXTUnOC| z>|f~+AT-kwUfwGe%h%11q#hHlk>b0_r@7iD}pJ67D&!xd1cy@2#2zweQ{b<%6miy(mrQU2o8 zK~w8+uT*-P-PT73a1(;6CgOdBkebNq=Oy6?^0+u9E)8LEhY+UtDjr?D#a~k3tvKj> zir*$(CtpwzpvHMU_AXu&&n5y6ZE(;ueqVO9Kb+mUI;sd&A-#OU~CF&wK3h zH@aL)cV*61e8B|AZ~;n|Gm1@ z-o(2GhGg3|+d|gO@G*3Rf+RA$YML^T@M8wHJqRr`!0WalU_EO(v4mlTbWx!%Bt7Ya zzyGs*{_HT_J1x3fXdcl zF~h2 zoiZg`)#tM0aUuko=EG2A2LGE!gxI6B;{BBct#1lj@$X@Tl6{AZH*mqi&r~3{;pp*c z{P&2Ol;$OhHvfp5^iW-A?H)O*+AH}>?n#RgP%oaFIdes(hraNG*@>YfI6HQ;&;LO% zo)X0_t?+1n$<zT{I7F4U8?$?$Ze*5GQ+?ZU>g*5cfC zxy3m2XW$F4w-x7XL#cApfG?S6Dmk1uV%<;514WsewmV2B8T#n-xSnW}53gYIadC{N zhOY7@aYZENCup+q)NX`lD>K(XsF}-omA%+Rme$E6BzNCOh)3)5@i6%ucwzi;N zyojy@>dB(Qo9lHgAx}^9tP=rSL5EkW#P}LwJ`30Q=?05S${Ii*xG7A4_wqni)b!>k zE{*@MTbD8wsi*x-z>C1k2Y$VqVUV{(D>(8dCT8I9tB+i;J|l2HK1*d0pU(YHUTEU!a4FoS<{-~h znt>-nY|tVxC<`E;xkeOODU1{X@i_DKY0jO!xCUo6@8^MAL+H{bf}{NPqso;XhV;!H9W z2wjj8s_{b0K3WQN9Ezdp!C37N2koX_=@H&eL8N64Gf_L2o;mvxD)gYZo$bi#*7DXv z8zEIZ!Z&75abp5uNKB&YYly$E4>HO?2|baB_)%z`$EDC!aUTpQlYiEw*ZwBMP<{5- zaScEJjaAL-L90|HESbcu^DVA1=Zc1Ge!}zdO>r#PxMdIgcjrbhpLp1fGMzf&K>C{M zg`4F!>q}emo8{GEG8yXJAHOV>Dy(A$Aa^KRg&&Vw=KY#r_{g8WyLQC|@UiVcEDZsE zE82lSgF^DG(nn&=W)Epdz+NP?8u*#cYtW|KvD0U6!{Yi&tupBzJ#UA$d(8& zAP7<+>czI_G##v(8uu=>oDCCJlH>jnO*zLw_Nd5}r6AJ+gK`i8$)uWcDi{iYIl08-FYvwLG&T-G&|99VJ@2S5(+Oix6WIG{kixkdF}>}5 zRI$o;qtFFzGt`g5^@mViLHccy#s9!#BKr!?Pa+Rr5LuOh!e|6($fbu=>flvOxteb} z`AlJEBFv-FEST)86o_7sw=Ef}axJm3`QN_`!DInV62I&=a$gl(d#INR36~EA%1YfH z8O9Bl>V%&q5m0Gq@*TC`yJlQmqqK?Inq^F8IHc-4sS8pGGSS%a*temVNZkd6lGgn* z9pmgh9uE~KkXOKtFyYe#eg8%!IPVK6Cqw6|OAC(uV>H#P2IjDuXCTHD&Y_sohPL>e zEX}rF^@hRBDU~ANv>~Mtc=lvx8YnOPFjfUvbHqSv$2;g!et=VBrlkG>DvPXJt9t~# zR*T7lo3OxHztDD*zJ3!$wqyF*T7(O?T@#OTbk29 z4Lrxklhw+^ff$w946+3M;*4f%keh;TSZ@6ysS%f888ltAK*Kst<9^;vqOyBj#evH# z%Qwx(RKqPqc7AYir2_ZQUto$T1Bia<^7)z1Pfu{>3oK2w&v&HMa+L!bz#haI^Adc?&~JD9HIm9pT9&T6=9#jk?TP6c7We07W%;@H(R zBu~wdMI{QI*#!3%+)H4NiaDIlsibS<_qO|t`sH4CUY>h}H%QYn=z5>@r9D&%#&u<; z$RTv9rtSpCYX$cGd-Rlj>VQ$DidatPJ|6Vq;l868aAy1(MJQ(rZs02Pt~l}eX{(ax zR7D}={D(IWYBI*?6~)|c`X}p-o*QjCl8>RGD;AjU(fuH%P`skkDH_#5OtB+1Ww*dx z)v4W4aU@5FS*zPtT27t8$a{q1?ATdvvE(R%?~t7V`c=H)^+^-)WNY?xdfA=fLm937 zeUZR1dy#nh6bk?%R-4_C!U>E=J!|MXsj~()*FfiGC(c(?s%%}+KUs|C67J*N^)L-@KvSIC?gy?gHsqmhK41=(W=v;X)@6@Gn5GX zyB=gWumH9ES6f^Z|F87vCnd^XO3?*Pw${dJ^!5pcd0PpIWk9{z zUY_LmZCzg$T&H&8+1KY3VxSTj3Kf!!_3?R)#v#k^BX*6;K$piVszM8YTy31${5(U# z0uA~`EF{L9wN8k|PoO(YHi3PNZ@qIZrTSPQy)!nuPodAzJAysDG%SD#l?`#p_3qyg z5(FM8su)ugH#ox~(r1@+8?IP#huxrx-0NW<&Zhi!g_QUti`#Hfte_oI*0iP=lRm)m z2BSS}jLmK4I}$qUb^jF6Fo+*Z-I2B@%e8HygI_;JJZb=6ekk`r<4V;F0Yz9-a8X?yyqT=iG@FRs`fu|_^H9NN{e?pR?MI(O0C{BmFh`o%RiajU8 zrl*qA+17K={K4Y1{+xnM;Zvh;Xo-yE96nTxaHQhQjVVrt{Rowp5loVpZvmN1M?H?g zRbC*s*CQ@+U|r6s(ce^Xm(tT-Xcs%gJ>mjhr*=>oWxDQ>6G#LYmeEB@lO7td&pvA4(4i20pGx_ zJQrXxEBiD<|FucR8vEl*zTSPXi1nEhLy*_@!p;+_)qcYGO%`&{eL(ueyH9i)@T2ne zdt}fLIPl||_{1{ow0$U`K4WW)#DN+#B7{CxSETD5Nc6hE z=g5IzHx`&~2B&d&j+<&WRl*RY`mf?f8)=MZ%&VsyDL)5jH6%W-g;lz7NrhM7QESQr$^(BB{fLyz(x^&)Iu`TW{_sssMj;03M8PlDCyW=JOv6HtQP`hq z6%5We-E2wW^N;E=ZK{&TxUNSnW4w~4t(G;VL4;L5HMnSWy;#UZUB0eu9%m-?)O>5M z4MWcCr#PCpsWz6!j-n#h1vBxobt@v*mxeStyKx}$^BBXy{Vr7yNIsT~*f(eu`Svlj zKwzA8*jKg^@YzT_hY;$2LzUBS;;C%JGcPdB zikDhPaBpAN5M(V37X(Ujy7tQAwA{349TD$xxr$AxX+U5UEOu~E!`}YGq0bkr=0n`s z*)o0GaNK(DP0+dzNE6zKj`{n8S1n0Fb^@AZ;QmVyv2qNqbg^!JfrlGcoWuZc_CUxe zx@eb{4LTPtE*xk_!rf-uNJ@<$A@KCIzPP>ywQYtxFjn-)Ti01(fg2A zn0uW#ZzkK3ihsImCh{z-wBIQ0vS85(Yy) zoPlY6$-9-HWLZRtBo|xtx2zwY19u`ipKvM)q05e=@DX~=Lk$&4;_T#w!!RX&kpW5& zv86OaJ7=sG<@jTc!q#klRn?(uRgcAl-MSObRn9J>9<2s01d}_fTBYzV>Wv=_*=mMF zFUq7Ju?=`Y_qWmK9N?vBTKEHiP+)=51fTp=u=Z&YgqhdW5!5uSO!sEI0`#5Ytnd=f zp8yM7a4UpadO=M+FB;-Z}sfauS+2@<%0#+FiC*?nD%4nN;7Ks!U>rl9X36f8~6Cdg&TBW1xkFrNRqJ z$zW~Z501f7(ZuQl!PrZPdML2MS$%6JiBbU8cuWa;Ux8PAbbdN_9JyJC8QqAONR{H( zKAS4Qc>87I@Ycu4#KI}QTN`272*S$i>B&?cb2lbne_>n56BKt$!%EvzYK$rmRPXzAv$e|;>uACX^0A-+|dOic>-TK~{3y*B8phnf3Q z4`KA>Blq9;KaWCcCA)f5*mIxT9Le8wiBa&xRs;7=C8_4<59-2BIXzomE%0+nd81w}VwPA7}H+UFi<^%m-PZgJ#G& zEC({|8L5!(5yEsQMQTWCPvHP5-)67JcC3F*JpL zdJ*^kOr6e6?kTVTr|yb(8z<$Tv>fZB?6sWX!FJnhzB59xgAL>+Y?bAQJTFznOBj-4 zEgdKm9^TjXr0+MSBU98Jr_y%D8ttY;oxzBHJ~G5r43X|K9#-<0ZZcA8zB3_QP4t|Q z7jqRVia=Ra{7r|O2C=@;L$@3W7NNjgGz3h`9P<-?LUlL)1RKN5)fO(9!TP#gq*ZYI zho4v(UFpj&N(L3rX}me&S-9e+Z}thNN`J=tG$mZ;t7|w z@XE-@oQIga485APYGKt30q3#OA*bWC!y*B?Gcux6!$BRTi)(T$L3%7;nL-@j@WSi9 z2g90>!adN~A#oLGJPl?UY&8Kws0f9(!;rMJCrWLNQ6Pm;Cf{Ic&vUr&R%1-c9cy4_{K zZklDL*sj)Jg;~QKo0k1%kyyVg>8V}}udqikJ7dzA!S~WVh}mjyS4g}>zPLR?hYuMe zyNd%JT?D22J(0@)9)~}TZ$*}gzW4cL%NO%YeR5!6Zmz*Ac*Mz(B==9Z>tE7K;!>(M z2@P^l??~hmcAz6sRqmzM0L6yRAf$(qM=cAvj$Kifi5bJR?qrN#d1mX{>uau$M#x5Y zpd`PkG7uz#y^3!aocS+kL5x$CxD_xx*Ms49px zwVneNek>S0sK=XhY8k;>9}C&)9kgA7#`bv1#zq8o7_x5g!stcHvPAy>9;L|KfFXOn zqni_F5EP^WPWx@02P1OZ==2!^ads!(&A(z82x4eOA4{=;t{N*XPe^;ruz#^V@Ri&* zE@#DBH3!9a-ZCEHj!BXz7;x@3Rto6#6oDFY*KJIXV$}@WV^*d9 zW)*_4>o8&AS7<51{~5d?i7p^CuTxL9^g8WC+zk41C|-rb(P8Tnt!%cUzS99%@-4MAJ;g)Nde>qZ|6d9AwD*?ew2eQS$W-I!-Do;%g{<4I9jL#fxEg0)9K>l{2l zZ%vT&_~HzyIGQdhOe(2f5w&xq>r*Jg4FVzpE~SuE5H(fB^o# zj~;tKuBQyS>AE6#_bA0+#8}Z|Mp#N81gG-b>_^LfipTAy3qePWadcuIEn zQPJd=W4EI6{I1`5DkHsLLyb>bvOEi_b70*Q40^22aIi|pru99ecd3oKus(0fGSv^i zyQGri(BJj|R{+Wj=pLA41k3H-m4pLaH=FH)t;+hy_)(z(z-!3|!~*GPA-~vpZdADz zHNkl389-UDWsl)$&2pJCE^DbZuJ{bcWW9dP zosSG-)KXm7&Pwa(w>4n5Mq5C&l)dRavVp0yC6z6D8{6QPY=Q#>c3bSnzTAmUgJ@5~ z6woj8ETaWqwGzDc-D6zQe0*&k9$L+^`v7rmST&(&RCQ1nze-j(5GrCkrCVb(7t{_togLE`Z@qW&OKmN8&68Ua$ zsl^pdxN}PxB!0u^Fe%+$?!C$-WnbyRva>P>(?~HPBW%uM&2g!BEVC1Ny?Wv5E0r=P zSS&%6z8UMSd<~XvSLHyRGOGM=};QSwBCV`+?IRlU+ zAm#j3@L2)*adP7o@aW80t8x1AlS50@LJmgE3Ai!+MY+6mSu%)tOL*W{5*ptiZRV?b zAm2s7wr#nWrN?u^mN4Tl>?>nyOttRh&faK$je>Mj%4FB1BJZ)BM>iB7r-gm z63i;pa)Y9B=#stBHf@^UWm}F(U96QlplIYw)_!-_22im-h4!_LOCbvs|SyG4fA zC70A?57#YVHq!V;|0O;=a_TkM(mDNxdVI+|EJX&_^V}M$kfQ{|{}KkAi5-)3L=F_l z-M8KRi<_h@2T#1a1^;H=a-&LM`JII2mSvfrJ+6@ZZU6M_Czfn>T=j*EQmS92UdY8- zwsY%EJyOaHjcT#lznQ@x$|)8*913WJ>l2#@YBqK>Lo3D#g;P<)E_y2^84M@v%=rst?oyRb=3X| zvN*m>_)|ZdDEACAm4F;}OA}?Cviwo2nUct6#Qc(tgg@5i!|(d|!HAT(a7 z%fq|whX2sX2U)s&;e0M)T{nn-MKx0lAo8?2e@|!~xQ_6yTVY96+cmW?lHxy9N+eg^ zALWvLSP&#%-ZadBV?>L>+J0GVexeogSFx;J9?T-~rhu%}_z;QX;dmQsmC-;DW^E%Q zcw?CCMh|RNDomRheJ1ZCQE9lJ5%Apb>2&qjJ$+f!Hw7*sMv~>EBh!3_4X;bM(Dpt?g{^v zDxHFo7oh{RZ9!A7gL}E|tEgY^xK+r~C_gvS_rY-9wuO?!-}4;vi@!3MWm^iPUqvm>FqRkbx5T@fCq>&h&ECuecugH=6yiN2 zx$huO^;aa!Z3>iqpNDyIo7O1{#QmpKqz27;$HbzXIuFE;54Pc|Gs9?(fjE0KZ+o znl(y$35>96y|v^`cOFsE1}e=;g;NO^{^GxD-vA+G1d2%g;bmW*L9hG50?97PhdH~p zG3pjQ(r&qQOqo4Q6fAmk3UZs1Ig4LB>0Vfv7)95nm5V&m9ku#t&HLT-7tle(#uKi& z6j};)SQN~#kyVb?K7SM*ztXAnZ?}-Rcko2YT+Xld>Ule9-$2FS1QbnwdK*L<>nl3i zb5=l2J$GCy&(?V2FF=fy$NJLz^ye;bzYH5Fdx`W|C6;s=uct{=544zzt#?fb?xW`2ChntvLSv{krI=`U;htD;g^$J zvjq$mAml7-ql5+NN9<=fO1d!;1-z^M;JmT8pLRt_R0?8AAjdpsUi619 zNmQXXUe)S#deWpY-;ma@+xaMOZp6HzNA%qW$KA%zP0C_=7&m<&t+y5k)f86J?8@38&h=- zG|VNP(-2kW;d#RW=U{=|^?><;T-}}WqQP;aOgCce=leL1-oeaPFyTt$4oq0=w~fJf zm5Zm;NETQcbK+M806e%0SGF0RU3GK%`grMl7lpISZh1SvuGu!*;xa5Z&%Kr@wu!AL z+i?V57pbS{q<>+C2HmD8Z?Z@LL`z}vo4)s*m?&~vvCE3$H2UF})+FZV`rH%i(DMS= zgVB{PMyc6W$Umm3+~C2KX_rT#L4%3U6vA|dfD|y+|<=~Bk z07|pf^?lo#xgRCe5F9npW0Z^r4ATHTDY3x86eS7rw&v&9f^9JdIVyf-Ii$QMRPg8|N0^ZA_1|xiOwF zNsn@WC!<`Q;k_K^r&irsx6cb-mfW@l+znf|kH#7I$0d`p(alLNQWQ-MsB0<7WHN1u$manv?d5U8h0|%qIR!` zI5^#`4;EkoHd-A4_EC^hlIBj&>%tQYZ*eAMX>p;Uw+spS#C&u%RueV4}V=;VHX>wCAkx!;Vita-+wzs)=~72QcDN9)RF|It2PVj?5#qib9ZXG=!NE>{2JIcStUIruZSbW&ef$lKgLd zdA+)iH*qRH9$nb&sZIeQ#H5e*56Zx@QE(Ke9)skm$`vF8rC@4l4L4CN^{O+P(>jr@ zcc(=lc^;`XtS5L74_y4BhLA<@4NRD8t^O2Nq(4#M=^KqJY`F`kZU&mn6=W58Rv z`xlFf*eAytNM3ivt=+Zu1X~f4R$Xnww+{H6i_XL1*G^`FioPR##UjY!;wX7RgRjpr z^;56uc;xIe@7a*W2t(GTV<&!-rC$P@j3f~9B8l+r^ZTaUK|<2=X!y6)Rfdo%|KqO| z`rXJ;I2^^N0wFa=UT~`(rMaH$s^xMXz@$X7TbCU4Z;?rXoZnfQvQ8P@1XS1b`1*kA zm8(Lf(qh7Rulyu?0G~Jy-sKMbda4r%;n02`hJT2QG;S5XD znqKs6ok(MlNEwCV)`nnB_S@htR5RT%ned|(|XuEYynl=@4z z9_SPby%)YpxDYdBEx8*u4}oxd^rmypREI8h*x!~_K_Q{Zm(LuTk{fn3GgCOeMPE2q zv@vDA%QbqsH5eN8-irkhZ?E$iL)bym%iHvAIYz0a0 z+c%C_grI_aC92liR%PmVw{FsbgjDRp#eS=4e1W1tF3`~Beilq13iF33ixa_A#dx;C zEWSXB0c8<20%vJEaj${+6$)_15DDy;;qx?h-LJPl{4V@G`6yT`tPsgU%1Q( zsHX&s?xb30XGoXhEify%fIlCF;NCRV7nr9kNj!E^%C|-E- z*^+U|%whi+&EK%kPApA>8pH4m8fOGrqJXDNefmnlN6oRfn_CLIA+9!GbEp3o17DXtf9X6BuTGJE`Tokawq6M5vTp6quBwz1&*tyY#4VX8 zAE$0viJRF3f`x%HdE3o#>}-%WI;GiP4_1e_-+e2z0Ec{% zdswGgIL)4t(|9R?;uMx&J&32?n%pgNCs@AZg}Q=DPA6o>rL4XFnXqRXkJh*83UFl% zT7vHCcrWT{9hNz<`=KGWUG;hRPO%w%M?*=>i-?aRJC<;VjmzzQHB&t_>pJt>F8-=~ zggCL2wm#(O2v5c8(F0oOU{9*<2&@_HBoKgPeDC&`PrF>UJ13WxD4nvqXwZ7;WK}}7 zJ{;*Y5NNJ_LNQE@cxaGqOyg{$NK+N}D_O0U$e$0^AS_;D_eL-4PNmkA+Oa!TyKXshABre#Sr<(>O6UA4|_2H zYTIwqVkLS|R$Xbp1G(>#HF#P-K(hQxWgq#LK#XQ#m=SesuRH`+ao?4)GmWLd$ZI^t zp->REkDBY0behO{Or7DQ_v;W4!lIe5V0A_>nsZ{-@}fC_)+Np2OPOO;X9U#~v*6St zkBy_ao$)&mx_X8igN)#fR&?p1k>tp`!g?gJgI#ds_C6r24>vBhL;lNTH2za}10oy5 zo_Zfpbl`pD;lWh_RC9g1iO?$_=1uuJ$Lo}@N}`iFw(8l(6JTld4yHO-wIdS;8f&}c z`DTv>+RNBLzK84b%^wh#UOR}Kc#<=o0qgW`MDNv)*U{H&GC?f6y`7r&JR1XnHBmB{ zJQlRQ)B%{L6-d1Ss$Ut(o2x|LeI&41hWlO8T}ToH(lYFsox5{+x!=DCZM*=V=DkqN&@I`K|*N$k+Lw^s8uLJ z^UO$?5@gvmTyJbffBKc{8nMA?5{4Nd+YNBwe6eO z0$Lf32A^hlA8P@T1k{hFMSUEAV_Vlj8FDtdgBV4uT~PMyQAqDa5bE3FQ{xp54)Dn? zFmgs|>Ohq~cVTgY@lN9MGac>BqaBKFabHV+pZ5&uG6Q*3KCC%(E zmwL+WD?8XE&eg+`~ECF_^NjxVl}&+&AmTguYV$R{;$$hB{?%cgu62oRUb03)0&?I z{l#*S%iJ}>6yg-Hkd>{>i2(do?c6D>7r}#*Vt)-Qi3}Wcd-Kq*?dB!303$%$zu+1O zOuIvFYD1^~&bXKb1OCb;$}d31uS{hYCkrD2lp$Zhrx5rnmc}>=evOZY*7b9Y5C5BG zL^bb0#g;~fWb;{wEK&#{cZKEukGF-LzH~rglHk+QdRS5?J7AssGSN+YQrmhlb6kJX zA9gJVn=^3yawL+CT5Ng(S-5SfTz{gf>GZ`Mh}&sEV=RyGJ1Y1?AUX~Jt}gK zKPgTj1Dt!Oy!lZFyE01ubq3+UnRh-RSxYU9EN%vXR0kw+;KWaFrK+{}4ot(zNZ~tZ zIeO~jmFY-o$r)`D0-yC{cVvz3myjswZm(R*GBfX>a?dB|Itrb|RDP2c!<|DSbUVA z9e(ZhdvH!IlvYiVOrniVOgtb!3b1>I?f%5Lfj#7?bFi*BMOuEvtYC4D$Hmr+FyaWO zaj3@hmGuAH!K~|Vbb%}V|Iez^=9sY8EhoN&LK}m}`SdoMYaVTO^Fg(6^tXHQm^~Tz zn_0EYYFf3De+T&HyYRZ@08$>?a^=3g$1#vf=_nrloQ=bTwa>HAt_b&G?BkAN)C;<; zqad2%yxDfNuh-WpWxHlj@L|zzGh)2t*0#Pv0Kb9{_Y#E;0?N%#I!r$h#7c}osNrvC zZkj(^0jvkk!nEsDdwa^e3|L{-bBc%9ydY`o?iFcS-c1=qEjnakp}%`@9);OrKVe?v zH35GjcM^Six#?;$9sKlIfPV4Lc)II}mh+yKLP};X2*vK!=(UQRjrVgbvEi7~0??F5 z#eu;WwxAz5zG8?5(f`VgmVz<&=^xnKrU?}FYx?Dv=_LibZJIIST1T z{Yv+jW8(Cbdnj<|mDO6_p7x;fQA4;$kLzi0N?xk7%wDd_r7s!pNeldE9VYD?H#)(X zsYQGce-*4K1Z}^&__nq25mp(3!nYH|gucD;KSH>(K)chp^Y)Xh`)j(q##E!cTynxc&{Dz)=M~)%g40=51Gz)?1V+WYtCQ!{o zZKjI-r%i`hBbEJM-PXDVVtP<2I`=1cUVyuFc{iQ#S@ba8H`ZJcj@X#~KkFrC}Fxsa0*44 z3byrMBu>WtRx+{v9&(4h??D{pew|yKR$X*aP?3af0SpvM+zJBi1$eRSz21Ux0MUO_ zk|?vE$=HjGJdr#`{?`VUvan9aQ0=bt%Uj1ULSm4yaJ0scw7zv6r!HXmROr2q1)rG+ z{~QmF#jXaObCaawhDyh}cj|ULOs%P2@!_jk%?YzA)wlTTA~kGGW7ZF!sBWK&cCh9n zcoU=!Z*4@imR z;3jK!`eV9Zm^Igoru~}9(~C_EgqATUhzsnp6lS*`ggm#SLwIssou ziE{x75!G?ix(qO@@0`7=0MYhGIYcO(a%GYh3dw~R%P^ysz46b7`5rqn-u$75%n#r; zD^SeERn$*F4P%U)dR%MjS3zAR*pL-}gpk6H&ov02QUD|{c9BA_j)aj}RyJD+m`j7q z1b=ZsP3}}e35~yAwDvdo*TG)DVkGD6^i8s_b2(}~|RdJ=8vG;Zw zeo0nk=yTXTTT&ojstDH4U{E@RHM(+P7#Omt^|xRxo6^y=dzP>{qoj}!IzS;9sDA_> z{J=3@xaKi|RYS(qr{|e{jy|8t4jhFPx8u&8ztD=Y`%c+MT^MY%Wm&~U;fT8!3p|fP za}{^n7`N10DtJVXb9a_VxNHq$Z(N~D$-de!JL+4t$561(+HeC?v{ap-cgS> z=;7!P_cmaW;isMdHNkcB2ZQi(-8qr{&5Gf5-!0WJ&5K^qLWzJuPB@9{eQ@IVs=#(# z2C%YYCaEx6^_haeTG6 zU?r6_@Z6;GHBw>sztyG?k@hSqwXHpgY!*Y^&-){~u6gP{^QSl81d);wi&IXc&{07+XlRc^Jw&2PQ}FdO55H85JSd1T;fza-NUv+0*dx*L$b1 z;>`QYx@j^P)Ot!B_GxA!yw*kwSr4^-RFD-kW*3+vV1Tp7sBymH6=((7T+q;NxjT+8 zqbD!{M%RbGHn{bgcUJFikrPPBK(&?Q2I@K#YL6QLdtma=>ZB*MkhwRKj}=~Zjzb}9 z!n}8|nQWM#^$7%X14{xgog@A9xQqS42G&c_)*$8VK-<3H=IBnt!)q;^N3P)D-oKV< zIB@~2RI{|Wu@}IGmJ8kB0UQFXw`EJSjsS=9D{>RDMWSiVg#`5Srt-2AGas~iYn>-r zs-k?qU@2VSMv>yM)WSb;Fb~1!+D8EYeTos1Jf(nZpLF(LJvec$Gy0tHsWlRb0VW-- zmCzfmiXJgLc}_lzsaxNr$(e*tE8XhRJ$x2@Q_1%lKRY|T%6#VG{=*y5&Tj)zz&|N; z#%_R!2v*6Y#7wD#GA4t2NFnMICt$g%=ydl{y>0ZDqTi?qYe4Fs`3kV8`QY?GJ$(lyk zA5uY%Cq0r#N%$%t7bY}#zb!}rWdPjEkB>@cDm&8F#5h3GPE3YVvK3HgrMMV0-i!tG zDb!=<4U7-iDNln)+6GJnAB+W7+KRUO*R1sEX5>nG^N;^t>c_DRq0yzs1x4eL!oYb7 z7Ox~+jBZu1DdUwNoF4Cx>Weu8lGQpWhh2#PT@wql&M zNWQq{?)s+=g?n=GH_x3^)i`NYgcvmo;LiIiRe%6+%8bNL_EpkvX^3iB&w#cPkwMh< zhx|Vc8E2g6rhTeIoq+ zH5l+hvL!8Y{;43v(bVlP$UI=ITD?86O5>+U_m~(l_XJII^f5;8lu*KT5Gdh`S^}ad zNhku#&2maX6s3nJD^6?%`h31GyexHH%F1QviC@@*lgSHEws{~nyhnlKGJzNlGKDu! zD$e!m6rL|Gu9s)JpY{wY>IO7Rt!5_xX8U)wLIh z1czb#xRfEHWZ@_=Xmh=Yx^Hv2qLW3@;Xs(2^-a$y1Ux|VKCkT-S)gc-XOhnV3E0Ga zu@ZwAT6Gt+vAV0vh%ha0SD4q#d%55;z8aiEbm;3_vb+3Sv5y2qIMCS>e13qShR)93 z`)DIbr6rEl;Fg)4y2Gi8H!P@U%-q|C|4FKg&40+_X!ZT(aqf`}!j<}=yd1e&m)HV6 zG`(rpVwYUXJD!U4Bmiv*_`bBWm5$@u--^}QPizPy0ww5RUE>)p4pRhCj1?KekrZsh zl4MZsdxAV$ehXE|dySY^zz++Na?Tch;>HVofv4JOFx+=F9t*B4hGEcxC#!=B^`v#YkuVr_*XKk*x zV+SWt6?HX^JuT~u45(^jn|Z0wnD<%A7Fk(;kv*u zD-ZecLb?(Ejdj{-hGJ@h_CI#-l1 z8AM>Dw00Ou@6aVfBj@EX`nN-hi8`KmE=-UGCfC4lXDBUUWBWXcIeJCG5E}CxG$KCZ zWzQ@AKLBR}VeTW;>qT8CgZpb8Gn`EJ&Z9&^KZ;tlyP&BdoNxrfpe-kal#0r1OF@FG_P0qqsw<7nnzQE|NQ+g11EO_j#;bQTgtUMmXZ09g+(cvyj=#6 zb#Z{V6D_{ExY%4z375V0lEqW{2Ft-GP@4;3D+q<&7*ST9bm>^cDxmuqAKg;6fKj*T zJKZ`WS0@+sPwt_R18l9TIo6h(T0%*;+Yw|PB3tctOab(`(;!`dqKa{EpkvQpmx3SBc+j)ACok?v`o0gikpI5%6WkW|F+C?YI`aTHVq`@%nU zZqcYkDU6N==k+WRa{Fi%yIyr^$shOlg75Ww9PGZ2n!zN#1{#}?-4+P9xA*7SlMkoGfkN%xc7mh$YcNzTRBw$J#)Jym(q1ywn zlt~Wj<9k_3NeeTNNWC%@4N&E& z#nghcHn6^4cxf}!89+2qBK;=wE$PTRHYqa#%I1Zd)aBfh5G5nF-~h>Rc{~0>!y>mhOw+AhFn!_LuP?bx%U3o5 zPl&-ge^8d`w*%9>cjq1{-9iEu3qR939idb^V~XW_SU@^(nzou${mbR8E~eB*sfe2! zc4FV0lvk4zc^fcpPAa$P>W@2FCR2RX^0z|qT2g9~biQ6n8Na*g7?_4qx85Gd>NW8s zAKtM-dE+k+jK?!%ue(&DPP(Qu(Q3c`J=mSXe7eQ!^;_U>C5JGgWXw>pz6ZhRwyN$$nR z_Hhj;yo*wGe%hjjbI)Zem#=bumpzw&HSbMW@4I!OLVzC0Y82D4+r{IRWWmwh>bSO? zJl9jf=TgrIqb>RU_;r4_=L=u{UE9+_hWmNJhM`#_{#pFC$rhn?^)eoF4o$}aPgwel z@ANVbJN$^%w|)Aou(aFlM(H=*V82DG(6fK!;5N9gFUqzH4^jObS>M*pkQAiecxh11X(cQt42W5dK>vNl|l9|Slf2}cb>)~ z$xFO2h{aQ`VXbFt4_%qykx2J(Iir$iwzOK=t zT9tB!HXHcEJY1G0fi>tV1&@Go;6cqZ=n3lOEfmlA933KhH+ns1G?0aeU2#1LWM7DR zgahefSBU7RA`y$v@ee8G-&24OFNv%2 z8b3%C3VdBKD#_J2G9V!j_K|7H%Izb1dw)4=Yw$QImfsgA?~3oZH|WqSPix2!N)P%= zFoh74{NB_e;)hKU2SEL1oH7*hmNHq=IBFha+0@51!-b)Q|7JL_Fv*eg)*z8YYI*7l z`ZPX zUiai%CRnQXzlMt45aBIDOh8`IB}`<$F8{B>yYog+3a!0o$8|cDQaZ4_qHYZ>5!{a} z3kp{x`7^U`j?eX=|jSMAN`3KKqrx91kukABwLa^wRh`p zSFhD!XqV!6pw(UR&I91Oa^{A%3DUJ;{V<1LrN5{KeEBT&2>qwub(UsPnnhjgwkckS)=Be$F>>od-9l+Uqe-g(-0%QzuT znO^|g!A?JPzC-6V>=~0t9Xd|u9$(CJcuUP3cb_uKuQEp6xHFPNM_IL2Iq<0*G{vYD zQ7qnq6hv7xxqst&^J@0o6o~8QY?w-sO21Hv{nhK;kyX6Ie5L!-3S2!Je5(&T!34f3 z&14p%H*^1$0jZ$?k<(yQa1<1>l10+El{;IDfOHeNbHv+YNNatbv zK5JjPOg5795WkG{?CUhW(V=?RvI%R_DfKpST;>0|L~`);<#^Y0$Gq%%xhH_+s)UH? zF0zxE&sVVUyT5#<=pZ5-zE%4D4?#&p6%Q7yxHLuwOwm6;TKq}&<1}tO#IAk1xk`fplk^}_jVD3qkv#5-vv_U>cjltW}siMp;UTKH{=_f8H_Jy2BQs=^?z z7^}q}%nw~4Gz{*a5zZq*i2fUpt23B@+WVI8<`VgdCbXvTUhxx+PAZA6$0pq4wf@rw@0t(YAv)S<3=}AsapW{-7n_HQ4ipAgPX&2ho#qjN{ zCz~1nncWsh+)PnAZcf4_M?(2C)jT#;!&jkK05MtWv)B@m@7g5<( zb9sSmZ+Hzcj)sF>RikT}rJoRZOJbfLTs_!y{N00R*=_uhQdPhC1(i29g@BipIPCZ*_1WjZ0EtepSIvQ)+yh2x zvMgZL8%PskfGAX#n}XaEgGgb{s-jh2CFq^l+zhGy1m;vdSK%+WsNst1?y&d3niOzshH(HLMdcSJY3vMnYbXE5PiY##uqomyej{)-^ za(2+b*x_ajJ}k%T)%-heRLv&d95wv|c57R_Q*D#)+O=C?(Vze9DEB6m9Q#MI`z-eF z{d)r@ZNbXD*v|jQJlkDBsKd{p?Vk5SD1Y03fgLRXC zl%#dlbQc$u%DH+Zq);&Uhc_%}QgdCCzyQSb~xKwr-lOYl|FQ8~3 z?NfS9~|2jYa?GE0TOe=xG1D0&(Wy;ysAxJpw;GbZKaE?EaM88Puf(q?mzV!9;Wm{?wTek1% zMdhcfxFp`nn!+#D1rJSp^r#)Ut`yO|+$=7{Uu0w$mp0oQh&=QA9Tg&B->PjmItQ%h zDr0W3RX`k-hI5_`m4rdWEw?T=su{fYA`g_lAN8{}LkH$W zRn@x%XIUEx<@!}%c1I7|$xBTra_IvD^*65U@bd4;IfZvl&&G95cq-i-&#@wrX5Csq z=l6-LB#m_@lmb~QcV*;W_B|oWRSeY*UTlF{j$3?S=mmhH&i@m-X8Yxa^fO8H#v&V8 zS8ka1FEGE8a71NhRDhQEfqRYEl1)a^my+r{v~X_*xM1xJkTtgpwaGjLy2?BpO@sXK zw=N&@@Tc=@Hr{L5+n5WCJ(fMq#{ViVwZU&Zr@M;liT|B~^J$AdZ?H;UU=aV3cK7YS(kg_|{aDB5C{$ zxSH&DTaj4|PP2vFc%g=|>Ki^Lax1I}rsleT$(6m|$TCZ-wni_#2d>S@ln)u8P@|2ofSK3Ll4s=hn`=g9C{20IdVaaIvL zhjg5!{rz1>`bF;nAANMPc@nWfITiSNa{HTJJNvfcf7Op*ZUtG{&&Im8gz2k!beaS1 zVdNuQ78)p~=XEeH#?`&(g~MvO^_wmhr2!ZLQS#S9jBc}yO5N+PYWzgaTX5yxFfFm( z8PE6P^nSx>Vx)FqYrNsNB7(<1o%7F}r>uf>38KVH*HM;z8>fU}PpR~cHpHqOx+a(J zOPpn|BfwdtY_wC?Gw~p@fntzhYd#y~g}r4(*!9u$nuk}#vvS4pf1u!)5DMUY4r2*j zC}6>boOOY%rTeB!?czGV>m?XeeM9HI@oMTcY3ALhLgKejgP`;(b%=JzyfSdE98OT?Vfh9YdkPSWq~xcZXFw}7_z1%r?a;w#Jamc{=J{__#lrsMV~J!Pg_r8F z{&bssx(N@4wmzbm()X$eaVVZ%B#F7sH#$&WbDmCLCr{)!B}GOt5=tg>Xh#wlfp*0@ zuSuav{Kt7IVx_)ir<9?fYqej6VgloMq51{lO%hCu+f}FGZzJ}#58FSEA^bXmFcu<_|{d#|?u)$DGTSHk+>Vy$mJ zbQxh#Yp6xD@c9J_e6`=ivbz$DLB5B;6aZP|#C4RRfPJ*??{*`0#nhOPTizg1wEOtp zr`FY>@!_we`xHKUCb*y6Hlr4R#6V5)m8L|Lrn>v1Z5MKZYq>6=azs7SY5qdY*NTZ zW!-sm&g&`8W`vw01#C{yqy`!e?~z^bM6yb{ZL@~&zaiznnvcJ|c}O8Ic1*v~+B&6j ze&4+j%e%N2JD?)`am%&CB1rN2EIblShW~rUuAD;8GGe3hFmDI z_x+tWog6|K?Wp*(A#rpn{tf?ZbkBB;di#}*MEK4!w^*{uf~yBduXaeHI#k z%LjGDr##rMO;~hea-y@Pmb@WS1R+c8TfL!j%POBC1^APitwAFXi_bJ=`A5N&;C8%W-+sSU$&khdeCr+vvB6%mCKRs!%xKvB)0<0<7qt~Ok6ryMweQ=x5NDNC zKngB7r!@Sff1>^>%^$}UoEs_}Tj-cA_Nd}-0XYc;r%xVe%dI-H!zt++ zoRS}EaQgTyu3cHT^W!!Urdj^fOPN_@%5R~<%tlI*)9R_#_H=%YngU$yjL9-pSPFUA z+PID*0T=t>yDd_^e9&vw`QD!~Rm}hexP{Z}E2GIHl-2n)b`heTDu^$oTj) z$4|a$m(ppW;DUptyJxQ0asJKIiip|Cbou3Vgo{{v0d^TZa998%N%xcx{o1`Y9mVtl z^L`)=*R$esqzWciacYniHdr0^07jInGdVx)@T@`3k&z{nUDwo8N;GOCGZe;h++cEC!MP)x@VT86KDMH(%$`G0epdg z649r_ES+H(jppa}V(R9g`AMo7umzxVzAF9ACsm*X5(iD|avrOeY$ZA}3%ig+Z7aSX zIwp}x0i|{P0l==YkpK9V-J*iS;j=>!E15@{_|09xwusC~0bWDn=VCRi`4tC}v@Dzt z8N~UPs+Q-RcUu+q(pVe%H?(dOfP{~OK+1BA=(@_FtdO_Q|Fkwt&g8Z8m#FRibfCo_ z5gCk(u8_5vy{k$2V-j>@|J%svP7?xa)BrKSZd|%)VYlrIPq4ZHZt09kG=|}@7cA{A zlEj?;(d1!OVzF0cXLCK5^RPX4|@+1M_hcAYVqLg`rqo_ z2mUjC?DsoPUW&A$bAZZS8Ec|+zIj6A+c-V_oo#)H+hRJ&Ow#Z%i#3_=PMvB3@H>@B z<$vjE-b=K@4}a<|o~T93Ovoeim;WIva{}9XlBSv(=acP9Av5w;pK5G|N_;~W56aJg0NZl;THKVJmm)7!|xLs~wDb8om8Dkf^Z-pb*ApS(eeqdv( zXKkP?s|W4erFWcixy*TX_|IC-8FVeu0O$8!ZIV!Jw^VO(IZI&^>sQlgEj-4U^^{fe ziUFBdg2(=y9HxvJwZmB7mMohEwC(fD{KGK-ZT~)qEIteBzZoZ_;KfeW;Y9-`&Zn3E zG7EbxEqmIuw<{$;kHQ3vHIadl9l^TP_(M%V1XEq%eLP=g-{q$tcBkQ#(Wsw5SmjP= zAwE^Gi(b|99nJnTf`an2=nTYRjSYCy`pC3>u7+)Y19_bAaf>|M9{T%EG zN^D)#LA?{*ZBTW%=fs0aOOxM^wBqc|hm?Y&ol3A0p)@9O4_C>ZM&|d(71VyBNZ@V@ zgzi6`t^*Xr^}d`IU+a%!C^W)N??u34Q4n|It%)d}GpMOf@wv=eUqrAr#OevueEcZw z5EJ$wfL^ot+#g%`Tcv#uI*{&|S4Y~I=MA=C^qDxv$4`%II?oRIBeghuB*mRk{K{tm zUl4v%ICATf`lk&&B9_|nPLCUdLXGjh#ShZfvPIAV9ndm*_3tnjyc1F-tJYKccxU{ST+;NzUwMdefoQIRLq3 ziWT$%4QuGig>6~Ccm!wFLCcp+@f^QJg)Sd(_bKZF6V+5SXl>h*j=*^k7!nm@iXQ$i zS9l%bAsU>Lii}{V;Prs+iI&o`Z1k&$5r+IC&zqZn2W~fvC{jD@P8P$6Fn%?s8yaD{ zZrPh_VX?P4Mw*KxZ>saGCJTB~7D@H11IH4^*wO!m@d0zE`z4AolfRCq=O8fiFJd>X z(oV7*hw|j444>HG{bP>Kj&|29Ai%<`CI4dph(0h0oQ`h8A?1`Kkk}c95hq@PG`s+h z-+z<`aqXaZsNDwOfJLV%g;+z<1cs=6t-4BB&~;zH9?Ud&E={>7`8iNwSb=};?Hlur zcS_)^olh8dx8SZDjh-5G7X4zf9fS;HmXW*mD+ls~U-=%Rn`MId1}!+|`?y$#twgQf zXW&!^lSE`-B6^;d@WYQ|WMSV*2icq>xI?D*HN%^h!1>*-I-WkoMJaFMQp;(Th9}iN znHH4`0A&X3Xqhcj&I*YDjgAqlCEx~{7*q%g8$14PK$~DmgF%C09Q)(yDRfPxLorpy zVKS+HqV(}a_(dwuMJVGrhn&-3_uT|ESASWJjDU=Lcy!)hXm$baxE=ejP;e7J0=}1} z_?*|(W3z}{D-Q}&Ra5!fPiQy)E>UGAe|7z0_&$goj)lAS{HTclP`AFKq29%vdGWiX z{G5%JGv_KnQ#iDUx_S?F%*Gbppcze& zd;73@k=;8@{%G*icwk}f?K2t__2Kj8_!6xb?uR(}9`*V3M(~8Zr&j$OD~V;8`chRO zQYq)A#H(Ctf;Mf?&mM@2=gPu=~6o6?`lL9c6TjTNX8xWRv6OT zp#H?wvCIR_t5l4Nc}!X>n#;^$F$Y+0=$XPg;&*zr7mJdmLGdpCv^?C3}cx?{6KPV-ITUM6-dNuso*=IqDG7L7fufC^1N!HU@qG*c+c zTWZ0w6LATSth{b=bez|06*r4&-BG&2-iZz9tf=+ZsEan!*l+&6ZT{1ro+UUMK$s`# z5nylERd?c5$)$|d1}8*ZX_Z-P?nZhHWh?#v>}De}rrF;aS=dl#1%KFKaKJB>t}E3n z@9g~}{C^sn*w6rr(Tp1LD{IZt3(!J(W%f%#oKU_lVdSpBD0KbvEER3nf4PtMGIQ`M zQn|W9?f>nf{|G9DbU-Kks-PfrVqg_E)}g`!+hlT@?MQSXV9}-LE~UHfk>UBr<5J17 zLji;F7OH1@I~r?!zZG6Wi8K)iFy{_nw9X84Welc&hmCH3$$xN3aCaW%bq^W5k?KQ1 zaBmr>wxSG5v6@4m8@T-esiXwP1)3r=dIECwPPBK`u`q+Ti$Bhe(jDym$JH&eiOPws zqk{yWL#(ye5RDmV&iy955Tq70i4bXL|MfO9-rRNR*7@hj1sz=+oZu09{x1?1dX`Rg zUHwFlz?-9Yz(P1*qf6MYP;Ty34SIcdhW6Z}DQJRO^7P>&g}l@4F$C|H8?G=G9ubh) zTs4e$kM$wC;Q(eOaxZ1ej%dcc5LyC(;+AM@$iJk?IAVAQFJCqD+>rdzy}$i(>GqHH z6|6GR4gf+%-?}bZ_N$zmHR#T&d0o-*+j+Fqpu<>4upqBI5k^#C1go~qG?5Y(-OdlZ zeauVuhc$9>bAJdtiB)57hmJ}o_|y`BY(TC{71BIYB^qC#u4JVYHeZ415vR(PRZ#}CD)p8C zd!1l1Co(hoxGB&=a7Dz%-E2-xmVC0L>L%Ab4BMLyDXO%=hGkp%^Wi!VE=!{~qxS`7 zil}X-Iz#*gyEnjtZnvirK%{G22EQtzdET9ZMD}?@X<$#*j z#OyOOrC=k=Rv&Bk0Q{IholcIx?uX$w>%(OcqO_nvYN)iOwwUjlO&0i zvk6PLN(u>gL%V0CHy=PgfBo`zPPbY{e?E{zCN8w`a90)#{jY1T9W+HmRs8al3T1;K zJOebDwIzb?W9d&o;zb?7-8Lt<@3Z+gjX$Uge5ddlv%@TC9dQLSVn7+M>d!zFyq+&$16?bxteOzz&5O`o2C8F86%UU3fnrMvSkj1vYsOp93d4>n2L382rWvyxU3f7 zM|_2?pTm^JY3+vJfH&_HguxcEn)}-H_ML|Xw^18H{fDr5I9~KSvp|&U>A|+l>`5bJ z5zJv$A6(beNkKx@f%4|m++3+b0+I8~e=~03fN1N%`m%1(K}XAv`OazAZ*ztVFFP9Z z0nTF;Rk*dkciwV*5$0bsbLsid)pt|4+!VKb4JRR!Z~;~s8K8+*Y?WMIi>aM{^_n$# zDcUs7mm%@rr_uj?k(B=HVgf#(G}t*YRO-_SF^K)fYeA5*e_fYRk^JT4KhTY_kN#pv zyu2om*a=XY>4s)gHs!eWwO>gbJ)AvQC}Or~%tGnXT=;%uZ)C^$B7Y&YEImoCH)<1_ zOQ-%$!2c4VP?`Mc@p~kP3rxN=oye9u*TkS~MQg*sa+6Q&^Y-BbRl6(G{!U8ZFp3(+ zfa|GtrSn-^PrQ%rROPH^hSBTwEJ;JdUc_y%5M-2w$R{I)v8dVebC;Bgb=ldXR-)T*2@HcjHA*CRCvN*e+DDcu^$9nJak+7(*W%c9{su-_s zNnW)t*8)BRfv<42D$Q#iS{NRjm4WZ_GCz<;H)CqfV&eICMh4uH`@!k;Y3D}HwtKP2 zBk9%32L3t)<3yK7cRTI^eQ6GIE7>4=k+_wGQVoQlqOT#XO@*SUT2b9;nPHpOx$)oc z*Krj~u1B)3OdA3#njHqJEnt>L%pQhu%FYNR=n#`#DdJLj~(r135reuIOH@2yOiK1pbS&I( z!qlgKT`;6wvVx^n-F|;$fuP%su`t0?X(Vl~h)uHSJ*hl`5wXjWamh9&O@I_W+x?(p z$)yN=7Y>ju^<i_W6wGBPBSHugcfb<4j1xjJAh|c zNe;3rzB1q*_z5bC?zZsMfVsg6O&w(^^AqL5jO3}%5f63<9n&4m@>b;{GGcjzUD}PpQ^ex`=|7`6%R0caG7gD-Q<4luam39}wXq;a; zj%T+xmI0So$Fk%vbCd*28tOw%vNZ6<5?Xt?1jAMSA%i;mV_7G0vK@}+_hcmnK_>La z{`}2$Plk6MLW{MiW|{P_FkDsxITVHMFh_5+OfX8MtLF?5#vyb9)4( z%ce%f=o=l}n*sE$js#~jlEtef9~n92L`@+dKq)}cdE^aVtxNj||5WA**K*9ELC^7Fa(!QX*Pvo}{nah7)|Ty{4R66>DN za$b()spN+bX03<##4wSPHhmGORelk`5U$V^&*?x)P)pq(&ZysoLGM1)lo{(x=BZEe zjqy}WZo)xAGX-z1 z0{-QLp#vk65UpPlxC#N9DODL*e9Bw?V>#9`l^*2*b=ux!CUzd9m>BWA6|?px?P3AjkLkSU`GM((4n^?cX;H%&i_m9%sYbRE`@@KTNrjzqd(s;%VF=5-Hq3;@G^S_ z8`d)YA)(a+uwRO2iTxKNyJu7c^P2N&sls&&#$bH=f~P8&74S&YvCp;R3YsbspnJ{) zPdYP4(RgucI)n_=ebK0B{0CvhhWmx@giVM-s(t91EsEA^qyQR$%mRgGouLActQq^T6(?OFViu?vI8ytn>n+_!O>!q;$(3DkJbirkU&GAw7Y)e%RxScRLclwNLd35H=yA-X05jz zrB>N`&dbwxArW|A&Y#~1Fski>BM7==rxMYmz3H`N^^y|_6bD~l>>sYONJ+EdHV~e( z_e93WG>00X#?z=J-oeHs@ukv04pBBb)Mrjs2Qj+Uab+B7w%INm4y{Z_(6X$t8aJed zjOK8$?6_T&xi3sxZj)Uw|J4yh#`uU(M+2FG=^F{UZ(JUBOl>>b5b&6~9t1)lxk2Ce ziRKo9gi5kgeeq`C7ajdQmp6CH(Ez9ZM`t~oD)*BUdZ%){m?4=lc2Kg8g;QR(3D)uRe)AHMV=N;^-zI~zD$3Et7IRIPCg!LL zi;W~=96ZS5#pcwSJI5b^T2RtH!4VzKjR_6^UP$0iq8SVAB9F#or|NKMf~W=iTnb)M zz~1L+KOTj_nl{B_88NC#s)o~lyuv%j(}akEdB-N1Gog9xcbSg=bPwtBVIq!qvA>oY zqhoN15ZP$0aASm97mQV`owyf}4=%YkU=U5uJc{SWpH;Ezs{)I|00D+Sf=%VgMn}aQ z#>QhGDZQ7ZU8wW`ClT`cRD1yk_|EOII^d$PN;-IgZeX%$zV%Jo`5|nJA#_u2a%;QA zD+m%)%?DkE=v_XamQUaxR$^(%Z%}`cj+4jgQcDN9^W=pl?FI` zU5;3;9`SnisbS}SBFQ@J2Y5kE_faETxo)*Vyq)!QQFrV@@S0^Q;aCe}=7IN5fTKglDak zo`R-4QUqaJhR>Df$)uR!8>6RlTZSw{@YI>kD^6W2umXvI$AV9kyciDp1%kDYSaaTK zOxo%I_y$gSf-S$D`ky=v#E0lW?%6LXSs2=w4g``Rcr$H_FBOFXPiw=iM>P*lX z)()%aGg>Lv(j&wyiLW=|ye+I-0=RHamCK4g!vVZXnZzmZ-Mh?wwa-tYt&Xs+#3b)Q zQgEkcJvUOA=n@_f)-cuQ!p3-0NN}jo7oeK#E~^mQ}K{N2fYCMU&_~3iM^;78{<;wY*Z`GL1A1m8PD}_oiO0%u+$Wl%PTj zuLR_)3;yJN0V(E*`!?MFX1g#8Dw4XTG@uK?lOQgTz6ayR06##$zpn}$HbV>)*ZMjq zDKG6ij_-`Q5(k~3%$;H}xB&8sW-{F}0ooItPMLM^jf1OiDQZQbhgr-ipN*EaIIYHq z=;;YH)WcZYu@dDD6`RI1qfII*sqTu48JprfC;CPW6As-zL+q{WjI;G@KcDA}Gp`1| zTd&p%^6{N_v|#$ouxk9~HWE_G!0)&C&8Bty(w^%EGibnM4Nab~~*dE(@k zQht69Typi{fKzQtD~_kkG~t{F4C}5@OI|oBqVB&x&Ww%Y?0;Y-Jt2lO^vUq54k}E6rtUTh(sTUFxbSP4M z248!8U}b3Z6zNZMYhBNkmlcb;N4fgqYG0@xw)&Mpk3kd{8Ojef_HJ`#8}#MHmL>U< z7IJmH_h)<{#N^h z#{t+|b9!Ltp_UwV7Jiy87HjSN_7veq&PN(a>YbosZI8d}LwwEs_DY&OIIDU3RjlhW z|5?`|4GHIG+;C3fa7MN#?cpjkM0{+nOLwf;Z0k`hFpOZ|IugRj0edw^`WK9@yk+>A zZ-bsOZZsS(4cQADuKZt^I_hT~PmA5W%;AYpm(d3S;O@Ea;JHwBB;^~$9k!o~0}0Tt ziX|kcljAN%{c8w;o@T`3lVDt^@(tX?IhI&cngouZJ5l;^g-`jDGdpp40SVsOVm@dI zonzV%LdgkMQJy6jllBLc=i;JU4}=zptH%+K%ih6Aiu@UX8<7BDJ_Qk_#%jyu_Ncrx zHS*SkM=B#{*&VP{@b_d~iN5KV;E|z5kzGEf+7dm~=1k&S!jHpStByn;O5)2nw+vzQjYrkCYH@RjT<{HBnUMuFB$H-&kE z*O&eVZT;O1oDoL4C)*{PC%PYcUcXXR@P*%M8T^x#E|~m!h?j3ajCvc*kx2zkdBl4-A`CFT?B+20=mL*>2qxRKDU|&OVRkU~F33 z9;1@shgurSuB}xqDav%&Ya4h#%9I+;5LwWs+76Ec656-srY_+rXyyG))#Jo)x92J~ zBl*zj>T?GwvUYJ_cwkv)CyhL|%|BM};MBzh)ue|tcL%6~RYTv}p>l~mDFx_B4KB-2 z%s3cH`nL8fN|$e}R%H;6)-U124zR!yQ-1`F0mX@W+RVPW%d~imRp)L$jht8)>fG|j=+^G|u{ zPN`_O{9q5oPC1fhr|y@WrUPFYMFo#No3wAGGsf%=k9R|34NgA)1?lqgDWK8n=^N z7}dzU0YKFe_ly*mbCHFgP3ROBQ!2H*hKLb2+n+bzl5Nz*&azDZa-%&c$(v0B%A`># zpa=TS{ ziUc^h?oCbCzdpqDx>WOWbQ(e5dv}4Wv)tQCF~~_N_JA|=OVLEST%m&FWI&(0=Rv3Y zgN_uSCx_4al^}$vFQYx(?(;-9%JKoa&Przw-?0GZ7EGsH4Ae1)guqOs1}K1>{t2^_ z08uogY44z18|wy8XvLl6_OV){kf^eUflrkH%gR)FHGJ-0bOzQkP_TOx4I$F>x0oA6 zudC2nf2-CU*LfkLJmflY!6*$5K*6;pi585Z} zg$eFwO2G0Ddmz5Ji1NF4v6wIdJM4_vXqDVaVFo=&D5w9zLVD18&56ZF~an-FyJI zVmlIR&z%elqFOQ-of_{{JS7TY#z=!$)_)(e(ekz8lX@Aue&1OKt-6Kvk!K(vW|Jv` zy0#lf$~V-e;Q?LP*8LoLQDz>LajB8>4-f|gA~T}iViza~k>WBr#4e41FHJY3r+w9Lo zXcL;WYg__+{Oh583+G&~->~s`neHd+qLty;waRbT^>R10N1uKl1I_$$^ER^@E4`6AgB_sgaAlwg`rN+i=k_gRBj$!E2$1`r zFS3Bu33;tDna%z2xS!yr*Hw62W`#j37!tXF`7y|^5QZ?6!uuBK)9myK&NjmcpCi9?Nxs{_U9xQWb1QkY5Fxc>eO>QD zM?va%G*n%AvH(gfF^)hF3laLsgCe_UiTbP$|))1s4X__j$&uFXMB`*BQV#Ta<&ahrs@HuFMo)(h8CvX_p{8B&E}xe#wBs-|K+ z*w)Jsvtj}W611V~!plY5ZbRu(bfx$~iBL!b7jP!D;`)ic>>o zMC$6L4WD{Q4a$HF6SgS!k7qKT9*&+hlD!;Dlu-X4$ktx-J82jxLMq8&X!3sK+9$^Sv~xZ)DFi=HG@p*lUO4B1 zaJ$*`+Q!8NJ+04tXWR1d6jsl=lOV?YwEuh@ugcVgE4DvB5Cx=BfNF@%63Kb4=UrhW z=2^4E5l_rhByUakTEqu|n|%Mj|1lK)dvL1|GGv4R2EW453O8Pm_rZ=Nx2N)4uGK5u zDvzqhhe^que@Sv#GyFSZC@O<<62{G{yyIsP))rxIbb4|Xj~?nsWA}hNiw~C$X=Wm< z_ym|aXy>VE>2|IDxu*iSJi`A5eE4xv$5g8Tw8tJv0P$Y-glVurRD(^Wxb`ZxwDQK{ z@0KYO|E;&19hD_qmfkWgORKjagqp4oxUgpNt=nuTXRrVmr(br9eHtvK!W}x74}C*M zv=y3zOpmhnBNOx{CuhdXvT5j@KyG&lDn_Q?ucW;nWU7k? zmrK53qg4I2FRpmry8nMdyG%nuVd$91#(kcGMflW?bTuiqtUjZw$KwAML-{HVA8_bS ztWD@IQY#-05+TX8yG7t2(-nT1G#RCg4wi7l?`xn>seo_M(@PV9+3H{81Mm4Ycq;V< zbj`!pRa+&ZZ7(H;AMZlZQ`=87>jnYGytL4e5K~Daqz~oG!QThoX_k^^^9v_=;5wB7 z4f!HcbzIB0&T>Z2UQDN4l6q}~R-7%y4_qcPPgLr2T{bLMq66ON=B|0lOY(Ks)0}fB z1#jI;g>YMaNZ#sk!pQp{pg%i6A_@dwIBwdG39SDJkXx!)4#|whw2SVA=gd;+2e&Qu zpBVD-MPDjOzbiIi8BK&-*XkqFJ(^JsVDnSN_Se}H3Q1GyDSA+#k_wWRhh%H+WHoC2 z#w;64V>x|Q-gJ7=pQ>(eq1ibYl_(~)!abU=d?8}&#jyDJD%ZA^Wk6kGyG=rD)e&%r{vb7n#*$HPQMP`d%CRYZ;2PkBN z{tJ&{DQ~fB8bpi$!c`|v81fscSi|y*zjo25mQbX;_2q?ir>K5csR8;wo2E8{u#Gx- zErFr+KsNV`84dX5#~pA0MaXgk{gpDvt6QZ+QJgCQXZQ&VQ&IW9`&!ckHPCc8Pz&i1 z88mAu0>8jEv!y{hap}jW5WQ~h_#5Ot+wv@<@J9oqF59MSO=c2n7C5J_KtSvLkKE#K zuwhk}SjsQe{Le?DY>Bh-)84s->g4}BmPg*RDJWv%G_Q@$e7X1Suc|s`Ns$-r7S!`Ph z?jK@!o!Zr+{+e{ORG;1zH~A#7hJ+JDx$(yc9)Aal=l5MJYGr)wVWbjBqOvgIgdo8o za^V)Dh;Kj;mmn+3pavfMy(_U|q<7&AuH>XVX1ZTMWUq+gcw{AJxyxg%zdp2yFruos zq54r7v6jE~*)&&d!5cA@V93Q%p4p&DodeDVB(L_eo18ol6u4+jES_LQAKjove{GN} z=rYh)hrVY%e92+ZhOlR{C5?1?M`BhBq!4>HM^IT5uDS* z&OjA9)bl%6c-aMo9bP=HkfZ6XSQdFKLgFoCJ}CktyO#949)le=KASBXtadztMbq2R z%d&&B5S%{nfdpl%dJ4rwe!kmzWwgw@;6jiRDM?VI@9;+Bjzi*wE-H(>u3*+Kw)+Ph z5vYBE-ghtY*SjQO3PeO+stTplEfaYwh*mS>0tq=VP zB~`3bY=T`SBmjVUwUY+YWmrk2CSW*8n?IyiCP=xu2L6^tw9Kypvhif1It=#rgS~BN`&2 zSN?MMO93&L-oSz+ulP@n5@WVZbvY$sOB>5!eP# z&c%nmk_pkVM?wmGn3$cF${MYJcbF{*W6HORq0pUn*Ex7s;K|qJAZM08Nmx7pQ4){> z7yO>9Ma){nD!i73^;rW%%1-$1B0^zfT$yh;qKuQaGyOjSMfvG{1JKmJ=bN)wa^tjF zF0&~iCx<-L8eIz{CmEh-ua)ih_5iig!q%qr|46ESrx5{cA{^>kyo{F&`TPO#tXqEB z#bMJ59^O6|HogFPF}A}s!H6;PwvxR|)lOXt5bdREbV}Oygpbo-q);LA$*ih3_Jg8e zfVj{N!l2Tusq)>UVkz`mWc4Q~(q^9|@5Z0+!Lfuv$`jMaAEjbUI%1>59Uu2}0-su2 zI0U=LP07}vLEuTvdr2NJ1$Z5w<^^`7gPobQKdX}vGPkZ(&}&&kee*Ytg4a8wcfIHT zX{KlW3)ngHNr1^YUx`KzWwIC(8PFvodo(3H0=@u>+uyLJF3ES2zWyA=3$n5Y!mIxBxLW?yt9Y$M}w zvCmlkNuZ-g1H)zsdV#|-EJFl$btPHQoO$qS-htO{@a4$lS^dIxW4Qwo+A*rWOnsmy zKhyRir$y}46&vO4KEpD4g_q)QSLv2q2S2pce^)0?IZprL#J8c!kswC_=6dgR7uOYQf7Ar6^*N zIx|*-Z?ss72SB4@dxjKJHgXH7gf>W`1h`-+7E11HJ1N}JC>QBVy7@toO6835EL8aY zDQOsM{x{fXb!5EGbzt zBsy$ODIk#Z3OfLh$$pDHHv((5V2cy^mjhv_EEaX9`RO8f4xAoW!a^`x5`{!gi>hV< zpC1nbki@aVN3dQ(MD;E1hksyWGk|Q#Rm5MFgf{b&k5*K`nRyIq)RzDou?va>OCh?F z4=5#KiJ{5T4X#N-*a-V6LG^{pw)(5Zmx34(Trzuhlwf#iHvLL8}Z0KbF2(d;fi5 zNIZY_K6O){)_{l}OV$khVDd{^QoH=aDg(b+EgozKI$?ellN+wp7M%CrZtwB*Q9z2* zwL8=%D|R;*`=*JvMmaFYsZ2@%E?QLqVTUL1ueh_68mbg#(;tMF>dwSHjMfi|geMk~ z=kvztA15lF+&=S7HoNME0GMK!_6{qCruGOXDWh;IYj`4yCM?Eh&k<)rf4^2||6Ttr zo|bn;`H<^hQqu{zOJ&pXOJ2&h`&xEPJUvtJA^#fX;x8GfU!ni92e-ZVeT**Di_!<| zY&vc{UZpUlh#>k$)aZjJXurK9eUJ-EQvFL|U|PO<3Z>1%HB8G^Vdl6@rXh*dGxc~L z%1}qvGLS2uUZM({`6mFny$lrSogK!b`hw#j3-c1>Jc*Pa(>@q06jpD}x4Z2%hJ6c)u zYoH%`l%TXY(1sEf_%-SD@0|N^#HNZcMPo)%1mRS}y)j>|x(S{QbTn z6pwjkp4WcB)Yr^FDIC9qJp)6|;ibyK&yn^8mFb3~pJp{KT1rGRIAf{6f#!y#2-!;! zMH6=&8EbjbDj^b&tT*GM|may(8#qk{lDh=ujI= zJGntwnz08eKO@Q(-?TX1MUxs$*p+7n1{x8H5JlmAhrRfgg3#QoG+uQw`;u}9jh448 zLH4Q%3dmZGRPP87TUa`8eT6o>b|UJc6q(I8GekSLmeP8^S;^UoE?t)}=N3pDq6U&Y zuEzy&rm(_;T2fDPEmeka20$3#B)Y?N`!Wj%CEs@F06cgoHdAz;_<+r?TdJO-A|(aw zUM(}EF7KeQW&Xa!PK}7E*#0>vqEm;N!UwkCs{;vcfJ*Qe%L@Em!G2RA(ao(ECBYmv zB0+X;q4;kvZQ@h7Y=AHYWl!dOF*w8y>rhNdJ?fNfqmui!ZifzoZ$HK$tcCa+>d5$Q zWiAdD#C6GYIq^hv?4nRr1^(D&dA_$KCsT9uMzmsr$5JccZ2nW3W6utE9OUI9Bq5?ov9}l(0LdL&&P|H6Un$)m)#DDj$M4>L%J(*v zV83e3w2^j@p%9lr;A%Nn?0*O+W3ZA(S%U1J9|L=MUi7K>+cC&jGtb^Xk9wUQXr6|Z zyoRyuJm6#twSa$*&V8 zIx9WsiFT9QqpbseKjrZN0gOQ)2m2vHPk3~Sf99m-Ez#T_<;NbarCo6yPPUTjzP%=a% zZ2wYw!^Y!G8!eqaFDn$KEMdH5~ZeQ7+0^N_S#9*L&(*J1#e9$@Ik*Fq3RG9&yz z@(y>^HHAYJs`1RS{_AO*Ne`V$fKueRTxdRVl}qT~q#$fae|BGzn&L7|l>YKVDO_d+ zIOG}W>dAoWHU{4hU_I z)!r#x4KF2MNIQq<&+Eo=YSNK=AwrQYLv)+XG$)8a`MrZ61ey-NbgVy-e<%Fm$s-o zb}k3n6E+(BO43u&h&ID1x==(tYy~;SV5*il-D#Ugf;`?RTYF=wW6Orqste|3Z(+yw z^a=b3Q$oWHkeJm6aOKP1FH}PskJ#0il#rRDoXfT7uZi}!^*{?K(yl%^kqvc>aP{gt z)_3;-e5AFQ6$dt6YIC@ckshs(t@6iY8A698Jm#Vi{zHs$IIk8Ej439 zDU^RAzZj+xA&ts+CLjo^y`yO41Zqe!f~bcm^lBkUYApNyWL*GxI8oCX1F8@*4nE^K zRH(gE+I%5bGpot7{N_&A5%)gP?>&@qzxy4jWaj+$<4tiMaeOwpWak?@9PN4ETp_bS z?k6|L?F#T3WadHmjj7S?ZMd`?HM|z4_xc=2Ee2#^p6@kt`lXblDBywYV?Iw0!Z+D< zc3!~7F&)nWmTy$(GakfL1K`R0VZlVo`={5Lur`F>4+af$Yk=t$HyVY_SsDJQ?tiSp z0{n2RdXAI^&E{Zq%^2haTTAV79(IoST_eKQ`H4rPVExP#G5;L?)(9CCopt@U(oCUMf5UxOReWmh z``gg|JbV#_6S&dN85Gt;NNDDnZ_(RZLcfdu>&7c&i8JSsLNmsmczu zEgpI`HfD(Ti?#4Oj&|>-dV_}M)2*6LprM4&VoaPs3kCzdxld}jTv$zm?DkSD(w1=bW zE?rOcGcoTPnx+qp!@=pv3yiNAd6L{313!`6nl%-3gGo+Gpj8`Q9F^^Gy%AfVaZI|9&~ce^*brlTFR{rgEV3Jj z;M>_Rz=MQ3pv#(9EQrR`Kx#wF3JQSPHLPy=`-@Jo%rPCuqe{xJYLhacn`H9A*Xhf z8Bg-=fS0AF{X8)dpwjBtK>$KJvxfrwWr~nppd=(NvIMP>fW&!c%GS@w(6+vV1D%A( zJczHps`cEau|k~>wcGqy5uV{ShGtOccT%qAq@0U{dR3dlspgpX#m~BtMH}YA1}^8Q zLhsM@rEb2x-cG)&y8%gcg8B0pJWfmmotgn3!$_O+CwqN(wW-t)%v=vb2NYnQ+*6u* zHUf6nKWXU}FpH)e4YGdpGQ-s&tr(7#>U5bGr2*N|MuH%FHv)~ zI51`+G!sr8iSMc!q5`lL*NNafcpdt|sA}t2gzBlg+3!&H(p14ToQIFkmITznN;1lF4{Bnq0~GRjKSl&afrjU1GZGcq-!D1 zlJkWsnK#T1E~^~s&CIO;+~wPvGIG6kU%7oVU}~IP<%C|B)X))-d+Tg^2z>ORMDkPT z^pRahWv_!6E=h7cV4IaF8qhUqVH$pCn_D~R29Ek6a*G5+XoLm@H^1?+49q7Lk^LGB zc|o_}`^T%IYLwH>M2PfZA?1-&q`PBJ#+JHPWTfD;ausfSk&nBbrosCckUHk+9~hdI zdPUOnC_{ZP5E2_9YEDGDqBLbhCfPQt;a3=&X zsJAq&NMTITi8krC(vP|o4&zf{rQ!Zsvd;Nz~q*9%=H1YO|ERXTP4XLCU(1h?aKBS!= z&$mIGA$wfc20i!LS8$5BQLpiO{zqs^5DdphUnRfJHVp^IRQ7@V^mJW15)xJgLtRDK z)v|6cLR03{*Tvp3xw$pv=ybI*Y%&3L-G27a6=h7YUskAOb-j6}^+ROR}-(>7-lO z6I2(c>;!1y#bIdJ_@CL1!|U|C90Ks(UGv1X9g7W$Q=6(wSaL2VEC*BFGaNaWXLmnro>%}ecbLSm!K=uQD0h^W0?OV^Bprds~xJXnMwxOQZEPqG_ zovxdPIA?v6&mDuyv0&Iwj;*Sm&f9sn&UN}H-+funGeo?AIYIAHLYKOw8(!w zoW%Pi#!t$^4A)n^I7o3${Wp@!-e)lhdpdD?;{mDEh#-Ql`)6E3hi|Bx@YTL_Pf)6o z@h`d7@!S>IDzSjU_Ci&=<*fd1)yFF3=pp|MzGZzOdTRXH3qNs15zlS+Jl!Dleo7Wa z1{-1IE-KK9g*#H;*ojdVS}_#y&V#hhv(-*;U2ZxfO34A0w!yD2Wd^h^PId;1$h}SA zwca_)lo=te<#G@Qho%_cx%W%VbQ(WbD*Tao#`td?Xt3LJcM8d)Nzd3ns=7pxM)sLx za;H$pqVg;9i_a`|X=0`isw1+JD@ye9L zVTvYfGPenn?Duhacs;bo(kVd;#&8TAcjUwTG~=9(%sfX|%D8}KgCF(I3=an{9B-7Y z+R)H9s*Y8u5h5Z{2t39*kBbTPI=}{)oBS(kDGT*^>p#v~oYk2&=!14>V?ej+HSPcB zy%Wpzq`l5xP9v8iY+XKX_Ad_CAG2qD6_kCgH%SA^ql&@p3y9aZXC zyPojw%02{CgN$$JDbp!X3`<#Wwt!Jgpj|jUV-8*omM?1Rj)fHm6#!RWMNS+q1&M>y=&&E@%tcZGuu@*;@DH&MJmzj^d!XmiGXw>Ic9za1zX-be_xOVJoF5H6QwaIV<**Mg<7I>WV z9}GRW8%FnydwZytKmeF4j?tmSM%o~-x*pmL zv76e~3zjjQ=*zs>^K^~&sVZ!>-0l4Kk@5idCmwcO?Zo+`^^g703ff-b)TMe7ymNe} zMGv@OghZT{WPfx-OII3s+?4f?T>0$yTp|(C0-8c{F<#Kt93~_&!|pd`x;h%j1BkcF zgNn~Fnm7*PwJZAlP%Knz7BVxn1H+`waZQZOLxJhEO$it@10HakNOF{_f86c#A}$@u zf<~}Kl&${P8oHd}Ng>Ym3w?BqtR1cTZajNV0}VI2;_O|(p-sB|$*WA{IiOXacr7-Eu?-97-FH`4p;uEPsO|O%7Fj!Wo&Z!K=S^2(;%( zgoJG_5r|npf7CjQ31U_Y?Ln=@b9L*4TZos+Nu-tCA9Fzk36)f;-b1(l!?fq3jx=R& zC`Wk42A@rEA$`fY)FC8Kuam^_jeMBt&<5os_dtP0HE8QriVwev1 zBaH{2bP+kX2=w+fEX!9wZh}`0bIccstzSq6&*Ln^(9G*F2uaTskLN;RZmoK}oNpe) zv`_dnd*TK7+qjC}n<{e<;&4@R|01^`#;db!$i={l1rBZaaehHcmYm>yVUI*U)S!(H z?pYYUHzYP*UbneswnD&bQG;Gsb%_swhkM#i9&-5Q#>6V26~ACN3%L4R!Six>d;CcNJjgi zfJb?@>QuohLLHCrzGgnP$&_Tn0GP4kac!o}A2#jcSMmB*iQ-dGx#Ue5$~$#D@34}% zb??Qw@|8rJ)fy8K`VG|v764rlStd5v9b#z{Bq=Hr+Z`gAfx)km4C+sgmI`|JS|&&9oo^uo%G}XoEDFdV`?LAM?Ei9xl+Z+qS5ZDoAqoXrYZq zc2LKiDNa_9DBF(|O1;MW#JYi}ZE3gnru+yYU?$vRW-bo6<4LHcXCHnKVvz_)Q$L}9 zl}VCZ%&?LfN?|QKX&lpXb@iH@haI7F;s8@H_3;0f>%)o<#OoTw0h1*I_lpF^5;C1h zXN#B)*~KGUt7p}b7-?|FzWjygt@EZ&|8qvbl{8?{<`Um@3;DO78zBBe;HLtJF_67U zf6nZd%N4v@(ePD9{b7H~CRV%ljFDG}C9xq^2L!&+SLK%s%rQ`jY4iX~w?9FLCodB~ zdV4B9GZEGMvO0R(L5^|J5``^9W@0Uujo8wwB4+5Ddh*PoxRRc zE+zedg1#PN5Axbe82_5M4flSZd9wOHX#WoD@SXW6_cO3Tj0z{~1A#p;?fvum!R|YY zPOXm<--Tn>WU3QhHh_}w3TNYArxG9~HIA<7MZC>g zlcf;QfAI2>nYimOKyyu|*5~iSL|g^tAxCnwPceD(D#kSp68irKW->0lGtPbK`)L8+E@ua!~Y z4ykPKz>Cs^btAmKQHvXzHMs=Bn3h{Hs17D_({m50BpOe{?ZE#h0Dp3C4ifM=7@P67 zJpC2jKyD)ER+-D(@etylRZCO{c=qoT-Ervadx{37gI}ZKDC<&Z)X)#n<}54(k@&c> zM4>;hS;f))FFHi9RLvl#s`OKm(~0JO0GzSvfYUwU>CFL@v9l6f9@Wec=}x2c4#9ik z?klFLwtTnmO<)j2@7mt)wX%!;fpSVKOJWr9`FMbS>l;EOLn<{xq{eDa)viBor=4`p zfv@;nmJ!*O%VKBmW^UIB_pU@#$|W7C9ZWwR0yqtsHKMzx%K+CYKOV4%!Ebtk?tJcG z?M}fgtFwy?LZmI_3uGY$NE>A4tfT*Qzie(*wfR2i zX&>fO8rUAlECg;t6L2{tS{dAWw?N%J#uVWdt1dgLu7K?+uKJy=NjTfUSZsE}GFm#R zRPC77!k27x@wxHt#YkGcK9Rya9DBe zzI0cVB?iqic@X$aHI!!8IUlzFQoMH+f}?SVP{zrahO`aFZx8vqrRm=1nMC2wGA$Zs zApV6t0lO>;VXY`7BYk-Gth;FJbQ8*xS%3wG#Fi3dlG67bXwV&edW0*R7SnU}kS`Y$ zYLQ^7u1_!M;NTObqfg81nYW!LocB)ZffLRDko_C`Nv}LF*Q6Fx8&zI zSOFUmPz8fFYQ1jedYlE^0!I1}EXPJiFTan-9dSpY-N61EW1ImL8eV__BXW5AO2ly7`de7Y~z;Hqxg$D$t!1KI)3I^pR z`@>M+>x;++HPi>q6I>#HEA@crY6SMl9%9I!8D_q`)jM;pr~zzAfPZ?%}}{{iK}!97ZE#oWbyRW{cA_HRm5Sj3*SEaN}AXN&4@8 z<)deZ2;GwNuvmMj83KUd(Ow9xz;&9iw$oc`(0~lYs0_wR>>n^fz9l2Jpzn@2Yb-VO zU8eoxS~C}#AXl%w5o2}EnNIsFPMqX`k(~VqNS6X$iC@VqBwad}akJp>q83yAtU-uf zd)$E(bGej*n(`NOiM7-6lT7wP5$fVS4{F%`U6cxB%?<>RDX>L%Hmdq2HtKo-5*AuG z?rQm=KZ3g`?GYKgK%$w?W0TmO(7aITxKF*~jD;InJ~W%N7Ta)h#dIlpCiNT6N~bK0 zmaz$Cmi@osOKy(GWvNESBN4ytqM{5a6cInQV*^SVuEXe|ZZ6Z^t`(t(o z!Aae{fpu*hmE>{^|i!S0i0XqeT7D({ymWC?|x^?rUSAn>O|_3aLqO zmjw<)m!fjk)o7q+TM)i(3BIqC34v}|Qxwl_AQFNOIF)_DLZVt?`E#=byNKxy{VC>4 zi9zu2>!8^1`{*n<3#ExN-n z*e++)Nn!|Ye<6?rs(KDX9vu%)3u}4rbaD5r4&A1>NYCE9`{dw`0;BST<$AJ%`lRTXu0onKxL;)%dC~kx{pjq=TDTpm_iZ^*j zE+6Q(2U)vqeS)%H85%LpT$(TVSui#VsVdniFhRiWX4ZR^K}){3*%UteG?AeF0)jfP zhE-lDb;IJ?7h@INy<#~0JT?C)g+NS#rxa`t;)YKyRgFt*|J)nh|AgfuKSnmjFBsm3 zWrriuBv9|~ag_+wP1qCi>AWgHZ;|yS#17$%MNQ|=orPir4Eg?CP1ul_Ykd@H3TA%6 z-r+K9cwt6F#9;V6Am0cBhlU^h2i&31QjoKkovOlz5U=Y3_rd#YOpq3CY5$9>BiGT6 z;jvIyAg)&vT3&PMp4FWD*#g^HQ=19jm7^#d5t)ChAw!<_Sn*;$z!X3?zB}QwmD89Y z%9sb?O!F*u^hw{Ej4dAD>l!^Hh@&Ygo4#$i51bDRZoR|FmHQJgbO!CH#%_nct-m1t z4SrSD6_53{z1nGB2dRQDVPe;AP~0~b$s##mf+X6Q_d?MSzwP$z3k(av3r4}pebKA^ z;~asS06jp$zav61i;)*BK5IrbuMBz*uemWAA_2Hkmw$$d89qzP9=_mv!s+NhK&a#5 zVhj|w#_O4P^qCQHpi_iDfEcTkhLTVEE*0t&Ydb`nX&AMYamKv^N93GSyvk%X5)}|Y zQZPN9-mkG=k zvy}sq3ThGelnTj#{E2v;2ASurzSU^Gax=eT$W%hD<`)w6MmVCC70M4w`~*81{zLQU zDNwe3-lvLula68EAXw^sEVN)Qm1F^f!hOWpS;ODF*Kc~3jfus<0(RZoyJ=$P4DmnK zg!?|W)#ns-;68!!jom!M>0D-E)gFI(Ey*zF0V}(KFnJZvtN^`U>M+$in)8nik%VwU zdEoy@0R&EC=CVYgjGJ$2P3N5tUMrM%GHHII?HJ;TlY`P6Jd}$B6@O8b$k#{NNduqK zGAr%l4|FU$xXvL%bD7ol;W403eiRGX;d3cbnl?~(iAN1Nc?NZ7h%CXE_HRq#_S@~F zgEM7phVp&iuO+J;rbG^EOw9fJTiK~djPL-1X}6$`>yjNGY*baJo*_$iywX$M{3N;z zkF&^|i=&eGRwq#L$rd9=TE;}^vC?@tnW-czA;|tI+Z3i%Hl1&(TG9e7)bYP~6efBM zO(DJ+uj5ICQ)GP&!L4N89mG$H0qxlYCvu>Ednh9UR5p7i$PLMS?A%#4;$?%J@rvPI zL=sx3G5iH{8T->;;jJ5nh`|6-QZb5HB2dXZBE12{cT|68&Brk7Tu#p@?wgqMsYKz# zh!Di%I&d{k5ra%b7xb7Esm7%bU`m4vArK0j_UG~O!{x}-{ZWLPVN1EbX__vTTL3C4$4OMei+fOUdsH^k@Rw1L%4{O1c#& zc+^xE`xG^-$^EGEjYVH>w4I*vUCZ4zw}G|yIxx}kb{eGef)!sytzEyKMpch>X246- z`H<^jkc%PD;&U(Ed^rw`rm3C=4aKaaGT*Cu#{!-glXZ|ExwF&SrsZk*wgBFV=<~x7 zZq$|q5h=o9p=bj>PmpWB>*}kqNr8U@E7Uf#5VS)xmX#R>H0 z9+dpT9pg-qi{A5QoA%skvU^`{Dodnp1+=Duf;S`hnYhLxD|*qNjfLM7?PWqgazF;q zneKiw=Kxz4Aagf_hOEl*giUP&7kh&bOU-s5Uv3sH4*T>?C2!&K@smGYy5)mXTqRPk zP?0V{vgK)vX&|00en-h?tO8zeKMKAlRFgeZ8^p)sQ8}`Own$A1GC-ahpTdV&fK{m4 zp^=WSKD&iX0AdDVVOy}w7yPsEYGKp#M=T|}vH7fETfZ2Ku+W>hHu*DKx2eoOySLm` zInZWSDm$LwX9ogyGqAmp+eyF>Um&D^BP=E}?)-jb1oWwi90CZ$ywG+?0RE@|2)7zK ztuDqzzS3?{raKz$>J&&^{{7s*RdwUSytduT>eWmAJa? Qh3y!bEG&dMb(pxF&fB_7ec~jAC(?}gV~baTVwD=nL5KUQ_jF(7Tubbsc>I2#Zpmt`Iff_zhSKPaIGjvV4))e#K)Ml zsHw4Q9Q2$XuZ}5t?)*k!(cWeo0S;Nlv2a_JQrjyjoT6rhSj+^N3mUiTV!!k@R+12a zI{qxw`DK>iyn0*dFz)6-_WWcwRLn*_qFBr6=5LytAEq>H`wwlyGSc&CzC5Je=pN_C z>Ix#GGYG{~ZE{c%Myn}6Sxr{B!F3@;=9XRq`{>;+nD@s~!v5}rX&>`+5$tz~Wgg}e zXp&s7{$-()qM@FBO*ElE(nbHbd2{a0L!zfCb+zych1HuWS()C1w#oC6@kyf~V7S(c7{Mpo&%=C6bI zK&?}xvzF;wZXlguRR&XtM<5QRDm?YoIB!$bd}&4&2b@7UqQ9#KdbIXXPFdETm=g)x zWiyHZs61tp+3+Nq5LYsXY^|4Yc8_M>t%Tz5U%(`#M~O>%tGukcYwek5DIz5PZvPLA zR4Avy(2u49Nnc#xF4uoky}gxNJNT2O^$Y2I51a%3XrGs(;ih;XaTo6o$G| zrWWY+Zi&v_3*aRP2zekJ&{RIv?pK{PO?9Flq^|7OIZ|&dB*zotz-AygxSm&|+CwOc z9Cy3;L@5{I{&nc?E0cWY*fP05mSQRo3(>=1#QY_OfA0KotZRI`{tmmN}5>UL6d z{Ei;MpqLE4(`y5*iCf=Kam{ueX;kejGJh^eN(d5KXGlMLHppgkG z>ldi5f@&0kD5xf@plG`<6pxz_or4gU**r0 z7E#Aet2x50q4P-eo6dydr+1MN-kf`OlLt@eLh)2CxDM3_{C6C-XZ}a}!q9o&^K!X- z@Ec;-cO9{#M(KG7{rGpZFo0H2o@D3h8n2_Qr`W!>P}hI+k}}JEv1P^}#l&Aeg~&t` zX>k8uBvh$pRScWp7916cXx0{|?r1W8cf95rsR`|C`inSq>r5O6JIps2gFksVeTj*= zF9V)X?6D(%?v0fH)<8R-e&k8OlmGsvbt1ztNImw07#ym{?F5Y9$2DKad;$55`Ge1O z$Eq4pgB15PY%pu&r}}tSc3AUT$_uhr^QOU6SlQ*3i^CI4RClh|!zmaLtGT(-7jo%} z3h{>b>pAjv7b#-{S9?CuMpCx8wvHXN38WAeZ~+6kp-F%2pBSrBt6_yz$+XY;0B+rY z1oxR!PsW71bgDbukbw}>R(x?+-Ma-^GyiIBpVk2lDt$-nN+KN>Bq!3A0#ROMOglxK zT%UGa$~2ZpU5^>A7t?UE1waiQlv6`#ktD|*JmjM&B9;TV3t}fDX~IY1MDFac(2&F^ zw=_D%{WpTpMM(&X?zgUsLwP zI`-~S9eZzGy7ESx>uCb!dpm?Ee|U;ohnYtzh5@4T^12~J-z5kby*zZybW@Uj4N^ww zSD($RKz*NNs?kp(UW;#0ps$@FsEO0%5h z^|bGbzVRs@?6`Ts`Vf-gL~se8p91z{KUV{|UvS8=D8{`WnLdh7-7ZsgRX+orHYMhg zw+LDh)DB5*;!WECBu^01$B{8w$AZNU>=R@W%iW55J8 ziEZw!gHm8FDQJ+YWQQ&$g$zAk=jOC7&+C|UF%A~0_r@&S7(okPo^A^erx=r8bC?*h z=|kEO=6uv_M)GMS3q4INO@j20ipW&|tz?c1=WxDl^w^{an#UoX*lrRF_ES76pI8MH zj|{Llt!gw?A7?jzx)=q_9T6eu1ma!xZ@g_P>&Wysbz4f6BDb}*~H1NQ>DtHi>MyJY^@1RSPT&WuXvcCjhXzC(#{K~C#M&paCW zCwaVuU6(8d%EG;ihC>wVPzura=g|MIJ*9;O`ltMeRuCOzBi5RBD5hI_dp(NV^dL{B zUIWrva!xHYSlLmKrhZI*PB9P3?C;*W3n>S1t00(EG?}sAe698*dFk~565Z0nHw1~y zV~9Vd9EZF>8MVSda$wS&k@5VE)P6NWb4r!9?ju|)AcYeSRBGo+2K3tPqp?Wn;7Ojj ziv<~RiNFUqhpekh4&keAwGegDCZ^8i=oh+M&S_@V&2`G@WDlH}<=dwh^lyf*c8m)1 z@9R>ZBSsAr((tDQgnCYO`i^TJHV!%sZv@T|QL!(qDyyNyhJK=QjoMFs<$yioU-fA4 zuqoR#k23o2p2p{a6EIW!U^8u^OC>kJY5V=LT1}`Y*fluw z97RhJy5&3&uD zUPLKR4ZA7FP6*|kiPK=+eybBCp>_(}?4y0}89v)tD2K8*+2H*>qGJ1v-E1-M4eGp} z2}mwpSFr25C$$Y3eu^Aq&FgaDi1N4zU>X~lZ3j!Yl zE-F;NyKHr)y01_iq|4<8_ZK2SVL0NT(;r`f&#lL!cLs!-E6Q5zw$Ou(=p~NcMP>S@w`?v)hI+M z<4{VP*r@x{?+6d%yTI9k4_#*34_tz#VfcX`Blw^7@r=1T)}Dbg@vzX5B6G>WtSWzw z{YPK#a$P>1@g3-gxa%J4JqC7v-4Pq*MP&D<``@8Fq`|y5_i;x$fYdYc%P9#`bT%s~ zi6;{3dq!{7Ph_`yv{6d2{^`iapEUVLH74^lt%}z$OJk&W*APcb%K~vmcQ2HWiErn< zoM)%K+oJ?qriG3G0`IdXA;Q+huZT?seG2}m@-fAuI8&84I@ov&)VZ2x9k3XbK9ot! z&r(^dmng)3Sk_F4(C7Z_x0|D6O26)!?4-}G~so{sD8*~xtDN)qloqWbIUgKB(*gmPko3r8^z z*L(dz9+&u8jAUi)4$;8Lswl)@?G*-Wr15z?E{&jW|FK`s?#K}X5Y?S*4~++yjePo> z;huFq;?+v>^HT|_n>gYFT(vRp;JTI_F1j7+cWW~xR= zUkZDktEtM^dlStdJZ!D$J!k3KLu^hc&2eidxP8!!%+j7A`32s&l#fc`-oYW7!<0#^ zxbP?!Uu)4S`fAT3C<{90iE+SkDT8xw0Ms z<-S);;EPgP!L8no2A$Kx7FUs0eu=QB#Et4s*s~sUjs+(MlCqC_g3CFpiMcAl#I^OE zM$amwWlrIO>@fdBI^5P`hoIJ8Xni4Nr37b~B~8CH{GT*WFL#Dw=4?nsPDidoKiuop z1JM8DkY9p;75dc&qF)?axMn*)a`r=iqT5F3lHb#kg-{k!7zydq5o6Ope3Xl+mtEBk zXWZN|{?=Gj61j=a%Uubg(e6cBZ^FM$Hhev%rh`h`0f6DKRq-uq!|f3?SCR0?r&0I= z`xAy_ZiU2XAC0MAmAv+$`RB3=vZJNJ@uDM!W`7Av$8nd9-;##Le6j%Y`19oBBzA76 zIGdpR(H@FkXaLI+n;gOJ=Q6groIj5PVCBm99vJkEd{8JJRxcAPntamG?igkcs9bJ- zOb2Eg;YJ`DhkuDUObB6sQ|=I9HycJRXd9~Yr~}b)m-8&&n|;ml$z7I9sRZQivO~;< zHilUAsF^sYPTWK{V{RO5-}glGh$H-*fTQ=l+2la6s=t7aVban})dm;tgMsJ0=n~e8 z`6^U|W#;v7xnWM}=G||+f(S_|O8OIyR4dItenByqEaaUJvyR`k*XutU-&*frM0a28 z&Z4XLFfuqfSb$vr`&9DccLh{P9oCa41XeM$RWWU4Cfrhtk&~oq@7+S@@DYmm<-(pQ zAB6xhXXZ9={*RWvnVR20#CWBgx-kT@bgCCSF5@<`%qREg{8yebXhT36NFh4B(gP5( zhhC|5@xQMkzVM%ZPt+YSvx|OR^3g_gWR=%2)uKQuWp*~teZ&F7P1MT%rE5f zVPP;D0VNuc^y)_KKC5zd2gv9Nawuwm0$dq7%-JKg*0{yRSYWD3I@wEke9qAXhTF<0~tRw0k_oSAIl zbus6zoE={-sb+c-!M${MKh+NPWpTWSV&A0hpjQhsESRb-Kg^|}LMDUi4-yD95qCNT zU!nofV5`SnTI6?H9jrHhk~4?@Z&nh9?VQp&+ECEdkL9H^U$C5)oeF%Mq#HuVUHvyd z2gUFMNSeUh@3^}}Oq$=-N6b&B&%3T6Btz)sif}X=phUUS8pd)ec@`vXES_x?o=3y? zQ`IA8zt0@S!cS9K~Oz1M2OB>C6Fs4rPlK;6;;12F4-g6ZwP?! z#NVK@cVX~NEdA{hrcKskd+0L63`#c|rOV12_v;`)7`url!KgJPcpEqXSRMorof``V zb~UTK5{?8FR*J{9$j-6uNEsa(x|3v?&!vDwTV=J({+e!LQ8eGuiN6%N`EQve=Fk4HkRD^*E+Ucs`&HZ36q=71?{d8k z?u+$nMu1&oX8UTZR~zR()T`%+Tz4@3BWWxVr4lfuLih3enaTDUQQP0`{OpFS24wDN z15^f;lZKuf^v*QeZo2SC{z}kT$YK*cP&>1^@$|p1*R~&YVBSQifsax(ncWd?SXBJ1 z_2TS_*8bV0=s6*e*{K;XDs8%#VI?ey4olriX|k2TiIt^1d?F6PI24X@{)Fa}r&7N_ zv-9K(mr$|Mth2v@h5mv$>s)bU@bre~RgOvCng^l3V!DVE`;MCfW=saExFvNHepym| zZ2gFyodQv$m3}QFm`MQ!J{Dm+C*6NnM8eipSfU7wPy7Cdp8;dcGl@4>z~>XVF|uF; zsKAz}qQ2>sPN=}zO-xx2VNhGT`Jypb zQ*Z(Ep20c{CB{7(rj!#gKitom%Sjd}A6U`Jqj;B4mzam$%-ADw(WH%;` z`A)M-eynyFIIKz`zKHflOAOB{#w8c33=P5TCR7eCN1u%-e$+%6JJJR)$!*1}Jvz1v z$OaE3V5a4=^)4-x){5<&6EFhT+o&_}sdFv|Wv;x!tyeSU{5?EgBE2D1%SMP3Ai}qz zzt@QK+x)V4=RyrhIQVG<0LO5ks*d8$ZRi1rN4B^P7%C%>qQkIN*4C<_#zHr>m0quG zM?T$?g+^Z`90nC1cMMyaTX4yc_VEd&RKAMTi9^h~p!POK{tV&zBMVnaZU~-+5y!cQ zKH+tY@t2dY{j>f28Sg3=yGPV|9hzi*?wCjqS7fM=etgmo*)sW4VdNA=wjs?Pm3XmI z&7%kBYPq!rm&OL5vB|1bkfOxx;Q>ts9amcJ6XNbs`l`yu!uB#>H+~A$m5WgHld+>f$)F#`o26!HZUY&Nj9X7W5 zXmL;F?rH)zs)W^X?(G|v1_gE4=ynY%{~CL@6Q!TJUl><{lCSPMNhGppm_-%Oq>(3? zCUl$+CqvFN)^2ZSFAwCe1~j3e&uX(tj%R&?gf?psYpVmWZ|ubR1>v67WliIOyj*hW zGDx0+6SX;}BbU-8zm>nE2AujF?q%bA=C$hstg3+z))hR$&dSr=iphJ|MhK+Of>}J6 z0e@lA|1bMZ+CE+bHVrZ7r2Gp(zXE3Gy%YzpA{Y;!x0*iiyp}qch-1w8zy?UI*S{5c z*a(EXW|AN=|z<~kw-|_tA7YO~NLRmEI zv1|A|fd7`_ePtiSULG@j@VHJ_I%MGsrutQv&@nCUYl`xMpTcJ_ShaRi-)x*!0ZdsT zYP>A4DR}C0Hf#WW4bjKsB%Ke~g?E=^v;76}OIQJPo&xRH?VJ&;IPm$@VAOmZI0)*72iv(B zw9q|e#di7VXBgJ6@!221|0&#q8G=v40^7AFgg9CmY|dKcb^{_XW+$ftmyIps$Z*+m zr}zMoit);0G5#5(I96C>0pIANR7a1M4ljmAF+B*u_kOzMseFt&%J7siZ=u`t&{k<9 ziYRe}W#NI?%q2}OeA)q)MYldn=MdOk-N#rm-+P^VZS~@o54+XkJd1#+RC2CjwRK1@Jzjzf4=VOckGMt;6M$8e|6!b8!g z0tWN_)50b;zXKL6)?#$9%V%ztOn(?f@I{nq|7A5dPFM`~oe#nZo55;Xo;g7% zA;>00(pxB6c;YRn3uB!{`jSVBM2*;x*Wt37lq=5n$VcprFU2^#{k4@1ZVtpoQo<&5 z=_?hiwfgO$!C#=Ch{EW8g<@SA`C-fd=IrOg#0NFlG#~F3r9ST?{AO&#bAb`h7hu z?-xk2tW9QoR3X**3?mb~it03=K)$-czyb7CI;`qmq1n!(KCQgOG?)7sHLMf4myX&T zD4r7oj3y5?{kmVT;**;AMb7a?#?N%@TT^ZhbKFbcBP#V2_K|{$%F3C^3Qje7o$>}} zFyQ-#Bpk~Cr`Tb&5M*1zr;Wdb)KV)Y+BbeT56-qR?qmt*qEoC|dvvvgB{i-W<)EQG z1{01vTZ+Xy*=G-&WZ8L{Ifoek*U_;-rqj@r;XJENTwzh0??brJKl{xgbH13n&(A{H zzAxCBE;k^%iB{MwHv>h~#J4M1pWYTDRP4pFaOeq(E>22B?-Z#Du0lD>*6B>KggrjC zG-muURivk#n{CV;ui$}ab{smc@$AQr9?1At@cJP!Dp`8m6PD}^26mAW^QUn&{Hycj zi6*QiJzXh=RKieEu!TpaRmw>p0G3@v@!%zS%M`8kvg6tZW6n$_X`(!6D z>6B8C3`fNp@sACZf6lMf;~XeH@;Lc+L=RCf`ZbgIe+sQm#i{az$;p)VeG~>w&&dq$aKYTxKVM#LEfft z9DSB2=?ca-^}y;$Wc^$vCOLd{_a4={eE}HgIj|&8_};WD=%ZS`Z0hA6rc7pZ zcRA{09;=y0O+Pa-rbP&VCg5pf$e|H@7lry4?bK@N>XH&Th8X@yJsMOz(w zL#f!Cd#(yLKHJvx=z!)k1MQIlVscD$g$ZEv!o15ltwd{Impb2Q(A6wxD+*2lW(*S= zEnRE?ZD<5ESEQf|x#@6?VJ2r> zh>+ObqiUa|zTMam-c8}1pWJ5Cb?QpGb21jVm=rz@dWx{Z1{ut_HZX1*@F(bq6eaRA ze@uU-#9Busl};5UnHM9tn?Z83{m=jAaxu{YdECs2kY56z*+{hOxsW2{S*`jh`2pq5 zPC~_DYgQF3P%HKtKtY^6Ls`n4MzXlO1^&A9u8@$*K#Z5P)iU?G|^V% zITvgy{Uppy+!rWSa>(VdDOlHe+PBe*q)Neq2^N`HSk+T8IZ*vX+Z)&oLC6>q#g<7? zIDm0H&CNh1$xi4e}~oiU67?Hm|Yw9wNeQ*lhK+{BN~2Au>4`Rv1>HeP~9 zgdZgnL|O*=fCXA&3RXATO9luB^cJ?@A)2{KxP^4wT9!}u;oY(Nhj=%VTDWDx5Tp6@ zt>?X2dKEKrRLYA^H`7f*e3Wi4xFNOTtA=#vZ`#wtqVun<0=*5Dy0ot&yhK!zQUtW|_jlqt%TncSS zc(timIX(m2$6w@IZ&yRNDqv&!OYuwtyY1P8V=O5&6rXzyWT%C85i8G+bfVzJtNfaK zJpN#YaWNV7ZXUBaB7_|dD9a8=P9>OYh+$1r*-$&$nD}3X4KWTm?jEOQ>*BmCW=UAqt2}K>T zp?cUzha3D-aVJJ{U?-%(D1g`q+JuwgGTVnG!80mX$)qK@ydZ%N?erML$2sAD_#7I0 z#u4GL-y%Xf+1u`jL&s^DV@@jPX}c7R#f1)RJ(dsTC_{Djjh1QVSOm%&rbyL%SbC5a z6FNQp2h=dSr(&&vk_RSVX-_v9Y2?Og$4K=!1gIiZaoJ8BJdY-0)V6prZi15KgYdCi zEzI9Am44@jAZFA4M0!+-`~uJ?5?*2eF-X&w(J+=*D;GhjUS)ZR?qlqJ2;PKbLi*b< zWZd~Z=T;A@;mU9$4L@?Jr~`&&y1W)u*&|K6O@{euFd2#38m8uKCmJAoM1H9yAO(QVkN8gGIWAOm#%KOe-t^o_3iyInV9Ou*!Zhn{~qEW*uYw5It03FP(`b9VOHfc^UyAs&pSLd zHxIN{Nb>(JtA0vlzK#cF^}mCL$|%dk+lLv6l$g4A*yFc%FwWvHOS-v2vI47=Xq!W6 zMXn+m5Zournl`g=a(?%#m%yz*G7qiW;fVx?()xm4GU@+Up$AN=JWMpYh!)%r!ZI|R zRiBM5t;fdJCXBBrhWWi>_O_>SN57_G(MRX}WR$=AcxlW#d7+#Uo|jHQK$F$C70fzVt0Sgy3w zKW=vN$}{;6-K)pU=rg#MBZ0A^qC{&b(J*l-3d{jL?o^8RPV=|W<|VDan}=jMx5g1g z?i#9I__De_Yi&RpInBLioMo}fo3x~~>wFd8`%4^N|K;|!BJ(DJ>oRcvi1 z+tN}~gqKD5$%DyiSQZ#0`5|WUmmFXc@AQaqZ_g95B4$4~ad!x7C1LiB+W^2WK?bcC zwReh5>+73bj+u9WU^O$ncwzxAs5!zD3wQP&_iVFESo-ZGS!gfmHVWe-0jrUgR#GPl z6(SZKt~FrPi0}(40=~UFvCT$&3+&hSU#M!4)WDHHf5o}*dUM&vGTmu;Qs=6;=^8pk zvP*C);;u<_LN_0Ik8Dpc7}{j}B4Yq(UzB~bvUGwn^D-kSYmH&R47!xs7egOnos*v# zQ71o^R!BW4+Ympg+vg$;71CisUfwM){msEiEsBjUT z0FX!_#@aX{-`ub5twOq|-suy6Bw-~H@C+9h{n7{4y2xP69b?4@zM)1%8)QoesKVsl z&OH+#I?8>_e>irN4!yXXZ!MoIVM1)iHCn8?#qr?B^#yTM<4Cbmh(Z#FL7ItQd(NCdJl&rTGYHn$R%xNLO?`UxsF*aJ}cn zA9jlT=J@=u+WPR*?>==}E?gkpJ0Qv|>iRjzf6zM|RPjU{*U-gwOfhM(JJd{;EKR3k zQW<N7CtLyFsvskIH6a!&PRe(+t~K-NQ!h9w8BkvK*G%cqyME_y!!3PN^~MO9 zO~HSnte;PI?Q?aaECGl6$<1HUvKZ%<1o&>DXHNEoUaSP-XnP%SMOjZ| zkJiO|VU8x%tKl{S)!xL#IV*_29m~DgVD;j(AKTlJWF{&x@)u|))1C*0R|Svu>#Dbc z=8X}%kfJM05Jok4>yKKfvQGt=fiT^d0%7%2)6pfyyZC5?lq?u2XCW!(4*y4R)W|A{ zUkM?b-&m0>xDhRiv4jeY7$Tl2QzEkj9VOK}ji8dgO*#T4_ODEuj!fQ01HE2dl&4Dr z6RYj#!@q-;>ESR!2Mw{a3(>ErR}gIh$uFhMqjWvv!1j(u;q6W4MIEw;O!IEvay>BqEle^^~g@@fRLX7 zvk)awD$GEtK1&7v>uMw2+O&L!y=zi&(gaq)h^(XHx=oc(s2Anf zn5POyMC!rTIeyEEfb)8rz#vaA9AKtS2x@;yT#R6J`H;%t^N;nu`9M#sU_rjwzdlI; ztU7P@{+cYSS3=h;2R!JY>0Lml^&x;EkwekEtG0DX{$+fd*I?14As#opCg|M6Y8jZr z`F!VOe)gLtJ1r3Uy27xYoCII;)!;iZ!x_;4Y-aDpe1Tp)7A(f6F2SbZwDHt!#v%XvRKad>pn#27$+b?C7q+vCQvd zD%w$sN~!UcY|@6qMs$RD4j!3*Om%BOTmb&V4qD(d_^fV{X2B!%Ybp+lNsAL*Z-MmA z+pwSYd&1|!)qH5m2^*oWS{%iJhQGtUH5@7vs_gC>1xDFRgc|8(#jLsRQK?)4#z&dz z5PqDppkPe>AIj*TpSyURxn>E=<6!l7Scvz0yRg|yHvW&n=|zZ8jECt)M0FiPW*&TAtsDgvc@fuC(OlPoo=& z^kR+2n0)j9$wXJFSA*~9@>sqY$~(v*|2El<>TqJi z^Dbp?|<3(YnS3=*;TwAFb=>+$^eD^eh|4S#eVX{YgZ@G-6-O8?gxMq|WWvjpkme^;3p7$5Rj&wDYG-R7Jb62Z zha|Ng|CKT|q-JJGejV^)y@Ele!O6YC=^T_=zMvELM*p0x^+RW9tSzMDJc8}!qSFOr zkf`PdneuglvqLeBrcy;KCA`w8Aa~|{k<%@2G~5Xe!t!jegIFL2M3zV|wrH0wmWiwJ zr|I8?$s$|g8e@+-Fp-?wK83?Ylwq1(&fyY?4_D&&j|eQKd%Uj73%|3CcL2nH;|8w) zcV^DOQ2(D_gENMXR&o{l`zSE#=SF(}xV>)T#Bxvy?b~nH$hW+Veg*)v*le7Z)oe^h zF#loZcYP9BB;qgtGo|+|g%G|@@6+AjA^_+rf_{OkO-<65&!(>DFkIhhYmBU4;?rZt z9NPAu+axWMD_L!wfABq;L-0DGev3E$`!YO#hFHS+lVj4W8AW&lfb4&GBo0v?&S;hj z3y0M{a}?(EXL%kDdYAB~MBqxkR9Z*oPY$f?S)#;J^*W~zm0<28oM{Jb$m7>SbKx6`p8T5HZZFTS}Y z2EM|&_<*bwJYEBIyR|+=ZF`PCecMwiTc_rUaqbFzu=DF@T{5vxiBTv1D{~8M7Oi7G zKGzK>!Ry&2rp}NY6(F|g)h&FDkjb2CT|blBwP2`2YWUp$&D1N7u0$`|;(A(I-CGq5 zu5a}d7(og{5S5eh(Ud2^Ad8oXEI#NKc4o$B4wwdABS%15f$`oEKyWLO1oh_kvI4yPZ~1-6*yCHOlql_iWg4~p4} z3pQww^yg9EoU|7vsO?jmjcE~po6p`LT&s(_F^s#-YB`eB_|SUJNOA^O00M7V=oNR| z8lEL1RkxhB%3JK|#9r>Nn~j@Y=h?av7ta z4@n?~O1+?bng5Gw^#ut(3ZLesKh&UP5MQoc{aigfiP!qQxm*oQZmMv%zLy^Mi|xR| z#2IUU3%FX?UI>{OP#qQ!8JLY+1+b|?uD>cr{fM{xU0db-+%B8hqbJ6MM41-gR6}PA zPx_H*%?yE+P{FWJh7zF*E-=XQ?6pAZ{6GtS&>)VqIfG(OUkeu@m<4xU3Ym+Pae&Pj z6#tmjZthfv?wE>JbZ4?<Z#OdF*DCzYaF+h+R1^WKMP zg6op}PUeeuU~mhkT6cvCSwJq(*7Gb&M=mClozGq5hLtA7>%>5zi(K#?U?ze@05PIO z$&q&%-veC(JjnQ9I1%Bbr2!{0XlJSKp*1Q&vnqM{34DE_JES+XLCDrD-uCGPIYu$O zaT-&5%QVHA{Bi&RBiBLCvi#$ZHRBK*V; z<5|aL&mjOQ$vcppHQ*>JZ;p*-mSdG<#Nn9W>7{l})*f7G3@Nn4NxIw4I$eqUTCCHO z*2iIyg2kjw8V73^bYg8#W;Zv1oLuP*2QdjTIGgMb&}f3SE{N)$4^ie0fMlPeYnEx* z=IcX2K?|%ms@@=^$$S0kd6sm3xb)1p^?jRr+ckzo2(QDShg-%|f!U=U6%1dVg}`%PNp*l!HUd*KCG{;$6>xhQ)) z@G=9>vkcB})R19WZQ>?g(`8_zTPv}DMkptOilXqR0sNp-2Y|}=(FNwqeP=h>eq)04 za_h#lFpjZS@4^;Qi}GFbJa72+C+(uHUd?vlnQ$uOC0CnfaX#@{GzgS~Kw70zcx>HVaohXdRcY80Qk;5G>#dN-B`f#*zu_R^(6YZ5$< zCe|A;fk4!Fsvm)ywMjHUE-*}_LLhlO_f1Rh=xQ`-Psx|Eg?Uz>+z^h*M50Q`FL6(D z&FG`7k$ZSIzaj=PzkB%DXP_f;1_^bu$fpO97H2?D-?K$B+m3?*Xpt}n(_|>pecqn; z{`V=YP!;i(c~z@bx63rVRpBG_y;V4L(wfLAevGN3Z){PS=mAYuV6B@d7Iqr>`{IEM z7ou(iyvo93= z!QubUU{@@O>z|WcD38LqI$!!|5o*0|I|pnk)O$jmsVRbN zC0|>^a0qpa(>6}$vUhJ_V2dJ~soz?%UKC9PHFfW3!&tiD#Wco6B;p3#NjoWc zQ&N??WR$g%&MuGmL?TC#gXJ733edMFe>W9N#y%sAzj@cEulzz_Gu8tmKO*#rp7 zfv|9x^W5g7scj7pK+n#X^fL<@B%C&lAMS-n@15id}GBH6O?Ze>BJb- z1=EtgYCIt^ z$kd;v2LuB&5&{waQt7KC?ua}kbTx=%GdVo-As+^EN2)m=Ev&n}#Rl>xXT9??)<)bz zG)*UxI5>ctlao?M2WO1!#0tOv2dTl@XEjP&ks5O>;N&L(p2D(nlWdw6VS#^9%}bhJfqohvwMY^!=<)f4rS!c0lfVY_%mTl#SEp}L)RS{0?5uy$gvop zoIX0D{jK8X&OK9dbR;)y<0!XJq7(r@CBNE_@*RBcB#YwhJas#RJtUNHsG9Uv#dzo* zI<7v-IDn`f!P}8!(Y{?DswuTEl1bW)q;*-8)5i1bX$tC{Mybu(s{Z%XfMSb}QdRo9 z7-GnB^UzQ7D=?Ll@11a^Z!dx(pOL?CeODS}9#`@9)zF)pvix?2(Cx#Yp!jQie)6M@ z=0F5qy;u+Z$g|B`+5MbQWJw<_dZ)x)0IGqaS=^{mENA7_G$bojDgD!ss7|P$v$PQ~ zA91sI0iU>=t;W?MLpwx5=9~ z{+mnhxL-m|rgxyBBY}(6%ji|n>(14Wxy^LNV%8n|5H%l`n9BR4y4DO~-^#|skz)B- zBVNfURoAsDkJy&fH2cHJ>hA7%>D~JM$=obG3L>QNh8B8wO=S0&Sf`fD@Ggj_l#rP> zN-Gu4(4!c07RGX5pF6IarldF-VWfmM@w*2G8RA~*KeF?j*gU~gJDR`D3>^HuN+n^o zWohZ8m4B1)$-h8i#uK(jlA`131xM}Z{FzGg=Pcc4(ZVK}bQ1d*4KRW5N`m1&VJzh; zRif#u7q<3)|3KX~6-mtD!NPncKf>{_jjbo%eWQ>ZoBuCpG%t^uf#VNVX^mpM@h45j zP%%pJC;p_qJ^+{I9bN|I9oTA32o#4l% znN^+8Rm%;q4?`WdAy2H{2aceU@GLiT1sB+&zBmqF3vU=LGLSqwVRVEpvm0#@zO%wU zr{SDM+%xK$BcIc#!+Ke}_7jD`?TY?ih>ail4T%FcRueb?@Fuf-z}$en@k}*{d&%(1 zoh-E#7AL$+`P+FC0&o*EdIQgeDu8hXg7@C4%@pA7h1^e|3wE%?F`TE-;3lL{?SRQ8 zcaT@TPg4ho#HX@4cP|Yrd^pofRN(l+vTt;_<26FPAN6+>)ooQvDH&q!h|GSlIf<0Q zPbz+J$z)aQRNr3z2B}VPJLN}jqy2mqOMYm)?ic)|Gm56Yhh^nm&)+UFPWatQxoAHu z)UHf3!GiP?Ggy1RQ%g!^!7?<5XeJ&aXJ2xx4PCtE2v#3iYyS6!Tg~up;9KM;)Fg-N=7$$H-Ev*6nW-FN=} zoe;ZAY2=*yEz!9S5Ug?q$-_Gk2Xf})O^wF%yFAKhEjXRBRF%?j!gRr~x`e7h057Eg zUw*(ZMrX%~((#D4%xBwxp)IkaS|ake^GJAWyTM7h(PHHokLH9tYJ*COM@4A}*4!9h zMw6^vkMmX}d6%X3_gLV`tWdm%J+JVW5IP zIQSjs$DILwJZ5$b&9>WawU>Sgv|imGSdym6`z-E&;4JxQ~ONvKoZPG zw@wvq1#VxK)i=%wZ<0f%OhSc~oE_;&)>F#FPbXHi6|Z7dMA1;?Gy2~szm|C_0nM&I zg!>OZx~Yy%trO!i_m}2JbZL{Jd%zt8~cLF9e;{(_^(bjV1%?h zD+!==*f*IvX&9a~{H&hN8p`I%h& zD>#Xdb?PmQMfJKT=s~#733QB!A3)h^no|$yaMp>L`Ve7Wa;--O4gmwB{tG5sWeDbH zyV(L<=-uv=bR%J&3Ap8pJE<+Ep5Fm|4r>=F9-T{sJj*RHM&}*071)_Eg2GqoEI@SJ z>(yScJNA`d@RJB(vuF%I?MP(;rDx(5}#YZTR-dWdEqrEW=MK%XTo$#-qV>@@V zLGp%K_=$YY6mvKTLWj$cTH*QitE7Ev1bC|Z{$Wcg;ds?$H5n6yaVT#whji5S4V;^w zub1M4v2We=H;tGmAD^Qoe084Kqv0u7uQ2hZEqoStIfwqOTskd)t_X{X>wWvrRvCkM zZ5Q_%c8aY5YD2fpQ1&qIJS4EJ#3B`u5q!=hE=8Fv(4FETQgS)E2fY0FiAUit6T=Pa zy#U55uL2-jh%e!+zKz%})RxEB$k+<`qoGZ1H=Zd~SNh})#p`CSc1ii%qa0JiyUsCb zw86D&)ocUD?)E#DvUy=__3WN>y$KloXS`jWU9^g+m+7nqs_hWNsB-`a9Avg*B+#vk zmBC?H{tI5_kP_sh&n7p@YHfcuM)0bf`?sr#=eJld^7DAVOHNevtu~<`GLUB=R}KQZ zo9{@TEP zTo%#5Hb|C-h-zMqW4-qxPQPFBu@2Gz7#;OS4PW&rP#45zjp*x7y9;_;4hpBL zGagnK%70~Er#AfD&YJMqlFQBKY1dK~YWT$2IA#%`@F5`krjSb54~)40WtY*xsR)a# z83CCn<(*!ewQfEG-5tdygr+Py>MjESQtE-%_nE8|EgYMzr^1ndvTVZ~eE+$j@SrS5 z?1IZ6_wyI?wk_yLiHjg?0GIKZ*YnDXv4tLO8O+ zkCy0kVX6e;9vD)|K}9NeR=DZLEefRE4SOu$EPxrHMx9#@xSje!41ltEU!@{=o$MWm z>ZA?t$IlVaMJy;oBTL&r18+fQl^y)U=Drt`8=9s1OUh3NB2kd@;;_osR_0OM&b*p< zfExf%HC?O{4PeIeO@Dc^Xc{pmHlFY?V2!HV7m1znf5wa#J|TY_HD(I~bCJNu-Ve$t z4ZQuCovNwq3T{1d?ab$JCsI@ISy9FS`>3Is&qJKy^%u8bH~z<3t1UH<@NxYBx8;2A zel}T<)ru2jY`3lGCKq+Z!M)vD_k9>kVh20?6nTG1-MAV#v&on}3OS(nG7HLwweNW-Qob*mC${Ea2UR;r9g`1a{9k8}r| zl$uvM`c;cNR3^9ejyL1G)KZg-@W?f>xXtSQAigx;7nIQ=D>Hr0H=~w~J~mbUCTEag z6<}0WiC_yk=$O9sH`6kgQ0PE8U$)80z`FlUYa;{PBkQ9Cp=_XP|0mNVksRcvCzX?a zvlzC4wSyT%;Nw_tSWJaOK)ZIz zj=TQ%BH@-u1HVFwmiWxqZCiq~HdK%q5X=Ja@fE=9)vA;@5{=&g$-!-b@XRSc5=)N1 zJ^STo`ZAa7qnvqGCZLxf&j`s8giCx`+*$QCPSnSa*3fZgA6BZ-0JjwyUxpSfT&p1- zT|f7TY1I-JjC#=@)W6nQc+Fvob(E!B!?CvC{D`}tNlVnR{h2oEnAvgudta!arR*$= zN-6xNy0(C?bC+c5jVA2X828B%j35G(8IZlRN{J}EOjVD`9beGfN?i_>i~?TWFIZg` zPdktc27DxiQDjyzxmr&EDb)N{Kk0({z^8bt>sSG(2dhwy6{cbFT9`AOeA75d-VbTt03lz0O^{XU4{X8A>? zq}SUZu0zFhb|O~uoD+2M*oBFhX>}Sn>^}F-jQGSfp`R~n@w-GZ-h1{ji!p|#5Lhro z^R*{_F5Z5FfwgJJ9a3D=*sz<-7u=O4b~V}$?t)uT;>t5N+KD#`VZ-J)42~alL#YCk zadyO$q}o@%N-!v8_aXxR;VAlBo011(uKW+Y^E2FAW*i6q@ub3n$OU)V!-9^&$cWoO zB;jkdnx2N6wXo1cUH7{qHj#{DY*kQIVPCI@1gkxbStSl3Y-R~Vz8RTmH(&PelH{GX zU2;tEsDb)!RFAIELQ`Ke=OUUdkCR6e*pn$XW?Fb2A&Sp02c2q|=Alm3L9ngk{H1+n-~f zIRe4Z8LYgfIBdqDsW+3Lr0Z*%pfi)bHrbr-0OD)^%t(q2xFS!h)=Q4fKW$Yu1Fse zVmY(2Hre&ED8e?QljBB*n0#~L#YJs!#cK6=h$98r0!ecGVaPt=I=xP;-v2a%4|sW> zSgoUeVo44oVphi$gM%Q+!>-vt(eLTZtU};rEic&p-UR?}K|z>9ID{sGQqHsrGGOsp zE_MT69c((#rm6geWShmLcA=rWszT!hJ4q1RI?o+&;tmrt^fLxL1DFK%lUi~1K2~Pw zW2p1y4xbfa9!4OBl=+WSGbba=BoX4`fP&L8mk1%y0(xKq_jEkOs(Z(e|3oB3*WHU`qTb>rqUfG$~>^_Dm6mp50>Y(_>j=E^4!(g zI23;bi{3|2i^2>nYMsOwA#Bvbd#8T7ES3erfToBKWw-{wbvz(4l&CYpN%!>dY&-GF zMm#qOu9IqzlZUIBo)`P4v>o96$QZuPBf@}E&m7`|(4L0-1GKsuW$bdE9u>vgJbc4u z)zz&foT(3T)RwNM=AcUWO{YKJQy4ya1zAWA#Hg{v5ojO|O*W`~;(^t4$@D+~BnK+& z%=sLpy~oG^@v;v@dPml|$NZkg{8ED1IIF6B{jH#veA*$il&82US8qPrEQv+D(0=BR zS(k2l{Ao94ULeRMNZKUj-grdxUrpkhcVf=7cUpzC=w#p%!3QM?gho~z>l9|FCh{Q> z?lbQ2aN>^DguN5G!D;D&JxazAY>X;}Ni;+@no-`~&)2K@1bC;%aDijO#voop2HsbEa}Wk0U=6rmpyXtK&-@*D;*{;B zEwA65g7pV%bBq$InE$CiK8!terL`cnnL-%s1ZyiKnKIVFdgVyBMTDVbOj{`)1u#qPAizhSFQKmAmXsK_I42I@nHF-i@D_Vy~mk5aKT+ueMQ2 zG1Hgf-f}xa=jf~r(9W(!+(VtQ;+j3>O_Xi5wT8O&YJWM7y5^eJ{LNyh%AZP&$|DKw zfTTdycre*99>qDc-*_$D^|sNcK2RZntV}bs_V9ZL8hA77c;Kjc3Wu7MPydeW zZf+B^7vEoUAN17Oid|*$QWZ=9vfBRX;l@-Q8o=MjdI9=Uc&fQ|4-hsCkUhDqRnf@ zUtpO7TWBkN-eccrA-$*$hWCtf?B0v4&-xd(_3*}^&8#mk433Aip?`Lmpgn$s>zP|05Ropxm_}; z3ST|?4ZgE?)zQaer-qW)5(~Tt!Hi2=cc89!Ig=opTKVG_f{GpsEsxz(1XcUB90!KJ zcAYu88e69f5pGRdx45&$y+-7JK(cm@O@?AEG95NABW8P;b*32F6LgXfxOV}p6gGq za3FI|1IrzivLzy)OETASL{4LE%=9C{3tzLJymM$&6!eTxzQc7`VO()@vrR)puu_)AJ-KTAK znS%ej09o^DKiU~rO1Dt^F{4TZRc5uO|lm-s}#50vCQ%hAqTkZub8gZ zPCKDE1d?RO?dK7WV>A#!J4Fj@6P#qrmYgYYyU3r{E+=X36vtB1f%G$bI387-SC)1 zl&=+zp?XILKR{axZcE!q5Aw)-AeJeHvhS94-)rX0CuK#oA=`1dlLw&XW`Km$n0Gcf zoO{Vs4aZUJO1Nj&41zF!J!?gfkcTK2mk;myE>@LnXSj@Mv*$f)7p)VnIr*$X^0v*L zErjZ)pE~6sZgCV3_cnwv%jxn_G=O^gbv&fxUuwe3?j<=k8np<5hZA@SVD$_n+u(5@ zYW#!V4g38uyc)XRSG~!Zp0^)IjCcDt-fK8yL=wmZ<@ggxYT zr7xmP&Pan@z(9)9ndWv{F(2s=96x!>(?diN5SJu-qk$4Nlt5_H8$pP0e?p*bhoVfm ziX`xNb?cp`5emPwCz!_zlX5vvNe6erJ}#r0j;4)CasqHl$yhC=Nj)ix?&S>-}7A^t*4L}DP9LB$!A2@ zz-vdE6^g|8XRCT!%b#;XIX)q`_$X;L2)b3dJdwUS*rlSy##-!^%hOIfwNk}A<%w&Z zH1cQ`ATa1Cv(X}olG9L)Aq*VSb2f4uL(x=NB?g`fYbuWML&r=x6wO)AeK5KCPb*&1%8I zY}1#;a?skKyb5oQs)^G@b_|)vE=>zh2wnZp{!)MTN5Kmh=>{ptTjX`r2|B%4ZHgX^ zeD3W^Oaxnf3Y9-{OmS)EH+u1_(cK+=qK;M*XN&6#BY{O*67CG;ICd+i0--|elf55Y z5=DLA!=I-``-z&CpL7>51%RMmd8A@X4Ka2I@wHArcvDkUi~&54m#^oaT@cE>S0We( zQ)lcBbMX3$QSO-0r8+ryLc-M8Xe2gtvgRVrpl0xmQ~vcreUw2f$(OS_tsV7?fT%>6 z1iRk<_f=yxTGr=2`i;wfO@Ik9j9d8yMid*Ovi{N1E*gje3vZaDZqHGL^zDX9l!5oH zl<82F|29E#5v%V`7;)uVR;lAcQznq~GoO#vO8!wG4IhS4l6gVeH)_<<)R~^Rtxwxo zCRb;&gz=mogZrf3;n*oQL#)_(B~N&4aUa%k=i||5G0%5+CWRbo=+wRv=wnL$ zTY$k+cFC2D`SR)F_{x$rCUFzb-Bya}k&bw!Qtftmu}^sN!&$nAZgd=<;1)8ylDzAo zU1xLvpn{OcjCAn!p51%i+ZSIrm1b?m3U-UxM+zYsA2Rw3 zK1$hQfy78D7GoN!d$e$!>e7ko2&qp{%L2XeM!g=QurW(*Y%abDUJea?f_f1o2oF5_ z{=bm0#g(2?0flChNO zB-SWzoTs><1Q|ZR2?fOrBE72@@eU+h^z^t8QqMU6V+L#@a0Xr)4KAa=ZC1Q;Bll`c||2ytguOLfi zQk$#U#r@;=j=L4Lp>CV3H{h>HY126@63?3gT?(moP2d)QDnb~PF{I#eB=F1Pia~8- zLo2s!Wa*A;C0>T=8Ve!-M4-6wgmJILrd7A)`#4VDE2&s)>v!cXi6^3$>IR<6$&5P% z*PY$1fcEOT2t{6-;)L|jyCGo;7FgZ?UIh>PPe%_$d!979qv6S$4Hdgqw zv0n49*h7))FQft)0xNz#7{{GS?cx1o2#KqXt*>qg-hfL{PL{vCqO>N^aoii%Z8&DS^XOmQN0k~}3rB)-oLMnScY#joQhzkZd=yQLwa_#oyOq3*Elb8GxN zm<2ljs(Nsy-Qug$#{(cbk;q(J!wU%s+syTd>6t0i@4pb=-HgU6xf^pkfw~#+sbToo z*~O2+5PE!*1|ZQloJG7}!c8t5`x4k?(s%sj+|eO-lR-r;)8X#hzJfBzK#?#QdkOoc1$5lfOOR=;W-_AyfwY8#I^_av;^QO@f|u$qk3*jy&>IB>0-egr5o9 ztxd0Q{826HxYyiLHBw*b3WE9*-tF7luBz9utL;tD5#^`I;W9~Q(5>fR*zpkin|+@w z{YPRdv2l1bSpasLKV}ntHco+-W-?3(#?kV+R`?<$h_8rr?zDot9Z87#{JIqX=on9y z?bHO3x?b+JwV0N+<1 zM3SoEf@xvWqZg_F_C8 zO=mP4_=Jv+b?sde9|mhx7}2z`7DK@Naf_P=B}lv=MM|Z4hVncZ`f>SvT0p_inT3{3 z0KInftmCRLe)d`eYTg9-H&f0fFh#3Y?*G7u^|swvE5}hi&~`Lmf;%50Td4L zugu$DyH0LJqrgGWb&r{%*(J}8Tlu7(POB9Z>(6ErFqKLlf8js{HwM^7Rz|HBgnse~ znZ-&Uh#&0MuehHxFe@&}#x`BP1ua0d|BAL7(JB&?LH_ zyF2rpF;6OzZjpgExTd^bfG>8$)I!{*lwUPUY*48{4YpFJsd8#5Z~9uuUDJR+0T&CO z6Bj1e`TcuF=z+--%&Z~_P!0+!W=(i92;>S?myKv`sHfQ-oGAISj4Fb^T3JTg69wWJ zO1DBc*;*|H{tFC;g3Hc*OP*Qb!$JWB-Nnq~7s5R|!ol-$#RHX4M(~yFnbS9GAD#_n zagvPz$y-{kt~R_WgwRgl1gc;X<>Z7PR#>My6GTj!KYN@5%HjUO4rwXxQp-2BBH$kx z@AmFTuV$Zzc*}Ov+QE|naCj=29);(LTNn;OHN=8w5+955<%x#SX&5?4qI zK3w+j+G`*|*5ur8FM=0wxJUHi!Jn*PJFDlUM~d(-0V$|=qukCLP%AF%?JdLs`Vuir zE-iud+z_MJFb_0{vs9=HLK6Z!}W? literal 0 HcmV?d00001 diff --git a/public/images/fpv-related-openipc-companion-wfb.webp b/public/images/fpv-related-openipc-companion-wfb.webp new file mode 100644 index 0000000000000000000000000000000000000000..bd7e209c2f3195848567dafe433eaa4aceacfe8d GIT binary patch literal 31002 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 Cs4?{b literal 0 HcmV?d00001 diff --git a/public/images/fpv-related-openipc-configurator.webp b/public/images/fpv-related-openipc-configurator.webp new file mode 100644 index 0000000000000000000000000000000000000000..fdbbd412e9413758c477c0fcd74492df2eb1904a GIT binary patch literal 54994 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