From dd09200406f7dc79a66bcc35f1c0b1f3278e3b24 Mon Sep 17 00:00:00 2001 From: Paul Philippov Date: Fri, 14 Jan 2022 00:56:29 -0500 Subject: [PATCH] amendments to old articles. adding a brief introduction on contributing. --- en/guide-supported-devices.md | 7 +- en/index.md | 13 +-- en/transfer-acmev2.md | 13 +-- en/transfer-dev-ffmpeg-usage.md | 5 +- en/transfer-dev-nfs-boot.md | 5 +- en/transfer-dev-tricks.md | 8 +- en/transfer-developers.md | 11 ++- en/transfer-example-ipctool.md | 12 +-- en/transfer-gpio-settings.md | 63 +++++-------- en/transfer-image-quality-tuning.md | 16 +++- en/transfer-install-goke.md | 38 ++++---- en/transfer-install-hisi.md | 42 +++++---- en/transfer-install-novatek.md | 17 ++-- en/transfer-install-ssc335.md | 40 ++++----- en/transfer-install-xm510.md | 28 +++--- en/transfer-install-xm530.md | 24 +++-- en/transfer-majestic-streamer.md | 135 ++++++++++++++++++---------- en/transfer-memory-tuning.md | 33 +++---- en/transfer-menu-index.md | 84 ++++++++++------- en/transfer-microbe-web.md | 5 +- en/transfer-notes-for-resorting.md | 5 +- en/transfer-source-code.md | 12 ++- en/transfer-system-features.md | 15 ++-- en/transfer-sysupgrade.md | 16 ++-- en/transfer-todo-all.md | 3 +- en/transfer-wifi-xm530.md | 9 +- en/transfer-youtube-streaming.md | 106 +++++++++++----------- images/gh-contribute.png | Bin 0 -> 114464 bytes images/gh-fork.png | Bin 0 -> 111347 bytes images/logo_openipc.png | Bin 0 -> 7067 bytes index.md | 40 ++++++++- ru/discussion.md | 2 +- ru/index.md | 4 +- ru/installation.md | 2 +- ru/transfer-device-hs303.md | 33 +++---- ru/transfer-discussion-ru.md | 35 +++++--- ru/transfer-special-hs303v2.md | 8 +- ru/user-notes-melcor.md | 86 +++++++++--------- 38 files changed, 547 insertions(+), 428 deletions(-) create mode 100644 images/gh-contribute.png create mode 100644 images/gh-fork.png create mode 100644 images/logo_openipc.png diff --git a/en/guide-supported-devices.md b/en/guide-supported-devices.md index 80fd73b..31cf173 100644 --- a/en/guide-supported-devices.md +++ b/en/guide-supported-devices.md @@ -1,14 +1,15 @@ ![OpenIPC logo](https://cdn.themactep.com/images/logo_openipc.png "OpenIPC logo") -## Supported devices +Supported devices +================= Unfortunately, we cannot provide you a long list of devices that are undoubtedly compatible with our firmware. Camera manufacturers tend to change hardware design and swap components even within the same model line, without any notice. Below, we listed some of the cameras we had in our possession, but again, there -is no guarantee that if you buy one of those cameras today you won't end up with -unsupported hardware on your hands. +is no guarantee that if you'll buy one of those cameras today you won't end up +with an unsupported hardware on your hands. Somewhat working method to determine if your camera is supported by the recent version of our firmware is to open[^1] the camera case and take a look at the diff --git a/en/index.md b/en/index.md index c51fb4b..fe6e2b2 100644 --- a/en/index.md +++ b/en/index.md @@ -1,6 +1,7 @@ -![OpenIPC logo](https://cdn.themactep.com/images/logo_openipc.png "OpenIPC logo") +![OpenIPC logo][logo] -# English version +Wiki +==== ## Introduction * [About project](transfer-menu-index) @@ -12,7 +13,7 @@ * [firmware](https://openipc.org/firmware) * [ipctool](https://openipc.org/ipctool) * [telemetry](https://openipc.org/telemetry) -* [Firmware Partitions Calculation by themactep](https://themactep.com/tools/firmware-partitions-calculation) +* [Firmware Partitions Calculation](https://themactep.com/tools/firmware-partitions-calculation) ## Installation * [Goke based boards](transfer-install-goke) @@ -56,5 +57,7 @@ * [Notes from old sources](transfer-notes-for-resorting) ## Resources for recycling and integration -* [https://github.com/OpenIPC/camerasrnd](https://github.com/OpenIPC/camerasrnd) -* [https://openwrt.org/docs/techref/hardware/soc/soc.hisilicon.hi35xx](https://openwrt.org/docs/techref/hardware/soc/soc.hisilicon.hi35xx) +* +* + +[logo]: ../images/logo_openipc.png diff --git a/en/transfer-acmev2.md b/en/transfer-acmev2.md index 3259cd1..dad6f89 100644 --- a/en/transfer-acmev2.md +++ b/en/transfer-acmev2.md @@ -1,6 +1,9 @@ -# How to setup HTTPS certificates on your camera +How to install HTTPS certificates on your camera +------------------------------------------------ -Make sure your camera is accessible from the Internet and both 80 (HTTP) and 443 (HTTPS) ports are redirected on your router to the camera. +Make sure your camera is accessible from the Internet on both port 80 (HTTP) +and port 443 (HTTPS). You might need to set up port forwarding on your router +for that. Create an ACME account: @@ -8,17 +11,17 @@ Create an ACME account: $ uacme -y -v new ``` -then issue a certificate for your domain by doing +Issue a certificate for your domain: ```console $ uacme -y -v -h /usr/share/uacme/uacme.sh -t EC issue www.your.domain.com ``` -If everything goes well uacme asks you to set up a challenge, for example +If everything goes well, uacme will ask you to set up a challenge, e.g.: ``` uacme: challenge=http-01 ident=www.your.domain.com token=kZjqYgAss_sl4XXDfFq-jeQV1_lqsE76v2BoCGegFk4 key_auth=kZjqYgAss_sl4XXDfFq-jeQV1_lqsE76v2BoCGegFk4.2evcXalKLhAybRuxxE-HkSUihdzQ7ZDAKA9EZYrTXwU ``` -Then restart majestic and test access to https://www.your.domain.com \ No newline at end of file +Restart majestic and test access to https://www.your.domain.com/ diff --git a/en/transfer-dev-ffmpeg-usage.md b/en/transfer-dev-ffmpeg-usage.md index 7ba6962..7a5cc91 100644 --- a/en/transfer-dev-ffmpeg-usage.md +++ b/en/transfer-dev-ffmpeg-usage.md @@ -1,4 +1,5 @@ -## FFMPEG, RTSP and SRT examples +FFMPEG, RTSP and SRT examples +----------------------------- ``` # Copy from file to file @@ -35,4 +36,4 @@ # Receiver, untested ffplay 'srt://172.17.32.18:12345' -``` \ No newline at end of file +``` diff --git a/en/transfer-dev-nfs-boot.md b/en/transfer-dev-nfs-boot.md index 67d3d76..b83ae04 100644 --- a/en/transfer-dev-nfs-boot.md +++ b/en/transfer-dev-nfs-boot.md @@ -1,4 +1,5 @@ -## Boot device with NFS +Boot device with NFS +-------------------- Example for HI3516EV200 device @@ -8,4 +9,4 @@ bootargsnfs=mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/nfs root nfsboot=tftp 0x42000000 uImage;setenv setargs setenv bootargs ${bootargsnfs};run setargs;bootm 0x42000000 run nfsboot -``` \ No newline at end of file +``` diff --git a/en/transfer-dev-tricks.md b/en/transfer-dev-tricks.md index e3c1a4c..d66ab3b 100644 --- a/en/transfer-dev-tricks.md +++ b/en/transfer-dev-tricks.md @@ -1,5 +1,7 @@ -## Interesting tricks +Interesting tricks +------------------ ### Sharing output of a command via web - -` | nc seashells.io 1337` \ No newline at end of file +``` + | nc seashells.io 1337 +``` diff --git a/en/transfer-developers.md b/en/transfer-developers.md index ff429e7..f46d6df 100644 --- a/en/transfer-developers.md +++ b/en/transfer-developers.md @@ -1,5 +1,10 @@ -## Developers +OpenIPC Developers +================== -[![Ido's github stats](https://github-readme-stats.vercel.app/api?username=widgetii)](https://github.com/widgetii) [![Ido's github stats](https://github-readme-stats.vercel.app/api?username=dimerr)](https://github.com/dimerr) +[![Ido's github stats](https://github-readme-stats.vercel.app/api?username=widgetii)](https://github.com/widgetii) -[![Ido's github stats](https://github-readme-stats.vercel.app/api?username=zigfisher)](https://github.com/zigfisher) [![Ido's github stats](https://github-readme-stats.vercel.app/api?username=themactep)](https://github.com/themactep) +[![Ido's github stats](https://github-readme-stats.vercel.app/api?username=dimerr)](https://github.com/dimerr) + +[![Ido's github stats](https://github-readme-stats.vercel.app/api?username=zigfisher)](https://github.com/zigfisher) + +[![Ido's github stats](https://github-readme-stats.vercel.app/api?username=themactep)](https://github.com/themactep) diff --git a/en/transfer-example-ipctool.md b/en/transfer-example-ipctool.md index 1ff0474..8b1cd53 100644 --- a/en/transfer-example-ipctool.md +++ b/en/transfer-example-ipctool.md @@ -1,8 +1,8 @@ - -## Run ipctool +Run ipctool +----------- ``` -root@ipcam:/# ipctool +root@ipcam:/# ipctool --- board: vendor: OpenIPC @@ -41,7 +41,7 @@ ram: media: 32M firmware: kernel: "3.10.103+ (SMP Fri Apr 23 21:29:40 UTC 2021)" - toolchain: gcc version 7.5.0 (Buildroot 2020.02-gb5b7c71) + toolchain: gcc version 7.5.0 (Buildroot 2020.02-gb5b7c71) god-app: ipctool sensors: - vendor: SmartSens @@ -50,5 +50,5 @@ sensors: bus: 0 type: i2c addr: 0x30 -root@ipcam:/# -``` \ No newline at end of file +root@ipcam:/# +``` diff --git a/en/transfer-gpio-settings.md b/en/transfer-gpio-settings.md index f704927..467aea8 100644 --- a/en/transfer-gpio-settings.md +++ b/en/transfer-gpio-settings.md @@ -1,4 +1,5 @@ -## GPIO Settings +GPIO Settings +------------- ### Anjoy boards @@ -8,24 +9,22 @@ | SSC337 | 78 | 79 | 61 | MC-F40, YM-J10D | | SSC337DE | 78 | 79 | 61 | MC500L8 | ------ - ### CamHi/Xin boards | Processor | IRCUT1 | IRCUT2 | LIGHT | USB_ENA | |-------------|--------|--------|-------|---------| -| Gk7205v200 | | | | 9 (invert value) | -| Gk7205v300 | 10 | 11 | | 7 (invert value) | +| Gk7205v200 | | | | 9i | +| Gk7205v300 | 10 | 11 | | 7i | | | | | | | -| Hi3516Cv100 | -| Hi3516Cv200 | -| Hi3516Cv300 | -| Hi3516Ev200 | | | | 9 (invert value) | -| Hi3516Ev300 | 10 | 11 | | 7 (invert value) | -| Hi3518Ev200 | 1 | 2 | 48 | -| Hi3518Ev300 | | | | +| Hi3516Cv100 | | | | | +| Hi3516Cv200 | | | | | +| Hi3516Cv300 | | | | | +| Hi3516Ev200 | | | | 9i | +| Hi3516Ev300 | 10 | 11 | | 7i | +| Hi3518Ev200 | 1 | 2 | 48 | | +| Hi3518Ev300 | | | | | ------ +_i - inverted value_ ### Herospeed/Longse/Cantonk boards @@ -40,16 +39,12 @@ | Hi3516Ev200 | | Hi3516Av300 | 5 | 6 | ------ - ### Jabsco boards | Processor | IRCUT1 | IRCUT2 | IRSTATUS | |-------------|--------|--------|----------| | Hi3516Ev200 | 52 | 53 | 9 | ------ - ### JVT boards | Processor | IRCUT1 | IRCUT2 | LIGHT | @@ -60,51 +55,41 @@ | Hi3516Ev200 | | Hi3518Ev200 | 64 | 65 | 47 | ------ - ### JUAN boards (Sannce) | Processor | IRCUT1 | IRCUT2 | IRSTATUS | TESTED BOARDS | DEVICE ID | |-------------|--------|--------|---------------|---------------|-----------| | Hi3518Ev200 | 65 | 64 | 62 (inverted) | 18EV200_V205P | N18EV2W | ------- - ### Tiandy boards | Processor | IRCUT1 | IRCUT2 | IRSTATUS | IRCTL | RESET | |-------------|--------|--------|----------|-------|-------| | SSC335 | 78 | 79 | --- | 37 | | ------ - ### Uniview boards | Processor | IRCUT1 | IRCUT2 | RESET | DEVICE ID | |-------------|--------|--------|-------|--------------------------| | Hi3516Ev300 | 63 | 67 | 64 | Rostelecom IPC8232SWC-WE | ------ - ### XM boards -| Processor | IRCUT1 | IRCUT2 | IRSTATUS | IRCTL | ALM_IN | ALM_OUT | ETH_ACT | ETH_STA | RESET | USB_ENA | -|-------------|--------|--------|----------|-------|--------|---------|---------|---------|-------|---------| -| GK7205V200 | 8 | 9 | 15 | 16 | 4 и 53 | 55 | 14 | 12 | 0 | -| GK7205V300 | 10 | 11 | 66 | 52 | 4 | | 30 | 31 | | | -| | | | | | | | | | | | -| Hi3516Cv100 | -| Hi3516Dv100* | 14 | 15 -| Hi3516Cv200 | -| Hi3516Cv300 | 53 | 54 | 64 | 66 | 55 | 1 | | | 2 | 63 | -| Hi3516Ev200 | 8 | 9 | 15 | 16 | 4 и 53 | 55 | 14 | 12 | 0 | -| Hi3516Ev300 | 10 | 11 | 66 | 52 | 4 и 67 | 65 | 30 | 31 | 0 | -| Hi3518Ev200 | 33 | 34 | | | 61 | 35 | +| Processor | IRCUT1 | IRCUT2 | IRSTATUS | IRCTL | ALM_IN | ALM_OUT | ETH_ACT | ETH_STA | RESET | USB_ENA | +|--------------|--------|--------|----------|-------|--------|---------|---------|---------|-------|---------| +| GK7205V200 | 8 | 9 | 15 | 16 | 4, 53 | 55 | 14 | 12 | 0 | | +| GK7205V300 | 10 | 11 | 66 | 52 | 4 | | 30 | 31 | | | +| | | | | | | | | | | | +| Hi3516Cv100 | | | | | | | | | | | +| Hi3516Dv100* | 14 | 15 | | | | | | | | | +| Hi3516Cv200 | | | | | | | | | | | +| Hi3516Cv300 | 53 | 54 | 64 | 66 | 55 | 1 | | | 2 | 63 | +| Hi3516Ev200 | 8 | 9 | 15 | 16 | 4, 53 | 55 | 14 | 12 | 0 | | +| Hi3516Ev300 | 10 | 11 | 66 | 52 | 4, 67 | 65 | 30 | 31 | 0 | | +| Hi3518Ev200 | 33 | 34 | | | 61 | 35 | | | | | * HI3516D_N81820, 00014914 firmware ------ - ### Zenotech/Videopark | Processor | IRCUT1 | IRCUT2 | IRLED | DEVICE ID | diff --git a/en/transfer-image-quality-tuning.md b/en/transfer-image-quality-tuning.md index 7b8a402..bf4192f 100644 --- a/en/transfer-image-quality-tuning.md +++ b/en/transfer-image-quality-tuning.md @@ -1,4 +1,5 @@ -## Overview +Overview +-------- Each SoC manufacturer has its own software to adjust picture quality: @@ -44,8 +45,15 @@ pqtools:Waiting for connection from client! #### Run client software on Windows -* [Download](https://ssd.mathworks.com/supportfiles/MCR_Runtime/R2012a/MCR_R2012a_win32_installer.exe) and install MATLAB Compiler Runtime. +Download and install [MATLAB Compiler Runtime][mcr]. -* [Download PQTools](https://drive.google.com/file/d/1c4XZRbJKXjMBwfMJaLl5jUPcVqMbO936/view?usp=sharing) and extract a zip archive somewhere on your desktop. Launch `HiPQTools.exe`, select `Hi3516EV200_V1.0.1.2`, type IP address of your camera and click `OK` +Download [PQTools][pqt] and extract a zip archive somewhere on your PC. -Use [the manual](https://drive.google.com/file/d/1mY1lXMZVNz2Ia5CPvTF-K-907eIioSYU/view?usp=sharing) as a reference. \ No newline at end of file +Launch `HiPQTools.exe`, select `Hi3516EV200_V1.0.1.2`, type IP address of your +camera and click `OK`. + +Use [this manual][man] as a reference. + +[mcr]: https://ssd.mathworks.com/supportfiles/MCR_Runtime/R2012a/MCR_R2012a_win32_installer.exe +[pqt]: https://drive.google.com/file/d/1c4XZRbJKXjMBwfMJaLl5jUPcVqMbO936/view?usp=sharing +[man]: https://drive.google.com/file/d/1mY1lXMZVNz2Ia5CPvTF-K-907eIioSYU/view?usp=sharing diff --git a/en/transfer-install-goke.md b/en/transfer-install-goke.md index 00e7da3..e68c867 100644 --- a/en/transfer-install-goke.md +++ b/en/transfer-install-goke.md @@ -1,30 +1,27 @@ -## For XM boards ONLY with SoC GK7202V300, GK7205V200, GK7205V300 !!! +For XM boards with SoC GK7202V300, GK7205V200, GK7205V300 ONLY!!! +----------------------------------------------------------------- ### Supported sensors -Please read this [info](https://github.com/OpenIPC/openipc-2.1/wiki/supported_devices). - ------ +Please look up your sensor in [the list of supported devices][1]. ### Initial device firmware updates ``` -# - setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)' setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x42000000 0x50000 0x200000; bootm 0x42000000' setenv uk 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 uImage.${soc} && sf probe 0; sf erase 0x50000 0x200000; sf write 0x42000000 0x50000 ${filesize}' setenv ur 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 rootfs.squashfs.${soc} && sf probe 0; sf erase 0x250000 0x500000; sf write 0x42000000 0x250000 ${filesize}' saveenv -setenv soc gk7xxxxxxx <= Set you SoC as gk7202v300 or gk7205v200 or gk7205v300 +setenv soc gk7xxxxxxx # Set your SoC. gk7202v300, gk7205v200, or gk7205v300. setenv osmem 32M -setenv totalmem 64M <= 64M for gk7202v300 or gk7205v200 and 128M for gk7205v300 +setenv totalmem 64M # 64M for gk7202v300, gk7205v200, 128M for gk7205v300. setenv ipaddr 192.168.1.10 -setenv serverip 192.168.1.254 <= Set you TFTP server IP +setenv serverip 192.168.1.254 # Your TFTP server IP address. saveenv -run uk; run ur; reset <= Flash kernel, rootfs and reboot device +run uk; run ur; reset # Flash kernel, rootfs and reboot device ``` ### Follow-up quick updates @@ -36,20 +33,27 @@ run uk; run ur; reset ### A trick for GK7205V300+IMX335 users ``` -echo -e "!/bin/sh\n\ndevmem 0x120100f0 32 0x19\n" >/etc/init.d/S96trick; chmod +x /etc/init.d/S96trick +echo -e "!/bin/sh\n\ndevmem 0x120100f0 32 0x19\n" >/etc/init.d/S96trick +chmod +x /etc/init.d/S96trick ``` -Alternative way [here](https://github.com/OpenIPC/firmware/pull/117/files) ------ +Alternative way [here](https://github.com/OpenIPC/firmware/pull/117/files) ### Danger zone -You have the option to always update the bootloader. +You always have an option to update the bootloader. However, you need to +understand what you do. -However, you should have the knowledge and replace the bootloader [file](https://github.com/OpenIPC/firmware/releases/tag/latest) name. +NB! Replace bootloader filename with the one matching your SoC. +Full list is [here](https://github.com/OpenIPC/firmware/releases/tag/latest). ``` -mw.b 0x42000000 ff 1000000; tftp 0x42000000 u-boot-gk7xxxxxxxx-beta.bin; sf probe 0 -sf erase 0x0 0x50000; sf write 0x42000000 0x0 ${filesize} +mw.b 0x42000000 ff 1000000 +tftp 0x42000000 u-boot-gk7xxxxxxxx-beta.bin +sf probe 0 +sf erase 0x0 0x50000 +sf write 0x42000000 0x0 ${filesize} reset ``` + +[1]: https://github.com/OpenIPC/firmware/wiki/supported_devices diff --git a/en/transfer-install-hisi.md b/en/transfer-install-hisi.md index 774a4ed..97a88e1 100644 --- a/en/transfer-install-hisi.md +++ b/en/transfer-install-hisi.md @@ -1,30 +1,27 @@ -## For XM boards ONLY with SoC Hi35{16Ev200,16Ev300,18Ev300} !!! +For XM boards with Hi35{16Ev200,16Ev300,18Ev300} SoC ONLY!!! +------------------------------------------------------------ ### Supported sensors -Please read this [info](https://github.com/OpenIPC/openipc-2.1/wiki/supported_devices). - ------ +Please look up your sensor in [the list of supported devices][1]. ### Initial device firmware updates ``` -# - setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=hi_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)' setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x42000000 0x50000 0x200000; bootm 0x42000000' setenv uk 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 uImage.${soc} && sf probe 0; sf erase 0x50000 0x200000; sf write 0x42000000 0x50000 ${filesize}' setenv ur 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 rootfs.squashfs.${soc} && sf probe 0; sf erase 0x250000 0x500000; sf write 0x42000000 0x250000 ${filesize}' saveenv -setenv soc hi351xxxxxxx <= Set you SoC as hi3516ev200 or hi3516ev300 or hi3518ev300 +setenv soc hi351xxxxxxx # Set your SoC. hi3516ev200, hi3516ev300, or hi3518ev300. setenv osmem 32M -setenv totalmem 64M <= 64M for hi3516ev200 or hi3518ev300 and 128M for hi3516ev300 +setenv totalmem 64M # 64M for hi3516ev200, hi3518ev300, 128M for hi3516ev300. setenv ipaddr 192.168.1.10 -setenv serverip 192.168.1.254 <= Set you TFTP server IP +setenv serverip 192.168.1.254 # Your TFTP server IP address. saveenv -run uk; run ur; reset <= Flash kernel, rootfs and reboot device +run uk; run ur; reset # Flash kernel, rootfs and reboot device ``` ### Follow-up quick updates @@ -33,34 +30,35 @@ run uk; run ur; reset <= Flash kernel, rootfs and reboot device run uk; run ur; reset ``` ------ - ### Executing a command after the first run -If you have Hi3516Ev300 based board run this command: - +For a Hi3516Ev300 board: ``` set_allocator cma firstboot ``` -If you have Hi3516Ev200 or Hi3518Ev300 based board run this command: - +For a Hi3516Ev200 or Hi3518Ev300 board: ``` set_allocator hisi firstboot ``` ------ - ### Danger zone -You have the option to always update the bootloader. +You always have an option to update the bootloader. However, you need to +understand what you do. -However, you should have the knowledge and replace the bootloader [file](https://github.com/OpenIPC/firmware/releases/tag/latest) name. +NB! Replace bootloader filename with the one matching your SoC. +Full list is [here](https://github.com/OpenIPC/firmware/releases/tag/latest). ``` -mw.b 0x42000000 ff 1000000; tftp 0x42000000 u-boot-hi3516xxxxx-beta.bin; sf probe 0 -sf erase 0x0 0x50000; sf write 0x42000000 0x0 ${filesize} +mw.b 0x42000000 ff 1000000 +tftp 0x42000000 u-boot-hi3516xxxxx-beta.bin +sf probe 0 +sf erase 0x0 0x50000 +sf write 0x42000000 0x0 ${filesize} reset ``` + +[1]: https://github.com/OpenIPC/firmware/wiki/supported_devices diff --git a/en/transfer-install-novatek.md b/en/transfer-install-novatek.md index 00e003d..276218c 100644 --- a/en/transfer-install-novatek.md +++ b/en/transfer-install-novatek.md @@ -1,11 +1,12 @@ -## For XM vendor boards ONLY with SoC NT98562 and NT98566 !!! +For XM vendor boards with NT98562 and NT98566 SoC ONLY!!! +--------------------------------------------------------- ### Initial device firmware update **This section will be completed at the end of the research** ``` -run uk; run ur; reset <= Flash kernel, rootfs and reboot device +run uk; run ur; reset # Flash kernel, rootfs and reboot device ``` ### Follow-up quick updates @@ -16,14 +17,14 @@ run uk; run ur; reset ### Notes -After the first flash firmware of the device, please run the **firstboot** command to format the jffs2 partition of the settings. - ------ +After you have finished flashing new firmware, please run `firstboot` command +to format jffs2 partition used to store settings. ### Known issues -Change memory address for some tests +Change memory address for some tests. ``` -setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x03100000 0x50000 0x200000; nvt_boot'; saveenv -``` \ No newline at end of file +setenv bootcmd 'setenv setargs setenv bootargs ${bootargs};run setargs;sf probe 0;sf read 0x03100000 0x50000 0x200000;nvt_boot' +saveenv +``` diff --git a/en/transfer-install-ssc335.md b/en/transfer-install-ssc335.md index e8faf58..3cf9ece 100644 --- a/en/transfer-install-ssc335.md +++ b/en/transfer-install-ssc335.md @@ -1,25 +1,24 @@ -## For Anjoy/Brovotech/Gospell/Uniview boards ONLY with SoC SSC335 !!! +For Anjoy/Brovotech/Gospell/Uniview boards with SSC335 Soc ONLY!!! +------------------------------------------------------------------ ### Initial device firmware update ``` -# - setenv bootargs 'mem=${osmem:-32M} console=ttyS0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init LX_MEM=0x3fe0000 mma_heap=mma_heap_name0,miu=0,sz=0x1C00000 mma_memblock_remove=1 mtdparts=NOR_FLASH:256k(boot),64k(tech),2048k(kernel),5120k(rootfs),-(rootfs_data)' setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x21000000 0x50000 0x200000; bootm 0x21000000' setenv uk 'mw.b 0x21000000 ff 1000000; tftpboot 0x21000000 uImage.${soc}; sf probe 0; sf erase 0x50000 0x200000; sf write 0x21000000 0x50000 ${filesize}' setenv ur 'mw.b 0x21000000 ff 1000000; tftpboot 0x21000000 rootfs.squashfs.${soc}; sf probe 0; sf erase 0x250000 0x500000; sf write 0x21000000 0x250000 ${filesize}' saveenv -setenv soc ssc335 <= Set you SoC - ssc325, ssc335, ssc337 -setenv sensor none <= Set you sensor - gc2053, imx307, sc3335 +setenv soc ssc335 # Your SoC. ssc325, ssc335, or ssc337. +setenv sensor none # Your sensor. gc2053, imx307, or sc3335. setenv osmem 32M -setenv totalmem 64M <= 64M for ssc335 -setenv ipaddr 192.168.1.10 -setenv serverip 192.168.1.254 <= Set you TFTP server IP +setenv totalmem 64M # 64M for ssc335. +setenv ipaddr 192.168.1.10 # Your camera IP address. +setenv serverip 192.168.1.254 # Your TFTP server IP address. saveenv -run uk; run ur; reset <= Flash kernel, rootfs and reboot device +run uk; run ur; reset # Flash kernel, rootfs and reboot device ``` ### Follow-up quick updates @@ -30,20 +29,19 @@ run uk; run ur; reset ### Notes -After the first flash firmware of the device, please run the **firstboot** command to format the jffs2 partition of the settings. +After you have finished flashing new firmware, please run `firstboot` command +to format jffs2 partition used to store settings. ### Other info -**Human-readable processor names for SigmaStar devices, the data is obtained on the original firmware** - -| Engraving |/sys/class/mstar/msys/CHIP_ID|/sys/devices/soc0/soc_id |/sys/devices/soc0/machine | -|--- |--- |--- |--- | -| SSC325DE | not found | 239 | INFINITY6 SSC009B-S01A QFN128 | -| | | | | -| SSC335 | 0xF2 | 242 | INFINITY6B0 SSC009A-S01A QFN88 | -| SSC337 | 0xF2 | 242 | INFINITY6B0 SSC009A-S01A QFN88 | -| SSC337DE | 0xF2 | 242 | INFINITY6B0 SSC009B-S01A QFN128 | - - +#### Human-readable processor names for SigmaStar devices. +The data is obtained from the original firmware. +| Engraving | /sys/class/mstar/msys/CHIP_ID | /sys/devices/soc0/soc_id | /sys/devices/soc0/machine | +|-----------|-------------------------------|--------------------------|----------------------------------| +| SSC325DE | not found | 239 | INFINITY6 SSC009B-S01A QFN128 | +| | | | | +| SSC335 | 0xF2 | 242 | INFINITY6B0 SSC009A-S01A QFN88 | +| SSC337 | 0xF2 | 242 | INFINITY6B0 SSC009A-S01A QFN88 | +| SSC337DE | 0xF2 | 242 | INFINITY6B0 SSC009B-S01A QFN128 | diff --git a/en/transfer-install-xm510.md b/en/transfer-install-xm510.md index 0907f53..e2f8550 100644 --- a/en/transfer-install-xm510.md +++ b/en/transfer-install-xm510.md @@ -1,10 +1,9 @@ -## For XM vendor boards ONLY with SoC XM510 !!! +For XM vendor boards with XM510 SoC ONLY!!! +------------------------------------------- ### Initial device firmware update ``` -# - setenv bootargs 'mem=18M console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=xm_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)' setenv bootcmd 'sf probe 0; sf read 0x80007fc0 0x50000 0x200000; bootm 0x80007fc0' setenv uk1 'mw.b 0x80007fc0 ff 1000000; tftp 0x80007fc0 uImage.${soc}' @@ -15,14 +14,14 @@ setenv ur2 'sf probe 0; sf erase 0x250000 0x500000; sf write 0x80007fc 0x250000 setenv ur 'run ur1 ; run ur2' saveenv -setenv soc xm510 <= Set you SoC as xm510 -setenv osmem 18M <= xm510 has 32M ram only -setenv totalmem 32M <= xm510 has 32M ram only -setenv ipaddr 192.168.1.10 <= Set your camera IP address -setenv serverip 192.168.1.254 <= Set your TFTP server IP +setenv soc xm510 # Your SoC. xm510. +setenv osmem 18M # 18M for xm510. +setenv totalmem 32M # 32M for xm510. +setenv ipaddr 192.168.1.10 # Your camera IP address. +setenv serverip 192.168.1.254 # Your TFTP server IP address. saveenv -run uk; run ur; reset <= Flash kernel, rootfs and reboot device +run uk; run ur; reset # Flash kernel, rootfs and reboot device ``` ### Follow-up quick updates @@ -33,9 +32,8 @@ run uk; run ur; reset ### Notes -After the first flash firmware of the device, please run the **firstboot** command to format the jffs2 partition of the settings. - ------ +After you have finished flashing new firmware, please run `firstboot` command +to format jffs2 partition used to store settings. ### Load kernel modules @@ -46,5 +44,7 @@ cd /lib/modules/3.0.101\+/xiongmai/ ### Known issues -For Linux kernel built with original toolchain (gcc 4.9.2) everything works as expected, but with the same config with OpenIPC toolchain (gcc 7.5.0) pty (and only pty) doesn’t work, weird and also ran out of ideas how to fix it -https://t.me/openipc/20225 \ No newline at end of file +For Linux kernel built with the original toolchain (gcc 4.9.2) everything works +as expected, but for the same .config built with OpenIPC toolchain (gcc 7.5.0) +pty (and only pty) doesn't work. That is weird, and we also ran out of ideas how +to fix that. https://t.me/openipc/20225 diff --git a/en/transfer-install-xm530.md b/en/transfer-install-xm530.md index b7cb5e0..6c101c5 100644 --- a/en/transfer-install-xm530.md +++ b/en/transfer-install-xm530.md @@ -1,24 +1,23 @@ -## For XM vendor boards ONLY with SoC XM530/XM550 !!! +For XM vendor boards with XM530/XM550 SoC ONLY !!! +-------------------------------------------------- ### Initial device firmware update ``` -# - setenv bootargs 'mem=35M console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=xm_sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)' setenv bootcmd 'sf probe 0; sf read 0x80007fc0 0x50000 0x200000; bootm 0x80007fc0' setenv uk 'mw.b 0x80007fc0 ff 1000000; tftp 0x80007fc0 uImage.${soc} && sf probe 0; sf erase 0x50000 0x200000; sf write 0x80007fc0 0x50000 ${filesize}' setenv ur 'mw.b 0x80007fc0 ff 1000000; tftp 0x80007fc0 rootfs.squashfs.${soc} && sf probe 0; sf erase 0x250000 0x500000; sf write 0x80007fc0 0x250000 ${filesize}' saveenv -setenv soc xm530 <= Set you SoC as xm530 for xm530 and xm550 -setenv osmem 35M <= 35M for xm530 and 64M for xm550 -setenv totalmem 64M <= 64M for xm530 and 128M for xm550 -setenv ipaddr 192.168.1.10 -setenv serverip 192.168.1.254 <= Set you TFTP server IP +setenv soc xm530 # Your SoC. xm530 for both xm530 and xm550. +setenv osmem 35M # 35M for xm530, 64M for xm550. +setenv totalmem 64M # 64M for xm530, 128M for xm550. +setenv ipaddr 192.168.1.10 # Your camera IP address. +setenv serverip 192.168.1.254 # Your TFTP server IP address. saveenv -run uk; run ur; reset <= Flash kernel, rootfs and reboot device +run uk; run ur; reset # Flash kernel, rootfs and reboot device ``` ### Follow-up quick updates @@ -29,9 +28,8 @@ run uk; run ur; reset ### Notes -After the first flash firmware of the device, please run the **firstboot** command to format the jffs2 partition of the settings. - ------ +After you have finished flashing new firmware, please run `firstboot` command +to format jffs2 partition used to store settings. ### Load kernel modules @@ -40,4 +38,4 @@ cd /lib/modules/3.10.103\+/xiongmai/ /usr/bin/load_xiongmai ``` -P.S. At the moment, video support is in development +NB! As of today, video support is still in development. diff --git a/en/transfer-majestic-streamer.md b/en/transfer-majestic-streamer.md index 19cc289..4118400 100644 --- a/en/transfer-majestic-streamer.md +++ b/en/transfer-majestic-streamer.md @@ -1,73 +1,116 @@ -## Preamble +Majestic streamer +----------------- -Majestic is a video streaming application, the heart of our firmware (in relation to camera/video surveillance functionality). It's configurable via file /etc/majestic.yaml and by default has many features/services enabled. Unneeded options can be turned off for better security and performance. +### Preamble -## Camera related URLs in firmware +Majestic is a video streaming application, the heart of our firmware (in +relation to camera/video surveillance functionality). Majestic is configurable +via /etc/majestic.yaml file, and has many features/services enabled by default. +Unneeded options can be switched off for better security and performance. -With firmware running, you can access the camera using URLs below (192.168.1.10 is an example of camera IP address): +### Camera related URLs in firmware -### Live video +With firmware running, you can access the camera using URLs below +(192.168.1.10 is an example of camera IP address): -* http://192.168.1.10/ - [HLS](https://en.wikipedia.org/wiki/HTTP_Live_Streaming) live streaming is web browser -* http://192.168.1.10/mjpeg.html - [MJPEG](https://en.wikipedia.org/wiki/Motion_JPEG) & [MP3](https://en.wikipedia.org/wiki/MP3) streaming in web browser -* http://192.168.1.10/video.mp4 - [MP4](https://en.wikipedia.org/wiki/MPEG-4_Part_14) video (Fragmented MP4) -* rtsp://192.168.1.10 - Main channel of [RTSP](https://en.wikipedia.org/wiki/RTSP) stream (section "video0:" in config ) -* rtsp://192.168.1.10/stream=1 - Second channel RTSP streamer (section "video1:" in config ) +#### Live video -### Still image +* http://192.168.1.10/ - [HLS][hls] live streaming is web browser. +* http://192.168.1.10/mjpeg.html - [MJPEG][mjpeg] & [MP3][mp3] streaming in web browser. +* http://192.168.1.10/video.mp4 - [MP4][mp4] video (Fragmented MP4). +* rtsp://192.168.1.10 - Main channel of [RTSP][rtsp] streamer (video0 in config). +* rtsp://192.168.1.10/stream=1 - Second channel of RTSP streamer (video1 in config) -* http://192.168.1.10/image.jpg - image snapshot in [JPEG](https://en.wikipedia.org/wiki/JPEG) format +#### Still image -Supports specific image parameters in URL like `/image.jpg?width=640&height=360&qfactor=73&color2gray=1`: -1) `width` and `height` - size of picture to scale original image -2) `qfactor` - JPEG quality factor between 1 and 99 -3) `color2gray` - force to grayscale convertion -4) `crop` - crop image in format `16x16x320x320`, where first numbers are left and top image coordinates and others are image width and height +* http://192.168.1.10/image.jpg - image snapshot in [JPEG][jpeg] format. + Supports specific image parameters in URL, e.g. `/image.jpg?width=640&height=360&qfactor=73&color2gray=1`: + -`width` and `height` - size of picture to scale original image. + - `qfactor` - JPEG quality factor between 1 and 99. + - `color2gray` - force to grayscale conversion. + - `crop` - crop image in format `16x16x320x320`, + where first numbers are left and top image coordinates + and others are image width and height. +* http://192.168.1.10/image.heif - image snapshot in [HEIF][heif] format, + use `stream` parameter to specify channel (the same approach as for RTSP channels) +* http://192.168.1.10/image.yuv - image snapshot in [YUV420][yuv] format. +* http://192.168.1.10/image.dng - [raw image][raw] snapshot from the sensor in + [Adobe DNG][dng] format (only for v>=2 HiSilicon processors). -* http://192.168.1.10/image.heif - image snapshot in [HEIF](https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format) format, use `stream` parameter to specify channel (the same approach as for RTSP channels) -* http://192.168.1.10/image.yuv - image snapshot in [YUV420](https://en.wikipedia.org/wiki/YUV) format +##### Tips: -Use `convert -verbose -sampling-factor 4:2:0 -size 1920x1080 -depth 8 image.yuv image.png` to convert to usable format, where `1920x1080` is picture resolution from video0 and `.png` is a target format. - -* http://192.168.1.10/image.dng - [raw image](https://en.wikipedia.org/wiki/Raw_image_format) snapshot from sensor in [Adobe DNG](https://en.wikipedia.org/wiki/Digital_Negative) format (only for v>=2 HiSilicon processors) +To convert YUV image to a more common image format, use `convert` command from +ImageMagick software. Run it like this: +``` +convert -verbose -sampling-factor 4:2:0 -size 1920x1080 -depth 8 image.yuv image.png +``` +where `1920x1080` is the picture resolution of video0, and `.png` is the target +image format. ### Audio input -* http://192.168.1.10/audio.opus - [Opus](https://en.wikipedia.org/wiki/Opus_(audio_format)) audio stream -* http://192.168.1.10/audio.m4a - [AAC](https://en.wikipedia.org/wiki/Advanced_Audio_Coding) audio stream -* http://192.168.1.10/audio.mp3 - [MP3](https://en.wikipedia.org/wiki/MP3) audio stream -* http://192.168.1.10/audio.pcm - Raw [PCM](https://en.wikipedia.org/wiki/Pulse-code_modulation) audio stream +* http://192.168.1.10/audio.opus - [Opus][opus] audio stream. +* http://192.168.1.10/audio.m4a - [AAC][aac] audio stream. +* http://192.168.1.10/audio.mp3 - [MP3][mp3] audio stream. +* http://192.168.1.10/audio.pcm - Raw [PCM][pcm] audio stream. +* http://192.168.1.10/audio.alaw - [A-law][alaw] compressed audio stream. +* http://192.168.1.10/audio.ulaw - [μ-law][ulaw] compressed audio stream. +* http://192.168.1.10/audio.g711a - [G.711][g711] A-law audio stream. -Use `ffplay -f s16le -ac 1 -ar 48k http://192.168.1.10/audio.pcm`, where `48k` is sample rate +##### Tips: -* http://192.168.1.10/audio.alaw - [A-law](https://en.wikipedia.org/wiki/A-law_algorithm) compressed audio stream +To play audio stream use [ffplay][ffplay] utility from [ffmpeg][ffmpeg] package. -Use `ffplay -ar 48000 -ac 1 -f alaw http://192.168.1.10/audio.alaw`, where `48000` is sample rate +``` +ffplay -ar 48000 -ac 1 -f s16le http://192.168.1.10/audio.pcm +ffplay -ar 48000 -ac 1 -f alaw http://192.168.1.10/audio.alaw +ffplay -ar 48000 -ac 1 -f mulaw http://192.168.1.10/audio.ulaw +ffplay -ar 8000 -ac 1 -f alaw http://192.168.1.10/audio.g711a +``` -* http://192.168.1.10/audio.ulaw - [μ-law](https://en.wikipedia.org/wiki/%CE%9C-law_algorithm) compressed audio stream +To play audio on camera speaker over network (Hisilicon/Goke only): -Use `ffplay -ar 48000 -ac 1 -f mulaw http://192.168.1.10/audio.ulaw`, where `48000` is sample rate +``` +curl -T test.pcm http://10.216.128.66:8888/play_audio +``` -* http://192.168.1.10/audio.g711a - [G.711](https://en.wikipedia.org/wiki/G.711) A-law audio stream +[PCM][pcm] file can be prepared using [sox][sox] program: -Use `ffplay -ar 8000 -ac 1 -f alaw http://192.168.1.10/audio.g711a` - -### Playing audio on camera via network (Hisilicon/Goke only) - -`curl -T test.pcm http://10.216.128.66:8888/play_audio` - -[pcm](https://en.wikipedia.org/wiki/Pulse-code_modulation) file format can be prepared using [sox] program(https://en.wikipedia.org/wiki/SoX): - -`sox speech.mp3 -t raw -r 8000 -e signed -b 16 -c 1 test.pcm` +``` +sox speech.mp3 -t raw -r 8000 -e signed -b 16 -c 1 test.pcm +``` ### API -Night API endpoint (make sure `nightAPI` in `nightMode` is enabled or use it from a camera without restrictions): +Night API endpoint (make sure `nightMode` is enabled in Majestic config, +or use it from the camera without restrictions): -* http://192.168.1.10/night/on - Turn on night mode -* http://192.168.1.10/night/off - Turn off night mode (set to day) -* http://192.168.1.10/night/toggle - Toggle current mode +* http://192.168.1.10/night/on - Turn on night mode. +* http://192.168.1.10/night/off - Turn off night mode (set to day). +* http://192.168.1.10/night/toggle - Toggle current mode. ### Monitoring -* http://192.168.1.10/metrics - Standard Node exporter compatible and application-specific metrics for [Prometheus](https://prometheus.io/) \ No newline at end of file +* http://192.168.1.10/metrics - Standard Node exporter compatible + and application-specific metrics for [Prometheus](https://prometheus.io/). + + +[aac]: https://en.wikipedia.org/wiki/Advanced_Audio_Coding +[alaw]: https://en.wikipedia.org/wiki/A-law_algorithm +[dng]: https://en.wikipedia.org/wiki/Digital_Negative +[g711]: https://en.wikipedia.org/wiki/G.711 +[heif]: https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format +[hls]: https://en.wikipedia.org/wiki/HTTP_Live_Streaming +[jpeg]: https://en.wikipedia.org/wiki/JPEG +[mjpeg]: https://en.wikipedia.org/wiki/Motion_JPEG +[mp3]: https://en.wikipedia.org/wiki/MP3 +[mp4]: https://en.wikipedia.org/wiki/MPEG-4_Part_14 +[opus]: https://en.wikipedia.org/wiki/Opus_(audio_format) +[pcm]: https://en.wikipedia.org/wiki/Pulse-code_modulation +[raw]: https://en.wikipedia.org/wiki/Raw_image_format +[rtsp]: https://en.wikipedia.org/wiki/RTSP +[ulaw]: https://en.wikipedia.org/wiki/%CE%9C-law_algorithm +[yuv]: https://en.wikipedia.org/wiki/YUV +[ffplay]: https://ffmpeg.org/ffplay.html +[ffmpeg]: https://ffmpeg.org/ +[sox]: https://en.wikipedia.org/wiki/SoX diff --git a/en/transfer-memory-tuning.md b/en/transfer-memory-tuning.md index e0d3d31..e73acdd 100644 --- a/en/transfer-memory-tuning.md +++ b/en/transfer-memory-tuning.md @@ -1,19 +1,22 @@ -## HiSilicon boards +HiSilicon boards +---------------- ### Disable subsystems you don't use -Vendor kernel memory modules take around 5 megabytes of RAM (code with dynamic memory for buffers) and some of them are useless if you don't need specific functions like (OSD, motion detection, audio, H264/265/JPEG codecs) +Vendor kernel modules take about 5 megabytes of RAM (code with dynamic memory +for buffers) and some of them are pretty useless you need specific functionality +like OSD, motion detection, support of audio, or H264/265/JPEG codecs. -| Feature | Modules | Size | -|---------------------------------------|----------------------------------------------------------------------------------------------------|------| -| Audio output | hi3516ev200_ao hi3516ev200_adec | | -| Audio input | hi3516ev200_ai hi3516ev200_aenc | | -| Audio support (both input and output) | hi3516ev200_acodec hi3516ev200_adec hi3516ev200_aenc hi3516ev200_ao hi3516ev200_ai hi3516ev200_aio | | -| I2C sensor support | hi_sensor_i2c | | -| SPI sensor support | hi_sensor_spi | | -| PWM support | hi_pwm | | -| Motion detection | hi3516ev200_ive | | -| JPEG snapshots | hi3516ev200_jpege | | -| H.264 codec support | hi3516ev200_h264e | | -| H.265 codec support | hi3516ev200_h265e | | -| OSD support | hi3516ev200_rgn \ No newline at end of file +| Feature | Modules | Size | +|---------------------------------------|---------------------------------------------------------------------------------------------------------|------| +| Audio output | hi3516ev200_ao, hi3516ev200_adec | | +| Audio input | hi3516ev200_ai, hi3516ev200_aenc | | +| Audio support (both input and output) | hi3516ev200_acodec, hi3516ev200_adec, hi3516ev200_aenc, hi3516ev200_ao, hi3516ev200_ai, hi3516ev200_aio | | +| I2C sensor support | hi_sensor_i2c | | +| SPI sensor support | hi_sensor_spi | | +| PWM support | hi_pwm | | +| Motion detection | hi3516ev200_ive | | +| JPEG snapshots | hi3516ev200_jpege | | +| H.264 codec support | hi3516ev200_h264e | | +| H.265 codec support | hi3516ev200_h265e | | +| OSD support | hi3516ev200_rgn | | diff --git a/en/transfer-menu-index.md b/en/transfer-menu-index.md index 2abad58..062ba28 100644 --- a/en/transfer-menu-index.md +++ b/en/transfer-menu-index.md @@ -1,21 +1,25 @@ ## Basic information -The OpenIPC is an alternative [firmware](https://github.com/OpenIPC) for IP cameras and a kind of umbrella for other projects that are components of our system. +The OpenIPC is an alternative [firmware](https://github.com/OpenIPC) for +IP cameras and a kind of umbrella for other projects that are components of +our system. -The OpenIPC is a Linux operating system based on Buildroot/OpenWrt projects and targeting IP cameras with chipsets from different vendors, starting with Goke GK72xx, HiSilicon Hi35xx, SigmaStar SSC33x, and XiongmaiTech XM5xx. +The OpenIPC is a Linux operating system based on Buildroot/OpenWrt projects and +targeting IP cameras with chipsets from different vendors, starting +with Goke GK72xx, HiSilicon Hi35xx, SigmaStar SSC33x, and XiongmaiTech XM5xx. -Everyone is welcome and can use/contribute to the project in any way they find useful! +Everyone is welcome to use/contribute to the project in any way they find useful! -We would be grateful for the feedback and suggestions. +We would be grateful for any feedback and suggestions. ## Official links -* [OpenIPC on Wiki](https://openipc.github.io/wiki) - Collection of various documentation and instructions -* [OpenIPC on GitHub](https://github.com/OpenIPC/) - GitHub organization, most projects are hosted here -* [OpenIPC on OpenCollective](https://opencollective.com/openipc) - OpenCollective community -* [OpenIPC on Twitter](https://twitter.com/openipc) - Our main news -* [OpenIPC on YouTube](https://www.youtube.com/channel/UCaXlbR2uGTRFh8jQ2lCFd2g) - Our instructions and streams (in the plans) +* [OpenIPC on Wiki](https://openipc.github.io/wiki) - Collection of various documentation and instructions. +* [OpenIPC on GitHub](https://github.com/OpenIPC/) - GitHub organization, most projects are hosted here. +* [OpenIPC on OpenCollective](https://opencollective.com/openipc) - OpenCollective community. +* [OpenIPC on Twitter](https://twitter.com/openipc) - Our main news. +* [OpenIPC on YouTube](https://www.youtube.com/channel/UCaXlbR2uGTRFh8jQ2lCFd2g) - Our instructions and streams (in the plans). ## Telegram chat groups @@ -36,44 +40,43 @@ We would be grateful for the feedback and suggestions. ### Firmware -* [openipc-2.1](https://openipc.github.io/firmware) - Firmware development and creation system based on Buildroot -* [openipc-1.0](https://github.com/OpenIPC/chaos_calmer) - Firmware development and creation system based on OpenWrt 15.05 -* [coupler](https://github.com/OpenIPC/coupler) - Seamless transition between video cameras firmware +* [openipc-2.x](https://openipc.github.io/firmware) - Firmware development and creation system based on Buildroot. +* [openipc-1.0][chaos_calmer] - Firmware development and creation system based on OpenWrt 15.05. +* [coupler][coupler] - Seamless transition between video cameras firmware. ### Streamers -* [majestic](https://github.com/OpenIPC/firmware/wiki/majestic_streamer) - Universal IPCam streamer -* [mini](https://github.com/OpenIPC/mini) - OpenSource Mini IP camera streamer +* [majestic](https://github.com/OpenIPC/firmware/wiki/majestic_streamer) - Universal IPCam streamer. +* [mini][mini] - OpenSource Mini IP camera streamer. ### Tools -* [ipctool](https://openipc.github.io/ipctool) - Tool (and library) for checking IP camera hardware -* [yaml-cli](https://github.com/OpenIPC/yaml-cli) - Tool for change setting in CLI -* [glutinium](https://github.com/ZigFisher/Glutinium) - Additional OpenWRT packages +* [ipctool](https://openipc.github.io/ipctool) - Tool (and library) for checking IP camera hardware. +* [yaml-cli][yaml-cli] - Tool for change setting in CLI. +* [glutinium](https://github.com/ZigFisher/Glutinium) - Additional OpenWRT packages. ### Windows software -* [exipcam](http://team.openipc.org/exipcam) - Cool utility for repairing IPCam (For Windows, works in Linux via Wine) -* [ipcam_dms](http://team.openipc.org/ipcam_dms) - IPCam Device Management System (For Windows, works in Linux via Wine) +* [exipcam](http://team.openipc.org/exipcam) - Cool utility for repairing IPCam (For Windows, works in Linux via Wine). +* [ipcam_dms](http://team.openipc.org/ipcam_dms) - IPCam Device Management System (For Windows, works in Linux via Wine). ## Developers -| Name | Role | Participation | -|------|------|---------------| -| [Dmitry Ilyin](https://web.telegram.org/#/im?p=@widgetii) | co-founder and main participant of the OpenIPC project | [ipctool](https://github.com/OpenIPC/ipctool), [majestic](https://github.com/OpenIPC/majestic_issues), [mini](https://github.com/OpenIPC/mini), [motors](https://github.com/OpenIPC/motors) | -| [Dmitry Ermakov](https://web.telegram.org/#/im?p=@dimerrr) | main participant | [coupler](https://github.com/OpenIPC/coupler), [firmware](https://github.com/OpenIPC/firmware), [ipctool](https://github.com/OpenIPC/ipctool) | -| [Igor Zalatov](https://web.telegram.org/#/im?p=@FlyRouter) | **project founder and development coordinator** | [chaos_calmer](https://github.com/OpenIPC/chaos_calmer), [firmware](https://github.com/OpenIPC/firmware), [wiki](https://github.com/OpenIPC/firmware/wiki) | -| [Ivan Pozdeev](https://web.telegram.org/#/im?p=@John) | developer | [microbe-web](https://github.com/OpenIPC/microbe-web), [yaml-cli](https://github.com/OpenIPC/yaml-cli) | -| [Konstantin](#) | developer | [hisi-trace](https://github.com/OpenIPC/hisi-trace), [yaml-cli](https://github.com/OpenIPC/yaml-cli) | -| [Maksim Patrushev](https://web.telegram.org/#/im?p=@maxi380) | developer | [motors](https://github.com/OpenIPC/motors) | -| [Maxim Chertov](https://web.telegram.org/#/im?p=@mAX3773) | co-founder of the OpenIPC project | [chaos_calmer](https://github.com/OpenIPC/chaos_calmer), [ipctool](https://github.com/OpenIPC/ipctool), [mini](https://github.com/OpenIPC/mini) | -| [Paul Philippov](https://web.telegram.org/#/im?p=@themactep) | main participant | [microbe-web](https://github.com/OpenIPC/microbe-web) | -| [Sergey Sharshunov](https://web.telegram.org/#/im?p=@USSSSSH) | co-founder of the OpenIPC project | [chaos_calmer](https://github.com/OpenIPC/chaos_calmer), [burn](https://github.com/OpenIPC/burn) | -| [Temirkhan Myrzamadi](https://web.telegram.org/#/im?p=@hirrolot) | main participant | [smolrtsp](https://github.com/OpenIPC/smolrtsp) -| [Vasiliy Yakovlev](https://web.telegram.org/#/im?p=@#) | general facilitator | | +| Name | Role | Participation | +|------------------------------------------------------------------|--------------------------------------------------------|--------------------------------------------------------------------------| +| [Dmitry Ilyin](https://web.telegram.org/#/im?p=@widgetii) | co-founder and main participant of the OpenIPC project | [ipctool][ipctool], [majestic][majestic], [mini][mini], [motors][motors] | +| [Dmitry Ermakov](https://web.telegram.org/#/im?p=@dimerrr) | main participant | [coupler][coupler], [firmware][firmware], [ipctool][ipctool] | +| [Igor Zalatov](https://web.telegram.org/#/im?p=@FlyRouter) | **project founder and development coordinator** | [chaos_calmer][chaos_calmer], [firmware][firmware], [wiki][wiki] | +| [Ivan Pozdeev](https://web.telegram.org/#/im?p=@John) | developer | [microbe-web][webui], [yaml-cli][yaml-cli] | +| [Konstantin](#) | developer | [hisi-trace][hisi-trace], [yaml-cli][yaml-cli] | +| [Maksim Patrushev](https://web.telegram.org/#/im?p=@maxi380) | developer | [motors][motors] | +| [Maxim Chertov](https://web.telegram.org/#/im?p=@mAX3773) | co-founder of the OpenIPC project | [chaos_calmer][chaos_calmer], [ipctool][ipctool], [mini][mini] | +| [Paul Philippov](https://web.telegram.org/#/im?p=@themactep) | main participant | [microbe-web][webui] | +| [Sergey Sharshunov](https://web.telegram.org/#/im?p=@USSSSSH) | co-founder of the OpenIPC project | [chaos_calmer][chaos_calmer], [burn][burn] | +| [Temirkhan Myrzamadi](https://web.telegram.org/#/im?p=@hirrolot) | main participant | [smolrtsp][smolrtsp] | +| [Vasiliy Yakovlev](https://web.telegram.org/#/im?p=@#) | general facilitator | | ------ ### Support @@ -111,3 +114,18 @@ Thank you. Open Collective donate button PayPal donate button YooMoney donate button + + +[burn]: https://github.com/OpenIPC/burn +[chaos_calmer]: https://github.com/OpenIPC/chaos_calmer +[coupler]: https://github.com/OpenIPC/coupler +[firmware]: https://github.com/OpenIPC/firmware +[hisi-trace]: https://github.com/OpenIPC/hisi-trace +[ipctool]: https://github.com/OpenIPC/ipctool +[majestic]: https://github.com/OpenIPC/majestic_issues +[mini]: https://github.com/OpenIPC/mini +[motors]: https://github.com/OpenIPC/motors +[smolrtsp]: https://github.com/OpenIPC/smolrtsp +[webui]: https://github.com/OpenIPC/microbe-web +[wiki]: https://github.com/OpenIPC/firmware/wiki +[yaml-cli]: https://github.com/OpenIPC/yaml-cli diff --git a/en/transfer-microbe-web.md b/en/transfer-microbe-web.md index cac6315..4a46c2e 100644 --- a/en/transfer-microbe-web.md +++ b/en/transfer-microbe-web.md @@ -1,3 +1,4 @@ -## Microbe WEB interface +Microbe web interface +--------------------- -Default login/password - admin/12345 +Default login/password: admin/12345 diff --git a/en/transfer-notes-for-resorting.md b/en/transfer-notes-for-resorting.md index 3690823..c79d8bf 100644 --- a/en/transfer-notes-for-resorting.md +++ b/en/transfer-notes-for-resorting.md @@ -1,6 +1,7 @@ -## Installation: how to make OpenIPC running on certain HW +Installation: how to make OpenIPC running on certain hardware +------------------------------------------------------------- -Supported HW and installation procedures are given on [openipc.org](https://openipc.org/firmware/) site. +Supported hardware and installation procedures are given on [openipc.org](https://openipc.org/firmware/) site. Please follow on site instructions for your CPU and video chip! diff --git a/en/transfer-source-code.md b/en/transfer-source-code.md index 08df884..f21401e 100644 --- a/en/transfer-source-code.md +++ b/en/transfer-source-code.md @@ -1,19 +1,19 @@ -## Source code +Source code +----------- **At the moment, we are working on creating a high-quality repository with source code.** **Please be patient because we want to provide a completely beautiful and ready-made project.** ------ - ### Quick build from sources Install some packages to system and clone OpenIPC repo ``` -sudo apt-get update -y ; sudo apt-get install -y bc build-essential git unzip +sudo apt-get update -y +sudo apt-get install -y bc build-essential git unzip git clone --depth=1 https://github.com/OpenIPC/firmware.git -cd openipc-2.1 +cd firmware ``` Run the commands below for your board and your files will end up in the "output/images" directory @@ -101,5 +101,3 @@ PLATFORM=sigmastar make br-sigmastar-osdrv-ssc335-{dirclean,rebuild} # PLATFORM=xiongmai make br-xiongmai-osdrv-xm530-{dirclean,rebuild} ``` - - diff --git a/en/transfer-system-features.md b/en/transfer-system-features.md index 820fa5c..9a200bf 100644 --- a/en/transfer-system-features.md +++ b/en/transfer-system-features.md @@ -1,22 +1,17 @@ -## System features +System features +--------------- * Supports for most TrueType (.ttf) and certain OpenType (.otf) fonts. ------ - ### Random Number Generator -It WORKs now on Hi3516Ev200/Hi3516Ev300 devices - ------ +Works on Hi3516Ev200/Hi3516Ev300 devices. ### Watchdog -It WORKs now on Hi3516Ev200/Hi3516Ev300 devices - ------ +Works on Hi3516Ev200/Hi3516Ev300 devices. ### WiFi * Realtek Semiconductor RTL8188ETV Wireless LAN 802.11n Network Adapter - * [https://linux-hardware.org/index.php?id=usb:0bda-0179](https://linux-hardware.org/index.php?id=usb:0bda-0179) \ No newline at end of file + * [https://linux-hardware.org/index.php?id=usb:0bda-0179](https://linux-hardware.org/index.php?id=usb:0bda-0179) diff --git a/en/transfer-sysupgrade.md b/en/transfer-sysupgrade.md index 6333778..b56a610 100644 --- a/en/transfer-sysupgrade.md +++ b/en/transfer-sysupgrade.md @@ -1,22 +1,22 @@ -## Upgrade firmware +Upgrading firmware +------------------ -`sysupgrade` for old firmware +For old firmware `sysupgrade` without parameters is enough. -`sysupgrade -k -r` for new firmware +For newer firmware, use it as `sysupgrade -k -r` to update both kernel and rootfs. If you got this error: ``` losetup: /tmp/rootfs.squashfs.${soc}: No such file or directory Rootfs: Unable to get hostname, execution was interrupted... ``` -Try first update kernel: +then try to update only kernel first: `sysupgrade -k` -If it doesn't help use option --force: +If it doesn't help, use `--force` option: `sysupgrade -r --force` - -If you caught a glitch: +If you caught a glitch, retrieve the most recent version of the utility: ``` curl -k -L -o /usr/sbin/sysupgrade "https://raw.githubusercontent.com/OpenIPC/firmware/master/general/overlay/usr/sbin/sysupgrade" -``` \ No newline at end of file +``` diff --git a/en/transfer-todo-all.md b/en/transfer-todo-all.md index f137f27..9c7cf69 100644 --- a/en/transfer-todo-all.md +++ b/en/transfer-todo-all.md @@ -1,4 +1,5 @@ -# ToDo +ToDo +---- ## Bugfix diff --git a/en/transfer-wifi-xm530.md b/en/transfer-wifi-xm530.md index d99134b..fbda640 100644 --- a/en/transfer-wifi-xm530.md +++ b/en/transfer-wifi-xm530.md @@ -1,6 +1,7 @@ -## WiFi for XM530 based devices +WiFi for XM530 based devices +---------------------------- -Script /usr/sbin/wifi +Save this script as `/usr/sbin/wifi` ``` #!/bin/sh @@ -18,7 +19,7 @@ if [ "$WIFI" = "xm711" ]; then fi ``` -Settings on /etc/network/interfaces +Save these settings to `/etc/network/interfaces` ``` auto eth2 @@ -28,4 +29,4 @@ iface eth2 inet dhcp pre-up sed -i '2i \\tscan_ssid=1' /tmp/wpa_supplicant.conf pre-up (sleep 3; wpa_supplicant -B -Dnl80211 -ieth2 -c/tmp/wpa_supplicant.conf) post-down killall -q wpa_supplicant -``` \ No newline at end of file +``` diff --git a/en/transfer-youtube-streaming.md b/en/transfer-youtube-streaming.md index dbe6ad4..c0f351a 100644 --- a/en/transfer-youtube-streaming.md +++ b/en/transfer-youtube-streaming.md @@ -1,6 +1,10 @@ -## Configuration requirements +Configuration requirements +-------------------------- -To prevent accidental stream termination on temporary connection drops schedule live streaming with a start date in the far future (e.g. 31 December of the current year). It will work smoothly when you go live, disconnect the camera and then continue streaming. +To prevent accidental stream termination on temporary connection drops +schedule live streaming with a start date in the far future (e.g. December 31st +of the current year). It will work smoothly when you go live, disconnect the +camera and then continue streaming. ### HLS + H.265 @@ -8,92 +12,88 @@ Follow up [Delivering Content via HLS](https://developers.google.com/youtube/v3/ ### Create new stream -- Navigate https://developers.google.com/youtube/v3/live/code_samples page +- Navigate to page. -- Select Resource 'liveStreams' and Method 'insert' +- Select 'liveStreams' as Resource and 'insert' as Method. -- In table below click on 'insert' use case +- In table below, click on 'insert' use case. -- Fill on right side on the page: - - in 'cdn' object change "frameRate" from "60fps" to "variable", - - "resolution" from "1080p" to "variable" - - and "ingestionType" from "rtmp" to "hls": +- On the right side of the page: + - in 'cdn' object, change "frameRate" from "60fps" to "variable"; + - switch "resolution" from "1080p" to "variable"; + - switch "ingestionType" from "rtmp" to "hls": ``` - "cdn": { - "ingestionType": "hls", - "frameRate": "variable", - "resolution": "variable" - } +"cdn": { + "ingestionType": "hls", + "frameRate": "variable", + "resolution": "variable" +} ``` -- in Credentials section make sure you've selected 'Google OAuth 2.0' and 'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and deselect 'API Key' option, then press 'Execute' button below +- in Credentials section, make sure you've selected 'Google OAuth 2.0' and + 'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and + deselect 'API Key' option, then press 'Execute' button below. -- Authorize yourself using your YouТube connected account +- Authorize yourself using your YouTube connected account. -- Make sure that you got 200 response otherwise check errors and repeat. Trivial error is when [live streaming](https://support.google.com/youtube/answer/2474026?hl=en was not priviosly enabled in your account. +- Make sure that you got 200 response otherwise check errors and repeat. + Trivial error is when [live streaming](https://support.google.com/youtube/answer/2474026?hl=en) + was not previously enabled in your account. + +- Save "channelId" from the response (it looks like "UCPJRjbxYlq6h2cCqy8RCRjg"). -- Save "channelId" from the response (it looks like this "UCPJRjbxYlq6h2cCqy8RCRjg") ### Create new broadcast: -- Navigate https://developers.google.com/youtube/v3/live/code_samples page +- Navigate to page. -- Select Resource 'liveBroadcast' and Method 'insert' +- Select 'liveBroadcast' as Resource and 'insert' as Method. -- In table below click on 'insert' use case - -- Fill on right side on the page: +- In table below, click on 'insert' use case. +- On the right side of the page: - 'title' field for your broadcast like 'My Hometown Camera' - - 'scheduledStartTime' like '2020-04-21T00:00:00.000Z' (ensure that this time in the future), - - 'scheduledEndTime' like '2020-04-21T01:00:00.000Z' (scheduled end time should be after the scheduled start time) - - also press blue plus button inside "snippet" block and add "channelId" with given from stream step value ``` - "snippet": {` - `"title": "My Hometown Camera",` - `"scheduledStartTime": "2021-04-12T00:00:00.000Z",` - `"scheduledEndTime": "2021-04-13T00:00:00.000Z",` - `"channelId": "MCpZqkqqEZw806aGGHUdepIl"` - `}, +"snippet": {` + `"title": "My Hometown Camera",` + `"scheduledStartTime": "2021-04-12T00:00:00.000Z",` + `"scheduledEndTime": "2021-04-13T00:00:00.000Z",` + `"channelId": "MCpZqkqqEZw806aGGHUdepIl"` +`}, ``` - - in Credentials section make sure you've selected 'Google OAuth 2.0' and 'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and deselect 'API Key' option, then press 'Execute' button below +- in Credentials section, make sure you've selected 'Google OAuth 2.0' and + 'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and + deselect 'API Key' option, then press 'Execute' button below. -- Authorize yourself using your YouTube connected account +- Authorize yourself using your YouTube connected account. + +- Make sure that you got 200 response otherwise check errors and repeat. -- Make sure that you got 200 response otherwise check errors and repeat ### Bind the broadcast to the stream: -- Navigate https://developers.google.com/youtube/v3/live/code_samples page - -- Select Resource 'liveBroadcast' and Method 'bind' - -- In table below click on 'Bind a broadcast to a stream' use case - -- Fill on right side on the page: - +- Navigate to page. +- Select 'liveBroadcast' as Resource and 'bind' as Method. +- In the table below, click on 'Bind a broadcast to a stream' use case. +- On the right side of the page: - 'id' - ID of the broadcast (can be found in server response in step 'Create new broadcast', field 'id') - - 'streamId' - ID of the stream (can be found in server response in step 'Create new stream', field 'id') - - in Credentials section make sure you've selected 'Google OAuth 2.0' and 'https://www.googleapis.com/auth/youtube' scope (use 'Show scopes') and deselect 'API Key' option, then press 'Execute' button below +- Authorize yourself using your YouTube connected account. +- Make sure that you got 200 response otherwise check errors and repeat. -- Authorize yourself using your YouTube connected account - -- Make sure that you got 200 response otherwise check errors and repeat ### Go live! -Navigate https://studio.youtube.com/ +Navigate to . -On right side click on 'CREATE' button and then 'Go live' +On the right side, click on 'CREATE' button and then 'Go live'. -credits (c) Victor -Origin -https://github.com/OpenIPC/camerasrnd/blob/master/streaming/youtube.md + +(c) Victor, Origin: https://github.com/OpenIPC/camerasrnd/blob/master/streaming/youtube.md diff --git a/images/gh-contribute.png b/images/gh-contribute.png new file mode 100644 index 0000000000000000000000000000000000000000..bae3f87302491aa3bd009c53fd846ea45b6c446c GIT binary patch literal 114464 zcmbSyWmFv9wrxWa2mwNZJAvTtE(yWi-QC@tkl^m_?(Xj1!QI{6rC;Sc_q==l+%evL zf4aMRRPEZe_ma8hniV7?C5-q1`vV9BLKGDdkOP6<0zaXP-@^c3xnk4|AkY_(sK9px zm&M~1X9WdeoX(B4$?xd7K|YA?XKfhF3{LtXZ3Fl$vN=H%*jJ{^x9Iv26TQ7w$Y|~Z z!NDq(Kd*_zwTDmd1`apHK7W3CO6}pObZ=tfYB=^><6=^lt=2%J;eSu~>(k#4mlBIt z&oO%%Yhp>#fBo}`zx7EX7w+E&fek4_IU7G4*nGctff}2dW!lUXLqjLep2U$r|24*^ zO&aHgfdE+F?wQ4j-(0+}_Tl$ru#GwBkW!V$rW86*(_a7G(%$Q|7B>%@rcRv4p z@Lm-3?>T;SiIMh~@mV9D&M*VX1FAg^CRJX8Evq?B?xZA<`Abql3D~%a42T zWqYd2;_-x(jHxXR)?(*$zXla7ED)Tn*N7<@ae=$!e*f2k5rc-~XnL|6u#Ogd#Ssd!C`{^W(4(kgTr>w=H$m&XTG_6c&Tv| z5*F5T)k*lFsY$Ly3DJ*n(fKsp_@;h1LAv<`{vw=_jV&iKg~}*@H!*qV*&!)9HJDRy z%n#O=n5@9S&MP=-i2wKByJ^X-BdJj)I1Y>z`0{i+{72Ax>=Dsor5@$a*eRdUwv8vz`sl(H%t$p= zD@3i{BwrfDtz`u)Dz(QD%9{^_tFP-FDieCkZSD!%v9TI2-nP!pr^{_ArpVv^*_Cb2 zb3TLpFQZ}j{4QTCaagN> z0?hGXu0h#kjLc`k0p|q>bI(;kqNXY7J=%iPEkdhzFBuz4n?`sV3x!%2Oco z)8>iX;26tX7oU$>+Gv~m9mTd%AeZx*nBQOXC7J^!FVw-?Rw&;>3eqwjuR3j5yWqAF z!QKm6_wJXzs;ZI5OJw|=t%OLgNEU-lAnx@WUENst(liE+RqX2+rozNVY^{{;tTA3v zt>4AO&giFgU zRHD_wnvxF0%l2F=^zR?sj=amYn>u~lS}-|XzJ=de=1pSrXg#Y+*z8&=fb2gUp!uR6NlpIBUIkE$NpHc9_C`sf0oQssFErE?QnBA;*-?@Bs1JzngP+x_RvCUy< z-EC1XOmV9*dzNK1xzCMH7ios1wY+W|)*a0+&i~1?7w(V1>pRZCh>VZFl{#}#_VB2x zt#vuMsjRLw=&KeC#bv@*3?1G1GRXr@gdET5KZ+f?&)i`LiHf4yIpzTmD1iyVVqjo+ zu5t~r7!~GytVFx=PVd|8Xt{DG4T1sVIpx4vMs)j+qG7Jc}>kd~=R zRVw};J*x}1%6+}-&PVlK=E=-q$BF!{zyBKBUiis;vnNJOzQkB0CMJ&^rj{{y!*O?+ zst8G@O4{aZa~f^&LOTu80}?$zEv(>JJ1WMp>x zTU=SVi$wA=5rte`3)7%Hd0jolEQj;LvG5n;)rWKtsdcwhnSz?J3lA%6_{)>F$G|10 zeRyZ)Izr6*Me;acIgjg3S`l%kji(5_ZLja)KtKI{BzBlkjG&L@Xe=<^Yut?0R697g zg^Ef_dhTQ}l~j9HXeKZX&SXo<22QVROZSD-&ue^QT{Lad4W^uzFY>pos&1MX`mNUptwGfz?sD^Y6>E-yfGgl>veXVDby9s&liCjf9N2hT?CUH{jB^>Wx=ZlS*G5DYT{2ePUw1 z_V|C?{Chc@F)12VENrI6!sKWwLs&V1v);ny!{1A#0}w{9v!{k9qXn<_K=jt*5|qlt zfkj0Wp6=e=-L5sN%{H`O{Smv=jLb0>3N@ODXn2y_IJAA$Xa=NH-*!$+K>3L8Np0>O zm7P6mbfdkXE+poK0uNhv2-!3*!OSP(Eue1i(ZRca?$U@on ztu!m7ES)SK{Ok+D>5m2uMjvgPy?8)W@wC0*xs*r8qkYKUd{^7waE8(crp$2$pB_Is z!vZmiz4nX%@a5lCRSfuJDU6UkRglBcWD=S<2DD704PiV@I(Q)_faASpc7v-3Ieccg9+$w_4F zdmlA4@z$#!P+Cu_^)l!y&sUqL5dDaZ_vf{Ch9m9uV9)1m)5UtzF^ny~9Mc#fcFuj; z=@+Y&Su$QXha>(tu{f365wZ3pR=@d1_I6A*m>OZtU_Jsi|G`3XuX|f`_yp<#iK1wa zd*6U|1R(4tGg}RI_l-2V-{JegT<54v5RIm{L^^g@=6bCxIvk{WZA=t-s<)1(>R-;S z*&a-y`6FOQK1k^s^yb2CiAYKsK1T2XcoHU=)k-A5$+DXINzn68@w*Y_QoThaCR;lP zgYi+U`-hd?BkKYbT-L>Z1(qqZiHV7kd>u3?Y~?vdVP?l`-hrK&IxvX)Bfa2(Jnel*b1blqHhlvL03@8O z@=V#IJX1Afwx0cE-H{%e_xl}}(~BP`N7BX*SSGvqPqdo1x--c)pj7UizDaE*=t`4S z3+`mLoo7L7sZ?&sGVB@EIz700R#w+lEvfKuYVBs9YQy34HGF9Rq6t6M6EJv>mm1IV z(Jk(&?(CsCRwtXYS;;lY34$mUCmkUjoAxt0O%L~xsV9S0hR=iH5cCIjj%v?6tI^TX z`!%Gsjfqy%bSpnIMXDOz6EVLGs28_4^d|$Vy#oVNS(-S*@f2f~gv~AfYhHYQ+uPfF zRwzDkBMEVr6nP-X>b{kkaBi|ZHRDHLtZ7j zwOh7_CyO}Ss5nXCaNHoe`~NTpwP_xAo$!XJBZT8vn3@z%b3*WyMajxm})&`h3OxTtX)50_O?CURaIAKt5gvkVD;AQ zopYAp@LjKINvpXr4=gX^)~Q*_+y$cz>suQSu&sf=P*4QHB0)b~Rg_&HE~HsF`s1*@fY`k!QYho7Y}fzjfGd07+XEAKm) zVPFUXAm;Ut^m>c62e}c2B86HDo@n>G7c5qXPk@nAYgDHSipT3)Sd2!!Ko}~$36v_H z!hByIb@cSQgX7E-d7Pnu(^A(s-)CmJ4W47Gy%X`?j z=jTP>i}Q^i^%hHANRX$X#zq$)&qV-mK9)v)F|(o5w4%o0U?OGTB#yU9u|P=@2I+VJ zD1tEAbQ!V3`~l;ZFEK*=8vy4At3aa=S9D7?@6G@MmrCL373No2}lMt|S#f2g=*prxy!SdOST<%WR`jfvdj`>{J!Hay} zug_R+9K2rGq9!JoSLlasQ)Q}62*R+i^=Hdt6ctP`BYU-yKeiJ2t8ix za$&LK^0C7i4hV)~#?d=&EHPDaRO-8Ro>pZ_BSZ39KsW_J$Y&Dq*v=eRc_9zZw{>cg zHa718SSRst3Gb4P6AZZHgXL9Ba`JE$3R#hA4yRxU>fd4s*tKN+0qMhpFzLWK*!6PS zccM~Ktnc+AGPwILVhXOk`CQqENmxjhGRfAze-RZGeVlu?S`#w042z3X^sm19>D~F} zQ$T;&hP68t0dyHvomHfK++h3f?cgpl#@!fI-2 zh(Q7{GbM@}lZF{=*|ZU7^=5Ty(9rmmw+&&(SKQ}vBg@U6WOt`eM}A8K+R@Tr5e;D1 z3`b(2|B#(3FfeGGw+pm!)@4xnjF*Q355Q=#|AqH-+V^irfBnhk&VyvYfy6H+_JK^= zb)xb+PyKU~Z)K&;M*^OH>kf#o_qT894Rd|s39>~Bv2@DuJ?Rj;sWbF|2;8lNxRMDI zX0Rq?&oU!qbs-@G@PT&z3@sjV)ok`SO2zH&-yvA>s*MI5JT1N91h2QKrd_6!B!EQ`qiHXUN>zr=$&qmI|I8>$X7AdEri8zqzWcqsPuL_!)tYRkf98bLN_ibN1 z_#h`229M726q>~bZ4D$P*Qg-<-$9+XSdjW-esC}}8U0ixZBCIWq|P_qQ4&U_~GdmE<*=Vgt=9EZiU3a`n+Pb9VaOxd2tzcm1W zf-}{@UK;Ju4MSUyxE2!MhX>5VUu}clK>Hb-EbcXZ24~KYm-HWaU8_K zx&lKI1Y$N{!~_hgv}w~XE-$Z(u|$bF%jm`oU^jaKY-u7>L3^@TKW@MmGJ3w)6EKmR zmpAd~7q3vFmK3s@AnF<0c*|`QShnPZNewA|TfX6yRE*@2F`Mb7Is4okdVc=?_1PR= zJfT7dD8I1UTPCX$Z6Oz&175roKioSO845lCK^LEdE|h-QVA)e@Y5T%rVUeue!_va> zhlxb`BdvG3z5geo7g1BBpVhnpJYHvp5?1Xt7u5)C62cL<{QxAmaEsmdI98P=Q~|t1 z?GM@WC8LWIjfJp|3n=Bz;_JHCd%R?)z1JD~(a@{UitW^gwJt!4^oRI;Ih-l;qZ~s9 zdkUM*v@-Oio>bY=4=nV3l>f~UpTAqt`dYDQ9$^OU_mjzUMW|?W>20UHG}K`EaRLns zOBiVwwp^i1KLe?#84FTQPEfc~RAgcyxb)5Z!p`1OMMv*MmoESfboKRn0Q{>{u?JQD zs5QbWg7^`xYj|=}Cp$Yo42SXJstR!a$VeH0)WnuBQ>Zqu1&Z(Mp3mtCJ17|bPEHR@ z8sxmnN+Z3$^aQ5@SQ{~@f|H7{2nn+mUbR(J*ww<~kt0Zhpf#PP-MP4a{@~wM7r`vl zsDe(Y&=4$fy&@>Pxi8<`YKZ}&-_RA~v(*tk2YNkySbkHcB;Mxc zh%oGmo7>caq2F8JCrgeR`h09}He)?}>V2nUVeu?S8f3X#3H7(K-l5{XKIRI9k>qZ4 zKjXc2h_4HPtM9XkE`w&T(1hCz5HEt|=`dgSBM%?Q4C!H&8 zCgF2@F9WL7TJ_LALnw~+P0P)B@YrKxW7ipLqobkNEXBG2ZPj|D*G!}qH8^P~|0dn}gAGTs(- zmnK%{T2|v&{H|sZ2Rz@5dSo^!2EnZusOx~&SdlxZ#zCWlvQ1@v)h}Lg7 z?OA({II!B=$YUJa*x$|eQ#`kvNS8lq5RsDyn$MNnoE!?izCIzn-YgFQFd{J2WAKL} z_xBA-r{l$*o5S12dw35Hafjd21k824K@Mw4%R zN~Ib_vOAfEiY5O@yFj!Hc7}Fo&7#wfORasM$BiulHJZ9*;Rah8M`@pq-$`-=Sb7mYYN(ZL6c*L$k zu}V5w%QbgN=;o>5!CV0bLH*_Wby7_%xfU+KuPoT_L0u16ytp}<05p+Q2FHlct0z4R zLsyQVyq=z(sY(Z}T3NjP9^JMpPEtw=gWminfEnoS>JhF43IZURaeH8nl`T1&tkpZ# z|J!*^CeaA6*(|=PsbK>!TOKHhUfeI>E`W|umV#Q%VFC#|2ghN|Cm{cWH5w>M{oB%E z0g4<15IOlburv?W6=cTXv;x~680vJsfW&zfAgd1mk^cGe$PC2a-A%5woCY2U)16Iq zeY^n-J`&MfSx-MFSHRX8h-h2W2TWMQh+eTG_>6^oEX9g>KvHVvH_rCALmY)zqw?Vpf(pEO>lYbj+>UYf!k_aw@cI&$1OBJIG?VzfMIFWGiS_H zt33n(ya9M3&|>(ElNY@j1IuT>5EN5TZGV*E!Q!fy9|7+XL+u9VTSKWf=Jy0eOl&SH zA^DYcgRoBwb$#(9<*m@e)+ci@GYe)VA+_!|FQQ_hIS!(1qts(EMVkyCL`jH=qNcYE zrj6?Vl_JidY);&E!G34US)S=}6CKuPdz4R#f3s0K>_?!^#**(y?!5;KZ5(U(5O_Z( zW$LV~?4EEr+i&mN!rY$q#0F)=q^6Fx{uT!{dhAdFXp-J-o8D;rK0W(4e2vY89T0o^ zV9U4}Y3v^=O5hL?^)GwD4-SK0Xf;}U!!;q?&MPd~h(M{)H@X~pmM^7y-sy$Q;l{0e z1bx2j{i#E}A&L9I9(_Db5@=i^Y3T?}0rV0#629K(pmfrGA3Feq&qsz?l4w&B69)kc zP2w~p+8K${fAJ5~Xz}u^%JFA1oWu|)QJ_|-Rp@A) z$~TA8QPvgC3ROgc??1pXCBkk=-o79~ww~Wv19cM6bnu|SfTfHJmUcs02N)R6dTVjO zhg3RrzkcO=dX_zR3)B5NVDr*1S*%#non*ha&~D$*#X0+W%hdvTh=`3<(9rn6XxT3T z@Y!}6{l`u4s!c|CK*)DESdKy_Sq4sLL+P0ITm?eF!pj+c>6PkKp{{3lcQ@Aafyj7T zhX?@RP1ouX3A1!VGwA<H6z`J`)oYbJx7m zE%JgX`6_s%d{!F|gyo`jo$qRy5mDNolRG=VP%2VKfEBglX(4Dn5xf?0IX4Blx%+gz zq@fT5d3kyN2<(B|w3Z^RHp()!`t?6i`au4ZA&@E8x&qh$tBGt?l;g|2xe9ZDgwxg4 z4Npm-dP2fC`tv6$$!Tb<(Ui&k?u0BO4oxrwU3auGh?tagQ^#8RM2+Pf>3yd0+IPVE z1!9B{t14>^7J}m*L6F)xRUxli4x}8p!PE19YXNc|a)p&g$HtO)_0a)dZ+NQSn;UL@ ziVw(RYu-%n;Nk6AEniarmf*&@sy&6XFOyA6YDoa-y4+7iJy$(g17yGHWFcV!?b9FU zb(wMP^YI&wAAxt8K=-B*U=9K1>R@2m_-1P&8*8q7Ez^F$>C8}lC5&m$C^Vit1RAw$ zCb9SiCwtWTcUT+R=ZUCHQ9>3%bS6v2501DW1hK=dtd8&6yLT#0%HRI7U%kWM^R%|z zzC3YmZ$l*+QFJXs;r}_9rr=Q@h7kAj48*T1^1GK3Qt2|A_b;8&lAh`#o3k zmy5mu+m(lsR$rq7pY|D>)pLtdN!BtMzQCUHrkSZw$xo?Xz%LI__8Q&DBC~I$$fILK zB}6(0ml5iku;P-LcZC#Ctw@%ON|HSN7EUwK}H_HH#>m^AbC zTk0Rzw4XkKDwy`JS3nuJGYKd%lyOa`W>G7?C^$HGqeGOvBf4g0VjJDRWr`G}@md!# zKD_>RQFJ+5xD7c#jT_xDu4@mdA#1N-0N5{8mqTji^>_I6j)8U?qff; zu;g%~K0EX3A0RW}6pi`>rXu0k2~z{N?9Y~Q0m;2P6Q|`<#U#*#01k+zIP`KQ|E~8G z?ka@9t9=!q_3d3C-W7QtfwZ+9SWt4f$(#bfXU>0kvby6{$F8KUUPg4+nTqF0U)2#&z=E1kQuVK zZg)5mIy#>^DzxJ^7GeN!k*ir?l~isF)GjW}*2y`HDfQ3f(xgzaR;^83BHAZg;lEtG z`a&?i($nw%#y2(9wF)mup#nPmarOcKC=Eo?7Fks5Meg<|HgX2Utal55@{c%F@rPX93RyVV$U8r9dubkLW`b?sI( zeD3$XZ7K}Zqht1X&lrw${GEQ^OeOxxGg|2Z%PQ0=Ae=d3j$P+N0RXao4Te0mmUtm& zScxcwieg1qK#%|CL<15cms7q=8RxU>`6u4*UCd^SvB{>v4V?F2#2B_bqQ7m4JYjo) zG7ba89*I#sNz8_nC!Ee(Tj9-Q(A@7o3_DG>o6lKu*Q5flxP1m}iOS!KJv2nI+~l6X zZ}pp=jj3mvdaqz4c3WY3$n12vNjjJttoGM{H{(d4q%5D||HwUUIk{*yg(o~RW@UA~ zeR$H>weXKg`&wo;yE#gr{$Aih>m9^e0UDI4y!QRCy#N6Y=nm?iJR$-)>?;`h7LaMU z-QdL*I7$UZ2p827va$+=vlFgP5P#E>r?eD_grobHI7AE?gqpf=Y2fUliL`Bi+G~@r zbUr(F3y~rP>FMbo%vb~Fq5fOWbZorLyV`L{3jb}M^BnjD1qvuv_GheR(xuftqhW>X z`~Czt5B}{$;D>;qzxa=T^d7C#0zR*Frjcw6P@rb3XGtElBQntOa#35?Q07>m-l2d=pUq%yY4CXk{~t<%Jz9@&_Wsis3Aa$M&yw1+_F-iTM39nLy?7 zZOQWGZjzCOYEQB^kGI+O10OjaGX|s)&w-l$w|IP8^ulXQG;-7KRv4i3`5lZtK&j2U zQ1j~(4D#kyP%uIQ7vvv()n=V+EVc4ZnG0!3m|W1L(8H+DDj{sUYn&K1i|F7t**ZtdnDA4|Q zGy7jY_y7Nc{ErH_&>&{tzmF!c8YEj37#2as!J&%1MPp!Ogro04%Gd_ecoK5dF<45!RsrrH(N=(P9 zwZg4$_OL2hQ_~VQq1f*f377FC=N&10U(I_!_xWXb8Fhp0DGCP_ZvsQ5dssT)l-p@y zkD3cNkprbgh$$$NrfX~GoV%G>`@6eCJ(S|-)zpW&sDJ$lku3rOSXcindYKY*KtmGx zw~{{Kz|jtwfl@KN<=u$amnF$o@23c2(CW7UYhp$#dtxTe#VgsoySwbRfr>2R!n$Kz z#q+w^t=2okV&yVwW9+D$PCiDl-@ltEW*m0mFQmB*iYETp;G_4vI~{s_*RM8CK+b3R&6vC?QA+cXNJF6DCEH2s~l+J zZtk!9#N_mFC4%UU#EzWFJ{@b&tif04mkOUU7U)Jz%-$|+6t5<_bzZ7JZk;kTMj_U4E*-_7!Xp*WZ^d-hMWW(fVoenPMBC!A zu&oz8v(kJ#0`V3b2wFPZx3Aqq1~xK(SV)qoDddn}T9h5#SZJAgcSbc`s7CP=BUv4v z!IQ(`$`xeZMKQm}l&$fd>2XGRvbZ&`tJ)EQ5vZ;5;bAoF{H6Vqe7&IUy$~{Kzf42p zI~28@ft86$EecaLbbJ}xbvGhqKe@^}=Irnm4t=$Gxgi=J{fDVl6Qh$L7@et4#zb3_ z^Xq5<(mIT^_5BWIQ4tI@7B`}irMsX(Njxalj1c{+CYN#;l9=KNxy6Oh?}%|6A4ZYZ zM7FnfvOw2GB?ey3n%z6SC&Y_%AE7d}Y~h_EW)Wd8;KcHWj=z8wm4^nBU!{`9p(5iP z3-qu$IFNme45=5Gb3yt2!5U*wnZe>;WYba&&pQnIu*bDqL!Bcj@7<=W`-c`2EitwZ>KH@G z0-#>@V!n;IcHuTf35@COdMFG9b8S!{sNj?%A!j(;rYGB`d^J%R{#k`zk4b_0Y{%^1 zUeaUILjFr3ES}e~j3SfS=&FgmeKGyjb*4y7Z4_Sb6$)*3SI9$dDLFrn<{VBU|16pQ zR$H8z-28Ucx7T{~~yG6)A>kRsaj@x}zxJhh)t>>)>-su#g`mY7^U>vT6_J>61vv5`94%?$IF1yJ3TCCDD_MD1Ia-`i0I@WGcS6+SB$VZO%_`- zMBj-bi#AN@64$Qd=Ge%CN9Bw_-Rb=IQfs0_Qe|Cq)V~QJA-eElPsCLI#G_oWf;*f7fYw(Wyz)6G(@eVg%$!7Qps6J*@Q`r(zmLPlncCGnR!BFqTS^eiYJO@6VDA1RtKb7gg> zWwDx#E@nBDDKpZ1k>1M32iJvX?2hi-g?VoevEFgo$AACfe<8aR9*WHr-r{`LCcotI zbjo9~)Tys$EfN-JZ@*LKjq2)c%}Lta$tQ-700$UD6MJ-#n$1VP}!3JMT_T*g3o6gz~7*;ly^ea%t~@pn2K17KJK< zZLb$iMfJp4Ra@}2pxq%yOqXf*IHaF!&;}MMLQ>zz7Mby%ZEo91#?nl zDC0-kLvt9OJ1cP_S+vmxFAfAk-%$e*CDtH?% z?%y0w3e&c1d%eWU=(jf84ZiQ@=?9Z4=b3ligtkm9B_h;j=T)(?YU#6uY0S+~XTplK z?1|!mu4CdPCm(Eo3w=Y%8!lmV15;^Xz!7$i@MK{!jXu0Y{)5*nTNWlNHN|Kq|2B&O z%Q$JxndCc*45Th!|;d-_o$+4Z4@D~ z2J@2=EMd zg*HI_=U13BW4Aw8VS7GZZ&vWJenLSR(e}3XJiTd!2S!RdpSeT8WQ`B=wj4Qs?H^mh zq_?0(X@As$q}_49F4y{o>`5JYhvTn8G@x{~EU$pZD=-*m4=-MKdm_u=S;@upND&6;#oGe~KT@#C55NPqv$ zueol2p-etKPJO&DG`+4Y<2`w%Erlis6|DmPZG-CoO17B(u<(QJScaD|eMj79`K9@+ ziSF@&Q`{vLOomEdIfyd@EQ%N!y6?eIY?+SAX#iFtHR_`qe_d}>4oIalT?R#kNYo$2pyp0;*( z#UvyUat6Z5XlTO5HQghlqoWTl5N)>d3Hpyb8S=>>Csw|p*Ij*!@J z5}<6M8;E&S5b$PVekZU0u5N|NX-R8|?+I=iIoh$y9Pk&5rcW7FcoL|@1*T0nN&K!D znp|krOj(Wc{aB~!v2_L+)3a3<=Ecz4~38`m==_RO$fUYA-W#?M~qcyM#98z_H| z-VB9eM8(F|VBJ7g>qE-8Ac7?`fHIQ5>`>8kHMffiQsGjSJ?+B$Hc#^?9uUXyy9n%R zs~LkebG1&e8&Ri8GGJ~`qE6m5#^rH*W<>b*K1zJf`mxGvMTm%qK&~;83U3h*Mzvfq z;;>okule>M9L~j5=ZPCOg(tI^+W^|^WLDEr(+Vcw?T?h7@8InYr%eIHJa}h>7tr(K z`B=ASj8|s;Fqymk`npsT;R=slWxurceBZ;2PN&*GN>E_GcdBVL_L?+9<=r*g@6Vv$ zu^z$4HdX26X|>iQ-cYW2f0ltq4cSqSr+)gqSZ8kdS;oNA{tGd4D4;9ZGonX^Gw|}JDiFn(59^odVXO%Bm|nqx%w%y8m-$gJ2om#kbypN zURODzPCr-=z8B$mI!%G3$-Miu(uKduRX_-#ITx>9&)|J(VWv=#-!bKWSc?&YPG>k) zjJ6HVfHXC@0uA^g#S;HlYrYP3py3`^SLayX@Q^}8#2AcH06w%fOK10t4?j`ES)Lya z1H^sgvf1ok2SW3l!T8f<@;K(^=3ePMC_ccu9C84ntbe@`jvsKY$#2G==2iAIovwt! znXT|TwZy=}3aYDPdAK^VGD=QPTtD38S24i^!jkn(eazcV^T|pr%UgW*Q2-7aKeqqQ z6HMphTjhm~V1svY2)J8HQw8&Uf=qASpazc)e8btXF}c3{$}oDP@EI$^pC9U-WoXfs zmG6)|)q9u3;FwAFfg_gtwL%3?8<$%xmvCNnD8pTVPsU$i@%oe&@2cwi9e6QQw))o- z(@~Cirol4H%5mrg;;ds*M4))j1ZNv9snCbi^x_or*XxcR{i(`23GEI_*_<4OYRj&hD0)MQ_|q8d5}wNjYrlN0}Blz%9imR(f(u+9znfD ze2ycpYrtAp7wwA*Gh_Ga>PJNhi+l(M8lEKK-1P<}_)u3z&qBgXE!m^wJz@G%mAtV^ zo7LCf@J)=St-6tGRVM)&9R~vdSV?4YhI{jLGc6tcT&u=nUg)WBq53W0vzB`n5!>wI;&Z7VL5UTCQHOiN%_jnrcw^siw zX<4W=ui-r~=h*Gp6Ph`RdFHb`_UGZ=9?`6DyCA~;R;B&Car8~b4uEs!}^L(m{oaqp6324jtO?qPz1n zE0yr}DDQ5>w>_Z0>3_vsW8|y3J8Xt{w($h#8)`5S7ik3yeD@YGKrJdd(B_VkJrLy% z6YA;NH#t6G%&_^RRK$GG-?B&WO+WyZr9?T(`Xix0IxGZuTfxAlLn{de)=)fQbL1jN zwdvGZsbcAUq$zTy(iryh`IZC#vqj{{WJ^_KQ`6wj`+A4ozJo=<#1xn*ZnmEvk}puL zGok?mQ-B07`N7%U1T#-8?hiyWyOB1?8>mZz(J4ximczoTJ6MN{xfp!pOfBi9*a0ih z*VhNof?XZ2AF&UA*P42L8(J6NzJCuXF|p0&^#XN3kJP=HT6sXvYm@04!}P=NjLxgj zA9$nI>l+$`vp|ZWR_uDd&{8lX1l$gRtYzvowo^unb(S$Zjw?0wvK}7Xd|-8-wX!9N zCo9T0N~OUY-s|SSe%HNIBI@z0(DL)YwE)G=IwQN1*Gs3ia(jW_CcWz<+q7CQB9 zu8jJIhJAqO3X8jv&(_w~Vxd0G7bwHQAVn8x3|6|21;9Jh-1D8XzA`^~ z2mvhMWCX+u=!{ZsPOG&))3>=Re^a1z{wl}BjePnitXKGEs1@hl^^D5lV4iddtT|57 z_L?%@KT#51=Y`oP=w0U(>apvq@vA|jewX0;F17)O6J)UgND znsK=6%|k56*QDo%jLuAMdLeh42O#mx*cytxvy!II(W7bSs4tNrS9deD$rbLYTkJ^c z?N<5&vm4`J5s=FH(t(OzH1o5gR>Dh}>L{+Tx&DWxq)+GcacfdXr@PGLNw3>JshAVf z@pOEn5diTBc_3cLi0>}ms`6NzC%q%f6?UGmpM?KHg&vO%WY`}770B+e{j19z&^HY{ zT`CqUP=dXmKFW0teTID+jR^+SR=Tf~+NP70_&{9v3)!(3uD`iWxWN;y^1VX&T0ENL z{Efy&_d0%^dNVoSAhr$OR8->q2n3^Se9yi49rd!ck?Q`sQRU^d?DI=CUN2`rQWeIq zP*IaB(tD>=p(VUfZCF`dO~g&~6AO~kmyzO?)7ZiV$WO12SLlAc;Nl*`Aw~RwoVcH0 z1A;?TXJ=vEShgvVrpCtg4*NS4%gu-o@h;qzOjjf1^)0ES*H=>anI2s{T)akiwwGPG zTCv|kIl#NIDFcTG-)zq_p@0{qQlvDSYo691CUd(vd$dd}EOB(CQuz)Ca;2&d@PPkW z?_3=1uV;2_oQuwdC#@D9FO;G1v^f4n4DhQ73)gc_wQ82}D?2sS_H$OZr%T{y!R98+ z(y}r@j&}!HXgRx2uHXybsyHT$Ni1vAv)23drPjz)HixxLHOI-cWO}tm+}o*++zh3c zlEq9Z%)j?TlmK#6+VUE~2J+8ee}3IvU7SaHoQ>UiopG!=@~+wQ2Bft(*pVN|x|d(;Q?&Z%0@`D5`31NojltHRShI8s8Ns7%gY^QAI4QkS zUeR4bVtwSMOEmiCr0rAR=MEEn(tEPF?*(SJxE;u2*TTq0FLvyyblx3fdBV|;B$ztA z$(h7U^{)bNQ>2AuNIKBUIq;D{%O4Onm2|%JX@+p$xGN7?8(O#!v|{!N!$Z&8F#aUC z^S{`*gX+ISyq0(kI++h^z^bE7B!N9Ue{D^9wx=uTeA;2WsITEbHzEZnbeHc}yck1; zj$Ns(=snF_&ZbXWlB8B}y2JIK^nZ3FY^W~1$1Et5p#OG60IlMBP0M%E@gu^}w_oS` z)+B{^ta3?U7(?JTK{9)4?q(a-m*KT1h>*#1o6h&c=3I_79A2jCs2YYZ|A)D^4vMSm z)(4xAz?)zR?j&eP2*F(J|$xC999?(XjH?k-JZJ)8S}cWS0;=2v&7 zYO1FHNjT7OdY`?QJnLD{0s!bgADvU0Na`ypXkJ8&yjSeBROc``@Ey9NQMp&dU_8)m6~z zNB&4DPg!rEb}3Y==JV%IfaOLlxyb;?W5uRD^7?D!nn&sBI7QOQj^<@vZM21&4H9Ce zuR*s_+Y&-#*P0_`bon*l%T!qh*nrLq5U!|JxM5uI?+L)JBheli{^}H@PJ-`xQFh-T z4u^jIj&9Sln9A)4OXB5rKjb?(Iq8qPdFN<8<)%-hp`iwv%?F$BQ&=o6=jmkdVC6is zRR{?9q4S*yWWSaVQ0P96$&70SC}ht+n(Y!6>17!E!2TdsWRs!FGj7?j88Roov@DfcD}PKuL$4`dV_M67F6#v z^oQavNI2xm#a?J?YTlpK-t1lFbcMy;ASw@zC!cJ++TmE|(3^#V6-d51JLmSegD-Ds z#|$)N#iLy=v#)=#9-0Kg zBi9BU0UQI4`OM9Ai}CkX!Et7*Y!0-vKNng;kO|VS^sEUN7RX-5bOjwAVtO>up~HHn zvel;jdF7tw3ljM@{5FfUI^>9^O{~T5+Pws>nOhpW2Q4!UhaO}x0X6Tc@ zEez-^JCJ(JO*U|qYc`6b$Vg|8c_X6Wx$2lpP`WB%!{^Q@q;GB1J8c}7;_@MyQH@Xd z#iH4}vf z{#?uK^APmRkd*YFVM?BQDd5B|%x(mVqw6S2RFw$BrSb)BV=(BbjsX)bJVX496+M4T zXl9;1fp%!5^Vg|sKG%MNi!WpBMC-K8`;@Lo$1VzLZz<_V%>gx=#ebB9d6h{q>DX9& zpC){cou}-xFL)bOfU)9CWmD{K=aUZWN=m5>+qL=~(&J37Tw(VlSGn-#{?hru$i&rI z6)PRFw^Nbw6PUS@eE9)*Q}?f4B6K04NcT}sSSsU5kF?@xdDa?;IhJ7;B-!$ygQU|h zfrQm$fE@+$4DXHDSZAo|>EeyyP;zLcrFzs`6~;`N1aX*E5-6bRE&q8XmB11x(BO7# z8@@Q-K;kR<&Uv=ns$-*1MgD?ppub;S?1!uVn(qAch*UC9Qt>d;8^zb6bCp2oqH$^> zj~p|BPS#2!jBs!{we2Zd-DkL+(Ut!C4--^OKJyZXnIQ)4(vZW2+P}GjLn%$opjY|W zgU)PdSbA^jC%r-@y3&@bT~o)gdz(G2R7x9YQXt<;wT1VxgRlG~jZJDDp)gH;F3nOy zy_r=6v+b$krsoZENl6Lr8&w~1oJMAWyCS8rBoXO^GPAo`I`XAZ5>Ajq;pyrk8a-IO zu-^$l`!uW@IUe7fOI#y=Lq^SlFje9QaDa`-yvv;^q!EU}NYy|~-uVKKA#XX)T+TR-kDURldv?=LcBdlq1A>js5O zZ*91^N&9zHCz3y2B#|dfzH18RW)RA!2)I%pk*&i92K@zO{Qf?*1u~+nyCi*jWc0`Eoy_qB&hTZT#b>|5W>znn8G##z3E`PbdJ1x{hGI+|Z$%Uv*54P`iIv#X14qH#UP7Z%(4HJ85-2KN_+)L-Ut!hYVi^BP+wQHg7 zuldcGebQFX9loUoyUA*K&6QTer7H5$(JnhB6{Xo+dLJ6bQg;F;*4bvi$LbzyrnJn+ z$z8btJ55)fpC2+#SGaVHqq87q@7>D}j#Uy4d*d<$38Jw=LLG#ob0SYrp0Hk>74>)? zy{xg@AdYH+Qx4!jBzAF$T%Ul|zFp+K3pukT@eV~pDlsf&**N{iw^KUL(#nxZm%8%e z+qdsgoWRSK4R}o<+t?MijmRKDA~+{#baV_VZ^xNvkr*^0t;lBinLoP#MvdKatsc({vrO6-rj~QV>Vi@9fMoZrHc}s_UaNe0#4)u=U{Fa{dZe)a6vx!Ko zaG!C<%e`m`y}h$nKGge#D6)cJq7aQWE z2QS~ia(}a~KammA)~sZZdHneMvNOL=ejM4@hK-IMdx z65+NhcC<1Hl85uwa*a~@pI3@-vZ}#@Q)A&}bOG1mcX!|TP`W6NkDKZrV1QfDDhHSur{0Iu8 zku(I)YJCKICpk_$;C!La z-oAaiw$$_jrU}aooO3=tHt18_+8Medg7n5PikH!1gz(2Cu$wi{UL=5~Hk7EiEj9YihV7A|mLC4WQ=cL7|}oBrxg|M`Fwy+Hu!1+N0G- znmz-^^++1l1)hp@wJ4OwC{J<@g^(aGBE}y-5)vAHD=8_NmX=mrS*fh|_fI~+0s!CX z6)kP_)m1fhC>q$?K#~DOj#on@*m81mIkW!d^H|zhE5${%gF224{1&GEU@H@G_(Vm7 zO(AxxRUiP{5L(BG>Y4QCb#BFlxPQD`Jql zp!V?N9n&*2I5;Gts;1e`*4SU*6H7=zNu8W7XR#Em)9$t^Qpq8d;Pu|^vyoL;Srksy z=TASv0y`HMKg!~;W@l%=2FVN+EeECv9UW*VsG!JR6uJq2^k45e^$88d0G$}%&pgK^ z1^t{M&uEZK%gfs*J5f+kyS8>u^Y1=f(7r#6EVA~W^~QxffAQjlYa0;z&^0pp9v4Sc zSy@Slj)IQzTe35^t=)|cFxC#~d}gt&f6w~0z5N;IDy@9^ z!(FhD(;(r3UkF}u|FtsUHiZ8D8xPl>K;+HutCkd+J{o+IXNGMu9xa?xa9w>Ds8ZT< zy1LTzfY!hc`Pocw$pOyjO|yiUOmcC1kM;Lol#btmemuPXMmR*Q==YSS%+%|Vg@s|#yCM3L zqYVaTm*CJ3-t!iU-uw1rZt6cYoL6(W;XIaa=1$y?NV%qCOZTAE3;0X=(6avW*C{){ z$6HjSS;ywuko=Isw8J*jpCIA(0cUG|*}p{AIqK&eyU_U^yM}?=p5I@)54p$CNMdUD z5+c+^#KesB);`L_Yw~7;^~FudhnDQl!F4;9u@`S1wgu&B?PG{PI>|>Np~qyr&IT(8 zub0QlFLlDn0){#y*ZX2(H~^=f^su+tH&@;cx(#|ju> z1IWw}9;BmM>cIWbdU%#EiIBZ{5TF3{KSDuU7LW;j87jjpv9%4i97>~++B@f(Gj$If^vG)B(UE5I|_u2OiuHUG4EXoQBmF9F0NwzF&3ZvF+Ol(GrwXa;k10E zK&#=8LDX(-F==~!zVz$8PITZ}Q_DD;SypgKg4LOoxJIMtK2-BkdqxVZ()9Si39FfrZH=;xIf-Qp`ye8{gpgAUFC zmNF2589;QWX2ke{W|x^ac+!b^6{aTqx$8aws@UVD6W3xU*3_Ov5{F#lq0nNNN3E+w z3*+29CRkVOKZd&>d+q=HeUk8bTX7)yy2H}p*MD}AFT&%WW}xi@Y|ZADQE+ipSvsP* zrGBdXse40%=|b+4J5)^CL+#IZ=SwEwn+7|pDIwn8XU32Q!Gj?JD$y^wisJWNHa|1^ zyo^`AQmEGGbJNKt>-UUq%-7fl`1<*e)|p^ALFc|jr7M&!Ab2YgKZ5Yy9K(O4fUGVC1sPW@ zuTPlTnQ(A&+#ltwnYVonQwwdf=EV`eTjdyMfDW_-2euJ}T?rfL8MlIm*4|0Nxk1me1E1afG0kI>!TIpjaCnq3Lg5vFspxz6W^|5$mTYr$~AsRA2xOs&_gCf|wRgxx7 zq`}ZHMfhdtMbjTHM%1p7({3$+g0&wN-=D&@7+k8pz1s_0VlPbpti;tBIcL-Y&EVFo*jB zzcV<9Ra-4MdqL6Mk88&rZ_iH+7rDF`=6Y7EY9sJ6dOnUq@pnzmQ)}Khdww=@#4y)2 zg7`;HkDtGNn|x(wisZW6&$4AR*~uo;RVnN6E_1L)vD@l{u}XglH6g&5aC?)1r4 zhUxq>T7j7&<>7d%U~5}?rm*}=E~_UG`IuRut5eXr|c4=cHO37p(Km7)yOx2%zQMmXuZjTHLJ zE0hjB_!ov1;gqZxuQ}|cKU{-LAsJ$qr~pPE5@uO=`%7kGf5zd>SJ^$TN4gefp8_?b z8KwzDfMHY|wC)&Q`YO)!A)(i)$E!00tL!ID6n#bJ)mTO?GF+?Q(eOX!ti*x+F=%?G z1i`^%p+-2s-_D{7z6As*)W=$s9#vIJK-pji3sIJH4P2mE+;MMw#T$*l{w>qb;$kL$ z42qshGG5y}`9R>4mVrVe03GtLjA%frHZi9POwi^4;sKhyzncmeNT^zs%iFZ~-jWMV zgx?80#;N@F+=eds2O)BTjPS7K$vfkUp062d`Z)L5I&2y;qCa(gW_UmMteA>4GHkNZ zTlU3KquXr_4uqIRrEp(pPv)!b4Bt}$gr&v#Y|93IYBXDM1W;x+M?UkB z3VTro28LK3*GD+CGREhz*4YPg!2r3FZwUR2f??Rtxt62R^y<>d37zPc==(D~kHe$H zwvmtpKRaf(Hp|7h6t|(Dh0VP@)!2`S+AziUrb(F>qeX>OmC>~4+T`88=WN#<*s?4z+}$SamfL?5_SPqr zdzs^x7>`aqf3q$PJ+8wmUj6ie!AV&*oD-w)NT|cQkT~j}fA@pfEOX$GAm(hs(W>8~ zN2O;_>a)3;Y^MJ@DngHa%1mTPytV7RK9?SuP5v!8F;T#a`>){YNB5rW%p?n>>XEWU z2;IN-<{6~^(2h4DYEDgw=HDwrvY#RU{;K~|^!T4k5ApoJum9^H^MCPU|L@=Ve~e=P zKe{zM-+!0r$G@RGSc)`=&wnnxhWy7kQ$BIRc^Gp&f?p7Rl;JC2Iv$>~Oh$b`hK_dT*`Sc+kr@q3UWDO@;DPAaomEsJ-QW+?sG z@o7Rx18Q;yAdx{{AFBTfGLnp7HF3fV6C+k@nhCx`#X|nFP=GB>?2`LMNC?SiO76=S zCRXEt&GsIJ$0#Ur{S~j19ruPa9rFm(k3b9pckL(&xx1DGRGUOSMlaFul=jZqAj|>{ zLTkpmJL}VhRwEB~k7YD(k(wYY0D6;nR{;)Jh3N|vjD6W0d72bBtghaf6<~pt(A%Wr zW1HNXDdWD(rJmocCjJYk7%0dnen<*qA#-|LD^@K$wL+R|M9d`- z5>nN%N7k#i(eE=|O7zW?7vH-vfa12{_TJRpO(J+o3aL``Ys{BvA1lkbI?3P7al+kb z!Jhj26vXsA&Ns1t{^)|NxF?dE6-Z)j97m)la=8XQUF)o8HnLs65(g_MWjob+b){{5 z5~PGqHas_d6&@7SX)z^`m_$Y|SI#uaF*$Un_MqBYAYlXn+wOP)COCRCh6GiuB1T0G z;ItAvUu*~pi4i3LiCqfs9ao+Hoy+Ob93@69GW?- z@RN#zf`6!#kbEXB=f*PZ=^j=9;C6qs>L#uG8}Z2Sq+4!XPx7^>#39QgMm;s_&fH2V z6&^d3`z%JSKE8ckDzR)v#BHKpJ>g3Ol6T+x<`Wwm+*e~!w)_J21k+XFb0}fST;G3# z=Maql%G;Ok7lV4c3shKG#P)jLl~Jp{f2VAV+wB$?uQxi)=>>soW=l65r3(?`TL&MziSpX$FLFcrm(y38&TL<%X3^ z?f>QicvCHBpg^>hU7LQ~_+DvgYxG3Y*!%McUSD17Sr|zVCeF+pHV`xu{uOXr#hq(_ zjiySY-QHPa6Ol>#dbr9@*m#c^Fw~TKMirS*o}!>aM8d9vfVfn#T}LT(UtaB0XIUkx zLE}A3$6maEJ;%q7Eg(VoZKgo059E+Qh@5J$Wd)tB|DGvLELV^_M^cjhZ5|W(PjUdS z%TY%c?6je|nSO1IuE?FB+mpNWL_EuBi0pB9GCv9Ylt#d_UsSs@lq^(q!I=vPQL^W% zxN~Eq#u5T(#Zg4eV2{(?c1;8Vr1;!c$Mivwi_c=Jxo5^#$%3QQt4t-={n4%GCPkrE z-QdrU$e>l3nA2*WS~P52Fs>)%Jq7%1L!qPLG5mD1WpHp%bx>|(1f7WEYj?L86bcPF zVkJax@8|$}4JYl6aq;n^4H_|=l?>s@T*BX3GECuKYjoraczw~C`ZJ^D^%P88UT->p zUT};D_Z^Jr!DwjKV7tq1c->e6n1qPUkWj16$;)V~?`CTgpMuSsYR_%Mnxxw6Y||c9 zBxNc=eGyBi?hvM4H#F9^;G&}djNOAq#B|JBXi-)s!CW3!rvpDu1l^)&gH>L-s5%J=dzr2`~%oo4=VsX0CiD7K)~6=c8N>l*w0<| zJtmvsFCZt+Oeih*Qi!WOsoZ~iNjI3-pbPD1H(NH_$L7>Kx4FL9{)z|%bT8f%;}lCv z%TQqH0G#&t$rFWIO`6uWw$P#?5SD4x!NewbsHmvuwFO?E~PaB?TJh1+Nc zK(?U1W&t)IIw{*PaKB&1+M*(KLTGtt{TJLXSq!KD@wmIS$3&Bd)cD?85x_@t9_8xwE=T$i3Ov4qWjZ1iw7n>a-VTVuM! zUL|s>NC%dslH#RkUnG5oPf_Z$;0Bp>-fxAYAy`g>i(=VL$bkbn(>{ytY^t+eqxHPO z`YTdU%LW|{aXo8dbrQT^3r8+DoARabR{sIE_rtw`tQ#8-?_!+iw-5)%BnXAm($i-E zH=4q6yS4H_d)#_BcFa2kX?f~*o=cIdWbVZA9}5^cP-H?9+jr6gOAKnR&prUP)3VL} z^oM7xo{sM+K=wiR%a`0e3SA)b!e+VnRl0GIp21aZao zaL(H-Sp-INbith2M6Fh&qc?{O;aSrSl8@P#35&rbsqsLv|b5ZI%dQb8Tgv$(QN7QIzm z6f82C3S#o{e61nX&Sr%o8d%?r*Yp31ad%e4gOx4Snrv}4-q3npfjts&NmlnILtT2- zal0SXAHeQ=hCfw6_i;p%f4S z;yJAK>QQ@N!^kKjS&F2wd~QM!K>Ur_;n*a+LBOeB1(L7PgtQ#Tk95nZgY-w&_Yo+W zzU#3_;;GD1=(_A&a)<47m8{Xdmak^&(A1jQXh^W4fEk{&J^>~Q`yeC7$R9Kj?0rA zulJV(_J$SQ%fLYK_THuXh95;+5%3hsjE6b^k`YNG`42~o48aL{4wAl6# zP1%ia;l5Mpj z53f6!h@m<;sp;NkUIThyYoMwn70(h1Y}CoZEjI{qnM{wFyxS zR~o>DI~k+EIVG8j`}y-jxV9(#mzRQQ1Rk;20ox+{aCK|?KwLith!*e`_ zz#q#xg5cjBp@OP`ye1;X!;|P@V=9D@BNmk0i&tZGi1_yHFWuaYelYh>-C1Y$xSg)| zNQ3Bg2Ql;fA%bCFumJM#H2Vh!p-7kCzCCuk*pUTx48GHK1V~wlPjRxCyjBebCQ-o97!=E&K?T_) zmD0e_4s2rVb%W|lo^sJj75iQ++X@K_FE6XtC@!sZT<1Q~*r;@pW}UOQa=ohFv(3JQ zzlDc%v-w{t*^(<3LW^#=;3Xh9_wcxr$32z_HrO92EzmC5#VL9?$Cfj-p}-P%SC^#s z?C4R{8?tZ zlK}xlc>H0Y+?{Z6%xHrJ0pH#v(sH_!u|BK}=4snEmoj;Gk`tek>HpXL?$-@mil6&=hG@3KPd2idr1K z5$z&Y&-TunE=^mTe$gUHSz`K_A67&yLI7GaPLC7Xg!<&k8DM6Br9<{H5=4BuxjYCl zI12#f0#LM=F17_At@qHCGhln%)~~8Wzq_aC2&#F+blulZXN-#A1E`8a&>o`qcb=+h ztin(kBZw5yx2IxeE6lM82wQ=&GPRpG3x4JOor22fD!fu5Gt=>dy*jf;<7t` zU#Qj8Ioctp=VjeQ4u><%dW{EqrCjRGoa$sNjV;77IRi4}Pn>J_vFU}heOlCjQv2K=ah zh2#TY@=8hT^tSuxqgi7&TGrLo)A-&(nc(Hg)AKRS>f`s2L-t$}+2M=5iH*IIwJVqo z1!Qn>5A$e64hJGCike%iWV~0|-rW=~yLy93!7Z_4_d9aYRB*iDMEb-A`va>ztKCL_ zU|igcBs@P2ODo^=?lzVe!P|JF=WDB`sE8ZKVzj!NA!#_U8%f<~JHtYs@@Qac2%MJt zzaah(qFt=g*JZBf_Us}Ez_MR`(>w_*E(A~TO^1e<3 zZjDM*&X1U|T~>C-YaRCqamXuMRoTn^nMk%nQc}{8P{hr~(oL$6DyS9wdZYBHsZU%G zwp(EVb8|hHDs2Q!*4TjM{^7%ipuHxLKdkp9#Gr&G$jznGS}Emzsj@oYEIjcRJf1DN z6Lo+h9#F7b+htiV_39st3j%s=wG&s@aN8{zu8Q4p&ihcXD}ht_>i4zA<%F`ryoN-l zthAgBrTV>&ms89UrSP*17i0fgM{@vQN`d5Ib;~*KNB2MT3wb6#IuUm$8zXC3hj^4` zlUJy(<*z<+#{*k=X7l%4-EL!7X?1NaO7raz>TIN@WH6u0omrP;n?HtXofZEP8}w7s zEIG(BFETbRU9|xsaK1erRzxcWFb{(6I96T&GkN68fQR5~azK3RdHG0AZsc6d=rEmt zzmvtpNoE4(Hha;#wF>gfY;CPzeC9(=qMgRiLW@5k&25|kX7tv{?a)Gk_uAkrw@*vs z>CS%>-#=ZH&cZxkCPWWR8S)##LX(7&wl5?MGM+AS35^9*o~+~?9xlaB<{Y%ROGjxR zFS)&)BB@dkNPNsh17v=aZ_3DJ1fqL5aCAaQKU#*Xhc{U7aTIl3mY5vaV_C-(SkkIj z-1@xoi%fY_0=Af9j(lJeZv(f@u`K>=`A=DaLy;lbTEWXjPykqMQ+{`Rx!AS|x@`b~ zvdkEaReDN)L?-awux<+TtDj%gJoSRkyEos%=h z+0rHsi4w$5@mvE$hj_yf_}v=5?%d`@PoX!^{-iJT*3i&UX3%N%_46+EMj&ktBBIso zH-VR1b#N@(Ti^B>qG{^-$|jvMjME2@Dw#0)6lT4#&3Axf{1?=2LN->_syKkKWU7}R z?LK1dWgL`M?yt=&FHh=~!?rC!*0EoxRuuf35fUk@Id-k5*I{%k{lA1W3zFuT7P z)V@+QCMB$7u6ji5si>10U~Q2~1ZHU!J?x}kO*uJckxM#RH<&M6F(M(C`zOrOB%Bhq zUz-8~(D-(C5O*Tk?xDLvqFqb?^E2>U7&>Cf^VaAaNI=46)a>Sx9$fUi2|b!AdCQD6 zb2oK5k4EcqBu=V8^5R8Hi(f!UiqfACNI*$FJqMuev*Z;&0s}XuOV-+j-kPbN5;WFz zrXVhAVrlpKbzbU3{`Cgn8c0;Xk?}V4B+zjJR4pMt40Ltfpay)yz7@kR&F+4EYrQDN5)D@aR1_0XlMbgTCu;=7YutHDWK zd*e9+VM%q&VJAz!o1_qPQ$G8bOoZ=^rpEcEj83$U|VIutP$|7{1e#O)_cOCxc{~~ z5NfAAS@GvDGin|kl1w8M5)%_a{TQucukrIH}F8EfZ zXmm3@>;bQdE5oLmNpX-(tjv;YYiGU%ZI>C&OZVls#afXGDIlm*NcG^pMA-TOfZ-Hi zI_L-wT)>-HIheQ3O0a88S-5l(>qcwX5(a4p;OTUHMZBYCdi_rkSsl0wh4}nB&$`No zJoh2)2A)$2Of5o2Mf_Fl!LF{w&u}@>fB1z!Sa@qaM?or)jizI6V!wg*N~^K;Tc84{ zPWD+_Or6|ep}kh3WG-2u@FvyWJtw-lzP7zSVs$x~2d6)flN@-g2j&5Q+JO+MS}BxU zknxIQs_5pd%h!)o(024{@%*oDV|^mG`$`E(+A|}GktUNV!@5{e0HJQ~f5+uiuC#Rg4t}V&{OtMVC@>m~CN_d9XtB@c2Hbe5aA)r?$^1FxKfpxuY@9A9BuoQrHI2DoQ zt2dwk*gbO~wxhygie5X7Yo^R(ZFj-~^dJH;7i(6;+)<6k`x7e(5IjC7#1(RID7RHx z;340iLj*9-Sh-C;tS|{26kRgS1d_7EcPiRjT71FBW&tUehX>>7R%#nSa*TQdHWu82 zJk~a)fvr7hSns=f8U^MC;WjpUJp{(UTo_7K@P-3;kf$8p96LQ-=7hn=KYvoQ z9y5K@2_R35KH#~@W<7r968#)qC3G)`ra1AtM>|=npEZ3C=Jr^Bjkw=y16t6`?Cc%= z{cN8XoPUV*)^mJ@B>!H1UlHo<1A3{8cVjlBQn-Vo=w#RSwnTj&!Ci~Y4AiU4&FWvo zanjlLrh)O9#nwv{zuu^QU2JgsQV7*|m$p@#VQ7E;gBRq7Aw6=eFNEY5SUDV`rBJLW<51*p7H;Zr~W@0j~?S zxB_6!z(YWr*}#rxspuv?A$ zfFo@@5Z70rQT2Lrw^vrsE4ZP7pE;b5{bqg5s-2Gd_+r}j+joDt68$H}QVHlk31cPo z?qG)(VCJ7A*wNzP$ednkSTk?#y&u!c+{5k&`YC8l&H=q#E!dw44gGalASiY!;EhOt zPVWof*SnJMnVqo#dQ84*W2_mgF*AT53$+_0qWjfA#NIlkYj@#oIysTNWD{J9(wyewep4XT!X*uvgVXi-kpGs?DMgx|q z#dkLJG&%XWs{sAG2=}XbDd*Hnlaxd{-^bkr>rs<;>jS&!Y@4j_%IofPq{Cno3;#efD z6|PQibt@^aU3a;%(GcUsUt7H3{@!FzTeo$4CC5uvJt!oky}y57Pyyz5rwjrZD_xc8;&z+@6&bfzBq+kjFBFWvb$@o5NpiVyMJ-#JT)r>9!2 zh5kEN(PZtKT^!rKQ5+QVSU{ywsyR02cBB*W;8tIr1lrq;S!JSv5)5FpHrOPG0dA_f zdt)0Agw9qh`Q*amkHbw7Ji98e?;8}gNP<4>Py zFnO<5R!iuY1cDK>>1v`I*uF&MKPp0_S!E{V=y95L0`MKD1a{YB$YBLqR5;lgo1ep&wfdPIE$auXml2uC=piHSoKoV;sHrVhaefh{c z>c@7r;>L{F!&JQQfD9{@!1n@77X)#nsAYJ(`E780=D4hk{9jPhy1GGqsAaE7Z=BU{ zIi3MyU^}A7B|Fh%qB3cH+1lq$p}lwmO7*dt+}J6~+D*1&TpKCLw^=D7J!Qmi2t3~# z7+GGVK#x)aFj-BznHH@VLjV`9VZ<>8KnT~c{oYIWuE|DsS%&nqw46ibKsR!BdG>c| zBJ7T{Quh}pE5UM9qtMRq@@Ohi4#sQk&9tM9t?M}i3xo;aqakF15t#$(%lqr?ychgt z6RUnxUQKS*A9aS>l2}dN7kdS(L>j@u+d>Yb4z-?QHcEFfE-UXbA>R?^Ta{ejaUCy{E+Ee|PlQQ}d^2hYP>VEFs6*LIE=WQQ62+%Yrw`qdhT7+*xuA;g>(xwx|QVVn>{T#^zYCDE_Jx}7zTY&S7)M;62|OQrU7 zu=TN$K8Ed^VRr_p{+<}P^)o$VJF~TX;${&KUyGTu>^J|4teCal1Z2U@#yz;9P|+#!APiIkQ9)y(y?B^vR}L zK}oaF6Sr_Ay2@ywuUg3lc*~J+r#zqR1s5)k$L0m_%+e^_GJ6i!-%H>3%8T z>m6@@tboIc9$~v)(c3fYwDdsqxu@z1BV)aqBOwHPG0(F)5jfPK ztWVSKTR~6IR`jr@ctPM(oTQ*aKDD(LSIO4HBhcNVjF@z-kHkz>W1oGdMjm$M^i0H3 z!rCd4d3XRh72GHOkMT60wUb~oRdAT>eQzkbEei-E6kb_1q6gCKps?w_e_>54l?jGd zos%(L{kEFw8S`GN7)v-KxSznJjBI(Q-WW8QMH( zJ+I5`E{G3ED2ZZ^Hu9j0jluB~d0)!h@HnjJzJn`89nO*jW02h$(atO$+!5xtIqx;V z^5jOT`qkcLDSvG_?lloVUMvegKCbIrf>CgZiHZGq^I1r{8!)m$LvNKVI3Ep{SV{s> z(YR{pf{205a(@jP(WQHQUal}WCe-N<2`dB;G&aD@IG}?E+MO8Hy@qc~V8rMs06$9p z-Bds$Adt*MUO_0Z&YE99ao+gQ+B{}FxN^jb02+7z$!I;l{Yx@2p9^`8jr}RZoE!q3 ztBwZo4$^VQw)GV}<~N(w72{Zz)E}b+Opp^|`+N_MIoV33y1k!!pUV`1t~+w71U~!Q zo>Htu3o%*^5(x2l-oWNTo#{eN)yW0Qh51;CCEAmJ$$#4ZfD7Q{dW7`HY|TG5F1`c| ztKzVniH1USVaW~9h0X5`4P?%T-^x5Xif;GT+De7dAY9i|wzJNMGEgW3m}{k~u4;EY z)OPE-{ZABK$VLNgsC>O8kjJ3o<4g4RWR$OzG7~UeRK%l=M4CT3T>7JJdAjMEpyB)R zm(4psbE52oIY8&WN^D4;!Di459echmH8g>_KpbjXrH0u@7S}vVi=c6g@D^^$1KS=t z{T&|Opnktc?1n))xI82Z>Ngb*a5B(JE++QnG?f*R*wI$@3arRR!qX@UchCJR@n1!& zVF4ze2XE~;4g_HHPu$Kak{NqnaxjL0&1cX0l4)UL2#_US>vSx{`s}QDOD`dqr1#dv zy8^MZGO$`&T0&B|;%Em1{zPhE5VM;NRzHoZ#v{CHb-b;wcRothi!%0rwS_;>bOHI` z>({TLf;upm_q#p)qsF^mj4FWwDVSm-H+@PDZCzXXrA1`CUS9!+fd9n0>1IU~usZD4 zw{-xpI^aHlQzv=|{!8*bv=x3TZy{c3DJAad%}6k5UAO|8yYtymjp zt!9Ih3l0(9cOaSrYMeP5S@;lCO!C#sgRTH1Az@)w*H+d0YkLYb?^}G(bA?GJ(3=d< zI~WeA^0M}9ujk4+M%O@{oZ=eo56r3Pn7-X7b9zM@=Ar>(R z5>IT|L^6Xgs z3B-5+5pfLi)8F)fnp`*IzC7$ll8ziO4Mx`#en-P5f6=pV?JX6vq}N+c6hb1n6Ds)J z{gUhhm_z8e=TZ#p1~rkFN|9O@2=8(7DQL9_Q>mLw}|}JUo=Ms~r=hWHHiU zqI2)rDqZv!XrM;XE0_P{>F#+t-2||q6S=HIgvn81dV2LN1QX#@X8Y>7?{fm`4?lHV z7M|fc2P|v<`QWSH(NJ9nUMNq+i(Nh?R@2?wmFT^EE+MglnhN92%F;7&GQM0afhD;g z-4;-P5D}q0!)HvDY0FeB8v6+bEkz_Ip7y}K6LpxPf>jX1QiW+t1={SJ}DBXCALqv2TytD+WZv`3^5A6=7rlw2|#~&O@jhc?fqNYdS$%ySPZ?<$NLNvVxjXmc$Ub_XQBqS=eWhp(){9?t8?sPRQk`6$;C*NON3c3* z(5SeQ&E$TRU7lsxG6vG6FKol0{LM2UtPD0>#|+tgujN;f!Ht*H_v3MM6)w>QN|!!n zIdoF!;s|C%zI4A(s)j=v%=7#O+@PWCUeukKnDmx7rWcQh!vz8X^rg}ADsL3Aw;O3dIJu~b3aSQ)1(+Br0b9JgKe0gjEkU!hvvW(((bc6;BmV?6KwXV^ z&v6!g&QZKCpl+rp+blL-5J3k-gvrkM1$QhahxXUD!qd}swj?=1mW9)F{6J{Q$OlVEt*;&rl0zppF1#W*M1V55`bvd zdR*x6-Q$3{;t%Lw_l6yiTmf^+Lb+a+;!d(>$o5o*RI>z2lcTy~pCnqez=-V3czTF( z%56zn^`er#|m&fgZmOW3&_@{+4N{v&NaYe6Y zjTf3v9Ts^+Y;60{nuvtK<8>OraY6{j?&RwJ_r7X=2T@6l;9aFR;$yigIqf@VF|m9G z$!ykE89)m@)s7ty4hM3TEX0Sp|LEPhogYs40Y#{_m7VW?e*B=R`foA7ZFhD+(iaBg zJzkKLhkdW%_Cv+^0mKfK4(3niZfxd z=oNqkxzF(J_AbeONzj1dg~t8c5nvesx1=+^f@FKKfb|TYVRb)eO;Aefa(gmvK*QPQ z@K*Tz{2a7)eP=5G<_S7qnuKr3BXQ;>;Ue@H3>WQ~?*73_he;LFx3ggVT%~AXd9z@S z%_{aRboxRAHtoIsxTNId7yX9VkrmnS#6-(M1TSh>a++CsEp(T!0zT;1_@(f@#Hx=YKnid7kq?6H`=ynG(dSzeL<_LSP3+i0& zTN55VK{uPMCa(ZWT$MCTuVXhXI9CXsf6H)Pfi7K~py}=n-d$Zi`BPLR8k~udqmoAq zVJ@+SPS=t+W4&Lu;~q3hv^f}g;dtQq|gwB;mV~2GhPW`Qp z?mx%ky=gx@NEjX-{$tr?rCDo-VQo#ZzYi@NK-`4Dubw?dJ3ajzp=Hvk{Aqfeqi!K7X1arGgR4dy$ zUG0zz!hP2|G!XAaS%WQHhF^e`tyT1*?_N^~Xo~@Wd+oTTfnwljXQ!k7N$~OcDJ7U+ z4K!tfEv#9_E*w&58T^Ct`t}jmbS`s5w92pYLc1ddk_ll|vX97#Y+m zAlHEy8-FkL6x?WFM5523U)6v458{BSS{^ZzejA3tU;G50|hgsH=9%291cbjQvFa%UE98odi%d23n~0CX%c=>9xM_>!fe`A$-B#6 z&kvU4UvKRjT*=%S`MX=&mnCGaSWYtG+2oAxg1+DIlqbXK_Xxa57I<|S(k?0`mL{~H zc3{2v>K1{}@3Ungk(Py%*gq!@f$_ZEGc`O) zsbR;8@2o!%#;{vFwj`BNRxU6`)_iQADBorvy;I3#y_c`2r&pl6{T#u>#Po~T{+{qD zW+dAO?0~gFokQenP>Er%JXg8@l(QqsmXP->E-sFExjP0i z1Fcc;KK6njU+B=r1jLM%(p*BzPX*~^>mE;|%eSWram3NlaXX>~uWIt#PYJ<{>mR5~ z{5ox6DYcmVnwa=p&^r*+Kes0b;yIk}r^}@>Fft|@1gwGiljq;RZ;j7@8F|-@s38ld z{TG894QxOlMGM+?`S~@LOuvCP*l2}5so8k3&eRtnj=c0YpKmq5Y>|0m*relTw6K4zq)A&w`#RC4GKR2;M#t|{U0by3^>y>mO= zhniABWSp0VB# z0((R;?AOZ3XIk~L{Uu2jC#Q<*GA3IX6UdSUWo3;?pFRL@pI2?V8i{om?Y_=dLFKRiW>rc;W|r*1l{nV_DjdF+Z z=rVJF#r_@TMqg(u_4RSHjou6vmoIJ~SYK>Zlx|N*mYHiBO}rb_F`URxE_b^iYYB`` z(e<&@F1|1}Hil%@XH%VR?pKMnR4n%oHCw{#bjxHg=ZE3i3sO=~bUgZA7;ztTOcJ(T zqE-1DmOX4dk%2<5Rkg5HjeN>wg%C$q++Su)7G|>fYH}W$+#(IROUw4-7Ray)%Ze6( zCGnKwtXnN?bJE`9J5GClkqA2i22*yi?!KQ-qh&Es0hilk-X@9RuMxd&@v-@?z0KSh z$2tL(REe8-gc733FKpxXANF@Ez&B$|NGn#(I9xKm}Br%+PAsI znoUQNZxI96bSb(1SU3>ByExK1h5tr&g+iKAz#2j#iXq&b2WbVMRn|aGkheGIhYzz^ zOe9=toGpquGI8o<+rOPQZv!GCB_@V;x=-j9^Rhjjk6QK<0k|87iq`s~dp~no-r{xm z8t?wBHi#%tQi(m$PL)=aUR$0OY0*DNzRFBUjoys0-d)Tg4!QcnlA=ebFHm*@FwgY4 zMLG2JXlT*oYyA81X!kFc(wv-}LMe9Xe)aYbhX_~GDd*9^i3()-ha}p3Ta%Uao$1NR zg4yAG%;yok3YMAve&VkP*fN5A3wK4<_Ye2M_&E-qaSi(K-&2nsgyFE@KY6l1b#f;q zIvvZRpyrs6difvgH$Ok*%Klu__r7P@>O$t+pPc`Glht+HCyOdCO4BvdkDPZQAXt;z z!Fq3D8c-onzy3h+3shd@>R;MYlbFqe;;r_#P``W;{B-Q#&98(&4vjA$f^+j_WOht9 za%g3p=^3`i_y;*((XNYrElKrak<{GX3dVFJ`lo9zeTG3y>lz*x_Z-u1D8XEE$ZYDf z&oDSC(uoQ!GpVSko>SW%lnOQb@Jifx%29w!{wgJvT-~nsJI6TQ!c^Zx=Pf>~2yCyn zGN10!SGlI9+<>u;yF}wEqF1Gbzk|c`Q!_tytgEGmrLFtD=z_~MQ*T>d@!uS{cRc+eDRPvzd$m--l0(m%A;a;wtWYN8P^J?DIa^qAU5^Ms6~(kV9{#kvs+~Cd0tMvfGNh zv6_t-4KHI>eJ0HTT4Hc^Va+AU=+AtB0G=!tY?Yy0`iOc|Jvv8?;kFI;_m>zL9JF>} z)gB+Bb)4I(->f|T_RYl}+Qoe2J?ZDQ<>IL3fBdBacBotV0$q@2YTp7GiUI20^)hl`x?h{4^oU3u!J zOS(nOqnpnw%lNM}%UZsQ2tOo#DC7%hfa$0L+8GLWRUF7iy&`MAl~R909GCv*vfDOR zG=f6wFEMrdMt$H9S(JYfmS-l({Owcge#bRD$fF{gQ8cxZlSqQW?A~(uJDj$wbdvF$ zj*nn~VzDokI)>ZPJGEVDZ+Y$(s4DR|r(`FK_rAElF1P?bHyqZSvIptet;q_fp7>< zj?bV|fAIH)E8FzZpnrgC#DXKT%-46AN59~siVc(tPVxq`C-5yRn#&BIg8t%+wL!n-|`Y+u@)tg8b~ z6vA}M?WNtQMpeUBg0w!X+hrRka-5tM#TLWf+9Fqbf)MvB*jjGNmk!mQ9|9Wb=$M<=tQ&JT+(D>W=?%u z7ZosmJ)1)t#dhA&`R+OVX#8f;g^zUbk01QVq0Uj)846nyh1qm(+mp->L{c&3t!+hk zwPH8kBbN?sR(r{nJM^( z_ZFEG^!?&h3r#RfOom$7{<(>nP^p*IR-%C3)!ZPp#iPfMdwXR|ZaADT-19!&`|xXf zKbICjGl%oPnw%n3VPeF5mg!*0s$F%_+$_AZx;lHb^N=+w`*s(|$`~Hx&;R0C$3lya zT=aEnZEc-t@bWvbRSXc_5BEtYC*rbS2065mv9SlZxR6m5u)H{%Z;_swJQ-0ba$GO{ zxSV*L?oP?2PAC=I6^Ef&Vn77&6$U=bj8D0+>&mxoA*XO7Ni#n&4Kx>fo*r4F-oI(L zBZ`_4JAUYC#g<14cELhdzms6o2p}pCD69S(C8RC2L*ctsFM2-B4!B z1(Sj`&i7fmf6v!ynYPYue0khpC3T~UJ9d8h3)JPdJe*~zN!G?THZ}!?zu#ZRXDc3e zs?s8kNO<|ZtWxoLa`aTH2t~TsVmGdFteiB`}{p!S)0xy4Jrmj~We9RF$ zE53ICLx1-AWvDW*+eG;lgSzrp_lCMR@te`Zx>_R}MV{x54oyC4!wEp97PLCy>oH)nSqHf;ud2r4dn!(=tajGz= zVCS9AyaMW9)=ceaQu403*~2d$3GYicIlgJoiO@wPW@fhSGUL5=*kA$GJZ`(=g;Q}0 z%2U$wl6udxkjO~Umaa(-w>fOB?l|kM^IH|R+pjQ7@5z*WM;C4u2JKcN5^Zg8Apu&7 z`07OYJo!2v_>P3a%`ko%23f%z$%DFyQ*_9$lw4{7AX25xD!9Z1!-2LptscKq}nE zJ)LQMtUw_R$1hr%*(RwQwO$7K?>fGz(s0_S`DK#24UT;vc_?C@|FPqddL@4OU^qj1 zHvm(oX!-fl@CnZFPcuq=g|8LibU7K!_^6mXL*>~~{@bpW1co7x4k$-&qgM+Qms-?y z+u4rpN(>(A3>Q82rx=el@ro^EEqGti&M@#>txJz8?BgM419rr71y*ViQPMkUl^BBZ zk{2QMSIEz`cQ0@8Kj2kLa*)mBsvEC!Z|`yi4(H7@e0e!fCbZ#|{Y@ zSXfdN+v8V%+LCI3Z&C9Vn=gu|_ixJ!0$kc(EghrQtL#w9MkE=gvR7%6aZ-Xk7 zS~7@^1B)dsH?_%wS97%bioz!_Hqk-WS@^!4e(#>tO+EWY+z#B_=7TdF$|2$b4qctrr z>XjKzQ1I1}V@}JDym^uxj(}<(`W#3-BB{s&LMYs0IIROuPHw7|okg}iZg#br9Mq&L z*xmt=?GU4>6yD3v(8lD9KKJ%!$s*roX+OJ z>-@PUj_%B<0%LvJ4=P%#ofXQ1Lz_&^WU7GmVO-^U4F*OwgW$_() zkGn*4$Dez(SB=(RQK0+qVQHh>X06Zj#;rYOw~Z$zgIT+cB!uF`=JoV+-;RW$deZgO zAN4(Qd@|egH(J~wB*_U?^1aL5i>|9K`YxVT^(-F#-9-P|nqcP-TZkOHX-~-1<*Bgv z=|U_|1|8?7Ot)&!+RO*^tlaXs@4{Bv@~U8-`$uD`^XMl330jIdilHJF2BajUukP$| zM#`Of8Pa8j*6)GW*)bywsbds;kCkN^>-G^%x>cX5=BCV#-_9 zwZYuZf_hXV2zr8d4h=_wKPLs(3KkYx!b$IwFf%;*6G3wOs(h7f$HHN!m8j9>c3(91 zixt=;M7#!-w2|chxL8Dxd7_CuaC;=SzuQjy_=}m6TO+mlxJUllF;ybnE%u zFFTlES|jRC!s$fQ;;6=EL3VK=Xp6!?6-<(km;XBSutquAV&_2ngcA*qZN6&~Nuyav z@Mf)y%EjGk?fy>n%_~H=wo{SSq|z5b0bjo$!{r*%Q2OPAc+BfiaFhSR*Q-1dDinr~ z3DlfwYS5TU=buy?$dD5q_(WV{wff@V@DSv#Uhq`drb%YwCdur{JeqO7cZs6LZXxi{ znJ}$GqxF|BvkVop<>r*ALe#UnaL#_&iQg9tKzXlk+;tuqB9wcH5POZgyjLEQ^lb0_ zqnY7pG8BM2^R-#b8;8>p6QydkG*^bR{W4zu=L6m3e~Ez4RipH1CcdUr_WCnke@u5D z4eZbV_2;ku{dUviKVLMsf2ojQ@yA{ygBKqmuBap>F~OW#NOHllt*y<-#N^wT2Vc40 z#Msvc{r7GDxTl^V(T;uVh@GOJsj$uBIhp{x!Apcy%NyySKYvtYA3K7oJk4z6dvZ)2^=I*^=; zOOw}r;FW#yCHT&_{jFn5UhKo2i$T$NtIfjUB7w-4KN01L694M7y1(--j`=lQU*0{B z30VqkY$irBUdGQmI}E)~nXtfMn~a;=|K#sYw8$sPGT(STz69g_pFilE7kFRZ^nQz0 z`we}KsFnLWnRR@$kM%VOj?{1^ayg!A5)sK#z~gZIDv_x`ReS37HuEL;Tl^Y%JqLsh zQBfS$kUMaL67sXfc~M&${)S_)_lpQ6= z1Mu7ZKM9uiQA>=2J z_y*)`xli$K^0#{4^Vp`clBd9a@e3Pn*s`W9Rs(x_b~5P=4Ok$vKBRa;|GPTwzCigu zUwnCofJgQJ{(FS@KVSUMI{L4d{(pY0LHWfL$IH8L(_8hDFuul6Hi@tOXV0_}_1<{% z-|G@S$|dSsbOc;@)m!dOoT*2-0`MAyndtw#`k(**&l83p`F~%${lC9|^9SO;zwx3A%u$7l*^^o6s!=Ro%7dOE*+k9+Sb0pX;Y2yhrb6 zf0tymDVAMCMn~WB?D(N@ie40Q<}J#~i;+MoIa$ zrFp-D>w)S17bD}#tGFj*=_wBmIKT2va#`(d2z6;zMA4$mY-XDfy^lW()yh<`f<|wb zc8%1|x(oo&M!m%k2Q{c%*xEj=oETTdRSSrVhvX5d?e2w1m;M!aBf|jcO#S{SI+UN8 z3NRbFSMw>R88@Jufu}FcXxK>yEOhZ_$k+9WK$bK zE1Zut2fZ$FKHYI+OElT3gu`Y7TZm{QLne=fd5K9bjCe{U_?6+;bzPL3uKO)4#dQ(=@I9hD-+!>1q{LJi^q>z#&v6Pvr@jSDg(IAC{ z-k+{60=g^7r`n?bs*=2L3o4l4)`kC+*#73y4{hr;E5+{LRe7%vTu?D+Z@MyRSW8uwlgh zjnbcd2{&tD~tzQ3M3gc*>jj)7e%O;Xw50dt4qJ;8AI+^JjB6Bk#E2X(GnWSWggntjbOiyueRbg(S?G7xB`=vuH8JeEU^sYPTcmLu3 zAtc19t9wJ@!5VE>U^|Qgh~bA74=vb}1<!^uc191hj1QAM z)+If#vAuT}gA5)5RHx5@88Vc}3ZG-H!;AVUkK=uh@_zD!Jei(!XAvdZI4|f%@zz|9 zsHxuwj*4nd;ajpit{04A$!LUkYwJ*8(jR&O{H~NY3>>e#0>+PI5&$03sFcsOx&^@W zSD)d1jlt-+yui?p4$)7`9S(0ZMfw*X*t{7myXXsxX0ecqhl^OcDvx?>NGH>o`r^Xb zo?lb5exivQycmA05xhrkd8(*K_LmtNqDABAZT(a{G2DDiU+o&nX85plC>-SA{BR`+ ztrnZjV4vlD=f82It)l~i>}UdIP0g>{dl2XD7Em9X1mIhPg74r(gQAS)F5Wc{w~b`eNb23gNJJ>VL0) z>1Sx@+w@Y}73e&(n@{R?f7V4j<#YWkIesix8HHYpu`04E7x;19RYt7t-gKG8)D4KP z1h$yBZtbo5js4fD(n^Z9&`J>LVkw+&Bzj<@ICuq3Xk!{Gu;K;}}cod(gRAU}`o;?d`L)^u1>kLVcQ@!W0 z50z(hGo}JEuR0fpU~Nrq9d8zS)Txg6`?p!wD1qGMIthMo^LY>>OAjdTUtX2g00=aq zqI%uQ4J>6-)TH_ZNa#;_IT@-j2jrPJ|7f|Na;8RN4EB@HCK#y6H%>*xq`E9m0c(0j zN$G2s8)bl;sQUC=j|tz7O-ZBL(g&UrklldN{`DXpS_|;R;HZE3D*MJ{V@vnU(FrAG zX6EaW(H>~p!Y{Q*#Wjvl@Bsx-z*UN1=4Krot%53NIh;ozKLfbz8 z?cKeb#_FAD`h>k&>f-2dU?AQKS3hT?BUU%122#l%n@uv>Xx5)!+&#{{Pi5po#B1wY z=n)W|C{OOdoIGmX7}c?6u#K&43N9kOTQkk_V$3Kb8y2*bumKr)w^ov9BPX1wudU{2 z!rCKVG0RhiSpXBYf|C9#&I@II)w7tDRa8{`sy25U)+i9&Qry`ygs;v#9DCOJL3Z!B(Bp{1#4}; zb4y-TSK7`jjQVw`7T@p^_-q|1_vdKk>*pF`C_m*BH6lNv;6BSe9&J}fgxXS3N{T}} zkcRt)`no+W_-fdm8Q}v+@(Yg*Re_f5qZv)ABkcbl?TZkMp+$A;-aTJzdXxA~WG`bO zyt9F`nAVc#(#lkgTLv|@N>ub>#TK*$MWsX+eSPpA{*WEWl=X53`ek@{*Jh>pOR`tJ z2~v{4EqM44zsZZ5{m-YxW|4MEBa<(X;kK}Q0E@ttO9fP+Cp7vq@Qtq{4QwXXVbkBAE)m4d#!Yx=WikBU(4zRyLQV zX9aFCvNB$_FIH>EmuuSP9fchKn*{_jCzpnI4A<7yb`=u^7(<5L^~pJEwUUFc$f?T@ zEih^*&pqxT7{_Y=Q>O?_9bQ#L`1wgcqv2*!5B^}N>lGV-V@R(lC@3%JBt}9^EDB|r z67JGy_(K3zgL@dnaOtDwIkkMgih530Z)YxB8&|^(JwKNh&`vDo}346OI%TX78MYh)NaO1PR4Mx6Tqb1FfM^HZBtvy1WU)^t_w&wAky~2Z4 zaqq5^WI$HfZ(34TR!kCYcd9UYBwga{3Ek-I{JJ#IFd<6soY_*Cn3%{VTn+J*wXCeJ z>6q!~p%q`CW+Qczvk+dBN0*tI8N+S;V~jN`Avf1cK$9QpLtsQ+pDQbC zM)Prl_O9zuP4O+@ABp&3pkx~Wh+C@B59R*BM{E&@#U&^=0_pL z2L~S)uT%CfBsZ_%?^PY_HZ}jdL1bno#)+$+HGdsy9rq6KxsHf+TBaH$&TN0Ze!hfa zC42L~GPQ=|F0O3)eV@;Ao)xUS0MKuEW&gsF<4IMfQ21;-5Y0aN2uIz1v!(DCsu1sP z6uXx|z|8RTQQk_|?GL4wQ)*FBZ-s?jS-My5xj#50BY-qd*gy8gVJy9oiA2cl62_ik zQfB7IkrLiDHN=UtKl+ZDnVBOi^>8Y&o`!w7z;aIy()KX%5On2nxlr&d^{Otz@PMXf zVrr^rwb~%y5G{NRug9$*#YkbiIe?7@q41k;KuB5(`O8l;t)c{j`Ce(>w-Z0i0!2)G z+L5oP6d5h;e0X33`Q-u}#hL4#6#}0tmzmGcQBN}yv)s?d>98LDu=sr|!5TL=_}{Ww z?a{HjJH$wJyN%>1aUq&c^dgr{1Erkt8y-OC02+Wi_`LNoGX=LVLiz(roRPUgLaF zGkoP-jX1N)qy6*LvV)YOgv@(N;Y*M=1xutpf-(nP*&Mj;4JWdmeC2_^rCyB!H*wsK zBqdZ=mOHL`rt3lkA?Kl#U4ahiaeZGB1Dt4(M7Q`+c;ArydMC;3utprTf)AS44Xk`TmJE48lg$~GoV#gc%{1yozL2y&XJquL*(pAO4i2Uh>i&bVP zJF|GRr(R`{D+^cql992|jjP<`xQB_}t@Pj97puL#-2d^g`ILUklwc^`>bI66yclk0 z->ulOgyh@+0m%SV5$VL_TuHY^7od?Y9PzMwA8o&qlKWqrN1GBQnDxe`k830=D@%rI zrx&DYV$ve|O!(J9y8nph<3z$Xfhy*(6iWo4(Fg z$BK;_{@JP*7Rue4##|eC26wIqFCYA#f>IqnoE@(T9OfA8onjo|vn8-2vEtwFem`7U zUzhzm6`uLn?Z;Vwy~*&;uYX_KZS#E*NQCZol&XBQ>`2ZtUs2JoULraXI2*N#5Q+~q z-4{1~bY<^kl`FhQ#tEjRrOE!S51(!c2#%w|V`01wcAZ>DAA(CTx9>zX3*S1i{rjeL zo1?XFFq(m0;~Q02jPdv!d8Tn~P&}U!u2<^A9sa?$+#Iij)B?xn(>1CceQ-MoF7+>} zUD4~uf2^Re3=G04JUT^^pP58Fve{b^k!aW^PdF1I1{S8rhvTI-)gC;; z?JAwT10Z53m8}0mPtDY~0>Jwd6&0QBDeO;4O_%K%_^Q-N*q@;#`Q~t7@~E1LPP@zZ zFgpIXLH~UNDPq5{RE}it1O4Ti#*WHmZ_Cd&U=0NTSygn=5>j9wJy~H~T315hbVeG| zR&d(k@f`vL6xw{18xtGkB;kUC{}%6Ipe^kkj>l9wV46}}3uCQIpXRWOz^FjiQMHds zrQ@A7G+P?ljuZWNe8v?!7a^3jmgMImTD;gLB@bAy;dZ>@5(UW@AwT7XKHSxbe^5i+ z?RtY!enJWR?^W+kVMwN8r_fs2MQ*2R)lY37tP={3{bX@5DTB^tA`Frd^$qd{_W7kH zvJ2OhmBOdX#-mk{2W3Y84~%qt>mmS?R1ZhBE{<{m80gaa^F>$I=SpLTBtE!q%CjXE z_m&Rd!#%YBg#@{ws4)3d-;GIdd=(t`<8wgCp!U(ll`Kq(^rn1>)u_I|Q(F`Ne*n)0 zJPO66C(+8Z0`l_n(H4Fc0=w}Tmndip?ASorDL_sC|3IYwjUhUUywwY(_)n$@VEcxT1A1LueIv*}Es>|wBds5rn+M&+MAu&; z>9>kWx2+5W7P;WOFy`e@g?L1E>km(4L1E$L(qd1EvxQojIsbY%Eiab^OcAh}4lmD@ z_dmhMIWZWIiHyAGp>b(zB@2^Sb?c+nKzqJ$*S3dyA1Na2bo(*6f5_0OovZkz#$^O@ zA-&WQ8pSb{pMETN$LX4wh=C|6KBvR8Tj)`j+H2rX5px#crZXH!8~VvcZ?giEMzcmP ziY}y$LZRRpxNGXQCZJ?wXN&hs#qu_GO*%WC?%}|39ZD%5H7j^W*X&|*S{CUxc^onhx~-Bx6!Y zE|65?*$Pyt7j)#u6U3G?JNFEv@Vkqa=~c_k(fyXCkaM<_VgE>U_(UZn=6ZJJ;j|Hb z^X35}JbdYOgk{o)Nj0F!x!d7Guc~#|TK=)_l0^K;U|=~+fjvAVi-I|z@B3e`Q^{{P z5fZ1aFJKp5&rEsYWDgY>F0&as)qhF*Q_geNu5Yt7^7)0((@SQYeCVV0)T3J4h8$Z& z)qY~kq|B7_I8V;41g@r@!7U1K_f^Q1UG@v111KMZfGGwnMHv#}sgs2*Yu<$Q673rZ8<(z{C@MezS!e&Kvr~8JPs|Ym zvNomW0vPYl{M>@?hsAi>U~LV6r=Fv$&$?ikdilu1 zlzlrmG(+q+F|Qq(2Xpw6KOx6Lh^Pl(WOf@oZ<5bSjEA$z4;%|$909?^YGYwE|0m*v z8ko&60QF5Z@yndv&6nh_#C@NN`!!%hGu)oXdZY!_SI&5GY-;upv(20MZZZfw-6Dxs z^6Sals%mO#r9)B;L6mg7aW#T1OiAV+DF25GVA;VS7S>vhBQK!yC{M7N!F=HvVA>~h zwv*P*9bZySM~bbUN6l$&T`%dn2*3h=+nkEQT&);1H)1)9b!R->5XIXgULdK|2gJ{b z$#^FFO98k+zT;5;`?{+O(-h=@SNu~n{S6z# zEuJ$LD42c2CG6zVu?Cagk|077OdpS8rdASKs@oRdE-EJWf{E(q`mjZkjPkW$Hpa%Z zGS0`8lxt!*okrEyiVDsEf+53^p89LHzJHLP;lMA;i3(RAms5-<%qB0vLi@}pn$Km< z@nFPqC~vxTefT+eZ8114>^$`xZf&Jl8?g8rkc|hRu>7sG%44ge3CE#)&8B~YrXW;) zO)#lE-uhr<^e%cR*9v3ndgKEd{jyYHFgs?@f5!UtE9lr9J)M{!{s7JYqWCC=1ovs_ z+a=f6(^-M})kox-E8{g)*()tAZ8#WZd#wcw0!cI-o%q~F2oOE(w498K)9O$!xGPOh z4{ChU@mf5_{S}KM>s3yhoXO4p^UZ^PK*R(tUgyZ}W7P`1=fF98#=#LuHE3F7bs7(v zy8#2C3c?s90@dDpC_O2v=)nI#j=Js%g6LbKa?qCC&Q&-}xBlIE&SKIBgr)rC?DTej zRqG7(bT;Q>B18fl`{!)t7{D??z&JId;goO)~dXwOZ_zRDA8<1^j)4k&LqK*2+W; z4p?^rd>RpujXMu#3ViF&)yh5AEQNoTs@+;uFM#?%hPm#>lIs|98!F+oNsfb5_R3=- zvK8CAY0bhcSDDXo+9Pf$bk@qt$@vBZ%(ux)4`7=NoYKw@*EZu%eBV-(BXT}Yp$^UaCc4Bzie z4(*P=m4eAQUbIUT!0xW82Ss>v`jg>A9rR~NyfSRR06)W)I8+A*9spS6Qso>$@&UFT z6=}=G{kmVi{rG*gcv7#3K!%SAk4~GEj`#DN5Yft1X6!+VCN$Y*b}aLzsssU2I5Zhf z&@XBx$!BH@oUN78X-XP3GR^K%UZ&Tap90Cu3;ny@akYBud9HA%&dm)HB0?>xM9Tur zdIkpG0=9EJBWpfYE-feb$PN@|y8qJ3f4}r>lt$VR*zrke#>f0&}q%U@l4qN_aAb2Wm7f$_@V`^Oj1_l(O*s|j1 z8DE{dgII-ZiIwAq8Q(?lYFHV)Sn4D7X!oI#%|&W$fR!KB11h9F>7GS84ihTD?F$=Y zHIY9WeSVvCa%xpMoc6jjy5oDoXfRiqnE}K>8ja$cSkm3nboNIvrw6N(p0v?Jx_WwF zO|ST2m()h{TA+XrSArn2^yK7>X{$_>#bPLwr?M2pogXOWshNU7#P;-);J@eHM0s(EsW7qqmS$+kW|KK<<_e5|GlhR0oI z{`jmvQ`?oT&N|A2hSaCZp8_4#!O00_XQlTs9LS%XGu90DPJFr0ya*Qmg@x55r>D1^ zGLtKa`swXadIV(w46Eklwtsx0xq9xb%Es@E8F zhnnBq9E-zd;R#6C%9{lRVWo;Koxe=6O8q{NBdd9KJj0I)B6(j9wl_hP+xkqQ)Lcy( zMwvR*OA{p``!--OkkHf=_adme@_x{q1L|uar2pY!eD*SU26tkzq^UZ!N8m@&Ewm;g z5MrP(Z<@^gQz`80EWmAF%lGJho@l|p{Nn9pM~BwU&asV+sjf=qB5Q5s8YI>e|72a_ zp&Yg59DMn5w|O$~o4PqO99wy6yKD}VqCbEU9ugkj?61nV=h!tJP(W+j>htEP|%_kE~#(W)W4pQhxuv2Qi$^ zaoqRqB=Gru;z|xJJyi@lxm$ViQ^$PWPse^n7MAzx`Of9m$0*e`D-FLMdNMLI z>u!BnOi4?Slyz1*`?lEHNh^)ni zxutLQ7bjceTHLN%?cTJtIv+p&jWLd_m1HIlNPJuPB8J2M2Pk{=6`GmeK3tbTun?k%z$QX1GYd1;*;kOGtjW^G!a9T!uLJ+pJL7*>UMK1U|jX=(0OnM`FTYpcK(qk;$MM zNKqFS6)nyrl5UJt+{41M2h$4)4S}lC7ic{RZkhxG`FGw7cg2nXuN6w9CxpwFH_4wp zd*JHIvj&W`k`h)BJ5IOjB!F{GcjuvGG%YR76Fzec@7uTGgFb$8@c zO`Ect%O$de|k%prb_|l#6AU7TAj zy{})7%x`SGg-%@YcyI_Pfyn=saEvt$qf(lw{2bYi4(>Vc>yJ&hE|5cP0fekQx8+TS zv)an{YkTuLmm`;l409tHjKAAOJG&mf3Ls#u``5>0N=WtSX^f-!DH0h%pHB^c>P@Bs zli9zwUp%d*(o1S{(v`dEGnLu*Mb#s^h{|nF(Z=mJ^jc>=Bd&FaOU-zZ!b?~gGDdw^tK8G5N%(#T>+S%iOy=Oh%2?dFqbAD9Z&ML6sdzyfn~pn+@-QRP zA|0#WaqQU|zdiVyli~e}5iz%mMCPNWOUo9!!=L3O3iqqf9HEs)1hYnArWM+3=Iv}| z4J#jBR!O|%X8PGX?Ve8bI6*zVRN~j!V>31OcDC+WU2d z>lm>q_|JS5NK9}F`@S*e9Nd~=q@fwZ`08`t>INwzOsXrVj5ycqMWf>1`_0OK3 zL_+A!NeWb_XYF}#S<4kPVParnmJ5tRZij<~Tx3pqx=2vhW~OZJPqqg~>sy|j?e-uA zX;9LEuultV^rO_?Y@gY%BV!aJ< z2bW3AfGSV8AAAK$1C!-}44NZ$Pu})QTM?kEevbVujHZ`N6X*-cB16AOyIsylO0F2N zNO&4sTZ8E~)%On~gQS`+^mQJM+igMK)&kc!zqkq`U1pzL=6M$;ykPFk`SUWb+iR}H z*>!r({f?F(w5in8v=?7NPM>5}H6ys|UGMF)QEDS7pNh=~zkK%efpIz^D#fffo@a+p zAhg?-TimZQ(9?Tcm?X5jzuzylzvsmB=BJ+@vm%wU!Tb^}xBF7#W~F_RVh%St&VYHk zKw=MD$?@)PQ%}zWh%07eOOnw&RmLI1>w7NMdB?d`5&Lw0>X+v%=0o4Xssju;gw}>~ zFJ!~qJ;0V=UBRuoy8ZY2-kcC z_PQxoIWU6G%g*s}3%F7Muia$Gc<0PpC096C>2cWMTi_%JkiXOUaC!87BH9yiLq%2H zn0giw80h%T|67OU)Yk}lU*Ev`!NFI<+)hm$6aGm;=%#$pwYy)1w6)`b8)OBNy4N#` z;HX?~cX69G%20_dip97CYBA%H6b`76lT5ibedm*Xe{NkR-poj5(O7pLofPNr-?CdQD0_=? z;Y{6(u4apTMH@?k($Yb}IqS_xw4iU#UPr65BDNT@Y;?~v*9&3%PeX0X%JuC*6}!Fiv*CRCQus2N3SYgw9 zhD|NttK(&@sWio2O8t^$BNrLdQctYNhyyH$=M=9)VQs^r*H@pShS@AI*!rMrmU?ks z!|SzoSQvMD@{lmTE{(_;2uLV{)XG3&y6A|j^><`$*46pw4@f^8R~_nA-$8svF6SFL zBvbwbe6e4M&27wwqX3lzfsV!wNAV}@Ru3FEn78+nrtaQ`*`?pQ$0%wnnL&|}lx~-w zA$?+H4zifk-%7$!$X1B6aI%|?3?lJUI{zY;nWR|ctvc-cF0D%o=oF0cB}Q*`bRN}i z@%$|wMUP~41aSkWkCWv=08jQ-sFDJqtFs(EB66=^;OEbumiFyF4+P#JX0RNl-4y0q z0ux;;*T34}6B!)?|xRTOKPR45j&TVZcR2g$8rwXn05ecArpSM_wrOGcy6(ps7fPztp^|eAN2= z`)6lPXCyA>)n+r2?CfP4+JoibZU#wpXDKb=w6z&W?G`PlnVIuA>6jXdY^t$lXysC! z?k$2UM$rcL(cVH`jb;qDtG6E>Jt#zDVbg2*FN)(DsE23zQt|~7hs~ehbHon6NKa5C zh7$GNI|s0=F=zLHz|CyE^NYn>L+ z$^&_{m+DcBCMUqJT64($byM9R?yLf^;J-AdNIAC7sgU-JSOx_de&I z`#krLEo^4inzhz^@y0LK2VYe#@2-0b7k5SGX&Nqm7eva+Z2DqN*G;^F*w$|PSEJ^l z#B=AY^HXqv<(nM$+WHK)xW2f`Z5_&;x61zxAL{b6AUHu)(^I>B5YMlwroJK|ef?maf25WhNI{!#MzqyFA?eJZ9*t?V3kr+thK4@UT5Dc@)z^y_u+u8dsIbn~@fxoFB0Im9O%{JysIRAI(Y_z+bP+MT zxfTU1BYCYFcMri@hea}Q!)=RDmXpH*j;;Fyf&Q$h{H=P=sKGv~yp#`^Q$JH^pNWcJPJ3Le&ln1zRqVbz zlvT=82)Sx?Z12fJX_Ob9^n0pyx)UD*6n@|!C{o>vG6mS$(>fGu4c z0&v&S0U3wVuEycJfFgsb4*PnU{r(LHGi7Qvh7aBOw?yh66z6IKlw}A&8a{%8#o?DK zSLkWQZ|*EQJkj11-j9>L1s-3QSU5O11C~R-{ll|wqoOYSK*KKwDzYs5+@uCnjlnBq z5HsD_%uFOV=8v7UxtU(89XYwXyT@%{JA*ywwHoIqdv0TzNZozV?SaZw-7Kx#(fSXx zhZ;4Z*o~K}+I@3#21e~CezUZ)U>(@LA$a;RD5#^Lt28a`Ita+*XjXst`1|=MQsI^h zl$-XwP~>9)2T`bgAla*JDmm#-Pva(ga^>khehdTvjt}f{y5`1hP*De(=sf5swSz~t zY&_o_kG1cC?i$g=c~ZQB9jXtUut2BG%ic?$1N0m)1^*Wo7MU$vf+q=o z2)JwMT3gG7Jn*4c`^xjq7jtpCUOet{{iR@ExphYmlw>en9(r@ ziw-!p6wD6B!`d^WW1YA@WWPS z_sWf((kmAev_T08{+;W>i%WieIa)uWZw4o9P4(a?=Z&_fF%Fterc)zIfW8mqk2PWY zK;$YOSNr=oATmp(^2E)m;O$Tu&w8C(o;ndB(Gm_0sf2|zI#H0-9i2ZF9e~c=8EXy> zuLVow<3eP7W@#zv{EP}hJdm}!3MKgmdmZ1epkDX$lYnnJMV=1Yk9gUG*3%p3zDFn5 z^KI9~dV72GOA3ysB-PLPI4^fv)rNbiA$f~FIGSI84fJRxcC+|WNbJJ>yK`A(fzC3+ z+10D%cAHlqUUfciecZT;8n2$4?io*n%ozduIK4>zJKd7Mprqhpiu+DfOpH!aUf0Fb z=8r)Evm-&Hnq^_tr-LyL8e6+q4Ui>+y7Kg^3M%D@2mtjIc(!3eSc#2I)U<4e&%(~x zfi7}s6)S9?7!()?QdHDH5nqZ@<+2)=fVCoz_qe>FpJza%h+*oF zy>9`J<(Ri*8}8gmyTK^e!`BPS9p2khMiTG#LL7v^M@DaoBD_&s0~U zCA4w4z~PJR^$BPdK)T6dfAkz6lgKzUMa(nr+_Q5n8tK(E;c=3zKyTWgbOq&P|6Hmo z_YF!7wbzBa#dv9ac(yVUp0TWu7RBNDaA06y#C~^yIq6VE&~9yIi|ge#rF6RtOmtGA zt0*2QD}S=<*P{Cf1dT|DxvbKiHuC^jlA(S11nRIa%JT8i7P~}Y7i1R{jMrBL-`RB8 zgx`g@jM1#Cw5YCSMN^CA!#9H64eOg^z)QEbq{^Kk{F1y#>x%QnFT=o~pdyU3Lm^Ww zU=rL)`G8@tn1J$7s{pS=Jt(^fr~al#Hfc^9wDELNPV?sn1=j?f@44|4yL$EDGIzb* zEa`wCRDbxJ!`a?0wixmugIFs}RaS?AuD#8^FRmr#NXiYIAHqNh-MqJZYXjTw z2D22hjtbqxOV2AJaWcA~0xt;jWxA}vtNfNFY$V>=1R%=F!O z*4)721WcFSzLvy6ACS~ZQOIIZ&ay8(etKALbIy0I=9b=B|1d1$3VDtWBgIxtoz*HV z6c_)&0^HnsxO5SD?6Q&;T|WCkb~2^*_=Ly9ACgtb z-}&U?@tI$B_GNTM3EIUNbYHgoF&`up*mLWQ6JUtmX4bO^b4j44zI2fJ;Iz))u;JlL za9PjdxX%AONW-Zph~!ep^db=oJU017KYM$zp$iZ0nNOXauW>mZfRR(J!~I_FYH8_) zh9REC0fEHV(axManiExz(2vqH4sx-qZ#W~rXK!!(p%GP(AU_Z0t08|tO^q8anZ;gH z41QV7)f42G*rRSl{Qsi0^2lajXkn;Hs8H#YZt zF&?h+;AX_H!7T2AmM}zwMskEHf*It(`?_mk!+~U6-g=^JHyy^EmI%aU4Qk#{aXm_S z@szE3x5tFTy~p^LU`277a!G4oBG*mt0!l5X_)7bI8aup48R8kG9N)A9f<_%}Hh$sa zwZ~*uZ@hp1fz@~#b)>{fY&o=XY2=h2*yPVfmGdgGbF^y1>zn1+^?zk*PTD_sf5*CF zTP$+vmD}NbRQk)^LF=gyJjBebwUFT*4vLGH7DWv2Di6r#roR}&!|+my@p@Za%mE?R z(pWh=*nBq%-@gN4WO(==x9e9fa`V&}fj4tryWFx@4OPMauBagsaXn$1|8X-e;2M53T)A&srTYCVk zx6>|kO*$)FN?zaWjjMI`F$B+{EKNf9bCltdO%@sAfga@xilXa}pBZq3yikeebA0dU z`uaHm1jP4#Czg-(Qu`N}o>~o94@+!6NI;fI+XmU1gKU^TN2jZ&?U3-;hBh(|zDSW2 zz54F$u-DNwOvh5dSKbSk6!rV6wZ`v^&M1Wj+X|1@HUsRKY|TW!iE4FbOUJ!GfX;*j z#T}6|dMd>I3#IShA6+id8eLw;!&?a3eMCt}A*8zBihJvp^Uoff3i`fR0hgWkAbMA1HO_a2auwhus;a70PEy`p=67^T7gayS@pSCR{ur*_yn}Fg6_3Ou z1Maoo5i5$t^{CctQbt;4i(!s}_LP>6iX$%4PvVRvNBHKaxVen$Z7pA#6Bux-P5TP{ zO4EFSu0`#2xYFc5FS#ok=?HiHR!YTcO6xv3Qmw~`bNmNC@6c$na(33s+``U2Cvsu0 zz5Tu7cc@&Zs=koQ$tG6TMepKoL+ah7!DY1V?@%`1=H6%kg#+~E!2p?2C-&VHj5P}j zBr&anXyA|4>Y%ox?r=f zggios+}gf<#9x6pBd%JxisbnGb$>$#-{{r|rncTRsqOvU=AITpG_(LYAys-qku$|J z(pLz;cD5J3Bvvh&%W$fB`TQ2eg_KY+ns*hPmZG7yH(MD2$?RCAQ!r?>PHEKzCE+t8 z^*Am`F7ZU%y^V!D@4aqg4ELgVfAkK%!1s4%w3lDb3qwE!Biw4DswMM93Y}7S{8Z9? z;4xF(y5Eq2jd0%Z6~DsWa*F~A-`;mbZiTqrnd*34x4$|VE#SgNwqbSc#*x&W#~xk5!lBMC=%@jOLAF}+}Z zf5+>p3mTmJqZd<&x(tA?%t~UO`eIHmETr#x=rYTlp=j&qOa<1|)EGp;6;S-Wb`f`f zB#x*rU1qq-s1cQd!BL zA(z-RHWoJyrFYXlnh%(y{=UBa30gh{`T4)kDB4l4!P{YwkG2rN7e#U5ARs8n>$E|l zlBWgL3gf-?(MT`|R{pN(mmR*?yg@$g$m7~Fh&(JV|@It zUsIOHE4hK>pjr0%O@IGA!gFop#r<^0P+S+VOTCZ`P_m#Dw z0u(@`L8>cHcP~^I`2>#SLY^Re;Ks}eh=}wIE#KwF3pO=1jntek;Nd}HhfKhsi$Skm zOlM?dgnjM*d2E3E9~&cioMCGX4UIQfH-<*}lav@BmFDEJ*f)>M>#pYCRJPp5xzzx`Le*?E({-kxXBkYCPd%!}UfuTl zNFngxLs+pr2T>3SDU4tRhSkevp*Nv~BCYR_YN7i@u(GOas{0`&8zdw|Zrw(lUHRmw z+#4u;i(*1~nNjmG+mq+f$opv!e<6wY_sWp}{5uB!-ssfOM}Tv zp6j*V_`~UgIm&)qOtFZ3$3DmJTD9>^GLWH3lMC;>8|2mB&;#}NZ1#@!{(D_-uP*_! z9P_}@tEI;A;+t?^bMUV}jS`qu{|-PHQniiDQ`beSP!)>vGaS{SfS%F$YN~Z#17X5J zWTuq+u{u7NtK-}^7$mKi#q)kZkO)e@F~?6(Af3t?E(=PG%rWYX(zVt3_a3(K73iq2 z-ru>Dfc{`_=}X0UQ?Mz}YZ%HxND~WV|8W1#H)%cENREmC@0qE!DDl(bVS21YPV4rw zv}_>L{ruf6j~V#i>k~QqGqzK%(2#u}(%4~!OE27~Pf-HVF@U9Xv#y!h+acC*Y8KzS zyqu6JmMh7s;~N5~dil^q=zLX$Bt^Qct(%Ni5aPCl-?%R{O`SbpxzJfHuBxWiUHX!J z-4&w6pfknx8!xY5KskvvFMxe=f88%Ww}bzO=)dbqB5IJ> z4y<0bx_WwNKXPb6ArD1dRzBC(1rkW$3WDmAFKi0QhmrBO-S4*Va1yh!a;4k)6e1gj z@Xp@LSmxieI?XNY_^SC97!zs6$$<136J-RHpkaTvCsjsjzQvy#Y;65}s{(cx*k78^ zn}xTo15SH(Wq%ZXc@mBC=~JT)?IxhTFAWs@&y~TbdiLm3fSKL4__LI{*jnP6FZ~go#of%_$Z+EyQT=BmKs_j^3B| zHH9=&*ggLFomAL(p^BPs)x0NF$c1DLu3cP6#Td1s^2JcmeIzTIij85Ry7WKK=kHY% zVq7I4?bzXrMfPan@lr$i8eo0hyQ9e?E&xp_X2M3r-Z4-*w;j zK;O&CJwqAsua>Q&$O|~I#?jYDEt_|nExHTO7O^>o_n&rxgrhC0Ib{!EI zgr23HQBf*dw@E7K62ZiOppflq*c$dw3`8ghpw^C%^ucc2yy3{%?RA)2{vh(F&SVJ_ zTB zWRI>p9l|qYTvM^t!af;1@!iQX;Eo7_jvDRnlKtLU7*^j%KR-nOH|1!cOAc5JiOIjF zqwP9t%5%e-p5D0OT@Z3NI6;6G@U`CfPay5X^e#KPrWqekH}mrI^|pbjRr23`i!~6S z;(AmEy9phBx4bKI>oXp5^MJXFgRCW$ZVDx_=VlJB3he^Pa^WH+V|d}Xh zk$Eqm?FSGZqx};m=)jReN?)_oi@DiLjX3%$#UGJ7{JUI#8zIo`jx*QUI60xBd5hwjw@6Belhkdv4%n8zZ+gYO)vgN& z28fjwe!3h1bu``kBb5r9S>QhXCy+K8sl9x`1lkjn&!qt&Cy3%F^>>v!D}plZ-o6s_ zExt^)Y*=epTj3tTMA>RfCq>w=9+j8oRl|qGol{;#Y%?p~Lcd+#EuScGFhD>|)EWX0 z1a_{Ql9Cb>G>_ig?7I5e!M<*6@6u^G-X$Pfk(&Rzt?_N0zx8?HGK>AKO`RioDsR2 zAN51s@GcH3Z)!%pE*(1Sv41zBy==xm~gX`vvB&A7H~h zwrszTSJi`L-;rr+ux;JnXG979c`PsJT?laluHq75L=g}c*=<@abj8X@x}z_Mxx%CU z92fJmgb{z}cvZP(o%`cJ?&z1#VUm&}Hz0h4YoDH5qNDzM3BE2zTX)?K))#x~n>EWF zF%Znma;=fOP>T8lOOgc5`Ar}3XSNGx)UYw%g8U;A9`kZyFY03eSm}-kT-CbvB3;P_ zE=aA`kd_F8!&-CGdbAm$YY@i%yh(Isl8r2c(~Sy z*5%c!$%-n7kiRMA$pCJWM6mdhng0=zE3nnQS#GnhSGoz+$IzYmDng#A(O`AQP3xL8 zVEfsdOdiCW{xRDZ|FNW6X(d?X6_df<@%#5js5=67EZ85n6(!$!*%pskEn=39&(Wm$ z_onZ%^ePw)J8g~|_kGZ&Q!f74SsHQhJ@d=J@bK-;LPJ6>`#Vs89$60mHt;N0*=}L( zMPOi{{Q|Ge&b>(tGBGI0MX_44A*kEJx*UYN;`q{w)`Z)9NoXl9WLXOeydE`_MvVv|?Zd0k=Mo3D46=97v$(3YcbtCc zRTD^C_m(YRjn~nYXFrFJjP!N~jk$eg?S)hm(+C1^8G&lA|fu<=!EGSX7 zEgge*ca*xfua|%~mE5>fTW_$Y{@F9pkmiYmN2Ee2O4|=?b@4^cxUV7r&6t{z8cLGr zEs}f_^*Tcub`ak?fY?syWj)AK^jx#dg|YQmTMkQQ(EYur7_gt4a!2J<3!KTQ+g{RG zzY$5Lr49-C{C4EN-7q;HOOm;kN^2N>E<4l1hk^LaZxQlYVP$1Jis{m(7M2!5Cc`&w z07X_==?7cP{tXnED}gf7EF7P?iRSLD@wlw9l$LUlm!RY08{;t_9q-GSxC?+m+P3$LHR*3OV7umkIC~#kjPo=^_p8o z7op+Oi9G83mis3ifU;$6-fP2e7m?cxK7Tfl{fbm2QuxAvkDfld=AD=cqr>HOaAPpq z-=Th}UJ=y#JiL0UdRCz@koEWcOLLp@c@&ZE2}!ciOIU-%gXCHm}9D+ zE*3fz(ZP)z<=@d^h;daF9>9LY=1?kW2~~}cSZ8O`YYcAq3ZHw2mYK* z{wz?qK}_|=W^Y~|f2`A5x@mny*rOL=&{&3{-5mL9R1t!G@lT1zEM ze#fIJkCLJy!}V|Tyq?_PkwgE}>yJ!W%@qJQIHaGmthlWVShqv-KI=s_5#qy#;lBB~ z-#xQK!y~;_E{dPX1UsEjP7I}HqiBO2)yOukXDXMVc4&BXM&ynz9gAXFR)GJH-B|;D zJi=Q&cVREu4)AvmMs0WJY@G8f@6Alofu{p)m&Z`aq0WK7cFGBG)zyqgvWjZ&lH#2D zGF~D|zNv(uY=vmiP<4OTU)WrEzby<-O1mU|(Hc>^=lK-QE-pK>L${?9d1E(yF~<-U);=~m3L)hzx0CLB*HHS^w*^=F5>B>)C*&OkjhExf3Om%;?Mc!7+y~!5aoJM7s)T;~PB5ztzf$UyTJOVK^{2TRpL3@Jt_m_w~m1+!UdDSW$&=X+YK#~%3J zQjvK`m{@{?MaWd>qS%O`-5ULE+Z*I9MUVcPHQXgTVxM8>355to#7AM|y~Z1)+U zhvZbAnH4Be41iA<$$ zPGq#(rq6-LK2yv~MNONc@GVoNk}qgw@P^J#VEHwJ5~HinrKA=ChLWZE^E4&m5V9RE zi{U50a5&yA-`S5G&u8K8>pX=nI4nVw^t^=Zii%Bv1PyHs&!EFD4Ha*o*eHFUk^xD8 zN%P50?W$kk&IdjQEsiM`*2dY2tbl@;fp&NxAuCU_q2**r@X!zsz|vecR)ec^F$60d zr?$TsgGj`uek5}$M;wU02m*eW^n>Nq)MdLY^(+C{5UJ>Ru1QIu0bxuuT7eqOR*a{% zSRcl)W9ZMeueNV1E|$5T)1aKVHzwVUmc#H3N_bwISDOU93(YF`ASkWe#Ut}8QY7Om zISmvcyUw=TJ(wsn>NrEbbyZOjhp0d6Ny>?XEyibyk(z*;Sc#t@c)zH61X_v8qZt>l zSOd)>U}=e@2Z-4q7*#Xq1?Ara)*0zND}CoLaeP9*4JvXDXD39@yF2b6Acz{2FfYtC`$G z!dYBS_6RYE`}G(0K*Xq7u~Lf?;4aU8e2=%wF%Wd#d!JjoK|#fVu7Yn2k0S`6G>ETX z^;LhE63Zo==;-N5hx^Zi1SN%JT4?1Vd7;Om5FoG@f6ZqT5EAy}yzn4dvmCCn#1H9V z4P(#>%X4!S1&F@si6($m+kwLdSeKN?Z_c1g81l*u%VxDxP+B^0d7_-O(cgKw7%#fk zfcgs34zB18L`3crh4hQeTDp@zQ-IB>Z*48^%f&>mRlG%u1K*+Eo!N{I-O~+}drWJ7 z9#&UU8>k?Y_AV&6t1pgzl8JaMTWgr7es12sVlnwAPw^e(!nT*w`at~=gT?T5N2J|h z`!62>XbE{<}G9Kn>Wx;Lu?JD6uz41GB`(yY0JrZLc&14 z_63a?+T(gANg`?e;%P6wDw%ZCh0%r4P*GFq8C!h}D#2JbHA4@=c(IiAe9-&No4e^o z%9($3k}{e`eqLecrv*ZeB(;eW1BawXJGuewGyb z=s_sJWOQ|{WHmLB&F+Pzg4yWs9qP8|!(9>RRhy3GUy(}?O1boYGV&cg?~KLuA-DB} zNbZF`ZndD>A%Mkxos?t~a^wqVE9V)mmaZc};viJpX=A}RWU}b>g(gH;U4OC%i+5!c zd5J;V+Ndk8=^L&T3kQqNNc(V9bhORc^MzG!%#Bf*KMdi#fNcOoPiog-^-zH&4$?8S z&gmUM<-Im7gMx#NAsPbG%aiF}S|iJ#q;&1t4WrXTBSKWn+tYy5?azG`ppYi1XKI?< zv5SW2Qqvj8a-!G^Pr_6V74ZM0#|C^K~EXC!_X{ zPY@(L?j!)FqX{Pc`M#$fOiToRQY3GdSO*dJ>#qH#C^j2diZ>m!8j=Jn(Sp)ek2r6@ z;3<~t@xl>ra&s~Iywo2*SLM;KA%B*;@^Yxuj+xo+7-JZI0)o`A_2`8&-i}V=NYDsv zO!*D6pr9yr%d3cgNnm4T9+CSRj@^Z7lr*0RW#>`nqkfq1QY23!+O-R@Rg7spNm!$l zJBSJlo5`TjXsdbAl*@k`^Y;AcgdhQHDmj!9EQWT>7dGXT?%Cl#OmW<22qfY{Tu1e+ zv=`;yY-}4uUQccer{3PjCy>svdK_GZ-u7j2Ve}pHuE^@sC26;_quaq`!krPNQj4+( z$d$I^+v3?QZ`=(Dk&b7(3(YSwA=hh9+k?y1PJ>4n0# zm*4A_rYA!N|3nko;ce|0K7dBi@Gf3TMz8){_XVt(5$uc1NQ&+Hndg-^P%36I9HaZD z%+U3L=}hi&RqMOVWua8GCtj5a^`98YOpjW%v8})C!0S72H+qHXu z?qGH7zeBRilfOSGI9$5zo3p<1Cxt!nhlS+p=X8vNR;eH^7D&o@El-3D3F>gb3?KGl zfEsu-t}A@a(uvuY>6bJRTEnjau;IYc)0_3&>!Zr}+{Bvg7Tct1ANA# zW+Mprot|3xNSm#A@s7$~_%%L`(IpZs*AvTO)v$w`ZCjIdX((9j>M2oO;ZSIW z&2PKBg9{$EEuTTEBn}8(+@lCr=!{tmm&s>S+i6?(dP27$6_U7tr5RJM}u7qh~O{cn-!;rk*71{($N<(r5zy za-mFHBscTv!C8!*l6+RGcC8RHyQtPs0g-^Gi?XCGt1FUPDk`YB49`tW2oHt*^YGc9+S&0A>^5Q0sn8VRDuRF=q?)W5UFTxiMnS;hNCU?USQ}<$)}ZlZ`F(J;FimP|E=>Hi zzeeG@^#K`AsLLzfU1HGyXN5|mKkeqmzFp<6vjfE8QS2N!DpI4hRd%OcWq?queN`bj zo|E22zIqVENG=c@P=qtz8Zi%rHES8C^%D#Lq9RK>#Y{gTdPcCYyNweyKFl_RmJvE8 z=0R0w*(U^2EnV(&+kP=zy%hgKrE9Tvko#mX*MPNiLQ4 z8YsLSfrmF@t5_>5185ryp@R4Saz>fbN#f{1#%V>SFs1sY!)=cDfS z^W;g7FRBn@Zb$E-DRBpfSp4;CI^_sF)dd#3<_K+2>UA{)#)}LH`tiP=qXOJ%s!SWr zFw#EuI7gH+#-Iex-~SU-^2gk^qM$bc$_xMCVlLQE(1{vz-LNu`Kbc3|5pmzSg6z*L zEoUXMB7A@$u@@%Erht8G*DbK9gr25}hKiUP2N&mEt@ZsCd*`#Q+dVz30CQ@7oEDtz zbA`)4GL^P5MV|2M3ln*Iw%_uM5YeAzTE?=NqE1gwhdq4pHqX^F#JmDP%U{2K%`YkG zQPwdZ{1&Z`s2d*k1D-^c-8i+>z2@HDx4u~9J(;FxsCauxV*6%$XJ0Eju_~+M;~nGk zVxEHv`ql%wk8^YF8C>DnfBMx9b{B>C5}^jUml2ryD)qT8I);{b*+2X@Z1^b9By1c# z-A@vQ?CPF#3b|YTjeXeI!E~OazPZ^qAoBa%2*)H)(R>0TLG`6|@J;HRf%GJSD)VU2 z+~$od($2@BJ^>Ld21mCXEynjMuFlT4Kxt^AB2oMkS%%25?MTL3L&?aQspNVAw~cqc zr=y9fV&dWuA%$9M`ty~Tv$@Y<1ri7W&8jB)_+_c|rz_qrc1ABMl{*fF9zi-bWLS++ zFR*%}Y>8OrnfCbo=7xrKVX7KP+t97{vnm3Rj6A3~AFdHW8J8{|WA5K{7#h}j7 zyHSLPIICDhKp7?de35Cw+y&vZA()hJ`~-m{vv}2^&FIZW73mN{gX%5W^`+rlN)QMK z`x?%`XqNbfRH_OmQ{Ob7#>9%tQK$73K-X>N+^Qa~8Xp?EWoO53nK-V}aX4wLg))zwadx1HBpFGUex8$;*X1pwZFu9RY+Tcy z;oFocgG>mt3jF&N(`g5$h2_!FrRcQ`+}6sfYtHm_)G}Z&2=iO`HgN0 ztwO1ijX&P@uS)3_VZ*9`+R<#jos^ghJpPkQCNEsMCuN`b=U|l`qalyMA z(gTWfeVLxQBpRdR6?TbrNjiL`rV|26RN7kjmTHpF`GO? z)26Md1?xY$Gf>WetTue@IXs$uf7)&Y?;l0Bh@Mybf{LoA)5LFI#u z2`g2(EZ4azvg0dm&X0WJ;}cDAy{f2J)!0{w2?>)2SM4lb{O&g}I&BZW^kyJ$f4cQr zPyG6DWUK&NoZjA$b@}paeMYYOjzo4u|M!<)sHGwoon_6?IB{x84;8|v;%Kgr@EP1E z<#V7E5+Wlej>R95v)?2Au2uO#D{nFBFxjFFsw$8DJUtT1Js#`a$K(~59H~zcAS8?i z+v+cn1jy%ES=PHFtbff8US-joG=4=J;ugld+PSt2oICvbxbocsW~I+;X_tf>wkKnv z7Q6FlOO&|3G(4}Y@xLYr5|h$Xz7t=O}N>><-CZ3NThhY&I3OHshyxG;Mx{ z>JzlrGro$KlSCe_41|2xH@92f;gn6Ru1ja)C*aDI`=noesao~+bGN+N%RI?kqL=jA zP4T2|2gIFEw!=2h75knhyEDCN9rf(-dlb*Vz;m2f?LncOs}=C$P`8GV_ra(pqRXv9 zLP?1O_$wLi<%Rd?6^6DvCvJv+PZht41|(L*(EN|K?UO3$3%4V;jK0-`%FfkJC#+~8 zf*8B?CZ_M>Wi1Q2{KLhDH@`G_p7$eqDpzy|FV7rH&q|CaD-VpW*N&E2Jt?}m8+2_F zGsQonnUNekJ%F>V@=&ed(<-;ei)^N)?gbom;ibmyG7xqzG-%{&l1=dQE4Xbq{%U!G z-aLUyB@$cp+aL5ZGZHkfc+sv$>uO~dob_UIO)WhMvg<;P5DRZEoc&6y?ex@}#1(Aq z{dO$=@Ks4d>fAjb>gdZST7BRJ*wIWiCc@y{d!>ls{3Iu_E=K|(Bd;+}!8C9UN0D-8 zc;QMerj(sxJCigk8)xIdBl7LrehtLYIz|?OG70W<;Z5Gy_ZarnF-BAf2FUK-ZE06i z3x0cQG0}fLr6d^$|eyq&p%XsCXLd9Ny+#RJHlNa`Uq})~~ z@&_T!_)uNICLs~&+89UQ94}jb3aqbW{5l`0$k&dJ53IF_cNRL@d;;)oY+L;kGE!5q z2?%Z(l=yE>6h(r27E#lz^<=^7@}g1|9pH_*t|8#el(mFU0~R_=_kIV>?#_91*WYKQ zU-m&kfSqbxL&LRA6t_abR_mqwyKAFf-dDPAA)vLidpN0a^wndO#9ErDKfCS8=2Jl4 zacNZ4Fbxb0bXCbdaB8(SmNFewfCeZr!pQ>|75aCB~SPRYPpx(qBBFe!d7{*36m ze)84pAU?~wrjj>^LqH-81ww5pS6JM_^btB;otDm)<4prhqtTbmzbvkJgSYqePT*~2 zEN8crzU2hxz?J&R@}kAgKA_ugG&bBJ!F~(;#ZT33YiM})mqJ_&iq)C=jLw0c#ze20 zgqXhjVwmP0<}LIlh1|{q{;ksSs(JCf_{#n~#V9_peD%TMo;MO$3rsF?Y3dzVljpm) zdS^t@*zI-wawuV{>#Xfp5d^&8PFy+nm+Ql6+A*g6!(5znhSnxYt;)V+eZ&gX-grr@(f zt)UQ^rz&bIi3;UFu=6ai8{DvH^E#Paqh+vOA1y)F;P;k=??fu3@p#V6)k;P}eu#Hb z9)&@CneJK5mzp+C%fW$8Oib*L&wMb3M+lh<=&GpZzrG8#sCrnvD-YMGg@oRSqIr2u z@4mLRP1SvO5=bN%q5JfvV&Svf4^qA&-;8vo>K zBJXbO138EW;EMg5m#==+!7f_tvj$@|-# z<8EVH+i5oSUJN#o-?hZ^1{J@z3-87Nx-vzMkawYkE|f2 z)DVSP9$Xstm^q}T!LFaY)uqU*)ofhrzR&lHzx1@LS39?~u3;z&Ci1RCKrr~hFU&3P zerWa+v{(xY3TWq$)no~Yfye=}u6T~eJ9lmQ13N|?LlP1`iKV3JR;x=#am7+L%S|sRgpQw9 zx3u>sxxcm~240JQ39*fBe)Dk4oAU{A&~Zx^`_p>KCo`t0$>V%{^>;7<_ez|V;C+CSDb|bI-(XCgNhakY{50wc%hn3Iz zQeG)H9HN9)X*H$7>pIe?Cd5D4ZE8If4dBs-(rJQ#@!>p`INc`2P;@FZdWWy99C6Raapt5$gNim|YRM#VwKd20=?W;y%T*3Ap%}wG+xuc3?=N#P-rQdk&16SoRl%#?yUt$0}2rT z85$l|C=zqHfw|;6Ov$|t>W_^hBmQL7r@%E98GJ;#+&_(mI5}LG0fk*CABku5?Jm_PO+wd9>SHXfR z(6R;ULH=gl6W9IUX4Q#o>-_b$H{IMAUhd5O&|VZOY0PxpHv@PS=q-lRHU$VVWJn;c zc%JFvff$j&pA}9X9-b-%#FW~g#2guz3q4fbLvGANa|P+<&5pxO5gS7#iRt8=zXwEz zljWZp_xb7#1+W}mO`S$aC zpW+1qB-2tIgT9qjmRCh|dGbGugL;jm&|=FC>rlzGuPTS1ERNiWZ(@0XGE0;80{#Anx32 zicc#VAq)@evw zsH7*q#>w7Nn5C+m)pmaG<tS+en0Q~)zxwE5 zu8ob2Ngvzu%E-3`A*enD*wubS_tK*>iw$UeUaxLR<^=6sJ37%fvv?aMqos#~^ZJn% z2_v!jS3QMoiveHhY&{cp_7|q?-76&~_BvKKh|WEpI&E^#PwV%a4P<@-L_F+Q^RcY6 zrlSk&G@kq$)m_fDm)o=#7gx@#JEf2DP$?QvmX`@Lm0F$j^h!UE>NYge$|s)*e;N1K zUFWEviOrw`4)(^`roA`lTbt0|B3Ni#99$rJ*1ndn-e;A)wzgNh3oZSCaDf74f zON62#T410<*dvuszw<{^Q#0hhDzWyv?0mKt{vzNbncS)0JT8sl8YsWS&eCh%y-L9( z7%#x3Y<*^TcD8DLbbP#fY@7?InF!qvCruc{&mZB5e8lQc>AJYcqlO~R=&v;Q^Ld2- zJ;#|LKlW5(gQ<;$6Xj3BuKj~ZGg!Yb>DYvKB_d@>6A3Wyklk&0dmU}K(31brqqNi= zB$`q{{5u)~YOh8?i(Te2>Us=fCh{wNMNQkQ_G3HM&&(uI(<5l2VxqpXaET===^B{^ z$>!ZZ_auroogS-Re;4gx+KVf;gsX1v%EHP`bL{D_+nc~mggDy1>3MRj0@}a7I$u@N ztEaNC8%w7cbr6w1YqGPob#PO-lYpK3wVe$GJ#VyzP|euhJ~c1BggO!^`Vl{D^#cL{n{3D(VmViL zY#K4OUCQW8`z7`-W%es9{;8v?>QU2+i@}nH?}LIcK@{!o3KZgt)nX zE}!m{XUU46v$`5u)z90v`;h=c=St{ptCgE^LL%2ZIEaP7k5o{~(nO|x(@Q$cetYDh z6aX#Wo^;vtMLZs0-&E{SU@a)2nzy=UR>GT3gW5k}CRvG3d3GY0!}MpasDxVR(Ho$s zgRnUWQPlN6^PxxGfrz?Qy4l0>>e5SsSdElEx_`cxDt(|#r}-dJw9XiTwyS=lBO};^ zxIVe>1SMrq8E}`vT`f@WJz(v{L{rpnEsLaJVghoZPgWMaWVpX{&<%ECPOj@{$)%-r z&-0#TDB(oflAntBP>Ca9qJQs=nci-<1^=PE_j_qvS9W3+Hj!+OCN}FUagyPp<~d@9 zM!>%zluSb7|MTl(-M}0)?8tO# zO09PQh-6#%i#7iDcpPYZwRdzNw{c$1@Y7{iw*BLt;W-py`EN?8^g*m`O1h?&`^sed zkh~%f`KxM#f#lt^0&4o7$Foh4M)l@D|MOqG``@?1I`{8!|AQ9(hYN*#MQzVj(6#!a zeAUp5!+wc3YKi~QR@3ujj9M%(mf<$Td*`njnknrY4Ao7frlzy%3=tsp+Tj*} zKJ~$YS*yHrY!a`)-~tPpW1kZFn)AFK&d286m|1=iu@{K$ig6OdN_k^;L)~9S!_juF zpBJJ*x~R!dj)^6y>hq{M6H|>~p^6Ypo(_>FI zknZ%|vx7x8AZ^(=+Ur2g0=B<7a1ulw9?VW-dpsgDU^ycBrxkaoWH5Gb4_%)AJIGBrR^_usekLEFQ{={^) zVf9Fwggvemx2*`C5+*7CzGO3M4e5=?S=eg0Iwd~52M5>vz%S~N5XEQ(7=(T8F#{mP z^*ZMJx56d;f~^sViz`3r!WqUS!|P6$Bpf&P!EU_NUD$<#Y9~e@E2EAIwLN z1Z{&BsW6-vG2cTb#z3;unK>cyK5{SkvD9T*OAOpHyclC6mZv z9&lJ{27|^u_LtB^9$#oee+kJ-RvBb|4R3;6!lWnlF0A7p9E8mOyodCAc1iwYMaefi zW*V;Mt`z934yNE7uUpWsZulGf6pjV>UC}x8v<6Q1-TAhNbd$Tru8yY6gtGtT3T#gf zEtQ}^ouh%ZzNlK*>&1X30;-BTr!%<25i%s~B=C}09x1bjz$;AlZQ-^3yusxJRprj{ z@Yo+`5?#OVa|j@nZ0{1-$4Uo%fEs2Pvmz1VhXQqeY3VQXQ?dnS_0F(pyF^z^5MI2; zJQFCH##S{rAJA2ZafNPX&A{2xVs9^`I>Lg#)mg8^f*}e2ua?0DqR>Xt>?*C$ei6^BR%pU(y&wsP4G7`3dYhjp zG?2Kh@VY#|D7_D0AY^N42Q^1>4=PAzX(ZZ7L(dL1cyo%*VCAKp6p_5C6PhMLL1_Ih zYj(TWJDm&5LQQ(zZMgI>E!HE+`97+!mq=s2j7CJS_PW~1{^)08b1t39+Ev1b><@3* z4#_AV%qL7QS}e|^KEPU|S(OgyoWD-+SM*jR)Qi3pN$<6&VQ$#`vGK{_^bjBMa0RL1 zRm<@S)$oJ*pT;Yx$*Ef>GxHz=V~)2~1OUuoY1TfN&NnED2gR0}vE}=~K;;KdJ(Xgh zJKtJ0MQ&zY!3z?K7)#A;5h4}AI^34tFRWdbyM`_k2|5G z3>I0!xYuy<#uM@PGqF`a8y!F$!bo~mEqE@T!WZP$uu(G#7cAC)g}Ck!zetg3ZTPJr zUFAg`AZ-iefCPak$@de9t+FMw$aPPNwE7gCX9!g_k@&tP8pXlRJP81Xzg0W>!-NOU zG!d1O)9}Z!7B1KIDS0bZ&u>E39`@2kW&L5xqINENUw- zC=C+aJJhYa=@MB27{#3gDYuXm71S|$|Fe2r-`9*1WP#*$D6junT66qnC+h2-{tP>} zv;P3@{~Cu&y0H)44gBW`EVyvF#+-1M`&gQrFMCm|l{(=?aSz^Nh-A6(rz%{j`c&_x zw`-IK46Gi0zrIllrh0eO9Zkk!XF0Rq7Co7{dbHRVrc5m0Z_yL~Rp&DN zIuF=HB)cI=Cwv0yTEO@4-G*&o)D$3VZ(!~%;nc>p59aCh5jlW=cwDTlo*oqdG!~bj zhzDoMY>aD6S|bBP1PGWl>mDCivV)`qfNll4NM_UBH*$|33HitTNz+)^GM^O$gD>JzvrqM-ym}@Y2 z9uWat+3*3^QHHrrMz$!rn%QKWXod+Psa&y`QRFv21 zkNlz)=kYGZNB&Eh=PDh)j%q$E_3EZ}h8rj~BSR^WT^c%lY3-7QXc50e4lfx2BYq3PAd z+F)f%VR2E%=^eESgR78wkznR80j_`1FpFo*vsFy>x$CX~O!7!y4%6E=NIEM&x2M0& zyu(cGpQ1e`Ir7u`HXuWYXm;mV(5m+23Q-GQTWiiJy#4j77prj%NPu%DH?^SLM1A7W zWw{)i1nAuRODAZjtlt$&4N)8;%&F1^ugo9Y1?#sZZ)GW$1kBCdx|f+bWh+ZPv$*)8 zb9n&xh4kRp7HBu)+qbf}yD}0H*yueYQ^1byU_ISG;>}?bLdgI1K-kIYfkLPutI5Rc zjk=^oUQPC?&Z7{=XZey7f|&!o6>qUtjd!F+p&4usT~HSzLx65K@pX`3f4T~`&=>yQ z#qn!TiXyeCyDB$1%0i#M1U*T9VW*JJt{M(ui=;B@rZLxhb3qOqM)u}4kXS8_B@uvT zy9w%Y@Y!o*)ljc5TbtbIr0(QPbQb`XEokf>O@U zGo+}g&a17&&v>q3Gzym~L%doRx#sdiooGJUxuzti1bz>Pu(Su3`r?9V1KY^$qK=rF z@FfDl`BLAIlt+J+GOVn}NCjG^$C3MSMbA&cNRLK2ktX1`t;S(A+@(yFIciBbU;JZq zT3WDS+s5;A*ut_xma4g*7TcwZ6oTvZFUrKttGHc6EwIND1)_e9_<=VYqSTTNGe$xZ z7zKFkYsNbPLsaSQKga695aDKNi`N8xhrjQz;#_WYQ%0A9$!ms50) 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�@YH9Dkf4`T&mmxJGKc*v~RXZ;a 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

eWm%kP>@6zeyegWj#qa>3s9^l83s{$t6s zXvY>p*R*fUlC&NrjG^<`IWx13AV2@lOZ)4=MKjVRVl68*(7!(no{DhsmG7&WiMtg0Fw`Uuf$1^pVoNATGfvsT`PRkm#$UDuK| zn*W-$P4uTz(s*xc`kc@8b`4Deo{TbSsMVWiXQEXcwbvNM4~3FStac|OhWB@RHm!e& zm0miPBFR7RTv?X!?eDI@0ATB5?TqweOf7AfZ~$&M+>xD~vXY^c9cNfUuReM&`i3_B z@;___o?E!V{Qnbn28sE9{DetZt@j@ipTA%+6F&L;zPGDizb*!Y;g*X2Z2|zdxvp*( z062d9WVU$?>L~yqA|hEloQ)g_NhLHcgOqeD^KSX<-@M-wI2V;pQks=9t7GU`-R-t% zjaV7Y$7^FrPPgFeVZvg~8cqLxw5Z_9nAI`VE9s28Q`X~ln<{R6xF&}5Oe-hC(^#_a zDlIFy-8Juj)v^Ou={+}sOII@R@o>PwWFRT+MxXiH9oxL$6F7VMMwzv)l2v9giJ272 z?SR1mKOVZq`RH`gGp)3#>c)aSR|$$rCpIyYK}(}-K?IW#a+wS~U(*8@M*}mrUm^Bd zCSEQk+?|XhBwLuhOmcNoiJ2MWnGdAS+-|%Eu8$2LrQyyF#V~)*nlx z`Q%Ux2HgW9_exy=fDuCnF=FVT9GBfoU+zb-VmaX5p#)#Jm~B~|S~cm={y9pQDv67W zGm(*(*|~cU-_Kvb)vMR+*8T9KiIgr?lA1ND=_0#F4eC9?tQlX~%}Y*6AtWS}CCgSa zf5AdBGjIIUK7HmaTet79yB-6MonYdple4Am=;%n#?$7gN{d)NN`jC)tmGi;D%==+c zwu<+x@4n~hrV(%9Sl+*Ww@`;5b&RHG5#-HZ22=91Xx?v0yaX$0h@A zX)$0jnW$5{mTlU{CqHLS9R5enQR|k^*o`e9A|n63@&(NFZRka#PeMpYvCyTaJIBLr zyh(3a$&F55hZA)*ljap%8QLQ6ZPWVjId5K>7s-t6=kaneGQOQRMQ&;ie=nL>aHZc5 zk+ivK{D6raym@2cWl9V?kEgSdPdetKyq{xM|M)xP{jYkto+mrcCR26H1cqsqkJf$Hx}U)+L~IWjDIdx1^WJO0K+I z-;=)cF7w-vLcG^1FD<_e<7%pfXDhnW_en3iF98?~@NxTmyfE_;yM`5J&Cx_kjW|!q ze2(;K;K|VCQLH+Ajh=NqIToHqxl!k-=x?S?6*pWQjTjBEpicqbSa6w9KSkr`<-o#M z3gBkeJ53P<0OU_w`O|8C+p)`TUanlZ7&P!LUhMILU1hFtp+eNCUX2cI+wj)F!FEl% zGcz+8KI(lo{QM&(lSu{pCpkMgQMyz~Mh+W<(P&`K-1&CP&z%dh3jj>~^z&@30{s2` zm^yh96&@>ZH@{+q^0aRGOtyhAtyU`&CQWAHyxI4a*M<%1*#!U+u3jbh!bOS|En*)4 zxT$48xw2(Ac`6WqYu6G9Iv<>^Z-2n?6L!;8t5n9_-AxyVh{%6P$i&-^`(iM_xVGMm zYwMkD*|ZmKKS=APPqPNZt6JF1jv2|>XTk~oW7ZxlL1#pBhTJ6FkNm} z6Z3l)xUamw-stxGFgqBC{i398dh4JYdEP(r#{XS+CnHPy`sJ9$;#UjYHvPwoIPqoI z>}B_SEq9);<(}gCK{KCq z%13I3m8PGD+R`oUzJ$jIQQ)jzXg)2{>uo+dgbmb`iLP^3s9YF4jCx97Xub`$ZJSpA==Jkl>z3IA072(%zaKwwlHd32v%kq59Qfh8nfUwr-8S7}gWqA-?me77 zbJjNR(BZ?Rq@?2HWWMM8HK<>YY2VDWue={SZWjOu2?-@G?#5?nRNGV<~*`>AU;eJ@`DxEEHdl>zS#<>z%9?B;*){z$rX>Hz2~03srCXX%+% z=I%_OR&gitxatMSpHaV*GecKI**+uKqmBo4N~oW|$p6Ft08&=G@As4`%>V!Z07*qo IM6N<$f}AtmU;qFB literal 0 HcmV?d00001 diff --git a/images/gh-fork.png b/images/gh-fork.png new file mode 100644 index 0000000000000000000000000000000000000000..19d64b83c7f5ba143b0145b2ba8d00b32c847942 GIT binary patch literal 111347 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

IQxh&~Jrq_?QIsy1MT5cBneRjTR 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 literal 0 HcmV?d00001 diff --git a/images/logo_openipc.png b/images/logo_openipc.png new file mode 100644 index 0000000000000000000000000000000000000000..23ff839ed5dca1dc80be06f3663454bb5b0f8b47 GIT binary patch literal 7067 zcmZ9RS3DaI^ypKg#FoUWQ8S29V$`Zu#NJ|8RcwmdMNu_k#TH`Es@S_IYFCN96}3l| z)+nXg-@pIQy)XAZoPE9z=bXnAXQ;11OLd0|007WxX(EjQfLkvAd>2Zxe>xzyl2#*2)uK%UN_W=NZ2>{@$EdZc^2LM>S@;Z!^ z{uM~w$dQqy49UWM)?9Oy>+9 z{8Tb{FoCk|ivoh7-x44=7!rp2gx1<0CoN98*%VawVqtW4B~w zjgP>Rh0w1Llo0RBk0XF!e@!Q4%P>aYC&Ig=*LJR7lkgJgVwOTfMh5xO;n}p2xhPrx z7rJ?$>m@UAi=^zzy}-}t^N+KU!Utom!cyKXKdz=<~lFq6C*PaID3(aTA3wv*j$Nh$5#FKUtW=b?10>934vWbKwzyy=W> zys&Dnixu*e`^poU-QVOl#j~rR*}S0wUnvlE<~q?^Ou>R1?KYiDq4n4$rRfc{0!k!ZLxMrFH?olt@P}|YYgKLwz<>$tGNvzV5nb8Pe$-w z3CFR3s8EX)>!7lEjhbkQJ?h2GK>OBGK|rx3<_4Md$YoI0}giN#FMy&7*(h-2rQOT}v91RxZS+o^*+D!0E-lFjdisA#xf!hE=T+a`kYZ^Qtf}x>r3`!>^dx3a*N;Est=dwf{}3XVDk_s=SCaGbLBTcnH|^WE^{C;1U7u8zr5*$vwa5>7=;$WjYmB*_rl4OU z@*FsGuV7nvnX-`fEh%YR-0$omKdx=r+9K*HL?3pykW0m~Ao7%yG}7&CzX!!}nP#S< zUXH!Twv4S2OTAfOP%$_Qto%Sv_Cy2w!6zZ9oM{9ndOxLcxHk-%zW&r%;QB<~G@>#Y zuEjtul-e^#bQYixDx*>ia1+`PB6JSvAqrT=g<7d%iR1TfWLzXS9t3`|%`{=7P;4t+ za`JZ*jR-I%h9X^Bc{3hsO7+;}2_!H59VoaWAzw)9Pqw+#?x=1UAFo3m!e7tl zFllj> z(K4Tg5^|6^<>~u<93S>V?Ooi?Ejpm$rOd0@YGU7`Zl-vlg28b!Pv+Q5VbOBUAJ)p$ zu6KJVn!U3O2j@iSl-)ALQK_Q68?fa+0qaF+AC(GD3yVa8j2kR7i7a7r=cM`hOo5j% zp8fn>%w1%$r%2Nl)XKQZ@uZ( z71s;;vbmQ13a#EGvBouApidl*ienS-CwdB1mV*j?@?W;JX}|p7syd5iX0eduJS{CX*!FXL)$>(|x5ENlW`Ck7m9JV-kRR#F`3YUe4qQJM%Qb?Gq0( zsGQWe&d8#~CByZ?L^-y|;%#UyDR(OGbZ_~5z`7O_CoNQbg7S--p?QXVvBiS)4SJFG zH9I7C*BtqBm; z)w!wi*45T{pPpG!p{`0NR11hENvBOiIM5nTq3iiPHwC*n&#V*v-{Y))AijT$~y&MSp$}aA=f|#v(yk(=iuOC{->BExvp^(v=5k zkl^V!e!F^O9m(u(_ADA?pF!xn?+p`zMt$CH;X=XQ!2H;Lg#5>)Pt1+dR_hQEz_*+u zsSdQ6wgQF8e}9RxHYLd)Up1U>_%38M!HsdLgX88z$M@{tYaE!~4{zDr@2D2YuM?Vi zo{?Bw%?KS{?LR_{!6W3u${)P=5oajd;!XZ6`sgbE)vt;J?VD2NQPdM*XH3syhgeKy zV@9Uu3+sNfi#FWqN*qo|{e*VuX8=S|fWsEpPi|JMfb=F$Sn3r{mMKfKmTe0Eo8xKq zDFlIeOnq^}>=9lo>TvhX&njJ}rI1mVCm-;XHq+~q%m0o+>o?sg6?FyU`lI!yzzg(+ zFce7pK<1hD?qM)pcZ~e`$!;6-c;Yt(hUEN2>|_H8J!56cnvUcP>MSI6*OjiEX_C~O zAowNZc@%3mNkNSQ-!7B?2ZSB0no*A1RrKzZCTPy(>ES3-j z>%tPBpEI1dZcuhu&)pWB8me+%mmyB4lDhM|3XGc5yJ-9!>nG7_4L8RRc@9t|;$G`} z%sd~EjFQVgToScqj*+QT^AVYtnK1OhKuk5i8^QgL@6AcTY%2JGI@Sk{J_6q6`9GVv zJc2TKFx70u*bN)b;@+ihc0Yj~o12={OC=8&sJiHOc%U)FTzlB-$qYiw5<(E3^4;eT zmP!Ujphp~(edUWkuLp_)q9q(#$Qe%)h4C^AXz9(?^o2R9{K zH52?45p8B8X!fx7qD?SL(z=Rwk9S(r@%_j$*N7O+T+KtRk57n}{q^dr+>KKzKOOZu zZgRjTV#0eF59{P;MMwh?tnc3ywuc}HS=UyCz@+b*<$Uk`zgMhF>7PEoe)a<%cS~t> zCZzlbaExHBF`38=mb}4L5Y0|(!1p0(L*l1#n|9ZgW(Aag`!u%a|LYFVg`mnXGNNb- z$EcY|U_2pM*?y@4{Db?JsY89fuBi1ez)JXdUzg>c=*UBtnhnsab?rI+hx>3ut4X3` z;xP+kUHSwgl_n@H*0pXcWzc|dzEz=m$W8oZk=78{5MCUmanpY<&;qMeI#O8l=@+Rm%t+HSdQ-$y8t3lE{RN8XjL*kg6W2 zS3H~YFnF#;o4Z)Pe*&co`qpCEmf^CY?U!PpL^mX|&Ek3L)zOmnNOKaX&{y>M5$zXW z1}{*E;i;&V^<4B}$U3a@2K_fN;tnjzqY1>r!B6NdZQlt#_#v%rNstRNDpCED6HttZ zPG8b$FTtdXlgK5G|6~WdIS^(m!Ic>~sd{+ZF!sXv(N8K=9=<+!II|HiWoU~;yy0%+ zV2^&cF1d_~1#y%%nAUGwWr&&vrPeu0jfnop1*zpfY(~vP$dc0E8irYc4td`vQT%?O5*!V`=@-yus}>1 z;Il~|W8K-@kR#D9)|T?3A^c5;*^XPHYF1Yq&sT544|&1XoVPI@vyEv8F6Xk_*>Za58cRf~XJ|Wzp&aFPl6^#I&kUtK z*-SKDWp4K9I~zGK9A-+nFF~5^O~X#{!#nD>-d(1r{pQP8D@#mYEPBJt8Z$VlHr|H& zs9`If#=qaQUA)2(AYPH>t3`ZLu7kX*L^X2voen^0$&BB-BA&Dcr4pYp!eOt1Q|eb! zL@hJ{My?SnXe@Z4HobT?3M5gvuaS{b%!4&W5hVi}qiIG=N({K7sWybI7swHSoo|^- zqtcDp6$kN4@i8ugO&kzyyOtZGWbw0jM#xDzw|h@qrmjO{&w#}s%T0_QsZR+J9nbXJ z=}2=M|07O9p-OH@1;^C)Vpu#>rTmU%Z)p{6MJ>*Gy_oZ5d!cIOPoloeoC$E?Q%EDE z`<|p9a{4M0IFLdx@oCAd(%tn z6WKUCullY?PY}CKXvqDOhux>xuBprqr$IQBQh9rIjL(BOqFrRT6r=&W z5%$q8>#QM#U!Vh?FB!4gZf&!}bQg0%$rhiu&#GR(B6c$Z&Z-L8^U*q!UwDEafuVMd z6TdmwUvj%-KMicjcAim8v94riX&N{h;`lWW3 zlgQIK{1cJyM|$^~ z?9bNKRJWW_ekK{N%Ic>V-qsi4jCM29Y#LqTZ;BQjd?k!!aj=Qo47g3=joqZ(El9Fr z{5~;TAMq(f@CSH*EaVvS%Om5gypZnRhqJUtJboR~HZ@xOaK*rk7a`Kc@)n1TSo+C$ z;hgfG3te=|<_B09$h}ID$Gbb8gO9Cx(JWQo?0avUfeg<*u-tU3t&)Atlk3YT?q)ak zXqw9^B{H6P@0Fd+U64n6^8KKm*atQxg5Rl2e>G+kPT+gK=Jl(47C2ofm9jDayOa0p z!ivw>b{8%@r0WPJR7dV;5)Vq1zHBGOoY$Ro@hllyTgJ)DLzTx%V>?`+rf9~>o>mxF zv-hh@<&!QS+*_;Qe3f}_va zLn3kF;>s-L(-GBvXa}^|z)R7db(H^aGWI&Q-zqcEqJ(5`GF22B z!{IYLH~i7+TSq{i7MK6+1l7m^R-QL=#_B-R2!6-hkk8`@PIiCVUw>u!)5AR`@J0K% z&0dDNkNBPl<{3;L^d#tUq+#9;#DKhWY%TFFjh_5O+F(s3S29!Uj6TlR&ICSapGbpl zbkcoEtCq+ARNw{|%n@*hCL-+1qwiJOYmdli#Vpn}^s_|&ZXAZWvMw}OG9-Spr7k6# ze$HWUsb4EW>dMHDN50hCnPr>2w|Sz`_K;F=L7Rqg_bww2;pD=9Y6@zOOh^2+F*i2N zj#zG(^>T7x%O>?~{cOwN=hc{eZ7?~R>S*(EtO+7DQ&YTKPk^*;&%J+gAuv zm&&(iSciu*PUCZ{KPyq*={RYix9$kPI{wlxR~k_NS_41iqPI~5ZqnSQrF}|CVR@7M z-Bkn5>7oY#F>QNe`8Y}$j`Hg%)z4U2Ty4^qdN}4;W4)wF6h(v_Vf{3g0hdkqOFug% z164c04{#LzE&==QS0QFBlwu}Zn4woGbu71Yo|~suFQH3UFu@y^(8UZ7ioSmnM^~o` zPl#H|p$<~PYmWkf?C2=Q&A}R_q)&G+Y|eyDo$K3I`&`t*N}t5hZvJd+it-^nh8rD4 z<9X*2HF&ioCy#6*BVH+A{^_1C^2Ns3-s2%5vb+AUdR*mqN#tPhmy7kuyR4g&1@PwU z$)eeCIq64ATNYwv($2zYoPug$U2TlU)%~TFw*+j0e)N>zpRGpNRGESOf7pMs=(9-- z&k2RlR1Nc6pR7INET^&ge6v+tx~(pR(LXN}If@gcps3Eaul5Iv8x3>S6?3cG@)S_-BLtVh2K>yGLeK=#Z|J-2 zy=T5a`{o}}m3Ip0*IgXg=_%7Cxg32MzTHvBNak69G|L3Mk*;NR(-BtNc&iV8En~S0 zkf2!aBb7VRNFho76iwa}Z7seyD&Uf{rO{I4ef5mgHUA@MCtHY8N-e)nwk zeZ9cx`RrQ{B4oXpdl1i+O$kOX+hlv{1LH;)iz?=N)z$Mh{yIWc?vs|)FK#s_=z7wV zELpZK_cMJ8`UiH;=8&z5PUZ+6(xQTtK;h@#=-A)Q)--x-*Ra;Xst< zMPqa~h8RBeZ}X*3M1X~Y?iiP)$MiI{N6O(>pr8h1ZLMdfeSp6qJpvjnLC8X zJu@sn?%M9mN>BNv>_4LTAgHZle8>+i!Mtm7PUvbl2Q@C8YUpwG`2-vT44s0**z($-mk2RbAn%$1@`5^zvF< zT#{Iaf~+;4i "Improving the world, one patch at a time." + + +### This is an open project, so you can help, too. + +We try to collect, organize and share as much information regarding different +aspects of the project as we can. But sometimes we overlook things that seem +obvious to us, developers, but are not so obvious to end-users, people who are +less familiar with nuts and bolts behind the scene. That is why we set up this +wiki and let anyone having a GitHub account to make additions and improvements +to the knowledgebase. + +### How to contribute. + +Sign in into your GitHub account, or [get yourself one][gh-signup] if you don't +have it yet. It's free. + +Go to [the wiki repository](https://github.com/openIPC/wiki/) and fork it. + +![GitHub Fork](images/gh-fork.png) + +Make changes (correct a typo, add another record into a table, or write a new +article) and commit them to your own fork of the repository. + +From your repository, create a pull request, so we could review and incorporate +your changes into our version of the wiki. + +![GitHub Contribute](images/gh-contribute.png) + + +[gh-signup]: https://github.com/signup diff --git a/ru/discussion.md b/ru/discussion.md index 890cf2c..d2e56af 100644 --- a/ru/discussion.md +++ b/ru/discussion.md @@ -133,4 +133,4 @@ logging. [sysklogd: add -Z option to adjust message timezones](http://lists.busybox.net/pipermail/busybox/2017-May/085437.html) -[logo]: https://cdn.themactep.com/images/logo_openipc.png +[logo]: ../images/logo_openipc.png diff --git a/ru/index.md b/ru/index.md index 49e7859..64ae281 100644 --- a/ru/index.md +++ b/ru/index.md @@ -1,7 +1,5 @@ ![OpenIPC logo][logo] -# Русская версия - ## Прошивка OpenIPC -- что это? Прошивка OpenIPC (OpenIPC firmware) -- это коллективный труд многих @@ -126,7 +124,7 @@ OpenIPC -- это увлекательный эксперимент, в кото вам поможет [пошаговая инструкция](/wiki/ru/installation). -[logo]: https://cdn.themactep.com/images/logo_openipc.png +[logo]: ../images/logo_openipc.png [socs]: https://github.com/OpenIPC/firmware/wiki/supported_devices [faq1]: https://github.com/OpenIPC/camerasrnd/blob/master/docs/FAQ-ru.md [faq2]: https://github.com/OpenIPC/wiki/blob/master/ru/discussion.md diff --git a/ru/installation.md b/ru/installation.md index c773c86..0047b63 100644 --- a/ru/installation.md +++ b/ru/installation.md @@ -104,4 +104,4 @@ _...to be continued._ ** ПРОВЕРИТЬ ВСЕ КОМАНДЫ НА ЖИВОЙ СИСТЕМЕ!*** -[logo]: https://cdn.themactep.com/images/logo_openipc.png +[logo]: ../images/logo_openipc.png diff --git a/ru/transfer-device-hs303.md b/ru/transfer-device-hs303.md index 191d13b..cf39851 100644 --- a/ru/transfer-device-hs303.md +++ b/ru/transfer-device-hs303.md @@ -1,25 +1,26 @@ -## Switcam HS-303 +Switcam HS-303 +============== -Общественные заметки по перепрошивке устройств Switcam HS303 (всех версий) в [OpenIPC](https://openipc.org) v1.0 (на базе OpenWrt).. +Публичные заметки по прошивке устройств Switcam HS303 (всех версий) в +[OpenIPC](https://openipc.org) v1.0 (на базе OpenWrt). -Обсуждение проекта и возможностей прошивок (на русском языке) в группе [Telegram](https://t.me/openipc_modding) +Обсуждение проекта и возможностей прошивок (на русском языке) в группе +[Telegram](https://t.me/openipc_modding). -### Сборник наиболее актуальных вопросов и ответов в формате Q&A +Наиболее актуальные вопросы и ответы +------------------------------------ ---- +#### Какие типы устройств поддерживаются в проекте OpenIPC v1.0? -**Q. Какие типы устройств поддерживаются в проекте OpenIPC v1.0 ?** +На данный момент полноценно поддерживается Switcam HS-303 (v1). +В будущем планируется поддержка устройств v2 и v3. -**A.** На данный момент полноценно поддерживается Switcam HS-303 (v1). В будущем планируется поддержка устройств v2 и v3. +#### Где можно взять прошивку для устройства Ростелеком Switcam HS303 (v1)? ------ +Обсуждение работы этих камер доступно по специальной подписке на +[OpenIPC paywall](https://paywall.pw/openipc). -**Q. Где можно взять прошивку для устройства Ростелеком Switcam HS303 (v1) ?** +#### Какой путь до SD карты необходимо указывать в `majestic.yaml` для прошивки +openipc-1.0? -**A.** Обсуждение работы этих камер доступно по специальной подписке на [OpenIPC paywall](https://paywall.pw/openipc) - ------ - -**Q. Какой путь до SD карты необходимо указывать в majestic.yaml для прошивки openipc-1.0 ?** - -**A.** /mnt/mmc/%Y/%m/%d/%H.mp4 +`/mnt/mmc/%Y/%m/%d/%H.mp4` diff --git a/ru/transfer-discussion-ru.md b/ru/transfer-discussion-ru.md index 15a2787..9d67017 100644 --- a/ru/transfer-discussion-ru.md +++ b/ru/transfer-discussion-ru.md @@ -2,33 +2,42 @@ ### План -* Процессор и имя профиля указываются автоматически при сборке в файле /etc/hostname и доступны постоянно через /rom/.. - * У плат ..._${platform}_unknown_defconfig hostname не прописан. ..._gk7205v200_fpv_defconfig имеет отличный hostname @p0isk -* Добавить ключи в sysupgrade для обновления web-ui и majestic +* Процессор и имя профиля указываются автоматически при сборке в файле +* `/etc/hostname` и доступны постоянно через `/rom/..` + * У плат `..._${platform}_unknown_defconfig` hostname не прописан. + * `..._gk7205v200_fpv_defconfig` имеет отличный hostname (@p0isk) +* Добавить ключи в `sysupgrade` для обновления web-ui и majestic. ### Безопасность -* При первых входах по SSH и WEB предлагать (настойчиво) пользователю сменить пароль, дабы не нарваться на CVE. - * По вебу сделано themactep @p0isk -* Реализовать интеграцию авторизации httpd на использование стандартных passwd/shadow из /etc +* При первых входах в Web UI предлагать (настойчиво) пользователю сменить пароль, + дабы не нарваться на CVE. + * готово (@p0isk, @themactep). +* При первых входах по SSH предлагать (настойчиво) пользователю сменить пароль, +дабы не нарваться на CVE. +* Реализовать интеграцию авторизации httpd на использование стандартных +passwd/shadow из /etc. ### Унификация ядра -* Включить опции ROOT_NFS и PNP_DHCP во всех ядрах +* Включить опции ROOT_NFS и PNP_DHCP во всех ядрах. ### Обновление системы #### Ядро: -* Добавить через mkimage имя процессора, например Linux-4.9.37-hi3516ev200 - * Готово @p0isk + +* Добавить через mkimage имя процессора, например `Linux-4.9.37-hi3516ev200` + * Готово (@p0isk). * По нему проверять и дате проверять пригодность для обновления. - * Готово @p0isk + * Готово (@p0isk). ### Обновление majestic + * Обновляются и проверяются только бинарник и укороченный конфиг. -* Есть кнопка Восстановить настройки, нужна ли Восстановить стример? -* Помимо ETag можно использовать Last-Modified +* Есть кнопка "Восстановить настройки", нужна ли "Восстановить стример"? +* Помимо ETag можно использовать Last-Modified. #### Ветка разработки + * Отображать поле для номера коммита. Если пусто, то берём последний. - * Неактуально? @p0isk \ No newline at end of file + * Неактуально? (@p0isk). diff --git a/ru/transfer-special-hs303v2.md b/ru/transfer-special-hs303v2.md index 0ee3bc8..f919415 100644 --- a/ru/transfer-special-hs303v2.md +++ b/ru/transfer-special-hs303v2.md @@ -1,6 +1,8 @@ -## Специализированные настройки для устройств Switcam HS303(v2) +Специализированные настройки для Switcam HS303(v2) +-------------------------------------------------- -Обсуждение работы этих камер доступно по специальной подписке на [OpenIPC paywall](https://paywall.pw/openipc) +Обсуждение работы этих камер доступно по специальной подписке на +[OpenIPC paywall](https://paywall.pw/openipc). ### Модифицированный блок из файла /etc/network/interface @@ -29,4 +31,4 @@ nightMode: pinSwitchDelayUs: 150 backlightPin: 56 nightAPI: true -``` \ No newline at end of file +``` diff --git a/ru/user-notes-melcor.md b/ru/user-notes-melcor.md index 76cacf3..0130a46 100644 --- a/ru/user-notes-melcor.md +++ b/ru/user-notes-melcor.md @@ -1,19 +1,24 @@ -``` -Квест по перепрошивке gk7205v300 + IMX335 + XM_XT25F128B +Прошивка gk7205v300 + IMX335 + XM_XT25F128B +------------------------------------------- + Бутлодер на пароле, flash залочена. -Скачайте и установите у себя Tftpd сервер: https://github.com/peacepenguin/tftpd64/releases -Скачайте и распакуйте в отдельную папку прошивку: https://github.com/OpenIPC/firmware/releases/download/latest/openipc.gk7205v300-br.tgz, в настройках Tftpd укажите путь к папке с прошивкой. -Найдите в чате OpenIPC Users (Ru) сообщение с тэгом #GkTool , установите на компьютер ToolPlatform-1.0.0-win32-x86_64.zip -Скачайте u-boot.bin.img_cut из чата OpenIPC Users (Ru) -Подключите камеру и компьютер через Ethernet к одному роутеру, чтобы компьютер и камера были в одной подсети. -Подключите к компьютеру USB-TTL 3.3V адаптер, рекомендуется FTDI232. Он встанет на какой-то COM-порт, посмотреть номер COM порта в Диспетчере задач -Подулючите RX/TX/GND на камере к TX/RX/GND на USB-TTL 3.3V адаптере -Скачайте и установите Putty. Выставить режим COM порта на скорость 115200. Зайти на камеру через Putty, по COM порту. Убедится,что провода подключены правильно, видно лог камеры и вводятся символы с клавиатуры. -ОБЯЗАТЕЛЬНО СОХРАНИТЕ МАС адрес камеры, в процессе прошивки он сотрётся. +1. Скачайте и установите у себя [tftpd сервер](https://github.com/peacepenguin/tftpd64/releases). +2. Скачайте и распакуйте в отдельную папку [прошивку](https://github.com/OpenIPC/firmware/releases/download/latest/openipc.gk7205v300-br.tgz), в настройках tftpd укажите путь к папке с прошивкой. +3. Найдите в Telegram канале [OpenIPC Users (Ru)][t1] сообщение с тэгом #GkTool, установите на компьютер ToolPlatform-1.0.0-win32-x86_64.zip +4. Скачайте u-boot.bin.img_cut из Telegram канала [OpenIPC Users (Ru)][t1]. +5. Подключите камеру и компьютер через Ethernet к одному роутеру, чтобы компьютер и камера были в одной подсети. +6. Подключите к компьютеру USB-TTL 3.3V адаптер, рекомендуется FTDI232. Он встанет на какой-то COM-порт, посмотреть номер COM порта в Диспетчере задач. +7. Подключите RX/TX/GND на камере к TX/RX/GND на USB-TTL 3.3V адаптере. +8. Скачайте и установите Putty. Выставить рцежим COM порта на скорость 115200. Зайти на камеру через Putty, по COM порту. Убедится, что провода подключены правильно, видно лог камеры и вводятся символы с клавиатуры. +__ОБЯЗАТЕЛЬНО СОХРАНИТЕ МАС адрес камеры! В процессе прошивки он сотрётся!__ -1)В Putty: бэкап копированием на свой hls сервер из ос, перешитой купером: +### В Putty + +Создать бэкап копированием на свой hls сервер из ос, перешитой купером: + +``` mkdir /mnt/Public mount -o nolock 192.168.1.15(тут указывается IP компьютера):/home/pi/nfs_share /mnt/Public cat /dev/mtdblock0 > /mnt/Public/mtd0 @@ -21,48 +26,49 @@ cat /dev/mtdblock1 > /mnt/Public/mtd1 cat /dev/mtdblock2 > /mnt/Public/mtd2 cat /dev/mtdblock3 > /mnt/Public/mtd3 cat /dev/mtdblock4 > /mnt/Public/mtd4 -выйти из программы Putty и закрыть её. +``` -2) прошить xm бут u-boot.bin.img_cut через #gktool (ToolPlatform): -В ToolPlatform выбрать COM-порт, на котором висит адаптер, Transfer mode - Serial. -Во вкладке Burn Fastboot выбрать Flash type: spi nor, File: файл u-boot.bin.img_cut. -Отключить камеру, нажать кнопку Burn, выждать 5 секунд, включить камеру. Начнется прошивка. -Перезагрузить камеру по питанию +Выйти из программы Putty и закрыть её. -3) зайти в U-boot через PUTTY, нажимая несколько раз CTRL-C в момент включения камеры (очень быстро нажимать). -Ввести команды -sf probe 0; sf lock 0; +### Прошить xm бут u-boot.bin.img_cut через #gktool (ToolPlatform) + +1. В ToolPlatform выбрать COM-порт, на котором висит адаптер, Transfer mode - Serial. +2. Во вкладке Burn Fastboot выбрать Flash type: spi nor, File: файл u-boot.bin.img_cut. +3. Отключить камеру, нажать кнопку Burn, выждать 5 секунд, включить камеру. Начнется прошивка. +4. Перезагрузить камеру по питанию. +5. Зайти в U-boot через PUTTY, нажимая несколько раз CTRL-C в момент включения камеры (очень быстро нажимать). +Ввести команды +``` +sf probe 0 +sf lock 0 sf erase 0 1000000 ------нажать Enter---- - setenv soc gk7205v300 setenv osmem 32M setenv totalmem 128M saveenv ------нажать Enter---- - -setenv gatewayip 192.168.1.1 //вводите ip адрес вашего шлюза/роутера -setenv ipaddr 192.168.1.14 //ip адрес камеры -setenv netmask 255.255.255.0 //Маска подсети -setenv serverip 192.168.1.15 //ip адрес компьютера на котором вы работаете и запущен TFTPD сервер -setenv ethaddr 05:68:31:be:da:38 //MAC вашей ip камеры обязательно -saveenv - ------нажать Enter---- +setenv gatewayip 192.168.1.1 // вводите ip адрес вашего шлюза/роутера +setenv ipaddr 192.168.1.14 // ip адрес камеры +setenv netmask 255.255.255.0 // маска подсети +setenv serverip 192.168.1.15 // ip адрес компьютера на котором вы работаете и запущен TFTPD сервер +setenv ethaddr 05:68:31:be:da:38 // MAC вашей ip камеры обязательно +saveenv setenv bootargs 'mem=${osmem:-32M} console=ttyAMA0,115200 panic=20 root=/dev/mtdblock3 rootfstype=squashfs init=/init mtdparts=sfc:256k(boot),64k(env),2048k(kernel),5120k(rootfs),-(rootfs_data)' setenv bootcmd 'setenv setargs setenv bootargs ${bootargs}; run setargs; sf probe 0; sf read 0x42000000 0x50000 0x200000; bootm 0x42000000' setenv uk 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 uImage.${soc} && sf probe 0; sf erase 0x50000 0x200000; sf write 0x42000000 0x50000 ${filesize}' setenv ur 'mw.b 0x42000000 ff 1000000; tftp 0x42000000 rootfs.squashfs.${soc} && sf probe 0; sf erase 0x250000 0x500000; sf write 0x42000000 0x250000 ${filesize}' saveenv ------нажать Enter---- -run uk; run ur; reset ------нажать Enter---- - -если перезагрузка не помогла, и в консоли проходят пробелы то повторите 2 шаг, после него камера работает. - -после загрузки, выполнить firstboot в консоли Putty +run uk +run ur +reset ``` + +Если перезагрузка не помогла, и в консоли проходят пробелы, то повторите 2 шаг. +После него камера работает. + +После загрузки, выполнить `firstboot` в консоли Putty. + +[t1]: https://t.me/openipc_modding