From 58a3d6522f50031a1aeaeaa347b4dfedb0678ffa Mon Sep 17 00:00:00 2001 From: Neucrack Date: Sat, 30 Mar 2024 17:40:43 +0800 Subject: [PATCH] udpate doc --- .github/workflows/build_maixcam.yml | 81 + .github/workflows/trigger_wiki.yml | 40 + maixpy/404.html | 209 + maixpy/api/api.json | 16386 ++++++++++++++++ maixpy/api/config.json | 4 + maixpy/api/index.html | 330 + maixpy/api/maix/app.html | 1198 ++ maixpy/api/maix/camera.html | 1056 + maixpy/api/maix/comm.html | 448 + maixpy/api/maix/display.html | 696 + maixpy/api/maix/err.html | 471 + maixpy/api/maix/example.html | 1135 ++ maixpy/api/maix/fs.html | 1074 + maixpy/api/maix/i18n.html | 519 + maixpy/api/maix/image.html | 10309 ++++++++++ maixpy/api/maix/nn.html | 2018 ++ maixpy/api/maix/nn/F.html | 293 + maixpy/api/maix/peripheral.html | 307 + maixpy/api/maix/peripheral/adc.html | 482 + maixpy/api/maix/peripheral/gpio.html | 764 + maixpy/api/maix/peripheral/i2c.html | 645 + maixpy/api/maix/peripheral/key.html | 534 + maixpy/api/maix/peripheral/pwm.html | 452 + maixpy/api/maix/peripheral/spi.html | 681 + maixpy/api/maix/peripheral/timer.html | 308 + maixpy/api/maix/peripheral/uart.html | 857 + maixpy/api/maix/peripheral/wdt.html | 401 + maixpy/api/maix/protocol.html | 1016 + maixpy/api/maix/sys.html | 619 + maixpy/api/maix/tensor.html | 946 + maixpy/api/maix/thread.html | 397 + maixpy/api/maix/time.html | 1003 + maixpy/api/maix/touchscreen.html | 505 + maixpy/api/sidebar.yaml | 89 + maixpy/config.json | 5 + maixpy/doc/audio/recognize.html | 313 + maixpy/doc/basic/app.html | 317 + maixpy/doc/basic/app_usage.html | 312 + maixpy/doc/basic/linux_basic.html | 359 + maixpy/doc/basic/maixpy_upgrade.html | 322 + maixpy/doc/basic/maixvision.html | 360 + maixpy/doc/basic/os.html | 324 + maixpy/doc/basic/python.html | 313 + maixpy/doc/basic/python_pkgs.html | 319 + maixpy/doc/config.json | 4 + maixpy/doc/en/config.json | 4 + maixpy/doc/en/index.html | 248 + maixpy/doc/en/no_translate.html | 266 + maixpy/doc/en/sidebar.yaml | 83 + maixpy/doc/faq.html | 334 + maixpy/doc/index.html | 396 + maixpy/doc/modules/acc.html | 313 + maixpy/doc/modules/thermal_cam.html | 313 + maixpy/doc/modules/tof.html | 313 + maixpy/doc/peripheral/gpio.html | 313 + maixpy/doc/peripheral/i2c.html | 313 + maixpy/doc/peripheral/pwm.html | 313 + maixpy/doc/peripheral/spi.html | 313 + maixpy/doc/peripheral/uart.html | 313 + maixpy/doc/peripheral/wdt.html | 313 + maixpy/doc/pro/compile_os.html | 308 + maixpy/doc/sidebar.yaml | 124 + maixpy/doc/source_code/add_c_module.html | 313 + maixpy/doc/source_code/build.html | 349 + maixpy/doc/source_code/contribute.html | 344 + maixpy/doc/source_code/faq.html | 324 + maixpy/doc/source_code/maixcdk.html | 315 + maixpy/doc/vision/ai.html | 313 + maixpy/doc/vision/apriltag.html | 313 + maixpy/doc/vision/body_key_points.html | 313 + maixpy/doc/vision/camera.html | 313 + maixpy/doc/vision/classify.html | 313 + maixpy/doc/vision/display.html | 313 + maixpy/doc/vision/face_recognize.html | 313 + maixpy/doc/vision/find_blobs.html | 313 + maixpy/doc/vision/image_ops.html | 313 + maixpy/doc/vision/maixhub_train.html | 313 + maixpy/doc/vision/object_track.html | 313 + maixpy/doc/vision/qrcode.html | 313 + maixpy/doc/vision/self_learn_classifier.html | 313 + maixpy/doc/vision/self_learn_detector.html | 313 + maixpy/doc/vision/yolov5.html | 313 + maixpy/en/config.json | 5 + maixpy/en/index.html | 121 + maixpy/en/no_translate.html | 140 + maixpy/favicon.ico | Bin 0 -> 3926 bytes maixpy/index.html | 741 + maixpy/robots.txt | 2 + maixpy/sitemap.xml | 429 + maixpy/static/css/custom.css | 15 + maixpy/static/css/search/style.css | 330 + maixpy/static/css/tailwind.css | 63 + maixpy/static/css/theme_default/dark.css | 169 + maixpy/static/css/theme_default/light.css | 1351 ++ maixpy/static/css/theme_default/prism.min.css | 261 + maixpy/static/css/theme_default/prism.min.js | 46 + .../static/css/theme_default/viewer.min.css | 9 + maixpy/static/image/body_keypoint.jpg | Bin 0 -> 174172 bytes maixpy/static/image/camera.png | Bin 0 -> 2802 bytes maixpy/static/image/face_recognize.jpg | Bin 0 -> 48663 bytes maixpy/static/image/language.svg | 1 + maixpy/static/image/maix-ecosystem.excalidraw | 974 + maixpy/static/image/maix_ecosystem.png | Bin 0 -> 130806 bytes maixpy/static/image/maixcam.png | Bin 0 -> 345608 bytes maixpy/static/image/maixcdk.png | Bin 0 -> 62281 bytes maixpy/static/image/maixpy-v1-square.png | Bin 0 -> 25836 bytes maixpy/static/image/maixpy-v1.png | Bin 0 -> 24255 bytes maixpy/static/image/maixpy_banner.png | Bin 0 -> 593226 bytes maixpy/static/image/maixvision.png | Bin 0 -> 296839 bytes maixpy/static/image/object_track.jpg | Bin 0 -> 74832 bytes maixpy/static/image/ocr.jpg | Bin 0 -> 105975 bytes maixpy/static/image/search/cancel.svg | 1 + maixpy/static/image/search/close.svg | 1 + maixpy/static/image/search/search.svg | 1 + maixpy/static/image/search/up.svg | 1 + maixpy/static/image/serial_module.png | Bin 0 -> 132919 bytes maixpy/static/image/sipeed_splash.jpeg | Bin 0 -> 27441 bytes maixpy/static/image/theme_default/anchor.svg | 1 + maixpy/static/image/theme_default/array.svg | 1 + maixpy/static/image/theme_default/back.svg | 1 + .../static/image/theme_default/dark_mode.svg | 1 + .../static/image/theme_default/ext_link.svg | 1 + .../static/image/theme_default/indicator.svg | 1 + .../static/image/theme_default/light_mode.svg | 1 + maixpy/static/image/theme_default/menu.svg | 1 + maixpy/static/image/theme_default/print.svg | 1 + maixpy/static/image/theme_default/to-top.svg | 1 + maixpy/static/image/wechat.png | Bin 0 -> 673 bytes maixpy/static/js/custom.js | 0 maixpy/static/js/search/search_main.js | 351 + maixpy/static/js/theme_default/jquery.min.js | 2 + maixpy/static/js/theme_default/main.js | 474 + maixpy/static/js/theme_default/pre_main.js | 54 + maixpy/static/js/theme_default/split.js | 3 + maixpy/static/js/theme_default/tocbot.min.js | 1 + maixpy/static/js/theme_default/viewer.min.js | 10 + maixpy/static/search_index/index.json | 1 + maixpy/static/search_index/index_0.json | 1 + maixpy/static/search_index/index_1.json | 1 + maixpy/static/search_index/index_2.json | 1 + maixpy/static/search_index/index_3.json | 1 + maixpy/static/search_index/index_4.json | 1 + maixpy/static/video/app_store.mp4 | Bin 0 -> 1322444 bytes maixpy/static/video/classifier.mp4 | Bin 0 -> 97887 bytes maixpy/static/video/desktop_monitor.mp4 | Bin 0 -> 465297 bytes maixpy/static/video/detector.mp4 | Bin 0 -> 1002022 bytes maixpy/static/video/find_blobs.mp4 | Bin 0 -> 708506 bytes maixpy/static/video/line_track.mp4 | Bin 0 -> 1161955 bytes maixpy/static/video/maixvision.mp4 | Bin 0 -> 4035890 bytes maixpy/static/video/qr_apriltag.mp4 | Bin 0 -> 1208073 bytes .../mermaid.min.js | 3 + 151 files changed, 65716 insertions(+) create mode 100755 .github/workflows/build_maixcam.yml create mode 100755 .github/workflows/trigger_wiki.yml create mode 100644 maixpy/404.html create mode 100644 maixpy/api/api.json create mode 100644 maixpy/api/config.json create mode 100644 maixpy/api/index.html create mode 100644 maixpy/api/maix/app.html create mode 100644 maixpy/api/maix/camera.html create mode 100644 maixpy/api/maix/comm.html create mode 100644 maixpy/api/maix/display.html create mode 100644 maixpy/api/maix/err.html create mode 100644 maixpy/api/maix/example.html create mode 100644 maixpy/api/maix/fs.html create mode 100644 maixpy/api/maix/i18n.html create mode 100644 maixpy/api/maix/image.html create mode 100644 maixpy/api/maix/nn.html create mode 100644 maixpy/api/maix/nn/F.html create mode 100644 maixpy/api/maix/peripheral.html create mode 100644 maixpy/api/maix/peripheral/adc.html create mode 100644 maixpy/api/maix/peripheral/gpio.html create mode 100644 maixpy/api/maix/peripheral/i2c.html create mode 100644 maixpy/api/maix/peripheral/key.html create mode 100644 maixpy/api/maix/peripheral/pwm.html create mode 100644 maixpy/api/maix/peripheral/spi.html create mode 100644 maixpy/api/maix/peripheral/timer.html create mode 100644 maixpy/api/maix/peripheral/uart.html create mode 100644 maixpy/api/maix/peripheral/wdt.html create mode 100644 maixpy/api/maix/protocol.html create mode 100644 maixpy/api/maix/sys.html create mode 100644 maixpy/api/maix/tensor.html create mode 100644 maixpy/api/maix/thread.html create mode 100644 maixpy/api/maix/time.html create mode 100644 maixpy/api/maix/touchscreen.html create mode 100644 maixpy/api/sidebar.yaml create mode 100644 maixpy/config.json create mode 100644 maixpy/doc/audio/recognize.html create mode 100644 maixpy/doc/basic/app.html create mode 100644 maixpy/doc/basic/app_usage.html create mode 100644 maixpy/doc/basic/linux_basic.html create mode 100644 maixpy/doc/basic/maixpy_upgrade.html create mode 100644 maixpy/doc/basic/maixvision.html create mode 100644 maixpy/doc/basic/os.html create mode 100644 maixpy/doc/basic/python.html create mode 100644 maixpy/doc/basic/python_pkgs.html create mode 100644 maixpy/doc/config.json create mode 100644 maixpy/doc/en/config.json create mode 100644 maixpy/doc/en/index.html create mode 100644 maixpy/doc/en/no_translate.html create mode 100644 maixpy/doc/en/sidebar.yaml create mode 100644 maixpy/doc/faq.html create mode 100644 maixpy/doc/index.html create mode 100644 maixpy/doc/modules/acc.html create mode 100644 maixpy/doc/modules/thermal_cam.html create mode 100644 maixpy/doc/modules/tof.html create mode 100644 maixpy/doc/peripheral/gpio.html create mode 100644 maixpy/doc/peripheral/i2c.html create mode 100644 maixpy/doc/peripheral/pwm.html create mode 100644 maixpy/doc/peripheral/spi.html create mode 100644 maixpy/doc/peripheral/uart.html create mode 100644 maixpy/doc/peripheral/wdt.html create mode 100644 maixpy/doc/pro/compile_os.html create mode 100644 maixpy/doc/sidebar.yaml create mode 100644 maixpy/doc/source_code/add_c_module.html create mode 100644 maixpy/doc/source_code/build.html create mode 100644 maixpy/doc/source_code/contribute.html create mode 100644 maixpy/doc/source_code/faq.html create mode 100644 maixpy/doc/source_code/maixcdk.html create mode 100644 maixpy/doc/vision/ai.html create mode 100644 maixpy/doc/vision/apriltag.html create mode 100644 maixpy/doc/vision/body_key_points.html create mode 100644 maixpy/doc/vision/camera.html create mode 100644 maixpy/doc/vision/classify.html create mode 100644 maixpy/doc/vision/display.html create mode 100644 maixpy/doc/vision/face_recognize.html create mode 100644 maixpy/doc/vision/find_blobs.html create mode 100644 maixpy/doc/vision/image_ops.html create mode 100644 maixpy/doc/vision/maixhub_train.html create mode 100644 maixpy/doc/vision/object_track.html create mode 100644 maixpy/doc/vision/qrcode.html create mode 100644 maixpy/doc/vision/self_learn_classifier.html create mode 100644 maixpy/doc/vision/self_learn_detector.html create mode 100644 maixpy/doc/vision/yolov5.html create mode 100644 maixpy/en/config.json create mode 100644 maixpy/en/index.html create mode 100644 maixpy/en/no_translate.html create mode 100644 maixpy/favicon.ico create mode 100644 maixpy/index.html create mode 100644 maixpy/robots.txt create mode 100644 maixpy/sitemap.xml create mode 100644 maixpy/static/css/custom.css create mode 100644 maixpy/static/css/search/style.css create mode 100644 maixpy/static/css/tailwind.css create mode 100644 maixpy/static/css/theme_default/dark.css create mode 100644 maixpy/static/css/theme_default/light.css create mode 100644 maixpy/static/css/theme_default/prism.min.css create mode 100644 maixpy/static/css/theme_default/prism.min.js create mode 100644 maixpy/static/css/theme_default/viewer.min.css create mode 100644 maixpy/static/image/body_keypoint.jpg create mode 100644 maixpy/static/image/camera.png create mode 100644 maixpy/static/image/face_recognize.jpg create mode 100644 maixpy/static/image/language.svg create mode 100644 maixpy/static/image/maix-ecosystem.excalidraw create mode 100644 maixpy/static/image/maix_ecosystem.png create mode 100644 maixpy/static/image/maixcam.png create mode 100644 maixpy/static/image/maixcdk.png create mode 100644 maixpy/static/image/maixpy-v1-square.png create mode 100644 maixpy/static/image/maixpy-v1.png create mode 100644 maixpy/static/image/maixpy_banner.png create mode 100644 maixpy/static/image/maixvision.png create mode 100644 maixpy/static/image/object_track.jpg create mode 100644 maixpy/static/image/ocr.jpg create mode 100644 maixpy/static/image/search/cancel.svg create mode 100644 maixpy/static/image/search/close.svg create mode 100644 maixpy/static/image/search/search.svg create mode 100644 maixpy/static/image/search/up.svg create mode 100644 maixpy/static/image/serial_module.png create mode 100644 maixpy/static/image/sipeed_splash.jpeg create mode 100644 maixpy/static/image/theme_default/anchor.svg create mode 100644 maixpy/static/image/theme_default/array.svg create mode 100644 maixpy/static/image/theme_default/back.svg create mode 100644 maixpy/static/image/theme_default/dark_mode.svg create mode 100644 maixpy/static/image/theme_default/ext_link.svg create mode 100644 maixpy/static/image/theme_default/indicator.svg create mode 100644 maixpy/static/image/theme_default/light_mode.svg create mode 100644 maixpy/static/image/theme_default/menu.svg create mode 100644 maixpy/static/image/theme_default/print.svg create mode 100644 maixpy/static/image/theme_default/to-top.svg create mode 100644 maixpy/static/image/wechat.png create mode 100644 maixpy/static/js/custom.js create mode 100644 maixpy/static/js/search/search_main.js create mode 100644 maixpy/static/js/theme_default/jquery.min.js create mode 100644 maixpy/static/js/theme_default/main.js create mode 100644 maixpy/static/js/theme_default/pre_main.js create mode 100644 maixpy/static/js/theme_default/split.js create mode 100644 maixpy/static/js/theme_default/tocbot.min.js create mode 100644 maixpy/static/js/theme_default/viewer.min.js create mode 100644 maixpy/static/search_index/index.json create mode 100644 maixpy/static/search_index/index_0.json create mode 100644 maixpy/static/search_index/index_1.json create mode 100644 maixpy/static/search_index/index_2.json create mode 100644 maixpy/static/search_index/index_3.json create mode 100644 maixpy/static/search_index/index_4.json create mode 100644 maixpy/static/video/app_store.mp4 create mode 100644 maixpy/static/video/classifier.mp4 create mode 100644 maixpy/static/video/desktop_monitor.mp4 create mode 100644 maixpy/static/video/detector.mp4 create mode 100644 maixpy/static/video/find_blobs.mp4 create mode 100644 maixpy/static/video/line_track.mp4 create mode 100644 maixpy/static/video/maixvision.mp4 create mode 100644 maixpy/static/video/qr_apriltag.mp4 create mode 100644 maixpy/teedoc-plugin-markdown-parser/mermaid.min.js diff --git a/.github/workflows/build_maixcam.yml b/.github/workflows/build_maixcam.yml new file mode 100755 index 00000000..d3a0099c --- /dev/null +++ b/.github/workflows/build_maixcam.yml @@ -0,0 +1,81 @@ +# This is a basic workflow to help you get started with Actions + +name: Build MaixCAM + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the main branch + push: + branches: [ main ] + # pull_request: + # branches: [ main ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +permissions: write-all + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # Only run job for specific repository + if: github.repository == 'sipeed/MaixPy' + # The type of runner that the job will run on + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.11"] # MaixCAM use 3.11 + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + - name: Build MaixPy + run: | + echo "-- Check python version must python 3.11 --" + python3 -c 'import sys;print(sys.version);assert sys.version_info >= (3, 11);assert sys.version_info < (3, 12)' + python -c 'import sys;print(sys.version);assert sys.version_info >= (3, 11);assert sys.version_info < (3, 12)' + whereis python + whereis python3 + # export PATH=~/.local/bin/:$PATH + # pull sipeed/MaixCDK repo here first + git clone https://github.com/sipeed/MaixCDK --depth=1 + export MAIXCDK_PATH=`pwd`/MaixCDK + python -m pip install -U pip setuptools + python -m pip install -r MaixCDK/requirments.txt + echo "----------------------" + echo "-- Build MaixPy now --" + echo "----------------------" + python setup.py bdist_wheel maixcam + + # Runs a set of commands using the runners shell + - name: Push doc to github pages + run: | + pip3 install teedoc + cd docs + echo "== install plugins ==" + teedoc install + echo "== start build ==" + teedoc build + echo "== build complete ==" + remote_addr=`git remote get-url --push origin` + remote_addr=`echo $remote_addr| awk -F'://' '{print $2}'` + user_name=`git log -1 --pretty=format:'%an'` + user_email=`git log -1 --pretty=format:'%ae'` + echo "== checkout gh-pages branch ==" + cd out + cp -r ../../.github . + git init + git config user.name ${user_name} + git config user.email ${user_email} + remote_addr="https://${user_name}:${{ secrets.GITHUB_TOKEN }}@${remote_addr}" + echo "-- user ${user_name}" + echo "-- remote addr: ${remote_addr}" + git remote add origin "${remote_addr}" + git add -A + git commit -m "Rebuild MaixPy doc by commit $GITHUB_REF" + git push origin HEAD:gh-pages --force + echo "== push complete ==" diff --git a/.github/workflows/trigger_wiki.yml b/.github/workflows/trigger_wiki.yml new file mode 100755 index 00000000..76e9af21 --- /dev/null +++ b/.github/workflows/trigger_wiki.yml @@ -0,0 +1,40 @@ +# This is a basic workflow to help you get started with Actions + +name: trigger wiki + +# Controls when the action will run. +on: + # Triggers the workflow on push or pull request events but only for the main branch + push: + branches: [ gh-pages ] + # pull_request: + # branches: [ main ] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # Only run job for specific repository + if: github.repository == 'sipeed/MaixPy' + # The type of runner that the job will run on + runs-on: ubuntu-latest + # strategy: + # matrix: + # python-version: [3.8] + + # Steps represent a sequence of tasks that will be executed as part of the job + steps: + - uses: actions/github-script@v6 + with: + github-token: ${{ secrets.DISPATCH_PAT }} + script: | + const result = await github.rest.repos.createDispatchEvent({ + owner: 'sipeed', + repo: 'sipeed_wiki', + event_type: 'update_maixpy_doc', + client_payload: {"key": "value"} + }) + console.log(result); diff --git a/maixpy/404.html b/maixpy/404.html new file mode 100644 index 00000000..100e0915 --- /dev/null +++ b/maixpy/404.html @@ -0,0 +1,209 @@ + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + +
+
+
+ + +

404 页面未找到

+ + + + + +
+ 返回上一页 首页 +
+ + + +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/api.json b/maixpy/api/api.json new file mode 100644 index 00000000..0223271a --- /dev/null +++ b/maixpy/api/api.json @@ -0,0 +1,16386 @@ +{ + "type": "top_module", + "members": { + "maix": { + "type": "module", + "doc": { + "breif": "MaixPy C/C++ API from MaixCDK" + }, + "members": { + "err": { + "type": "module", + "doc": { + "brief": "maix.err module" + }, + "members": { + "Err": { + "type": "enum", + "name": "Err", + "doc": { + "brief": "Maix Error code", + "maixpy": "maix.err.Err", + "py_doc": "Maix Error code" + }, + "values": [ + [ + "ERR_NONE", + "0", + "No error" + ], + [ + "ERR_ARGS", + "", + "Invalid arguments" + ], + [ + "ERR_NO_MEM", + "", + "No memory" + ], + [ + "ERR_NOT_IMPL", + "", + "Not implemented" + ], + [ + "ERR_NOT_READY", + "", + "Not ready" + ], + [ + "ERR_NOT_INIT", + "", + "Not initialized" + ], + [ + "ERR_NOT_OPEN", + "", + "Not opened" + ], + [ + "ERR_NOT_PERMIT", + "", + "Not permitted" + ], + [ + "ERR_REOPEN", + "", + "Re-open" + ], + [ + "ERR_BUSY", + "", + "Busy" + ], + [ + "ERR_READ", + "", + "Read error" + ], + [ + "ERR_WRITE", + "", + "Write error" + ], + [ + "ERR_TIMEOUT", + "", + "Timeout" + ], + [ + "ERR_RUNTIME", + "", + "Runtime error" + ], + [ + "ERR_IO", + "", + "IO error" + ], + [ + "ERR_NOT_FOUND", + "", + "Not found" + ], + [ + "ERR_ALREAY_EXIST", + "", + "Already exist" + ], + [ + "ERR_BUFF_FULL", + "", + "Buffer full" + ], + [ + "ERR_BUFF_EMPTY", + "", + "Buffer empty" + ], + [ + "ERR_CANCEL", + "", + "Cancel" + ], + [ + "ERR_OVERFLOW", + "", + "Overflow" + ], + [ + "ERR_MAX", + "", + "" + ] + ], + "def": "enum Err\n {\n // !!! fixed error code, DO NOT change number already defined, only append new error code\n ERR_NONE = 0, // No error\n ERR_ARGS , // Invalid arguments\n ERR_NO_MEM , // No memory\n ERR_NOT_IMPL , // Not implemented\n ERR_NOT_READY , // Not ready\n ERR_NOT_INIT , // Not initialized\n ERR_NOT_OPEN , // Not opened\n ERR_NOT_PERMIT , // Not permitted\n ERR_REOPEN , // Re-open\n ERR_BUSY , // Busy\n ERR_READ , // Read error\n ERR_WRITE , // Write error\n ERR_TIMEOUT , // Timeout\n ERR_RUNTIME , // Runtime error\n ERR_IO , // IO error\n ERR_NOT_FOUND , // Not found\n ERR_ALREAY_EXIST , // Already exist\n ERR_BUFF_FULL , // Buffer full\n ERR_BUFF_EMPTY , // Buffer empty\n ERR_CANCEL , // Cancel\n ERR_OVERFLOW , // Overflow\n ERR_MAX,\n }" + }, + "Exception": { + "type": "class", + "name": "Exception", + "doc": { + "brief": "Maix Exception", + "maixpy": "maix.err.Exception", + "py_doc": "Maix Exception" + }, + "members": {}, + "def": "class Exception : public std::exception" + }, + "to_str": { + "type": "func", + "name": "to_str", + "doc": { + "brief": "Error code to string", + "param": { + "e": "direction [in], error code, err::Err type" + }, + "return": "error string", + "maixpy": "maix.err.to_str", + "py_doc": "Error code to string\n\nArgs:\n - e: direction [in], error code, err::Err type\n\n\nReturns: error string\n" + }, + "args": [ + [ + "err::Err", + "e", + null + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string to_str(err::Err e)" + }, + "get_error": { + "type": "func", + "name": "get_error", + "doc": { + "brief": "get last error string", + "return": "error string", + "maixpy": "maix.err.get_error", + "py_doc": "get last error string\n\nReturns: error string\n" + }, + "args": [], + "ret_type": "std::string&", + "static": false, + "def": "std::string& get_error()" + }, + "set_error": { + "type": "func", + "name": "set_error", + "doc": { + "brief": "set last error string", + "param": { + "str": "direction [in], error string" + }, + "maixpy": "maix.err.set_error", + "py_doc": "set last error string\n\nArgs:\n - str: direction [in], error string\n" + }, + "args": [ + [ + "const std::string &", + "str", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void set_error(const std::string &str)" + }, + "check_raise": { + "type": "func", + "name": "check_raise", + "doc": { + "brief": "Check error code, if not ERR_NONE, raise err.Exception", + "param": { + "e": "direction [in], error code, err::Err type", + "msg": "direction [in], error message" + }, + "maixpy": "maix.err.check_raise", + "py_doc": "Check error code, if not ERR_NONE, raise err.Exception\n\nArgs:\n - e: direction [in], error code, err::Err type\n - msg: direction [in], error message\n" + }, + "args": [ + [ + "err::Err", + "e", + null + ], + [ + "const std::string &", + "msg", + "\"\"" + ] + ], + "ret_type": "void", + "static": false, + "def": "void check_raise(err::Err e, const std::string &msg = \"\")" + }, + "check_bool_raise": { + "type": "func", + "name": "check_bool_raise", + "doc": { + "brief": "Check condition, if false, raise err.Exception", + "param": { + "ok": "direction [in], condition, if true, do nothing, if false, raise err.Exception", + "msg": "direction [in], error message" + }, + "maixpy": "maix.err.check_bool_raise", + "py_doc": "Check condition, if false, raise err.Exception\n\nArgs:\n - ok: direction [in], condition, if true, do nothing, if false, raise err.Exception\n - msg: direction [in], error message\n" + }, + "args": [ + [ + "bool", + "ok", + null + ], + [ + "const std::string &", + "msg", + "\"\"" + ] + ], + "ret_type": "void", + "static": false, + "def": "void check_bool_raise(bool ok, const std::string &msg = \"\")" + }, + "check_null_raise": { + "type": "func", + "name": "check_null_raise", + "doc": { + "brief": "Check NULL pointer, if NULL, raise exception", + "param": { + "ptr": "direction [in], pointer", + "msg": "direction [in], error message" + }, + "maixpy": "maix.err.check_null_raise", + "py_doc": "Check NULL pointer, if NULL, raise exception\n\nArgs:\n - ptr: direction [in], pointer\n - msg: direction [in], error message\n" + }, + "args": [ + [ + "void *", + "ptr", + null + ], + [ + "const std::string &", + "msg", + "\"\"" + ] + ], + "ret_type": "void", + "static": false, + "def": "void check_null_raise(void *ptr, const std::string &msg = \"\")" + } + }, + "auto_add": true + }, + "tensor": { + "type": "module", + "doc": { + "brief": "maix.tensor module" + }, + "members": { + "DType": { + "type": "enum", + "name": "DType", + "doc": { + "brief": "Tensor data types", + "maixpy": "maix.tensor.DType", + "py_doc": "Tensor data types" + }, + "values": [ + [ + "UINT8", + "0", + "" + ], + [ + "INT8", + "", + "" + ], + [ + "UINT16", + "", + "" + ], + [ + "INT16", + "", + "" + ], + [ + "UINT32", + "", + "" + ], + [ + "INT32", + "", + "" + ], + [ + "FLOAT16", + "", + "" + ], + [ + "FLOAT32", + "", + "" + ], + [ + "FLOAT64", + "", + "" + ], + [ + "BOOL", + "", + "" + ], + [ + "DTYPE_MAX", + "", + "" + ] + ], + "def": "enum DType\n {\n UINT8 = 0,\n INT8,\n UINT16,\n INT16,\n UINT32,\n INT32,\n FLOAT16,\n FLOAT32,\n FLOAT64,\n BOOL,\n // STRING,\n // OBJECT,\n DTYPE_MAX\n }" + }, + "dtype_size": { + "type": "var", + "name": "", + "doc": { + "brief": "Tensor data type size in bytes", + "attention": "It's a copy of this variable in MaixPy,\nso change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.\nSo we add const for this var to avoid this mistake.", + "maixpy": "maix.tensor.dtype_size", + "py_doc": "Tensor data type size in bytes" + }, + "value": "{\n 1, // UINT8\n 1, // INT8\n 2, // UINT16\n 2, // INT16\n 4, // UINT32\n 4, // INT32\n 2, // FLOAT16\n 4, // FLOAT32\n 8, // FLOAT64\n 1, // BOOL\n // 1, // STRING\n // 1, // OBJECT\n 0\n }", + "static": false, + "readonly": true, + "def": "const std::vector dtype_size = {\n 1, // UINT8\n 1, // INT8\n 2, // UINT16\n 2, // INT16\n 4, // UINT32\n 4, // INT32\n 2, // FLOAT16\n 4, // FLOAT32\n 8, // FLOAT64\n 1, // BOOL\n // 1, // STRING\n // 1, // OBJECT\n 0\n }" + }, + "dtype_name": { + "type": "var", + "name": "", + "doc": { + "brief": "Tensor data type name", + "maixpy": "maix.tensor.dtype_name", + "py_doc": "Tensor data type name" + }, + "value": "{\n \"uint8\",\n \"int8\",\n \"uint16\",\n \"int16\",\n \"uint32\",\n \"int32\",\n \"float16\",\n \"float32\",\n \"float64\",\n \"bool\",\n // \"string\",\n // \"object\",\n \"invalid\"\n }", + "static": false, + "readonly": true, + "def": "const std::vector dtype_name = {\n \"uint8\",\n \"int8\",\n \"uint16\",\n \"int16\",\n \"uint32\",\n \"int32\",\n \"float16\",\n \"float32\",\n \"float64\",\n \"bool\",\n // \"string\",\n // \"object\",\n \"invalid\"\n }" + }, + "Tensor": { + "type": "class", + "name": "Tensor", + "doc": { + "brief": "Tensor class", + "maixpy": "maix.tensor.Tensor", + "py_doc": "Tensor class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Tensor", + "doc": { + "brief": "Tensor constructor", + "param": { + "shape": "tensor shape, a int list", + "dtype": "tensor element data type, see DType of this module", + "data": "pointer to data content, can be nullptr, it will automatically alloc memory\nand detroy it when this object is destroyed" + }, + "maixpy": "maix.tensor.Tensor.__init__", + "py_doc": "Tensor constructor\n\nArgs:\n - shape: tensor shape, a int list\n - dtype: tensor element data type, see DType of this module\n - data: pointer to data content, can be nullptr, it will automatically alloc memory\nand detroy it when this object is destroyed\n" + }, + "args": [ + [ + "std::vector", + "shape", + null + ], + [ + "tensor::DType", + "dtype", + null + ], + [ + "void *", + "data", + "nullptr" + ] + ], + "ret_type": null, + "static": false, + "def": "Tensor(std::vector shape, tensor::DType dtype, void *data = nullptr)" + }, + "to_str": { + "type": "func", + "name": "to_str", + "doc": { + "brief": "To string", + "maixpy": "maix.tensor.Tensor.to_str", + "py_doc": "To string" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string to_str()" + }, + "__str__": { + "type": "func", + "name": "__str__", + "doc": { + "brief": "To string", + "maixpy": "maix.tensor.Tensor.__str__", + "py_doc": "To string" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string __str__()" + }, + "shape": { + "type": "func", + "name": "shape", + "doc": { + "brief": "get tensor shape", + "return": "tensor shape, a int list", + "maixpy": "maix.tensor.Tensor.shape", + "py_doc": "get tensor shape\n\nReturns: tensor shape, a int list\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector shape()" + }, + "expand_dims": { + "type": "func", + "name": "expand_dims", + "doc": { + "brief": "expand tensor shape", + "param": { + "axis": "axis to expand" + }, + "maixpy": "maix.tensor.Tensor.expand_dims", + "py_doc": "expand tensor shape\n\nArgs:\n - axis: axis to expand\n" + }, + "args": [ + [ + "int", + "axis", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void expand_dims(int axis)" + }, + "reshape": { + "type": "func", + "name": "reshape", + "doc": { + "brief": "reshape tensor shape, if size not match, it will throw an err::Exception", + "param": { + "shape": "new shape" + }, + "maixpy": "maix.tensor.Tensor.reshape", + "py_doc": "reshape tensor shape, if size not match, it will throw an err::Exception\n\nArgs:\n - shape: new shape\n" + }, + "args": [ + [ + "std::vector", + "shape", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void reshape(std::vector shape)" + }, + "flatten": { + "type": "func", + "name": "flatten", + "doc": { + "brief": "Flatten tensor shape to 1D", + "maixpy": "maix.tensor.Tensor.flatten", + "py_doc": "Flatten tensor shape to 1D" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void flatten()" + }, + "dtype": { + "type": "func", + "name": "dtype", + "doc": { + "brief": "get tensor data type", + "return": "tensor data type, see DType of this module", + "maixpy": "maix.tensor.Tensor.dtype", + "py_doc": "get tensor data type\n\nReturns: tensor data type, see DType of this module\n" + }, + "args": [], + "ret_type": "tensor::DType", + "static": false, + "def": "tensor::DType dtype()" + }, + "argmax": { + "type": "func", + "name": "argmax", + "doc": { + "brief": "argmax of tensor", + "param": { + "axis": "By default, the index is into the flattened array, otherwise along the specified axis., wrong axis will throw an err::Exception" + }, + "return": "argmax result, you need to delete it after use in C++.", + "maixpy": "maix.tensor.Tensor.argmax", + "py_doc": "argmax of tensor\n\nArgs:\n - axis: By default, the index is into the flattened array, otherwise along the specified axis., wrong axis will throw an err::Exception\n\n\nReturns: argmax result, you need to delete it after use in C++.\n" + }, + "args": [ + [ + "int", + "axis", + "0xffff" + ] + ], + "ret_type": "tensor::Tensor*", + "static": false, + "def": "tensor::Tensor *argmax(int axis = 0xffff)" + }, + "argmax1": { + "type": "func", + "name": "argmax1", + "doc": { + "brief": "argmax1, flattened data max index", + "return": "argmax result, int type", + "maixpy": "maix.tensor.Tensor.argmax1", + "py_doc": "argmax1, flattened data max index\n\nReturns: argmax result, int type\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int argmax1()" + } + }, + "def": "class Tensor" + }, + "Tensors": { + "type": "class", + "name": "Tensors", + "doc": { + "brief": "Tensors", + "maixpy": "maix.tensor.Tensors", + "py_doc": "Tensors" + }, + "members": { + "__init__": { + "type": "func", + "name": "Tensors", + "doc": { + "brief": "Constructor of Tensors", + "maixpy": "maix.tensor.Tensors.__init__", + "maixcdk": "maix.tensor.Tensors.Tensors", + "py_doc": "Constructor of Tensors" + }, + "args": [], + "ret_type": null, + "static": false, + "def": "Tensors()" + }, + "add_tensor": { + "type": "func", + "name": "add_tensor", + "doc": { + "brief": "Add tensor", + "maixpy": "maix.tensor.Tensors.add_tensor", + "py_doc": "Add tensor" + }, + "args": [ + [ + "const std::string &", + "key", + null + ], + [ + "tensor::Tensor *", + "tensor", + null + ], + [ + "bool", + "copy", + null + ], + [ + "bool", + "auto_delete", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void add_tensor(const std::string &key, tensor::Tensor *tensor, bool copy, bool auto_delete)" + }, + "rm_tensor": { + "type": "func", + "name": "rm_tensor", + "doc": { + "brief": "Remove tensor", + "maixpy": "maix.tensor.Tensors.rm_tensor", + "py_doc": "Remove tensor" + }, + "args": [ + [ + "const std::string &", + "key", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void rm_tensor(const std::string &key)" + }, + "get_tensor": { + "type": "func", + "name": "get_tensor", + "doc": { + "brief": "Get tensor by key", + "maixpy": "maix.tensor.Tensors.get_tensor", + "maixcdk": "maix.tensor.Tensors.get_tensor", + "py_doc": "Get tensor by key" + }, + "args": [ + [ + "const std::string &", + "key", + null + ] + ], + "ret_type": "tensor::Tensor*", + "static": false, + "def": "tensor::Tensor *get_tensor(const std::string &key)" + }, + "__getitem__": { + "type": "func", + "name": "operator[]", + "doc": { + "brief": "Operator []", + "maixpy": "maix.tensor.Tensors.__getitem__", + "maixcdk": "maix.tensor.Tensors.[]", + "py_doc": "Operator []" + }, + "args": [ + [ + "const std::string &", + "key", + null + ] + ], + "ret_type": "tensor::Tensor*", + "static": false, + "def": "tensor::Tensor *operator[](const std::string &key)" + }, + "__len__": { + "type": "func", + "name": "size", + "doc": { + "brief": "Size", + "maixpy": "maix.tensor.Tensors.__len__", + "maixcdk": "maix.tensor.Tensors.size", + "py_doc": "Size" + }, + "args": [], + "ret_type": "size_t", + "static": false, + "def": "size_t size()" + }, + "get_names": { + "type": "func", + "name": "get_names", + "doc": { + "brief": "Get names", + "maixpy": "maix.tensor.Tensors.get_names", + "py_doc": "Get names" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector get_names()" + }, + "tensors": { + "type": "var", + "name": "tensors", + "doc": { + "brief": "Tensors data, dict type", + "maixpy": "maix.tensor.Tensors.tensors", + "py_doc": "Tensors data, dict type" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::map tensors" + } + }, + "def": "class Tensors" + } + }, + "auto_add": true + }, + "image": { + "type": "module", + "doc": { + "brief": "maix.image module, image related definition and functions", + "maixpy": "maix.image", + "py_doc": "maix.image module, image related definition and functions" + }, + "members": { + "Format": { + "type": "enum", + "name": "Format", + "doc": { + "brief": "Image formats", + "attention": "for developers, update this enum will also need to update the fmt_size in maix_image.cpp", + "maixpy": "maix.image.Format", + "py_doc": "Image formats" + }, + "values": [ + [ + "FMT_RGB888", + "0", + "RGBRGB...RGB, R at the lowest address" + ], + [ + "FMT_BGR888", + "", + "BGRBGR...BGR, B at the lowest address" + ], + [ + "FMT_RGBA8888", + "", + "RGBARGBA...RGBA, R at the lowest address" + ], + [ + "FMT_BGRA8888", + "", + "BGRABGRA...BGRA, B at the lowest address" + ], + [ + "FMT_RGB565", + "", + "" + ], + [ + "FMT_BGR565", + "", + "" + ], + [ + "FMT_YUV422SP", + "", + "YYY...UVUVUV...UVUV" + ], + [ + "FMT_YUV422P", + "", + "YYY...UUU...VVV" + ], + [ + "FMT_YVU420SP", + "", + "YYY...VUVUVU...VUVU, NV21" + ], + [ + "FMT_YUV420SP", + "", + "YYY...UVUVUV...UVUV, NV12" + ], + [ + "FMT_YVU420P", + "", + "YYY...VVV...UUU" + ], + [ + "FMT_YUV420P", + "", + "YYY...UUU...VVV" + ], + [ + "FMT_GRAYSCALE", + "", + "" + ], + [ + "FMT_UNCOMPRESSED_MAX", + "", + "" + ], + [ + "FMT_COMPRESSED_MIN", + "", + "" + ], + [ + "FMT_JPEG", + "", + "" + ], + [ + "FMT_PNG", + "", + "" + ], + [ + "FMT_COMPRESSED_MAX", + "", + "" + ], + [ + "FMT_INVALID", + "0xFF", + "format not valid" + ] + ], + "def": "enum Format\n {\n FMT_RGB888 = 0, // RGBRGB...RGB, R at the lowest address\n FMT_BGR888, // BGRBGR...BGR, B at the lowest address\n FMT_RGBA8888, // RGBARGBA...RGBA, R at the lowest address\n FMT_BGRA8888, // BGRABGRA...BGRA, B at the lowest address\n FMT_RGB565,\n FMT_BGR565,\n FMT_YUV422SP, // YYY...UVUVUV...UVUV\n FMT_YUV422P, // YYY...UUU...VVV\n FMT_YVU420SP, // YYY...VUVUVU...VUVU, NV21\n FMT_YUV420SP, // YYY...UVUVUV...UVUV, NV12\n FMT_YVU420P, // YYY...VVV...UUU\n FMT_YUV420P, // YYY...UUU...VVV\n FMT_GRAYSCALE,\n FMT_UNCOMPRESSED_MAX,\n\n // compressed format below, not compressed should define upper\n FMT_COMPRESSED_MIN,\n FMT_JPEG,\n FMT_PNG,\n FMT_COMPRESSED_MAX,\n\n FMT_INVALID = 0xFF // format not valid\n }" + }, + "fmt_size": { + "type": "var", + "name": "", + "doc": { + "brief": "Image format size in bytes", + "attention": "It's a copy of this variable in MaixPy,\nso change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.\nSo we add const for this var to avoid this mistake.", + "maixpy": "maix.image.fmt_size", + "py_doc": "Image format size in bytes" + }, + "value": "{\n 3,\n 3,\n 4,\n 4,\n 2,\n 2,\n 2,\n 2,\n 1.5,\n 1.5,\n 1.5,\n 1.5,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n }", + "static": false, + "readonly": true, + "def": "const std::vector fmt_size = {\n 3,\n 3,\n 4,\n 4,\n 2,\n 2,\n 2,\n 2,\n 1.5,\n 1.5,\n 1.5,\n 1.5,\n 1,\n 0,\n 0,\n 0,\n 0,\n 0\n }" + }, + "fmt_names": { + "type": "var", + "name": "", + "doc": { + "brief": "Image format string", + "maixpy": "maix.image.fmt_names", + "py_doc": "Image format string" + }, + "value": "{\n \"RGB888\",\n \"BGR888\",\n \"RGBA8888\",\n \"BGRA8888\",\n \"RGB565\",\n \"BGR565\",\n \"YUV422SP\",\n \"YUV422P\",\n \"YVU420SP\",\n \"YUV420SP\",\n \"YVU420P\"\n \"YUV420P\",\n \"GRAYSCALE\",\n \"MAX\"}", + "static": false, + "readonly": true, + "def": "const std::vector fmt_names = {\n \"RGB888\",\n \"BGR888\",\n \"RGBA8888\",\n \"BGRA8888\",\n \"RGB565\",\n \"BGR565\",\n \"YUV422SP\",\n \"YUV422P\",\n \"YVU420SP\",\n \"YUV420SP\",\n \"YVU420P\"\n \"YUV420P\",\n \"GRAYSCALE\",\n \"MAX\"}" + }, + "Size": { + "type": "class", + "name": "Size", + "doc": { + "brief": "Image size type", + "maixpy": "maix.image.Size", + "py_doc": "Image size type" + }, + "members": { + "__init__": { + "type": "func", + "name": "Size", + "doc": { + "brief": "Construct a new Size object", + "param": { + "width": "image width", + "height": "image height" + }, + "maixpy": "maix.image.Size.__init__", + "py_doc": "Construct a new Size object\n\nArgs:\n - width: image width\n - height: image height\n" + }, + "args": [ + [ + "int", + "width", + "0" + ], + [ + "int", + "height", + "0" + ] + ], + "ret_type": null, + "static": false, + "def": "Size(int width = 0, int height = 0)" + }, + "width": { + "type": "var", + "name": "width", + "doc": { + "brief": "width of size", + "maixpy": "maix.image.Size.width", + "py_doc": "width of size" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int width" + }, + "height": { + "type": "var", + "name": "height", + "doc": { + "brief": "height of size", + "maixpy": "maix.image.Size.height", + "py_doc": "height of size" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int height" + }, + "__getitem__": { + "type": "func", + "name": "__getitem__", + "doc": { + "brief": "Subscript operator", + "param": { + "index": "0 for width, 1 for height" + }, + "return": "int& width or height", + "maixpy": "maix.image.Size.__getitem__", + "py_doc": "Subscript operator\n\nArgs:\n - index: 0 for width, 1 for height\n\n\nReturns: int& width or height\n" + }, + "args": [ + [ + "int", + "index", + null + ] + ], + "ret_type": "int&", + "static": false, + "def": "int &__getitem__(int index)" + }, + "__str__": { + "type": "func", + "name": "__str__", + "doc": { + "brief": "to string", + "maixpy": "maix.image.Size.__str__", + "py_doc": "to string" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string __str__()" + } + }, + "def": "class Size" + }, + "Fit": { + "type": "enum", + "name": "Fit", + "doc": { + "brief": "Object fit method", + "maixpy": "maix.image.Fit", + "py_doc": "Object fit method" + }, + "values": [ + [ + "FIT_NONE", + "-1", + "no object fit, keep original" + ], + [ + "FIT_FILL", + "0", + "width to new width, height to new height, may be stretch" + ], + [ + "FIT_CONTAIN", + "", + "keep aspect ratio, fill blank area with black color" + ], + [ + "FIT_COVER", + "", + "keep aspect ratio, crop image to fit new size" + ], + [ + "FIT_MAX", + "", + "" + ] + ], + "def": "enum Fit\n {\n FIT_NONE = -1, // no object fit, keep original\n FIT_FILL = 0, // width to new width, height to new height, may be stretch\n FIT_CONTAIN, // keep aspect ratio, fill blank area with black color\n FIT_COVER, // keep aspect ratio, crop image to fit new size\n FIT_MAX\n }" + }, + "ResizeMethod": { + "type": "enum", + "name": "ResizeMethod", + "doc": { + "brief": "Resize method", + "maixpy": "maix.image.ResizeMethod", + "py_doc": "Resize method" + }, + "values": [ + [ + "NEAREST", + "0", + "" + ], + [ + "BILINEAR", + "", + "" + ], + [ + "BICUBIC", + "", + "" + ], + [ + "AREA", + "", + "" + ], + [ + "LANCZOS", + "", + "" + ], + [ + "HAMMING", + "", + "" + ], + [ + "RESIZE_METHOD_MAX", + "", + "" + ] + ], + "def": "enum ResizeMethod\n {\n NEAREST = 0,\n BILINEAR,\n BICUBIC,\n AREA,\n LANCZOS,\n HAMMING,\n RESIZE_METHOD_MAX\n }" + }, + "ApriltagFamilies": { + "type": "enum", + "name": "ApriltagFamilies", + "doc": { + "brief": "Family of apriltag", + "maixpy": "maix.image.ApriltagFamilies", + "py_doc": "Family of apriltag" + }, + "values": [ + [ + "TAG16H5", + "1", + "" + ], + [ + "TAG25H7", + "2", + "" + ], + [ + "TAG25H9", + "4", + "" + ], + [ + "TAG36H10", + "8", + "" + ], + [ + "TAG36H11", + "16", + "" + ], + [ + "ARTOOLKIT", + "32", + "" + ] + ], + "def": "enum ApriltagFamilies\n {\n TAG16H5 = 1,\n TAG25H7 = 2,\n TAG25H9 = 4,\n TAG36H10 = 8,\n TAG36H11 = 16,\n ARTOOLKIT = 32\n }" + }, + "TemplateMatch": { + "type": "enum", + "name": "TemplateMatch", + "doc": { + "brief": "Template match method", + "maixpy": "maix.image.TemplateMatch", + "py_doc": "Template match method" + }, + "values": [ + [ + "SEARCH_EX", + "", + "Exhaustive search" + ], + [ + "SEARCH_DS", + "", + "Diamond search" + ] + ], + "def": "enum TemplateMatch\n {\n SEARCH_EX, // Exhaustive search\n SEARCH_DS, // Diamond search\n }" + }, + "CornerDetector": { + "type": "enum", + "name": "CornerDetector", + "doc": { + "brief": "CornerDetector class", + "maixpy": "maix.image.CornerDetector", + "py_doc": "CornerDetector class" + }, + "values": [ + [ + "CORNER_FAST", + "", + "" + ], + [ + "CORNER_AGAST", + "", + "" + ] + ], + "def": "enum CornerDetector\n {\n CORNER_FAST,\n CORNER_AGAST\n }" + }, + "EdgeDetector": { + "type": "enum", + "name": "EdgeDetector", + "doc": { + "brief": "EdgeDetector class", + "maixpy": "maix.image.EdgeDetector", + "py_doc": "EdgeDetector class" + }, + "values": [ + [ + "EDGE_CANNY", + "", + "" + ], + [ + "EDGE_SIMPLE", + "", + "" + ] + ], + "def": "enum EdgeDetector\n {\n EDGE_CANNY,\n EDGE_SIMPLE,\n }" + }, + "Line": { + "type": "class", + "name": "Line", + "doc": { + "brief": "Line class", + "maixpy": "maix.image.Line", + "py_doc": "Line class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Line", + "doc": { + "brief": "Line constructor", + "param": { + "x1": "coordinate x1 of the straight line", + "y1": "coordinate y1 of the straight line", + "x2": "coordinate x2 of the straight line", + "y2": "coordinate y2 of the straight line", + "magnitude": "magnitude of the straight line after Hough transformation", + "theta": "angle of the straight line after Hough transformation", + "rho": "p-value of the straight line after Hough transformation" + }, + "maixpy": "maix.image.Line.__init__", + "py_doc": "Line constructor\n\nArgs:\n - x1: coordinate x1 of the straight line\n - y1: coordinate y1 of the straight line\n - x2: coordinate x2 of the straight line\n - y2: coordinate y2 of the straight line\n - magnitude: magnitude of the straight line after Hough transformation\n - theta: angle of the straight line after Hough transformation\n - rho: p-value of the straight line after Hough transformation\n" + }, + "args": [ + [ + "int", + "x1", + null + ], + [ + "int", + "y1", + null + ], + [ + "int", + "x2", + null + ], + [ + "int", + "y2", + null + ], + [ + "int", + "magnitude", + "0" + ], + [ + "int", + "theta", + "0" + ], + [ + "int", + "rho", + "0" + ] + ], + "ret_type": null, + "static": false, + "def": "Line(int x1, int y1, int x2, int y2, int magnitude = 0, int theta = 0, int rho = 0)" + }, + "x1": { + "type": "func", + "name": "x1", + "doc": { + "brief": "get x1 of line", + "return": "return x1 of the line, type is int", + "maixpy": "maix.image.Line.x1", + "py_doc": "get x1 of line\n\nReturns: return x1 of the line, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x1()" + }, + "y1": { + "type": "func", + "name": "y1", + "doc": { + "brief": "get y1 of line", + "return": "return y1 of the line, type is int", + "maixpy": "maix.image.Line.y1", + "py_doc": "get y1 of line\n\nReturns: return y1 of the line, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y1()" + }, + "x2": { + "type": "func", + "name": "x2", + "doc": { + "brief": "get x2 of line", + "return": "return x2 of the line, type is int", + "maixpy": "maix.image.Line.x2", + "py_doc": "get x2 of line\n\nReturns: return x2 of the line, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x2()" + }, + "y2": { + "type": "func", + "name": "y2", + "doc": { + "brief": "get y2 of line", + "return": "return y2 of the line, type is int", + "maixpy": "maix.image.Line.y2", + "py_doc": "get y2 of line\n\nReturns: return y2 of the line, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y2()" + }, + "length": { + "type": "func", + "name": "length", + "doc": { + "brief": "get length of line", + "return": "return length of the line, type is int", + "maixpy": "maix.image.Line.length", + "py_doc": "get length of line\n\nReturns: return length of the line, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int length()" + }, + "magnitude": { + "type": "func", + "name": "magnitude", + "doc": { + "brief": "get magnitude of the straight line after Hough transformation", + "return": "return magnitude, type is int", + "maixpy": "maix.image.Line.magnitude", + "py_doc": "get magnitude of the straight line after Hough transformation\n\nReturns: return magnitude, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int magnitude()" + }, + "theta": { + "type": "func", + "name": "theta", + "doc": { + "brief": "get angle of the straight line after Hough transformation (0-179 degrees)", + "return": "return angle, type is int", + "maixpy": "maix.image.Line.theta", + "py_doc": "get angle of the straight line after Hough transformation (0-179 degrees)\n\nReturns: return angle, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int theta()" + }, + "rho": { + "type": "func", + "name": "rho", + "doc": { + "brief": "get p-value of the straight line after Hough transformation", + "return": "return p-value, type is int", + "maixpy": "maix.image.Line.rho", + "py_doc": "get p-value of the straight line after Hough transformation\n\nReturns: return p-value, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int rho()" + } + }, + "def": "class Line" + }, + "Rect": { + "type": "class", + "name": "Rect", + "doc": { + "brief": "Rect class", + "maixpy": "maix.image.Rect", + "py_doc": "Rect class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Rect", + "doc": { + "brief": "Rect constructor", + "param": { + "corners": "corners of rect", + "x": "coordinate x of the straight line", + "y": "coordinate y of the straight line", + "w": "coordinate w of the straight line", + "h": "coordinate h of the straight line", + "magnitude": "magnitude of the straight line after Hough transformation" + }, + "maixpy": "maix.image.Rect.__init__", + "py_doc": "Rect constructor\n\nArgs:\n - corners: corners of rect\n - x: coordinate x of the straight line\n - y: coordinate y of the straight line\n - w: coordinate w of the straight line\n - h: coordinate h of the straight line\n - magnitude: magnitude of the straight line after Hough transformation\n" + }, + "args": [ + [ + "std::vector> &", + "corners", + null + ], + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "int", + "w", + null + ], + [ + "int", + "h", + null + ], + [ + "int", + "magnitude", + "0" + ] + ], + "ret_type": null, + "static": false, + "def": "Rect(std::vector> &corners, int x, int y, int w, int h, int magnitude = 0)" + }, + "corners": { + "type": "func", + "name": "corners", + "doc": { + "brief": "get corners of rect", + "return": "return the coordinate of the rect.", + "maixpy": "maix.image.Rect.corners", + "py_doc": "get corners of rect\n\nReturns: return the coordinate of the rect.\n" + }, + "args": [], + "ret_type": "std::vector>", + "static": false, + "def": "std::vector> corners()" + }, + "rect": { + "type": "func", + "name": "rect", + "doc": { + "brief": "get rectangle of rect", + "return": "return the rectangle of the rect. format is {x, y, w, h}, type is std::vector", + "maixpy": "maix.image.Rect.rect", + "py_doc": "get rectangle of rect\n\nReturns: return the rectangle of the rect. format is {x, y, w, h}, type is std::vector\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector rect()" + }, + "x": { + "type": "func", + "name": "x", + "doc": { + "brief": "get x of rect", + "return": "return x of the rect, type is int", + "maixpy": "maix.image.Rect.x", + "py_doc": "get x of rect\n\nReturns: return x of the rect, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x()" + }, + "y": { + "type": "func", + "name": "y", + "doc": { + "brief": "get y of rect", + "return": "return y of the rect, type is int", + "maixpy": "maix.image.Rect.y", + "py_doc": "get y of rect\n\nReturns: return y of the rect, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y()" + }, + "w": { + "type": "func", + "name": "w", + "doc": { + "brief": "get w of rect", + "return": "return w of the rect, type is int", + "maixpy": "maix.image.Rect.w", + "py_doc": "get w of rect\n\nReturns: return w of the rect, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int w()" + }, + "h": { + "type": "func", + "name": "h", + "doc": { + "brief": "get h of rect", + "return": "return h of the rect, type is int", + "maixpy": "maix.image.Rect.h", + "py_doc": "get h of rect\n\nReturns: return h of the rect, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int h()" + }, + "magnitude": { + "type": "func", + "name": "magnitude", + "doc": { + "brief": "get magnitude of the straight line after Hough transformation", + "return": "return magnitude, type is int", + "maixpy": "maix.image.Rect.magnitude", + "py_doc": "get magnitude of the straight line after Hough transformation\n\nReturns: return magnitude, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int magnitude()" + } + }, + "def": "class Rect" + }, + "Circle": { + "type": "class", + "name": "Circle", + "doc": { + "brief": "circle class", + "maixpy": "maix.image.Circle", + "py_doc": "circle class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Circle", + "doc": { + "brief": "Circle constructor", + "param": { + "x": "coordinate x of the circle", + "y": "coordinate y of the circle", + "r": "coordinate r of the circle", + "magnitude": "coordinate y2 of the straight line" + }, + "maixpy": "maix.image.Circle.__init__", + "py_doc": "Circle constructor\n\nArgs:\n - x: coordinate x of the circle\n - y: coordinate y of the circle\n - r: coordinate r of the circle\n - magnitude: coordinate y2 of the straight line\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "int", + "r", + null + ], + [ + "int", + "magnitude", + null + ] + ], + "ret_type": null, + "static": false, + "def": "Circle(int x, int y, int r, int magnitude)" + }, + "x": { + "type": "func", + "name": "x", + "doc": { + "brief": "get x of circle", + "return": "return x of the circle, type is int", + "maixpy": "maix.image.Circle.x", + "py_doc": "get x of circle\n\nReturns: return x of the circle, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x()" + }, + "y": { + "type": "func", + "name": "y", + "doc": { + "brief": "get y of circle", + "return": "return y of the circle, type is int", + "maixpy": "maix.image.Circle.y", + "py_doc": "get y of circle\n\nReturns: return y of the circle, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y()" + }, + "r": { + "type": "func", + "name": "r", + "doc": { + "brief": "get r of circle", + "return": "return r of the circle, type is int", + "maixpy": "maix.image.Circle.r", + "py_doc": "get r of circle\n\nReturns: return r of the circle, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int r()" + }, + "magnitude": { + "type": "func", + "name": "magnitude", + "doc": { + "brief": "get magnitude of the circle after Hough transformation", + "return": "return magnitude, type is int", + "maixpy": "maix.image.Circle.magnitude", + "py_doc": "get magnitude of the circle after Hough transformation\n\nReturns: return magnitude, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int magnitude()" + } + }, + "def": "class Circle" + }, + "Blob": { + "type": "class", + "name": "Blob", + "doc": { + "brief": "Blob class", + "maixpy": "maix.image.Blob", + "py_doc": "Blob class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Blob", + "doc": { + "brief": "Blob constructor", + "param": { + "rect": "blob rect, type is std::vector", + "corners": "blob corners, type is std::vector>", + "mini_corners": "blob mini_corners, type is std::vector>", + "cx": "blob center x, type is float", + "cy": "blob center y, type is float", + "pixels": "blob pixels, type is int", + "rotation": "blob rotation, type is float", + "code": "blob code, type is int", + "count": "blob count, type is int", + "perimeter": "blob perimeter, type is int", + "roundness": "blob roundness, type is float", + "x_hist_bins": "blob x_hist_bins, type is std::vector", + "y_hist_bins": "blob y_hist_bins, type is std::vector" + }, + "maixpy": "maix.image.Blob.__init__", + "py_doc": "Blob constructor\n\nArgs:\n - rect: blob rect, type is std::vector\n - corners: blob corners, type is std::vector>\n - mini_corners: blob mini_corners, type is std::vector>\n - cx: blob center x, type is float\n - cy: blob center y, type is float\n - pixels: blob pixels, type is int\n - rotation: blob rotation, type is float\n - code: blob code, type is int\n - count: blob count, type is int\n - perimeter: blob perimeter, type is int\n - roundness: blob roundness, type is float\n - x_hist_bins: blob x_hist_bins, type is std::vector\n - y_hist_bins: blob y_hist_bins, type is std::vector\n" + }, + "args": [ + [ + "std::vector &", + "rect", + null + ], + [ + "std::vector> &", + "corners", + null + ], + [ + "std::vector> &", + "mini_corners", + null + ], + [ + "float", + "cx", + null + ], + [ + "float", + "cy", + null + ], + [ + "int", + "pixels", + null + ], + [ + "float", + "rotation", + null + ], + [ + "int", + "code", + null + ], + [ + "int", + "count", + null + ], + [ + "int", + "perimeter", + null + ], + [ + "float", + "roundness", + null + ], + [ + "std::vector &", + "x_hist_bins", + null + ], + [ + "std::vector &", + "y_hist_bins", + null + ] + ], + "ret_type": null, + "static": false, + "def": "Blob(std::vector &rect, std::vector> &corners, std::vector> &mini_corners,float cx, float cy, int pixels, float rotation, int code, int count, int perimeter, float roundness, std::vector &x_hist_bins, std::vector &y_hist_bins)" + }, + "corners": { + "type": "func", + "name": "corners", + "doc": { + "brief": "get blob corners", + "return": "Returns a list of 4 (x,y) tuples of the 4 corners of the object.\n(x0, y0)___________(x1, y1)\n| |\n| |\n| |\n|___________|\n(x3, y3) (x2, y2)\nnote: the order of corners may change", + "maixpy": "maix.image.Blob.corners", + "py_doc": "get blob corners\n\nReturns: Returns a list of 4 (x,y) tuples of the 4 corners of the object.\n(x0, y0)___________(x1, y1)\n| |\n| |\n| |\n|___________|\n(x3, y3) (x2, y2)\nnote: the order of corners may change\n" + }, + "args": [], + "ret_type": "std::vector>", + "static": false, + "def": "std::vector> corners()" + }, + "mini_corners": { + "type": "func", + "name": "mini_corners", + "doc": { + "brief": "get blob mini corners", + "return": "Returns a list of 4 (x,y) tuples of the 4 corners than bound the min area rectangle of the blob.\n(x0, y0)___________(x1, y1)\n| |\n| |\n| |\n|___________|\n(x3, y3) (x2, y2)\nnote: the order of corners may change", + "maixpy": "maix.image.Blob.mini_corners", + "py_doc": "get blob mini corners\n\nReturns: Returns a list of 4 (x,y) tuples of the 4 corners than bound the min area rectangle of the blob.\n(x0, y0)___________(x1, y1)\n| |\n| |\n| |\n|___________|\n(x3, y3) (x2, y2)\nnote: the order of corners may change\n" + }, + "args": [], + "ret_type": "std::vector>", + "static": false, + "def": "std::vector> mini_corners()" + }, + "rect": { + "type": "func", + "name": "rect", + "doc": { + "brief": "get blob rect", + "return": "Returns the center coordinates and width and height of the rectangle. format is (x, y, w, h)\nw\n(x, y) ___________\n| |\n| | h\n| |\n|___________|", + "maixpy": "maix.image.Blob.rect", + "py_doc": "get blob rect\n\nReturns: Returns the center coordinates and width and height of the rectangle. format is (x, y, w, h)\nw\n(x, y) ___________\n| |\n| | h\n| |\n|___________|\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector rect()" + }, + "x": { + "type": "func", + "name": "x", + "doc": { + "brief": "get blob x of the upper left coordinate", + "return": "Returns the x coordinate of the upper left corner of the rectangle.", + "maixpy": "maix.image.Blob.x", + "py_doc": "get blob x of the upper left coordinate\n\nReturns: Returns the x coordinate of the upper left corner of the rectangle.\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x()" + }, + "y": { + "type": "func", + "name": "y", + "doc": { + "brief": "get blob y of the upper left coordinate", + "return": "Returns the y coordinate of the upper left corner of the rectangle.", + "maixpy": "maix.image.Blob.y", + "py_doc": "get blob y of the upper left coordinate\n\nReturns: Returns the y coordinate of the upper left corner of the rectangle.\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y()" + }, + "w": { + "type": "func", + "name": "w", + "doc": { + "brief": "get blob width", + "return": "Returns the blob\u2019s bounding box w coordinate", + "maixpy": "maix.image.Blob.w", + "py_doc": "get blob width\n\nReturns: Returns the blob\u2019s bounding box w coordinate\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int w()" + }, + "h": { + "type": "func", + "name": "h", + "doc": { + "brief": "get blob height", + "return": "Returns the blob\u2019s bounding box h coordinate", + "maixpy": "maix.image.Blob.h", + "py_doc": "get blob height\n\nReturns: Returns the blob\u2019s bounding box h coordinate\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int h()" + }, + "pixels": { + "type": "func", + "name": "pixels", + "doc": { + "brief": "get blob pixels", + "return": "Returns the number of pixels that are part of this blob.", + "maixpy": "maix.image.Blob.pixels", + "py_doc": "get blob pixels\n\nReturns: Returns the number of pixels that are part of this blob.\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int pixels()" + }, + "cx": { + "type": "func", + "name": "cx", + "doc": { + "brief": "get blob center x", + "return": "Returns the centroid x position of the blob", + "maixpy": "maix.image.Blob.cx", + "py_doc": "get blob center x\n\nReturns: Returns the centroid x position of the blob\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int cx()" + }, + "cy": { + "type": "func", + "name": "cy", + "doc": { + "brief": "get blob center y", + "return": "Returns the centroid y position of the blob", + "maixpy": "maix.image.Blob.cy", + "py_doc": "get blob center y\n\nReturns: Returns the centroid y position of the blob\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int cy()" + }, + "cxf": { + "type": "func", + "name": "cxf", + "doc": { + "brief": "get blob center x", + "return": "Returns the centroid x position of the blob", + "maixpy": "maix.image.Blob.cxf", + "py_doc": "get blob center x\n\nReturns: Returns the centroid x position of the blob\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float cxf()" + }, + "cyf": { + "type": "func", + "name": "cyf", + "doc": { + "brief": "get blob center y", + "return": "Returns the centroid y position of the blob", + "maixpy": "maix.image.Blob.cyf", + "py_doc": "get blob center y\n\nReturns: Returns the centroid y position of the blob\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float cyf()" + }, + "rotation": { + "type": "func", + "name": "rotation", + "doc": { + "brief": "get blob rotation", + "return": "Returns the rotation of the blob in radians (float). If the blob is like a pencil or pen this value will be unique for 0-180 degrees.", + "maixpy": "maix.image.Blob.rotation", + "py_doc": "get blob rotation\n\nReturns: Returns the rotation of the blob in radians (float). If the blob is like a pencil or pen this value will be unique for 0-180 degrees.\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float rotation()" + }, + "rotation_rad": { + "type": "func", + "name": "rotation_rad", + "doc": { + "brief": "get blob rotation_rad", + "return": "Returns the rotation of the blob in radians", + "maixpy": "maix.image.Blob.rotation_rad", + "py_doc": "get blob rotation_rad\n\nReturns: Returns the rotation of the blob in radians\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float rotation_rad()" + }, + "rotation_deg": { + "type": "func", + "name": "rotation_deg", + "doc": { + "brief": "get blob rotation_deg", + "return": "Returns the rotation of the blob in degrees.", + "maixpy": "maix.image.Blob.rotation_deg", + "py_doc": "get blob rotation_deg\n\nReturns: Returns the rotation of the blob in degrees.\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int rotation_deg()" + }, + "code": { + "type": "func", + "name": "code", + "doc": { + "brief": "get blob code", + "return": "Returns a 32-bit binary number with a bit set in it for each color threshold that\u2019s part of this blob", + "maixpy": "maix.image.Blob.code", + "py_doc": "get blob code\n\nReturns: Returns a 32-bit binary number with a bit set in it for each color threshold that\u2019s part of this blob\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int code()" + }, + "count": { + "type": "func", + "name": "count", + "doc": { + "brief": "get blob count", + "return": "Returns the number of blobs merged into this blob.", + "maixpy": "maix.image.Blob.count", + "py_doc": "get blob count\n\nReturns: Returns the number of blobs merged into this blob.\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int count()" + }, + "perimeter": { + "type": "func", + "name": "perimeter", + "doc": { + "brief": "get blob merge_cnt", + "return": "Returns the number of pixels on this blob\u2019s perimeter.", + "maixpy": "maix.image.Blob.perimeter", + "py_doc": "get blob merge_cnt\n\nReturns: Returns the number of pixels on this blob\u2019s perimeter.\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int perimeter()" + }, + "roundness": { + "type": "func", + "name": "roundness", + "doc": { + "brief": "get blob roundness", + "return": "Returns a value between 0 and 1 representing how round the object is", + "maixpy": "maix.image.Blob.roundness", + "py_doc": "get blob roundness\n\nReturns: Returns a value between 0 and 1 representing how round the object is\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float roundness()" + }, + "elongation": { + "type": "func", + "name": "elongation", + "doc": { + "brief": "get blob elongation", + "returnReturns": "a value between 0 and 1 representing how long (not round) the object is", + "maixpy": "maix.image.Blob.elongation", + "py_doc": "get blob elongation" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float elongation()" + }, + "area": { + "type": "func", + "name": "area", + "doc": { + "brief": "get blob area", + "return": "Returns the area of the bounding box around the blob", + "maixpy": "maix.image.Blob.area", + "py_doc": "get blob area\n\nReturns: Returns the area of the bounding box around the blob\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int area()" + }, + "density": { + "type": "func", + "name": "density", + "doc": { + "brief": "get blob density", + "return": "Returns the density ratio of the blob", + "maixpy": "maix.image.Blob.density", + "py_doc": "get blob density\n\nReturns: Returns the density ratio of the blob\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float density()" + }, + "extent": { + "type": "func", + "name": "extent", + "doc": { + "brief": "Alias for blob.density()", + "return": "Returns the density ratio of the blob", + "maixpy": "maix.image.Blob.extent", + "py_doc": "Alias for blob.density()\n\nReturns: Returns the density ratio of the blob\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float extent()" + }, + "compactness": { + "type": "func", + "name": "compactness", + "doc": { + "brief": "get blob compactness", + "return": "Returns the compactness ratio of the blob", + "maixpy": "maix.image.Blob.compactness", + "py_doc": "get blob compactness\n\nReturns: Returns the compactness ratio of the blob\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float compactness()" + }, + "solidity": { + "type": "func", + "name": "solidity", + "doc": { + "brief": "get blob solidity", + "return": "Returns the solidity ratio of the blob", + "maixpy": "maix.image.Blob.solidity", + "py_doc": "get blob solidity\n\nReturns: Returns the solidity ratio of the blob\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float solidity()" + }, + "convexity": { + "type": "func", + "name": "convexity", + "doc": { + "brief": "get blob convexity", + "return": "Returns a value between 0 and 1 representing how convex the object is", + "maixpy": "maix.image.Blob.convexity", + "py_doc": "get blob convexity\n\nReturns: Returns a value between 0 and 1 representing how convex the object is\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float convexity()" + }, + "x_hist_bins": { + "type": "func", + "name": "x_hist_bins", + "doc": { + "brief": "get blob x_hist_bins", + "return": "Returns the x_hist_bins of the blob", + "maixpy": "maix.image.Blob.x_hist_bins", + "py_doc": "get blob x_hist_bins\n\nReturns: Returns the x_hist_bins of the blob\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector x_hist_bins()" + }, + "y_hist_bins": { + "type": "func", + "name": "y_hist_bins", + "doc": { + "brief": "get blob y_hist_bins", + "return": "Returns the y_hist_bins of the blob", + "maixpy": "maix.image.Blob.y_hist_bins", + "py_doc": "get blob y_hist_bins\n\nReturns: Returns the y_hist_bins of the blob\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector y_hist_bins()" + }, + "major_axis_line": { + "type": "func", + "name": "major_axis_line", + "doc": { + "brief": "get blob major_axis_line", + "return": "Returns a line tuple (x1, y1, x2, y2) of the minor axis of the blob.", + "maixpy": "maix.image.Blob.major_axis_line", + "py_doc": "get blob major_axis_line\n\nReturns: Returns a line tuple (x1, y1, x2, y2) of the minor axis of the blob.\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector major_axis_line()" + }, + "minor_axis_line": { + "type": "func", + "name": "minor_axis_line", + "doc": { + "brief": "get blob minor_axis_line", + "return": "Returns a line tuple (x1, y1, x2, y2) of the minor axis of the blob.", + "maixpy": "maix.image.Blob.minor_axis_line", + "py_doc": "get blob minor_axis_line\n\nReturns: Returns a line tuple (x1, y1, x2, y2) of the minor axis of the blob.\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector minor_axis_line()" + }, + "enclosing_circle": { + "type": "func", + "name": "enclosing_circle", + "doc": { + "brief": "get blob enclosing_circle", + "return": "Returns a circle tuple (x, y, r) of the circle that encloses the min area rectangle of a blob.", + "maixpy": "maix.image.Blob.enclosing_circle", + "py_doc": "get blob enclosing_circle\n\nReturns: Returns a circle tuple (x, y, r) of the circle that encloses the min area rectangle of a blob.\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector enclosing_circle()" + }, + "enclosed_ellipse": { + "type": "func", + "name": "enclosed_ellipse", + "doc": { + "brief": "get blob enclosed_ellipse", + "return": "Returns an ellipse tuple (x, y, rx, ry, rotation) of the ellipse that fits inside of the min area rectangle of a blob.", + "maixpy": "maix.image.Blob.enclosed_ellipse", + "py_doc": "get blob enclosed_ellipse\n\nReturns: Returns an ellipse tuple (x, y, rx, ry, rotation) of the ellipse that fits inside of the min area rectangle of a blob.\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector enclosed_ellipse()" + } + }, + "def": "class Blob" + }, + "QRCode": { + "type": "class", + "name": "QRCode", + "doc": { + "brief": "QRCode class", + "maixpy": "maix.image.QRCode", + "py_doc": "QRCode class" + }, + "members": { + "__init__": { + "type": "func", + "name": "QRCode", + "doc": { + "brief": "QRCode constructor", + "param": { + "rect": "rect of corners, type is std::vector", + "corners": "corners of QRCode", + "payload": "payload of the QRCode", + "version": "version of the QRCode", + "ecc_level": "ecc_level of the QRCode", + "mask": "mask of the QRCode", + "data_type": "data_type of the QRCode", + "eci": "eci of the QRCode" + }, + "maixpy": "maix.image.QRCode.__init__", + "py_doc": "QRCode constructor\n\nArgs:\n - rect: rect of corners, type is std::vector\n - corners: corners of QRCode\n - payload: payload of the QRCode\n - version: version of the QRCode\n - ecc_level: ecc_level of the QRCode\n - mask: mask of the QRCode\n - data_type: data_type of the QRCode\n - eci: eci of the QRCode\n" + }, + "args": [ + [ + "std::vector &", + "rect", + null + ], + [ + "std::vector> &", + "corners", + null + ], + [ + "std::string &", + "payload", + null + ], + [ + "int", + "version", + null + ], + [ + "int", + "ecc_level", + null + ], + [ + "int", + "mask", + null + ], + [ + "int", + "data_type", + null + ], + [ + "int", + "eci", + null + ] + ], + "ret_type": null, + "static": false, + "def": "QRCode(std::vector &rect, std::vector> &corners, std::string &payload, int version, int ecc_level, int mask, int data_type, int eci)" + }, + "corners": { + "type": "func", + "name": "corners", + "doc": { + "brief": "get coordinate of QRCode", + "return": "return the coordinate of the QRCode.", + "maixpy": "maix.image.QRCode.corners", + "py_doc": "get coordinate of QRCode\n\nReturns: return the coordinate of the QRCode.\n" + }, + "args": [], + "ret_type": "std::vector>", + "static": false, + "def": "std::vector> corners()" + }, + "rect": { + "type": "func", + "name": "rect", + "doc": { + "brief": "get rectangle of QRCode", + "return": "return the rectangle of the QRCode. format is {x, y, w, h}, type is std::vector", + "maixpy": "maix.image.QRCode.rect", + "py_doc": "get rectangle of QRCode\n\nReturns: return the rectangle of the QRCode. format is {x, y, w, h}, type is std::vector\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector rect()" + }, + "x": { + "type": "func", + "name": "x", + "doc": { + "brief": "get x of QRCode", + "return": "return x of the QRCode, type is int", + "maixpy": "maix.image.QRCode.x", + "py_doc": "get x of QRCode\n\nReturns: return x of the QRCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x()" + }, + "y": { + "type": "func", + "name": "y", + "doc": { + "brief": "get y of QRCode", + "return": "return y of the QRCode, type is int", + "maixpy": "maix.image.QRCode.y", + "py_doc": "get y of QRCode\n\nReturns: return y of the QRCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y()" + }, + "w": { + "type": "func", + "name": "w", + "doc": { + "brief": "get w of QRCode", + "return": "return w of the QRCode, type is int", + "maixpy": "maix.image.QRCode.w", + "py_doc": "get w of QRCode\n\nReturns: return w of the QRCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int w()" + }, + "h": { + "type": "func", + "name": "h", + "doc": { + "brief": "get h of QRCode", + "return": "return h of the QRCode, type is int", + "maixpy": "maix.image.QRCode.h", + "py_doc": "get h of QRCode\n\nReturns: return h of the QRCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int h()" + }, + "payload": { + "type": "func", + "name": "payload", + "doc": { + "brief": "get QRCode payload", + "return": "return area of the QRCode", + "maixpy": "maix.image.QRCode.payload", + "py_doc": "get QRCode payload\n\nReturns: return area of the QRCode\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string payload()" + }, + "version": { + "type": "func", + "name": "version", + "doc": { + "brief": "get QRCode version", + "return": "return version of the QRCode", + "maixpy": "maix.image.QRCode.version", + "py_doc": "get QRCode version\n\nReturns: return version of the QRCode\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int version()" + }, + "ecc_level": { + "type": "func", + "name": "ecc_level", + "doc": { + "brief": "get QRCode error correction level", + "return": "return error correction level of the QRCode", + "maixpy": "maix.image.QRCode.ecc_level", + "py_doc": "get QRCode error correction level\n\nReturns: return error correction level of the QRCode\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int ecc_level()" + }, + "mask": { + "type": "func", + "name": "mask", + "doc": { + "brief": "get QRCode mask", + "return": "return mask of the QRCode", + "maixpy": "maix.image.QRCode.mask", + "py_doc": "get QRCode mask\n\nReturns: return mask of the QRCode\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int mask()" + }, + "data_type": { + "type": "func", + "name": "data_type", + "doc": { + "brief": "get QRCode dataType", + "return": "return mask of the QRCode", + "maixpy": "maix.image.QRCode.data_type", + "py_doc": "get QRCode dataType\n\nReturns: return mask of the QRCode\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int data_type()" + }, + "eci": { + "type": "func", + "name": "eci", + "doc": { + "brief": "get QRCode eci", + "return": "return data of the QRCode", + "maixpy": "maix.image.QRCode.eci", + "py_doc": "get QRCode eci\n\nReturns: return data of the QRCode\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int eci()" + }, + "is_numeric": { + "type": "func", + "name": "is_numeric", + "doc": { + "brief": "check QRCode is numeric", + "return": "return true if the result type of the QRCode is numeric", + "maixpy": "maix.image.QRCode.is_numeric", + "py_doc": "check QRCode is numeric\n\nReturns: return true if the result type of the QRCode is numeric\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_numeric()" + }, + "is_alphanumeric": { + "type": "func", + "name": "is_alphanumeric", + "doc": { + "brief": "check QRCode is alphanumeric", + "return": "return true if the result type of the QRCode is alphanumeric", + "maixpy": "maix.image.QRCode.is_alphanumeric", + "py_doc": "check QRCode is alphanumeric\n\nReturns: return true if the result type of the QRCode is alphanumeric\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_alphanumeric()" + }, + "is_binary": { + "type": "func", + "name": "is_binary", + "doc": { + "brief": "check QRCode is binary", + "return": "return true if the result type of the QRCode is binary", + "maixpy": "maix.image.QRCode.is_binary", + "py_doc": "check QRCode is binary\n\nReturns: return true if the result type of the QRCode is binary\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_binary()" + }, + "is_kanji": { + "type": "func", + "name": "is_kanji", + "doc": { + "brief": "check QRCode is kanji", + "return": "return true if the result type of the QRCode is kanji", + "maixpy": "maix.image.QRCode.is_kanji", + "py_doc": "check QRCode is kanji\n\nReturns: return true if the result type of the QRCode is kanji\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_kanji()" + } + }, + "def": "class QRCode" + }, + "AprilTag": { + "type": "class", + "name": "AprilTag", + "doc": { + "brief": "AprilTag class", + "maixpy": "maix.image.AprilTag", + "py_doc": "AprilTag class" + }, + "members": { + "__init__": { + "type": "func", + "name": "AprilTag", + "doc": { + "brief": "AprilTag constructor", + "param": { + "rect": "Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector", + "corners": "Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>", + "id": "The id of the AprilTag", + "famliy": "The family of the AprilTag", + "centroid_x": "The x coordinate of the center of the AprilTag", + "centroid_y": "The y coordinate of the center of the AprilTag", + "rotation": "The rotation of the AprilTag", + "decision_margin": "The decision_margin of the AprilTag", + "hamming": "The hamming of the AprilTag", + "goodness": "The goodness of the AprilTag", + "x_translation": "The x_translation of the AprilTag", + "y_translation": "The y_translation of the AprilTag", + "z_translation": "The z_translation of the AprilTag", + "x_rotation": "The x_rotation of the AprilTag", + "y_rotation": "The y_rotation of the AprilTag", + "z_rotation": "The z_rotation of the AprilTag" + }, + "maixpy": "maix.image.AprilTag.__init__", + "py_doc": "AprilTag constructor\n\nArgs:\n - rect: Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector\n - corners: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>\n - id: The id of the AprilTag\n - famliy: The family of the AprilTag\n - centroid_x: The x coordinate of the center of the AprilTag\n - centroid_y: The y coordinate of the center of the AprilTag\n - rotation: The rotation of the AprilTag\n - decision_margin: The decision_margin of the AprilTag\n - hamming: The hamming of the AprilTag\n - goodness: The goodness of the AprilTag\n - x_translation: The x_translation of the AprilTag\n - y_translation: The y_translation of the AprilTag\n - z_translation: The z_translation of the AprilTag\n - x_rotation: The x_rotation of the AprilTag\n - y_rotation: The y_rotation of the AprilTag\n - z_rotation: The z_rotation of the AprilTag\n" + }, + "args": [ + [ + "std::vector &", + "rect", + null + ], + [ + "std::vector> &", + "corners", + null + ], + [ + "int", + "id", + null + ], + [ + "int", + "famliy", + null + ], + [ + "float", + "centroid_x", + null + ], + [ + "float", + "centroid_y", + null + ], + [ + "float", + "rotation", + null + ], + [ + "float", + "decision_margin", + null + ], + [ + "int", + "hamming", + null + ], + [ + "float", + "goodness", + null + ], + [ + "float", + "x_translation", + null + ], + [ + "float", + "y_translation", + null + ], + [ + "float", + "z_translation", + null + ], + [ + "float", + "x_rotation", + null + ], + [ + "float", + "y_rotation", + null + ], + [ + "float", + "z_rotation", + null + ] + ], + "ret_type": null, + "static": false, + "def": "AprilTag(std::vector &rect, std::vector> &corners, int id, int famliy, float centroid_x, float centroid_y, float rotation, float decision_margin, int hamming, float goodness, float x_translation, float y_translation, float z_translation, float x_rotation, float y_rotation, float z_rotation)" + }, + "corners": { + "type": "func", + "name": "corners", + "doc": { + "brief": "get coordinate of AprilTag", + "return": "return the coordinate of the AprilTag.", + "maixpy": "maix.image.AprilTag.corners", + "py_doc": "get coordinate of AprilTag\n\nReturns: return the coordinate of the AprilTag.\n" + }, + "args": [], + "ret_type": "std::vector>", + "static": false, + "def": "std::vector> corners()" + }, + "rect": { + "type": "func", + "name": "rect", + "doc": { + "brief": "get rectangle of AprilTag", + "return": "return the rectangle of the AprilTag. format is {x, y, w, h}, type is std::vector", + "maixpy": "maix.image.AprilTag.rect", + "py_doc": "get rectangle of AprilTag\n\nReturns: return the rectangle of the AprilTag. format is {x, y, w, h}, type is std::vector\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector rect()" + }, + "x": { + "type": "func", + "name": "x", + "doc": { + "brief": "get x of AprilTag", + "return": "return x of the AprilTag, type is int", + "maixpy": "maix.image.AprilTag.x", + "py_doc": "get x of AprilTag\n\nReturns: return x of the AprilTag, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x()" + }, + "y": { + "type": "func", + "name": "y", + "doc": { + "brief": "get y of AprilTag", + "return": "return y of the AprilTag, type is int", + "maixpy": "maix.image.AprilTag.y", + "py_doc": "get y of AprilTag\n\nReturns: return y of the AprilTag, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y()" + }, + "w": { + "type": "func", + "name": "w", + "doc": { + "brief": "get w of AprilTag", + "return": "return w of the AprilTag, type is int", + "maixpy": "maix.image.AprilTag.w", + "py_doc": "get w of AprilTag\n\nReturns: return w of the AprilTag, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int w()" + }, + "h": { + "type": "func", + "name": "h", + "doc": { + "brief": "get h of AprilTag", + "return": "return h of the AprilTag, type is int", + "maixpy": "maix.image.AprilTag.h", + "py_doc": "get h of AprilTag\n\nReturns: return h of the AprilTag, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int h()" + }, + "id": { + "type": "func", + "name": "id", + "doc": { + "brief": "get id of AprilTag", + "return": "return id of the AprilTag, type is int", + "maixpy": "maix.image.AprilTag.id", + "py_doc": "get id of AprilTag\n\nReturns: return id of the AprilTag, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int id()" + }, + "family": { + "type": "func", + "name": "family", + "doc": { + "brief": "get family of AprilTag", + "return": "return family of the AprilTag, type is int", + "maixpy": "maix.image.AprilTag.family", + "py_doc": "get family of AprilTag\n\nReturns: return family of the AprilTag, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int family()" + }, + "cx": { + "type": "func", + "name": "cx", + "doc": { + "brief": "get cx of AprilTag", + "return": "return cx of the AprilTag, type is int", + "maixpy": "maix.image.AprilTag.cx", + "py_doc": "get cx of AprilTag\n\nReturns: return cx of the AprilTag, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int cx()" + }, + "cxf": { + "type": "func", + "name": "cxf", + "doc": { + "brief": "get cxf of AprilTag", + "return": "return cxf of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.cxf", + "py_doc": "get cxf of AprilTag\n\nReturns: return cxf of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float cxf()" + }, + "cy": { + "type": "func", + "name": "cy", + "doc": { + "brief": "get cy of AprilTag", + "return": "return cy of the AprilTag, type is int", + "maixpy": "maix.image.AprilTag.cy", + "py_doc": "get cy of AprilTag\n\nReturns: return cy of the AprilTag, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int cy()" + }, + "cyf": { + "type": "func", + "name": "cyf", + "doc": { + "brief": "get cyf of AprilTag", + "return": "return cyf of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.cyf", + "py_doc": "get cyf of AprilTag\n\nReturns: return cyf of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float cyf()" + }, + "rotation": { + "type": "func", + "name": "rotation", + "doc": { + "brief": "get rotation of AprilTag", + "return": "return rotation of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.rotation", + "py_doc": "get rotation of AprilTag\n\nReturns: return rotation of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float rotation()" + }, + "decision_margin": { + "type": "func", + "name": "decision_margin", + "doc": { + "brief": "Get decision_margin of AprilTag", + "return": "Returns the quality of the apriltag match (0.0 - 1.0) where 1.0 is the best.", + "maixpy": "maix.image.AprilTag.decision_margin", + "py_doc": "Get decision_margin of AprilTag\n\nReturns: Returns the quality of the apriltag match (0.0 - 1.0) where 1.0 is the best.\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float decision_margin()" + }, + "hamming": { + "type": "func", + "name": "hamming", + "doc": { + "brief": "get hamming of AprilTag", + "return": "Returns the number of accepted bit errors for this tag.\nreturn 0, means 0 bit errors will be accepted.\n1 is TAG25H7, means up to 1 bit error may be accepted\n2 is TAG25H9, means up to 3 bit errors may be accepted\n3 is TAG36H10, means up to 3 bit errors may be accepted\n4 is TAG36H11, means up to 4 bit errors may be accepted\n5 is ARTOOLKIT, means 0 bit errors will be accepted", + "maixpy": "maix.image.AprilTag.hamming", + "py_doc": "get hamming of AprilTag\n\nReturns: Returns the number of accepted bit errors for this tag.\nreturn 0, means 0 bit errors will be accepted.\n1 is TAG25H7, means up to 1 bit error may be accepted\n2 is TAG25H9, means up to 3 bit errors may be accepted\n3 is TAG36H10, means up to 3 bit errors may be accepted\n4 is TAG36H11, means up to 4 bit errors may be accepted\n5 is ARTOOLKIT, means 0 bit errors will be accepted\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int hamming()" + }, + "goodness": { + "type": "func", + "name": "goodness", + "doc": { + "brief": "get goodness of AprilTag", + "return": "return goodness of the AprilTag, type is float\nNote: This value is always 0.0 for now.", + "maixpy": "maix.image.AprilTag.goodness", + "py_doc": "get goodness of AprilTag\n\nReturns: return goodness of the AprilTag, type is float\nNote: This value is always 0.0 for now.\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float goodness()" + }, + "x_translation": { + "type": "func", + "name": "x_translation", + "doc": { + "brief": "get x_translation of AprilTag", + "return": "return x_translation of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.x_translation", + "py_doc": "get x_translation of AprilTag\n\nReturns: return x_translation of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float x_translation()" + }, + "y_translation": { + "type": "func", + "name": "y_translation", + "doc": { + "brief": "get y_translation of AprilTag", + "return": "return y_translation of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.y_translation", + "py_doc": "get y_translation of AprilTag\n\nReturns: return y_translation of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float y_translation()" + }, + "z_translation": { + "type": "func", + "name": "z_translation", + "doc": { + "brief": "get z_translation of AprilTag", + "return": "return z_translation of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.z_translation", + "py_doc": "get z_translation of AprilTag\n\nReturns: return z_translation of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float z_translation()" + }, + "x_rotation": { + "type": "func", + "name": "x_rotation", + "doc": { + "brief": "get x_rotation of AprilTag", + "return": "return x_rotation of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.x_rotation", + "py_doc": "get x_rotation of AprilTag\n\nReturns: return x_rotation of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float x_rotation()" + }, + "y_rotation": { + "type": "func", + "name": "y_rotation", + "doc": { + "brief": "get y_rotation of AprilTag", + "return": "return y_rotation of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.y_rotation", + "py_doc": "get y_rotation of AprilTag\n\nReturns: return y_rotation of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float y_rotation()" + }, + "z_rotation": { + "type": "func", + "name": "z_rotation", + "doc": { + "brief": "get z_rotation of AprilTag", + "return": "return z_rotation of the AprilTag, type is float", + "maixpy": "maix.image.AprilTag.z_rotation", + "py_doc": "get z_rotation of AprilTag\n\nReturns: return z_rotation of the AprilTag, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float z_rotation()" + } + }, + "def": "class AprilTag" + }, + "DataMatrix": { + "type": "class", + "name": "DataMatrix", + "doc": { + "brief": "DataMatrix class", + "maixpy": "maix.image.DataMatrix", + "py_doc": "DataMatrix class" + }, + "members": { + "__init__": { + "type": "func", + "name": "DataMatrix", + "doc": { + "brief": "DataMatrix constructor", + "param": { + "rect": "Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector", + "corners": "Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>", + "payload": "The payload of the DataMatrix", + "rotation": "The rotation of the DataMatrix", + "rows": "The rows of the DataMatrix", + "columns": "The columns of the DataMatrix", + "capacity": "The capacity of the DataMatrix", + "padding": "The padding of the DataMatrix" + }, + "maixpy": "maix.image.DataMatrix.__init__", + "py_doc": "DataMatrix constructor\n\nArgs:\n - rect: Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector\n - corners: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>\n - payload: The payload of the DataMatrix\n - rotation: The rotation of the DataMatrix\n - rows: The rows of the DataMatrix\n - columns: The columns of the DataMatrix\n - capacity: The capacity of the DataMatrix\n - padding: The padding of the DataMatrix\n" + }, + "args": [ + [ + "std::vector &", + "rect", + null + ], + [ + "std::vector> &", + "corners", + null + ], + [ + "std::string &", + "payload", + null + ], + [ + "float", + "rotation", + null + ], + [ + "int", + "rows", + null + ], + [ + "int", + "columns", + null + ], + [ + "int", + "capacity", + null + ], + [ + "int", + "padding", + null + ] + ], + "ret_type": null, + "static": false, + "def": "DataMatrix(std::vector &rect, std::vector> &corners, std::string &payload, float rotation, int rows, int columns, int capacity, int padding)" + }, + "corners": { + "type": "func", + "name": "corners", + "doc": { + "brief": "get coordinate of DataMatrix", + "return": "return the coordinate of the DataMatrix.", + "maixpy": "maix.image.DataMatrix.corners", + "py_doc": "get coordinate of DataMatrix\n\nReturns: return the coordinate of the DataMatrix.\n" + }, + "args": [], + "ret_type": "std::vector>", + "static": false, + "def": "std::vector> corners()" + }, + "rect": { + "type": "func", + "name": "rect", + "doc": { + "brief": "get rectangle of DataMatrix", + "return": "return the rectangle of the DataMatrix. format is {x, y, w, h}, type is std::vector", + "maixpy": "maix.image.DataMatrix.rect", + "py_doc": "get rectangle of DataMatrix\n\nReturns: return the rectangle of the DataMatrix. format is {x, y, w, h}, type is std::vector\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector rect()" + }, + "x": { + "type": "func", + "name": "x", + "doc": { + "brief": "get x of DataMatrix", + "return": "return x of the DataMatrix, type is int", + "maixpy": "maix.image.DataMatrix.x", + "py_doc": "get x of DataMatrix\n\nReturns: return x of the DataMatrix, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x()" + }, + "y": { + "type": "func", + "name": "y", + "doc": { + "brief": "get y of DataMatrix", + "return": "return y of the DataMatrix, type is int", + "maixpy": "maix.image.DataMatrix.y", + "py_doc": "get y of DataMatrix\n\nReturns: return y of the DataMatrix, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y()" + }, + "w": { + "type": "func", + "name": "w", + "doc": { + "brief": "get w of DataMatrix", + "return": "return w of the DataMatrix, type is int", + "maixpy": "maix.image.DataMatrix.w", + "py_doc": "get w of DataMatrix\n\nReturns: return w of the DataMatrix, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int w()" + }, + "h": { + "type": "func", + "name": "h", + "doc": { + "brief": "get h of DataMatrix", + "return": "return h of the DataMatrix, type is int", + "maixpy": "maix.image.DataMatrix.h", + "py_doc": "get h of DataMatrix\n\nReturns: return h of the DataMatrix, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int h()" + }, + "payload": { + "type": "func", + "name": "payload", + "doc": { + "brief": "get payload of DataMatrix", + "return": "return payload of the DataMatrix, type is std::string", + "maixpy": "maix.image.DataMatrix.payload", + "py_doc": "get payload of DataMatrix\n\nReturns: return payload of the DataMatrix, type is std::string\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string payload()" + }, + "rotation": { + "type": "func", + "name": "rotation", + "doc": { + "brief": "get rotation of DataMatrix", + "return": "return rotation of the DataMatrix, type is float", + "maixpy": "maix.image.DataMatrix.rotation", + "py_doc": "get rotation of DataMatrix\n\nReturns: return rotation of the DataMatrix, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float rotation()" + }, + "rows": { + "type": "func", + "name": "rows", + "doc": { + "brief": "get rows of DataMatrix", + "return": "return rows of the DataMatrix, type is int", + "maixpy": "maix.image.DataMatrix.rows", + "py_doc": "get rows of DataMatrix\n\nReturns: return rows of the DataMatrix, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int rows()" + }, + "columns": { + "type": "func", + "name": "columns", + "doc": { + "brief": "get columns of DataMatrix", + "return": "return columns of the DataMatrix, type is int", + "maixpy": "maix.image.DataMatrix.columns", + "py_doc": "get columns of DataMatrix\n\nReturns: return columns of the DataMatrix, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int columns()" + }, + "capacity": { + "type": "func", + "name": "capacity", + "doc": { + "brief": "et capacity of DataMatrix", + "return": "returns how many characters could fit in this data matrix, type is int", + "maixpy": "maix.image.DataMatrix.capacity", + "py_doc": "et capacity of DataMatrix\n\nReturns: returns how many characters could fit in this data matrix, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int capacity()" + }, + "padding": { + "type": "func", + "name": "padding", + "doc": { + "brief": "get padding of DataMatrix", + "return": "returns how many unused characters are in this data matrix, type is int", + "maixpy": "maix.image.DataMatrix.padding", + "py_doc": "get padding of DataMatrix\n\nReturns: returns how many unused characters are in this data matrix, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int padding()" + } + }, + "def": "class DataMatrix" + }, + "BarCode": { + "type": "class", + "name": "BarCode", + "doc": { + "brief": "BarCode class", + "maixpy": "maix.image.BarCode", + "py_doc": "BarCode class" + }, + "members": { + "__init__": { + "type": "func", + "name": "BarCode", + "doc": { + "brief": "BarCode constructor", + "param": { + "rect": "Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector", + "corners": "Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>", + "payload": "The payload of the BarCode", + "type": "The type of the BarCode", + "rotation": "The rotation of the BarCode", + "quality": "The quality of the BarCode" + }, + "maixpy": "maix.image.BarCode.__init__", + "py_doc": "BarCode constructor\n\nArgs:\n - rect: Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector\n - corners: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>\n - payload: The payload of the BarCode\n - type: The type of the BarCode\n - rotation: The rotation of the BarCode\n - quality: The quality of the BarCode\n" + }, + "args": [ + [ + "std::vector &", + "rect", + null + ], + [ + "std::vector> &", + "corners", + null + ], + [ + "std::string &", + "payload", + null + ], + [ + "int", + "type", + null + ], + [ + "float", + "rotation", + null + ], + [ + "int", + "quality", + null + ] + ], + "ret_type": null, + "static": false, + "def": "BarCode(std::vector &rect, std::vector> &corners, std::string &payload, int type, float rotation, int quality)" + }, + "corners": { + "type": "func", + "name": "corners", + "doc": { + "brief": "get coordinate of BarCode", + "return": "return the coordinate of the BarCode.", + "maixpy": "maix.image.BarCode.corners", + "py_doc": "get coordinate of BarCode\n\nReturns: return the coordinate of the BarCode.\n" + }, + "args": [], + "ret_type": "std::vector>", + "static": false, + "def": "std::vector> corners()" + }, + "rect": { + "type": "func", + "name": "rect", + "doc": { + "brief": "get rectangle of BarCode", + "return": "return the rectangle of the BarCode. format is {x, y, w, h}, type is std::vector", + "maixpy": "maix.image.BarCode.rect", + "py_doc": "get rectangle of BarCode\n\nReturns: return the rectangle of the BarCode. format is {x, y, w, h}, type is std::vector\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector rect()" + }, + "x": { + "type": "func", + "name": "x", + "doc": { + "brief": "get x of BarCode", + "return": "return x of the BarCode, type is int", + "maixpy": "maix.image.BarCode.x", + "py_doc": "get x of BarCode\n\nReturns: return x of the BarCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int x()" + }, + "y": { + "type": "func", + "name": "y", + "doc": { + "brief": "get y of BarCode", + "return": "return y of the BarCode, type is int", + "maixpy": "maix.image.BarCode.y", + "py_doc": "get y of BarCode\n\nReturns: return y of the BarCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int y()" + }, + "w": { + "type": "func", + "name": "w", + "doc": { + "brief": "get w of BarCode", + "return": "return w of the BarCode, type is int", + "maixpy": "maix.image.BarCode.w", + "py_doc": "get w of BarCode\n\nReturns: return w of the BarCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int w()" + }, + "h": { + "type": "func", + "name": "h", + "doc": { + "brief": "get h of BarCode", + "return": "return h of the BarCode, type is int", + "maixpy": "maix.image.BarCode.h", + "py_doc": "get h of BarCode\n\nReturns: return h of the BarCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int h()" + }, + "payload": { + "type": "func", + "name": "payload", + "doc": { + "brief": "get payload of BarCode", + "return": "return payload of the BarCode, type is std::string", + "maixpy": "maix.image.BarCode.payload", + "py_doc": "get payload of BarCode\n\nReturns: return payload of the BarCode, type is std::string\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string payload()" + }, + "type": { + "type": "func", + "name": "type", + "doc": { + "brief": "get type of BarCode", + "return": "return type of the BarCode, type is int", + "maixpy": "maix.image.BarCode.type", + "py_doc": "get type of BarCode\n\nReturns: return type of the BarCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int type()" + }, + "rotation": { + "type": "func", + "name": "rotation", + "doc": { + "brief": "get rotation of BarCode", + "return": "return rotation of the BarCode, type is float. FIXME: always return 0.0", + "maixpy": "maix.image.BarCode.rotation", + "py_doc": "get rotation of BarCode\n\nReturns: return rotation of the BarCode, type is float. FIXME: always return 0.0\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float rotation()" + }, + "quality": { + "type": "func", + "name": "quality", + "doc": { + "brief": "get quality of BarCode", + "return": "return quality of the BarCode, type is int", + "maixpy": "maix.image.BarCode.quality", + "py_doc": "get quality of BarCode\n\nReturns: return quality of the BarCode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int quality()" + } + }, + "def": "class BarCode" + }, + "Statistics": { + "type": "class", + "name": "Statistics", + "doc": { + "brief": "Statistics class", + "maixpy": "maix.image.Statistics", + "py_doc": "Statistics class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Statistics", + "doc": { + "brief": "Statistics constructor", + "param": { + "format": "The statistics source image format", + "l_statistics": "The statistics of the L channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector", + "a_statistics": "The statistics of the A channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector", + "b_statistics": "The statistics of the B channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector" + }, + "maixpy": "maix.image.Statistics.__init__", + "py_doc": "Statistics constructor\n\nArgs:\n - format: The statistics source image format\n - l_statistics: The statistics of the L channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector\n - a_statistics: The statistics of the A channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector\n - b_statistics: The statistics of the B channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector\n" + }, + "args": [ + [ + "image::Format", + "format", + null + ], + [ + "std::vector &", + "l_statistics", + null + ], + [ + "std::vector &", + "a_statistics", + null + ], + [ + "std::vector &", + "b_statistics", + null + ] + ], + "ret_type": null, + "static": false, + "def": "Statistics(image::Format format, std::vector &l_statistics, std::vector &a_statistics, std::vector &b_statistics)" + }, + "format": { + "type": "func", + "name": "format", + "doc": { + "brief": "get format of Statistics source image", + "return": "return format of the Statistics source image, type is image::Format", + "maixpy": "maix.image.Statistics.format", + "py_doc": "get format of Statistics source image\n\nReturns: return format of the Statistics source image, type is image::Format\n" + }, + "args": [], + "ret_type": "image::Format", + "static": false, + "def": "image::Format format()" + }, + "l_mean": { + "type": "func", + "name": "l_mean", + "doc": { + "brief": "get L channel mean", + "return": "return L channel mean, type is int", + "maixpy": "maix.image.Statistics.l_mean", + "py_doc": "get L channel mean\n\nReturns: return L channel mean, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int l_mean()" + }, + "l_median": { + "type": "func", + "name": "l_median", + "doc": { + "brief": "get L channel median", + "return": "return L channel median, type is int", + "maixpy": "maix.image.Statistics.l_median", + "py_doc": "get L channel median\n\nReturns: return L channel median, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int l_median()" + }, + "l_mode": { + "type": "func", + "name": "l_mode", + "doc": { + "brief": "get L channel mode", + "return": "return L channel mode, type is int", + "maixpy": "maix.image.Statistics.l_mode", + "py_doc": "get L channel mode\n\nReturns: return L channel mode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int l_mode()" + }, + "l_std_dev": { + "type": "func", + "name": "l_std_dev", + "doc": { + "brief": "get L channel std_dev", + "return": "return L channel std_dev, type is int", + "maixpy": "maix.image.Statistics.l_std_dev", + "py_doc": "get L channel std_dev\n\nReturns: return L channel std_dev, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int l_std_dev()" + }, + "l_min": { + "type": "func", + "name": "l_min", + "doc": { + "brief": "get L channel min", + "return": "return L channel min, type is int", + "maixpy": "maix.image.Statistics.l_min", + "py_doc": "get L channel min\n\nReturns: return L channel min, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int l_min()" + }, + "l_max": { + "type": "func", + "name": "l_max", + "doc": { + "brief": "get L channel max", + "return": "return L channel max, type is int", + "maixpy": "maix.image.Statistics.l_max", + "py_doc": "get L channel max\n\nReturns: return L channel max, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int l_max()" + }, + "l_lq": { + "type": "func", + "name": "l_lq", + "doc": { + "brief": "get L channel lq", + "return": "return L channel lq, type is int", + "maixpy": "maix.image.Statistics.l_lq", + "py_doc": "get L channel lq\n\nReturns: return L channel lq, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int l_lq()" + }, + "l_uq": { + "type": "func", + "name": "l_uq", + "doc": { + "brief": "get L channel uq", + "return": "return L channel uq, type is int", + "maixpy": "maix.image.Statistics.l_uq", + "py_doc": "get L channel uq\n\nReturns: return L channel uq, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int l_uq()" + }, + "a_mean": { + "type": "func", + "name": "a_mean", + "doc": { + "brief": "get A channel mean", + "return": "return A channel mean, type is int", + "maixpy": "maix.image.Statistics.a_mean", + "py_doc": "get A channel mean\n\nReturns: return A channel mean, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int a_mean()" + }, + "a_median": { + "type": "func", + "name": "a_median", + "doc": { + "brief": "get A channea median", + "return": "return A channel median, type is int", + "maixpy": "maix.image.Statistics.a_median", + "py_doc": "get A channea median\n\nReturns: return A channel median, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int a_median()" + }, + "a_mode": { + "type": "func", + "name": "a_mode", + "doc": { + "brief": "get A channel mode", + "return": "return A channel mode, type is int", + "maixpy": "maix.image.Statistics.a_mode", + "py_doc": "get A channel mode\n\nReturns: return A channel mode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int a_mode()" + }, + "a_std_dev": { + "type": "func", + "name": "a_std_dev", + "doc": { + "brief": "get A channel std_dev", + "return": "return A channel std_dev, type is int", + "maixpy": "maix.image.Statistics.a_std_dev", + "py_doc": "get A channel std_dev\n\nReturns: return A channel std_dev, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int a_std_dev()" + }, + "a_min": { + "type": "func", + "name": "a_min", + "doc": { + "brief": "get A channel min", + "return": "return A channel min, type is int", + "maixpy": "maix.image.Statistics.a_min", + "py_doc": "get A channel min\n\nReturns: return A channel min, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int a_min()" + }, + "a_max": { + "type": "func", + "name": "a_max", + "doc": { + "brief": "get A channel max", + "return": "return A channel max, type is int", + "maixpy": "maix.image.Statistics.a_max", + "py_doc": "get A channel max\n\nReturns: return A channel max, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int a_max()" + }, + "a_lq": { + "type": "func", + "name": "a_lq", + "doc": { + "brief": "get A channel lq", + "return": "return A channel lq, type is int", + "maixpy": "maix.image.Statistics.a_lq", + "py_doc": "get A channel lq\n\nReturns: return A channel lq, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int a_lq()" + }, + "a_uq": { + "type": "func", + "name": "a_uq", + "doc": { + "brief": "get A channel uq", + "return": "return A channel uq, type is int", + "maixpy": "maix.image.Statistics.a_uq", + "py_doc": "get A channel uq\n\nReturns: return A channel uq, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int a_uq()" + }, + "b_mean": { + "type": "func", + "name": "b_mean", + "doc": { + "brief": "get B channel mean", + "return": "return B channel mean, type is int", + "maixpy": "maix.image.Statistics.b_mean", + "py_doc": "get B channel mean\n\nReturns: return B channel mean, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int b_mean()" + }, + "b_median": { + "type": "func", + "name": "b_median", + "doc": { + "brief": "get B channea median", + "return": "return B channel median, type is int", + "maixpy": "maix.image.Statistics.b_median", + "py_doc": "get B channea median\n\nReturns: return B channel median, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int b_median()" + }, + "b_mode": { + "type": "func", + "name": "b_mode", + "doc": { + "brief": "get B channel mode", + "return": "return B channel mode, type is int", + "maixpy": "maix.image.Statistics.b_mode", + "py_doc": "get B channel mode\n\nReturns: return B channel mode, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int b_mode()" + }, + "b_std_dev": { + "type": "func", + "name": "b_std_dev", + "doc": { + "brief": "get B channel std_dev", + "return": "return B channel std_dev, type is int", + "maixpy": "maix.image.Statistics.b_std_dev", + "py_doc": "get B channel std_dev\n\nReturns: return B channel std_dev, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int b_std_dev()" + }, + "b_min": { + "type": "func", + "name": "b_min", + "doc": { + "brief": "get B channel min", + "return": "return B channel min, type is int", + "maixpy": "maix.image.Statistics.b_min", + "py_doc": "get B channel min\n\nReturns: return B channel min, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int b_min()" + }, + "b_max": { + "type": "func", + "name": "b_max", + "doc": { + "brief": "get B channel max", + "return": "return B channel max, type is int", + "maixpy": "maix.image.Statistics.b_max", + "py_doc": "get B channel max\n\nReturns: return B channel max, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int b_max()" + }, + "b_lq": { + "type": "func", + "name": "b_lq", + "doc": { + "brief": "get B channel lq", + "return": "return B channel lq, type is int", + "maixpy": "maix.image.Statistics.b_lq", + "py_doc": "get B channel lq\n\nReturns: return B channel lq, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int b_lq()" + }, + "b_uq": { + "type": "func", + "name": "b_uq", + "doc": { + "brief": "get B channel uq", + "return": "return B channel uq, type is int", + "maixpy": "maix.image.Statistics.b_uq", + "py_doc": "get B channel uq\n\nReturns: return B channel uq, type is int\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int b_uq()" + } + }, + "def": "class Statistics" + }, + "Displacement": { + "type": "class", + "name": "Displacement", + "doc": { + "brief": "Displacement class", + "maixpy": "maix.image.Displacement", + "py_doc": "Displacement class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Displacement", + "doc": { + "brief": "Displacement constructor", + "param": { + "x_translation": "The x_translation of the Displacement", + "y_translation": "The y_translation of the Displacement", + "rotation": "The rotation of the Displacement", + "scale": "The scale of the Displacement", + "response": "The response of the Displacement" + }, + "maixpy": "maix.image.Displacement.__init__", + "py_doc": "Displacement constructor\n\nArgs:\n - x_translation: The x_translation of the Displacement\n - y_translation: The y_translation of the Displacement\n - rotation: The rotation of the Displacement\n - scale: The scale of the Displacement\n - response: The response of the Displacement\n" + }, + "args": [ + [ + "float", + "x_translation", + null + ], + [ + "float", + "y_translation", + null + ], + [ + "float", + "rotation", + null + ], + [ + "float", + "scale", + null + ], + [ + "float", + "response", + null + ] + ], + "ret_type": null, + "static": false, + "def": "Displacement(float x_translation, float y_translation, float rotation, float scale, float response)" + }, + "x_translation": { + "type": "func", + "name": "x_translation", + "doc": { + "brief": "get x_translation of Displacement", + "return": "return x_translation of the Displacement, type is float", + "maixpy": "maix.image.Displacement.x_translation", + "py_doc": "get x_translation of Displacement\n\nReturns: return x_translation of the Displacement, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float x_translation()" + }, + "y_translation": { + "type": "func", + "name": "y_translation", + "doc": { + "brief": "get y_translation of Displacement", + "return": "return y_translation of the Displacement, type is float", + "maixpy": "maix.image.Displacement.y_translation", + "py_doc": "get y_translation of Displacement\n\nReturns: return y_translation of the Displacement, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float y_translation()" + }, + "rotation": { + "type": "func", + "name": "rotation", + "doc": { + "brief": "get rotation of Displacement", + "return": "return rotation of the Displacement, type is float", + "maixpy": "maix.image.Displacement.rotation", + "py_doc": "get rotation of Displacement\n\nReturns: return rotation of the Displacement, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float rotation()" + }, + "scale": { + "type": "func", + "name": "scale", + "doc": { + "brief": "get scale of Displacement", + "return": "return scale of the Displacement, type is float", + "maixpy": "maix.image.Displacement.scale", + "py_doc": "get scale of Displacement\n\nReturns: return scale of the Displacement, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float scale()" + }, + "response": { + "type": "func", + "name": "response", + "doc": { + "brief": "get response of Displacement", + "return": "return response of the Displacement, type is float", + "maixpy": "maix.image.Displacement.response", + "py_doc": "get response of Displacement\n\nReturns: return response of the Displacement, type is float\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float response()" + } + }, + "def": "class Displacement" + }, + "LBPKeyPoint": { + "type": "class", + "name": "LBPKeyPoint", + "doc": { + "brief": "LBPKeyPoint class", + "maixpy": "maix.image.LBPKeyPoint", + "py_doc": "LBPKeyPoint class" + }, + "members": { + "__init__": { + "type": "func", + "name": "LBPKeyPoint", + "doc": { + "brief": "LBPKeyPoint constructor", + "param": { + "data": "The data of the LBPKeyPoint" + }, + "maixpy": "maix.image.LBPKeyPoint.__init__", + "py_doc": "LBPKeyPoint constructor\n\nArgs:\n - data: The data of the LBPKeyPoint\n" + }, + "args": [ + [ + "std::valarray &", + "data", + null + ] + ], + "ret_type": null, + "static": false, + "def": "LBPKeyPoint(std::valarray &data)" + } + }, + "def": "class LBPKeyPoint" + }, + "KeyPoint": { + "type": "class", + "name": "KeyPoint", + "doc": { + "brief": "KeyPoint class", + "maixpy": "maix.image.KeyPoint", + "py_doc": "KeyPoint class" + }, + "members": { + "__init__": { + "type": "func", + "name": "KeyPoint", + "doc": { + "brief": "KeyPoint constructor", + "param": { + "x": "The x of the KeyPoint", + "y": "The y of the KeyPoint", + "score": "The score of the KeyPoint", + "octave": "The octave of the KeyPoint", + "angle": "The angle of the KeyPoint", + "matched": "The matched of the KeyPoint", + "desc": "The desc of the KeyPoint" + }, + "maixpy": "maix.image.KeyPoint.__init__", + "py_doc": "KeyPoint constructor\n\nArgs:\n - x: The x of the KeyPoint\n - y: The y of the KeyPoint\n - score: The score of the KeyPoint\n - octave: The octave of the KeyPoint\n - angle: The angle of the KeyPoint\n - matched: The matched of the KeyPoint\n - desc: The desc of the KeyPoint\n" + }, + "args": [ + [ + "uint16_t", + "x", + null + ], + [ + "uint16_t", + "y", + null + ], + [ + "uint16_t", + "score", + null + ], + [ + "uint16_t", + "octave", + null + ], + [ + "uint16_t", + "angle", + null + ], + [ + "uint16_t", + "matched", + null + ], + [ + "std::vector &", + "desc", + null + ] + ], + "ret_type": null, + "static": false, + "def": "KeyPoint(uint16_t x, uint16_t y, uint16_t score, uint16_t octave, uint16_t angle, uint16_t matched, std::vector &desc)" + } + }, + "def": "class KeyPoint" + }, + "KPTMatch": { + "type": "class", + "name": "KPTMatch", + "doc": { + "brief": "KPTMatch class", + "maixpy": "maix.image.KPTMatch", + "py_doc": "KPTMatch class" + }, + "members": { + "__init__": { + "type": "func", + "name": "KPTMatch", + "doc": { + "brief": "KPTMatch constructor", + "param": { + "cx": "The cx of the KPTMatch", + "cy": "The cy of the KPTMatch", + "x": "The x of the KPTMatch", + "y": "The y of the KPTMatch", + "w": "The w of the KPTMatch", + "h": "The h of the KPTMatch", + "score": "The score of the KPTMatch", + "theta": "The theta of the KPTMatch", + "match": "The match of the KPTMatch" + }, + "maixpy": "maix.image.KPTMatch.__init__", + "py_doc": "KPTMatch constructor\n\nArgs:\n - cx: The cx of the KPTMatch\n - cy: The cy of the KPTMatch\n - x: The x of the KPTMatch\n - y: The y of the KPTMatch\n - w: The w of the KPTMatch\n - h: The h of the KPTMatch\n - score: The score of the KPTMatch\n - theta: The theta of the KPTMatch\n - match: The match of the KPTMatch\n" + }, + "args": [ + [ + "int", + "cx", + null + ], + [ + "int", + "cy", + null + ], + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "int", + "w", + null + ], + [ + "int", + "h", + null + ], + [ + "int", + "score", + null + ], + [ + "int", + "theta", + null + ], + [ + "int", + "match", + null + ] + ], + "ret_type": null, + "static": false, + "def": "KPTMatch(int cx, int cy, int x, int y, int w, int h, int score, int theta, int match)" + } + }, + "def": "class KPTMatch" + }, + "ORBKeyPoint": { + "type": "class", + "name": "ORBKeyPoint", + "doc": { + "brief": "ORBKeyPoint class", + "maixpy": "maix.image.ORBKeyPoint", + "py_doc": "ORBKeyPoint class" + }, + "members": { + "__init__": { + "type": "func", + "name": "ORBKeyPoint", + "doc": { + "brief": "ORBKeyPoint constructor", + "param": { + "data": "The data of the ORBKeyPoint", + "threshold": "The threshold of the ORBKeyPoint", + "normalized": "The normalized of the ORBKeyPoint" + }, + "maixpy": "maix.image.ORBKeyPoint.__init__", + "py_doc": "ORBKeyPoint constructor\n\nArgs:\n - data: The data of the ORBKeyPoint\n - threshold: The threshold of the ORBKeyPoint\n - normalized: The normalized of the ORBKeyPoint\n" + }, + "args": [ + [ + "std::vector &", + "data", + null + ], + [ + "int", + "threshold", + null + ], + [ + "bool", + "normalized", + null + ] + ], + "ret_type": null, + "static": false, + "def": "ORBKeyPoint(std::vector &data, int threshold, bool normalized)" + }, + "get_data": { + "type": "func", + "name": "get_data", + "doc": { + "brief": "get data of ORBKeyPoint", + "return": "return data of the ORBKeyPoint, type is std::vector", + "maixpy": "maix.image.ORBKeyPoint.get_data", + "py_doc": "get data of ORBKeyPoint\n\nReturns: return data of the ORBKeyPoint, type is std::vector\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector get_data()" + } + }, + "def": "class ORBKeyPoint" + }, + "HaarCascade": { + "type": "class", + "name": "HaarCascade", + "doc": { + "brief": "HaarCascade class", + "maixpy": "maix.image.HaarCascade", + "py_doc": "HaarCascade class" + }, + "members": { + "__init__": { + "type": "func", + "name": "HaarCascade", + "doc": { + "brief": "HaarCascade constructor", + "param": { + "data": "The data of the HaarCascade", + "threshold": "The threshold of the HaarCascade", + "normalized": "The normalized of the HaarCascade" + }, + "maixpy": "maix.image.HaarCascade.__init__", + "py_doc": "HaarCascade constructor\n\nArgs:\n - data: The data of the HaarCascade\n - threshold: The threshold of the HaarCascade\n - normalized: The normalized of the HaarCascade\n" + }, + "args": [], + "ret_type": null, + "static": false, + "def": "HaarCascade()" + } + }, + "def": "class HaarCascade" + }, + "Color": { + "type": "class", + "name": "Color", + "doc": { + "brief": "Color class", + "maixpy": "maix.image.Color", + "py_doc": "Color class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Color", + "doc": { + "brief": "Color constructor", + "param": { + "alpha": "alpha channel, value range: 0 ~ 1" + }, + "maixpy": "maix.image.Color.__init__", + "py_doc": "Color constructor\n\nArgs:\n - alpha: alpha channel, value range: 0 ~ 1\n" + }, + "args": [ + [ + "uint8_t", + "ch1", + null + ], + [ + "uint8_t", + "ch2", + "0" + ], + [ + "uint8_t", + "ch3", + "0" + ], + [ + "float", + "alpha", + "0" + ], + [ + "image::Format", + "format", + "image::FMT_GRAYSCALE" + ] + ], + "ret_type": null, + "static": false, + "def": "Color(uint8_t ch1, uint8_t ch2 = 0, uint8_t ch3 = 0, float alpha = 0, image::Format format = image::FMT_GRAYSCALE)" + }, + "r": { + "type": "var", + "name": "r", + "doc": { + "brief": "Color red channel", + "maixpy": "maix.image.Color.r", + "py_doc": "Color red channel" + }, + "value": null, + "static": false, + "readonly": false, + "def": "uint8_t r" + }, + "g": { + "type": "var", + "name": "g", + "doc": { + "brief": "Color green channel", + "maixpy": "maix.image.Color.g", + "py_doc": "Color green channel" + }, + "value": null, + "static": false, + "readonly": false, + "def": "uint8_t g" + }, + "b": { + "type": "var", + "name": "b", + "doc": { + "brief": "Color blue channel", + "maixpy": "maix.image.Color.b", + "py_doc": "Color blue channel" + }, + "value": null, + "static": false, + "readonly": false, + "def": "uint8_t b" + }, + "alpha": { + "type": "var", + "name": "alpha", + "doc": { + "brief": "Color alpha channel, value from 0.0 to 1.0, float value", + "maixpy": "maix.image.Color.alpha", + "py_doc": "Color alpha channel, value from 0.0 to 1.0, float value" + }, + "value": null, + "static": false, + "readonly": false, + "def": "float alpha" + }, + "gray": { + "type": "var", + "name": "gray", + "doc": { + "brief": "Color gray channel", + "maixpy": "maix.image.Color.gray", + "py_doc": "Color gray channel" + }, + "value": null, + "static": false, + "readonly": false, + "def": "uint8_t gray" + }, + "format": { + "type": "var", + "name": "format", + "doc": { + "brief": "Color format", + "maixpy": "maix.image.Color.format", + "py_doc": "Color format" + }, + "value": null, + "static": false, + "readonly": false, + "def": "image::Format format" + }, + "hex": { + "type": "func", + "name": "hex", + "doc": { + "brief": "Get color's hex value", + "maixpy": "maix.image.Color.hex", + "py_doc": "Get color's hex value" + }, + "args": [], + "ret_type": "uint32_t", + "static": false, + "def": "uint32_t hex()" + }, + "from_rgb": { + "type": "func", + "name": "from_rgb", + "doc": { + "brief": "Create Color object from RGB channels", + "maixpy": "maix.image.Color.from_rgb", + "py_doc": "Create Color object from RGB channels" + }, + "args": [ + [ + "uint8_t", + "r", + null + ], + [ + "uint8_t", + "g", + null + ], + [ + "uint8_t", + "b", + null + ] + ], + "ret_type": "image::Color", + "static": true, + "def": "static image::Color from_rgb(uint8_t r, uint8_t g, uint8_t b)" + }, + "from_bgr": { + "type": "func", + "name": "from_bgr", + "doc": { + "brief": "Create Color object from BGR channels", + "maixpy": "maix.image.Color.from_bgr", + "py_doc": "Create Color object from BGR channels" + }, + "args": [ + [ + "uint8_t", + "b", + null + ], + [ + "uint8_t", + "g", + null + ], + [ + "uint8_t", + "r", + null + ] + ], + "ret_type": "image::Color", + "static": true, + "def": "static image::Color from_bgr(uint8_t b, uint8_t g, uint8_t r)" + }, + "from_gray": { + "type": "func", + "name": "from_gray", + "doc": { + "brief": "Create Color object from gray channel", + "maixpy": "maix.image.Color.from_gray", + "py_doc": "Create Color object from gray channel" + }, + "args": [ + [ + "uint8_t", + "gray", + null + ] + ], + "ret_type": "image::Color", + "static": true, + "def": "static image::Color from_gray(uint8_t gray)" + }, + "from_rgba": { + "type": "func", + "name": "from_rgba", + "doc": { + "brief": "Create Color object from RGBA channels", + "param": { + "alpha": "alpha channel, float value, value range: 0 ~ 1" + }, + "maixpy": "maix.image.Color.from_rgba", + "py_doc": "Create Color object from RGBA channels\n\nArgs:\n - alpha: alpha channel, float value, value range: 0 ~ 1\n" + }, + "args": [ + [ + "uint8_t", + "r", + null + ], + [ + "uint8_t", + "g", + null + ], + [ + "uint8_t", + "b", + null + ], + [ + "float", + "alpha", + null + ] + ], + "ret_type": "image::Color", + "static": true, + "def": "static image::Color from_rgba(uint8_t r, uint8_t g, uint8_t b, float alpha)" + }, + "from_bgra": { + "type": "func", + "name": "from_bgra", + "doc": { + "brief": "Create Color object from BGRA channels", + "param": { + "alpha": "alpha channel, float value, value range: 0 ~ 1" + }, + "maixpy": "maix.image.Color.from_bgra", + "py_doc": "Create Color object from BGRA channels\n\nArgs:\n - alpha: alpha channel, float value, value range: 0 ~ 1\n" + }, + "args": [ + [ + "uint8_t", + "b", + null + ], + [ + "uint8_t", + "g", + null + ], + [ + "uint8_t", + "r", + null + ], + [ + "float", + "alpha", + null + ] + ], + "ret_type": "image::Color", + "static": true, + "def": "static image::Color from_bgra(uint8_t b, uint8_t g, uint8_t r, float alpha)" + }, + "from_hex": { + "type": "func", + "name": "from_hex", + "doc": { + "brief": "Create Color object from hex value", + "param": { + "hex": "hex value, e.g. 0x0000FF00, lower address if first channel", + "format": "color format, @see image::Format" + }, + "maixpy": "maix.image.Color.from_hex", + "py_doc": "Create Color object from hex value\n\nArgs:\n - hex: hex value, e.g. 0x0000FF00, lower address if first channel\n - format: color format, @see image::Format\n" + }, + "args": [ + [ + "uint32_t", + "hex", + null + ], + [ + "image::Format &", + "format", + null + ] + ], + "ret_type": "image::Color", + "static": true, + "def": "static image::Color from_hex(uint32_t hex, image::Format &format)" + }, + "to_format": { + "type": "func", + "name": "to_format", + "doc": { + "brief": "Convert Color format", + "param": { + "format": "format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE." + }, + "maixpy": "maix.image.Color.to_format", + "py_doc": "Convert Color format\n\nArgs:\n - format: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE.\n" + }, + "args": [ + [ + "const image::Format &", + "format", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void to_format(const image::Format &format)" + }, + "to_format2": { + "type": "func", + "name": "to_format2", + "doc": { + "brief": "Convert color format and return a new Color object", + "param": { + "format": "format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE." + }, + "return": "new Color object, you need to delete it manually in C++.", + "maixpy": "maix.image.Color.to_format2", + "py_doc": "Convert color format and return a new Color object\n\nArgs:\n - format: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE.\n\n\nReturns: new Color object, you need to delete it manually in C++.\n" + }, + "args": [ + [ + "const image::Format &", + "format", + null + ] + ], + "ret_type": "image::Color*", + "static": false, + "def": "image::Color *to_format2(const image::Format &format)" + } + }, + "def": "class Color" + }, + "COLOR_WHITE": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color white", + "maixpy": "maix.image.COLOR_WHITE", + "py_doc": "Predefined color white" + }, + "value": "image::Color::from_rgb(255, 255, 255)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_WHITE = image::Color::from_rgb(255, 255, 255)" + }, + "COLOR_BLACK": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color black", + "maixpy": "maix.image.COLOR_BLACK", + "py_doc": "Predefined color black" + }, + "value": "image::Color::from_rgb(0, 0, 0)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_BLACK = image::Color::from_rgb(0, 0, 0)" + }, + "COLOR_RED": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color red", + "maixpy": "maix.image.COLOR_RED", + "py_doc": "Predefined color red" + }, + "value": "image::Color::from_rgb(255, 0, 0)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_RED = image::Color::from_rgb(255, 0, 0)" + }, + "COLOR_GREEN": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color green", + "maixpy": "maix.image.COLOR_GREEN", + "py_doc": "Predefined color green" + }, + "value": "image::Color::from_rgb(0, 255, 0)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_GREEN = image::Color::from_rgb(0, 255, 0)" + }, + "COLOR_BLUE": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color blue", + "maixpy": "maix.image.COLOR_BLUE", + "py_doc": "Predefined color blue" + }, + "value": "image::Color::from_rgb(0, 0, 255)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_BLUE = image::Color::from_rgb(0, 0, 255)" + }, + "COLOR_YELLOW": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color yellow", + "maixpy": "maix.image.COLOR_YELLOW", + "py_doc": "Predefined color yellow" + }, + "value": "image::Color::from_rgb(255, 255, 0)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_YELLOW = image::Color::from_rgb(255, 255, 0)" + }, + "COLOR_PURPLE": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color purple", + "maixpy": "maix.image.COLOR_PURPLE", + "py_doc": "Predefined color purple" + }, + "value": "image::Color::from_rgb(143, 0, 255)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_PURPLE = image::Color::from_rgb(143, 0, 255)" + }, + "COLOR_ORANGE": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color orange", + "maixpy": "maix.image.COLOR_ORANGE", + "py_doc": "Predefined color orange" + }, + "value": "image::Color::from_rgb(255, 127, 0)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_ORANGE = image::Color::from_rgb(255, 127, 0)" + }, + "COLOR_GRAY": { + "type": "var", + "name": "", + "doc": { + "brief": "Predefined color gray", + "maixpy": "maix.image.COLOR_GRAY", + "py_doc": "Predefined color gray" + }, + "value": "image::Color::from_rgb(127, 127, 127)", + "static": false, + "readonly": true, + "def": "const image::Color COLOR_GRAY = image::Color::from_rgb(127, 127, 127)" + }, + "Image": { + "type": "class", + "name": "Image", + "doc": { + "brief": "Image class", + "maixpy": "maix.image.Image", + "py_doc": "Image class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Image", + "doc": { + "brief": "Image constructor", + "param": { + "width": "image width, should > 0", + "height": "image height, should > 0", + "format": "image format @see image::Format", + "data": "image data, if data is nullptr, will malloc memory for image data\nIf the image is in jpeg format, data must be filled in.", + "data_size": "image data size, only for compressed format like jpeg png, data_size must be filled in.", + "copy": "if true and data is not nullptr, will copy data to new buffer, else will use data directly. default is true to avoid memory leak." + }, + "maixpy": "maix.image.Image.__init__", + "py_doc": "Image constructor\n\nArgs:\n - width: image width, should > 0\n - height: image height, should > 0\n - format: image format @see image::Format\n - data: image data, if data is nullptr, will malloc memory for image data\nIf the image is in jpeg format, data must be filled in.\n - data_size: image data size, only for compressed format like jpeg png, data_size must be filled in.\n - copy: if true and data is not nullptr, will copy data to new buffer, else will use data directly. default is true to avoid memory leak.\n" + }, + "args": [ + [ + "int", + "width", + null + ], + [ + "int", + "height", + null + ], + [ + "image::Format", + "format", + "image::Format::FMT_RGB888" + ], + [ + "void *", + "data", + "nullptr" + ], + [ + "int", + "data_size", + "-1" + ], + [ + "bool", + "copy", + "true" + ] + ], + "ret_type": null, + "static": false, + "def": "Image(int width, int height, image::Format format = image::Format::FMT_RGB888, void *data = nullptr, int data_size = -1, bool copy = true)" + }, + "format": { + "type": "func", + "name": "format", + "doc": { + "brief": "Get image's format", + "see": "image.Format", + "maixpy": "maix.image.Image.format", + "py_doc": "Get image's format" + }, + "args": [], + "ret_type": "image::Format", + "static": false, + "def": "image::Format format()" + }, + "size": { + "type": "func", + "name": "size", + "doc": { + "brief": "Get image's size, [width, height]", + "maixpy": "maix.image.Image.size", + "py_doc": "Get image's size, [width, height]" + }, + "args": [], + "ret_type": "image::Size", + "static": false, + "def": "image::Size size()" + }, + "data_size": { + "type": "func", + "name": "data_size", + "doc": { + "brief": "Get image's data size", + "maixpy": "maix.image.Image.data_size", + "py_doc": "Get image's data size" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int data_size()" + }, + "width": { + "type": "func", + "name": "width", + "doc": { + "brief": "Get image's width", + "maixpy": "maix.image.Image.width", + "py_doc": "Get image's width" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int width()" + }, + "height": { + "type": "func", + "name": "height", + "doc": { + "brief": "Get image's height", + "maixpy": "maix.image.Image.height", + "py_doc": "Get image's height" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int height()" + }, + "data": { + "type": "func", + "name": "data", + "doc": { + "brief": "Get image's data pointer.\\nIn MaixPy is capsule object.", + "maixpy": "maix.image.Image.data", + "py_doc": "Get image's data pointer.\nIn MaixPy is capsule object." + }, + "args": [], + "ret_type": "void*", + "static": false, + "def": "void *data()" + }, + "__str__": { + "type": "func", + "name": "__str__", + "doc": { + "brief": "To string method", + "maixpy": "maix.image.Image.__str__", + "py_doc": "To string method" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string __str__()" + }, + "to_str": { + "type": "func", + "name": "to_str", + "doc": { + "brief": "To string method", + "maixpy": "maix.image.Image.to_str", + "py_doc": "To string method" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string to_str()" + }, + "get_pixel": { + "type": "func", + "name": "get_pixel", + "doc": { + "brief": "Get pixel of image", + "param": { + "x": "pixel's coordinate x. x must less than image's width", + "y": "pixel's coordinate y. y must less than image's height", + "rgbtuple": "switch return value method. rgbtuple decides whether to split the return or not. default is false." + }, + "return": "pixel value,\nAccording to image format and rgbtuple, return different value:\nformat is FMT_RGB888, rgbtuple is true, return [R, G, B]; rgbtuple is false, return [RGB]\nforamt is FMT_BGR888, rgbtuple is true, return [B, G, R]; rgbtuple is false, return [BGR]\nformat is FMT_GRAYSCALE, return [GRAY];", + "maixpy": "maix.image.Image.get_pixel", + "py_doc": "Get pixel of image\n\nArgs:\n - x: pixel's coordinate x. x must less than image's width\n - y: pixel's coordinate y. y must less than image's height\n - rgbtuple: switch return value method. rgbtuple decides whether to split the return or not. default is false.\n\n\nReturns: pixel value,\nAccording to image format and rgbtuple, return different value:\nformat is FMT_RGB888, rgbtuple is true, return [R, G, B]; rgbtuple is false, return [RGB]\nforamt is FMT_BGR888, rgbtuple is true, return [B, G, R]; rgbtuple is false, return [BGR]\nformat is FMT_GRAYSCALE, return [GRAY];\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "bool", + "rgbtuple", + "false" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector get_pixel(int x, int y, bool rgbtuple = false)" + }, + "set_pixel": { + "type": "func", + "name": "set_pixel", + "doc": { + "brief": "Set pixel of image", + "param": { + "x": "pixel's coordinate x. x must less than image's width", + "y": "pixel's coordinate y. y must less than image's height", + "pixel": "pixel value, according to image format and size of pixel, has different operation:\nformat is FMT_RGB888, pixel size must be 1 or 3, if size is 1, will split pixel[0] to [R, G, B]; if size is 3, will use pixel directly\nformat is FMT_BGR888, pixel size must be 1 or 3, if size is 1, will split pixel[0] to [B, G, R]; if size is 3, will use pixel directly\nformat is FMT_GRAYSCALE, pixel size must be 1, will use pixel directly" + }, + "return": "error code, Err::ERR_NONE is ok, other is error", + "maixpy": "maix.image.Image.set_pixel", + "py_doc": "Set pixel of image\n\nArgs:\n - x: pixel's coordinate x. x must less than image's width\n - y: pixel's coordinate y. y must less than image's height\n - pixel: pixel value, according to image format and size of pixel, has different operation:\nformat is FMT_RGB888, pixel size must be 1 or 3, if size is 1, will split pixel[0] to [R, G, B]; if size is 3, will use pixel directly\nformat is FMT_BGR888, pixel size must be 1 or 3, if size is 1, will split pixel[0] to [B, G, R]; if size is 3, will use pixel directly\nformat is FMT_GRAYSCALE, pixel size must be 1, will use pixel directly\n\n\nReturns: error code, Err::ERR_NONE is ok, other is error\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "std::vector", + "pixel", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err set_pixel(int x, int y, std::vector pixel)" + }, + "to_tensor": { + "type": "func", + "name": "to_tensor", + "doc": { + "brief": "Convert Image object to tensor::Tensor object", + "param": { + "chw": "if true, the shape of tensor is [C, H, W], else [H, W, C]", + "copy": "if true, will alloc memory for tensor data, else will use the memory of Image object" + }, + "return": "tensor::Tensor object pointer, an allocated tensor object", + "maixpy": "maix.image.Image.to_tensor", + "py_doc": "Convert Image object to tensor::Tensor object\n\nArgs:\n - chw: if true, the shape of tensor is [C, H, W], else [H, W, C]\n - copy: if true, will alloc memory for tensor data, else will use the memory of Image object\n\n\nReturns: tensor::Tensor object pointer, an allocated tensor object\n" + }, + "args": [ + [ + "bool", + "chw", + "false" + ], + [ + "bool", + "copy", + "true" + ] + ], + "ret_type": "tensor::Tensor*", + "static": false, + "def": "tensor::Tensor *to_tensor(bool chw = false, bool copy = true)" + }, + "to_bytes": { + "type": "func", + "name": "to_bytes", + "doc": { + "brief": "Get image's data and convert to array bytes", + "param": { + "copy": "if true, will alloc memory and copy data to new buffer,\nelse will use the memory of Image object, delete bytes object will not affect Image object\uff0c\nbut delete Image object will make bytes object invalid, it may cause program crash !!!!\nSo use this param carefully." + }, + "return": "image's data bytes, need be delete by caller in C++.", + "maixpy": "maix.image.Image.to_bytes", + "py_doc": "Get image's data and convert to array bytes\n\nArgs:\n - copy: if true, will alloc memory and copy data to new buffer,\nelse will use the memory of Image object, delete bytes object will not affect Image object\uff0c\nbut delete Image object will make bytes object invalid, it may cause program crash !!!!\nSo use this param carefully.\n\n\nReturns: image's data bytes, need be delete by caller in C++.\n" + }, + "args": [ + [ + "bool", + "copy", + "true" + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *to_bytes(bool copy = true)" + }, + "to_format": { + "type": "func", + "name": "to_format", + "doc": { + "brief": "Convert image to specific format", + "param": { + "format": "format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE, JPEG." + }, + "return": "new image object. Need be delete by caller in C++.", + "throw": "err.Exception, if two images' format not support, **or already the format**, will raise exception", + "maixpy": "maix.image.Image.to_format", + "py_doc": "Convert image to specific format\n\nArgs:\n - format: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE, JPEG.\n\n\nReturns: new image object. Need be delete by caller in C++.\n" + }, + "args": [ + [ + "const image::Format &", + "format", + null + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *to_format(const image::Format &format)" + }, + "draw_image": { + "type": "func", + "name": "draw_image", + "doc": { + "brief": "Draw image on this image", + "param": { + "x": "left top corner of image point's coordinate x", + "y": "left top corner of image point's coordinate y", + "img": "image object to draw, the caller's channel must <= the args' channel,\ne.g. caller is RGB888, args is RGBA8888, will throw exception, but caller is RGBA8888, args is RGB888 or RGBA8888 is ok" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_image", + "py_doc": "Draw image on this image\n\nArgs:\n - x: left top corner of image point's coordinate x\n - y: left top corner of image point's coordinate y\n - img: image object to draw, the caller's channel must <= the args' channel,\ne.g. caller is RGB888, args is RGBA8888, will throw exception, but caller is RGBA8888, args is RGB888 or RGBA8888 is ok\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "image::Image &", + "img", + null + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_image(int x, int y, image::Image &img)" + }, + "draw_rect": { + "type": "func", + "name": "draw_rect", + "doc": { + "brief": "Fill rectangle color to image", + "param": { + "x": "left top corner of rectangle point's coordinate x", + "y": "left top corner of rectangle point's coordinate y", + "w": "rectangle width", + "h": "rectangle height", + "color": "rectangle color", + "thickness": "rectangle thickness(line width), by default(value is 1), -1 means fill rectangle" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_rect", + "py_doc": "Fill rectangle color to image\n\nArgs:\n - x: left top corner of rectangle point's coordinate x\n - y: left top corner of rectangle point's coordinate y\n - w: rectangle width\n - h: rectangle height\n - color: rectangle color\n - thickness: rectangle thickness(line width), by default(value is 1), -1 means fill rectangle\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "int", + "w", + null + ], + [ + "int", + "h", + null + ], + [ + "const image::Color &", + "color", + null + ], + [ + "int", + "thickness", + "1" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_rect(int x, int y, int w, int h, const image::Color &color, int thickness = 1)" + }, + "draw_line": { + "type": "func", + "name": "draw_line", + "doc": { + "brief": "Draw line on image", + "param": { + "x1": "start point's coordinate x", + "y1": "start point's coordinate y", + "x2": "end point's coordinate x", + "y2": "end point's coordinate y", + "color": "line color @see image::Color", + "thickness": "line thickness(line width), by default(value is 1)" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_line", + "py_doc": "Draw line on image\n\nArgs:\n - x1: start point's coordinate x\n - y1: start point's coordinate y\n - x2: end point's coordinate x\n - y2: end point's coordinate y\n - color: line color @see image::Color\n - thickness: line thickness(line width), by default(value is 1)\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "int", + "x1", + null + ], + [ + "int", + "y1", + null + ], + [ + "int", + "x2", + null + ], + [ + "int", + "y2", + null + ], + [ + "const image::Color &", + "color", + null + ], + [ + "int", + "thickness", + "1" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_line(int x1, int y1, int x2, int y2, const image::Color &color, int thickness = 1)" + }, + "draw_circle": { + "type": "func", + "name": "draw_circle", + "doc": { + "brief": "Draw circle on image", + "param": { + "x": "circle center point's coordinate x", + "y": "circle center point's coordinate y", + "radius": "circle radius", + "color": "circle color @see image::Color", + "thickness": "circle thickness(line width), by default(value is 1), -1 means fill circle" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_circle", + "py_doc": "Draw circle on image\n\nArgs:\n - x: circle center point's coordinate x\n - y: circle center point's coordinate y\n - radius: circle radius\n - color: circle color @see image::Color\n - thickness: circle thickness(line width), by default(value is 1), -1 means fill circle\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "int", + "radius", + null + ], + [ + "const image::Color &", + "color", + null + ], + [ + "int", + "thickness", + "1" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_circle(int x, int y, int radius, const image::Color &color, int thickness = 1)" + }, + "draw_ellipse": { + "type": "func", + "name": "draw_ellipse", + "doc": { + "brief": "Draw ellipse on image", + "param": { + "x": "ellipse center point's coordinate x", + "y": "ellipse center point's coordinate y", + "a": "ellipse major axis length", + "b": "ellipse minor axis length", + "angle": "ellipse rotation angle", + "start_angle": "ellipse start angle", + "end_angle": "ellipse end angle", + "color": "ellipse color @see image::Color", + "thickness": "ellipse thickness(line width), by default(value is 1), -1 means fill ellipse" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_ellipse", + "py_doc": "Draw ellipse on image\n\nArgs:\n - x: ellipse center point's coordinate x\n - y: ellipse center point's coordinate y\n - a: ellipse major axis length\n - b: ellipse minor axis length\n - angle: ellipse rotation angle\n - start_angle: ellipse start angle\n - end_angle: ellipse end angle\n - color: ellipse color @see image::Color\n - thickness: ellipse thickness(line width), by default(value is 1), -1 means fill ellipse\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "int", + "a", + null + ], + [ + "int", + "b", + null + ], + [ + "float", + "angle", + null + ], + [ + "float", + "start_angle", + null + ], + [ + "float", + "end_angle", + null + ], + [ + "const image::Color &", + "color", + null + ], + [ + "int", + "thickness", + "1" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_ellipse(int x, int y, int a, int b, float angle, float start_angle, float end_angle, const image::Color &color, int thickness = 1)" + }, + "draw_text": { + "type": "func", + "name": "draw_text", + "doc": { + "brief": "Draw text on image", + "param": { + "x": "text left top point's coordinate x", + "y": "text left top point's coordinate y", + "text": "text content", + "color": "text color @see image::Color, default is white", + "scale": "font scale, by default(value is 1)", + "thickness": "text thickness(line width), if negative, the glyph is filled, by default(value is -1)", + "wrap": "if true, will auto wrap text to next line if text width > image width, by default(value is true)" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_text", + "py_doc": "Draw text on image\n\nArgs:\n - x: text left top point's coordinate x\n - y: text left top point's coordinate y\n - text: text content\n - color: text color @see image::Color, default is white\n - scale: font scale, by default(value is 1)\n - thickness: text thickness(line width), if negative, the glyph is filled, by default(value is -1)\n - wrap: if true, will auto wrap text to next line if text width > image width, by default(value is true)\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "const std::string &", + "text", + null + ], + [ + "const image::Color &", + "color", + "image::COLOR_WHITE" + ], + [ + "float", + "scale", + "1" + ], + [ + "int", + "thickness", + "-1" + ], + [ + "bool", + "wrap", + "true" + ], + [ + "int", + "wrap_space", + "4" + ], + [ + "const std::string &", + "font", + "\"\"" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_text(int x, int y, const std::string &text, const image::Color &color = image::COLOR_WHITE, float scale = 1, int thickness = -1,\n bool wrap = true, int wrap_space = 4, const std::string &font = \"\")" + }, + "draw_arrow": { + "type": "func", + "name": "draw_arrow", + "doc": { + "brief": "Draw arrow on image", + "param": { + "x0": "start coordinate of the arrow x0", + "y0": "start coordinate of the arrow y0", + "x1": "end coordinate of the arrow x1", + "y1": "end coordinate of the arrow y1", + "color": "cross color @see image::Color", + "thickness": "cross thickness(line width), by default(value is 1)" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_arrow", + "py_doc": "Draw arrow on image\n\nArgs:\n - x0: start coordinate of the arrow x0\n - y0: start coordinate of the arrow y0\n - x1: end coordinate of the arrow x1\n - y1: end coordinate of the arrow y1\n - color: cross color @see image::Color\n - thickness: cross thickness(line width), by default(value is 1)\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "int", + "x0", + null + ], + [ + "int", + "y0", + null + ], + [ + "int", + "x1", + null + ], + [ + "int", + "y1", + null + ], + [ + "const image::Color &", + "color", + null + ], + [ + "int", + "thickness", + "1" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_arrow(int x0, int y0, int x1, int y1, const image::Color &color, int thickness = 1)" + }, + "draw_edges": { + "type": "func", + "name": "draw_edges", + "doc": { + "brief": "Draw edges on image", + "param": { + "corners": "edges, [[x0, y0], [x1, y1], [x2, y2], [x3, y3]]", + "color": "edges color @see image::Color", + "size": "the circle of radius size. TODO: support in the feature", + "thickness": "edges thickness(line width), by default(value is 1)", + "fill": "if true, will fill edges, by default(value is false)" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_edges", + "py_doc": "Draw edges on image\n\nArgs:\n - corners: edges, [[x0, y0], [x1, y1], [x2, y2], [x3, y3]]\n - color: edges color @see image::Color\n - size: the circle of radius size. TODO: support in the feature\n - thickness: edges thickness(line width), by default(value is 1)\n - fill: if true, will fill edges, by default(value is false)\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "std::vector>", + "corners", + null + ], + [ + "const image::Color &", + "color", + null + ], + [ + "int", + "size", + "0" + ], + [ + "int", + "thickness", + "1" + ], + [ + "bool", + "fill", + "false" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_edges(std::vector> corners, const image::Color &color, int size = 0, int thickness = 1, bool fill = false)" + }, + "draw_keypoints": { + "type": "func", + "name": "draw_keypoints", + "doc": { + "brief": "Draw keypoints on image", + "param": { + "keypoints": "keypoints, [x, y, rotation_andle_in_degrees], TODO: rotation_andle_in_degrees support in the feature", + "color": "keypoints color @see image::Color", + "size": "size of keypoints", + "thickness": "keypoints thickness(line width), by default(value is 1)", + "fill": "if true, will fill keypoints, by default(value is false)" + }, + "return": "this image object self", + "maixpy": "maix.image.Image.draw_keypoints", + "py_doc": "Draw keypoints on image\n\nArgs:\n - keypoints: keypoints, [x, y, rotation_andle_in_degrees], TODO: rotation_andle_in_degrees support in the feature\n - color: keypoints color @see image::Color\n - size: size of keypoints\n - thickness: keypoints thickness(line width), by default(value is 1)\n - fill: if true, will fill keypoints, by default(value is false)\n\n\nReturns: this image object self\n" + }, + "args": [ + [ + "std::vector", + "keypoints", + null + ], + [ + "const image::Color &", + "color", + null + ], + [ + "int", + "size", + "10" + ], + [ + "int", + "thickness", + "1" + ], + [ + "bool", + "fill", + "false" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *draw_keypoints(std::vector keypoints, const image::Color &color, int size = 10, int thickness = 1, bool fill = false)" + }, + "resize": { + "type": "func", + "name": "resize", + "doc": { + "brief": "Resize image, will create a new resized image object", + "param": { + "width": "new width, if value is -1, will use height to calculate aspect ratio", + "height": "new height, if value is -1, will use width to calculate aspect ratio", + "object_fit": "fill, contain, cover, by default is fill", + "method": "resize method, by default is bilinear" + }, + "return": "Always return a new resized image object even size not change, So in C++ you should take care of the return value to avoid memory leak.\nAnd it's better to judge whether the size has changed before calling this function to make the program more efficient.\ne.g.\nif img->width() != width || img->height() != height:\nimg = img->resize(width, height);", + "maixpy": "maix.image.Image.resize", + "py_doc": "Resize image, will create a new resized image object\n\nArgs:\n - width: new width, if value is -1, will use height to calculate aspect ratio\n - height: new height, if value is -1, will use width to calculate aspect ratio\n - object_fit: fill, contain, cover, by default is fill\n - method: resize method, by default is bilinear\n\n\nReturns: Always return a new resized image object even size not change, So in C++ you should take care of the return value to avoid memory leak.\nAnd it's better to judge whether the size has changed before calling this function to make the program more efficient.\ne.g.\nif img->width() != width || img->height() != height:\nimg = img->resize(width, height);\n" + }, + "args": [ + [ + "int", + "width", + null + ], + [ + "int", + "height", + null + ], + [ + "image::Fit", + "object_fit", + "image::Fit::FIT_FILL" + ], + [ + "image::ResizeMethod", + "method", + "image::ResizeMethod::NEAREST" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *resize(int width, int height, image::Fit object_fit = image::Fit::FIT_FILL, image::ResizeMethod method = image::ResizeMethod::NEAREST)" + }, + "affine": { + "type": "func", + "name": "affine", + "doc": { + "brief": "Affine transform image, will create a new transformed image object", + "param": { + "src_points": "three source points, [x1, y1, x2, y2, x3, y3]", + "dst_points": "three destination points, [x1, y1, x2, y2, x3, y3]", + "width": "new width, if value is -1, will use height to calculate aspect ratio", + "height": "new height, if value is -1, will use width to calculate aspect ratio", + "method": "resize method, by default is bilinear" + }, + "return": "new transformed image object", + "maixpy": "maix.image.Image.affine", + "py_doc": "Affine transform image, will create a new transformed image object\n\nArgs:\n - src_points: three source points, [x1, y1, x2, y2, x3, y3]\n - dst_points: three destination points, [x1, y1, x2, y2, x3, y3]\n - width: new width, if value is -1, will use height to calculate aspect ratio\n - height: new height, if value is -1, will use width to calculate aspect ratio\n - method: resize method, by default is bilinear\n\n\nReturns: new transformed image object\n" + }, + "args": [ + [ + "std::vector", + "src_points", + null + ], + [ + "std::vector", + "dst_points", + null + ], + [ + "int", + "width", + "-1" + ], + [ + "int", + "height", + "-1" + ], + [ + "image::ResizeMethod", + "method", + "image::ResizeMethod::BILINEAR" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *affine(std::vector src_points, std::vector dst_points, int width = -1, int height = -1, image::ResizeMethod method = image::ResizeMethod::BILINEAR)" + }, + "copy": { + "type": "func", + "name": "copy", + "doc": { + "brief": "Copy image, will create a new copied image object", + "return": "new copied image object", + "maixpy": "maix.image.Image.copy", + "py_doc": "Copy image, will create a new copied image object\n\nReturns: new copied image object\n" + }, + "args": [], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *copy()" + }, + "crop": { + "type": "func", + "name": "crop", + "doc": { + "brief": "Crop image, will create a new cropped image object", + "param": { + "x": "left top corner of crop rectangle point's coordinate x", + "y": "left top corner of crop rectangle point's coordinate y", + "w": "crop rectangle width", + "h": "crop rectangle height" + }, + "return": "new cropped image object", + "maixpy": "maix.image.Image.crop", + "py_doc": "Crop image, will create a new cropped image object\n\nArgs:\n - x: left top corner of crop rectangle point's coordinate x\n - y: left top corner of crop rectangle point's coordinate y\n - w: crop rectangle width\n - h: crop rectangle height\n\n\nReturns: new cropped image object\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "int", + "w", + null + ], + [ + "int", + "h", + null + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *crop(int x, int y, int w, int h)" + }, + "rotate": { + "type": "func", + "name": "rotate", + "doc": { + "brief": "Rotate image, will create a new rotated image object", + "param": { + "angle": "anti-clock wise rotate angle, if angle is 90 or 270, and width or height is -1, will swap width and height, or will throw exception", + "width": "new width, if value is -1, will use height to calculate aspect ratio", + "height": "new height, if value is -1, will use width to calculate aspect ratio", + "method": "resize method, by default is bilinear" + }, + "return": "new rotated image object", + "maixpy": "maix.image.Image.rotate", + "py_doc": "Rotate image, will create a new rotated image object\n\nArgs:\n - angle: anti-clock wise rotate angle, if angle is 90 or 270, and width or height is -1, will swap width and height, or will throw exception\n - width: new width, if value is -1, will use height to calculate aspect ratio\n - height: new height, if value is -1, will use width to calculate aspect ratio\n - method: resize method, by default is bilinear\n\n\nReturns: new rotated image object\n" + }, + "args": [ + [ + "float", + "angle", + null + ], + [ + "int", + "width", + "-1" + ], + [ + "int", + "height", + "-1" + ], + [ + "image::ResizeMethod", + "method", + "image::ResizeMethod::BILINEAR" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *rotate(float angle, int width = -1, int height = -1, image::ResizeMethod method = image::ResizeMethod::BILINEAR)" + }, + "mean_pool": { + "type": "func", + "name": "mean_pool", + "doc": { + "brief": "Finds the mean of x_div * y_div squares in the image and returns the modified image composed of the mean of each square.", + "param": { + "x_div": "The width of the squares.", + "y_div": "The height of the squares.", + "copy": "Select whether to return a new image or modify the original image. default is false.\nIf true, returns a new image composed of the mean of each square; If false, returns the modified image composed of the mean of each square." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.mean_pool", + "py_doc": "Finds the mean of x_div * y_div squares in the image and returns the modified image composed of the mean of each square.\n\nArgs:\n - x_div: The width of the squares.\n - y_div: The height of the squares.\n - copy: Select whether to return a new image or modify the original image. default is false.\nIf true, returns a new image composed of the mean of each square; If false, returns the modified image composed of the mean of each square.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "x_div", + null + ], + [ + "int", + "y_div", + null + ], + [ + "bool", + "copy", + "false" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *mean_pool(int x_div, int y_div, bool copy = false)" + }, + "midpoint_pool": { + "type": "func", + "name": "midpoint_pool", + "doc": { + "brief": "Finds the midpoint of x_div * y_div squares in the image and returns the modified image composed of the mean of each square.", + "param": { + "x_div": "The width of the squares.", + "y_div": "The height of the squares.", + "bias": "The bias of the midpoint. default is 0.5.\nmidpoint value is equal to (max * bias + min * (1 - bias))", + "copy": "Select whether to return a new image or modify the original image. default is false.\nIf true, returns a new image composed of the midpoint of each square; If false, returns the modified image composed of the midpoint of each square." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.midpoint_pool", + "py_doc": "Finds the midpoint of x_div * y_div squares in the image and returns the modified image composed of the mean of each square.\n\nArgs:\n - x_div: The width of the squares.\n - y_div: The height of the squares.\n - bias: The bias of the midpoint. default is 0.5.\nmidpoint value is equal to (max * bias + min * (1 - bias))\n - copy: Select whether to return a new image or modify the original image. default is false.\nIf true, returns a new image composed of the midpoint of each square; If false, returns the modified image composed of the midpoint of each square.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "x_div", + null + ], + [ + "int", + "y_div", + null + ], + [ + "double", + "bias", + "0.5" + ], + [ + "bool", + "copy", + "false" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *midpoint_pool(int x_div, int y_div, double bias = 0.5, bool copy = false)" + }, + "compress": { + "type": "func", + "name": "compress", + "doc": { + "brief": "JPEG compresses the image in place.", + "param": { + "quality": "The quality of the compressed image. default is 95." + }, + "return": "Returns the compressed JPEG image", + "maixpy": "maix.image.Image.compress", + "py_doc": "JPEG compresses the image in place.\n\nArgs:\n - quality: The quality of the compressed image. default is 95.\n\n\nReturns: Returns the compressed JPEG image\n" + }, + "args": [ + [ + "int", + "quality", + "95" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *compress(int quality = 95)" + }, + "clear": { + "type": "func", + "name": "clear", + "doc": { + "brief": "Sets all pixels in the image to zero", + "param": { + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.clear", + "py_doc": "Sets all pixels in the image to zero\n\nArgs:\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *clear(image::Image *mask = nullptr)" + }, + "mask_rectange": { + "type": "func", + "name": "mask_rectange", + "doc": { + "brief": "Zeros a rectangular part of the image. If no arguments are supplied this method zeros the center of the image.", + "param": { + "x": "The x coordinate of the top left corner of the rectangle.", + "y": "The y coordinate of the top left corner of the rectangle.", + "w": "The width of the rectangle.", + "h": "The height of the rectangle." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.mask_rectange", + "py_doc": "Zeros a rectangular part of the image. If no arguments are supplied this method zeros the center of the image.\n\nArgs:\n - x: The x coordinate of the top left corner of the rectangle.\n - y: The y coordinate of the top left corner of the rectangle.\n - w: The width of the rectangle.\n - h: The height of the rectangle.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "x", + "-1" + ], + [ + "int", + "y", + "-1" + ], + [ + "int", + "w", + "-1" + ], + [ + "int", + "h", + "-1" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *mask_rectange(int x = -1, int y = -1, int w = -1, int h = -1)" + }, + "mask_circle": { + "type": "func", + "name": "mask_circle", + "doc": { + "brief": "Zeros a circular part of the image. If no arguments are supplied this method zeros the center of the image.", + "param": { + "x": "The x coordinate of the center of the circle.", + "y": "The y coordinate of the center of the circle.", + "radius": "The radius of the circle." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.mask_circle", + "py_doc": "Zeros a circular part of the image. If no arguments are supplied this method zeros the center of the image.\n\nArgs:\n - x: The x coordinate of the center of the circle.\n - y: The y coordinate of the center of the circle.\n - radius: The radius of the circle.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "x", + "-1" + ], + [ + "int", + "y", + "-1" + ], + [ + "int", + "radius", + "-1" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *mask_circle(int x = -1, int y = -1, int radius = -1)" + }, + "mask_ellipse": { + "type": "func", + "name": "mask_ellipse", + "doc": { + "brief": "Zeros a ellipse part of the image. If no arguments are supplied this method zeros the center of the image.", + "param": { + "x": "The x coordinate of the center of the ellipse.", + "y": "The y coordinate of the center of the ellipse.", + "radius_x": "The radius of the ellipse in the x direction.", + "radius_y": "The radius of the ellipse in the y direction.", + "rotation_angle_in_degrees": "The rotation angle of the ellipse in degrees." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.mask_ellipse", + "py_doc": "Zeros a ellipse part of the image. If no arguments are supplied this method zeros the center of the image.\n\nArgs:\n - x: The x coordinate of the center of the ellipse.\n - y: The y coordinate of the center of the ellipse.\n - radius_x: The radius of the ellipse in the x direction.\n - radius_y: The radius of the ellipse in the y direction.\n - rotation_angle_in_degrees: The rotation angle of the ellipse in degrees.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "x", + "-1" + ], + [ + "int", + "y", + "-1" + ], + [ + "int", + "radius_x", + "-1" + ], + [ + "int", + "radius_y", + "-1" + ], + [ + "float", + "rotation_angle_in_degrees", + "0" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *mask_ellipse(int x = -1, int y = -1, int radius_x = -1, int radius_y = -1, float rotation_angle_in_degrees = 0)" + }, + "binary": { + "type": "func", + "name": "binary", + "doc": { + "brief": "Sets all pixels in the image to black or white depending on if the pixel is inside of a threshold in the threshold list thresholds or not.", + "param": { + "thresholds": "You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.", + "invert": "If true, the thresholds will be inverted before the operation. default is false.", + "zero": "If zero is true, the image will be set the pixels within the threshold to 0, other pixels remain unchanged. If zero is false, the image will be set to black or white. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.", + "to_bitmap": "If true, the image will be converted to a bitmap image before thresholding. default is false. TODO: support in the feature", + "copy": "Select whether to return a new image or modify the original image. default is false." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.binary", + "py_doc": "Sets all pixels in the image to black or white depending on if the pixel is inside of a threshold in the threshold list thresholds or not.\n\nArgs:\n - thresholds: You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.\n - invert: If true, the thresholds will be inverted before the operation. default is false.\n - zero: If zero is true, the image will be set the pixels within the threshold to 0, other pixels remain unchanged. If zero is false, the image will be set to black or white. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n - to_bitmap: If true, the image will be converted to a bitmap image before thresholding. default is false. TODO: support in the feature\n - copy: Select whether to return a new image or modify the original image. default is false.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "std::vector>", + "thresholds", + "std::vector>()" + ], + [ + "bool", + "invert", + "false" + ], + [ + "bool", + "zero", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ], + [ + "bool", + "to_bitmap", + "false" + ], + [ + "bool", + "copy", + "false" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *binary(std::vector> thresholds = std::vector>(), bool invert = false, bool zero = false, image::Image *mask = nullptr, bool to_bitmap = false, bool copy = false)" + }, + "invert": { + "type": "func", + "name": "invert", + "doc": { + "brief": "Inverts the image in place.", + "return": "Returns the image after the operation is completed", + "maixpy": "maix.image.Image.invert", + "py_doc": "Inverts the image in place.\n\nReturns: Returns the image after the operation is completed\n" + }, + "args": [], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *invert()" + }, + "b_and": { + "type": "func", + "name": "b_and", + "doc": { + "brief": "Performs a bitwise and operation between the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.b_and", + "py_doc": "Performs a bitwise and operation between the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *b_and(image::Image *other, image::Image *mask = nullptr)" + }, + "b_nand": { + "type": "func", + "name": "b_nand", + "doc": { + "brief": "Performs a bitwise nand operation between the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.b_nand", + "py_doc": "Performs a bitwise nand operation between the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *b_nand(image::Image *other, image::Image *mask = nullptr)" + }, + "b_or": { + "type": "func", + "name": "b_or", + "doc": { + "brief": "Performs a bitwise or operation between the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.b_or", + "py_doc": "Performs a bitwise or operation between the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *b_or(image::Image *other, image::Image *mask = nullptr)" + }, + "b_nor": { + "type": "func", + "name": "b_nor", + "doc": { + "brief": "Performs a bitwise nor operation between the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.b_nor", + "py_doc": "Performs a bitwise nor operation between the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *b_nor(image::Image *other, image::Image *mask = nullptr)" + }, + "b_xor": { + "type": "func", + "name": "b_xor", + "doc": { + "brief": "Performs a bitwise xor operation between the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.b_xor", + "py_doc": "Performs a bitwise xor operation between the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *b_xor(image::Image *other, image::Image *mask = nullptr)" + }, + "b_xnor": { + "type": "func", + "name": "b_xnor", + "doc": { + "brief": "Performs a bitwise xnor operation between the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.b_xnor", + "py_doc": "Performs a bitwise xnor operation between the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *b_xnor(image::Image *other, image::Image *mask = nullptr)" + }, + "awb": { + "type": "func", + "name": "awb", + "doc": { + "brief": "Performs an auto white balance operation on the image. TODO: support in the feature", + "param": { + "max": "if True uses the white-patch algorithm instead. default is false." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.awb", + "py_doc": "Performs an auto white balance operation on the image. TODO: support in the feature\n\nArgs:\n - max: if True uses the white-patch algorithm instead. default is false.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "bool", + "max", + "false" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *awb(bool max = false)" + }, + "ccm": { + "type": "func", + "name": "ccm", + "doc": { + "brief": "Multiples the passed (3x3) or (4x3) floating-point color-correction-matrix with the image.\\nnote: Grayscale format is not support.", + "param": { + "matrix": "The color correction matrix to use. 3x3 or 4x3 matrix.\nWeights may either be positive or negative, and the sum of each column in the 3x3 matrix should generally be 1.\nexample:\n{\n1, 0, 0,\n0, 1, 0,\n0, 0, 1,\n}\nWhere the last row of the 4x3 matrix is an offset per color channel. If you add an offset you may wish to make the\nweights sum to less than 1 to account for the offset.\nexample:\n{\n1, 0, 0,\n0, 1, 0,\n0, 0, 1,\n0, 0, 0,\n}" + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.ccm", + "py_doc": "Multiples the passed (3x3) or (4x3) floating-point color-correction-matrix with the image.\nnote: Grayscale format is not support.\n\nArgs:\n - matrix: The color correction matrix to use. 3x3 or 4x3 matrix.\nWeights may either be positive or negative, and the sum of each column in the 3x3 matrix should generally be 1.\nexample:\n{\n1, 0, 0,\n0, 1, 0,\n0, 0, 1,\n}\nWhere the last row of the 4x3 matrix is an offset per color channel. If you add an offset you may wish to make the\nweights sum to less than 1 to account for the offset.\nexample:\n{\n1, 0, 0,\n0, 1, 0,\n0, 0, 1,\n0, 0, 0,\n}\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "std::vector &", + "matrix", + null + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *ccm(std::vector &matrix)" + }, + "gamma": { + "type": "func", + "name": "gamma", + "doc": { + "brief": "Quickly changes the image gamma, contrast, and brightness. Create a array whose size is usually 255,\\nand use the parameters gamma, contrast, and brightness to calculate the value of the array, and then map the\\nimage pixel value through the value of the array.\\nThe calculation method for array is: array[array_idx] = (powf((array_idx / 255.0), (1 / gamma)) * contrast + brightness) * scale,\\n`powf` is a function used to calculate floating point power.\\n`array` is the array used for mapping.\\n`array_idx` is the index of the array, the maximum value is determined according to the image format, usually 255.\\n`scale` is a constant, the value is determined by the image format, usually 255.\\nMapping method:\\nAssume that a pixel value in the image is 128, then map the pixel value to the value of array[128]\\nUsers can adjust the value of the array through the gamma, contrast, and brightness parameters.", + "param": { + "gamma": "The contrast gamma greater than 1.0 makes the image darker in a non-linear manner while less than 1.0 makes the image brighter. default is 1.0.", + "contrast": "The contrast value greater than 1.0 makes the image brighter in a linear manner while less than 1.0 makes the image darker. default is 1.0.", + "brightness": "The brightness value greater than 0.0 makes the image brighter in a constant manner while less than 0.0 makes the image darker. default is 0.0." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.gamma", + "py_doc": "Quickly changes the image gamma, contrast, and brightness. Create a array whose size is usually 255,\nand use the parameters gamma, contrast, and brightness to calculate the value of the array, and then map the\nimage pixel value through the value of the array.\nThe calculation method for array is: array[array_idx] = (powf((array_idx / 255.0), (1 / gamma)) * contrast + brightness) * scale,\n`powf` is a function used to calculate floating point power.\n`array` is the array used for mapping.\n`array_idx` is the index of the array, the maximum value is determined according to the image format, usually 255.\n`scale` is a constant, the value is determined by the image format, usually 255.\nMapping method:\nAssume that a pixel value in the image is 128, then map the pixel value to the value of array[128]\nUsers can adjust the value of the array through the gamma, contrast, and brightness parameters.\n\nArgs:\n - gamma: The contrast gamma greater than 1.0 makes the image darker in a non-linear manner while less than 1.0 makes the image brighter. default is 1.0.\n - contrast: The contrast value greater than 1.0 makes the image brighter in a linear manner while less than 1.0 makes the image darker. default is 1.0.\n - brightness: The brightness value greater than 0.0 makes the image brighter in a constant manner while less than 0.0 makes the image darker. default is 0.0.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "double", + "gamma", + "1.0" + ], + [ + "double", + "contrast", + "1.0" + ], + [ + "double", + "brightness", + "0.0" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *gamma(double gamma = 1.0, double contrast = 1.0, double brightness = 0.0)" + }, + "gamma_corr": { + "type": "func", + "name": "gamma_corr", + "doc": { + "brief": "Alias for Image.gamma.", + "param": { + "gamma": "The contrast gamma greater than 1.0 makes the image darker in a non-linear manner while less than 1.0 makes the image brighter. default is 1.0.", + "contrast": "The contrast value greater than 1.0 makes the image brighter in a linear manner while less than 1.0 makes the image darker. default is 1.0.", + "brightness": "The brightness value greater than 0.0 makes the image brighter in a constant manner while less than 0.0 makes the image darker. default is 0.0." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.gamma_corr", + "py_doc": "Alias for Image.gamma.\n\nArgs:\n - gamma: The contrast gamma greater than 1.0 makes the image darker in a non-linear manner while less than 1.0 makes the image brighter. default is 1.0.\n - contrast: The contrast value greater than 1.0 makes the image brighter in a linear manner while less than 1.0 makes the image darker. default is 1.0.\n - brightness: The brightness value greater than 0.0 makes the image brighter in a constant manner while less than 0.0 makes the image darker. default is 0.0.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "double", + "gamma", + null + ], + [ + "double", + "contrast", + "1.0" + ], + [ + "double", + "brightness", + "0.0" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *gamma_corr(double gamma, double contrast = 1.0, double brightness = 0.0)" + }, + "negate": { + "type": "func", + "name": "negate", + "doc": { + "brief": "Flips (numerically inverts) all pixels values in an image", + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.negate", + "py_doc": "Flips (numerically inverts) all pixels values in an image\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *negate()" + }, + "replace": { + "type": "func", + "name": "replace", + "doc": { + "brief": "Replaces all pixels in the image with the corresponding pixels in the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on.", + "hmirror": "If true, the image will be horizontally mirrored before the operation. default is false.", + "vflip": "If true, the image will be vertically flipped before the operation. default is false.", + "transpose": "If true, the image can be used to rotate 90 degrees or 270 degrees.\nhmirror = false, vflip = false, transpose = false, the image will not be rotated.\nhmirror = false, vflip = true, transpose = true, the image will be rotated 90 degrees.\nhmirror = true, vflip = true, transpose = false, the image will be rotated 180 degrees.\nhmirror = true, vflip = false, transpose = true, the image will be rotated 270 degrees.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.replace", + "py_doc": "Replaces all pixels in the image with the corresponding pixels in the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on.\n - hmirror: If true, the image will be horizontally mirrored before the operation. default is false.\n - vflip: If true, the image will be vertically flipped before the operation. default is false.\n - transpose: If true, the image can be used to rotate 90 degrees or 270 degrees.\nhmirror = false, vflip = false, transpose = false, the image will not be rotated.\nhmirror = false, vflip = true, transpose = true, the image will be rotated 90 degrees.\nhmirror = true, vflip = true, transpose = false, the image will be rotated 180 degrees.\nhmirror = true, vflip = false, transpose = true, the image will be rotated 270 degrees.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + "nullptr" + ], + [ + "bool", + "hmirror", + "false" + ], + [ + "bool", + "vflip", + "false" + ], + [ + "bool", + "transpose", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *replace(image::Image *other = nullptr, bool hmirror = false, bool vflip = false, bool transpose = false, image::Image *mask = nullptr)" + }, + "set": { + "type": "func", + "name": "set", + "doc": { + "brief": "Alias for Image::replace.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on.", + "hmirror": "If true, the image will be horizontally mirrored before the operation. default is false.", + "vflip": "If true, the image will be vertically flipped before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.set", + "py_doc": "Alias for Image::replace.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on.\n - hmirror: If true, the image will be horizontally mirrored before the operation. default is false.\n - vflip: If true, the image will be vertically flipped before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "bool", + "hmirror", + "false" + ], + [ + "bool", + "vflip", + "false" + ], + [ + "bool", + "transpose", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *set(image::Image *other, bool hmirror = false, bool vflip = false, bool transpose = false, image::Image *mask = nullptr)" + }, + "add": { + "type": "func", + "name": "add", + "doc": { + "brief": "Adds the other image to the image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.add", + "py_doc": "Adds the other image to the image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *add(image::Image *other, image::Image *mask = nullptr)" + }, + "sub": { + "type": "func", + "name": "sub", + "doc": { + "brief": "Subtracts the other image from the image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "reverse": "If true, the image will be reversed before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.sub", + "py_doc": "Subtracts the other image from the image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - reverse: If true, the image will be reversed before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "bool", + "reverse", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *sub(image::Image *other, bool reverse = false, image::Image *mask = nullptr)" + }, + "mul": { + "type": "func", + "name": "mul", + "doc": { + "brief": "Multiplies the image by the other image.\\nNote: This method is meant for image blending and cannot multiply the pixels in the image by a scalar like 2.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "invert": "If true, the image will be change the multiplication operation from a*b to 1/((1/a)*(1/b)).\nIn particular, this lightens the image instead of darkening it (e.g. multiply versus burn operations). default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.mul", + "py_doc": "Multiplies the image by the other image.\nNote: This method is meant for image blending and cannot multiply the pixels in the image by a scalar like 2.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - invert: If true, the image will be change the multiplication operation from a*b to 1/((1/a)*(1/b)).\nIn particular, this lightens the image instead of darkening it (e.g. multiply versus burn operations). default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *mul(image::Image *other, bool invert = false, image::Image *mask = nullptr)" + }, + "div": { + "type": "func", + "name": "div", + "doc": { + "brief": "Divides the image by the other image.\\nThis method is meant for image blending and cannot divide the pixels in the image by a scalar like 2.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on. TODO: support path?", + "invert": "If true, the image will be change the division direction from a/b to b/a. default is false.", + "mod": "If true, the image will be change the division operation to the modulus operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.div", + "py_doc": "Divides the image by the other image.\nThis method is meant for image blending and cannot divide the pixels in the image by a scalar like 2.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on. TODO: support path?\n - invert: If true, the image will be change the division direction from a/b to b/a. default is false.\n - mod: If true, the image will be change the division operation to the modulus operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "bool", + "invert", + "false" + ], + [ + "bool", + "mod", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *div(image::Image *other, bool invert = false, bool mod = false, image::Image *mask = nullptr)" + }, + "min": { + "type": "func", + "name": "min", + "doc": { + "brief": "Caculate the minimum of each pixel in the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.min", + "py_doc": "Caculate the minimum of each pixel in the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *min(image::Image *other, image::Image *mask = nullptr)" + }, + "max": { + "type": "func", + "name": "max", + "doc": { + "brief": "Caculate the maximum of each pixel in the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.max", + "py_doc": "Caculate the maximum of each pixel in the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *max(image::Image *other, image::Image *mask = nullptr)" + }, + "difference": { + "type": "func", + "name": "difference", + "doc": { + "brief": "Caculate the absolute value of the difference between each pixel in the image and the other image.", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.difference", + "py_doc": "Caculate the absolute value of the difference between each pixel in the image and the other image.\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *difference(image::Image *other, image::Image *mask = nullptr)" + }, + "blend": { + "type": "func", + "name": "blend", + "doc": { + "brief": "Blends the image with the other image.\\nres = alpha * this_img / 256 + (256 - alpha) * other_img / 256", + "param": { + "other": "The other image should be an image and should be the same size as the image being operated on.", + "alpha": "The alpha value of the blend, the value range is [0, 256],default is 128.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.blend", + "py_doc": "Blends the image with the other image.\nres = alpha * this_img / 256 + (256 - alpha) * other_img / 256\n\nArgs:\n - other: The other image should be an image and should be the same size as the image being operated on.\n - alpha: The alpha value of the blend, the value range is [0, 256],default is 128.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "image::Image *", + "other", + null + ], + [ + "int", + "alpha", + "128" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *blend(image::Image *other, int alpha = 128, image::Image *mask = nullptr)" + }, + "histeq": { + "type": "func", + "name": "histeq", + "doc": { + "brief": "Runs the histogram equalization algorithm on the image.", + "param": { + "adaptive": "If true, an adaptive histogram equalization method will be run on the image instead which as generally better results than non-adaptive histogram qualization but a longer run time. default is false.", + "clip_limit": "Provides a way to limit the contrast of the adaptive histogram qualization. Use a small value for this, like 10, to produce good histogram equalized contrast limited images. default is -1.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.histeq", + "py_doc": "Runs the histogram equalization algorithm on the image.\n\nArgs:\n - adaptive: If true, an adaptive histogram equalization method will be run on the image instead which as generally better results than non-adaptive histogram qualization but a longer run time. default is false.\n - clip_limit: Provides a way to limit the contrast of the adaptive histogram qualization. Use a small value for this, like 10, to produce good histogram equalized contrast limited images. default is -1.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "bool", + "adaptive", + "false" + ], + [ + "int", + "clip_limit", + "-1" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *histeq(bool adaptive = false, int clip_limit = -1, image::Image *mask = nullptr)" + }, + "mean": { + "type": "func", + "name": "mean", + "doc": { + "brief": "Standard mean blurring filter using a box filter.\\nThe parameters offset and invert are valid when threshold is True.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "threshold": "If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.", + "offset": "The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.mean", + "py_doc": "Standard mean blurring filter using a box filter.\nThe parameters offset and invert are valid when threshold is True.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.\n - offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.\n - invert: If true, the image will be inverted before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "bool", + "threshold", + "false" + ], + [ + "int", + "offset", + "0" + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *mean(int size, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)" + }, + "median": { + "type": "func", + "name": "median", + "doc": { + "brief": "Runs the median filter on the image. The median filter is the best filter for smoothing surfaces while preserving edges but it is very slow.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "percentile": "This parameter controls the percentile of the value used in the kernel. You can set this to 0 for a min filter, 0.25 for a lower quartile filter, 0.75 for an upper quartile filter, and 1.0 for a max filter. default is 0.5.", + "threshold": "If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.", + "offset": "The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.median", + "py_doc": "Runs the median filter on the image. The median filter is the best filter for smoothing surfaces while preserving edges but it is very slow.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - percentile: This parameter controls the percentile of the value used in the kernel. You can set this to 0 for a min filter, 0.25 for a lower quartile filter, 0.75 for an upper quartile filter, and 1.0 for a max filter. default is 0.5.\n - threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.\n - offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.\n - invert: If true, the image will be inverted before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "double", + "percentile", + "0.5" + ], + [ + "bool", + "threshold", + "false" + ], + [ + "int", + "offset", + "0" + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *median(int size, double percentile = 0.5, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)" + }, + "mode": { + "type": "func", + "name": "mode", + "doc": { + "brief": "Runs the mode filter on the image by replacing each pixel with the mode of their neighbors.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "threshold": "If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.", + "offset": "The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.mode", + "py_doc": "Runs the mode filter on the image by replacing each pixel with the mode of their neighbors.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.\n - offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.\n - invert: If true, the image will be inverted before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "bool", + "threshold", + "false" + ], + [ + "int", + "offset", + "0" + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *mode(int size, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)" + }, + "midpoint": { + "type": "func", + "name": "midpoint", + "doc": { + "brief": "Runs the midpoint filter on the image.This filter finds the midpoint (max * bias + min * (1 - bias)) of each pixel neighborhood in the image.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "bias": "The bias of the midpoint. default is 0.5.", + "threshold": "If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.", + "offset": "The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.midpoint", + "py_doc": "Runs the midpoint filter on the image.This filter finds the midpoint (max * bias + min * (1 - bias)) of each pixel neighborhood in the image.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - bias: The bias of the midpoint. default is 0.5.\n - threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.\n - offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.\n - invert: If true, the image will be inverted before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "double", + "bias", + "0.5" + ], + [ + "bool", + "threshold", + "false" + ], + [ + "int", + "offset", + "0" + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *midpoint(int size, double bias = 0.5, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)" + }, + "morph": { + "type": "func", + "name": "morph", + "doc": { + "brief": "Convolves the image by a filter kernel. This allows you to do general purpose convolutions on an image.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "kernel": "The kernel used for convolution. The kernel should be a list of lists of numbers. The kernel should be the same size as the actual kernel size.", + "mul": "This parameter is used to multiply the convolved pixel results. default is auto.", + "add": "This parameter is the value to be added to each convolution pixel result. default is 0.0.", + "threshold": "If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.", + "offset": "The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.morph", + "py_doc": "Convolves the image by a filter kernel. This allows you to do general purpose convolutions on an image.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - kernel: The kernel used for convolution. The kernel should be a list of lists of numbers. The kernel should be the same size as the actual kernel size.\n - mul: This parameter is used to multiply the convolved pixel results. default is auto.\n - add: This parameter is the value to be added to each convolution pixel result. default is 0.0.\n - threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.\n - offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.\n - invert: If true, the image will be inverted before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "std::vector", + "kernel", + null + ], + [ + "float", + "mul", + "-1" + ], + [ + "float", + "add", + "0.0" + ], + [ + "bool", + "threshold", + "false" + ], + [ + "int", + "offset", + "0" + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *morph(int size, std::vector kernel, float mul = -1, float add = 0.0, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)" + }, + "gaussian": { + "type": "func", + "name": "gaussian", + "doc": { + "brief": "Convolves the image by a smoothing guassian kernel.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "unsharp": "If true, this method will perform an unsharp mask operation instead of gaussian filtering operation, this improves the clarity of image edges. default is false.", + "mul": "This parameter is used to multiply the convolved pixel results. default is auto.", + "add": "This parameter is the value to be added to each convolution pixel result. default is 0.0.", + "threshold": "If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.", + "offset": "The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.gaussian", + "py_doc": "Convolves the image by a smoothing guassian kernel.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - unsharp: If true, this method will perform an unsharp mask operation instead of gaussian filtering operation, this improves the clarity of image edges. default is false.\n - mul: This parameter is used to multiply the convolved pixel results. default is auto.\n - add: This parameter is the value to be added to each convolution pixel result. default is 0.0.\n - threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.\n - offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.\n - invert: If true, the image will be inverted before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "bool", + "unsharp", + "false" + ], + [ + "float", + "mul", + "-1" + ], + [ + "float", + "add", + "0.0" + ], + [ + "bool", + "threshold", + "false" + ], + [ + "int", + "offset", + "0" + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *gaussian(int size, bool unsharp = false, float mul = -1, float add = 0.0, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)" + }, + "laplacian": { + "type": "func", + "name": "laplacian", + "doc": { + "brief": "Convolves the image by a edge detecting laplacian kernel.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "sharpen": "If True, this method will sharpen the image instead of an unthresholded edge detection image. Then increase the kernel size to improve image clarity. default is false.", + "mul": "This parameter is used to multiply the convolved pixel results. default is auto.", + "add": "This parameter is the value to be added to each convolution pixel result. default is 0.0.", + "threshold": "If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.", + "offset": "The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.laplacian", + "py_doc": "Convolves the image by a edge detecting laplacian kernel.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - sharpen: If True, this method will sharpen the image instead of an unthresholded edge detection image. Then increase the kernel size to improve image clarity. default is false.\n - mul: This parameter is used to multiply the convolved pixel results. default is auto.\n - add: This parameter is the value to be added to each convolution pixel result. default is 0.0.\n - threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.\n - offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.\n - invert: If true, the image will be inverted before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "bool", + "sharpen", + "false" + ], + [ + "float", + "mul", + "-1" + ], + [ + "float", + "add", + "0.0" + ], + [ + "bool", + "threshold", + "false" + ], + [ + "int", + "offset", + "0" + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *laplacian(int size, bool sharpen = false, float mul = -1, float add = 0.0, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)" + }, + "bilateral": { + "type": "func", + "name": "bilateral", + "doc": { + "brief": "Convolves the image by a bilateral filter.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "color_sigma": "Controls how closely colors are matched using the bilateral filter. default is 0.1.", + "space_sigma": "Controls how closely pixels space-wise are blurred with each other. default is 1.", + "threshold": "If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.", + "offset": "The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.bilateral", + "py_doc": "Convolves the image by a bilateral filter.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - color_sigma: Controls how closely colors are matched using the bilateral filter. default is 0.1.\n - space_sigma: Controls how closely pixels space-wise are blurred with each other. default is 1.\n - threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel\u2019s brightness in relation to the brightness of the kernel of pixels around them.\ndefault is false.\n - offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.\n - invert: If true, the image will be inverted before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "double", + "color_sigma", + "0.1" + ], + [ + "double", + "space_sigma", + "1" + ], + [ + "bool", + "threshold", + "false" + ], + [ + "int", + "offset", + "0" + ], + [ + "bool", + "invert", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *bilateral(int size, double color_sigma = 0.1, double space_sigma = 1, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)" + }, + "linpolar": { + "type": "func", + "name": "linpolar", + "doc": { + "brief": "Re-project\u2019s and image from cartessian coordinates to linear polar coordinates.", + "param": { + "reverse": "If true, the image will be reverse polar transformed. default is false." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.linpolar", + "py_doc": "Re-project\u2019s and image from cartessian coordinates to linear polar coordinates.\n\nArgs:\n - reverse: If true, the image will be reverse polar transformed. default is false.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "bool", + "reverse", + "false" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *linpolar(bool reverse = false)" + }, + "logpolar": { + "type": "func", + "name": "logpolar", + "doc": { + "brief": "Re-project\u2019s and image from cartessian coordinates to log polar coordinates.", + "param": { + "reverse": "If true, the image will be reverse polar transformed. default is false." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.logpolar", + "py_doc": "Re-project\u2019s and image from cartessian coordinates to log polar coordinates.\n\nArgs:\n - reverse: If true, the image will be reverse polar transformed. default is false.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "bool", + "reverse", + "false" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *logpolar(bool reverse = false)" + }, + "lens_corr": { + "type": "func", + "name": "lens_corr", + "doc": { + "brief": "Performs a lens correction operation on the image. TODO: support in the feature", + "param": { + "strength": "The strength of the lens correction. default is 1.8.", + "zoom": "The zoom of the lens correction. default is 1.0.", + "x_corr": "The x correction of the lens correction. default is 0.5.", + "y_corr": "The y correction of the lens correction. default is 0.5." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.lens_corr", + "py_doc": "Performs a lens correction operation on the image. TODO: support in the feature\n\nArgs:\n - strength: The strength of the lens correction. default is 1.8.\n - zoom: The zoom of the lens correction. default is 1.0.\n - x_corr: The x correction of the lens correction. default is 0.5.\n - y_corr: The y correction of the lens correction. default is 0.5.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "double", + "strength", + "1.8" + ], + [ + "double", + "zoom", + "1.0" + ], + [ + "double", + "x_corr", + "0.5" + ], + [ + "double", + "y_corr", + "0.5" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *lens_corr(double strength = 1.8, double zoom = 1.0, double x_corr = 0.5, double y_corr = 0.5)" + }, + "rotation_corr": { + "type": "func", + "name": "rotation_corr", + "doc": { + "brief": "Performs a rotation correction operation on the image. TODO: support in the feature", + "param": { + "x_rotation": "The x rotation of the rotation correction. default is 0.0.", + "y_rotation": "The y rotation of the rotation correction. default is 0.0.", + "z_rotation": "The z rotation of the rotation correction. default is 0.0.", + "x_translation": "The x translation of the rotation correction. default is 0.0.", + "y_translation": "The y translation of the rotation correction. default is 0.0.", + "zoom": "The zoom of the rotation correction. default is 1.0.", + "fov": "The fov of the rotation correction. default is 60.0.", + "corners": "The corners of the rotation correction. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.rotation_corr", + "py_doc": "Performs a rotation correction operation on the image. TODO: support in the feature\n\nArgs:\n - x_rotation: The x rotation of the rotation correction. default is 0.0.\n - y_rotation: The y rotation of the rotation correction. default is 0.0.\n - z_rotation: The z rotation of the rotation correction. default is 0.0.\n - x_translation: The x translation of the rotation correction. default is 0.0.\n - y_translation: The y translation of the rotation correction. default is 0.0.\n - zoom: The zoom of the rotation correction. default is 1.0.\n - fov: The fov of the rotation correction. default is 60.0.\n - corners: The corners of the rotation correction. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "double", + "x_rotation", + "0.0" + ], + [ + "double", + "y_rotation", + "0.0" + ], + [ + "double", + "z_rotation", + "0.0" + ], + [ + "double", + "x_translation", + "0.0" + ], + [ + "double", + "y_translation", + "0.0" + ], + [ + "double", + "zoom", + "1.0" + ], + [ + "double", + "fov", + "60.0" + ], + [ + "std::vector", + "corners", + "std::vector()" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *rotation_corr(double x_rotation = 0.0, double y_rotation = 0.0, double z_rotation = 0.0, double x_translation = 0.0, double y_translation = 0.0, double zoom = 1.0, double fov = 60.0, std::vector corners = std::vector())" + }, + "get_histogram": { + "type": "func", + "name": "get_histogram", + "doc": { + "brief": "Gets the histogram of the image.", + "param": { + "thresholds": "You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.", + "invert": "If true, the thresholds will be inverted before the operation. default is false.", + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "bins": "The number of bins to use for the histogram.\nIn GRAYSCALE format, setting range is [2, 256], default is 100.\nIn rgb888 format, setting range is [2, 100], default is 100.", + "l_bins": "The number of bins to use for the l channel of the histogram. Only valid in RGB888 format.\nIf an invalid value is set, bins will be used instead. The setting range is [2, 100], default is 100.", + "a_bins": "The number of bins to use for the a channel of the histogram.\nOnly valid in RGB888 format.The setting range is [2, 256], default is 256.", + "b_bins": "The number of bins to use for the b channel of the histogram.\nOnly valid in RGB888 format. The setting range is [2, 256], default is 256.", + "difference": "difference may be set to an image object to cause this method to operate on the difference image between the current image and the difference image object.\ndefault is None." + }, + "return": "Returns the histogram of the image", + "maixpy": "maix.image.Image.get_histogram", + "py_doc": "Gets the histogram of the image.\n\nArgs:\n - thresholds: You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.\n - invert: If true, the thresholds will be inverted before the operation. default is false.\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - bins: The number of bins to use for the histogram.\nIn GRAYSCALE format, setting range is [2, 256], default is 100.\nIn rgb888 format, setting range is [2, 100], default is 100.\n - l_bins: The number of bins to use for the l channel of the histogram. Only valid in RGB888 format.\nIf an invalid value is set, bins will be used instead. The setting range is [2, 100], default is 100.\n - a_bins: The number of bins to use for the a channel of the histogram.\nOnly valid in RGB888 format.The setting range is [2, 256], default is 256.\n - b_bins: The number of bins to use for the b channel of the histogram.\nOnly valid in RGB888 format. The setting range is [2, 256], default is 256.\n - difference: difference may be set to an image object to cause this method to operate on the difference image between the current image and the difference image object.\ndefault is None.\n\n\nReturns: Returns the histogram of the image\n" + }, + "args": [ + [ + "std::vector>", + "thresholds", + "std::vector>()" + ], + [ + "bool", + "invert", + "false" + ], + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "bins", + "-1" + ], + [ + "int", + "l_bins", + "100" + ], + [ + "int", + "a_bins", + "256" + ], + [ + "int", + "b_bins", + "256" + ], + [ + "image::Image *", + "difference", + "nullptr" + ] + ], + "ret_type": "std::map>", + "static": false, + "def": "std::map> get_histogram(std::vector> thresholds = std::vector>(), bool invert = false, std::vector roi = std::vector(), int bins = -1, int l_bins = 100, int a_bins = 256, int b_bins = 256, image::Image *difference = nullptr)" + }, + "get_statistics": { + "type": "func", + "name": "get_statistics", + "doc": { + "brief": "Gets the statistics of the image. TODO: support in the feature", + "param": { + "thresholds": "You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "bins": "The number of bins to use for the statistics. default is -1.", + "l_bins": "The number of bins to use for the l channel of the statistics. default is -1.", + "a_bins": "The number of bins to use for the a channel of the statistics. default is -1.", + "b_bins": "The number of bins to use for the b channel of the statistics. default is -1.", + "difference": "The difference image to use for the statistics. default is None." + }, + "return": "Returns the statistics of the image", + "maixpy": "maix.image.Image.get_statistics", + "py_doc": "Gets the statistics of the image. TODO: support in the feature\n\nArgs:\n - thresholds: You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.\n - invert: If true, the image will be inverted before the operation. default is false.\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - bins: The number of bins to use for the statistics. default is -1.\n - l_bins: The number of bins to use for the l channel of the statistics. default is -1.\n - a_bins: The number of bins to use for the a channel of the statistics. default is -1.\n - b_bins: The number of bins to use for the b channel of the statistics. default is -1.\n - difference: The difference image to use for the statistics. default is None.\n\n\nReturns: Returns the statistics of the image\n" + }, + "args": [ + [ + "std::vector>", + "thresholds", + "std::vector>()" + ], + [ + "bool", + "invert", + "false" + ], + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "bins", + "-1" + ], + [ + "int", + "l_bins", + "-1" + ], + [ + "int", + "a_bins", + "-1" + ], + [ + "int", + "b_bins", + "-1" + ], + [ + "image::Image *", + "difference", + "nullptr" + ] + ], + "ret_type": "image::Statistics", + "static": false, + "def": "image::Statistics get_statistics(std::vector> thresholds = std::vector>(), bool invert = false, std::vector roi = std::vector(), int bins = -1, int l_bins = -1, int a_bins = -1, int b_bins = -1, image::Image *difference = nullptr)" + }, + "get_regression": { + "type": "func", + "name": "get_regression", + "doc": { + "brief": "Gets the regression of the image.", + "param": { + "thresholds": "You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "x_stride": "The x stride to use for the regression. default is 2.", + "y_stride": "The y stride to use for the regression. default is 1.", + "area_threshold": "The area threshold to use for the regression. default is 10.", + "pixels_threshold": "The pixels threshold to use for the regression. default is 10.", + "robust": "If true, the regression will be robust. default is false." + }, + "return": "Returns the regression of the image", + "maixpy": "maix.image.Image.get_regression", + "py_doc": "Gets the regression of the image.\n\nArgs:\n - thresholds: You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.\n - invert: If true, the image will be inverted before the operation. default is false.\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - x_stride: The x stride to use for the regression. default is 2.\n - y_stride: The y stride to use for the regression. default is 1.\n - area_threshold: The area threshold to use for the regression. default is 10.\n - pixels_threshold: The pixels threshold to use for the regression. default is 10.\n - robust: If true, the regression will be robust. default is false.\n\n\nReturns: Returns the regression of the image\n" + }, + "args": [ + [ + "std::vector>", + "thresholds", + "std::vector>()" + ], + [ + "bool", + "invert", + "false" + ], + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "x_stride", + "2" + ], + [ + "int", + "y_stride", + "1" + ], + [ + "int", + "area_threshold", + "10" + ], + [ + "int", + "pixels_threshold", + "10" + ], + [ + "bool", + "robust", + "false" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector get_regression(std::vector> thresholds = std::vector>(), bool invert = false, std::vector roi = std::vector(), int x_stride = 2, int y_stride = 1, int area_threshold = 10, int pixels_threshold = 10, bool robust = false)" + }, + "save": { + "type": "func", + "name": "save", + "doc": { + "brief": "Save image to file", + "param": { + "path": "file path", + "quality": "image quality, by default(value is 95), support jpeg and png format" + }, + "return": "error code, err::ERR_NONE is ok, other is error", + "maixpy": "maix.image.Image.save", + "py_doc": "Save image to file\n\nArgs:\n - path: file path\n - quality: image quality, by default(value is 95), support jpeg and png format\n\n\nReturns: error code, err::ERR_NONE is ok, other is error\n" + }, + "args": [ + [ + "const char *", + "path", + null + ], + [ + "int", + "quality", + "95" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err save(const char *path, int quality = 95)" + }, + "flood_fill": { + "type": "func", + "name": "flood_fill", + "doc": { + "brief": "Flood fills a region of the image starting from location x, y.", + "param": { + "x": "The x coordinate of the seed point.", + "y": "The y coordinate of the seed point.", + "seed_threshold": "The seed_threshold value controls how different any pixel in the fill area may be from the original starting pixel. default is 0.05.", + "floating_threshold": "The floating_threshold value controls how different any pixel in the fill area may be from any neighbor pixels. default is 0.05.", + "color": "The color to fill the region with. default is white.", + "invert": "If true, the image will be inverted before the operation. default is false.", + "clear_background": "If true, the background will be cleared before the operation. default is false.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None. FIXME: the mask image works abnormally" + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.flood_fill", + "py_doc": "Flood fills a region of the image starting from location x, y.\n\nArgs:\n - x: The x coordinate of the seed point.\n - y: The y coordinate of the seed point.\n - seed_threshold: The seed_threshold value controls how different any pixel in the fill area may be from the original starting pixel. default is 0.05.\n - floating_threshold: The floating_threshold value controls how different any pixel in the fill area may be from any neighbor pixels. default is 0.05.\n - color: The color to fill the region with. default is white.\n - invert: If true, the image will be inverted before the operation. default is false.\n - clear_background: If true, the background will be cleared before the operation. default is false.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None. FIXME: the mask image works abnormally\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "x", + null + ], + [ + "int", + "y", + null + ], + [ + "float", + "seed_threshold", + "0.05" + ], + [ + "float", + "floating_threshold", + "0.05" + ], + [ + "image::Color", + "color", + "image::COLOR_WHITE" + ], + [ + "bool", + "invert", + "false" + ], + [ + "bool", + "clear_background", + "false" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *flood_fill(int x, int y, float seed_threshold = 0.05, float floating_threshold = 0.05, image::Color color = image::COLOR_WHITE, bool invert = false, bool clear_background = false, image::Image *mask = nullptr)" + }, + "erode": { + "type": "func", + "name": "erode", + "doc": { + "brief": "Erodes the image in place.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "threshold": "The number of pixels in the kernel that are not 0. If it is less than or equal to the threshold, set the center pixel to black. default is (kernel_size - 1).", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.erode", + "py_doc": "Erodes the image in place.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - threshold: The number of pixels in the kernel that are not 0. If it is less than or equal to the threshold, set the center pixel to black. default is (kernel_size - 1).\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "int", + "threshold", + "-1" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *erode(int size, int threshold = -1, image::Image *mask = nullptr)" + }, + "dilate": { + "type": "func", + "name": "dilate", + "doc": { + "brief": "Dilates the image in place.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "threshold": "The number of pixels in the kernel that are not 0. If it is greater than or equal to the threshold, set the center pixel to white. default is 0.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.dilate", + "py_doc": "Dilates the image in place.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - threshold: The number of pixels in the kernel that are not 0. If it is greater than or equal to the threshold, set the center pixel to white. default is 0.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "int", + "threshold", + "0" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *dilate(int size, int threshold = 0, image::Image *mask = nullptr)" + }, + "open": { + "type": "func", + "name": "open", + "doc": { + "brief": "Performs erosion and dilation on an image in order.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "threshold": "As the threshold for erosion and dilation, the actual threshold for erosion is (kernel_size - 1 - threshold), the actual threshold for dialation is threshold. default is 0.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.open", + "py_doc": "Performs erosion and dilation on an image in order.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - threshold: As the threshold for erosion and dilation, the actual threshold for erosion is (kernel_size - 1 - threshold), the actual threshold for dialation is threshold. default is 0.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "int", + "threshold", + "0" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *open(int size, int threshold = 0, image::Image *mask = nullptr)" + }, + "close": { + "type": "func", + "name": "close", + "doc": { + "brief": "Performs dilation and erosion on an image in order.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "threshold": "As the threshold for erosion and dilation, the actual threshold for erosion is (kernel_size - 1 - threshold), the actual threshold for dialation is threshold. default is 0.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.close", + "py_doc": "Performs dilation and erosion on an image in order.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - threshold: As the threshold for erosion and dilation, the actual threshold for erosion is (kernel_size - 1 - threshold), the actual threshold for dialation is threshold. default is 0.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "int", + "threshold", + "0" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *close(int size, int threshold = 0, image::Image *mask = nullptr)" + }, + "top_hat": { + "type": "func", + "name": "top_hat", + "doc": { + "brief": "Returns the image difference of the image and Image.open()\u2019ed image.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "threshold": "As the threshold for open method. default is 0.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.top_hat", + "py_doc": "Returns the image difference of the image and Image.open()\u2019ed image.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - threshold: As the threshold for open method. default is 0.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "int", + "threshold", + "0" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *top_hat(int size, int threshold = 0, image::Image *mask = nullptr)" + }, + "black_hat": { + "type": "func", + "name": "black_hat", + "doc": { + "brief": "Returns the image difference of the image and Image.close()\u2019ed image.", + "param": { + "size": "Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).", + "threshold": "As the threshold for close method. default is 0.", + "mask": "Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None." + }, + "return": "Returns the image after the operation is completed.", + "maixpy": "maix.image.Image.black_hat", + "py_doc": "Returns the image difference of the image and Image.close()\u2019ed image.\n\nArgs:\n - size: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).\n - threshold: As the threshold for close method. default is 0.\n - mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.\nOnly pixels set in the mask are modified. default is None.\n\n\nReturns: Returns the image after the operation is completed.\n" + }, + "args": [ + [ + "int", + "size", + null + ], + [ + "int", + "threshold", + "0" + ], + [ + "image::Image *", + "mask", + "nullptr" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *black_hat(int size, int threshold = 0, image::Image *mask = nullptr)" + }, + "find_blobs": { + "type": "func", + "name": "find_blobs", + "doc": { + "brief": "Finds all blobs in the image and returns a list of image.Blob class which describe each Blob.\\nPlease see the image.Blob object more more information.", + "param": { + "thresholds": "You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.", + "invert": "if true, will invert thresholds before find blobs, default is false", + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "x_stride": "x stride is the number of x pixels to skip when doing the hough transform. default is 2", + "y_stride": "y_stride is the number of y pixels to skip when doing the hough transform. default is 1", + "area_threshold": "area threshold, if the blob area is smaller than area_threshold, the blob is not returned, default is 10", + "pixels_threshold": "pixels threshold, if the blob pixels is smaller than area_threshold, the blob is not returned,, default is 10.\nwhen x_stride and y_stride is equal to 1, pixels_threshold is equivalent to area_threshold", + "merge": "if True merges all not filtered out blobs whos bounding rectangles intersect each other. default is false", + "margin": "margin can be used to increase or decrease the size of the bounding rectangles for blobs during the intersection test.\nFor example, with a margin of 1 blobs whos bounding rectangles are 1 pixel away from each other will be merged. default is 0", + "x_hist_bins_max": "if set to non-zero populates a histogram buffer in each blob object with an x_histogram projection of all columns in the object. This value then sets the number of bins for that projection.", + "y_hist_bins_max": "if set to non-zero populates a histogram buffer in each blob object with an y_histogram projection of all rows in the object. This value then sets the number of bins for that projection." + }, + "return": "Return the blob when found blobs, format is (blob1, blob2, ...), you can use blob class methods to do more operations.", + "maixpy": "maix.image.Image.find_blobs", + "py_doc": "Finds all blobs in the image and returns a list of image.Blob class which describe each Blob.\nPlease see the image.Blob object more more information.\n\nArgs:\n - thresholds: You can define multiple thresholds.\nFor GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.\nFor RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.\nWhere the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.\n - invert: if true, will invert thresholds before find blobs, default is false\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - x_stride: x stride is the number of x pixels to skip when doing the hough transform. default is 2\n - y_stride: y_stride is the number of y pixels to skip when doing the hough transform. default is 1\n - area_threshold: area threshold, if the blob area is smaller than area_threshold, the blob is not returned, default is 10\n - pixels_threshold: pixels threshold, if the blob pixels is smaller than area_threshold, the blob is not returned,, default is 10.\nwhen x_stride and y_stride is equal to 1, pixels_threshold is equivalent to area_threshold\n - merge: if True merges all not filtered out blobs whos bounding rectangles intersect each other. default is false\n - margin: margin can be used to increase or decrease the size of the bounding rectangles for blobs during the intersection test.\nFor example, with a margin of 1 blobs whos bounding rectangles are 1 pixel away from each other will be merged. default is 0\n - x_hist_bins_max: if set to non-zero populates a histogram buffer in each blob object with an x_histogram projection of all columns in the object. This value then sets the number of bins for that projection.\n - y_hist_bins_max: if set to non-zero populates a histogram buffer in each blob object with an y_histogram projection of all rows in the object. This value then sets the number of bins for that projection.\n\n\nReturns: Return the blob when found blobs, format is (blob1, blob2, ...), you can use blob class methods to do more operations.\n" + }, + "args": [ + [ + "std::vector>", + "thresholds", + "std::vector>()" + ], + [ + "bool", + "invert", + "false" + ], + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "x_stride", + "2" + ], + [ + "int", + "y_stride", + "1" + ], + [ + "int", + "area_threshold", + "10" + ], + [ + "int", + "pixels_threshold", + "10" + ], + [ + "bool", + "merge", + "false" + ], + [ + "int", + "margin", + "0" + ], + [ + "int", + "x_hist_bins_max", + "0" + ], + [ + "int", + "y_hist_bins_max", + "0" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_blobs(std::vector> thresholds = std::vector>(), bool invert = false, std::vector roi = std::vector(), int x_stride = 2, int y_stride = 1, int area_threshold = 10, int pixels_threshold = 10, bool merge = false, int margin = 0, int x_hist_bins_max = 0, int y_hist_bins_max = 0)" + }, + "find_lines": { + "type": "func", + "name": "find_lines", + "doc": { + "brief": "Find lines in image", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "x_stride": "x stride is the number of x pixels to skip when doing the hough transform. default is 2", + "y_stride": "y_stride is the number of y pixels to skip when doing the hough transform. default is 1", + "threshold": "threshold threshold controls what lines are detected from the hough transform. Only lines with a magnitude greater than or equal to threshold are returned.\nThe right value of threshold for your application is image dependent. default is 1000.", + "theta_margin": "theta_margin controls the merging of detected lines. default is 25.", + "rho_margin": "rho_margin controls the merging of detected lines. default is 25." + }, + "return": "Return the line when found lines, format is (line1, line2, ...), you can use line class methods to do more operations", + "maixpy": "maix.image.Image.find_lines", + "py_doc": "Find lines in image\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - x_stride: x stride is the number of x pixels to skip when doing the hough transform. default is 2\n - y_stride: y_stride is the number of y pixels to skip when doing the hough transform. default is 1\n - threshold: threshold threshold controls what lines are detected from the hough transform. Only lines with a magnitude greater than or equal to threshold are returned.\nThe right value of threshold for your application is image dependent. default is 1000.\n - theta_margin: theta_margin controls the merging of detected lines. default is 25.\n - rho_margin: rho_margin controls the merging of detected lines. default is 25.\n\n\nReturns: Return the line when found lines, format is (line1, line2, ...), you can use line class methods to do more operations\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "x_stride", + "2" + ], + [ + "int", + "y_stride", + "1" + ], + [ + "double", + "threshold", + "1000" + ], + [ + "double", + "theta_margin", + "25" + ], + [ + "double", + "rho_margin", + "25" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_lines(std::vector roi = std::vector(), int x_stride = 2, int y_stride = 1, double threshold = 1000, double theta_margin = 25, double rho_margin = 25)" + }, + "find_line_segments": { + "type": "func", + "name": "find_line_segments", + "doc": { + "brief": "Finds all line segments in the image.", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "merge_distance": "The maximum distance between two lines to merge them. default is 0.", + "max_theta_difference": "The maximum difference between two lines to merge them. default is 15." + }, + "return": "Return the line when found lines, format is (line1, line2, ...), you can use line class methods to do more operations", + "maixpy": "maix.image.Image.find_line_segments", + "py_doc": "Finds all line segments in the image.\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - merge_distance: The maximum distance between two lines to merge them. default is 0.\n - max_theta_difference: The maximum difference between two lines to merge them. default is 15.\n\n\nReturns: Return the line when found lines, format is (line1, line2, ...), you can use line class methods to do more operations\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "merge_distance", + "0" + ], + [ + "int", + "max_theta_difference", + "15" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_line_segments(std::vector roi = std::vector(), int merge_distance = 0, int max_theta_difference = 15)" + }, + "find_circles": { + "type": "func", + "name": "find_circles", + "doc": { + "brief": "Find circles in image", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "x_stride": "x stride is the number of x pixels to skip when doing the hough transform. default is 2", + "y_stride": "y_stride is the number of y pixels to skip when doing the hough transform. default is 1", + "threshold": "threshold controls what circles are detected from the hough transform. Only circles with a magnitude greater than or equal to threshold are returned.\nThe right value of threshold for your application is image dependent.", + "x_margin": "x_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10", + "y_margin": "y_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10", + "r_margin": "r_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10", + "r_min": "r_min controls the minimum circle radius detected. Increase this to speed up the algorithm. default is 2", + "r_max": "r_max controls the maximum circle radius detected. Decrease this to speed up the algorithm. default is min(roi.w / 2, roi.h / 2)", + "r_step": "r_step controls how to step the radius detection by. default is 2." + }, + "return": "Return the circle when found circles, format is (circle1, circle2, ...), you can use circle class methods to do more operations", + "maixpy": "maix.image.Image.find_circles", + "py_doc": "Find circles in image\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - x_stride: x stride is the number of x pixels to skip when doing the hough transform. default is 2\n - y_stride: y_stride is the number of y pixels to skip when doing the hough transform. default is 1\n - threshold: threshold controls what circles are detected from the hough transform. Only circles with a magnitude greater than or equal to threshold are returned.\nThe right value of threshold for your application is image dependent.\n - x_margin: x_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10\n - y_margin: y_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10\n - r_margin: r_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10\n - r_min: r_min controls the minimum circle radius detected. Increase this to speed up the algorithm. default is 2\n - r_max: r_max controls the maximum circle radius detected. Decrease this to speed up the algorithm. default is min(roi.w / 2, roi.h / 2)\n - r_step: r_step controls how to step the radius detection by. default is 2.\n\n\nReturns: Return the circle when found circles, format is (circle1, circle2, ...), you can use circle class methods to do more operations\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "x_stride", + "2" + ], + [ + "int", + "y_stride", + "1" + ], + [ + "int", + "threshold", + "2000" + ], + [ + "int", + "x_margin", + "10" + ], + [ + "int", + "y_margin", + "10" + ], + [ + "int", + "r_margin", + "10" + ], + [ + "int", + "r_min", + "2" + ], + [ + "int", + "r_max", + "-1" + ], + [ + "int", + "r_step", + "2" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_circles(std::vector roi = std::vector(), int x_stride = 2, int y_stride = 1, int threshold = 2000, int x_margin = 10, int y_margin = 10, int r_margin = 10, int r_min = 2, int r_max = -1, int r_step = 2)" + }, + "find_rects": { + "type": "func", + "name": "find_rects", + "doc": { + "brief": "Finds all rects in the image.", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "threshold": "The threshold to use for the rects. default is 10000." + }, + "return": "Returns the rects of the image", + "maixpy": "maix.image.Image.find_rects", + "py_doc": "Finds all rects in the image.\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - threshold: The threshold to use for the rects. default is 10000.\n\n\nReturns: Returns the rects of the image\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "threshold", + "10000" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_rects(std::vector roi = std::vector(), int threshold = 10000)" + }, + "find_qrcodes": { + "type": "func", + "name": "find_qrcodes", + "doc": { + "brief": "Finds all qrcodes in the image.", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image." + }, + "return": "Returns the qrcodes of the image", + "maixpy": "maix.image.Image.find_qrcodes", + "py_doc": "Finds all qrcodes in the image.\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n\n\nReturns: Returns the qrcodes of the image\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_qrcodes(std::vector roi = std::vector())" + }, + "find_apriltags": { + "type": "func", + "name": "find_apriltags", + "doc": { + "brief": "Finds all apriltags in the image.", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "families": "The families to use for the apriltags. default is TAG36H11.", + "fx": "The camera X focal length in pixels, default is -1.", + "fy": "The camera Y focal length in pixels, default is -1.", + "cx": "The camera X center in pixels, default is image.width / 2.", + "cy": "The camera Y center in pixels, default is image.height / 2." + }, + "return": "Returns the apriltags of the image", + "maixpy": "maix.image.Image.find_apriltags", + "py_doc": "Finds all apriltags in the image.\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - families: The families to use for the apriltags. default is TAG36H11.\n - fx: The camera X focal length in pixels, default is -1.\n - fy: The camera Y focal length in pixels, default is -1.\n - cx: The camera X center in pixels, default is image.width / 2.\n - cy: The camera Y center in pixels, default is image.height / 2.\n\n\nReturns: Returns the apriltags of the image\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "image::ApriltagFamilies", + "families", + "image::ApriltagFamilies::TAG36H11" + ], + [ + "float", + "fx", + "-1" + ], + [ + "float", + "fy", + "-1" + ], + [ + "int", + "cx", + "-1" + ], + [ + "int", + "cy", + "-1" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_apriltags(std::vector roi = std::vector(), image::ApriltagFamilies families = image::ApriltagFamilies::TAG36H11, float fx = -1, float fy = -1, int cx = -1, int cy = -1)" + }, + "find_datamatrices": { + "type": "func", + "name": "find_datamatrices", + "doc": { + "brief": "Finds all datamatrices in the image.", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "effort": "Controls how much time to spend trying to find data matrix matches. default is 200." + }, + "return": "Returns the datamatrices of the image", + "maixpy": "maix.image.Image.find_datamatrices", + "py_doc": "Finds all datamatrices in the image.\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - effort: Controls how much time to spend trying to find data matrix matches. default is 200.\n\n\nReturns: Returns the datamatrices of the image\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "effort", + "200" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_datamatrices(std::vector roi = std::vector(), int effort = 200)" + }, + "find_barcodes": { + "type": "func", + "name": "find_barcodes", + "doc": { + "brief": "Finds all barcodes in the image.", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image." + }, + "return": "Returns the barcodes of the image", + "maixpy": "maix.image.Image.find_barcodes", + "py_doc": "Finds all barcodes in the image.\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n\n\nReturns: Returns the barcodes of the image\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_barcodes(std::vector roi = std::vector())" + }, + "find_displacement": { + "type": "func", + "name": "find_displacement", + "doc": { + "brief": "Finds the displacement between the image and the template. TODO: support in the feature\\nnote: this method must be used on power-of-2 image sizes", + "param": { + "template_image": "The template image.", + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "template_roi": "The region-of-interest rectangle (x, y, w, h) to work in. If not specified, it is equal to the image rectangle.", + "logpolar": "If true, it will instead find rotation and scale changes between the two images. default is false." + }, + "return": "Returns the displacement of the image", + "maixpy": "maix.image.Image.find_displacement", + "py_doc": "Finds the displacement between the image and the template. TODO: support in the feature\nnote: this method must be used on power-of-2 image sizes\n\nArgs:\n - template_image: The template image.\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - template_roi: The region-of-interest rectangle (x, y, w, h) to work in. If not specified, it is equal to the image rectangle.\n - logpolar: If true, it will instead find rotation and scale changes between the two images. default is false.\n\n\nReturns: Returns the displacement of the image\n" + }, + "args": [ + [ + "image::Image &", + "template_image", + null + ], + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "std::vector", + "template_roi", + "std::vector()" + ], + [ + "bool", + "logpolar", + "false" + ] + ], + "ret_type": "image::Displacement", + "static": false, + "def": "image::Displacement find_displacement(image::Image &template_image, std::vector roi = std::vector(), std::vector template_roi = std::vector(), bool logpolar = false)" + }, + "find_template": { + "type": "func", + "name": "find_template", + "doc": { + "brief": "Finds the template in the image.", + "param": { + "template_image": "The template image.", + "threshold": "Threshold is floating point number (0.0-1.0) where a higher threshold prevents false positives while lowering the detection rate while a lower threshold does the opposite.", + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image. Only valid in SEARCH_EX mode.", + "step": "The step size to use for the template. default is 2. Only valid in SEARCH_EX mode", + "search": "The search method to use for the template. default is SEARCH_EX." + }, + "return": "Returns a bounding box tuple (x, y, w, h) for the matching location otherwise None.", + "maixpy": "maix.image.Image.find_template", + "py_doc": "Finds the template in the image.\n\nArgs:\n - template_image: The template image.\n - threshold: Threshold is floating point number (0.0-1.0) where a higher threshold prevents false positives while lowering the detection rate while a lower threshold does the opposite.\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image. Only valid in SEARCH_EX mode.\n - step: The step size to use for the template. default is 2. Only valid in SEARCH_EX mode\n - search: The search method to use for the template. default is SEARCH_EX.\n\n\nReturns: Returns a bounding box tuple (x, y, w, h) for the matching location otherwise None.\n" + }, + "args": [ + [ + "image::Image &", + "template_image", + null + ], + [ + "float", + "threshold", + null + ], + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "step", + "2" + ], + [ + "image::TemplateMatch", + "search", + "image::TemplateMatch::SEARCH_EX" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_template(image::Image &template_image, float threshold, std::vector roi = std::vector(), int step = 2, image::TemplateMatch search = image::TemplateMatch::SEARCH_EX)" + }, + "find_features": { + "type": "func", + "name": "find_features", + "doc": { + "brief": "Finds the features in the image. TODO: support in the feature", + "param": { + "cascade": "The cascade to use for the features. default is CASCADE_FRONTALFACE_ALT.", + "threshold": "The threshold to use for the features. default is 0.5.", + "scale": "The scale to use for the features. default is 1.5.", + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image." + }, + "return": "Returns the features of the image", + "maixpy": "maix.image.Image.find_features", + "py_doc": "Finds the features in the image. TODO: support in the feature\n\nArgs:\n - cascade: The cascade to use for the features. default is CASCADE_FRONTALFACE_ALT.\n - threshold: The threshold to use for the features. default is 0.5.\n - scale: The scale to use for the features. default is 1.5.\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n\n\nReturns: Returns the features of the image\n" + }, + "args": [ + [ + "int", + "cascade", + null + ], + [ + "float", + "threshold", + "0.5" + ], + [ + "float", + "scale", + "1.5" + ], + [ + "std::vector", + "roi", + "std::vector()" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector find_features(int cascade, float threshold = 0.5, float scale = 1.5, std::vector roi = std::vector())" + }, + "find_lbp": { + "type": "func", + "name": "find_lbp", + "doc": { + "brief": "Finds the lbp in the image. TODO: support in the feature.", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image." + }, + "return": "Returns the lbp of the image", + "maixpy": "maix.image.Image.find_lbp", + "py_doc": "Finds the lbp in the image. TODO: support in the feature.\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n\n\nReturns: Returns the lbp of the image\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ] + ], + "ret_type": "image::LBPKeyPoint", + "static": false, + "def": "image::LBPKeyPoint find_lbp(std::vector roi = std::vector())" + }, + "find_keypoints": { + "type": "func", + "name": "find_keypoints", + "doc": { + "brief": "Finds the keypoints in the image. TODO: support in the feature.", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "threshold": "The threshold to use for the keypoints. default is 20.", + "normalized": "If true, the image will be normalized before the operation. default is false.", + "scale_factor": "The scale factor to use for the keypoints. default is 1.5.", + "max_keypoints": "The maximum number of keypoints to use for the keypoints. default is 100.", + "corner_detector": "The corner detector to use for the keypoints. default is CORNER_AGAST." + }, + "return": "Returns the keypoints of the image", + "maixpy": "maix.image.Image.find_keypoints", + "py_doc": "Finds the keypoints in the image. TODO: support in the feature.\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - threshold: The threshold to use for the keypoints. default is 20.\n - normalized: If true, the image will be normalized before the operation. default is false.\n - scale_factor: The scale factor to use for the keypoints. default is 1.5.\n - max_keypoints: The maximum number of keypoints to use for the keypoints. default is 100.\n - corner_detector: The corner detector to use for the keypoints. default is CORNER_AGAST.\n\n\nReturns: Returns the keypoints of the image\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "threshold", + "20" + ], + [ + "bool", + "normalized", + "false" + ], + [ + "float", + "scale_factor", + "1.5" + ], + [ + "int", + "max_keypoints", + "100" + ], + [ + "image::CornerDetector", + "corner_detector", + "image::CornerDetector::CORNER_AGAST" + ] + ], + "ret_type": "image::ORBKeyPoint", + "static": false, + "def": "image::ORBKeyPoint find_keypoints(std::vector roi = std::vector(), int threshold = 20, bool normalized = false, float scale_factor = 1.5, int max_keypoints = 100, image::CornerDetector corner_detector = image::CornerDetector::CORNER_AGAST)" + }, + "find_edges": { + "type": "func", + "name": "find_edges", + "doc": { + "brief": "Finds the edges in the image.", + "param": { + "edge_type": "The edge type to use for the edges. default is EDGE_CANNY.", + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "threshold": "The threshold to use for the edges. default is 20." + }, + "return": "Returns the edges of the image", + "maixpy": "maix.image.Image.find_edges", + "py_doc": "Finds the edges in the image.\n\nArgs:\n - edge_type: The edge type to use for the edges. default is EDGE_CANNY.\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - threshold: The threshold to use for the edges. default is 20.\n\n\nReturns: Returns the edges of the image\n" + }, + "args": [ + [ + "image::EdgeDetector", + "edge_type", + null + ], + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "std::vector", + "threshold", + "std::vector({100, 200})" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image* find_edges(image::EdgeDetector edge_type, std::vector roi = std::vector(), std::vector threshold = std::vector({100, 200}))" + }, + "find_hog": { + "type": "func", + "name": "find_hog", + "doc": { + "brief": "Finds the hog in the image. TODO: support in the feature", + "param": { + "roi": "The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.", + "size": "The size to use for the hog. default is 8." + }, + "return": "Returns the hog of the image", + "maixpy": "maix.image.Image.find_hog", + "py_doc": "Finds the hog in the image. TODO: support in the feature\n\nArgs:\n - roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.\ndefault is None, means whole image.\n - size: The size to use for the hog. default is 8.\n\n\nReturns: Returns the hog of the image\n" + }, + "args": [ + [ + "std::vector", + "roi", + "std::vector()" + ], + [ + "int", + "size", + "8" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image* find_hog(std::vector roi = std::vector(), int size = 8)" + }, + "match_lbp_descriptor": { + "type": "func", + "name": "match_lbp_descriptor", + "doc": { + "brief": "Matches the lbp descriptor of the image. TODO: support in the feature", + "param": { + "desc1": "The descriptor to use for the match.", + "desc2": "The descriptor to use for the match." + }, + "return": "Returns the match of the image", + "maixpy": "maix.image.Image.match_lbp_descriptor", + "py_doc": "Matches the lbp descriptor of the image. TODO: support in the feature\n\nArgs:\n - desc1: The descriptor to use for the match.\n - desc2: The descriptor to use for the match.\n\n\nReturns: Returns the match of the image\n" + }, + "args": [ + [ + "image::LBPKeyPoint &", + "desc1", + null + ], + [ + "image::LBPKeyPoint &", + "desc2", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int match_lbp_descriptor(image::LBPKeyPoint &desc1, image::LBPKeyPoint &desc2)" + }, + "match_orb_descriptor": { + "type": "func", + "name": "match_orb_descriptor", + "doc": { + "brief": "Matches the orb descriptor of the image. TODO: support in the feature", + "param": { + "desc1": "The descriptor to use for the match.", + "desc2": "The descriptor to use for the match.", + "threshold": "The threshold to use for the match. default is 95.", + "filter_outliers": "If true, the image will be filter_outliers before the operation. default is false." + }, + "return": "Returns the match of the image", + "maixpy": "maix.image.Image.match_orb_descriptor", + "py_doc": "Matches the orb descriptor of the image. TODO: support in the feature\n\nArgs:\n - desc1: The descriptor to use for the match.\n - desc2: The descriptor to use for the match.\n - threshold: The threshold to use for the match. default is 95.\n - filter_outliers: If true, the image will be filter_outliers before the operation. default is false.\n\n\nReturns: Returns the match of the image\n" + }, + "args": [ + [ + "image::ORBKeyPoint &", + "desc1", + null + ], + [ + "image::ORBKeyPoint &", + "desc2", + null + ], + [ + "int", + "threshold", + "95" + ], + [ + "bool", + "filter_outliers", + "false" + ] + ], + "ret_type": "image::KPTMatch", + "static": false, + "def": "image::KPTMatch match_orb_descriptor(image::ORBKeyPoint &desc1, image::ORBKeyPoint &desc2, int threshold = 95, bool filter_outliers = false)" + } + }, + "def": "class Image" + }, + "load": { + "type": "func", + "name": "load", + "doc": { + "brief": "Load image from file, and convert to Image object", + "param": { + "path": "image file path", + "format": "read as this format, if not match, will convert to this format, by default is RGB888" + }, + "return": "Image object", + "maixpy": "maix.image.load", + "py_doc": "Load image from file, and convert to Image object\n\nArgs:\n - path: image file path\n - format: read as this format, if not match, will convert to this format, by default is RGB888\n\n\nReturns: Image object\n" + }, + "args": [ + [ + "const char *", + "path", + null + ], + [ + "image::Format", + "format", + "image::Format::FMT_RGB888" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *load(const char *path, image::Format format = image::Format::FMT_RGB888)" + }, + "load_font": { + "type": "func", + "name": "load_font", + "doc": { + "brief": "Load font from file", + "param": { + "name": "font name, used to identify font", + "path": "font file path, support ttf, ttc, otf", + "size": "font size, font height, by default is 16" + }, + "return": "error code, err::ERR_NONE is ok, other is error", + "maixpy": "maix.image.load_font", + "py_doc": "Load font from file\n\nArgs:\n - name: font name, used to identify font\n - path: font file path, support ttf, ttc, otf\n - size: font size, font height, by default is 16\n\n\nReturns: error code, err::ERR_NONE is ok, other is error\n" + }, + "args": [ + [ + "const std::string &", + "name", + null + ], + [ + "const char *", + "path", + null + ], + [ + "int", + "size", + "16" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err load_font(const std::string &name, const char *path, int size = 16)" + }, + "set_default_font": { + "type": "func", + "name": "set_default_font", + "doc": { + "brief": "Set default font, if not call this method, default is hershey_plain", + "param": { + "name": "font name, supported names can be get by fonts()" + }, + "return": "error code, err::ERR_NONE is ok, other is error", + "maixpy": "maix.image.set_default_font", + "py_doc": "Set default font, if not call this method, default is hershey_plain\n\nArgs:\n - name: font name, supported names can be get by fonts()\n\n\nReturns: error code, err::ERR_NONE is ok, other is error\n" + }, + "args": [ + [ + "const std::string &", + "name", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err set_default_font(const std::string &name)" + }, + "fonts": { + "type": "func", + "name": "fonts", + "doc": { + "brief": "Get all loaded fonts", + "return": "all loaded fonts, string list type", + "maixpy": "maix.image.fonts", + "py_doc": "Get all loaded fonts\n\nReturns: all loaded fonts, string list type\n" + }, + "args": [], + "ret_type": "std::vector*", + "static": false, + "def": "std::vector *fonts()" + }, + "text_size": { + "type": "func", + "name": "text_size", + "doc": { + "brief": "Get text rendered width and height", + "param": { + "text": "text content", + "scale": "font scale, by default(value is 1)", + "thickness": "text thickness(line width), by default(value is 1)" + }, + "return": "text rendered width and height, [width, height]", + "maixpy": "maix.image.text_size", + "py_doc": "Get text rendered width and height\n\nArgs:\n - text: text content\n - scale: font scale, by default(value is 1)\n - thickness: text thickness(line width), by default(value is 1)\n\n\nReturns: text rendered width and height, [width, height]\n" + }, + "args": [ + [ + "std::string", + "text", + null + ], + [ + "float", + "scale", + "1" + ], + [ + "int", + "thickness", + "1" + ], + [ + "const std::string &", + "font", + "\"\"" + ] + ], + "ret_type": "image::Size", + "static": false, + "def": "image::Size text_size(std::string text, float scale = 1, int thickness = 1, const std::string &font = \"\")" + }, + "cv2image": { + "type": "func", + "name": "cv2image", + "doc": { + "brief": "OpenCV Mat(numpy array object) to Image object", + "param": { + "array": "numpy array object, must be a 3-dim or 2-dim continuous array with shape hwc or hw" + }, + "return": "Image object", + "maixpy": "maix.image.cv2image", + "py_doc": "OpenCV Mat(numpy array object) to Image object\n\nArgs:\n - array: numpy array object, must be a 3-dim or 2-dim continuous array with shape hwc or hw\n\n\nReturns: Image object\n" + }, + "args": [ + [ + "py::array_t", + "array", + null + ], + [ + "bool", + "bgr", + "true" + ], + [ + "bool", + "copy", + "true" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *cv2image(py::array_t array, bool bgr = true, bool copy = true)" + }, + "image2cv": { + "type": "func", + "name": "image2cv", + "doc": { + "brief": "Image object to OpenCV Mat(numpy array object)", + "param": { + "img": "Image object" + }, + "return": "numpy array object", + "maixpy": "maix.image.image2cv", + "py_doc": "Image object to OpenCV Mat(numpy array object)\n\nArgs:\n - img: Image object\n\n\nReturns: numpy array object\n" + }, + "args": [ + [ + "image::Image *", + "img", + null + ], + [ + "bool", + "bgr", + "true" + ], + [ + "bool", + "copy", + "true" + ] + ], + "ret_type": "py::array_t", + "static": false, + "def": "py::array_t image2cv(image::Image *img, bool bgr = true, bool copy = true)" + } + }, + "auto_add": true + }, + "camera": { + "type": "module", + "doc": { + "brief": "maix.camera module, access camera device and get image from it", + "maixpy": "maix.camera", + "py_doc": "maix.camera module, access camera device and get image from it" + }, + "members": { + "list_devices": { + "type": "func", + "name": "list_devices", + "doc": { + "brief": "List all supported camera devices.", + "return": "Returns the path to the camera device.", + "maixpy": "maix.camera.list_devices", + "py_doc": "List all supported camera devices.\n\nReturns: Returns the path to the camera device.\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector list_devices()" + }, + "set_regs_enable": { + "type": "func", + "name": "set_regs_enable", + "doc": { + "brief": "Enable set camera registers, default is false, if set to true, will not set camera registers, you can manually set registers by write_reg API.", + "param": { + "enable": "enable/disable set camera registers" + }, + "maixpy": "maix.camera.set_regs_enable", + "py_doc": "Enable set camera registers, default is false, if set to true, will not set camera registers, you can manually set registers by write_reg API.\n\nArgs:\n - enable: enable/disable set camera registers\n" + }, + "args": [ + [ + "bool", + "enable", + "true" + ] + ], + "ret_type": "void", + "static": false, + "def": "void set_regs_enable(bool enable = true)" + }, + "Camera": { + "type": "class", + "name": "Camera", + "doc": { + "brief": "Camera class", + "maixpy": "maix.camera.Camera", + "py_doc": "Camera class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Camera", + "doc": { + "brief": "Construct a new Camera object", + "param": { + "width": "camera width, default is -1, means auto, mostly means max width of camera support", + "height": "camera height, default is -1, means auto, mostly means max height of camera support", + "format": "camera output format, default is image.Format.FMT_RGB888", + "device": "camera device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device", + "fps": "camera fps, default is -1, means auto, mostly means max fps of camera support", + "buff_num": "camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,\nmore than one buffer will accelerate image read speed, but will cost more memory.", + "open": "If true, camera will automatically call open() after creation. default is true." + }, + "maixpy": "maix.camera.Camera.__init__", + "maixcdk": "maix.camera.Camera.Camera", + "py_doc": "Construct a new Camera object\n\nArgs:\n - width: camera width, default is -1, means auto, mostly means max width of camera support\n - height: camera height, default is -1, means auto, mostly means max height of camera support\n - format: camera output format, default is image.Format.FMT_RGB888\n - device: camera device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device\n - fps: camera fps, default is -1, means auto, mostly means max fps of camera support\n - buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,\nmore than one buffer will accelerate image read speed, but will cost more memory.\n - open: If true, camera will automatically call open() after creation. default is true.\n" + }, + "args": [ + [ + "int", + "width", + "-1" + ], + [ + "int", + "height", + "-1" + ], + [ + "image::Format", + "format", + "image::FMT_RGB888" + ], + [ + "const char *", + "device", + "nullptr" + ], + [ + "int", + "fps", + "-1" + ], + [ + "int", + "buff_num", + "3" + ], + [ + "bool", + "open", + "true" + ] + ], + "ret_type": null, + "static": false, + "def": "Camera(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, const char *device = nullptr, int fps = -1, int buff_num = 3, bool open = true)" + }, + "get_ch_nums": { + "type": "func", + "name": "get_ch_nums", + "doc": { + "brief": "Get the number of channels supported by the camera.", + "return": "Returns the maximum number of channels.", + "maixpy": "maix.camera.Camera.get_ch_nums", + "py_doc": "Get the number of channels supported by the camera.\n\nReturns: Returns the maximum number of channels.\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int get_ch_nums()" + }, + "open": { + "type": "func", + "name": "open", + "doc": { + "brief": "Open camera and run", + "param": { + "width": "camera width, default is -1, means auto, mostly means max width of camera support", + "height": "camera height, default is -1, means auto, mostly means max height of camera support", + "format": "camera output format, default same as the constructor's format argument", + "fps": "camera fps, default is -1, means auto, mostly means max fps of camera support", + "buff_num": "camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,\nmore than one buffer will accelerate image read speed, but will cost more memory." + }, + "return": "error code, err::ERR_NONE means success, others means failed", + "maixpy": "maix.camera.Camera.open", + "py_doc": "Open camera and run\n\nArgs:\n - width: camera width, default is -1, means auto, mostly means max width of camera support\n - height: camera height, default is -1, means auto, mostly means max height of camera support\n - format: camera output format, default same as the constructor's format argument\n - fps: camera fps, default is -1, means auto, mostly means max fps of camera support\n - buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,\nmore than one buffer will accelerate image read speed, but will cost more memory.\n\n\nReturns: error code, err::ERR_NONE means success, others means failed\n" + }, + "args": [ + [ + "int", + "width", + "-1" + ], + [ + "int", + "height", + "-1" + ], + [ + "image::Format", + "format", + "image::FMT_INVALID" + ], + [ + "int", + "fps", + "-1" + ], + [ + "int", + "buff_num", + "-1" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err open(int width = -1, int height = -1, image::Format format = image::FMT_INVALID, int fps = -1, int buff_num = -1)" + }, + "read": { + "type": "func", + "name": "read", + "doc": { + "brief": "Get one frame image from camera buffer, must call open method before read.\\nIf open method not called, will call it automatically, if open failed, will throw exception!\\nSo call open method before read is recommended.", + "param": { + "buff": "buffer to store image data, if buff is nullptr, will alloc memory automatically.\nIn MaixPy, default to None, you can create a image.Image object, then pass img.data() to buff.", + "block": "block read, default is true, means block util read image successfully,\nif set to false, will return nullptr if no image in buffer" + }, + "return": "image::Image object, if failed, return nullptr, you should delete if manually in C++", + "maixpy": "maix.camera.Camera.read", + "py_doc": "Get one frame image from camera buffer, must call open method before read.\nIf open method not called, will call it automatically, if open failed, will throw exception!\nSo call open method before read is recommended.\n\nArgs:\n - buff: buffer to store image data, if buff is nullptr, will alloc memory automatically.\nIn MaixPy, default to None, you can create a image.Image object, then pass img.data() to buff.\n - block: block read, default is true, means block util read image successfully,\nif set to false, will return nullptr if no image in buffer\n\n\nReturns: image::Image object, if failed, return nullptr, you should delete if manually in C++\n" + }, + "args": [ + [ + "void *", + "buff", + "nullptr" + ], + [ + "size_t", + "buff_size", + "0" + ], + [ + "bool", + "block", + "true" + ] + ], + "ret_type": "image::Image*", + "static": false, + "def": "image::Image *read(void *buff = nullptr, size_t buff_size = 0, bool block = true)" + }, + "clear_buff": { + "type": "func", + "name": "clear_buff", + "doc": { + "brief": "Clear buff to ensure the next read image is the latest image", + "maixpy": "maix.camera.Camera.clear_buff", + "py_doc": "Clear buff to ensure the next read image is the latest image" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void clear_buff()" + }, + "skip_frames": { + "type": "func", + "name": "skip_frames", + "doc": { + "brief": "Read some frames and drop, this is usually used avoid read not stable image when camera just opened.", + "param": { + "num": "number of frames to read and drop" + }, + "maixpy": "maix.camera.Camera.skip_frames", + "py_doc": "Read some frames and drop, this is usually used avoid read not stable image when camera just opened.\n\nArgs:\n - num: number of frames to read and drop\n" + }, + "args": [ + [ + "int", + "num", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void skip_frames(int num)" + }, + "close": { + "type": "func", + "name": "close", + "doc": { + "brief": "Close camera", + "maixpy": "maix.camera.Camera.close", + "py_doc": "Close camera" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void close()" + }, + "add_channel": { + "type": "func", + "name": "add_channel", + "doc": { + "brief": "Add a new channel and return a new Camera object, you can use close() to close this channel.", + "param": { + "width": "camera width, default is -1, means auto, mostly means max width of camera support", + "height": "camera height, default is -1, means auto, mostly means max height of camera support", + "format": "camera output format, default is RGB888", + "fps": "camera fps, default is -1, means auto, mostly means max fps of camera support", + "buff_num": "camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,\nmore than one buffer will accelerate image read speed, but will cost more memory.", + "open": "If true, camera will automatically call open() after creation. default is true." + }, + "return": "new Camera object", + "maixpy": "maix.camera.Camera.add_channel", + "py_doc": "Add a new channel and return a new Camera object, you can use close() to close this channel.\n\nArgs:\n - width: camera width, default is -1, means auto, mostly means max width of camera support\n - height: camera height, default is -1, means auto, mostly means max height of camera support\n - format: camera output format, default is RGB888\n - fps: camera fps, default is -1, means auto, mostly means max fps of camera support\n - buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,\nmore than one buffer will accelerate image read speed, but will cost more memory.\n - open: If true, camera will automatically call open() after creation. default is true.\n\n\nReturns: new Camera object\n" + }, + "args": [ + [ + "int", + "width", + "-1" + ], + [ + "int", + "height", + "-1" + ], + [ + "image::Format", + "format", + "image::FMT_RGB888" + ], + [ + "int", + "fps", + "-1" + ], + [ + "int", + "buff_num", + "3" + ], + [ + "bool", + "open", + "true" + ] + ], + "ret_type": "camera::Camera*", + "static": false, + "def": "camera::Camera *add_channel(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, int fps = -1, int buff_num = 3, bool open = true)" + }, + "is_opened": { + "type": "func", + "name": "is_opened", + "doc": { + "brief": "Check if camera is opened", + "return": "true if camera is opened, false if not", + "maixpy": "maix.camera.Camera.is_opened", + "py_doc": "Check if camera is opened\n\nReturns: true if camera is opened, false if not\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_opened()" + }, + "is_closed": { + "type": "func", + "name": "is_closed", + "doc": { + "brief": "check camera device is closed or not", + "return": "closed or not, bool type", + "maixpy": "maix.camera.Camera.is_closed", + "py_doc": "check camera device is closed or not\n\nReturns: closed or not, bool type\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_closed()" + }, + "width": { + "type": "func", + "name": "width", + "doc": { + "brief": "Get camera width", + "return": "camera width", + "maixpy": "maix.camera.Camera.width", + "py_doc": "Get camera width\n\nReturns: camera width\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int width()" + }, + "height": { + "type": "func", + "name": "height", + "doc": { + "brief": "Get camera height", + "return": "camera height", + "maixpy": "maix.camera.Camera.height", + "py_doc": "Get camera height\n\nReturns: camera height\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int height()" + }, + "fps": { + "type": "func", + "name": "fps", + "doc": { + "brief": "Get camera fps", + "return": "camera fps", + "maixpy": "maix.camera.Camera.fps", + "py_doc": "Get camera fps\n\nReturns: camera fps\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int fps()" + }, + "format": { + "type": "func", + "name": "format", + "doc": { + "brief": "Get camera output format", + "return": "camera output format, image::Format object", + "maixpy": "maix.camera.Camera.format", + "py_doc": "Get camera output format\n\nReturns: camera output format, image::Format object\n" + }, + "args": [], + "ret_type": "image::Format", + "static": false, + "def": "image::Format format()" + }, + "buff_num": { + "type": "func", + "name": "buff_num", + "doc": { + "brief": "Get camera buffer number", + "return": "camera buffer number", + "maixpy": "maix.camera.Camera.buff_num", + "py_doc": "Get camera buffer number\n\nReturns: camera buffer number\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int buff_num()" + }, + "hmirror": { + "type": "func", + "name": "hmirror", + "doc": { + "brief": "Get camera horizontal mirror", + "return": "camera horizontal mirror", + "maixpy": "maix.camera.Camera.hmirror", + "py_doc": "Get camera horizontal mirror\n\nReturns: camera horizontal mirror\n" + }, + "args": [ + [ + "int", + "value", + "-1" + ] + ], + "ret_type": "int", + "static": false, + "def": "int hmirror(int value = -1)" + }, + "vflip": { + "type": "func", + "name": "vflip", + "doc": { + "brief": "Get camera vertical flip", + "return": "camera vertical flip", + "maixpy": "maix.camera.Camera.vflip", + "py_doc": "Get camera vertical flip\n\nReturns: camera vertical flip\n" + }, + "args": [ + [ + "int", + "value", + "-1" + ] + ], + "ret_type": "int", + "static": false, + "def": "int vflip(int value = -1)" + }, + "exposure": { + "type": "func", + "name": "exposure", + "doc": { + "brief": "Get camera exposure", + "return": "camera exposure", + "maixpy": "maix.camera.Camera.exposure", + "py_doc": "Get camera exposure\n\nReturns: camera exposure\n" + }, + "args": [ + [ + "int", + "value", + "-1" + ] + ], + "ret_type": "float", + "static": false, + "def": "float exposure(int value = -1)" + }, + "gain": { + "type": "func", + "name": "gain", + "doc": { + "brief": "Get camera gain", + "return": "camera gain", + "maixpy": "maix.camera.Camera.gain", + "py_doc": "Get camera gain\n\nReturns: camera gain\n" + }, + "args": [ + [ + "int", + "value", + "-1" + ] + ], + "ret_type": "float", + "static": false, + "def": "float gain(int value = -1)" + }, + "device": { + "type": "func", + "name": "device", + "doc": { + "brief": "Get camera device path", + "return": "camera device path", + "maixpy": "maix.camera.Camera.device", + "py_doc": "Get camera device path\n\nReturns: camera device path\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string device()" + }, + "write_reg": { + "type": "func", + "name": "write_reg", + "doc": { + "brief": "Write camera register", + "param": { + "addr": "register address", + "data": "register data", + "bit_width": "register data bit width, default is 8" + }, + "return": "error code, err::ERR_NONE means success, others means failed", + "maixpy": "maix.camera.Camera.write_reg", + "py_doc": "Write camera register\n\nArgs:\n - addr: register address\n - data: register data\n - bit_width: register data bit width, default is 8\n\n\nReturns: error code, err::ERR_NONE means success, others means failed\n" + }, + "args": [ + [ + "int", + "addr", + null + ], + [ + "int", + "data", + null + ], + [ + "int", + "bit_width", + "8" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err write_reg(int addr, int data, int bit_width = 8)" + }, + "read_reg": { + "type": "func", + "name": "read_reg", + "doc": { + "brief": "Read camera register", + "param": { + "addr": "register address", + "bit_width": "register data bit width, default is 8" + }, + "return": "register data, -1 means failed", + "maixpy": "maix.camera.Camera.read_reg", + "py_doc": "Read camera register\n\nArgs:\n - addr: register address\n - bit_width: register data bit width, default is 8\n\n\nReturns: register data, -1 means failed\n" + }, + "args": [ + [ + "int", + "addr", + null + ], + [ + "int", + "bit_width", + "8" + ] + ], + "ret_type": "int", + "static": false, + "def": "int read_reg(int addr, int bit_width = 8)" + }, + "show_colorbar": { + "type": "func", + "name": "show_colorbar", + "doc": { + "brief": "Camera output color bar image for test", + "param": { + "enable": "enable/disable color bar" + }, + "return": "error code, err::ERR_NONE means success, others means failed", + "maixpy": "maix.camera.Camera.show_colorbar", + "py_doc": "Camera output color bar image for test\n\nArgs:\n - enable: enable/disable color bar\n\n\nReturns: error code, err::ERR_NONE means success, others means failed\n" + }, + "args": [ + [ + "bool", + "enable", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err show_colorbar(bool enable)" + } + }, + "def": "class Camera" + } + }, + "auto_add": false + }, + "display": { + "type": "module", + "doc": { + "brief": "maix.display module, control display device and show image on it", + "maixpy": "maix.display", + "py_doc": "maix.display module, control display device and show image on it" + }, + "members": { + "Display": { + "type": "class", + "name": "Display", + "doc": { + "brief": "Display class", + "maixpy": "maix.display.Display", + "py_doc": "Display class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Display", + "doc": { + "brief": "Construct a new Display object", + "param": { + "width": "display width, by default(value is -1) means auto detect,\nif width > max device supported width, will auto set to max device supported width", + "height": "display height, by default(value is -1) means auto detect,\nif height > max device supported height, will auto set to max device supported height", + "device": "display device name, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device", + "open": "If true, display will automatically call open() after creation. default is true." + }, + "maixpy": "maix.display.Display.__init__", + "maixcdk": "maix.display.Display.Display", + "py_doc": "Construct a new Display object\n\nArgs:\n - width: display width, by default(value is -1) means auto detect,\nif width > max device supported width, will auto set to max device supported width\n - height: display height, by default(value is -1) means auto detect,\nif height > max device supported height, will auto set to max device supported height\n - device: display device name, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device\n - open: If true, display will automatically call open() after creation. default is true.\n" + }, + "args": [ + [ + "int", + "width", + "-1" + ], + [ + "int", + "height", + "-1" + ], + [ + "image::Format", + "format", + "image::FMT_RGB888" + ], + [ + "const char *", + "device", + "nullptr" + ], + [ + "bool", + "open", + "true" + ] + ], + "ret_type": null, + "static": false, + "def": "Display(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, const char *device = nullptr, bool open = true)" + }, + "width": { + "type": "func", + "name": "width", + "doc": { + "brief": "Get display width", + "return": "width", + "maixpy": "maix.display.Display.width", + "py_doc": "Get display width\n\nReturns: width\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int width()" + }, + "height": { + "type": "func", + "name": "height", + "doc": { + "brief": "Get display height", + "param": { + "ch": "channel to get, by default(value is 0) means the first channel" + }, + "return": "height", + "maixpy": "maix.display.Display.height", + "py_doc": "Get display height\n\nArgs:\n - ch: channel to get, by default(value is 0) means the first channel\n\n\nReturns: height\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int height()" + }, + "size": { + "type": "func", + "name": "size", + "doc": { + "brief": "Get display size", + "param": { + "ch": "channel to get, by default(value is 0) means the first channel" + }, + "return": "size A list type in MaixPy, [width, height]", + "maixpy": "maix.display.Display.size", + "py_doc": "Get display size\n\nArgs:\n - ch: channel to get, by default(value is 0) means the first channel\n\n\nReturns: size A list type in MaixPy, [width, height]\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector size()" + }, + "format": { + "type": "func", + "name": "format", + "doc": { + "brief": "Get display format", + "return": "format", + "maixpy": "maix.display.Display.format", + "py_doc": "Get display format\n\nReturns: format\n" + }, + "args": [], + "ret_type": "image::Format", + "static": false, + "def": "image::Format format()" + }, + "open": { + "type": "func", + "name": "open", + "doc": { + "brief": "open display device, if already opened, will return err.ERR_NONE.", + "param": { + "width": "display width, default is -1, means auto, mostly means max width of display support", + "height": "display height, default is -1, means auto, mostly means max height of display support", + "format": "display output format, default is RGB888" + }, + "return": "error code", + "maixpy": "maix.display.Display.open", + "py_doc": "open display device, if already opened, will return err.ERR_NONE.\n\nArgs:\n - width: display width, default is -1, means auto, mostly means max width of display support\n - height: display height, default is -1, means auto, mostly means max height of display support\n - format: display output format, default is RGB888\n\n\nReturns: error code\n" + }, + "args": [ + [ + "int", + "width", + "-1" + ], + [ + "int", + "height", + "-1" + ], + [ + "image::Format", + "format", + "image::FMT_INVALID" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err open(int width = -1, int height = -1, image::Format format = image::FMT_INVALID)" + }, + "close": { + "type": "func", + "name": "close", + "doc": { + "brief": "close display device", + "return": "error code", + "maixpy": "maix.display.Display.close", + "py_doc": "close display device\n\nReturns: error code\n" + }, + "args": [], + "ret_type": "err::Err", + "static": false, + "def": "err::Err close()" + }, + "add_channel": { + "type": "func", + "name": "add_channel", + "doc": { + "brief": "Add a new channel and return a new Display object, you can use close() to close this channel.", + "param": { + "width": "display width, default is -1, means auto, mostly means max width of display support", + "height": "display height, default is -1, means auto, mostly means max height of display support", + "format": "display output format, default is RGB888", + "open": "If true, display will automatically call open() after creation. default is true." + }, + "return": "new Display object", + "maixpy": "maix.display.Display.add_channel", + "py_doc": "Add a new channel and return a new Display object, you can use close() to close this channel.\n\nArgs:\n - width: display width, default is -1, means auto, mostly means max width of display support\n - height: display height, default is -1, means auto, mostly means max height of display support\n - format: display output format, default is RGB888\n - open: If true, display will automatically call open() after creation. default is true.\n\n\nReturns: new Display object\n" + }, + "args": [ + [ + "int", + "width", + "-1" + ], + [ + "int", + "height", + "-1" + ], + [ + "image::Format", + "format", + "image::FMT_RGB888" + ], + [ + "bool", + "open", + "true" + ] + ], + "ret_type": "display::Display*", + "static": false, + "def": "display::Display *add_channel(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, bool open = true)" + }, + "is_opened": { + "type": "func", + "name": "is_opened", + "doc": { + "brief": "check display device is opened or not", + "return": "opened or not, bool type", + "maixpy": "maix.display.Display.is_opened", + "py_doc": "check display device is opened or not\n\nReturns: opened or not, bool type\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_opened()" + }, + "is_closed": { + "type": "func", + "name": "is_closed", + "doc": { + "brief": "check display device is closed or not", + "return": "closed or not, bool type", + "maixpy": "maix.display.Display.is_closed", + "py_doc": "check display device is closed or not\n\nReturns: closed or not, bool type\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_closed()" + }, + "show": { + "type": "func", + "name": "show", + "doc": { + "brief": "show image on display device, and will also send to MaixVision work station if connected.", + "param": { + "img": "image to show, image.Image object,\nif the size of image smaller than display size, will show in the center of display;\nif the size of image bigger than display size, will auto resize to display size and keep ratio, fill blank with black color.", + "fit": "image in screen fit mode, by default(value is image.FIT_CONTAIN), @see image.Fit for more details\ne.g. image.FIT_CONTAIN means resize image to fit display size and keep ratio, fill blank with black color." + }, + "return": "error code", + "maixpy": "maix.display.Display.show", + "py_doc": "show image on display device, and will also send to MaixVision work station if connected.\n\nArgs:\n - img: image to show, image.Image object,\nif the size of image smaller than display size, will show in the center of display;\nif the size of image bigger than display size, will auto resize to display size and keep ratio, fill blank with black color.\n - fit: image in screen fit mode, by default(value is image.FIT_CONTAIN), @see image.Fit for more details\ne.g. image.FIT_CONTAIN means resize image to fit display size and keep ratio, fill blank with black color.\n\n\nReturns: error code\n" + }, + "args": [ + [ + "image::Image &", + "img", + null + ], + [ + "image::Fit", + "fit", + "image::FIT_CONTAIN" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err show(image::Image &img, image::Fit fit = image::FIT_CONTAIN)" + }, + "device": { + "type": "func", + "name": "device", + "doc": { + "brief": "Get display device path", + "return": "display device path", + "maixpy": "maix.display.Display.device", + "py_doc": "Get display device path\n\nReturns: display device path\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string device()" + } + }, + "def": "class Display" + }, + "send_to_maixvision": { + "type": "func", + "name": "send_to_maixvision", + "doc": { + "brief": "Send image to MaixVision work station if connected.\\nIf you want to debug your program an don't want to initialize display, use this method.", + "param": { + "img": "image to send, image.Image object" + }, + "maixpy": "maix.display.send_to_maixvision", + "py_doc": "Send image to MaixVision work station if connected.\nIf you want to debug your program an don't want to initialize display, use this method.\n\nArgs:\n - img: image to send, image.Image object\n" + }, + "args": [ + [ + "image::Image &", + "img", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void send_to_maixvision(image::Image &img)" + } + }, + "auto_add": false + }, + "comm": { + "type": "module", + "doc": { + "brief": "maix.comm module" + }, + "members": { + "CommProtocol": { + "type": "class", + "name": "CommProtocol", + "doc": { + "brief": "Class for communication protocol", + "maixpy": "maix.comm.CommProtocol", + "py_doc": "Class for communication protocol" + }, + "members": { + "__init__": { + "type": "func", + "name": "CommProtocol", + "doc": { + "brief": "Construct a new CommProtocol object", + "param": { + "buff_size": "buffer size, default to 1024 bytes" + }, + "maixpy": "maix.comm.CommProtocol.__init__", + "maixcdk": "maix.comm.CommProtocol.CommProtocol", + "py_doc": "Construct a new CommProtocol object\n\nArgs:\n - buff_size: buffer size, default to 1024 bytes\n" + }, + "args": [ + [ + "int", + "buff_size", + "1024" + ] + ], + "ret_type": null, + "static": false, + "def": "CommProtocol(int buff_size = 1024)" + }, + "get_msg": { + "type": "func", + "name": "get_msg", + "doc": { + "brief": "Read data to buffer, and try to decode it as maix.protocol.MSG object", + "return": "decoded data, if nullptr, means no valid frame found.\nAttentioin, delete it after use in C++.", + "maixpy": "maix.comm.CommProtocol.get_msg", + "py_doc": "Read data to buffer, and try to decode it as maix.protocol.MSG object\n\nReturns: decoded data, if nullptr, means no valid frame found.\nAttentioin, delete it after use in C++.\n" + }, + "args": [], + "ret_type": "protocol::MSG*", + "static": false, + "def": "protocol::MSG *get_msg()" + }, + "resp_ok": { + "type": "func", + "name": "resp_ok", + "doc": { + "brief": "Send response ok(success) message", + "param": { + "cmd": "CMD value", + "body": "response body, can be null" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err.\nAttentioin, delete it after use in C++.", + "maixpy": "maix.comm.CommProtocol.resp_ok", + "py_doc": "Send response ok(success) message\n\nArgs:\n - cmd: CMD value\n - body: response body, can be null\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err.\nAttentioin, delete it after use in C++.\n" + }, + "args": [ + [ + "uint8_t", + "cmd", + null + ], + [ + "Bytes *", + "body", + "nullptr" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err resp_ok(uint8_t cmd, Bytes *body = nullptr)" + }, + "report": { + "type": "func", + "name": "report", + "doc": { + "brief": "Send report message", + "param": { + "cmd": "CMD value", + "body": "report body, can be null" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err.\nAttentioin, delete it after use in C++.", + "maixpy": "maix.comm.CommProtocol.report", + "py_doc": "Send report message\n\nArgs:\n - cmd: CMD value\n - body: report body, can be null\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err.\nAttentioin, delete it after use in C++.\n" + }, + "args": [ + [ + "uint8_t", + "cmd", + null + ], + [ + "Bytes *", + "body", + "nullptr" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err report(uint8_t cmd, Bytes *body = nullptr)" + }, + "resp_err": { + "type": "func", + "name": "resp_err", + "doc": { + "brief": "Encode response error message to buffer", + "param": { + "cmd": "CMD value", + "code": "error code", + "msg": "error message" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err.\nAttentioin, delete it after use in C++.", + "maixpy": "maix.comm.CommProtocol.resp_err", + "py_doc": "Encode response error message to buffer\n\nArgs:\n - cmd: CMD value\n - code: error code\n - msg: error message\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err.\nAttentioin, delete it after use in C++.\n" + }, + "args": [ + [ + "uint8_t", + "cmd", + null + ], + [ + "err::Err", + "code", + null + ], + [ + "const std::string &", + "msg", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err resp_err(uint8_t cmd, err::Err code, const std::string &msg)" + } + }, + "def": "class CommProtocol" + } + }, + "auto_add": true + }, + "thread": { + "type": "module", + "doc": { + "brief": "maix.thread module" + }, + "members": { + "Thread": { + "type": "class", + "name": "Thread", + "doc": { + "brief": "thread class", + "maixpy": "maix.thread.Thread", + "py_doc": "thread class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Thread", + "doc": { + "brief": "create thread", + "param": { + "func": "direction [in], thread function, one `args` parameter, void* type, no return value", + "args": "direction [in], thread function parameter" + }, + "maixpy": "maix.thread.Thread.__init__", + "maixcdk": "maix.thread.Thread.Thread", + "py_doc": "create thread\n\nArgs:\n - func: direction [in], thread function, one `args` parameter, void* type, no return value\n - args: direction [in], thread function parameter\n" + }, + "args": [ + [ + "std::function", + "func", + null + ], + [ + "void *", + "args", + "nullptr" + ] + ], + "ret_type": null, + "static": false, + "def": "Thread(std::function func, void *args = nullptr)" + }, + "join": { + "type": "func", + "name": "join", + "doc": { + "brief": "wait thread exit", + "maixpy": "maix.thread.Thread.join", + "py_doc": "wait thread exit" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void join()" + }, + "detach": { + "type": "func", + "name": "detach", + "doc": { + "brief": "detach thread", + "maixpy": "maix.thread.Thread.detach", + "py_doc": "detach thread" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void detach()" + }, + "joinable": { + "type": "func", + "name": "joinable", + "doc": { + "brief": "Check if thread is joinable", + "return": "true if thread is joinable", + "maixpy": "maix.thread.Thread.joinable", + "py_doc": "Check if thread is joinable\n\nReturns: true if thread is joinable\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool joinable()" + } + }, + "def": "class Thread" + } + }, + "auto_add": true + }, + "fs": { + "type": "module", + "doc": { + "brief": "maix.fs module" + }, + "members": { + "SEEK": { + "type": "enum", + "name": "SEEK", + "doc": { + "brief": "SEEK enums", + "maixpy": "maix.fs.SEEK", + "py_doc": "SEEK enums" + }, + "values": [ + [ + "SEEK_SET", + "0", + "Seek from beginning of file." + ], + [ + "SEEK_CUR", + "1", + "Seek from current position." + ], + [ + "SEEK_END", + "2", + "Seek from end of file." + ] + ], + "def": "enum SEEK\n {\n SEEK_SET = 0, // Seek from beginning of file.\n SEEK_CUR = 1, // Seek from current position.\n SEEK_END = 2, // Seek from end of file.\n }" + }, + "isabs": { + "type": "func", + "name": "isabs", + "doc": { + "brief": "Check if the path is absolute path", + "param": { + "path": "path to check" + }, + "return": "true if path is absolute path", + "maixpy": "maix.fs.isabs", + "py_doc": "Check if the path is absolute path\n\nArgs:\n - path: path to check\n\n\nReturns: true if path is absolute path\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "bool", + "static": false, + "def": "bool isabs(const std::string &path)" + }, + "isdir": { + "type": "func", + "name": "isdir", + "doc": { + "brief": "Check if the path is a directory, if not exist, throw exception", + "param": { + "path": "path to check" + }, + "return": "true if path is a directory", + "maixpy": "maix.fs.isdir", + "py_doc": "Check if the path is a directory, if not exist, throw exception\n\nArgs:\n - path: path to check\n\n\nReturns: true if path is a directory\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "bool", + "static": false, + "def": "bool isdir(const std::string &path)" + }, + "isfile": { + "type": "func", + "name": "isfile", + "doc": { + "brief": "Check if the path is a file, if not exist, throw exception", + "param": { + "path": "path to check" + }, + "return": "true if path is a file", + "maixpy": "maix.fs.isfile", + "py_doc": "Check if the path is a file, if not exist, throw exception\n\nArgs:\n - path: path to check\n\n\nReturns: true if path is a file\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "bool", + "static": false, + "def": "bool isfile(const std::string &path)" + }, + "islink": { + "type": "func", + "name": "islink", + "doc": { + "brief": "Check if the path is a link, if not exist, throw exception", + "param": { + "path": "path to check" + }, + "return": "true if path is a link", + "maixpy": "maix.fs.islink", + "py_doc": "Check if the path is a link, if not exist, throw exception\n\nArgs:\n - path: path to check\n\n\nReturns: true if path is a link\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "bool", + "static": false, + "def": "bool islink(const std::string &path)" + }, + "exists": { + "type": "func", + "name": "exists", + "doc": { + "brief": "Check if the path exists", + "param": { + "path": "path to check" + }, + "return": "true if path exists", + "maixpy": "maix.fs.exists", + "py_doc": "Check if the path exists\n\nArgs:\n - path: path to check\n\n\nReturns: true if path exists\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "bool", + "static": false, + "def": "bool exists(const std::string &path)" + }, + "mkdir": { + "type": "func", + "name": "mkdir", + "doc": { + "brief": "Create a directory recursively", + "param": { + "path": "path to create", + "exist_ok": "if true, also return true if directory already exists", + "recursive": "if true, create directory recursively, otherwise, only create one directory, default is true" + }, + "return": "err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed", + "maixpy": "maix.fs.mkdir", + "py_doc": "Create a directory recursively\n\nArgs:\n - path: path to create\n - exist_ok: if true, also return true if directory already exists\n - recursive: if true, create directory recursively, otherwise, only create one directory, default is true\n\n\nReturns: err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ], + [ + "bool", + "exist_ok", + "true" + ], + [ + "bool", + "recursive", + "true" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err mkdir(const std::string &path, bool exist_ok = true, bool recursive = true)" + }, + "rmdir": { + "type": "func", + "name": "rmdir", + "doc": { + "brief": "Remove a directory", + "param": { + "path": "path to remove", + "recursive": "if true, remove directory recursively, otherwise, only remove empty directory, default is false" + }, + "return": "err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed", + "maixpy": "maix.fs.rmdir", + "py_doc": "Remove a directory\n\nArgs:\n - path: path to remove\n - recursive: if true, remove directory recursively, otherwise, only remove empty directory, default is false\n\n\nReturns: err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ], + [ + "bool", + "recursive", + "false" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err rmdir(const std::string &path, bool recursive = false)" + }, + "remove": { + "type": "func", + "name": "remove", + "doc": { + "brief": "Remove a file", + "param": { + "path": "path to remove" + }, + "return": "err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed", + "maixpy": "maix.fs.remove", + "py_doc": "Remove a file\n\nArgs:\n - path: path to remove\n\n\nReturns: err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err remove(const std::string &path)" + }, + "rename": { + "type": "func", + "name": "rename", + "doc": { + "brief": "Rename a file or directory", + "param": { + "src": "source path", + "dst": "destination path, if destination dirs not exist, will auto create" + }, + "return": "err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed", + "maixpy": "maix.fs.rename", + "py_doc": "Rename a file or directory\n\nArgs:\n - src: source path\n - dst: destination path, if destination dirs not exist, will auto create\n\n\nReturns: err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed\n" + }, + "args": [ + [ + "const std::string &", + "src", + null + ], + [ + "const std::string &", + "dst", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err rename(const std::string &src, const std::string &dst)" + }, + "getsize": { + "type": "func", + "name": "getsize", + "doc": { + "brief": "Get file size", + "param": { + "path": "path to get size" + }, + "return": "file size if success, -err::Err code if failed", + "maixpy": "maix.fs.getsize", + "py_doc": "Get file size\n\nArgs:\n - path: path to get size\n\n\nReturns: file size if success, -err::Err code if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int getsize(const std::string &path)" + }, + "dirname": { + "type": "func", + "name": "dirname", + "doc": { + "brief": "Get directory name of path", + "param": { + "path": "path to get dirname" + }, + "return": "dirname if success, empty string if failed", + "maixpy": "maix.fs.dirname", + "py_doc": "Get directory name of path\n\nArgs:\n - path: path to get dirname\n\n\nReturns: dirname if success, empty string if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string dirname(const std::string &path)" + }, + "basename": { + "type": "func", + "name": "basename", + "doc": { + "brief": "Get base name of path", + "param": { + "path": "path to get basename" + }, + "return": "basename if success, empty string if failed", + "maixpy": "maix.fs.basename", + "py_doc": "Get base name of path\n\nArgs:\n - path: path to get basename\n\n\nReturns: basename if success, empty string if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string basename(const std::string &path)" + }, + "abspath": { + "type": "func", + "name": "abspath", + "doc": { + "brief": "Get absolute path", + "param": { + "path": "path to get absolute path" + }, + "return": "absolute path if success, empty string if failed", + "maixpy": "maix.fs.abspath", + "py_doc": "Get absolute path\n\nArgs:\n - path: path to get absolute path\n\n\nReturns: absolute path if success, empty string if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string abspath(const std::string &path)" + }, + "getcwd": { + "type": "func", + "name": "getcwd", + "doc": { + "brief": "Get current working directory", + "return": "current working directory absolute path", + "maixpy": "maix.fs.getcwd", + "py_doc": "Get current working directory\n\nReturns: current working directory absolute path\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string getcwd()" + }, + "realpath": { + "type": "func", + "name": "realpath", + "doc": { + "brief": "Get realpath of path", + "param": { + "path": "path to get realpath" + }, + "return": "realpath if success, empty string if failed", + "maixpy": "maix.fs.realpath", + "py_doc": "Get realpath of path\n\nArgs:\n - path: path to get realpath\n\n\nReturns: realpath if success, empty string if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string realpath(const std::string &path)" + }, + "splitext": { + "type": "func", + "name": "splitext", + "doc": { + "brief": "Get file extension", + "param": { + "path": "path to get extension" + }, + "return": "extension if success, empty string if failed", + "maixpy": "maix.fs.splitext", + "py_doc": "Get file extension\n\nArgs:\n - path: path to get extension\n\n\nReturns: extension if success, empty string if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string splitext(const std::string &path)" + }, + "listdir": { + "type": "func", + "name": "listdir", + "doc": { + "brief": "List files in directory", + "param": { + "path": "path to list", + "recursive": "if true, list recursively, otherwise, only list current directory, default is false", + "full_path": "if true, return full path, otherwise, only return basename, default is false" + }, + "return": "files list if success, nullptr if failed", + "maixpy": "maix.fs.listdir", + "py_doc": "List files in directory\n\nArgs:\n - path: path to list\n - recursive: if true, list recursively, otherwise, only list current directory, default is false\n - full_path: if true, return full path, otherwise, only return basename, default is false\n\n\nReturns: files list if success, nullptr if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ], + [ + "bool", + "recursive", + "false" + ], + [ + "bool", + "full_path", + "false" + ] + ], + "ret_type": "std::vector*", + "static": false, + "def": "std::vector *listdir(const std::string &path, bool recursive = false, bool full_path = false)" + }, + "File": { + "type": "class", + "name": "File", + "doc": { + "brief": "File read write ops", + "maixpy": "maix.fs.File", + "py_doc": "File read write ops" + }, + "members": { + "open": { + "type": "func", + "name": "open", + "doc": { + "brief": "Open a file", + "param": { + "path": "path to open", + "mode": "open mode, support \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\", \"rb\", \"wb\", \"ab\", \"rb+\", \"wb+\", \"ab+\"" + }, + "return": "err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed", + "maixpy": "maix.fs.File.open", + "py_doc": "Open a file\n\nArgs:\n - path: path to open\n - mode: open mode, support \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\", \"rb\", \"wb\", \"ab\", \"rb+\", \"wb+\", \"ab+\"\n\n\nReturns: err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ], + [ + "const std::string &", + "mode", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err open(const std::string &path, const std::string &mode)" + }, + "close": { + "type": "func", + "name": "close", + "doc": { + "brief": "Close a file", + "maixpy": "maix.fs.File.close", + "py_doc": "Close a file" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void close()" + }, + "read": { + "type": "func", + "name": "read", + "doc": { + "brief": "Read data from file API2", + "param": { + "size": "max read size" + }, + "return": "bytes data if success(need delete manually in C/C++), nullptr if failed", + "maixpy": "maix.fs.File.read", + "py_doc": "Read data from file API2\n\nArgs:\n - size: max read size\n\n\nReturns: bytes data if success(need delete manually in C/C++), nullptr if failed\n" + }, + "args": [ + [ + "int", + "size", + null + ] + ], + "ret_type": "std::vector*", + "static": false, + "def": "std::vector *read(int size)" + }, + "readline": { + "type": "func", + "name": "readline", + "doc": { + "brief": "Read line from file", + "return": "line if success, empty string if failed. You need to delete the returned object manually in C/C++.", + "maixpy": "maix.fs.File.readline", + "py_doc": "Read line from file\n\nReturns: line if success, empty string if failed. You need to delete the returned object manually in C/C++.\n" + }, + "args": [], + "ret_type": "std::string*", + "static": false, + "def": "std::string *readline()" + }, + "write": { + "type": "func", + "name": "write", + "doc": { + "brief": "Write data to file API2", + "param": { + "buf": "buffer to write" + }, + "return": "write size if success, -err::Err code if failed", + "maixpy": "maix.fs.File.write", + "py_doc": "Write data to file API2\n\nArgs:\n - buf: buffer to write\n\n\nReturns: write size if success, -err::Err code if failed\n" + }, + "args": [ + [ + "const std::vector &", + "buf", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int write(const std::vector &buf)" + }, + "seek": { + "type": "func", + "name": "seek", + "doc": { + "brief": "Seek file position", + "param": { + "offset": "offset to seek", + "whence": "@see maix.fs.SEEK" + }, + "return": "new position if success, -err::Err code if failed", + "maixpy": "maix.fs.File.seek", + "py_doc": "Seek file position\n\nArgs:\n - offset: offset to seek\n - whence: @see maix.fs.SEEK\n\n\nReturns: new position if success, -err::Err code if failed\n" + }, + "args": [ + [ + "int", + "offset", + null + ], + [ + "int", + "whence", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int seek(int offset, int whence)" + }, + "tell": { + "type": "func", + "name": "tell", + "doc": { + "brief": "Get file position", + "return": "file position if success, -err::Err code if failed", + "maixpy": "maix.fs.File.tell", + "py_doc": "Get file position\n\nReturns: file position if success, -err::Err code if failed\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int tell()" + }, + "flush": { + "type": "func", + "name": "flush", + "doc": { + "brief": "Flush file", + "return": "err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed", + "maixpy": "maix.fs.File.flush", + "py_doc": "Flush file\n\nReturns: err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed\n" + }, + "args": [], + "ret_type": "err::Err", + "static": false, + "def": "err::Err flush()" + } + }, + "def": "class File" + }, + "open": { + "type": "func", + "name": "open", + "doc": { + "brief": "Open a file, and return a File object", + "param": { + "path": "path to open", + "mode": "open mode, support \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\", \"rb\", \"wb\", \"ab\", \"rb+\", \"wb+\", \"ab+\"" + }, + "return": "File object if success(need to delete object manually in C/C++), nullptr if failed", + "maixpy": "maix.fs.open", + "py_doc": "Open a file, and return a File object\n\nArgs:\n - path: path to open\n - mode: open mode, support \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\", \"rb\", \"wb\", \"ab\", \"rb+\", \"wb+\", \"ab+\"\n\n\nReturns: File object if success(need to delete object manually in C/C++), nullptr if failed\n" + }, + "args": [ + [ + "const std::string &", + "path", + null + ], + [ + "const std::string &", + "mode", + null + ] + ], + "ret_type": "fs::File*", + "static": false, + "def": "fs::File *open(const std::string &path, const std::string &mode)" + }, + "tempdir": { + "type": "func", + "name": "tempdir", + "doc": { + "brief": "Get temp files directory", + "return": "temp files directory", + "maixpy": "maix.fs.tempdir", + "py_doc": "Get temp files directory\n\nReturns: temp files directory\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string tempdir()" + } + }, + "auto_add": true + }, + "sys": { + "type": "module", + "doc": { + "brief": "maix.sys module" + }, + "members": { + "os_version()": { + "type": "func", + "name": "os_version", + "doc": { + "brief": "Get system version", + "return": "version string, e.g. \"2024.4.1-13af4b\"", + "maixpy": "maix.sys.os_version()", + "py_doc": "Get system version\n\nReturns: version string, e.g. \"2024.4.1-13af4b\"\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string os_version()" + }, + "device_name()": { + "type": "func", + "name": "device_name", + "doc": { + "brief": "Get device name", + "return": "device name, e.g. \"MaixCAM\"", + "maixpy": "maix.sys.device_name()", + "py_doc": "Get device name\n\nReturns: device name, e.g. \"MaixCAM\"\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string device_name()" + }, + "host_name()": { + "type": "func", + "name": "host_name", + "doc": { + "brief": "Get host name", + "return": "host name, e.g. \"maixcam-2f9f\"", + "maixpy": "maix.sys.host_name()", + "py_doc": "Get host name\n\nReturns: host name, e.g. \"maixcam-2f9f\"\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string host_name()" + }, + "host_domain()": { + "type": "func", + "name": "host_domain", + "doc": { + "brief": "Get host domain", + "return": "host domain, e.g. \"maixcam-2f9f.local\"", + "maixpy": "maix.sys.host_domain()", + "py_doc": "Get host domain\n\nReturns: host domain, e.g. \"maixcam-2f9f.local\"\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string host_domain()" + }, + "ip_address()": { + "type": "func", + "name": "ip_address", + "doc": { + "brief": "Get ip address", + "return": "ip address, dict type, e.g. {\"eth0\": \"192.168.0.195\", \"wlan0\": \"192.168.0.123\", \"usb0\": \"10.47.159.1\"}", + "maixpy": "maix.sys.ip_address()", + "py_doc": "Get ip address\n\nReturns: ip address, dict type, e.g. {\"eth0\": \"192.168.0.195\", \"wlan0\": \"192.168.0.123\", \"usb0\": \"10.47.159.1\"}\n" + }, + "args": [], + "ret_type": "std::map", + "static": false, + "def": "std::map ip_address()" + }, + "mac_address()": { + "type": "func", + "name": "mac_address", + "doc": { + "brief": "Get mac address", + "return": "mac address, dict type, e.g. {\"eth0\": \"00:0c:29:2f:9f:00\", \"wlan0\": \"00:0c:29:2f:9f:01\", \"usb0\": \"00:0c:29:2f:9f:02\"}", + "maixpy": "maix.sys.mac_address()", + "py_doc": "Get mac address\n\nReturns: mac address, dict type, e.g. {\"eth0\": \"00:0c:29:2f:9f:00\", \"wlan0\": \"00:0c:29:2f:9f:01\", \"usb0\": \"00:0c:29:2f:9f:02\"}\n" + }, + "args": [], + "ret_type": "std::map", + "static": false, + "def": "std::map mac_address()" + }, + "device_key()": { + "type": "func", + "name": "device_key", + "doc": { + "brief": "Get device key, can be unique id of device", + "return": "device key, 32 bytes hex string, e.g. \"1234567890abcdef1234567890abcdef\"", + "maixpy": "maix.sys.device_key()", + "py_doc": "Get device key, can be unique id of device\n\nReturns: device key, 32 bytes hex string, e.g. \"1234567890abcdef1234567890abcdef\"\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string device_key()" + }, + "memory_info()": { + "type": "func", + "name": "memory_info", + "doc": { + "brief": "Get memory info", + "return": "memory info, dict type, e.g. {\"total\": 1024, \"used\": 512, \"hw_total\": 256*1024*1024}\ntotal: total memory size in Byte.\nused: used memory size in Byte.\nhw_total: total memory size in Byte of hardware, the total <= hw_total\uff0c\nOS kernel may reserve some memory for some hardware like camera, npu, display etc.", + "maixpy": "maix.sys.memory_info()", + "py_doc": "Get memory info\n\nReturns: memory info, dict type, e.g. {\"total\": 1024, \"used\": 512, \"hw_total\": 256*1024*1024}\ntotal: total memory size in Byte.\nused: used memory size in Byte.\nhw_total: total memory size in Byte of hardware, the total <= hw_total\uff0c\nOS kernel may reserve some memory for some hardware like camera, npu, display etc.\n" + }, + "args": [], + "ret_type": "std::map", + "static": false, + "def": "std::map memory_info()" + }, + "bytes_to_human(1234)": { + "type": "func", + "name": "bytes_to_human", + "doc": { + "brief": "Bytes to human readable string", + "param": { + "bytes:": "bytes size\uff0ce.g. 1234B = 1234/1024 = 1.205 KB", + "precision:": "decimal precision, default 2", + "base:": "base number, default 1024", + "unit:": "unit string, e.g. \"B\"", + "sep:": "separator string, e.g. \" \"" + }, + "return": "human readable string, e.g. \"1.21 KB\"", + "maixpy": "maix.sys.bytes_to_human(1234)", + "py_doc": "Bytes to human readable string\n\nArgs:\n - bytes:: bytes size\uff0ce.g. 1234B = 1234/1024 = 1.205 KB\n - precision:: decimal precision, default 2\n - base:: base number, default 1024\n - unit:: unit string, e.g. \"B\"\n - sep:: separator string, e.g. \" \"\n\n\nReturns: human readable string, e.g. \"1.21 KB\"\n" + }, + "args": [ + [ + "unsigned long long", + "bytes", + null + ], + [ + "int", + "precision", + "2" + ], + [ + "int", + "base", + "1024" + ], + [ + "const std::string &", + "unit", + "\"B\"" + ], + [ + "const std::string &", + "sep", + "\" \"" + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string bytes_to_human(unsigned long long bytes, int precision = 2, int base = 1024, const std::string &unit = \"B\", const std::string &sep = \" \")" + }, + "cpu_freq()": { + "type": "func", + "name": "cpu_freq", + "doc": { + "brief": "Get CPU frequency", + "return": "CPU frequency, dict type, e.g. {\"cpu0\": 1000000000, \"cpu1\": 1000000000}", + "maixpy": "maix.sys.cpu_freq()", + "py_doc": "Get CPU frequency\n\nReturns: CPU frequency, dict type, e.g. {\"cpu0\": 1000000000, \"cpu1\": 1000000000}\n" + }, + "args": [], + "ret_type": "std::map", + "static": false, + "def": "std::map cpu_freq()" + }, + "cpu_temp()": { + "type": "func", + "name": "cpu_temp", + "doc": { + "brief": "Get CPU temperature", + "return": "CPU temperature, unit dgree, dict type, e.g. {\"cpu\": 50.0, \"cpu0\": 50, \"cpu1\": 50}", + "maixpy": "maix.sys.cpu_temp()", + "py_doc": "Get CPU temperature\n\nReturns: CPU temperature, unit dgree, dict type, e.g. {\"cpu\": 50.0, \"cpu0\": 50, \"cpu1\": 50}\n" + }, + "args": [], + "ret_type": "std::map", + "static": false, + "def": "std::map cpu_temp()" + }, + "cpu_usage()": { + "type": "func", + "name": "cpu_usage", + "doc": { + "brief": "Get CPU usage", + "return": "CPU usage, dict type, e.g. {\"cpu\": 50.0, \"cpu0\": 50, \"cpu1\": 50}", + "maixpy": "maix.sys.cpu_usage()", + "py_doc": "Get CPU usage\n\nReturns: CPU usage, dict type, e.g. {\"cpu\": 50.0, \"cpu0\": 50, \"cpu1\": 50}\n" + }, + "args": [], + "ret_type": "std::map", + "static": false, + "def": "std::map cpu_usage()" + }, + "npu_freq()": { + "type": "func", + "name": "npu_freq", + "doc": { + "brief": "Get NPU frequency", + "return": "NPU frequency, dict type, e.g. {\"npu0\": 500000000}", + "maixpy": "maix.sys.npu_freq()", + "py_doc": "Get NPU frequency\n\nReturns: NPU frequency, dict type, e.g. {\"npu0\": 500000000}\n" + }, + "args": [], + "ret_type": "std::map", + "static": false, + "def": "std::map npu_freq()" + }, + "disk_usage()": { + "type": "func", + "name": "disk_usage", + "doc": { + "brief": "Get disk usage", + "param": { + "path:": "disk path, default \"/\"" + }, + "return": "disk usage, dict type, e.g. {\"total\": 1024, \"used\": 512}", + "maixpy": "maix.sys.disk_usage()", + "py_doc": "Get disk usage\n\nArgs:\n - path:: disk path, default \"/\"\n\n\nReturns: disk usage, dict type, e.g. {\"total\": 1024, \"used\": 512}\n" + }, + "args": [ + [ + "const std::string &", + "path", + "\"/\"" + ] + ], + "ret_type": "std::map", + "static": false, + "def": "std::map disk_usage(const std::string &path = \"/\")" + }, + "disk_partitions()": { + "type": "func", + "name": "disk_partitions", + "doc": { + "brief": "Get disk partition and mount point info", + "param": { + "only_disk": "only return real disk, tempfs sysfs etc. not return, default true." + }, + "return": "disk partition and mount point info, list type, e.g. [{\"device\": \"/dev/mmcblk0p1\", \"mountpoint\": \"/mnt/sdcard\", \"fstype\": \"vfat\"}]", + "maixpy": "maix.sys.disk_partitions()", + "py_doc": "Get disk partition and mount point info\n\nArgs:\n - only_disk: only return real disk, tempfs sysfs etc. not return, default true.\n\n\nReturns: disk partition and mount point info, list type, e.g. [{\"device\": \"/dev/mmcblk0p1\", \"mountpoint\": \"/mnt/sdcard\", \"fstype\": \"vfat\"}]\n" + }, + "args": [ + [ + "bool", + "only_disk", + "true" + ] + ], + "ret_type": "std::vector>", + "static": false, + "def": "std::vector> disk_partitions(bool only_disk = true)" + } + }, + "auto_add": true + }, + "time": { + "type": "module", + "doc": { + "brief": "maix.time module" + }, + "members": { + "time": { + "type": "func", + "name": "time", + "doc": { + "brief": "Get current time in s", + "return": "current time in s, double type", + "maixpy": "maix.time.time", + "py_doc": "Get current time in s\n\nReturns: current time in s, double type\n" + }, + "args": [], + "ret_type": "double", + "static": false, + "def": "double time()" + }, + "time_ms": { + "type": "func", + "name": "time_ms", + "doc": { + "brief": "Get current time in ms", + "return": "current time in ms, uint64_t type", + "maixpy": "maix.time.time_ms", + "py_doc": "Get current time in ms\n\nReturns: current time in ms, uint64_t type\n" + }, + "args": [], + "ret_type": "uint64_t", + "static": false, + "def": "uint64_t time_ms()" + }, + "time_s": { + "type": "func", + "name": "time_s", + "doc": { + "brief": "Get current time in s", + "return": "current time in s, uint64_t type", + "maixpy": "maix.time.time_s", + "py_doc": "Get current time in s\n\nReturns: current time in s, uint64_t type\n" + }, + "args": [], + "ret_type": "uint64_t", + "static": false, + "def": "uint64_t time_s()" + }, + "time_us": { + "type": "func", + "name": "time_us", + "doc": { + "brief": "Get current time in us", + "return": "current time in us, uint64_t type", + "maixpy": "maix.time.time_us", + "py_doc": "Get current time in us\n\nReturns: current time in us, uint64_t type\n" + }, + "args": [], + "ret_type": "uint64_t", + "static": false, + "def": "uint64_t time_us()" + }, + "time_diff": { + "type": "func", + "name": "time_diff", + "doc": { + "brief": "Calculate time difference", + "param": { + "last": "last time", + "now": "current time" + }, + "return": "time difference", + "maixpy": "maix.time.time_diff", + "py_doc": "Calculate time difference\n\nArgs:\n - last: last time\n - now: current time\n\n\nReturns: time difference\n" + }, + "args": [ + [ + "double", + "last", + null + ], + [ + "double", + "now", + "-1" + ] + ], + "ret_type": "double", + "static": false, + "def": "double time_diff(double last, double now = -1)" + }, + "sleep": { + "type": "func", + "name": "sleep", + "doc": { + "brief": "Sleep seconds", + "param": { + "s": "seconds, double type" + }, + "maixpy": "maix.time.sleep", + "py_doc": "Sleep seconds\n\nArgs:\n - s: seconds, double type\n" + }, + "args": [ + [ + "double", + "s", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void sleep(double s)" + }, + "sleep_ms": { + "type": "func", + "name": "sleep_ms", + "doc": { + "brief": "Sleep milliseconds", + "param": { + "ms": "milliseconds, uint64_t type" + }, + "maixpy": "maix.time.sleep_ms", + "py_doc": "Sleep milliseconds\n\nArgs:\n - ms: milliseconds, uint64_t type\n" + }, + "args": [ + [ + "uint64_t", + "ms", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void sleep_ms(uint64_t ms)" + }, + "sleep_us": { + "type": "func", + "name": "sleep_us", + "doc": { + "brief": "Sleep microseconds", + "param": { + "us": "microseconds, uint64_t type" + }, + "maixpy": "maix.time.sleep_us", + "py_doc": "Sleep microseconds\n\nArgs:\n - us: microseconds, uint64_t type\n" + }, + "args": [ + [ + "uint64_t", + "us", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void sleep_us(uint64_t us)" + }, + "DateTime": { + "type": "class", + "name": "DateTime", + "doc": { + "brief": "Date and time class", + "maixpy": "maix.time.DateTime", + "py_doc": "Date and time class" + }, + "members": { + "year": { + "type": "var", + "name": "year", + "doc": { + "brief": "Year", + "maixpy": "maix.time.DateTime.year", + "py_doc": "Year" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int year" + }, + "month": { + "type": "var", + "name": "month", + "doc": { + "brief": "Month, 1~12", + "maixpy": "maix.time.DateTime.month", + "py_doc": "Month, 1~12" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int month" + }, + "day": { + "type": "var", + "name": "day", + "doc": { + "brief": "Day", + "maixpy": "maix.time.DateTime.day", + "py_doc": "Day" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int day" + }, + "hour": { + "type": "var", + "name": "hour", + "doc": { + "brief": "Hour", + "maixpy": "maix.time.DateTime.hour", + "py_doc": "Hour" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int hour" + }, + "minute": { + "type": "var", + "name": "minute", + "doc": { + "brief": "Minute", + "maixpy": "maix.time.DateTime.minute", + "py_doc": "Minute" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int minute" + }, + "second": { + "type": "var", + "name": "second", + "doc": { + "brief": "Second", + "maixpy": "maix.time.DateTime.second", + "py_doc": "Second" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int second" + }, + "microsecond": { + "type": "var", + "name": "microsecond", + "doc": { + "brief": "Microsecond", + "maixpy": "maix.time.DateTime.microsecond", + "py_doc": "Microsecond" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int microsecond" + }, + "yearday": { + "type": "var", + "name": "yearday", + "doc": { + "brief": "Year day", + "maixpy": "maix.time.DateTime.yearday", + "py_doc": "Year day" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int yearday" + }, + "weekday": { + "type": "var", + "name": "weekday", + "doc": { + "brief": "Weekday, 0 is Monday, 6 is Sunday", + "maixpy": "maix.time.DateTime.weekday", + "py_doc": "Weekday, 0 is Monday, 6 is Sunday" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int weekday" + }, + "zone": { + "type": "var", + "name": "zone", + "doc": { + "brief": "Time zone", + "maixpy": "maix.time.DateTime.zone", + "py_doc": "Time zone" + }, + "value": null, + "static": false, + "readonly": false, + "def": "float zone" + }, + "zone_name": { + "type": "var", + "name": "zone_name", + "doc": { + "brief": "Time zone name", + "maixpy": "maix.time.DateTime.zone_name", + "py_doc": "Time zone name" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::string zone_name" + }, + "__init__": { + "type": "func", + "name": "DateTime", + "doc": { + "brief": "Constructor", + "param": { + "year": "year", + "month": "month", + "day": "day", + "hour": "hour", + "minute": "minute", + "second": "second", + "microsecond": "microsecond", + "yearday": "year day", + "weekday": "weekday", + "zone": "time zone" + }, + "maixcdk": "maix.time.DateTime.DateTime", + "maixpy": "maix.time.DateTime.__init__", + "py_doc": "Constructor\n\nArgs:\n - year: year\n - month: month\n - day: day\n - hour: hour\n - minute: minute\n - second: second\n - microsecond: microsecond\n - yearday: year day\n - weekday: weekday\n - zone: time zone\n" + }, + "args": [ + [ + "int", + "year", + "0" + ], + [ + "int", + "month", + "0" + ], + [ + "int", + "day", + "0" + ], + [ + "int", + "hour", + "0" + ], + [ + "int", + "minute", + "0" + ], + [ + "int", + "second", + "0" + ], + [ + "int", + "microsecond", + "0" + ], + [ + "int", + "yearday", + "0" + ], + [ + "int", + "weekday", + "0" + ], + [ + "int", + "zone", + "0" + ] + ], + "ret_type": null, + "static": false, + "def": "DateTime(int year = 0, int month = 0, int day = 0, int hour = 0, int minute = 0, int second = 0, int microsecond = 0, int yearday = 0, int weekday = 0, int zone = 0)" + }, + "strftime": { + "type": "func", + "name": "strftime", + "doc": { + "brief": "Convert to string", + "return": "date time string", + "maixpy": "maix.time.DateTime.strftime", + "py_doc": "Convert to string\n\nReturns: date time string\n" + }, + "args": [ + [ + "const std::string &", + "format", + null + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string strftime(const std::string &format)" + }, + "timestamp": { + "type": "func", + "name": "timestamp", + "doc": { + "brief": "Convert to float timestamp", + "return": "float timestamp", + "maixpy": "maix.time.DateTime.timestamp", + "py_doc": "Convert to float timestamp\n\nReturns: float timestamp\n" + }, + "args": [], + "ret_type": "double", + "static": false, + "def": "double timestamp()" + } + }, + "def": "class DateTime" + }, + "now": { + "type": "func", + "name": "now", + "doc": { + "brief": "Get current UTC date and time", + "return": "current date and time, DateTime type", + "maixpy": "maix.time.now", + "py_doc": "Get current UTC date and time\n\nReturns: current date and time, DateTime type\n" + }, + "args": [], + "ret_type": "time::DateTime*", + "static": false, + "def": "time::DateTime *now()" + }, + "localtime": { + "type": "func", + "name": "localtime", + "doc": { + "brief": "Get local time", + "return": "local time, DateTime type", + "maixpy": "maix.time.localtime", + "py_doc": "Get local time\n\nReturns: local time, DateTime type\n" + }, + "args": [], + "ret_type": "time::DateTime*", + "static": false, + "def": "time::DateTime *localtime()" + }, + "strptime": { + "type": "func", + "name": "strptime", + "doc": { + "brief": "DateTime from string", + "param": { + "str": "date time string", + "format": "date time format" + }, + "return": "DateTime", + "maixpy": "maix.time.strptime", + "py_doc": "DateTime from string\n\nArgs:\n - str: date time string\n - format: date time format\n\n\nReturns: DateTime\n" + }, + "args": [ + [ + "const std::string &", + "str", + null + ], + [ + "const std::string &", + "format", + null + ] + ], + "ret_type": "time::DateTime*", + "static": false, + "def": "time::DateTime *strptime(const std::string &str, const std::string &format)" + }, + "gmtime": { + "type": "func", + "name": "gmtime", + "doc": { + "brief": "timestamp to DateTime(time zone is UTC (value 0))", + "param": { + "timestamp": "double timestamp" + }, + "return": "DateTime", + "maixpy": "maix.time.gmtime", + "py_doc": "timestamp to DateTime(time zone is UTC (value 0))\n\nArgs:\n - timestamp: double timestamp\n\n\nReturns: DateTime\n" + }, + "args": [ + [ + "double", + "timestamp", + null + ] + ], + "ret_type": "time::DateTime*", + "static": false, + "def": "time::DateTime *gmtime(double timestamp)" + } + }, + "auto_add": true + }, + "i18n": { + "type": "module", + "doc": { + "brief": "maix.i18n module" + }, + "members": { + "locales": { + "type": "var", + "name": "", + "doc": { + "brief": "i18n locales list", + "maixpy": "maix.i18n.locales", + "py_doc": "i18n locales list" + }, + "value": "{\n \"en\",\n \"zh\",\n \"zh-tw\",\n \"ja\"\n }", + "static": true, + "readonly": false, + "def": "static std::vector locales = {\n \"en\",\n \"zh\",\n \"zh-tw\",\n \"ja\"\n }" + }, + "names": { + "type": "var", + "name": "", + "doc": { + "brief": "i18n language names list", + "maixpy": "maix.i18n.names", + "py_doc": "i18n language names list" + }, + "value": "{\n \"English\",\n \"\u7b80\u4f53\u4e2d\u6587\",\n \"\u7e41\u9ad4\u4e2d\u6587\",\n \"\u65e5\u672c\u8a9e\"\n }", + "static": false, + "readonly": true, + "def": "const static std::vector names = {\n \"English\",\n \"\u7b80\u4f53\u4e2d\u6587\",\n \"\u7e41\u9ad4\u4e2d\u6587\",\n \"\u65e5\u672c\u8a9e\"\n }" + }, + "get_locale": { + "type": "func", + "name": "get_locale", + "doc": { + "brief": "Get system config of locale.", + "return": "language locale, e.g. en, zh, zh_CN, zh_TW, etc.", + "maixpy": "maix.i18n.get_locale", + "py_doc": "Get system config of locale.\n\nReturns: language locale, e.g. en, zh, zh_CN, zh_TW, etc.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_locale()" + }, + "get_language_name": { + "type": "func", + "name": "get_language_name", + "doc": { + "brief": "Get system config of language name.", + "return": "language name, e.g. English, \u7b80\u4f53\u4e2d\u6587, \u7e41\u9ad4\u4e2d\u6587, etc.", + "maixpy": "maix.i18n.get_language_name", + "py_doc": "Get system config of language name.\n\nReturns: language name, e.g. English, \u7b80\u4f53\u4e2d\u6587, \u7e41\u9ad4\u4e2d\u6587, etc.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_language_name()" + }, + "Trans": { + "type": "class", + "name": "Trans", + "doc": { + "brief": "Translate helper class.", + "maixpy": "maix.i18n.Trans", + "py_doc": "Translate helper class." + }, + "members": { + "__init__": { + "type": "func", + "name": "Trans", + "doc": { + "brief": "Translate helper class constructor.\\nBy default locale is get by `i18n.get_locale()` function which set by system settings.\\nBut you can also manually set by `set_locale` function temporarily.", + "param": { + "locales_dict": "locales dict, e.g. {\"zh\": {\"Confirm\": \"\u786e\u8ba4\", \"OK\": \"\u597d\u7684\"}, \"en\": {\"Confirm\": \"Confirm\", \"OK\": \"OK\"}}" + }, + "maixpy": "maix.i18n.Trans.__init__", + "maixcdk": "maix.i18n.Trans.Trans", + "py_doc": "Translate helper class constructor.\nBy default locale is get by `i18n.get_locale()` function which set by system settings.\nBut you can also manually set by `set_locale` function temporarily.\n\nArgs:\n - locales_dict: locales dict, e.g. {\"zh\": {\"Confirm\": \"\u786e\u8ba4\", \"OK\": \"\u597d\u7684\"}, \"en\": {\"Confirm\": \"Confirm\", \"OK\": \"OK\"}}\n" + }, + "args": [ + [ + "const std::map> &", + "locales_dict", + null + ] + ], + "ret_type": null, + "static": false, + "def": "Trans(const std::map> &locales_dict)" + }, + "tr": { + "type": "func", + "name": "tr", + "doc": { + "brief": "Translate string by key.", + "param": { + "key": "string key, e.g. \"Confirm\"", + "locale": "locale name, if not assign, use default locale set by system settings or set_locale function." + }, + "return": "translated string, if find translation, return it, or return key, e.g. \"\u786e\u8ba4\", \"Confirm\", etc.", + "maixpy": "maix.i18n.Trans.tr", + "py_doc": "Translate string by key.\n\nArgs:\n - key: string key, e.g. \"Confirm\"\n - locale: locale name, if not assign, use default locale set by system settings or set_locale function.\n\n\nReturns: translated string, if find translation, return it, or return key, e.g. \"\u786e\u8ba4\", \"Confirm\", etc.\n" + }, + "args": [ + [ + "const string &", + "key", + null + ], + [ + "const string", + "locale", + "\"\"" + ] + ], + "ret_type": "string", + "static": false, + "def": "string tr(const string &key, const string locale = \"\")" + }, + "set_locale": { + "type": "func", + "name": "set_locale", + "doc": { + "brief": "Set locale temporarily, will not affect system settings.", + "param": { + "locale": "locale name, e.g. \"zh\", \"en\", etc. @see maix.i18n.locales" + }, + "maixpy": "maix.i18n.Trans.set_locale", + "py_doc": "Set locale temporarily, will not affect system settings.\n\nArgs:\n - locale: locale name, e.g. \"zh\", \"en\", etc. @see maix.i18n.locales\n" + }, + "args": [ + [ + "const string &", + "locale", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void set_locale(const string &locale)" + }, + "get_locale": { + "type": "func", + "name": "get_locale", + "doc": { + "brief": "Get current locale.", + "return": "locale name, e.g. \"zh\", \"en\", etc. @see maix.i18n.locales", + "maixpy": "maix.i18n.Trans.get_locale", + "py_doc": "Get current locale.\n\nReturns: locale name, e.g. \"zh\", \"en\", etc. @see maix.i18n.locales\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_locale()" + } + }, + "def": "class Trans" + } + }, + "auto_add": true + }, + "protocol": { + "type": "module", + "doc": { + "brief": "maix.protocol module" + }, + "members": { + "VERSION": { + "type": "var", + "name": "", + "doc": { + "brief": "protocol version", + "maixpy": "maix.protocol.VERSION", + "py_doc": "protocol version" + }, + "value": "1", + "static": false, + "readonly": true, + "def": "const uint8_t VERSION = 1" + }, + "HEADER": { + "type": "var", + "name": "", + "doc": { + "brief": "protocol header", + "maixpy": "maix.protocol.HEADER", + "py_doc": "protocol header" + }, + "value": "0xBBACCAAA", + "static": false, + "readonly": true, + "def": "const uint32_t HEADER = 0xBBACCAAA" + }, + "CMD": { + "type": "enum", + "name": "CMD", + "doc": { + "brief": "protocol cmd, more doc see MaixCDK document's convention doc", + "note": "max app custom CMD value should < CMD_APP_MAX", + "maixpy": "maix.protocol.CMD", + "py_doc": "protocol cmd, more doc see MaixCDK document's convention doc" + }, + "values": [ + [ + "CMD_APP_MAX", + "0xC8", + "200, max app custom CMD value should < CMD_APP_MAX" + ], + [ + "CMD_SET_UPLOAD", + "0xF8", + "set auto upload data mode" + ], + [ + "CMD_APP_LIST", + "0xF9", + "" + ], + [ + "CMD_START_APP", + "0xFA", + "" + ], + [ + "CMD_EXIT_APP", + "0xFB", + "" + ], + [ + "CMD_CUR_APP_INFO", + "0xFC", + "" + ], + [ + "CMD_APP_INFO", + "0xFD", + "" + ], + [ + "CMD_KEY", + "0xFE", + "" + ], + [ + "CMD_TOUCH", + "0xFF", + "" + ] + ], + "def": "enum CMD\n {\n CMD_APP_MAX = 0xC8, // 200, max app custom CMD value should < CMD_APP_MAX\n\n CMD_SET_UPLOAD = 0xF8, // set auto upload data mode\n CMD_APP_LIST = 0xF9,\n CMD_START_APP = 0xFA,\n CMD_EXIT_APP = 0xFB,\n CMD_CUR_APP_INFO = 0xFC,\n CMD_APP_INFO = 0xFD,\n CMD_KEY = 0xFE,\n CMD_TOUCH = 0xFF,\n }" + }, + "FLAGS": { + "type": "enum", + "name": "FLAGS", + "doc": { + "brief": "protocol flags, more doc see MaixCDK document's convention doc", + "maixpy": "maix.protocol.FLAGS", + "py_doc": "protocol flags, more doc see MaixCDK document's convention doc" + }, + "values": [ + [ + "FLAG_REQ", + "0x00", + "" + ], + [ + "FLAG_RESP", + "0x80", + "" + ], + [ + "FLAG_IS_RESP_MASK", + "0x80", + "" + ], + [ + "FLAG_RESP_OK", + "0x40", + "" + ], + [ + "FLAG_RESP_ERR", + "0x00", + "" + ], + [ + "FLAG_RESP_OK_MASK", + "0x40", + "" + ], + [ + "FLAG_REPORT", + "0x20", + "" + ], + [ + "FLAG_REPORT_MASK", + "0x20", + "" + ], + [ + "FLAG_VERSION_MASK", + "0x03", + "" + ] + ], + "def": "enum FLAGS\n {\n FLAG_REQ = 0x00,\n FLAG_RESP = 0x80,\n FLAG_IS_RESP_MASK = 0x80,\n\n FLAG_RESP_OK = 0x40,\n FLAG_RESP_ERR = 0x00,\n FLAG_RESP_OK_MASK = 0x40,\n\n FLAG_REPORT = 0x20,\n FLAG_REPORT_MASK = 0x20,\n\n FLAG_VERSION_MASK = 0x03\n }" + }, + "MSG": { + "type": "class", + "name": "MSG", + "doc": { + "brief": "protocol msg", + "maixpy": "maix.protocol.MSG", + "py_doc": "protocol msg" + }, + "members": { + "version": { + "type": "var", + "name": "version", + "doc": { + "brief": "protocol version", + "maixpy": "maix.protocol.MSG.version", + "py_doc": "protocol version" + }, + "value": null, + "static": false, + "readonly": false, + "def": "uint8_t version" + }, + "resp_ok": { + "type": "var", + "name": "resp_ok", + "doc": { + "brief": "Is success response or not, (only for response msg)", + "maixpy": "maix.protocol.MSG.resp_ok", + "py_doc": "Is success response or not, (only for response msg)" + }, + "value": null, + "static": false, + "readonly": false, + "def": "uint8_t resp_ok" + }, + "cmd": { + "type": "var", + "name": "cmd", + "doc": { + "brief": "CMD value", + "maixpy": "maix.protocol.MSG.cmd", + "py_doc": "CMD value" + }, + "value": null, + "static": false, + "readonly": false, + "def": "uint8_t cmd" + }, + "is_resp": { + "type": "var", + "name": "is_resp", + "doc": { + "brief": "message is response or not, contrast with is_req", + "maixpy": "maix.protocol.MSG.is_resp", + "py_doc": "message is response or not, contrast with is_req" + }, + "value": null, + "static": false, + "readonly": false, + "def": "bool is_resp" + }, + "body_len": { + "type": "var", + "name": "body_len", + "doc": { + "brief": "Message body length, read only, use set_body() to update", + "attention": "DO NOT manually change this value", + "maixpy": "maix.protocol.MSG.body_len", + "py_doc": "Message body length, read only, use set_body() to update" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int body_len" + }, + "encode_resp_ok": { + "type": "func", + "name": "encode_resp_ok", + "doc": { + "brief": "Encode response ok(success) message", + "param": { + "body": "response body, can be null" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err", + "maixpy": "maix.protocol.MSG.encode_resp_ok", + "py_doc": "Encode response ok(success) message\n\nArgs:\n - body: response body, can be null\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err\n" + }, + "args": [ + [ + "Bytes *", + "body", + "nullptr" + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *encode_resp_ok(Bytes *body = nullptr)" + }, + "encode_report": { + "type": "func", + "name": "encode_report", + "doc": { + "brief": "Encode proactively report message", + "param": { + "body": "report body, can be null" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err", + "maixpy": "maix.protocol.MSG.encode_report", + "py_doc": "Encode proactively report message\n\nArgs:\n - body: report body, can be null\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err\n" + }, + "args": [ + [ + "Bytes *", + "body", + "nullptr" + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *encode_report(Bytes *body = nullptr)" + }, + "encode_resp_err": { + "type": "func", + "name": "encode_resp_err", + "doc": { + "brief": "Encode response error message", + "param": { + "code": "error code", + "msg": "error message" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err", + "maixpy": "maix.protocol.MSG.encode_resp_err", + "py_doc": "Encode response error message\n\nArgs:\n - code: error code\n - msg: error message\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err\n" + }, + "args": [ + [ + "err::Err", + "code", + null + ], + [ + "const std::string &", + "msg", + null + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *encode_resp_err(err::Err code, const std::string &msg)" + }, + "set_body": { + "type": "func", + "name": "set_body", + "doc": { + "brief": "Update message body", + "param": { + "body_new": "new body data" + }, + "maixpy": "maix.protocol.MSG.set_body", + "py_doc": "Update message body\n\nArgs:\n - body_new: new body data\n" + }, + "args": [ + [ + "Bytes *", + "body_new", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void set_body(Bytes *body_new)" + }, + "get_body": { + "type": "func", + "name": "get_body", + "doc": { + "brief": "Get message body", + "return": "message body, bytes type", + "maixpy": "maix.protocol.MSG.get_body", + "py_doc": "Get message body\n\nReturns: message body, bytes type\n" + }, + "args": [], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *get_body()" + } + }, + "def": "class MSG" + }, + "Protocol": { + "type": "class", + "name": "Protocol", + "doc": { + "brief": "Communicate protocol", + "maixpy": "maix.protocol.Protocol", + "py_doc": "Communicate protocol" + }, + "members": { + "__init__": { + "type": "func", + "name": "Protocol", + "doc": { + "brief": "Construct a new Protocol object", + "param": { + "buff_size": "Data queue buffer size" + }, + "maixpy": "maix.protocol.Protocol.__init__", + "maixcdk": "maix.protocol.Protocol.Protocol", + "py_doc": "Construct a new Protocol object\n\nArgs:\n - buff_size: Data queue buffer size\n" + }, + "args": [ + [ + "int", + "buff_size", + "1024" + ] + ], + "ret_type": null, + "static": false, + "def": "Protocol(int buff_size = 1024)" + }, + "buff_size": { + "type": "func", + "name": "buff_size", + "doc": { + "brief": "Data queue buffer size", + "maixpy": "maix.protocol.Protocol.buff_size", + "py_doc": "Data queue buffer size" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int buff_size()" + }, + "push_data": { + "type": "func", + "name": "push_data", + "doc": { + "brief": "Add data to data queue", + "param": { + "new_data": "new data" + }, + "return": "error code, maybe err.Err.ERR_BUFF_FULL", + "maixpy": "maix.protocol.Protocol.push_data", + "py_doc": "Add data to data queue\n\nArgs:\n - new_data: new data\n\n\nReturns: error code, maybe err.Err.ERR_BUFF_FULL\n" + }, + "args": [ + [ + "const Bytes *", + "new_data", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err push_data(const Bytes *new_data)" + }, + "decode": { + "type": "func", + "name": "decode", + "doc": { + "brief": "Decode data in data queue and return a message", + "param": { + "new_data": "new data add to data queue, if null, only decode." + }, + "return": "decoded message, if nullptr, means no message decoded.", + "maixpy": "maix.protocol.Protocol.decode", + "py_doc": "Decode data in data queue and return a message\n\nArgs:\n - new_data: new data add to data queue, if null, only decode.\n\n\nReturns: decoded message, if nullptr, means no message decoded.\n" + }, + "args": [ + [ + "const Bytes *", + "new_data", + "nullptr" + ] + ], + "ret_type": "protocol::MSG*", + "static": false, + "def": "protocol::MSG *decode(const Bytes *new_data = nullptr)" + }, + "encode_resp_ok": { + "type": "func", + "name": "encode_resp_ok", + "doc": { + "brief": "Encode response ok(success) message to buffer", + "param": { + "cmd": "CMD value", + "body": "response body, can be null" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err", + "maixpy": "maix.protocol.Protocol.encode_resp_ok", + "py_doc": "Encode response ok(success) message to buffer\n\nArgs:\n - cmd: CMD value\n - body: response body, can be null\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err\n" + }, + "args": [ + [ + "uint8_t", + "cmd", + null + ], + [ + "Bytes *", + "body", + "nullptr" + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *encode_resp_ok(uint8_t cmd, Bytes *body = nullptr)" + }, + "encode_report": { + "type": "func", + "name": "encode_report", + "doc": { + "brief": "Encode proactively report message to buffer", + "param": { + "cmd": "CMD value", + "body": "report body, can be null" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err", + "maixpy": "maix.protocol.Protocol.encode_report", + "py_doc": "Encode proactively report message to buffer\n\nArgs:\n - cmd: CMD value\n - body: report body, can be null\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err\n" + }, + "args": [ + [ + "uint8_t", + "cmd", + null + ], + [ + "Bytes *", + "body", + "nullptr" + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *encode_report(uint8_t cmd, Bytes *body = nullptr)" + }, + "encode_resp_err": { + "type": "func", + "name": "encode_resp_err", + "doc": { + "brief": "Encode response error message to buffer", + "param": { + "cmd": "CMD value", + "code": "error code", + "msg": "error message" + }, + "return": "encoded data, if nullptr, means error, and the error code is -err.Err", + "maixpy": "maix.protocol.Protocol.encode_resp_err", + "py_doc": "Encode response error message to buffer\n\nArgs:\n - cmd: CMD value\n - code: error code\n - msg: error message\n\n\nReturns: encoded data, if nullptr, means error, and the error code is -err.Err\n" + }, + "args": [ + [ + "uint8_t", + "cmd", + null + ], + [ + "err::Err", + "code", + null + ], + [ + "const std::string &", + "msg", + null + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *encode_resp_err(uint8_t cmd, err::Err code, const std::string &msg)" + } + }, + "def": "class Protocol" + }, + "crc16_IBM": { + "type": "func", + "name": "crc16_IBM", + "doc": { + "brief": "CRC16-IBM", + "param": { + "data": "data, bytes type." + }, + "return": "CRC16-IBM value, uint16_t type.", + "maixpy": "maix.protocol.crc16_IBM", + "py_doc": "CRC16-IBM\n\nArgs:\n - data: data, bytes type.\n\n\nReturns: CRC16-IBM value, uint16_t type.\n" + }, + "args": [ + [ + "const Bytes *", + "data", + null + ] + ], + "ret_type": "uint16_t", + "static": false, + "def": "uint16_t crc16_IBM(const Bytes *data)" + } + }, + "auto_add": true + }, + "example": { + "type": "module", + "doc": { + "brief": "example module, this will be maix.example module in MaixPy, maix::example namespace in MaixCDK", + "maixpy": "maix.example", + "py_doc": "example module, this will be maix.example module in MaixPy, maix::example namespace in MaixCDK" + }, + "members": { + "Test": { + "type": "class", + "name": "Test", + "doc": { + "brief": "Test class", + "maixpy": "maix.example.Test", + "py_doc": "Test class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Test", + "doc": { + "brief": "Test constructor", + "maixpy": "maix.example.Test.__init__", + "maixcdk": "maix.example.Test.Test", + "py_doc": "Test constructor" + }, + "args": [], + "ret_type": null, + "static": false, + "def": "Test()" + } + }, + "def": "class Test" + }, + "Kind": { + "type": "enum", + "name": "Kind", + "doc": { + "brief": "Example enum", + "maixpy": "maix.example.Kind", + "py_doc": "Example enum" + }, + "values": [ + [ + "KIND_NONE", + "0", + "Kind none, value always 0, other enum value will auto increase" + ], + [ + "KIND_DOG", + "", + "Kind dog" + ], + [ + "KIND_CAT", + "", + "Kind cat, value is auto generated according to KING_DOG" + ], + [ + "KIND_BIRD", + "", + "" + ], + [ + "KIND_MAX", + "", + "Max Kind quantity\nYou can get max Kind value by KIND_MAX - 1" + ] + ], + "def": "enum Kind\n {\n KIND_NONE = 0, /** Kind none, value always 0, other enum value will auto increase */\n KIND_DOG, /** Kind dog*/\n KIND_CAT, // Kind cat, value is auto generated according to KING_DOG\n KIND_BIRD,\n KIND_MAX /* Max Kind quantity,\n You can get max Kind value by KIND_MAX - 1\n */\n }" + }, + "var1": { + "type": "var", + "name": "", + "doc": { + "brief": "Example module variable", + "attention": "It's a copy of this variable in MaixPy,\nso change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.\nSo we add const for this var to avoid this mistake.", + "maixpy": "maix.example.var1", + "py_doc": "Example module variable" + }, + "value": "\"Sipeed\"", + "static": false, + "readonly": true, + "def": "const std::string var1 = \"Sipeed\"" + }, + "list_var": { + "type": "var", + "name": "", + "doc": { + "brief": "Tensor data type size in bytes", + "attention": [ + "DO NOT use C/C++ array directly for python API, the python wrapper not support it.\nUse std::vector instead.", + "It's a copy of this variable in MaixPy,\nso change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.\nSo we add const for this var to avoid this mistake." + ], + "maixpy": "maix.example.list_var", + "py_doc": "Tensor data type size in bytes" + }, + "value": "{\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}", + "static": false, + "readonly": true, + "def": "const std::vector list_var = {\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}" + }, + "test_var": { + "type": "var", + "name": "", + "doc": { + "brief": "Example module variable test_var", + "attention": "It's a copy of this variable in MaixPy, so if you change it in C++, it will not take effect in MaixPy.\nAnd change it in MaixPy will not take effect in C++ as well !!!\nIf you want to use vars shared between C++ and MaixPy, you can create a class and use its member.", + "maixpy": "maix.example.test_var", + "py_doc": "Example module variable test_var" + }, + "value": "100", + "static": false, + "readonly": false, + "def": "int test_var = 100" + }, + "hello": { + "type": "func", + "name": "hello", + "doc": { + "brief": "say hello to someone", + "param": { + "name": "direction [in], name of someone, string type" + }, + "return": "string type, content is hello + name", + "maixpy": "maix.example.hello", + "py_doc": "say hello to someone\n\nArgs:\n - name: direction [in], name of someone, string type\n\n\nReturns: string type, content is hello + name\n" + }, + "args": [ + [ + "std::string", + "name", + null + ] + ], + "ret_type": "std::string", + "static": false, + "def": "std::string hello(std::string name)" + }, + "Example": { + "type": "class", + "name": "Example", + "doc": { + "brief": "Example class\\nthis class will be export to MaixPy as maix.example.Example", + "maixpy": "maix.example.Example", + "py_doc": "Example class\nthis class will be export to MaixPy as maix.example.Example" + }, + "members": { + "__init__": { + "type": "func", + "name": "Example", + "doc": { + "brief": "Example constructor\\nthis constructor will be export to MaixPy as maix.example.Example.__init__", + "param": { + "name": "direction [in], name of Example, string type", + "age": "direction [in], age of Example, int type, default is 18, value range is [0, 100]" + }, + "attention": "to make auto generate code work, param Kind should with full namespace name `example::Kind` instead of `Kind`,\nnamespace `maix` can be ignored.", + "maixpy": "maix.example.Example.__init__", + "maixcdk": "maix.example.Example.Example", + "py_doc": "Example constructor\nthis constructor will be export to MaixPy as maix.example.Example.__init__\n\nArgs:\n - name: direction [in], name of Example, string type\n - age: direction [in], age of Example, int type, default is 18, value range is [0, 100]\n" + }, + "args": [ + [ + "std::string &", + "name", + null + ], + [ + "int", + "age", + "18" + ], + [ + "example::Kind", + "pet", + "example::KIND_NONE" + ] + ], + "ret_type": null, + "static": false, + "def": "Example(std::string &name, int age = 18, example::Kind pet = example::KIND_NONE)" + }, + "get_name": { + "type": "func", + "name": "get_name", + "doc": { + "brief": "get name of Example\\nyou can also get name by property `name`.", + "return": "name of Example, string type", + "maixpy": "maix.example.Example.get_name", + "py_doc": "get name of Example\nyou can also get name by property `name`.\n\nReturns: name of Example, string type\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string get_name()" + }, + "get_age": { + "type": "func", + "name": "get_age", + "doc": { + "brief": "get age of Example", + "return": "age of Example, int type, value range is [0, 100]", + "maixpy": "maix.example.Example.get_age", + "py_doc": "get age of Example\n\nReturns: age of Example, int type, value range is [0, 100]\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int get_age()" + }, + "set_name": { + "type": "func", + "name": "set_name", + "doc": { + "brief": "set name of Example", + "param": { + "name": "name of Example, string type" + }, + "maixpy": "maix.example.Example.set_name", + "py_doc": "set name of Example\n\nArgs:\n - name: name of Example, string type\n" + }, + "args": [ + [ + "std::string", + "name", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void set_name(std::string name)" + }, + "set_age": { + "type": "func", + "name": "set_age", + "doc": { + "brief": "set age of Example", + "param": { + "age": "age of Example, int type, value range is [0, 100]" + }, + "maixpy": "maix.example.Example.set_age", + "py_doc": "set age of Example\n\nArgs:\n - age: age of Example, int type, value range is [0, 100]\n" + }, + "args": [ + [ + "int", + "age", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void set_age(int age)" + }, + "set_pet": { + "type": "func", + "name": "set_pet", + "doc": { + "brief": "Example enum member", + "attention": "", + "maixpy": "maix.example.Example.set_pet", + "py_doc": "Example enum member" + }, + "args": [ + [ + "example::Kind", + "pet", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void set_pet(example::Kind pet)" + }, + "get_pet": { + "type": "func", + "name": "get_pet", + "doc": { + "brief": "Example enum member", + "maixpy": "maix.example.Example.get_pet", + "py_doc": "Example enum member" + }, + "args": [], + "ret_type": "example::Kind", + "static": false, + "def": "example::Kind get_pet()" + }, + "get_list": { + "type": "func", + "name": "get_list", + "doc": { + "brief": "get list example", + "param": { + "in": "direction [in], input list, items are int type.\nIn MaixPy, you can pass list or tuple to this API" + }, + "return": "list, items are int type, content is [1, 2, 3] + in. Alloc item, del in MaixPy will auto free memory.", + "maixpy": "maix.example.Example.get_list", + "py_doc": "get list example\n\nArgs:\n - in: direction [in], input list, items are int type.\nIn MaixPy, you can pass list or tuple to this API\n\n\nReturns: list, items are int type, content is [1, 2, 3] + in. Alloc item, del in MaixPy will auto free memory.\n" + }, + "args": [ + [ + "std::vector", + "in", + null + ] + ], + "ret_type": "std::vector*", + "static": false, + "def": "std::vector *get_list(std::vector in)" + }, + "get_dict": { + "type": "func", + "name": "get_dict", + "doc": { + "brief": "Example dict API", + "param": { + "in": "direction [in], input dict, key is string type, value is int type.\nIn MaixPy, you can pass `dict` to this API" + }, + "return": "dict, key is string type, value is int type, content is {\"a\": 1} + in\nIn MaixPy, return type is `dict` object", + "maixpy": "maix.example.Example.get_dict", + "py_doc": "Example dict API\n\nArgs:\n - in: direction [in], input dict, key is string type, value is int type.\nIn MaixPy, you can pass `dict` to this API\n\n\nReturns: dict, key is string type, value is int type, content is {\"a\": 1} + in\nIn MaixPy, return type is `dict` object\n" + }, + "args": [ + [ + "std::map &", + "in", + null + ] + ], + "ret_type": "std::map", + "static": false, + "def": "std::map get_dict(std::map &in)" + }, + "hello": { + "type": "func", + "name": "hello", + "doc": { + "brief": "say hello to someone", + "param": { + "name": "name of someone, string type" + }, + "return": "string type, content is Example::hello_str + name", + "maixpy": "maix.example.Example.hello", + "py_doc": "say hello to someone\n\nArgs:\n - name: name of someone, string type\n\n\nReturns: string type, content is Example::hello_str + name\n" + }, + "args": [ + [ + "std::string", + "name", + null + ] + ], + "ret_type": "std::string", + "static": true, + "def": "static std::string hello(std::string name)" + }, + "hello_bytes": { + "type": "func", + "name": "hello_bytes", + "doc": { + "brief": "param is bytes example", + "param": { + "bytes": "bytes type param" + }, + "return": "bytes type, return value is bytes changed value", + "maixpy": "maix.example.Example.hello_bytes", + "py_doc": "param is bytes example\n\nArgs:\n - bytes: bytes type param\n\n\nReturns: bytes type, return value is bytes changed value\n" + }, + "args": [ + [ + "Bytes &", + "bytes", + null + ] + ], + "ret_type": "Bytes*", + "static": true, + "def": "static Bytes *hello_bytes(Bytes &bytes)" + }, + "callback": { + "type": "func", + "name": "callback", + "doc": { + "brief": "Callback example", + "param": { + "cb": "callback function, param is two int type, return is int type" + }, + "return": "int type, return value is cb(1, 2)", + "maixpy": "maix.example.Example.callback", + "py_doc": "Callback example\n\nArgs:\n - cb: callback function, param is two int type, return is int type\n\n\nReturns: int type, return value is cb(1, 2)\n" + }, + "args": [ + [ + "std::function", + "cb", + null + ] + ], + "ret_type": "int", + "static": true, + "def": "static int callback(std::function cb)" + }, + "hello_dict": { + "type": "func", + "name": "hello_dict", + "doc": { + "brief": "Dict param example", + "param": { + "dict": "dict type param, key is string type, value is int type" + }, + "maixpy": "maix.example.Example.hello_dict", + "py_doc": "Dict param example\n\nArgs:\n - dict: dict type param, key is string type, value is int type\n" + }, + "args": [ + [ + "std::map *", + "dict", + null + ] + ], + "ret_type": "std::map*", + "static": true, + "def": "static std::map *hello_dict(std::map *dict)" + }, + "name": { + "type": "var", + "name": "name", + "doc": { + "brief": "name member of Example", + "maixpy": "maix.example.Example.name", + "py_doc": "name member of Example" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::string name" + }, + "age": { + "type": "var", + "name": "age", + "doc": { + "brief": "age member of Example, value range should be [0, 100]", + "maixpy": "maix.example.Example.age", + "py_doc": "age member of Example, value range should be [0, 100]" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int age" + }, + "hello_str": { + "type": "var", + "name": "hello_str", + "doc": { + "brief": "hello_str member of Example, default value is \\\"hello \\\"", + "maixpy": "maix.example.Example.hello_str", + "py_doc": "hello_str member of Example, default value is \"hello \"" + }, + "value": null, + "static": true, + "readonly": false, + "def": "static std::string hello_str" + }, + "var1": { + "type": "var", + "name": "", + "doc": { + "brief": "Example module readonly variable", + "maixpy": "maix.example.Example.var1", + "py_doc": "Example module readonly variable" + }, + "value": "\"Example.var1\"", + "static": false, + "readonly": true, + "def": "const std::string var1 = \"Example.var1\"" + }, + "var2": { + "type": "var", + "name": "", + "doc": { + "brief": "Example module readonly variable", + "maixpy": "maix.example.Example.var2\n:readonly", + "py_doc": "Example module readonly variable" + }, + "value": "\"Example.var2\"", + "static": false, + "readonly": true, + "def": "std::string var2 = \"Example.var2\"" + }, + "dict_test": { + "type": "func", + "name": "dict_test", + "doc": { + "brief": "dict_test, return dict type, and element is pointer type(alloc in C++).\\nHere when the returned Tensor object will auto delete by Python GC.", + "maixpy": "maix.example.Example.dict_test", + "py_doc": "dict_test, return dict type, and element is pointer type(alloc in C++).\nHere when the returned Tensor object will auto delete by Python GC." + }, + "args": [], + "ret_type": "std::map*", + "static": true, + "def": "static std::map *dict_test()" + } + }, + "def": "class Example" + }, + "change_arg_name": { + "type": "func", + "name": "change_arg_name", + "doc": { + "brief": "Change arg name example", + "param": { + "e": "Example object" + }, + "return": "same as arg", + "maixpy": "maix.example.change_arg_name", + "py_doc": "Change arg name example\n\nArgs:\n - e: Example object\n\n\nReturns: same as arg\n" + }, + "args": [ + [ + "example::Example *", + "e", + null + ] + ], + "ret_type": "example::Example*", + "static": false, + "def": "example::Example *change_arg_name(example::Example *e)" + }, + "change_arg_name2": { + "type": "func", + "name": "change_arg_name2", + "doc": { + "brief": "Change arg name example", + "param": { + "e": "Example object" + }, + "maixpy": "maix.example.change_arg_name2", + "py_doc": "Change arg name example\n\nArgs:\n - e: Example object\n" + }, + "args": [ + [ + "example::Example &", + "e", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void change_arg_name2(example::Example &e)" + } + }, + "auto_add": false + }, + "app": { + "type": "module", + "doc": { + "brief": "maix.app module" + }, + "members": { + "Version": { + "type": "class", + "name": "Version", + "doc": { + "brief": "APP version", + "maixpy": "maix.app.Version", + "py_doc": "APP version" + }, + "members": { + "__str__": { + "type": "func", + "name": "__str__", + "doc": { + "brief": "Convert to string, e.g. 1.0.0", + "maixpy": "maix.app.Version.__str__", + "py_doc": "Convert to string, e.g. 1.0.0" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string __str__()" + }, + "from_str": { + "type": "func", + "name": "from_str", + "doc": { + "brief": "Convert from string, e.g. \\\"1.0.0\\\"", + "maixpy": "maix.app.Version.from_str", + "py_doc": "Convert from string, e.g. \"1.0.0\"" + }, + "args": [ + [ + "const string &", + "version_str", + null + ] + ], + "ret_type": "app::Version", + "static": true, + "def": "static app::Version from_str(const string &version_str)" + } + }, + "def": "class Version" + }, + "APP_Info": { + "type": "class", + "name": "APP_Info", + "doc": { + "brief": "APP info", + "maixpy": "maix.app.APP_Info", + "py_doc": "APP info" + }, + "members": { + "id": { + "type": "var", + "name": "id", + "doc": { + "brief": "APP id", + "maixpy": "maix.app.APP_Info.id", + "py_doc": "APP id" + }, + "value": null, + "static": false, + "readonly": false, + "def": "string id" + }, + "name": { + "type": "var", + "name": "name", + "doc": { + "brief": "APP name", + "maixpy": "maix.app.APP_Info.name", + "py_doc": "APP name" + }, + "value": null, + "static": false, + "readonly": false, + "def": "string name" + }, + "icon": { + "type": "var", + "name": "icon", + "doc": { + "brief": "APP icon", + "maixpy": "maix.app.APP_Info.icon", + "py_doc": "APP icon" + }, + "value": null, + "static": false, + "readonly": false, + "def": "string icon" + }, + "version": { + "type": "var", + "name": "version", + "doc": { + "brief": "APP version", + "maixpy": "maix.app.APP_Info.version", + "py_doc": "APP version" + }, + "value": null, + "static": false, + "readonly": false, + "def": "Version version" + }, + "exec": { + "type": "var", + "name": "exec", + "doc": { + "brief": "APP exec", + "maixpy": "maix.app.APP_Info.exec", + "py_doc": "APP exec" + }, + "value": null, + "static": false, + "readonly": false, + "def": "string exec" + }, + "author": { + "type": "var", + "name": "author", + "doc": { + "brief": "APP author", + "maixpy": "maix.app.APP_Info.author", + "py_doc": "APP author" + }, + "value": null, + "static": false, + "readonly": false, + "def": "string author" + }, + "desc": { + "type": "var", + "name": "desc", + "doc": { + "brief": "APP desc", + "maixpy": "maix.app.APP_Info.desc", + "py_doc": "APP desc" + }, + "value": null, + "static": false, + "readonly": false, + "def": "string desc" + }, + "names": { + "type": "var", + "name": "names", + "doc": { + "brief": "APP names", + "maixpy": "maix.app.APP_Info.names", + "py_doc": "APP names" + }, + "value": null, + "static": false, + "readonly": false, + "def": "map names" + }, + "descs": { + "type": "var", + "name": "descs", + "doc": { + "brief": "APP descs", + "maixpy": "maix.app.APP_Info.descs", + "py_doc": "APP descs" + }, + "value": null, + "static": false, + "readonly": false, + "def": "map descs" + } + }, + "def": "class APP_Info" + }, + "app_id": { + "type": "func", + "name": "app_id", + "doc": { + "brief": "Get current APP ID.", + "return": "APP ID.", + "maixpy": "maix.app.app_id", + "py_doc": "Get current APP ID.\n\nReturns: APP ID.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string app_id()" + }, + "set_app_id": { + "type": "func", + "name": "set_app_id", + "doc": { + "brief": "Set current APP ID.", + "param": { + "app_id": "APP ID." + }, + "maixpy": "maix.app.set_app_id", + "py_doc": "Set current APP ID.\n\nArgs:\n - app_id: APP ID.\n" + }, + "args": [ + [ + "const string &", + "app_id", + null + ] + ], + "ret_type": "string", + "static": false, + "def": "string set_app_id(const string &app_id)" + }, + "get_apps_info_path": { + "type": "func", + "name": "get_apps_info_path", + "doc": { + "brief": "Get APP info file path.", + "maixpy": "maix.app.get_apps_info_path", + "py_doc": "Get APP info file path." + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_apps_info_path()" + }, + "get_apps_info": { + "type": "func", + "name": "get_apps_info", + "doc": { + "brief": "Get APP info list.", + "param": { + "ignore_launcher": "if true, ignore launcher APP. default false.", + "ignore_app_store": "if true, ignore app store APP. default false." + }, + "return": "APP info list. APP_Info object list.", + "maixpy": "maix.app.get_apps_info", + "py_doc": "Get APP info list.\n\nArgs:\n - ignore_launcher: if true, ignore launcher APP. default false.\n - ignore_app_store: if true, ignore app store APP. default false.\n\n\nReturns: APP info list. APP_Info object list.\n" + }, + "args": [ + [ + "bool", + "ignore_launcher", + "false" + ], + [ + "bool", + "ignore_app_store", + "false" + ] + ], + "ret_type": "vector&", + "static": false, + "def": "vector &get_apps_info(bool ignore_launcher = false, bool ignore_app_store = false)" + }, + "get_app_data_path": { + "type": "func", + "name": "get_app_data_path", + "doc": { + "brief": "Get APP info, APP can store private data in this directory.", + "return": "APP data path \"./data\", just return the data folder in current path because APP executed in app install path or project path.\nSo, you must execute your program in you project path to use the project/data folder when you debug your APP.", + "maixpy": "maix.app.get_app_data_path", + "py_doc": "Get APP info, APP can store private data in this directory.\n\nReturns: APP data path \"./data\", just return the data folder in current path because APP executed in app install path or project path.\nSo, you must execute your program in you project path to use the project/data folder when you debug your APP.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_app_data_path()" + }, + "get_app_path": { + "type": "func", + "name": "get_app_path", + "doc": { + "brief": "Get APP path.", + "param": { + "app_id": "APP ID, if empty, return current APP path, else return the APP path by app_id." + }, + "return": "APP path, just return the current path because APP executed in app install path or project path.\nSo, you must execute your program in you project path to use the project/data folder when you debug your APP.", + "maixpy": "maix.app.get_app_path", + "py_doc": "Get APP path.\n\nArgs:\n - app_id: APP ID, if empty, return current APP path, else return the APP path by app_id.\n\n\nReturns: APP path, just return the current path because APP executed in app install path or project path.\nSo, you must execute your program in you project path to use the project/data folder when you debug your APP.\n" + }, + "args": [ + [ + "const string &", + "app_id", + "\"\"" + ] + ], + "ret_type": "string", + "static": false, + "def": "string get_app_path(const string &app_id = \"\")" + }, + "get_tmp_path": { + "type": "func", + "name": "get_tmp_path", + "doc": { + "brief": "Get global temporary data path, APPs can use this path as temporary data directory.", + "return": "temporary data path.", + "maixpy": "maix.app.get_tmp_path", + "py_doc": "Get global temporary data path, APPs can use this path as temporary data directory.\n\nReturns: temporary data path.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_tmp_path()" + }, + "get_share_path": { + "type": "func", + "name": "get_share_path", + "doc": { + "brief": "Get data path of share, shared data like picture and video will put in this directory", + "return": "share data path.", + "maixpy": "maix.app.get_share_path", + "py_doc": "Get data path of share, shared data like picture and video will put in this directory\n\nReturns: share data path.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_share_path()" + }, + "get_picture_path": { + "type": "func", + "name": "get_picture_path", + "doc": { + "brief": "Get picture path of share, shared picture will put in this directory", + "return": "share picture path.", + "maixpy": "maix.app.get_picture_path", + "py_doc": "Get picture path of share, shared picture will put in this directory\n\nReturns: share picture path.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_picture_path()" + }, + "get_video_path": { + "type": "func", + "name": "get_video_path", + "doc": { + "brief": "Get video path of share, shared video will put in this directory", + "return": "share video path.", + "maixpy": "maix.app.get_video_path", + "py_doc": "Get video path of share, shared video will put in this directory\n\nReturns: share video path.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_video_path()" + }, + "get_font_path": { + "type": "func", + "name": "get_font_path", + "doc": { + "brief": "Get font path of share, shared font will put in this directory", + "return": "share font path.", + "maixpy": "maix.app.get_font_path", + "py_doc": "Get font path of share, shared font will put in this directory\n\nReturns: share font path.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_font_path()" + }, + "get_icon_path": { + "type": "func", + "name": "get_icon_path", + "doc": { + "brief": "Get icon path of share, shared icon will put in this directory", + "return": "share icon path.", + "maixpy": "maix.app.get_icon_path", + "py_doc": "Get icon path of share, shared icon will put in this directory\n\nReturns: share icon path.\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_icon_path()" + }, + "get_sys_config_kv": { + "type": "func", + "name": "get_sys_config_kv", + "doc": { + "brief": "Get system config item value.", + "param": { + "item": "name of setting item, e.g. wifi, language. more see settings APP.", + "key": "config key, e.g. for wifi, key can be ssid, for language, key can be locale.", + "value": "default value, if not found, return this value.", + "from_cache": "if true, read from cache, if false, read from file." + }, + "return": "config value, always string type, if not found, return empty string.", + "maixpy": "maix.app.get_sys_config_kv", + "py_doc": "Get system config item value.\n\nArgs:\n - item: name of setting item, e.g. wifi, language. more see settings APP.\n - key: config key, e.g. for wifi, key can be ssid, for language, key can be locale.\n - value: default value, if not found, return this value.\n - from_cache: if true, read from cache, if false, read from file.\n\n\nReturns: config value, always string type, if not found, return empty string.\n" + }, + "args": [ + [ + "const string &", + "item", + null + ], + [ + "const string &", + "key", + null + ], + [ + "const string &", + "value", + "\"\"" + ], + [ + "bool", + "from_cache", + "true" + ] + ], + "ret_type": "string", + "static": false, + "def": "string get_sys_config_kv(const string &item, const string &key, const string &value = \"\", bool from_cache = true)" + }, + "get_app_config_kv": { + "type": "func", + "name": "get_app_config_kv", + "doc": { + "brief": "Get APP config item value.", + "param": { + "item": "name of setting item, e.g. user_info", + "key": "config key, e.g. for user_info, key can be name, age etc.", + "value": "default value, if not found, return this value.", + "from_cache": "if true, read from cache, if false, read from file." + }, + "return": "config value, always string type, if not found, return empty string.", + "maixpy": "maix.app.get_app_config_kv", + "py_doc": "Get APP config item value.\n\nArgs:\n - item: name of setting item, e.g. user_info\n - key: config key, e.g. for user_info, key can be name, age etc.\n - value: default value, if not found, return this value.\n - from_cache: if true, read from cache, if false, read from file.\n\n\nReturns: config value, always string type, if not found, return empty string.\n" + }, + "args": [ + [ + "const string &", + "item", + null + ], + [ + "const string &", + "key", + null + ], + [ + "const string &", + "value", + "\"\"" + ], + [ + "bool", + "from_cache", + "true" + ] + ], + "ret_type": "string", + "static": false, + "def": "string get_app_config_kv(const string &item, const string &key, const string &value = \"\", bool from_cache = true)" + }, + "set_app_config_kv": { + "type": "func", + "name": "set_app_config_kv", + "doc": { + "brief": "Set APP config item value.", + "param": { + "item": "name of setting item, e.g. user_info", + "key": "config key, e.g. for user_info, key can be name, age etc.", + "value": "config value, always string type.", + "write_file": "if true, write to file, if false, just write to cache." + }, + "return": "err::Err", + "maixpy": "maix.app.set_app_config_kv", + "py_doc": "Set APP config item value.\n\nArgs:\n - item: name of setting item, e.g. user_info\n - key: config key, e.g. for user_info, key can be name, age etc.\n - value: config value, always string type.\n - write_file: if true, write to file, if false, just write to cache.\n\n\nReturns: err::Err\n" + }, + "args": [ + [ + "const string &", + "item", + null + ], + [ + "const string &", + "key", + null + ], + [ + "const string &", + "value", + null + ], + [ + "bool", + "write_file", + "true" + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err set_app_config_kv(const string &item, const string &key, const string &value, bool write_file = true)" + }, + "get_app_config_path": { + "type": "func", + "name": "get_app_config_path", + "doc": { + "brief": "Get APP config path, ini format, so you can use your own ini parser to parse it like `configparser` in Python.\\nAll APP config info is recommended to store in this file.", + "return": "APP config path(ini format).", + "maixpy": "maix.app.get_app_config_path", + "py_doc": "Get APP config path, ini format, so you can use your own ini parser to parse it like `configparser` in Python.\nAll APP config info is recommended to store in this file.\n\nReturns: APP config path(ini format).\n" + }, + "args": [], + "ret_type": "string", + "static": false, + "def": "string get_app_config_path()" + }, + "set_exit_msg": { + "type": "func", + "name": "set_exit_msg", + "doc": { + "brief": "Set APP exit code and exit message.\\nIf code != 0, the launcher will show a dialog to user, and display the msg.", + "param": { + "code": "exit code, 0 means success, other means error, if code is 0, do nothing.", + "msg": "exit message, if code is 0, msg is not used." + }, + "return": "exit code, the same as arg @code.", + "maixpy": "maix.app.set_exit_msg", + "py_doc": "Set APP exit code and exit message.\nIf code != 0, the launcher will show a dialog to user, and display the msg.\n\nArgs:\n - code: exit code, 0 means success, other means error, if code is 0, do nothing.\n - msg: exit message, if code is 0, msg is not used.\n\n\nReturns: exit code, the same as arg @code.\n" + }, + "args": [ + [ + "err::Err", + "code", + null + ], + [ + "const string &", + "msg", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err set_exit_msg(err::Err code, const string &msg)" + }, + "get_exit_msg": { + "type": "func", + "name": "get_exit_msg", + "doc": { + "brief": "Get APP exit code and exit message.", + "param": { + "cache": "if true, read from cache, if false, read from file. default false." + }, + "return": "exit return app_id, exit code and exit message.", + "maixpy": "maix.app.get_exit_msg", + "py_doc": "Get APP exit code and exit message.\n\nArgs:\n - cache: if true, read from cache, if false, read from file. default false.\n\n\nReturns: exit return app_id, exit code and exit message.\n" + }, + "args": [ + [ + "bool", + "cache", + "false" + ] + ], + "ret_type": "tuple", + "static": false, + "def": "tuple get_exit_msg(bool cache = false)" + }, + "have_exit_msg": { + "type": "func", + "name": "have_exit_msg", + "doc": { + "brief": "Check if have exit msg", + "param": { + "cache": "if true, just check from cache, if false, check from file. default false." + }, + "return": "true if have exit msg, false if not.", + "maixpy": "maix.app.have_exit_msg", + "py_doc": "Check if have exit msg\n\nArgs:\n - cache: if true, just check from cache, if false, check from file. default false.\n\n\nReturns: true if have exit msg, false if not.\n" + }, + "args": [ + [ + "bool", + "cache", + "false" + ] + ], + "ret_type": "bool", + "static": false, + "def": "bool have_exit_msg(bool cache = false)" + }, + "switch_app": { + "type": "func", + "name": "switch_app", + "doc": { + "brief": "Exit this APP and start another APP(by launcher).\\nCall this API will call set_exit_flag(true), you should check app::need_exit() in your code.\\nAnd exit this APP if app::need_exit() return true.", + "param": { + "app_id": "APP ID which will be started. app_id and idx must have one is valid.", + "idx": "APP index. app_id and idx must have one is valid." + }, + "maixpy": "maix.app.switch_app", + "py_doc": "Exit this APP and start another APP(by launcher).\nCall this API will call set_exit_flag(true), you should check app::need_exit() in your code.\nAnd exit this APP if app::need_exit() return true.\n\nArgs:\n - app_id: APP ID which will be started. app_id and idx must have one is valid.\n - idx: APP index. app_id and idx must have one is valid.\n" + }, + "args": [ + [ + "const string &", + "app_id", + null + ], + [ + "int", + "idx", + "-1" + ] + ], + "ret_type": "void", + "static": false, + "def": "void switch_app(const string &app_id, int idx = -1)" + }, + "need_exit": { + "type": "func", + "name": "need_exit", + "doc": { + "brief": "Shoule this APP exit?", + "return": "true if this APP should exit, false if not.", + "attention": "This API is a function, not a variable.", + "maixpy": "maix.app.need_exit", + "py_doc": "Shoule this APP exit?\n\nReturns: true if this APP should exit, false if not.\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool need_exit()" + }, + "running": { + "type": "func", + "name": "running", + "doc": { + "brief": "App should running? The same as !app::need_exit() (not app::need_exit() in MaixPy).", + "return": "true if this APP should running, false if not.", + "attention": "This API is a function, not a variable.", + "maixpy": "maix.app.running", + "py_doc": "App should running? The same as !app::need_exit() (not app::need_exit() in MaixPy).\n\nReturns: true if this APP should running, false if not.\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool running()" + }, + "set_exit_flag": { + "type": "func", + "name": "set_exit_flag", + "doc": { + "brief": "Set exit flag. You can get exit flag by app.need_exit().", + "param": { + "exit": "true if this APP should exit, false if not." + }, + "maixpy": "maix.app.set_exit_flag", + "py_doc": "Set exit flag. You can get exit flag by app.need_exit().\n\nArgs:\n - exit: true if this APP should exit, false if not.\n" + }, + "args": [ + [ + "bool", + "exit", + null + ] + ], + "ret_type": "void", + "static": false, + "def": "void set_exit_flag(bool exit)" + } + }, + "auto_add": true + }, + "nn": { + "type": "module", + "doc": { + "brief": "maix.nn module" + }, + "members": { + "YOLOv5": { + "type": "class", + "name": "YOLOv5", + "doc": { + "brief": "YOLOv5 class", + "maixpy": "maix.nn.YOLOv5", + "py_doc": "YOLOv5 class" + }, + "members": { + "__init__": { + "type": "func", + "name": "YOLOv5", + "doc": { + "brief": "Constructor of YOLOv5 class", + "param": { + "model": "model path, default empty, you can load model later by load function." + }, + "throw": "If model arg is not empty and load failed, will throw err::Exception.", + "maixpy": "maix.nn.YOLOv5.__init__", + "maixcdk": "maix.nn.YOLOv5.YOLOv5", + "py_doc": "Constructor of YOLOv5 class\n\nArgs:\n - model: model path, default empty, you can load model later by load function.\n" + }, + "args": [ + [ + "const string &", + "model", + "\"\"" + ] + ], + "ret_type": null, + "static": false, + "def": "YOLOv5(const string &model = \"\")" + }, + "load": { + "type": "func", + "name": "load", + "doc": { + "brief": "Load model from file", + "param": { + "model": "Model path want to load" + }, + "return": "err::Err", + "maixpy": "maix.nn.YOLOv5.load", + "py_doc": "Load model from file\n\nArgs:\n - model: Model path want to load\n\n\nReturns: err::Err\n" + }, + "args": [ + [ + "const string &", + "model", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err load(const string &model)" + }, + "detect": { + "type": "func", + "name": "detect", + "doc": { + "brief": "Detect objects from image", + "param": { + "img": "Image want to detect, if image's size not match model input's, will auto resize with fit method.", + "conf_th": "Confidence threshold, default 0.5.", + "iou_th": "IoU threshold, default 0.45.", + "fit": "Resize method, default image.Fit.FIT_CONTAIN." + }, + "throw": "If image format not match model input format, will throw err::Exception.", + "return": "Object list. In C++, you should delete it after use.", + "maixpy": "maix.nn.YOLOv5.detect", + "py_doc": "Detect objects from image\n\nArgs:\n - img: Image want to detect, if image's size not match model input's, will auto resize with fit method.\n - conf_th: Confidence threshold, default 0.5.\n - iou_th: IoU threshold, default 0.45.\n - fit: Resize method, default image.Fit.FIT_CONTAIN.\n\n\nReturns: Object list. In C++, you should delete it after use.\n" + }, + "args": [ + [ + "image::Image &", + "img", + null + ], + [ + "float", + "conf_th", + "0.5" + ], + [ + "float", + "iou_th", + "0.45" + ], + [ + "maix::image::Fit", + "fit", + "maix::image::FIT_CONTAIN" + ] + ], + "ret_type": "std::vector*", + "static": false, + "def": "std::vector *detect(image::Image &img, float conf_th = 0.5, float iou_th = 0.45, maix::image::Fit fit = maix::image::FIT_CONTAIN)" + }, + "input_size": { + "type": "func", + "name": "input_size", + "doc": { + "brief": "Get model input size", + "return": "model input size", + "maixpy": "maix.nn.YOLOv5.input_size", + "py_doc": "Get model input size\n\nReturns: model input size\n" + }, + "args": [], + "ret_type": "image::Size", + "static": false, + "def": "image::Size input_size()" + }, + "input_width": { + "type": "func", + "name": "input_width", + "doc": { + "brief": "Get model input width", + "return": "model input size of width", + "maixpy": "maix.nn.YOLOv5.input_width", + "py_doc": "Get model input width\n\nReturns: model input size of width\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int input_width()" + }, + "input_height": { + "type": "func", + "name": "input_height", + "doc": { + "brief": "Get model input height", + "return": "model input size of height", + "maixpy": "maix.nn.YOLOv5.input_height", + "py_doc": "Get model input height\n\nReturns: model input size of height\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int input_height()" + }, + "input_format": { + "type": "func", + "name": "input_format", + "doc": { + "brief": "Get input image format", + "return": "input image format, image::Format type.", + "maixpy": "maix.nn.YOLOv5.input_format", + "py_doc": "Get input image format\n\nReturns: input image format, image::Format type.\n" + }, + "args": [], + "ret_type": "image::Format", + "static": false, + "def": "image::Format input_format()" + }, + "labels": { + "type": "var", + "name": "labels", + "doc": { + "brief": "Labels list", + "maixpy": "maix.nn.YOLOv5.labels", + "py_doc": "Labels list" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::vector labels" + }, + "label_path": { + "type": "var", + "name": "label_path", + "doc": { + "brief": "Label file path", + "maixpy": "maix.nn.YOLOv5.label_path", + "py_doc": "Label file path" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::string label_path" + }, + "mean": { + "type": "var", + "name": "mean", + "doc": { + "brief": "Get mean value, list type", + "maixpy": "maix.nn.YOLOv5.mean", + "py_doc": "Get mean value, list type" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::vector mean" + }, + "scale": { + "type": "var", + "name": "scale", + "doc": { + "brief": "Get scale value, list type", + "maixpy": "maix.nn.YOLOv5.scale", + "py_doc": "Get scale value, list type" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::vector scale" + }, + "anchors": { + "type": "var", + "name": "anchors", + "doc": { + "brief": "Get anchors", + "maixpy": "maix.nn.YOLOv5.anchors", + "py_doc": "Get anchors" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::vector anchors" + } + }, + "def": "class YOLOv5" + }, + "Classifier": { + "type": "class", + "name": "Classifier", + "doc": { + "brief": "Classifier", + "maixpy": "maix.nn.Classifier", + "py_doc": "Classifier" + }, + "members": { + "__init__": { + "type": "func", + "name": "Classifier", + "doc": { + "brief": "Construct a new Classifier object", + "param": { + "model": "MUD model path, if empty, will not load model, you can call load() later.\nif not empty, will load model and will raise err::Exception if load failed." + }, + "maixpy": "maix.nn.Classifier.__init__", + "maixcdk": "maix.nn.Classifier.Classifier", + "py_doc": "Construct a new Classifier object\n\nArgs:\n - model: MUD model path, if empty, will not load model, you can call load() later.\nif not empty, will load model and will raise err::Exception if load failed.\n" + }, + "args": [ + [ + "const string &", + "model", + "\"\"" + ] + ], + "ret_type": null, + "static": false, + "def": "Classifier(const string &model = \"\")" + }, + "load": { + "type": "func", + "name": "load", + "doc": { + "brief": "Load model from file, model format is .mud,\\nMUD file should contain [extra] section, have key-values:\\n- model_type: classifier\\n- input_type: rgb or bgr\\n- mean: 123.675, 116.28, 103.53\\n- scale: 0.017124753831663668, 0.01750700280112045, 0.017429193899782137\\n- labels: imagenet_classes.txt", + "param": { + "model": "MUD model path" + }, + "return": "error code, if load failed, return error code", + "maixpy": "maix.nn.Classifier.load", + "py_doc": "Load model from file, model format is .mud,\nMUD file should contain [extra] section, have key-values:\n- model_type: classifier\n- input_type: rgb or bgr\n- mean: 123.675, 116.28, 103.53\n- scale: 0.017124753831663668, 0.01750700280112045, 0.017429193899782137\n- labels: imagenet_classes.txt\n\nArgs:\n - model: MUD model path\n\n\nReturns: error code, if load failed, return error code\n" + }, + "args": [ + [ + "const string &", + "model", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err load(const string &model)" + }, + "classify": { + "type": "func", + "name": "classify", + "doc": { + "brief": "Forward image to model, get result. Only for image input, use classify_raw for tensor input.", + "param": { + "img": "image, format should match model input_type\uff0c or will raise err.Exception", + "softmax": "if true, will do softmax to result, or will return raw value" + }, + "throw": "If error occurred, will raise err::Exception, you can find reason in log, mostly caused by args error or hardware error.", + "return": "result, a list of (label, score). In C++, you need to delete it after use.", + "maixpy": "maix.nn.Classifier.classify", + "py_doc": "Forward image to model, get result. Only for image input, use classify_raw for tensor input.\n\nArgs:\n - img: image, format should match model input_type\uff0c or will raise err.Exception\n - softmax: if true, will do softmax to result, or will return raw value\n\n\nReturns: result, a list of (label, score). In C++, you need to delete it after use.\n" + }, + "args": [ + [ + "image::Image &", + "img", + null + ], + [ + "bool", + "softmax", + "true" + ] + ], + "ret_type": "std::vector>*", + "static": false, + "def": "std::vector> *classify(image::Image &img, bool softmax = true)" + }, + "classify_raw": { + "type": "func", + "name": "classify_raw", + "doc": { + "brief": "Forward tensor data to model, get result", + "param": { + "data": "tensor data, format should match model input_type\uff0c or will raise err.Excetion", + "softmax": "if true, will do softmax to result, or will return raw value" + }, + "throw": "If error occurred, will raise err::Exception, you can find reason in log, mostly caused by args error or hardware error.", + "return": "result, a list of (label, score). In C++, you need to delete it after use.", + "maixpy": "maix.nn.Classifier.classify_raw", + "py_doc": "Forward tensor data to model, get result\n\nArgs:\n - data: tensor data, format should match model input_type\uff0c or will raise err.Excetion\n - softmax: if true, will do softmax to result, or will return raw value\n\n\nReturns: result, a list of (label, score). In C++, you need to delete it after use.\n" + }, + "args": [ + [ + "tensor::Tensor &", + "data", + null + ], + [ + "bool", + "softmax", + "true" + ] + ], + "ret_type": "std::vector>*", + "static": false, + "def": "std::vector> *classify_raw(tensor::Tensor &data, bool softmax = true)" + }, + "input_size": { + "type": "func", + "name": "input_size", + "doc": { + "brief": "Get model input size, only for image input", + "return": "model input size", + "maixpy": "maix.nn.Classifier.input_size", + "py_doc": "Get model input size, only for image input\n\nReturns: model input size\n" + }, + "args": [], + "ret_type": "image::Size", + "static": false, + "def": "image::Size input_size()" + }, + "input_width": { + "type": "func", + "name": "input_width", + "doc": { + "brief": "Get model input width, only for image input", + "return": "model input size of width", + "maixpy": "maix.nn.Classifier.input_width", + "py_doc": "Get model input width, only for image input\n\nReturns: model input size of width\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int input_width()" + }, + "input_height": { + "type": "func", + "name": "input_height", + "doc": { + "brief": "Get model input height, only for image input", + "return": "model input size of height", + "maixpy": "maix.nn.Classifier.input_height", + "py_doc": "Get model input height, only for image input\n\nReturns: model input size of height\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int input_height()" + }, + "input_format": { + "type": "func", + "name": "input_format", + "doc": { + "brief": "Get input image format, only for image input", + "return": "input image format, image::Format type.", + "maixpy": "maix.nn.Classifier.input_format", + "py_doc": "Get input image format, only for image input\n\nReturns: input image format, image::Format type.\n" + }, + "args": [], + "ret_type": "image::Format", + "static": false, + "def": "image::Format input_format()" + }, + "input_shape": { + "type": "func", + "name": "input_shape", + "doc": { + "brief": "Get input shape, if have multiple input, only return first input shape", + "return": "input shape, list type", + "maixpy": "maix.nn.Classifier.input_shape", + "py_doc": "Get input shape, if have multiple input, only return first input shape\n\nReturns: input shape, list type\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector input_shape()" + }, + "labels": { + "type": "var", + "name": "labels", + "doc": { + "brief": "Labels list", + "maixpy": "maix.nn.Classifier.labels", + "py_doc": "Labels list" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::vector labels" + }, + "label_path": { + "type": "var", + "name": "label_path", + "doc": { + "brief": "Label file path", + "maixpy": "maix.nn.Classifier.label_path", + "py_doc": "Label file path" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::string label_path" + }, + "mean": { + "type": "var", + "name": "mean", + "doc": { + "brief": "Get mean value, list type", + "maixpy": "maix.nn.Classifier.mean", + "py_doc": "Get mean value, list type" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::vector mean" + }, + "scale": { + "type": "var", + "name": "scale", + "doc": { + "brief": "Get scale value, list type", + "maixpy": "maix.nn.Classifier.scale", + "py_doc": "Get scale value, list type" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::vector scale" + } + }, + "def": "class Classifier" + }, + "MUD": { + "type": "class", + "name": "MUD", + "doc": { + "brief": "MUD(model universal describe file) class", + "maixpy": "maix.nn.MUD", + "py_doc": "MUD(model universal describe file) class" + }, + "members": { + "__init__": { + "type": "func", + "name": "MUD", + "doc": { + "brief": "MUD constructor", + "param": { + "model_path": "direction [in], model file path, model format can be MUD(model universal describe file) file.\nIf model_path set, will load model from file, load failed will raise err.Exception.\nIf model_path not set, you can load model later by load function." + }, + "maixpy": "maix.nn.MUD.__init__", + "maixcdk": "maix.nn.MUD.MUD", + "py_doc": "MUD constructor\n\nArgs:\n - model_path: direction [in], model file path, model format can be MUD(model universal describe file) file.\nIf model_path set, will load model from file, load failed will raise err.Exception.\nIf model_path not set, you can load model later by load function.\n" + }, + "args": [ + [ + "const char *", + "model_path", + "nullptr" + ] + ], + "ret_type": null, + "static": false, + "def": "MUD(const char *model_path = nullptr)" + }, + "load": { + "type": "func", + "name": "load", + "doc": { + "brief": "Load model from file", + "param": { + "model_path": "direction [in], model file path, model format can be MUD(model universal describe file) file." + }, + "return": "error code, if load success, return err::ERR_NONE", + "maixpy": "maix.nn.MUD.load", + "py_doc": "Load model from file\n\nArgs:\n - model_path: direction [in], model file path, model format can be MUD(model universal describe file) file.\n\n\nReturns: error code, if load success, return err::ERR_NONE\n" + }, + "args": [ + [ + "const std::string &", + "model_path", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err load(const std::string &model_path)" + }, + "type": { + "type": "var", + "name": "type", + "doc": { + "brief": "Model type, string type", + "maixpy": "maix.nn.MUD.type", + "py_doc": "Model type, string type" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::string type" + }, + "items": { + "type": "var", + "name": "items", + "doc": { + "brief": "Model config items, different model type has different config items", + "maixpy": "maix.nn.MUD.items", + "py_doc": "Model config items, different model type has different config items" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::map> items" + } + }, + "def": "class MUD" + }, + "LayerInfo": { + "type": "class", + "name": "LayerInfo", + "doc": { + "brief": "NN model layer info", + "maixpy": "maix.nn.LayerInfo", + "py_doc": "NN model layer info" + }, + "members": { + "__init__": { + "type": "func", + "name": "LayerInfo", + "doc": { + "brief": "LayerInfo constructor", + "param": { + "name": "direction [in], layer name", + "dtype": "direction [in], layer data type", + "shape": "direction [in], layer shape" + }, + "maixpy": "maix.nn.LayerInfo.__init__", + "maixcdk": "maix.nn.LayerInfo.LayerInfo", + "py_doc": "LayerInfo constructor\n\nArgs:\n - name: direction [in], layer name\n - dtype: direction [in], layer data type\n - shape: direction [in], layer shape\n" + }, + "args": [ + [ + "const std::string &", + "name", + "\"\"" + ], + [ + "tensor::DType", + "dtype", + "tensor::DType::FLOAT32" + ], + [ + "std::vector", + "shape", + "std::vector()" + ] + ], + "ret_type": null, + "static": false, + "def": "LayerInfo(const std::string &name = \"\", tensor::DType dtype = tensor::DType::FLOAT32, std::vector shape = std::vector())" + }, + "name": { + "type": "var", + "name": "name", + "doc": { + "brief": "Layer name", + "maixpy": "maix.nn.LayerInfo.name", + "py_doc": "Layer name" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::string name" + }, + "dtype": { + "type": "var", + "name": "dtype", + "doc": { + "brief": "Layer data type", + "attention": "If model is quantized, this is the real quantized data type like int8 float16,\nin most scene, inputs and outputs we actually use float32 in API like forward.", + "maixpy": "maix.nn.LayerInfo.dtype", + "py_doc": "Layer data type" + }, + "value": null, + "static": false, + "readonly": false, + "def": "tensor::DType dtype" + }, + "shape": { + "type": "var", + "name": "shape", + "doc": { + "brief": "Layer shape", + "maixpy": "maix.nn.LayerInfo.shape", + "py_doc": "Layer shape" + }, + "value": null, + "static": false, + "readonly": false, + "def": "std::vector shape" + }, + "to_str": { + "type": "func", + "name": "to_str", + "doc": { + "brief": "To string", + "maixpy": "maix.nn.LayerInfo.to_str", + "py_doc": "To string" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string to_str()" + }, + "__str__": { + "type": "func", + "name": "__str__", + "doc": { + "brief": "To string", + "maixpy": "maix.nn.LayerInfo.__str__", + "py_doc": "To string" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string __str__()" + } + }, + "def": "class LayerInfo" + }, + "NN": { + "type": "class", + "name": "NN", + "doc": { + "brief": "Neural network class", + "maixpy": "maix.nn.NN", + "py_doc": "Neural network class" + }, + "members": { + "__init__": { + "type": "func", + "name": "NN", + "doc": { + "brief": "Neural network constructor", + "param": { + "model": "direction [in], model file path, model format can be MUD(model universal describe file) file.\nIf model_path set, will load model from file, load failed will raise err.Exception.\nIf model_path not set, you can load model later by load function." + }, + "maixpy": "maix.nn.NN.__init__", + "py_doc": "Neural network constructor\n\nArgs:\n - model: direction [in], model file path, model format can be MUD(model universal describe file) file.\nIf model_path set, will load model from file, load failed will raise err.Exception.\nIf model_path not set, you can load model later by load function.\n" + }, + "args": [ + [ + "const std::string &", + "model", + "\"\"" + ] + ], + "ret_type": null, + "static": false, + "def": "NN(const std::string &model = \"\")" + }, + "load": { + "type": "func", + "name": "load", + "doc": { + "brief": "Load model from file", + "param": { + "model": "direction [in], model file path, model format can be MUD(model universal describe file) file." + }, + "return": "error code, if load success, return err::ERR_NONE", + "maixpy": "maix.nn.NN.load", + "py_doc": "Load model from file\n\nArgs:\n - model: direction [in], model file path, model format can be MUD(model universal describe file) file.\n\n\nReturns: error code, if load success, return err::ERR_NONE\n" + }, + "args": [ + [ + "const std::string &", + "model", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err load(const std::string &model)" + }, + "loaded": { + "type": "func", + "name": "loaded", + "doc": { + "brief": "Is model loaded", + "return": "true if model loaded, else false", + "maixpy": "maix.nn.NN.loaded", + "py_doc": "Is model loaded\n\nReturns: true if model loaded, else false\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool loaded()" + }, + "inputs_info": { + "type": "func", + "name": "inputs_info", + "doc": { + "brief": "Get model input layer info", + "return": "input layer info", + "maixpy": "maix.nn.NN.inputs_info", + "py_doc": "Get model input layer info\n\nReturns: input layer info\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector inputs_info()" + }, + "outputs_info": { + "type": "func", + "name": "outputs_info", + "doc": { + "brief": "Get model output layer info", + "return": "output layer info", + "maixpy": "maix.nn.NN.outputs_info", + "py_doc": "Get model output layer info\n\nReturns: output layer info\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector outputs_info()" + }, + "extra_info": { + "type": "func", + "name": "extra_info", + "doc": { + "brief": "Get model extra info define in MUD file", + "return": "extra info, dict type, key-value object, attention: key and value are all string type.", + "maixpy": "maix.nn.NN.extra_info", + "py_doc": "Get model extra info define in MUD file\n\nReturns: extra info, dict type, key-value object, attention: key and value are all string type.\n" + }, + "args": [], + "ret_type": "std::map", + "static": false, + "def": "std::map extra_info()" + }, + "forward": { + "type": "func", + "name": "forward", + "doc": { + "brief": "forward run model, get output of model,\\nthis is specially for MaixPy, not efficient, but easy to use in MaixPy", + "param": { + "input": "direction [in], input tensor" + }, + "return": "output tensor. In C++, you should manually delete tensors in return value and return value.", + "maixpy": "maix.nn.NN.forward", + "py_doc": "forward run model, get output of model,\nthis is specially for MaixPy, not efficient, but easy to use in MaixPy\n\nArgs:\n - input: direction [in], input tensor\n\n\nReturns: output tensor. In C++, you should manually delete tensors in return value and return value.\n" + }, + "args": [ + [ + "tensor::Tensors &", + "inputs", + null + ] + ], + "ret_type": "tensor::Tensors*", + "static": false, + "def": "tensor::Tensors *forward(tensor::Tensors &inputs)" + }, + "forward_image": { + "type": "func", + "name": "forward_image", + "doc": { + "brief": "forward model, param is image", + "param": { + "img": "input image", + "mean": "mean value, a list type, e.g. [0.485, 0.456, 0.406], default is empty list means not normalize.", + "scale": "scale value, a list type, e.g. [1/0.229, 1/0.224, 1/0.225], default is empty list means not normalize.", + "fit": "fit mode, if the image size of input not equal to model's input, it will auto resize use this fit method,\ndefault is image.Fit.FIT_FILL for easy coordinate calculation, but for more accurate result, use image.Fit.FIT_CONTAIN is better." + }, + "return": "output tensor. In C++, you should manually delete tensors in return value and return value.", + "maixpy": "maix.nn.NN.forward_image", + "py_doc": "forward model, param is image\n\nArgs:\n - img: input image\n - mean: mean value, a list type, e.g. [0.485, 0.456, 0.406], default is empty list means not normalize.\n - scale: scale value, a list type, e.g. [1/0.229, 1/0.224, 1/0.225], default is empty list means not normalize.\n - fit: fit mode, if the image size of input not equal to model's input, it will auto resize use this fit method,\ndefault is image.Fit.FIT_FILL for easy coordinate calculation, but for more accurate result, use image.Fit.FIT_CONTAIN is better.\n\n\nReturns: output tensor. In C++, you should manually delete tensors in return value and return value.\n" + }, + "args": [ + [ + "image::Image &", + "img", + null + ], + [ + "std::vector", + "mean", + "std::vector()" + ], + [ + "std::vector", + "scale", + "std::vector()" + ], + [ + "image::Fit", + "fit", + "image::Fit::FIT_FILL" + ] + ], + "ret_type": "tensor::Tensors*", + "static": false, + "def": "tensor::Tensors *forward_image(image::Image &img, std::vector mean = std::vector(), std::vector scale = std::vector(), image::Fit fit = image::Fit::FIT_FILL)" + } + }, + "def": "class NN" + }, + "F": { + "type": "module", + "doc": { + "brief": "maix.nn.F module" + }, + "members": { + "softmax": { + "type": "func", + "name": "softmax", + "doc": { + "brief": "Softmax, only support 1D tensor, multi-dimension tensor will be treated as 1D tensor", + "param": { + "tensor": "input tensor", + "replace": "change input tensor data directly, if not, will create a new tensor" + }, + "throw": "If arg error, will raise err.Exception error", + "return": "output tensor, if arg replace is true, return the arg tensor's address.\nIf not replace, return a new object, so In C++, you should delete it manually in this case!", + "maixpy": "maix.nn.F.softmax", + "py_doc": "Softmax, only support 1D tensor, multi-dimension tensor will be treated as 1D tensor\n\nArgs:\n - tensor: input tensor\n - replace: change input tensor data directly, if not, will create a new tensor\n\n\nReturns: output tensor, if arg replace is true, return the arg tensor's address.\nIf not replace, return a new object, so In C++, you should delete it manually in this case!\n" + }, + "args": [ + [ + "tensor::Tensor *", + "tensor", + null + ], + [ + "bool", + "replace", + null + ] + ], + "ret_type": "tensor::Tensor*", + "static": false, + "def": "tensor::Tensor *softmax(tensor::Tensor *tensor, bool replace)" + } + }, + "auto_add": true + }, + "Object": { + "type": "class", + "name": "Object", + "doc": { + "brief": "Object for detect result", + "maixpy": "maix.nn.Object", + "py_doc": "Object for detect result" + }, + "members": { + "__init__": { + "type": "func", + "name": "Object", + "doc": { + "brief": "Constructor of Object for detect result", + "param": { + "x": "left top x", + "y": "left top y", + "w": "width", + "h": "height", + "class_id": "class id", + "score": "score" + }, + "maixpy": "maix.nn.Object.__init__", + "maixcdk": "maix.nn.Object.Object", + "py_doc": "Constructor of Object for detect result\n\nArgs:\n - x: left top x\n - y: left top y\n - w: width\n - h: height\n - class_id: class id\n - score: score\n" + }, + "args": [ + [ + "int", + "x", + "0" + ], + [ + "int", + "y", + "0" + ], + [ + "int", + "w", + "0" + ], + [ + "int", + "h", + "0" + ], + [ + "int", + "class_id", + "0" + ], + [ + "float", + "score", + "0" + ] + ], + "ret_type": null, + "static": false, + "def": "Object(int x = 0, int y = 0, int w = 0, int h = 0, int class_id = 0, float score = 0)" + }, + "__str__": { + "type": "func", + "name": "to_str", + "doc": { + "brief": "Object info to string", + "return": "Object info string", + "maixpy": "maix.nn.Object.__str__", + "maixcdk": "maix.nn.Object.to_str", + "py_doc": "Object info to string\n\nReturns: Object info string\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string to_str()" + }, + "x": { + "type": "var", + "name": "x", + "doc": { + "brief": "Object left top coordinate x", + "maixpy": "maix.nn.Object.x", + "py_doc": "Object left top coordinate x" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int x" + }, + "y": { + "type": "var", + "name": "y", + "doc": { + "brief": "Object left top coordinate y", + "maixpy": "maix.nn.Object.y", + "py_doc": "Object left top coordinate y" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int y" + }, + "w": { + "type": "var", + "name": "w", + "doc": { + "brief": "Object width", + "maixpy": "maix.nn.Object.w", + "py_doc": "Object width" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int w" + }, + "h": { + "type": "var", + "name": "h", + "doc": { + "brief": "Object height", + "maixpy": "maix.nn.Object.h", + "py_doc": "Object height" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int h" + }, + "class_id": { + "type": "var", + "name": "class_id", + "doc": { + "brief": "Object class id", + "maixpy": "maix.nn.Object.class_id", + "py_doc": "Object class id" + }, + "value": null, + "static": false, + "readonly": false, + "def": "int class_id" + }, + "score": { + "type": "var", + "name": "score", + "doc": { + "brief": "Object score", + "maixpy": "maix.nn.Object.score", + "py_doc": "Object score" + }, + "value": null, + "static": false, + "readonly": false, + "def": "float score" + } + }, + "def": "class Object" + } + }, + "auto_add": true + }, + "peripheral": { + "type": "module", + "doc": { + "brief": "Chip's peripheral driver", + "maixpy": "maix.peripheral", + "py_doc": "Chip's peripheral driver" + }, + "members": { + "timer": { + "type": "module", + "doc": { + "brief": "maix.peripheral.timer module" + }, + "members": { + "TIMER": { + "type": "class", + "name": "TIMER", + "doc": { + "brief": "Peripheral timer class", + "maixpy": "maix.peripheral.timer.TIMER", + "py_doc": "Peripheral timer class" + }, + "members": { + "__init__": { + "type": "func", + "name": "TIMER", + "doc": { + "brief": "TIMER constructor", + "maixpy": "maix.peripheral.timer.TIMER.__init__", + "py_doc": "TIMER constructor" + }, + "args": [], + "ret_type": null, + "static": false, + "def": "TIMER()" + } + }, + "def": "class TIMER" + } + }, + "auto_add": true + }, + "wdt": { + "type": "module", + "doc": { + "brief": "maix.peripheral.wdt module" + }, + "members": { + "WDT": { + "type": "class", + "name": "WDT", + "doc": { + "brief": "Peripheral wdt class", + "maixpy": "maix.peripheral.wdt.WDT", + "py_doc": "Peripheral wdt class" + }, + "members": { + "__init__": { + "type": "func", + "name": "WDT", + "doc": { + "brief": "WDT constructor", + "param": { + "id": "direction [in], id of wdt, int type", + "feed_ms": "direction [in], feed ms of wdt, int type" + }, + "maixpy": "maix.peripheral.wdt.WDT.__init__", + "py_doc": "WDT constructor\n\nArgs:\n - id: direction [in], id of wdt, int type\n - feed_ms: direction [in], feed ms of wdt, int type\n" + }, + "args": [ + [ + "int", + "id", + null + ], + [ + "int", + "feed_ms", + null + ] + ], + "ret_type": null, + "static": false, + "def": "WDT(int id, int feed_ms)" + }, + "feed": { + "type": "func", + "name": "feed", + "doc": { + "brief": "feed wdt", + "return": "error code, if feed success, return err::ERR_NONE", + "maixpy": "maix.peripheral.wdt.WDT.feed", + "py_doc": "feed wdt\n\nReturns: error code, if feed success, return err::ERR_NONE\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int feed()" + }, + "stop": { + "type": "func", + "name": "stop", + "doc": { + "brief": "stop wdt", + "maixpy": "maix.peripheral.wdt.WDT.stop", + "py_doc": "stop wdt" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int stop()" + }, + "restart": { + "type": "func", + "name": "restart", + "doc": { + "brief": "restart wdt", + "attention": "restart WDT after stop it", + "maixpy": "maix.peripheral.wdt.WDT.restart", + "py_doc": "restart wdt" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int restart()" + } + }, + "def": "class WDT" + } + }, + "auto_add": true + }, + "pwm": { + "type": "module", + "doc": { + "brief": "maix.peripheral.pwm module" + }, + "members": { + "PWM": { + "type": "class", + "name": "PWM", + "doc": { + "brief": "Peripheral pwm class", + "maixpy": "maix.peripheral.pwm.PWM", + "py_doc": "Peripheral pwm class" + }, + "members": { + "__init__": { + "type": "func", + "name": "PWM", + "doc": { + "brief": "PWM constructor", + "param": { + "pin": "direction [in], pwm pin. int type.", + "freq": "direction [in], pwm frequency, unit: Hz. int type. default is 1000", + "duty": "direction [in], pwm duty. int type. range is [0, 100], default is -1, means set duty to 50\nnote: you can not set duty and duty_val at the same time", + "duty_val": "direction [in], pwm duty value, unit: us. int type. default is -1, means set duty_val to (1000000000 / freq) * 0.5\nnote: you can not set duty and duty_val at the same time", + "align": "direction [in], pwm align. int type. default is -1", + "sync": "direction [in], pwm sync. int type. default is false" + }, + "maixpy": "maix.peripheral.pwm.PWM.__init__", + "py_doc": "PWM constructor\n\nArgs:\n - pin: direction [in], pwm pin. int type.\n - freq: direction [in], pwm frequency, unit: Hz. int type. default is 1000\n - duty: direction [in], pwm duty. int type. range is [0, 100], default is -1, means set duty to 50\nnote: you can not set duty and duty_val at the same time\n - duty_val: direction [in], pwm duty value, unit: us. int type. default is -1, means set duty_val to (1000000000 / freq) * 0.5\nnote: you can not set duty and duty_val at the same time\n - align: direction [in], pwm align. int type. default is -1\n - sync: direction [in], pwm sync. int type. default is false\n" + }, + "args": [ + [ + "int", + "pin", + null + ], + [ + "int", + "freq", + "1000" + ], + [ + "int", + "duty", + "-1" + ], + [ + "int", + "duty_val", + "-1" + ], + [ + "int", + "align", + "-1" + ], + [ + "bool", + "sync", + "false" + ] + ], + "ret_type": null, + "static": false, + "def": "PWM(int pin, int freq = 1000, int duty = -1, int duty_val = -1, int align = -1, bool sync = false)" + }, + "duty": { + "type": "func", + "name": "duty", + "doc": { + "brief": "set pwm duty", + "param": { + "duty": "direction [in], pwm duty. int type. default is -1\nduty = [0, 100], set duty\nduty == -1 or not set, return current duty" + }, + "return": "int type\nwhen get duty, return current duty\nwhen set duty, if success, return 0; else return -1", + "maixpy": "maix.peripheral.pwm.PWM.duty", + "py_doc": "set pwm duty\n\nArgs:\n - duty: direction [in], pwm duty. int type. default is -1\nduty = [0, 100], set duty\nduty == -1 or not set, return current duty\n\n\nReturns: int type\nwhen get duty, return current duty\nwhen set duty, if success, return 0; else return -1\n" + }, + "args": [ + [ + "int", + "duty", + "-1" + ] + ], + "ret_type": "int", + "static": false, + "def": "int duty(int duty = -1)" + }, + "duty_val": { + "type": "func", + "name": "duty_val", + "doc": { + "brief": "set pwm duty value", + "param": { + "duty_val": "direction [in], pwm duty value. int type. default is -1\nduty_val = [0, 65535], set duty_val\nduty_val == -1 or not set, return current duty_val" + }, + "return": "int type\nwhen get duty_val, return current duty_val\nwhen set duty_val, if success, return 0; else return -1", + "maixpy": "maix.peripheral.pwm.PWM.duty_val", + "py_doc": "set pwm duty value\n\nArgs:\n - duty_val: direction [in], pwm duty value. int type. default is -1\nduty_val = [0, 65535], set duty_val\nduty_val == -1 or not set, return current duty_val\n\n\nReturns: int type\nwhen get duty_val, return current duty_val\nwhen set duty_val, if success, return 0; else return -1\n" + }, + "args": [ + [ + "int", + "duty_val", + "-1" + ] + ], + "ret_type": "int", + "static": false, + "def": "int duty_val(int duty_val = -1)" + }, + "freq": { + "type": "func", + "name": "freq", + "doc": { + "brief": "set pwm frequency", + "param": { + "freq": "direction [in], pwm frequency. int type. default is -1\nfreq >= 0, set freq\nfreq == -1 or not set, return current freq" + }, + "return": "int type\nwhen get freq, return current freq\nwhen set freq, if success, return 0; else return -1", + "maixpy": "maix.peripheral.pwm.PWM.freq", + "py_doc": "set pwm frequency\n\nArgs:\n - freq: direction [in], pwm frequency. int type. default is -1\nfreq >= 0, set freq\nfreq == -1 or not set, return current freq\n\n\nReturns: int type\nwhen get freq, return current freq\nwhen set freq, if success, return 0; else return -1\n" + }, + "args": [ + [ + "int", + "freq", + "-1" + ] + ], + "ret_type": "int", + "static": false, + "def": "int freq(int freq = -1)" + }, + "enable": { + "type": "func", + "name": "enable", + "doc": { + "brief": "set pwm enable", + "param": { + "enable": "direction [in], pwm enable. int type. default is -1\nenable == 0, disable pwm\nenable == 1, enable pwm\nenable == -1 or not set, return current enable value" + }, + "return": "int type\nwhen get enable, return current enable value\nwhen set enable, if success, return 0; else return -1", + "maixpy": "maix.peripheral.pwm.PWM.enable", + "py_doc": "set pwm enable\n\nArgs:\n - enable: direction [in], pwm enable. int type. default is -1\nenable == 0, disable pwm\nenable == 1, enable pwm\nenable == -1 or not set, return current enable value\n\n\nReturns: int type\nwhen get enable, return current enable value\nwhen set enable, if success, return 0; else return -1\n" + }, + "args": [ + [ + "int", + "enable", + "-1" + ] + ], + "ret_type": "int", + "static": false, + "def": "int enable(int enable = -1)" + } + }, + "def": "class PWM" + } + }, + "auto_add": true + }, + "gpio": { + "type": "module", + "doc": { + "brief": "maix.peripheral.gpio module" + }, + "members": { + "IN": { + "type": "var", + "name": "", + "doc": { + "brief": "GPIO input mode", + "maixpy": "maix.peripheral.gpio.IN", + "py_doc": "GPIO input mode" + }, + "value": "0x01", + "static": false, + "readonly": true, + "def": "const int IN = 0x01" + }, + "OUT": { + "type": "var", + "name": "", + "doc": { + "brief": "GPIO output mode", + "maixpy": "maix.peripheral.gpio.OUT", + "py_doc": "GPIO output mode" + }, + "value": "0x2", + "static": false, + "readonly": true, + "def": "const int OUT = 0x2" + }, + "OUT_OD": { + "type": "var", + "name": "", + "doc": { + "brief": "GPIO output open drain mode", + "maixpy": "maix.peripheral.gpio.OUT_OD", + "py_doc": "GPIO output open drain mode" + }, + "value": "0x3", + "static": false, + "readonly": true, + "def": "const int OUT_OD = 0x3" + }, + "PULL_NONE": { + "type": "var", + "name": "", + "doc": { + "brief": "GPIO pull none mode", + "maixpy": "maix.peripheral.gpio.PULL_NONE", + "py_doc": "GPIO pull none mode" + }, + "value": "0x4", + "static": false, + "readonly": true, + "def": "const int PULL_NONE = 0x4" + }, + "PULL_UP": { + "type": "var", + "name": "", + "doc": { + "brief": "GPIO pull up mode", + "maixpy": "maix.peripheral.gpio.PULL_UP", + "py_doc": "GPIO pull up mode" + }, + "value": "0x5", + "static": false, + "readonly": true, + "def": "const int PULL_UP = 0x5" + }, + "PULL_DOWN": { + "type": "var", + "name": "", + "doc": { + "brief": "GPIO pull down mode", + "maixpy": "maix.peripheral.gpio.PULL_DOWN", + "py_doc": "GPIO pull down mode" + }, + "value": "0x6", + "static": false, + "readonly": true, + "def": "const int PULL_DOWN = 0x6" + }, + "OFF": { + "type": "var", + "name": "", + "doc": { + "brief": "GPIO off", + "maixpy": "maix.peripheral.gpio.OFF", + "py_doc": "GPIO off" + }, + "value": "0x0", + "static": false, + "readonly": true, + "def": "const int OFF = 0x0" + }, + "ON": { + "type": "var", + "name": "", + "doc": { + "brief": "GPIO on", + "maixpy": "maix.peripheral.gpio.ON", + "py_doc": "GPIO on" + }, + "value": "0x1", + "static": false, + "readonly": true, + "def": "const int ON = 0x1" + }, + "GPIO": { + "type": "class", + "name": "GPIO", + "doc": { + "brief": "Peripheral gpio class", + "maixpy": "maix.peripheral.gpio.GPIO", + "py_doc": "Peripheral gpio class" + }, + "members": { + "__init__": { + "type": "func", + "name": "GPIO", + "doc": { + "brief": "GPIO constructor", + "param": { + "pin": "direction [in], gpio pin. int type.", + "mode": "direction [in], gpio mode. int type. default is -1, means gpio.IN\noption:\nmode = gpio.IN, means input mode\nmode = gpio.OUT, means output mode\nmode = gpio.OUT_OD, means output open drain mode", + "pull": "direction [in], gpio pull. int type. default is determined by actual board.\noption:\npull = gpio.PULL_NONE, means pull none mode\npull = gpio.PULL_UP, means pull up mode\npull = gpio.PULL_DOWN, means pull down mode" + }, + "maixpy": "maix.peripheral.gpio.GPIO.__init__", + "py_doc": "GPIO constructor\n\nArgs:\n - pin: direction [in], gpio pin. int type.\n - mode: direction [in], gpio mode. int type. default is -1, means gpio.IN\noption:\nmode = gpio.IN, means input mode\nmode = gpio.OUT, means output mode\nmode = gpio.OUT_OD, means output open drain mode\n - pull: direction [in], gpio pull. int type. default is determined by actual board.\noption:\npull = gpio.PULL_NONE, means pull none mode\npull = gpio.PULL_UP, means pull up mode\npull = gpio.PULL_DOWN, means pull down mode\n" + }, + "args": [ + [ + "int", + "pin", + null + ], + [ + "int", + "mode", + "-1" + ], + [ + "int", + "pull", + "-1" + ] + ], + "ret_type": null, + "static": false, + "def": "GPIO(int pin, int mode = -1, int pull = -1)" + }, + "value": { + "type": "func", + "name": "value", + "doc": { + "brief": "write/read gpio value", + "param": { + "value": "direction [in], gpio value. int type.\nvalue == 0, means write gpio to low level\nvalue == 1, means write gpio to high level" + }, + "return": "int type\nif success, return 0; else return -1", + "maixpy": "maix.peripheral.gpio.GPIO.value", + "py_doc": "write/read gpio value\n\nArgs:\n - value: direction [in], gpio value. int type.\nvalue == 0, means write gpio to low level\nvalue == 1, means write gpio to high level\n\n\nReturns: int type\nif success, return 0; else return -1\n" + }, + "args": [ + [ + "int", + "value", + "-1" + ] + ], + "ret_type": "int", + "static": false, + "def": "int value(int value = -1)" + }, + "write": { + "type": "func", + "name": "write", + "doc": { + "brief": "get gpio write", + "param": { + "value": "direction [in], gpio value. int type.\nvalue == 0, means write gpio to low level\nvalue == 1, means write gpio to high level\nvalue == -1 or not set, means read gpio value" + }, + "return": "int type\nwhen read gpio value, return gpio value\nwhen write gpio value, if success, return 0; else return -1", + "maixpy": "maix.peripheral.gpio.GPIO.write", + "py_doc": "get gpio write\n\nArgs:\n - value: direction [in], gpio value. int type.\nvalue == 0, means write gpio to low level\nvalue == 1, means write gpio to high level\nvalue == -1 or not set, means read gpio value\n\n\nReturns: int type\nwhen read gpio value, return gpio value\nwhen write gpio value, if success, return 0; else return -1\n" + }, + "args": [ + [ + "int", + "value", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int write(int value)" + }, + "read": { + "type": "func", + "name": "read", + "doc": { + "brief": "get gpio read", + "return": "int type\nreturn 0, means gpio is low level\nreturn 1, means gpio is high level\nreturn other, means error", + "maixpy": "maix.peripheral.gpio.GPIO.read", + "py_doc": "get gpio read\n\nReturns: int type\nreturn 0, means gpio is low level\nreturn 1, means gpio is high level\nreturn other, means error\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int read()" + }, + "on": { + "type": "func", + "name": "on", + "doc": { + "brief": "set gpio on", + "maixpy": "maix.peripheral.gpio.GPIO.on", + "py_doc": "set gpio on" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void on()" + }, + "off": { + "type": "func", + "name": "off", + "doc": { + "brief": "set gpio off", + "maixpy": "maix.peripheral.gpio.GPIO.off", + "py_doc": "set gpio off" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void off()" + }, + "high": { + "type": "func", + "name": "high", + "doc": { + "brief": "set gpio high", + "maixpy": "maix.peripheral.gpio.GPIO.high", + "py_doc": "set gpio high" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void high()" + }, + "low": { + "type": "func", + "name": "low", + "doc": { + "brief": "set gpio low", + "maixpy": "maix.peripheral.gpio.GPIO.low", + "py_doc": "set gpio low" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void low()" + }, + "toggle": { + "type": "func", + "name": "toggle", + "doc": { + "brief": "gpio toggle", + "maixpy": "maix.peripheral.gpio.GPIO.toggle", + "py_doc": "gpio toggle" + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void toggle()" + } + }, + "def": "class GPIO" + } + }, + "auto_add": true + }, + "spi": { + "type": "module", + "doc": { + "brief": "maix.peripheral.spi module" + }, + "members": { + "MASTER_MODE": { + "type": "var", + "name": "", + "doc": { + "brief": "spi master mode", + "maixpy": "maix.peripheral.spi.MASTER_MODE", + "py_doc": "spi master mode" + }, + "value": "0x1", + "static": false, + "readonly": true, + "def": "const int MASTER_MODE = 0x1" + }, + "SLAVE_MODE": { + "type": "var", + "name": "", + "doc": { + "brief": "spi slave mode", + "maixpy": "maix.peripheral.spi.SLAVE_MODE", + "py_doc": "spi slave mode" + }, + "value": "0x2", + "static": false, + "readonly": true, + "def": "const int SLAVE_MODE = 0x2" + }, + "CLOCK_MODE_0": { + "type": "var", + "name": "", + "doc": { + "brief": "clock mode 0", + "attention": "CPOL = 0, CPHA = 0\nmeans the idle level of the clock is low, data is captured on the first edge of the SPI clock cycle", + "maixpy": "maix.peripheral.spi.CLOCK_MODE_0", + "py_doc": "clock mode 0" + }, + "value": "0x0", + "static": false, + "readonly": true, + "def": "const int CLOCK_MODE_0 = 0x0" + }, + "CLOCK_MODE_1": { + "type": "var", + "name": "", + "doc": { + "brief": "clock mode 1", + "attention": "CPOL = 0, CPHA = 1\nmeans the idle level of the clock is low, data is captured on the second edge of the SPI clock cycle", + "maixpy": "maix.peripheral.spi.CLOCK_MODE_1", + "py_doc": "clock mode 1" + }, + "value": "0x1", + "static": false, + "readonly": true, + "def": "const int CLOCK_MODE_1 = 0x1" + }, + "CLOCK_MODE_2": { + "type": "var", + "name": "", + "doc": { + "brief": "clock mode 2", + "attention": "CPOL = 1, CPHA = 0\nmeans the idle level of the clock is high, data is captured on the first edge of the SPI clock cycle", + "maixpy": "maix.peripheral.spi.CLOCK_MODE_2", + "py_doc": "clock mode 2" + }, + "value": "0x2", + "static": false, + "readonly": true, + "def": "const int CLOCK_MODE_2 = 0x2" + }, + "CLOCK_MODE_3": { + "type": "var", + "name": "", + "doc": { + "brief": "clock mode 3", + "attention": "CPOL = 1, CPHA = 1\nmeans the idle level of the clock is high, data is captured on the second edge of the SPI clock cycle", + "maixpy": "maix.peripheral.spi.CLOCK_MODE_3", + "py_doc": "clock mode 3" + }, + "value": "0x3", + "static": false, + "readonly": true, + "def": "const int CLOCK_MODE_3 = 0x3" + }, + "SPI": { + "type": "class", + "name": "SPI", + "doc": { + "brief": "Peripheral spi class", + "maixpy": "maix.peripheral.spi.SPI", + "py_doc": "Peripheral spi class" + }, + "members": { + "__init__": { + "type": "func", + "name": "SPI", + "doc": { + "brief": "SPI constructor", + "param": { + "id": "direction [in], id of spi, int type", + "sclk": "direction [in], sclk pin of spi, int type", + "mosi": "direction [in], mosi pin of spi, int type", + "miso": "direction [in], miso pin of spi, int type", + "cs": "direction [in], cs pin of spi, int type", + "freq": "direction [in], freq of spi, int type", + "use_soft_cs": "direction [in], use_soft_cs of spi, int type\nthis param is valid in master mode, when use_soft_cs = 1, the\ncs pin must be operated manually when sending data. default is -1, means use hardware cs", + "mode": "direction [in], mode of spi, int type\noption:\nmode = spi.MASTER, means use master mode\nmode = spi.SLAVE, means use slave mode\ndefualt is -1, means use spi.MASTER mode", + "clock_mode": "direction [in], clock_mode of spi, int type,default is -1\noption:\nclock_mode = spi.CLOCK_MODE_0, @see CLOCK_MODE_0\nclock_mode = spi.CLOCK_MODE_1, @see CLOCK_MODE_1\nclock_mode = spi.CLOCK_MODE_2, @see CLOCK_MODE_2\nclock_mode = spi.CLOCK_MODE_3, @see CLOCK_MODE_3\ndefault is -1, means use CLOCK_MODE_0" + }, + "maixpy": "maix.peripheral.spi.SPI.__init__", + "py_doc": "SPI constructor\n\nArgs:\n - id: direction [in], id of spi, int type\n - sclk: direction [in], sclk pin of spi, int type\n - mosi: direction [in], mosi pin of spi, int type\n - miso: direction [in], miso pin of spi, int type\n - cs: direction [in], cs pin of spi, int type\n - freq: direction [in], freq of spi, int type\n - use_soft_cs: direction [in], use_soft_cs of spi, int type\nthis param is valid in master mode, when use_soft_cs = 1, the\ncs pin must be operated manually when sending data. default is -1, means use hardware cs\n - mode: direction [in], mode of spi, int type\noption:\nmode = spi.MASTER, means use master mode\nmode = spi.SLAVE, means use slave mode\ndefualt is -1, means use spi.MASTER mode\n - clock_mode: direction [in], clock_mode of spi, int type,default is -1\noption:\nclock_mode = spi.CLOCK_MODE_0, @see CLOCK_MODE_0\nclock_mode = spi.CLOCK_MODE_1, @see CLOCK_MODE_1\nclock_mode = spi.CLOCK_MODE_2, @see CLOCK_MODE_2\nclock_mode = spi.CLOCK_MODE_3, @see CLOCK_MODE_3\ndefault is -1, means use CLOCK_MODE_0\n" + }, + "args": [ + [ + "int", + "id", + null + ], + [ + "int", + "sclk", + null + ], + [ + "int", + "mosi", + null + ], + [ + "int", + "miso", + null + ], + [ + "int", + "cs", + null + ], + [ + "int", + "freq", + null + ], + [ + "int", + "use_soft_cs", + "-1" + ], + [ + "int", + "mode", + "-1" + ], + [ + "int", + "clock_mode", + "-1" + ] + ], + "ret_type": null, + "static": false, + "def": "SPI(int id, int sclk, int mosi, int miso, int cs, int freq, int use_soft_cs = -1, int mode = -1, int clock_mode = -1)" + }, + "cs_high": { + "type": "func", + "name": "cs_high", + "doc": { + "brief": "set cs pin to high level", + "maixpy": "maix.peripheral.spi.SPI.cs_high", + "py_doc": "set cs pin to high level" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int cs_high()" + }, + "cs_low": { + "type": "func", + "name": "cs_low", + "doc": { + "brief": "set cs pin to low level", + "maixpy": "maix.peripheral.spi.SPI.cs_low", + "py_doc": "set cs pin to low level" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int cs_low()" + }, + "read": { + "type": "func", + "name": "read", + "doc": { + "brief": "read data from spi", + "param": { + "read_len": "direction [in], read length, int type" + }, + "return": "read data, vector type", + "maixpy": "maix.peripheral.spi.SPI.read", + "py_doc": "read data from spi\n\nArgs:\n - read_len: direction [in], read length, int type\n\n\nReturns: read data, vector type\n" + }, + "args": [ + [ + "int", + "read_len", + null + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector read(int read_len)" + }, + "write": { + "type": "func", + "name": "write", + "doc": { + "brief": "write data to spi", + "param": { + "write_data": "direction [in], write data, vector type\nthe member range of the list is [0,255]" + }, + "return": "error code, if write success, return err::ERR_NONE", + "maixpy": "maix.peripheral.spi.SPI.write", + "py_doc": "write data to spi\n\nArgs:\n - write_data: direction [in], write data, vector type\nthe member range of the list is [0,255]\n\n\nReturns: error code, if write success, return err::ERR_NONE\n" + }, + "args": [ + [ + "std::vector", + "write_data", + "std::vector{}" + ] + ], + "ret_type": "int", + "static": false, + "def": "int write(std::vector write_data = std::vector{})" + }, + "read_write": { + "type": "func", + "name": "read_write", + "doc": { + "brief": "set spi status to high level or low level", + "param": { + "write_data": "direction [in], write data, vector type\nthe member range of the list is [0,255]", + "read_len": "direction [in], read length, int type\ndefault is -1, means read_len = write_data.size()" + }, + "return": "read data, vector type", + "maixpy": "maix.peripheral.spi.SPI.read_write", + "py_doc": "set spi status to high level or low level\n\nArgs:\n - write_data: direction [in], write data, vector type\nthe member range of the list is [0,255]\n - read_len: direction [in], read length, int type\ndefault is -1, means read_len = write_data.size()\n\n\nReturns: read data, vector type\n" + }, + "args": [ + [ + "std::vector", + "write_data", + "std::vector{}" + ], + [ + "int", + "read_len", + "-1" + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector read_write( std::vector write_data = std::vector{}, \n int read_len = -1)" + }, + "is_busy": { + "type": "func", + "name": "is_busy", + "doc": { + "brief": "get busy status of spi", + "return": "busy status, bool type", + "maixpy": "maix.peripheral.spi.SPI.is_busy", + "py_doc": "get busy status of spi\n\nReturns: busy status, bool type\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_busy()" + } + }, + "def": "class SPI" + } + }, + "auto_add": true + }, + "uart": { + "type": "module", + "doc": { + "brief": "maix uart peripheral driver", + "maixpy": "maix.peripheral.uart", + "py_doc": "maix uart peripheral driver" + }, + "members": { + "PARITY": { + "type": "enum", + "name": "PARITY", + "doc": { + "brief": "uart parity enum", + "maixpy": "maix.peripheral.uart.PARITY", + "py_doc": "uart parity enum" + }, + "values": [ + [ + "PARITY_NONE", + "0x00", + "no parity" + ], + [ + "PARITY_ODD", + "0x01", + "odd parity" + ], + [ + "PARITY_EVEN", + "0x02", + "even parity" + ], + [ + "PARITY_MAX", + "", + "" + ] + ], + "def": "enum PARITY\n {\n PARITY_NONE = 0x00, // no parity\n PARITY_ODD = 0x01, // odd parity\n PARITY_EVEN = 0x02, // even parity\n PARITY_MAX\n }" + }, + "STOP": { + "type": "enum", + "name": "STOP", + "doc": { + "brief": "uart stop bits", + "maixpy": "maix.peripheral.uart.STOP", + "py_doc": "uart stop bits" + }, + "values": [ + [ + "STOP_1", + "0x01", + "1 stop bit" + ], + [ + "STOP_2", + "0x02", + "2 stop bits" + ], + [ + "STOP_1_5", + "0x03", + "1.5 stop bits" + ], + [ + "STOP_MAX", + "", + "" + ] + ], + "def": "enum STOP\n {\n STOP_1 = 0x01, // 1 stop bit\n STOP_2 = 0x02, // 2 stop bits\n STOP_1_5 = 0x03, // 1.5 stop bits\n STOP_MAX\n }" + }, + "BITS": { + "type": "enum", + "name": "BITS", + "doc": { + "brief": "uart stop bits", + "maixpy": "maix.peripheral.uart.BITS", + "py_doc": "uart stop bits" + }, + "values": [ + [ + "BITS_5", + "5", + "5 data bits" + ], + [ + "BITS_6", + "6", + "6 data bits" + ], + [ + "BITS_7", + "7", + "7 data bits" + ], + [ + "BITS_8", + "8", + "8 data bits" + ], + [ + "BITS_MAX", + "", + "" + ] + ], + "def": "enum BITS\n {\n BITS_5 = 5, // 5 data bits\n BITS_6 = 6, // 6 data bits\n BITS_7 = 7, // 7 data bits\n BITS_8 = 8, // 8 data bits\n BITS_MAX\n }" + }, + "FLOW_CTRL": { + "type": "enum", + "name": "FLOW_CTRL", + "doc": { + "brief": "uart flow control", + "maixpy": "maix.peripheral.uart.FLOW_CTRL", + "py_doc": "uart flow control" + }, + "values": [ + [ + "FLOW_CTRL_NONE", + "0", + "no flow control" + ], + [ + "FLOW_CTRL_HW", + "1", + "hardware flow control" + ], + [ + "FLOW_CTRL_MAX", + "", + "" + ] + ], + "def": "enum FLOW_CTRL\n {\n FLOW_CTRL_NONE = 0, // no flow control\n FLOW_CTRL_HW = 1, // hardware flow control\n FLOW_CTRL_MAX\n }" + }, + "list_ports": { + "type": "func", + "name": "list_ports", + "doc": { + "brief": "Get supported uart ports.", + "return": "uart ports list, string type.", + "maixpy": "maix.peripheral.uart.list_ports", + "py_doc": "Get supported uart ports.\n\nReturns: uart ports list, string type.\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector list_ports()" + }, + "UART": { + "type": "class", + "name": "UART", + "doc": { + "brief": "maix uart peripheral driver", + "maixpy": "maix.peripheral.uart.UART", + "py_doc": "maix uart peripheral driver" + }, + "members": { + "__init__": { + "type": "func", + "name": "UART", + "doc": { + "brief": "UART constructor. You need to call open() to open the device.", + "param": { + "port": "uart port. string type, can get it by uart.list_ports().\nIf empty, will not open device in constructor, default empty.\nif not empty, will auto open device in constructor, open fail will throw err.Exception.", + "baudrate": "baudrate of uart. int type, default 115200.", + "databits": "databits, values @see uart.DATA_BITS", + "parity": "parity, values @see uart.PARITY", + "stopbits": "stopbits, values @see uart.STOP_BITS", + "flow_control": "flow_control, values @see uart.FLOW_CTRL" + }, + "maixpy": "maix.peripheral.uart.UART.__init__", + "py_doc": "UART constructor. You need to call open() to open the device.\n\nArgs:\n - port: uart port. string type, can get it by uart.list_ports().\nIf empty, will not open device in constructor, default empty.\nif not empty, will auto open device in constructor, open fail will throw err.Exception.\n - baudrate: baudrate of uart. int type, default 115200.\n - databits: databits, values @see uart.DATA_BITS\n - parity: parity, values @see uart.PARITY\n - stopbits: stopbits, values @see uart.STOP_BITS\n - flow_control: flow_control, values @see uart.FLOW_CTRL\n" + }, + "args": [ + [ + "const std::string &", + "port", + "\"\"" + ], + [ + "int", + "baudrate", + "115200" + ], + [ + "uart::BITS", + "databits", + "uart::BITS_8" + ], + [ + "uart::PARITY", + "parity", + "uart::PARITY_NONE" + ], + [ + "uart::STOP", + "stopbits", + "uart::STOP_1" + ], + [ + "uart::FLOW_CTRL", + "flow_ctrl", + "uart::FLOW_CTRL_NONE" + ] + ], + "ret_type": null, + "static": false, + "def": "UART(const std::string &port = \"\", int baudrate = 115200, uart::BITS databits = uart::BITS_8,\n uart::PARITY parity = uart::PARITY_NONE, uart::STOP stopbits = uart::STOP_1,\n uart::FLOW_CTRL flow_ctrl = uart::FLOW_CTRL_NONE)" + }, + "set_port": { + "type": "func", + "name": "set_port", + "doc": { + "brief": "Set port", + "param": { + "port": "uart port. string type, can get it by uart.list_ports()." + }, + "return": "set port error code, err.Err type.", + "maixpy": "maix.peripheral.uart.UART.set_port", + "py_doc": "Set port\n\nArgs:\n - port: uart port. string type, can get it by uart.list_ports().\n\n\nReturns: set port error code, err.Err type.\n" + }, + "args": [ + [ + "const std::string &", + "port", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err set_port(const std::string &port)" + }, + "get_port": { + "type": "func", + "name": "get_port", + "doc": { + "brief": "Get port", + "return": "uart port, string type.", + "maixpy": "maix.peripheral.uart.UART.get_port", + "py_doc": "Get port\n\nReturns: uart port, string type.\n" + }, + "args": [], + "ret_type": "std::string", + "static": false, + "def": "std::string get_port()" + }, + "set_baudrate": { + "type": "func", + "name": "set_baudrate", + "doc": { + "brief": "Set baud rate", + "param": { + "baudrate": "baudrate of uart. int type, default 115200." + }, + "return": "set baud rate error code, err.Err type.", + "maixpy": "maix.peripheral.uart.UART.set_baudrate", + "py_doc": "Set baud rate\n\nArgs:\n - baudrate: baudrate of uart. int type, default 115200.\n\n\nReturns: set baud rate error code, err.Err type.\n" + }, + "args": [ + [ + "int", + "baudrate", + null + ] + ], + "ret_type": "err::Err", + "static": false, + "def": "err::Err set_baudrate(int baudrate)" + }, + "get_baudrate": { + "type": "func", + "name": "get_baudrate", + "doc": { + "brief": "Get baud rate", + "return": "baud rate, int type.", + "maixpy": "maix.peripheral.uart.UART.get_baudrate", + "py_doc": "Get baud rate\n\nReturns: baud rate, int type.\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int get_baudrate()" + }, + "open": { + "type": "func", + "name": "open", + "doc": { + "brief": "Open uart device, before open, port must be set in constructor or by set_port().\\nIf already opened, do nothing and return err.ERR_NONE.", + "return": "open device error code, err.Err type.", + "maixpy": "maix.peripheral.uart.UART.open", + "py_doc": "Open uart device, before open, port must be set in constructor or by set_port().\nIf already opened, do nothing and return err.ERR_NONE.\n\nReturns: open device error code, err.Err type.\n" + }, + "args": [], + "ret_type": "err::Err", + "static": false, + "def": "err::Err open()" + }, + "is_open": { + "type": "func", + "name": "is_open", + "doc": { + "brief": "Check if device is opened.", + "return": "true if opened, false if not opened.", + "maixpy": "maix.peripheral.uart.UART.is_open", + "py_doc": "Check if device is opened.\n\nReturns: true if opened, false if not opened.\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_open()" + }, + "close": { + "type": "func", + "name": "close", + "doc": { + "brief": "Close uart device, if already closed, do nothing and return err.ERR_NONE.", + "return": "close device error code, err.Err type.", + "maixpy": "maix.peripheral.uart.UART.close", + "py_doc": "Close uart device, if already closed, do nothing and return err.ERR_NONE.\n\nReturns: close device error code, err.Err type.\n" + }, + "args": [], + "ret_type": "err::Err", + "static": false, + "def": "err::Err close()" + }, + "write_str": { + "type": "func", + "name": "write_str", + "doc": { + "brief": "Send string data", + "param": { + "str": "string data" + }, + "return": "sent data length, < 0 means error, value is -err.Err.", + "maixpy": "maix.peripheral.uart.UART.write_str", + "py_doc": "Send string data\n\nArgs:\n - str: string data\n\n\nReturns: sent data length, < 0 means error, value is -err.Err.\n" + }, + "args": [ + [ + "const std::string &", + "str", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int write_str(const std::string &str)" + }, + "write": { + "type": "func", + "name": "write", + "doc": { + "brief": "Send data to uart", + "param": { + "data": "direction [in], data to send, bytes type. If you want to send str type, use str.encode() to convert." + }, + "return": "sent length, int type, if < 0 means error, value is -err.Err.", + "maixpy": "maix.peripheral.uart.UART.write", + "py_doc": "Send data to uart\n\nArgs:\n - data: direction [in], data to send, bytes type. If you want to send str type, use str.encode() to convert.\n\n\nReturns: sent length, int type, if < 0 means error, value is -err.Err.\n" + }, + "args": [ + [ + "Bytes &", + "data", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int write(Bytes &data)" + }, + "available": { + "type": "func", + "name": "available", + "doc": { + "brief": "Check if data available or wait data available.", + "param": { + "timeout": "unit ms, timeout to wait data, default 0.\n0 means check data available and return immediately,\n> 0 means wait until data available or timeout.\n- 1 means wait until data available." + }, + "return": "available data number, 0 if timeout or no data, <0 if error, value is -err.Err, can be err::ERR_IO\uff0c err::ERR_CANCEL, err::ERR_NOT_OPEN.", + "throw": "err.Exception if fatal error.", + "maixpy": "maix.peripheral.uart.UART.available", + "py_doc": "Check if data available or wait data available.\n\nArgs:\n - timeout: unit ms, timeout to wait data, default 0.\n0 means check data available and return immediately,\n> 0 means wait until data available or timeout.\n- 1 means wait until data available.\n\n\nReturns: available data number, 0 if timeout or no data, <0 if error, value is -err.Err, can be err::ERR_IO\uff0c err::ERR_CANCEL, err::ERR_NOT_OPEN.\n" + }, + "args": [ + [ + "int", + "timeout", + "0" + ] + ], + "ret_type": "int", + "static": false, + "def": "int available(int timeout = 0)" + }, + "read": { + "type": "func", + "name": "read", + "doc": { + "brief": "Recv data from uart", + "param": { + "len": "max data length want to receive, default -1.\n-1 means read data in uart receive buffer.\n>0 means read len data want to receive.\nother values is invalid.", + "timeout": "unit ms, timeout to receive data, default 0.\n0 means read data in uart receive buffer and return immediately,\n-1 means block until read len data,\n>0 means block until read len data or timeout." + }, + "return": "received data, bytes type.\nAttention, you need to delete the returned object yourself in C++.", + "maixpy": "maix.peripheral.uart.UART.read", + "py_doc": "Recv data from uart\n\nArgs:\n - len: max data length want to receive, default -1.\n-1 means read data in uart receive buffer.\n>0 means read len data want to receive.\nother values is invalid.\n - timeout: unit ms, timeout to receive data, default 0.\n0 means read data in uart receive buffer and return immediately,\n-1 means block until read len data,\n>0 means block until read len data or timeout.\n\n\nReturns: received data, bytes type.\nAttention, you need to delete the returned object yourself in C++.\n" + }, + "args": [ + [ + "int", + "len", + "-1" + ], + [ + "int", + "timeout", + "0" + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *read(int len = -1, int timeout = 0)" + }, + "readline": { + "type": "func", + "name": "readline", + "doc": { + "brief": "Read line from uart, that is read until '\\n' or '\\r\\n'.", + "param": { + "timeout": "unit ms, timeout to receive data, default -1 means block until read '\\n' or '\\r\\n'.\n> 0 means block until read '\\n' or '\\r\\n' or timeout." + }, + "return": "received data, bytes type. If timeout will return the current received data despite not read '\\n' or '\\r\\n'.\ne.g. If we want to read b'123\\n', but when we only read b'12', timeout, then return b'12'.", + "maixpy": "maix.peripheral.uart.UART.readline", + "py_doc": "Read line from uart, that is read until '\\n' or '\\r\\n'.\n\nArgs:\n - timeout: unit ms, timeout to receive data, default -1 means block until read '\\n' or '\\r\\n'.\n> 0 means block until read '\\n' or '\\r\\n' or timeout.\n\n\nReturns: received data, bytes type. If timeout will return the current received data despite not read '\\n' or '\\r\\n'.\ne.g. If we want to read b'123\\n', but when we only read b'12', timeout, then return b'12'.\n" + }, + "args": [ + [ + "int", + "timeout", + "-1" + ] + ], + "ret_type": "Bytes*", + "static": false, + "def": "Bytes *readline(int timeout = -1)" + } + }, + "def": "class UART : public comm::CommBase" + } + }, + "auto_add": false + }, + "key": { + "type": "module", + "doc": { + "brief": "maix.peripheral.key module" + }, + "members": { + "Keys": { + "type": "enum", + "name": "Keys{", + "doc": { + "brief": "Keys enum, id the same as linux input.h(input-event-codes.h)", + "maixpy": "maix.peripheral.key.Keys", + "py_doc": "Keys enum, id the same as linux input.h(input-event-codes.h)" + }, + "values": [ + [ + "KEY_NONE", + "0x000", + "" + ], + [ + "KEY_ESC", + "0x001", + "" + ], + [ + "KEY_OK", + "0x160", + "" + ], + [ + "KEY_OPTION", + "0x165", + "" + ], + [ + "KEY_NEXT", + "0x197", + "" + ], + [ + "KEY_PREV", + "0x19c", + "" + ] + ], + "def": "enum Keys{\n KEY_NONE = 0x000,\n KEY_ESC = 0x001,\n KEY_OK = 0x160,\n KEY_OPTION = 0x165,\n KEY_NEXT = 0x197,\n KEY_PREV = 0x19c\n }" + }, + "State": { + "type": "enum", + "name": "State{", + "doc": { + "brief": "Key state enum", + "maixpy": "maix.peripheral.key.State", + "py_doc": "Key state enum" + }, + "values": [ + [ + "KEY_RELEASED", + "0", + "" + ], + [ + "KEY_PRESSED", + "1", + "" + ] + ], + "def": "enum State{\n KEY_RELEASED = 0,\n KEY_PRESSED = 1,\n }" + }, + "Key": { + "type": "class", + "name": "Key", + "doc": { + "brief": "Key input class", + "maixpy": "maix.peripheral.key.Key", + "py_doc": "Key input class" + }, + "members": { + "__init__": { + "type": "func", + "name": "Key", + "doc": { + "brief": "Key Device constructor", + "param": { + "callback": "When key triggered and callback is not empty(empty In MaixPy is None, in C++ is nullptr),\ncallback will be called with args key(key.Keys) and value(key.State).\nIf set to null, you can get key value by read() function.\nThis callback called in a standalone thread, so you can block a while in callback, and you should be carefully when operate shared data.", + "open": "auto open device in constructor, if false, you need call open() to open device" + }, + "maixpy": "maix.peripheral.key.Key.__init__", + "maixcdk": "maix.peripheral.key.Key.Key", + "py_doc": "Key Device constructor\n\nArgs:\n - callback: When key triggered and callback is not empty(empty In MaixPy is None, in C++ is nullptr),\ncallback will be called with args key(key.Keys) and value(key.State).\nIf set to null, you can get key value by read() function.\nThis callback called in a standalone thread, so you can block a while in callback, and you should be carefully when operate shared data.\n - open: auto open device in constructor, if false, you need call open() to open device\n" + }, + "args": [ + [ + "std::function", + "callback", + "nullptr" + ], + [ + "bool", + "open", + "true" + ] + ], + "ret_type": null, + "static": false, + "def": "Key(std::function callback = nullptr, bool open = true)" + }, + "open": { + "type": "func", + "name": "open", + "doc": { + "brief": "Open(Initialize) key device, if already opened, will close first and then open.", + "return": "err::Err type, err.Err.ERR_NONE means success", + "maixpy": "maix.peripheral.key.Key.open", + "py_doc": "Open(Initialize) key device, if already opened, will close first and then open.\n\nReturns: err::Err type, err.Err.ERR_NONE means success\n" + }, + "args": [], + "ret_type": "err::Err", + "static": false, + "def": "err::Err open()" + }, + "close": { + "type": "func", + "name": "close", + "doc": { + "brief": "Close key device", + "return": "err::Err type, err.Err.ERR_NONE means success", + "maixpy": "maix.peripheral.key.Key.close", + "py_doc": "Close key device\n\nReturns: err::Err type, err.Err.ERR_NONE means success\n" + }, + "args": [], + "ret_type": "err::Err", + "static": false, + "def": "err::Err close()" + }, + "is_opened": { + "type": "func", + "name": "is_opened", + "doc": { + "brief": "Check key device is opened", + "return": "bool type, true means opened, false means closed", + "maixpy": "maix.peripheral.key.Key.is_opened", + "py_doc": "Check key device is opened\n\nReturns: bool type, true means opened, false means closed\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_opened()" + }, + "read": { + "type": "func", + "name": "read", + "doc": { + "brief": "Read key input, and return key and value, if callback is set, DO NOT call this function manually.", + "return": "list type, first is key(maix.key.Keys), second is value(maix.key.State), if no key input, return [0, 0]", + "throw": "If read failed, will throw maix.err.Exception.", + "maixpy": "maix.peripheral.key.Key.read", + "py_doc": "Read key input, and return key and value, if callback is set, DO NOT call this function manually.\n\nReturns: list type, first is key(maix.key.Keys), second is value(maix.key.State), if no key input, return [0, 0]\n" + }, + "args": [], + "ret_type": "std::pair", + "static": false, + "def": "std::pair read()" + } + }, + "def": "class Key" + }, + "add_default_listener": { + "type": "func", + "name": "add_default_listener", + "doc": { + "brief": "Add default listener, if you want to exit app when press ok button, you can just call this function.\\nThis function is auto called in MaixPy' startup code, so you don't need to call it in MaixPy.\\nCreate Key object will auto call rm_default_listener() to cancel the default ok button function.\\nWhen ok button pressed, a SIGINT signal will be raise and call app.set_exit_flag(True).", + "maixpy": "maix.peripheral.key.add_default_listener", + "py_doc": "Add default listener, if you want to exit app when press ok button, you can just call this function.\nThis function is auto called in MaixPy' startup code, so you don't need to call it in MaixPy.\nCreate Key object will auto call rm_default_listener() to cancel the default ok button function.\nWhen ok button pressed, a SIGINT signal will be raise and call app.set_exit_flag(True)." + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void add_default_listener()" + }, + "rm_default_listener": { + "type": "func", + "name": "rm_default_listener", + "doc": { + "brief": "Remove default listener, if you want to cancel the default ok button function(exit app), you can just call this function.", + "maixpy": "maix.peripheral.key.rm_default_listener", + "py_doc": "Remove default listener, if you want to cancel the default ok button function(exit app), you can just call this function." + }, + "args": [], + "ret_type": "void", + "static": false, + "def": "void rm_default_listener()" + } + }, + "auto_add": true + }, + "i2c": { + "type": "module", + "doc": { + "brief": "maix.peripheral.i2c module" + }, + "members": { + "SEVEN_BIT": { + "type": "var", + "name": "", + "doc": { + "brief": "7-bit address mode", + "maixpy": "maix.peripheral.i2c.SEVEN_BIT", + "py_doc": "7-bit address mode" + }, + "value": "0x1", + "static": false, + "readonly": true, + "def": "const int SEVEN_BIT = 0x1" + }, + "TEN_BIT": { + "type": "var", + "name": "", + "doc": { + "brief": "10-bit address mode", + "maixpy": "maix.peripheral.i2c.TEN_BIT", + "py_doc": "10-bit address mode" + }, + "value": "0x2", + "static": false, + "readonly": true, + "def": "const int TEN_BIT = 0x2" + }, + "MASTER": { + "type": "var", + "name": "", + "doc": { + "brief": "master mode", + "maixpy": "maix.peripheral.i2c.MASTER", + "py_doc": "master mode" + }, + "value": "0x4", + "static": false, + "readonly": true, + "def": "const int MASTER = 0x4" + }, + "SLAVE": { + "type": "var", + "name": "", + "doc": { + "brief": "slave mode", + "maixpy": "maix.peripheral.i2c.SLAVE", + "py_doc": "slave mode" + }, + "value": "0x8", + "static": false, + "readonly": true, + "def": "const int SLAVE = 0x8" + }, + "STANDARD_SPEED": { + "type": "var", + "name": "", + "doc": { + "brief": "standard speed mode", + "maixpy": "maix.peripheral.i2c.STANDARD_SPEED", + "py_doc": "standard speed mode" + }, + "value": "0x10", + "static": false, + "readonly": true, + "def": "const int STANDARD_SPEED = 0x10" + }, + "FAST_SPEED": { + "type": "var", + "name": "", + "doc": { + "brief": "fast speed mode", + "maixpy": "maix.peripheral.i2c.FAST_SPEED", + "py_doc": "fast speed mode" + }, + "value": "0x20", + "static": false, + "readonly": true, + "def": "const int FAST_SPEED = 0x20" + }, + "I2C": { + "type": "class", + "name": "I2C", + "doc": { + "brief": "Peripheral i2c class", + "maixpy": "maix.peripheral.i2c.I2C", + "py_doc": "Peripheral i2c class" + }, + "members": { + "__init__": { + "type": "func", + "name": "I2C", + "doc": { + "brief": "I2C Device constructor\\nthis constructor will be export to MaixPy as _maix.example.Example.__init__", + "param": { + "id": "direction [in], i2c index, int type", + "scl": "direction [in], sck pin of i2c, int type", + "sda": "direction [in], sda pin of i2c, int type", + "freq": "direction [in], i2c clock, int type\noption:\nin the i2c.STANDARD_SPEED mode, range is [0, 100000]\nin the i2c.FAST_SPEED mode, range is [0, 400000]\ndefault clock is -1, means use max clock", + "mode": "direction [in], mode of i2c, int type.\noption:\nmode = i2c.MASTER, means master mode\nmode = i2c.SLAVE, means slave mode", + "bit": "direction [in], address length of i2c, int type.\noption:\nbit = i2c.SEVEN_BIT, means 7-bit address mode\nbit = i2c.TEN_BIT, means 10-bit address mode", + "speed_mode": "direction [in], speed mode of i2c, int type.\noption:\nspeed_mode = i2c.STANDARD_SPEED, means standard speed mode, up to 100kbit/s\nspeed_mode = i2c.FAST_SPEED, means fast speed mode, up to 400kbit/s" + }, + "maixpy": "maix.peripheral.i2c.I2C.__init__", + "py_doc": "I2C Device constructor\nthis constructor will be export to MaixPy as _maix.example.Example.__init__\n\nArgs:\n - id: direction [in], i2c index, int type\n - scl: direction [in], sck pin of i2c, int type\n - sda: direction [in], sda pin of i2c, int type\n - freq: direction [in], i2c clock, int type\noption:\nin the i2c.STANDARD_SPEED mode, range is [0, 100000]\nin the i2c.FAST_SPEED mode, range is [0, 400000]\ndefault clock is -1, means use max clock\n - mode: direction [in], mode of i2c, int type.\noption:\nmode = i2c.MASTER, means master mode\nmode = i2c.SLAVE, means slave mode\n - bit: direction [in], address length of i2c, int type.\noption:\nbit = i2c.SEVEN_BIT, means 7-bit address mode\nbit = i2c.TEN_BIT, means 10-bit address mode\n - speed_mode: direction [in], speed mode of i2c, int type.\noption:\nspeed_mode = i2c.STANDARD_SPEED, means standard speed mode, up to 100kbit/s\nspeed_mode = i2c.FAST_SPEED, means fast speed mode, up to 400kbit/s\n" + }, + "args": [ + [ + "int", + "id", + null + ], + [ + "int", + "scl", + null + ], + [ + "int", + "sda", + null + ], + [ + "int", + "freq", + "-1" + ], + [ + "int", + "mode", + "-1" + ], + [ + "int", + "bit", + "-1" + ], + [ + "int", + "speed_mode", + "-1" + ] + ], + "ret_type": null, + "static": false, + "def": "I2C(int id, int scl, int sda, int freq = -1, int mode = -1, int bit = -1, int speed_mode = -1)" + }, + "writeto": { + "type": "func", + "name": "writeto", + "doc": { + "brief": "write data to i2c slave", + "param": { + "addr": "direction [in], i2c slave address, int type", + "data": "direction [in], data to write, vector type.\nNote: The member range of the list is [0,255]" + }, + "return": "if success, return 0, else return -1", + "maixpy": "maix.peripheral.i2c.I2C.writeto", + "py_doc": "write data to i2c slave\n\nArgs:\n - addr: direction [in], i2c slave address, int type\n - data: direction [in], data to write, vector type.\nNote: The member range of the list is [0,255]\n\n\nReturns: if success, return 0, else return -1\n" + }, + "args": [ + [ + "int", + "addr", + null + ], + [ + "std::vector", + "data", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int writeto(int addr, std::vector data)" + }, + "readfrom": { + "type": "func", + "name": "readfrom", + "doc": { + "brief": "read data from i2c slave", + "param": { + "addr": "direction [in], i2c slave address, int type", + "len": "direction [in], data length to read, int type" + }, + "return": "the list of data read from i2c slave, vector type", + "maixpy": "maix.peripheral.i2c.I2C.readfrom", + "py_doc": "read data from i2c slave\n\nArgs:\n - addr: direction [in], i2c slave address, int type\n - len: direction [in], data length to read, int type\n\n\nReturns: the list of data read from i2c slave, vector type\n" + }, + "args": [ + [ + "int", + "addr", + null + ], + [ + "int", + "len", + null + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector readfrom(int addr, int len)" + }, + "scan": { + "type": "func", + "name": "scan", + "doc": { + "brief": "scan all i2c address", + "return": "the list of i2c address, vector type", + "maixpy": "maix.peripheral.i2c.I2C.scan", + "py_doc": "scan all i2c address\n\nReturns: the list of i2c address, vector type\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector scan()" + }, + "writeto_mem": { + "type": "func", + "name": "writeto_mem", + "doc": { + "brief": "write data to i2c slave", + "param": { + "addr": "direction [in], i2c slave address, int type", + "start_addr": "direction [in], start address of i2c slave, int type", + "data": "direction [in], data to write, vector type.\nNote: The member range of the list is [0,255]" + }, + "return": "if success, return 0, else return -1", + "maixpy": "maix.peripheral.i2c.I2C.writeto_mem", + "py_doc": "write data to i2c slave\n\nArgs:\n - addr: direction [in], i2c slave address, int type\n - start_addr: direction [in], start address of i2c slave, int type\n - data: direction [in], data to write, vector type.\nNote: The member range of the list is [0,255]\n\n\nReturns: if success, return 0, else return -1\n" + }, + "args": [ + [ + "int", + "addr", + null + ], + [ + "int", + "start_addr", + null + ], + [ + "std::vector", + "data", + null + ] + ], + "ret_type": "int", + "static": false, + "def": "int writeto_mem(int addr, int start_addr, std::vector data)" + }, + "readfrom_mem": { + "type": "func", + "name": "readfrom_mem", + "doc": { + "brief": "read data from i2c slave", + "param": { + "addr": "direction [in], i2c slave address, int type", + "start_addr": "direction [in], start address of i2c slave, int type", + "len": "direction [in], data length to read, int type" + }, + "return": "the list of data read from i2c slave, vector type", + "maixpy": "maix.peripheral.i2c.I2C.readfrom_mem", + "py_doc": "read data from i2c slave\n\nArgs:\n - addr: direction [in], i2c slave address, int type\n - start_addr: direction [in], start address of i2c slave, int type\n - len: direction [in], data length to read, int type\n\n\nReturns: the list of data read from i2c slave, vector type\n" + }, + "args": [ + [ + "int", + "addr", + null + ], + [ + "int", + "start_addr", + null + ], + [ + "int", + "len", + null + ] + ], + "ret_type": "std::vector", + "static": false, + "def": "std::vector readfrom_mem(int addr, int start_addr, int len)" + } + }, + "def": "class I2C" + } + }, + "auto_add": true + }, + "adc": { + "type": "module", + "doc": { + "brief": "maix.peripheral.adc module" + }, + "members": { + "RES_BIT_8": { + "type": "var", + "name": "", + "doc": { + "brief": "8-bit resolution, supported by the actual hardware", + "maixpy": "maix.peripheral.adc.RES_BIT_8", + "py_doc": "8-bit resolution, supported by the actual hardware" + }, + "value": "0x1", + "static": false, + "readonly": true, + "def": "const int RES_BIT_8 = 0x1" + }, + "RES_BIT_10": { + "type": "var", + "name": "", + "doc": { + "brief": "10-bit resolution, supported by the actual hardware", + "maixpy": "maix.peripheral.adc.RES_BIT_10", + "py_doc": "10-bit resolution, supported by the actual hardware" + }, + "value": "0x2", + "static": false, + "readonly": true, + "def": "const int RES_BIT_10 = 0x2" + }, + "RES_BIT_12": { + "type": "var", + "name": "", + "doc": { + "brief": "12-bit resolution, supported by the actual hardware", + "maixpy": "maix.peripheral.adc.RES_BIT_12", + "py_doc": "12-bit resolution, supported by the actual hardware" + }, + "value": "0x3", + "static": false, + "readonly": true, + "def": "const int RES_BIT_12 = 0x3" + }, + "RES_BIT_16": { + "type": "var", + "name": "", + "doc": { + "brief": "16-bit resolution, supported by the actual hardware", + "maixpy": "maix.peripheral.adc.RES_BIT_16", + "py_doc": "16-bit resolution, supported by the actual hardware" + }, + "value": "0x4", + "static": false, + "readonly": true, + "def": "const int RES_BIT_16 = 0x4" + }, + "ADC": { + "type": "class", + "name": "ADC", + "doc": { + "brief": "Peripheral adc class", + "maixpy": "maix.peripheral.adc.ADC", + "py_doc": "Peripheral adc class" + }, + "members": { + "__init__": { + "type": "func", + "name": "ADC", + "doc": { + "brief": "ADC constructor", + "param": { + "pin": "direction [in], adc pin, int type", + "resolution": "direction [in], adc resolution. default is -1, means use default resolution\noption:\nresolution = adc.RES_BIT_8, means 8-bit resolution\nresolution = adc.RES_BIT_10, means 10-bit resolution\nresolution = adc.RES_BIT_12, means 12-bit resolution\nresolution = adc.RES_BIT_16, means 16-bit resolution\nthe default resolution is determined by actual hardware.", + "vref": "direction [in], adc refer voltage. default is -1, means use default refer voltage.\nthe default vref is determined by actual hardware. range: [0.0, 10.0]" + }, + "maixpy": "maix.peripheral.adc.ADC.__init__", + "py_doc": "ADC constructor\n\nArgs:\n - pin: direction [in], adc pin, int type\n - resolution: direction [in], adc resolution. default is -1, means use default resolution\noption:\nresolution = adc.RES_BIT_8, means 8-bit resolution\nresolution = adc.RES_BIT_10, means 10-bit resolution\nresolution = adc.RES_BIT_12, means 12-bit resolution\nresolution = adc.RES_BIT_16, means 16-bit resolution\nthe default resolution is determined by actual hardware.\n - vref: direction [in], adc refer voltage. default is -1, means use default refer voltage.\nthe default vref is determined by actual hardware. range: [0.0, 10.0]\n" + }, + "args": [ + [ + "int", + "pin", + null + ], + [ + "int", + "resolution", + "-1" + ], + [ + "float", + "vref", + "-1" + ] + ], + "ret_type": null, + "static": false, + "def": "ADC(int pin, int resolution = -1, float vref = -1)" + }, + "read": { + "type": "func", + "name": "read", + "doc": { + "brief": "read adc value", + "return": "adc data, int type\nif resolution is 8-bit, return value range is [0, 255]\nif resolution is 10-bit, return value range is [0, 1023]\nif resolution is 12-bit, return value range is [0, 4095]\nif resolution is 16-bit, return value range is [0, 65535]", + "maixpy": "maix.peripheral.adc.ADC.read", + "py_doc": "read adc value\n\nReturns: adc data, int type\nif resolution is 8-bit, return value range is [0, 255]\nif resolution is 10-bit, return value range is [0, 1023]\nif resolution is 12-bit, return value range is [0, 4095]\nif resolution is 16-bit, return value range is [0, 65535]\n" + }, + "args": [], + "ret_type": "int", + "static": false, + "def": "int read()" + }, + "read_vol": { + "type": "func", + "name": "read_vol", + "doc": { + "brief": "read adc voltage", + "return": "adc voltage, float type\u3002the range is [0.0, vref]", + "maixpy": "maix.peripheral.adc.ADC.read_vol", + "py_doc": "read adc voltage\n\nReturns: adc voltage, float type\u3002the range is [0.0, vref]\n" + }, + "args": [], + "ret_type": "float", + "static": false, + "def": "float read_vol()" + } + }, + "def": "class ADC" + } + }, + "auto_add": true + } + }, + "auto_add": true + }, + "touchscreen": { + "type": "module", + "doc": { + "brief": "maix.touchscreen module" + }, + "members": { + "TouchScreen": { + "type": "class", + "name": "TouchScreen", + "doc": { + "brief": "TouchScreen class", + "maixpy": "maix.touchscreen.TouchScreen", + "py_doc": "TouchScreen class" + }, + "members": { + "__init__": { + "type": "func", + "name": "TouchScreen", + "doc": { + "brief": "Construct a new TouchScreen object", + "param": { + "device": "touchscreen device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device", + "open": "If true, touchscreen will automatically call open() after creation. default is true." + }, + "maixpy": "maix.touchscreen.TouchScreen.__init__", + "maixcdk": "maix.touchscreen.TouchScreen.TouchScreen", + "py_doc": "Construct a new TouchScreen object\n\nArgs:\n - device: touchscreen device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device\n - open: If true, touchscreen will automatically call open() after creation. default is true.\n" + }, + "args": [ + [ + "const std::string &", + "device", + "\"\"" + ], + [ + "bool", + "open", + "true" + ] + ], + "ret_type": null, + "static": false, + "def": "TouchScreen(const std::string &device = \"\", bool open = true)" + }, + "open": { + "type": "func", + "name": "open", + "doc": { + "brief": "open touchscreen device", + "return": "error code, err::ERR_NONE means success, others means failed", + "maixpy": "maix.touchscreen.TouchScreen.open", + "py_doc": "open touchscreen device\n\nReturns: error code, err::ERR_NONE means success, others means failed\n" + }, + "args": [], + "ret_type": "err::Err", + "static": false, + "def": "err::Err open()" + }, + "close": { + "type": "func", + "name": "close", + "doc": { + "brief": "close touchscreen device", + "return": "error code, err::ERR_NONE means success, others means failed", + "maixpy": "maix.touchscreen.TouchScreen.close", + "py_doc": "close touchscreen device\n\nReturns: error code, err::ERR_NONE means success, others means failed\n" + }, + "args": [], + "ret_type": "err::Err", + "static": false, + "def": "err::Err close()" + }, + "read": { + "type": "func", + "name": "read", + "doc": { + "brief": "read touchscreen device", + "attention": "This method will discard same event in buffer, that is:\nif too many move event in buffer when call this method, it will only return the last one,\nand if read pressed or released event, it will return immediately.", + "return": "Returns a list include x, y, pressed state", + "maixpy": "maix.touchscreen.TouchScreen.read", + "py_doc": "read touchscreen device\n\nReturns: Returns a list include x, y, pressed state\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector read()", + "overload": [ + { + "type": "func", + "name": "read0", + "doc": { + "brief": "read touchscreen device", + "attention": "This method will return immediately if have event, so it's better to use available() to check if have more event in buffer,\nor too much event in buffer when your program call this read() interval is too long will make your program slow.", + "return": "Returns a list include x, y, pressed state", + "maixpy": "maix.touchscreen.TouchScreen.read", + "py_doc": "read touchscreen device\n\nReturns: Returns a list include x, y, pressed state\n" + }, + "args": [], + "ret_type": "std::vector", + "static": false, + "def": "std::vector read0()" + } + ] + }, + "available": { + "type": "func", + "name": "available", + "doc": { + "brief": "If we need to read from touchscreen, for event driven touchscreen means have event or not", + "param": { + "timeout": "-1 means block, 0 means no block, >0 means timeout, default is 0, unit is ms." + }, + "return": "true if need to read(have event), false if not", + "maixpy": "maix.touchscreen.TouchScreen.available", + "py_doc": "If we need to read from touchscreen, for event driven touchscreen means have event or not\n\nArgs:\n - timeout: -1 means block, 0 means no block, >0 means timeout, default is 0, unit is ms.\n\n\nReturns: true if need to read(have event), false if not\n" + }, + "args": [ + [ + "int", + "timeout", + "0" + ] + ], + "ret_type": "bool", + "static": false, + "def": "bool available(int timeout = 0)" + }, + "is_opened": { + "type": "func", + "name": "is_opened", + "doc": { + "brief": "Check if touchscreen is opened", + "return": "true if touchscreen is opened, false if not", + "maixpy": "maix.touchscreen.TouchScreen.is_opened", + "py_doc": "Check if touchscreen is opened\n\nReturns: true if touchscreen is opened, false if not\n" + }, + "args": [], + "ret_type": "bool", + "static": false, + "def": "bool is_opened()" + } + }, + "def": "class TouchScreen" + } + }, + "auto_add": true + } + } + } + } +} \ No newline at end of file diff --git a/maixpy/api/config.json b/maixpy/api/config.json new file mode 100644 index 00000000..ff4f116e --- /dev/null +++ b/maixpy/api/config.json @@ -0,0 +1,4 @@ +{ + "import": "config_en", + "name": "MaixPy API Reference" +} diff --git a/maixpy/api/index.html b/maixpy/api/index.html new file mode 100644 index 00000000..3e847c30 --- /dev/null +++ b/maixpy/api/index.html @@ -0,0 +1,330 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy API -- Maix AI machine vision platform Python API - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

MaixPy API -- Maix AI machine vision platform Python API

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

You can read API doc at MaixPy API on Sipeed Wiki

+

If you want to preview API doc offline, build MaixPy, and API doc will be generated in MaixPy/docs/api/ directory.

+
+

For MaixPy developer: This API documentation is generated from the source code, DO NOT edit this file manually!

+
+

MaixPy API documentation, modules:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
modulebrief
maix.errmaix.err module
maix.tensormaix.tensor module
maix.imagemaix.image module, image related definition and functions
maix.cameramaix.camera module, access camera device and get image from it
maix.displaymaix.display module, control display device and show image on it
maix.commmaix.comm module
maix.threadmaix.thread module
maix.fsmaix.fs module
maix.sysmaix.sys module
maix.timemaix.time module
maix.i18nmaix.i18n module
maix.protocolmaix.protocol module
maix.exampleexample module, this will be maix.example module in MaixPy, maix::example namespace in MaixCDK
maix.appmaix.app module
maix.nnmaix.nn module
maix.peripheralChip's peripheral driver
maix.touchscreenmaix.touchscreen module
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/app.html b/maixpy/api/maix/app.html new file mode 100644 index 00000000..771a5a89 --- /dev/null +++ b/maixpy/api/maix/app.html @@ -0,0 +1,1198 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.app - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.app

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.app module

+
+

This module is generated from MaixCDK
+You can use maix.app to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

app_id

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet current APP ID.
returnAPP ID.
+

C++ defination code:

+ +
string app_id()
+
+

set_app_id

+ + + + + + + + + + + + + + + + + +
itemdoc
briefSet current APP ID.
paramapp_id: APP ID.
+

C++ defination code:

+ +
string set_app_id(const string &app_id)
+
+

get_apps_info_path

+ + + + + + + + + + + + + +
itemdoc
briefGet APP info file path.
+

C++ defination code:

+ +
string get_apps_info_path()
+
+

get_apps_info

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet APP info list.
paramignore_launcher: if true, ignore launcher APP. default false.
ignore_app_store: if true, ignore app store APP. default false.
returnAPP info list. APP_Info object list.
+

C++ defination code:

+ +
vector<app::APP_Info> &get_apps_info(bool ignore_launcher = false, bool ignore_app_store = false)
+
+

get_app_data_path

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet APP info, APP can store private data in this directory.
returnAPP data path "./data", just return the data folder in current path because APP executed in app install path or project path.
So, you must execute your program in you project path to use the project/data folder when you debug your APP.
+

C++ defination code:

+ +
string get_app_data_path()
+
+

get_app_path

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet APP path.
paramapp_id: APP ID, if empty, return current APP path, else return the APP path by app_id.
returnAPP path, just return the current path because APP executed in app install path or project path.
So, you must execute your program in you project path to use the project/data folder when you debug your APP.
+

C++ defination code:

+ +
string get_app_path(const string &app_id = "")
+
+

get_tmp_path

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet global temporary data path, APPs can use this path as temporary data directory.
returntemporary data path.
+

C++ defination code:

+ +
string get_tmp_path()
+
+

get_share_path

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet data path of share, shared data like picture and video will put in this directory
returnshare data path.
+

C++ defination code:

+ +
string get_share_path()
+
+

get_picture_path

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet picture path of share, shared picture will put in this directory
returnshare picture path.
+

C++ defination code:

+ +
string get_picture_path()
+
+

get_video_path

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet video path of share, shared video will put in this directory
returnshare video path.
+

C++ defination code:

+ +
string get_video_path()
+
+

get_font_path

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet font path of share, shared font will put in this directory
returnshare font path.
+

C++ defination code:

+ +
string get_font_path()
+
+

get_icon_path

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet icon path of share, shared icon will put in this directory
returnshare icon path.
+

C++ defination code:

+ +
string get_icon_path()
+
+

get_sys_config_kv

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet system config item value.
paramitem: name of setting item, e.g. wifi, language. more see settings APP.
key: config key, e.g. for wifi, key can be ssid, for language, key can be locale.
value: default value, if not found, return this value.
from_cache: if true, read from cache, if false, read from file.
returnconfig value, always string type, if not found, return empty string.
+

C++ defination code:

+ +
string get_sys_config_kv(const string &item, const string &key, const string &value = "", bool from_cache = true)
+
+

get_app_config_kv

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet APP config item value.
paramitem: name of setting item, e.g. user_info
key: config key, e.g. for user_info, key can be name, age etc.
value: default value, if not found, return this value.
from_cache: if true, read from cache, if false, read from file.
returnconfig value, always string type, if not found, return empty string.
+

C++ defination code:

+ +
string get_app_config_kv(const string &item, const string &key, const string &value = "", bool from_cache = true)
+
+

set_app_config_kv

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefSet APP config item value.
paramitem: name of setting item, e.g. user_info
key: config key, e.g. for user_info, key can be name, age etc.
value: config value, always string type.
write_file: if true, write to file, if false, just write to cache.
returnerr::Err
+

C++ defination code:

+ +
err::Err set_app_config_kv(const string &item, const string &key, const string &value, bool write_file = true)
+
+

get_app_config_path

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet APP config path, ini format, so you can use your own ini parser to parse it like configparser in Python.\nAll APP config info is recommended to store in this file.
returnAPP config path(ini format).
+

C++ defination code:

+ +
string get_app_config_path()
+
+

set_exit_msg

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefSet APP exit code and exit message.\nIf code != 0, the launcher will show a dialog to user, and display the msg.
paramcode: exit code, 0 means success, other means error, if code is 0, do nothing.
msg: exit message, if code is 0, msg is not used.
returnexit code, the same as arg @code.
+

C++ defination code:

+ +
err::Err set_exit_msg(err::Err code, const string &msg)
+
+

get_exit_msg

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet APP exit code and exit message.
paramcache: if true, read from cache, if false, read from file. default false.
returnexit return app_id, exit code and exit message.
+

C++ defination code:

+ +
tuple<string, err::Err, string> get_exit_msg(bool cache = false)
+
+

have_exit_msg

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCheck if have exit msg
paramcache: if true, just check from cache, if false, check from file. default false.
returntrue if have exit msg, false if not.
+

C++ defination code:

+ +
bool have_exit_msg(bool cache = false)
+
+

switch_app

+ + + + + + + + + + + + + + + + + +
itemdoc
briefExit this APP and start another APP(by launcher).\nCall this API will call set_exit_flag(true), you should check app::need_exit() in your code.\nAnd exit this APP if app::need_exit() return true.
paramapp_id: APP ID which will be started. app_id and idx must have one is valid.
idx: APP index. app_id and idx must have one is valid.
+

C++ defination code:

+ +
void switch_app(const string &app_id, int idx = -1)
+
+

need_exit

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefShoule this APP exit?
returntrue if this APP should exit, false if not.
attentionThis API is a function, not a variable.
+

C++ defination code:

+ +
bool need_exit()
+
+

running

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefApp should running? The same as !app::need_exit() (not app::need_exit() in MaixPy).
returntrue if this APP should running, false if not.
attentionThis API is a function, not a variable.
+

C++ defination code:

+ +
bool running()
+
+

set_exit_flag

+ + + + + + + + + + + + + + + + + +
itemdoc
briefSet exit flag. You can get exit flag by app.need_exit().
paramexit: true if this APP should exit, false if not.
+

C++ defination code:

+ +
void set_exit_flag(bool exit)
+
+

Class

+

Version

+ + + + + + + + + + + + + +
itemdoc
briefAPP version
+

C++ defination code:

+ +
class Version
+
+

__str__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvert to string, e.g. 1.0.0
staticFalse
+

C++ defination code:

+ +
std::string __str__()
+
+

from_str

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvert from string, e.g. "1.0.0"
staticTrue
+

C++ defination code:

+ +
static app::Version from_str(const string &version_str)
+
+

APP_Info

+ + + + + + + + + + + + + +
itemdoc
briefAPP info
+

C++ defination code:

+ +
class APP_Info
+
+

id

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP id
staticFalse
readonlyFalse
+

C++ defination code:

+ +
string id
+
+

name

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP name
staticFalse
readonlyFalse
+

C++ defination code:

+ +
string name
+
+

icon

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP icon
staticFalse
readonlyFalse
+

C++ defination code:

+ +
string icon
+
+

version

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP version
staticFalse
readonlyFalse
+

C++ defination code:

+ +
Version version
+
+

exec

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP exec
staticFalse
readonlyFalse
+

C++ defination code:

+ +
string exec
+
+

author

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP author
staticFalse
readonlyFalse
+

C++ defination code:

+ +
string author
+
+

desc

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP desc
staticFalse
readonlyFalse
+

C++ defination code:

+ +
string desc
+
+

names

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP names
staticFalse
readonlyFalse
+

C++ defination code:

+ +
map<string, string> names
+
+

descs

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefAPP descs
staticFalse
readonlyFalse
+

C++ defination code:

+ +
map<string, string> descs
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/camera.html b/maixpy/api/maix/camera.html new file mode 100644 index 00000000..107ba956 --- /dev/null +++ b/maixpy/api/maix/camera.html @@ -0,0 +1,1056 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.camera - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.camera

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.camera module, access camera device and get image from it

+
+

This module is generated from MaixCDK
+You can use maix.camera to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

list_devices

+ + + + + + + + + + + + + + + + + +
itemdoc
briefList all supported camera devices.
returnReturns the path to the camera device.
+

C++ defination code:

+ +
std::vector<std::string> list_devices()
+
+

set_regs_enable

+ + + + + + + + + + + + + + + + + +
itemdoc
briefEnable set camera registers, default is false, if set to true, will not set camera registers, you can manually set registers by write_reg API.
paramenable: enable/disable set camera registers
+

C++ defination code:

+ +
void set_regs_enable(bool enable = true)
+
+

Class

+

Camera

+ + + + + + + + + + + + + +
itemdoc
briefCamera class
+

C++ defination code:

+ +
class Camera
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstruct a new Camera object
paramwidth: camera width, default is -1, means auto, mostly means max width of camera support
height: camera height, default is -1, means auto, mostly means max height of camera support
format: camera output format, default is image.Format.FMT_RGB888
device: camera device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device
fps: camera fps, default is -1, means auto, mostly means max fps of camera support
buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,
more than one buffer will accelerate image read speed, but will cost more memory.
open: If true, camera will automatically call open() after creation. default is true.
staticFalse
+

C++ defination code:

+ +
Camera(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, const char *device = nullptr, int fps = -1, int buff_num = 3, bool open = true)
+
+

get_ch_nums

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet the number of channels supported by the camera.
returnReturns the maximum number of channels.
staticFalse
+

C++ defination code:

+ +
int get_ch_nums()
+
+

open

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefOpen camera and run
paramwidth: camera width, default is -1, means auto, mostly means max width of camera support
height: camera height, default is -1, means auto, mostly means max height of camera support
format: camera output format, default same as the constructor's format argument
fps: camera fps, default is -1, means auto, mostly means max fps of camera support
buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,
more than one buffer will accelerate image read speed, but will cost more memory.
returnerror code, err::ERR_NONE means success, others means failed
staticFalse
+

C++ defination code:

+ +
err::Err open(int width = -1, int height = -1, image::Format format = image::FMT_INVALID, int fps = -1, int buff_num = -1)
+
+

read

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet one frame image from camera buffer, must call open method before read.\nIf open method not called, will call it automatically, if open failed, will throw exception!\nSo call open method before read is recommended.
parambuff: buffer to store image data, if buff is nullptr, will alloc memory automatically.
In MaixPy, default to None, you can create a image.Image object, then pass img.data() to buff.
block: block read, default is true, means block util read image successfully,
if set to false, will return nullptr if no image in buffer
returnimage::Image object, if failed, return nullptr, you should delete if manually in C++
staticFalse
+

C++ defination code:

+ +
image::Image *read(void *buff = nullptr, size_t buff_size = 0, bool block = true)
+
+

clear_buff

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefClear buff to ensure the next read image is the latest image
staticFalse
+

C++ defination code:

+ +
void clear_buff()
+
+

skip_frames

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRead some frames and drop, this is usually used avoid read not stable image when camera just opened.
paramnum: number of frames to read and drop
staticFalse
+

C++ defination code:

+ +
void skip_frames(int num)
+
+

close

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefClose camera
staticFalse
+

C++ defination code:

+ +
void close()
+
+

add_channel

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAdd a new channel and return a new Camera object, you can use close() to close this channel.
paramwidth: camera width, default is -1, means auto, mostly means max width of camera support
height: camera height, default is -1, means auto, mostly means max height of camera support
format: camera output format, default is RGB888
fps: camera fps, default is -1, means auto, mostly means max fps of camera support
buff_num: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,
more than one buffer will accelerate image read speed, but will cost more memory.
open: If true, camera will automatically call open() after creation. default is true.
returnnew Camera object
staticFalse
+

C++ defination code:

+ +
camera::Camera *add_channel(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, int fps = -1, int buff_num = 3, bool open = true)
+
+

is_opened

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCheck if camera is opened
returntrue if camera is opened, false if not
staticFalse
+

C++ defination code:

+ +
bool is_opened()
+
+

is_closed

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefcheck camera device is closed or not
returnclosed or not, bool type
staticFalse
+

C++ defination code:

+ +
bool is_closed()
+
+

width

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera width
returncamera width
staticFalse
+

C++ defination code:

+ +
int width()
+
+

height

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera height
returncamera height
staticFalse
+

C++ defination code:

+ +
int height()
+
+

fps

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera fps
returncamera fps
staticFalse
+

C++ defination code:

+ +
int fps()
+
+

format

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera output format
returncamera output format, image::Format object
staticFalse
+

C++ defination code:

+ +
image::Format format()
+
+

buff_num

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera buffer number
returncamera buffer number
staticFalse
+

C++ defination code:

+ +
int buff_num()
+
+

hmirror

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera horizontal mirror
returncamera horizontal mirror
staticFalse
+

C++ defination code:

+ +
int hmirror(int value = -1)
+
+

vflip

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera vertical flip
returncamera vertical flip
staticFalse
+

C++ defination code:

+ +
int vflip(int value = -1)
+
+

exposure

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera exposure
returncamera exposure
staticFalse
+

C++ defination code:

+ +
float exposure(int value = -1)
+
+

gain

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera gain
returncamera gain
staticFalse
+

C++ defination code:

+ +
float gain(int value = -1)
+
+

device

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet camera device path
returncamera device path
staticFalse
+

C++ defination code:

+ +
std::string device()
+
+

write_reg

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefWrite camera register
paramaddr: register address
data: register data
bit_width: register data bit width, default is 8
returnerror code, err::ERR_NONE means success, others means failed
staticFalse
+

C++ defination code:

+ +
err::Err write_reg(int addr, int data, int bit_width = 8)
+
+

read_reg

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRead camera register
paramaddr: register address
bit_width: register data bit width, default is 8
returnregister data, -1 means failed
staticFalse
+

C++ defination code:

+ +
int read_reg(int addr, int bit_width = 8)
+
+

show_colorbar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCamera output color bar image for test
paramenable: enable/disable color bar
returnerror code, err::ERR_NONE means success, others means failed
staticFalse
+

C++ defination code:

+ +
err::Err show_colorbar(bool enable)
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/comm.html b/maixpy/api/maix/comm.html new file mode 100644 index 00000000..73a02e46 --- /dev/null +++ b/maixpy/api/maix/comm.html @@ -0,0 +1,448 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.comm - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.comm

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.comm module

+
+

This module is generated from MaixCDK
+You can use maix.comm to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

Class

+

CommProtocol

+ + + + + + + + + + + + + +
itemdoc
briefClass for communication protocol
+

C++ defination code:

+ +
class CommProtocol
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstruct a new CommProtocol object
parambuff_size: buffer size, default to 1024 bytes
staticFalse
+

C++ defination code:

+ +
CommProtocol(int buff_size = 1024)
+
+

get_msg

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRead data to buffer, and try to decode it as maix.protocol.MSG object
returndecoded data, if nullptr, means no valid frame found.
Attentioin, delete it after use in C++.
staticFalse
+

C++ defination code:

+ +
protocol::MSG *get_msg()
+
+

resp_ok

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSend response ok(success) message
paramcmd: CMD value
body: response body, can be null
returnencoded data, if nullptr, means error, and the error code is -err.Err.
Attentioin, delete it after use in C++.
staticFalse
+

C++ defination code:

+ +
err::Err resp_ok(uint8_t cmd, Bytes *body = nullptr)
+
+

report

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSend report message
paramcmd: CMD value
body: report body, can be null
returnencoded data, if nullptr, means error, and the error code is -err.Err.
Attentioin, delete it after use in C++.
staticFalse
+

C++ defination code:

+ +
err::Err report(uint8_t cmd, Bytes *body = nullptr)
+
+

resp_err

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefEncode response error message to buffer
paramcmd: CMD value
code: error code
msg: error message
returnencoded data, if nullptr, means error, and the error code is -err.Err.
Attentioin, delete it after use in C++.
staticFalse
+

C++ defination code:

+ +
err::Err resp_err(uint8_t cmd, err::Err code, const std::string &msg)
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/display.html b/maixpy/api/maix/display.html new file mode 100644 index 00000000..fb854652 --- /dev/null +++ b/maixpy/api/maix/display.html @@ -0,0 +1,696 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.display - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.display

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.display module, control display device and show image on it

+
+

This module is generated from MaixCDK
+You can use maix.display to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

send_to_maixvision

+ + + + + + + + + + + + + + + + + +
itemdoc
briefSend image to MaixVision work station if connected.\nIf you want to debug your program an don't want to initialize display, use this method.
paramimg: image to send, image.Image object
+

C++ defination code:

+ +
void send_to_maixvision(image::Image &img)
+
+

Class

+

Display

+ + + + + + + + + + + + + +
itemdoc
briefDisplay class
+

C++ defination code:

+ +
class Display
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstruct a new Display object
paramwidth: display width, by default(value is -1) means auto detect,
if width > max device supported width, will auto set to max device supported width
height: display height, by default(value is -1) means auto detect,
if height > max device supported height, will auto set to max device supported height
device: display device name, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device
open: If true, display will automatically call open() after creation. default is true.
staticFalse
+

C++ defination code:

+ +
Display(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, const char *device = nullptr, bool open = true)
+
+

width

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet display width
returnwidth
staticFalse
+

C++ defination code:

+ +
int width()
+
+

height

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet display height
paramch: channel to get, by default(value is 0) means the first channel
returnheight
staticFalse
+

C++ defination code:

+ +
int height()
+
+

size

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet display size
paramch: channel to get, by default(value is 0) means the first channel
returnsize A list type in MaixPy, [width, height]
staticFalse
+

C++ defination code:

+ +
std::vector<int> size()
+
+

format

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet display format
returnformat
staticFalse
+

C++ defination code:

+ +
image::Format format()
+
+

open

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefopen display device, if already opened, will return err.ERR_NONE.
paramwidth: display width, default is -1, means auto, mostly means max width of display support
height: display height, default is -1, means auto, mostly means max height of display support
format: display output format, default is RGB888
returnerror code
staticFalse
+

C++ defination code:

+ +
err::Err open(int width = -1, int height = -1, image::Format format = image::FMT_INVALID)
+
+

close

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefclose display device
returnerror code
staticFalse
+

C++ defination code:

+ +
err::Err close()
+
+

add_channel

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAdd a new channel and return a new Display object, you can use close() to close this channel.
paramwidth: display width, default is -1, means auto, mostly means max width of display support
height: display height, default is -1, means auto, mostly means max height of display support
format: display output format, default is RGB888
open: If true, display will automatically call open() after creation. default is true.
returnnew Display object
staticFalse
+

C++ defination code:

+ +
display::Display *add_channel(int width = -1, int height = -1, image::Format format = image::FMT_RGB888, bool open = true)
+
+

is_opened

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefcheck display device is opened or not
returnopened or not, bool type
staticFalse
+

C++ defination code:

+ +
bool is_opened()
+
+

is_closed

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefcheck display device is closed or not
returnclosed or not, bool type
staticFalse
+

C++ defination code:

+ +
bool is_closed()
+
+

show

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefshow image on display device, and will also send to MaixVision work station if connected.
paramimg: image to show, image.Image object,
if the size of image smaller than display size, will show in the center of display;
if the size of image bigger than display size, will auto resize to display size and keep ratio, fill blank with black color.
fit: image in screen fit mode, by default(value is image.FIT_CONTAIN), @see image.Fit for more details
e.g. image.FIT_CONTAIN means resize image to fit display size and keep ratio, fill blank with black color.
returnerror code
staticFalse
+

C++ defination code:

+ +
err::Err show(image::Image &img, image::Fit fit = image::FIT_CONTAIN)
+
+

device

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet display device path
returndisplay device path
staticFalse
+

C++ defination code:

+ +
std::string device()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/err.html b/maixpy/api/maix/err.html new file mode 100644 index 00000000..cb900772 --- /dev/null +++ b/maixpy/api/maix/err.html @@ -0,0 +1,471 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.err - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.err

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.err module

+
+

This module is generated from MaixCDK
+You can use maix.err to access this module.

+
+

Module

+

No module

+

Enum

+

Err

+ + + + + + + + + + + + + + + + + +
itemdoc
briefMaix Error code
valuesERR_NONE: No error
ERR_ARGS: Invalid arguments
ERR_NO_MEM: No memory
ERR_NOT_IMPL: Not implemented
ERR_NOT_READY: Not ready
ERR_NOT_INIT: Not initialized
ERR_NOT_OPEN: Not opened
ERR_NOT_PERMIT: Not permitted
ERR_REOPEN: Re-open
ERR_BUSY: Busy
ERR_READ: Read error
ERR_WRITE: Write error
ERR_TIMEOUT: Timeout
ERR_RUNTIME: Runtime error
ERR_IO: IO error
ERR_NOT_FOUND: Not found
ERR_ALREAY_EXIST: Already exist
ERR_BUFF_FULL: Buffer full
ERR_BUFF_EMPTY: Buffer empty
ERR_CANCEL: Cancel
ERR_OVERFLOW: Overflow
ERR_MAX:
+

C++ defination code:

+ +
enum Err
+    {
+        // !!! fixed error code, DO NOT change number already defined, only append new error code
+        ERR_NONE        = 0,   // No error
+        ERR_ARGS           ,   // Invalid arguments
+        ERR_NO_MEM         ,   // No memory
+        ERR_NOT_IMPL       ,   // Not implemented
+        ERR_NOT_READY      ,   // Not ready
+        ERR_NOT_INIT       ,   // Not initialized
+        ERR_NOT_OPEN       ,   // Not opened
+        ERR_NOT_PERMIT     ,   // Not permitted
+        ERR_REOPEN         ,   // Re-open
+        ERR_BUSY           ,   // Busy
+        ERR_READ           ,   // Read error
+        ERR_WRITE          ,   // Write error
+        ERR_TIMEOUT        ,   // Timeout
+        ERR_RUNTIME        ,   // Runtime error
+        ERR_IO             ,   // IO error
+        ERR_NOT_FOUND      ,   // Not found
+        ERR_ALREAY_EXIST   ,   // Already exist
+        ERR_BUFF_FULL      ,   // Buffer full
+        ERR_BUFF_EMPTY     ,   // Buffer empty
+        ERR_CANCEL         ,   // Cancel
+        ERR_OVERFLOW       ,   // Overflow
+        ERR_MAX,
+    }
+
+

Variable

+

Function

+

to_str

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefError code to string
parame: direction [in], error code, err::Err type
returnerror string
+

C++ defination code:

+ +
std::string to_str(err::Err e)
+
+

get_error

+ + + + + + + + + + + + + + + + + +
itemdoc
briefget last error string
returnerror string
+

C++ defination code:

+ +
std::string& get_error()
+
+

set_error

+ + + + + + + + + + + + + + + + + +
itemdoc
briefset last error string
paramstr: direction [in], error string
+

C++ defination code:

+ +
void set_error(const std::string &str)
+
+

check_raise

+ + + + + + + + + + + + + + + + + +
itemdoc
briefCheck error code, if not ERR_NONE, raise err.Exception
parame: direction [in], error code, err::Err type
msg: direction [in], error message
+

C++ defination code:

+ +
void check_raise(err::Err e, const std::string &msg = "")
+
+

check_bool_raise

+ + + + + + + + + + + + + + + + + +
itemdoc
briefCheck condition, if false, raise err.Exception
paramok: direction [in], condition, if true, do nothing, if false, raise err.Exception
msg: direction [in], error message
+

C++ defination code:

+ +
void check_bool_raise(bool ok, const std::string &msg = "")
+
+

check_null_raise

+ + + + + + + + + + + + + + + + + +
itemdoc
briefCheck NULL pointer, if NULL, raise exception
paramptr: direction [in], pointer
msg: direction [in], error message
+

C++ defination code:

+ +
void check_null_raise(void *ptr, const std::string &msg = "")
+
+

Class

+

Exception

+ + + + + + + + + + + + + +
itemdoc
briefMaix Exception
+

C++ defination code:

+ +
class Exception : public std::exception
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/example.html b/maixpy/api/maix/example.html new file mode 100644 index 00000000..94b6c46a --- /dev/null +++ b/maixpy/api/maix/example.html @@ -0,0 +1,1135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.example - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.example

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

example module, this will be maix.example module in MaixPy, maix::example namespace in MaixCDK

+
+

This module is generated from MaixCDK
+You can use maix.example to access this module.

+
+

Module

+

No module

+

Enum

+

Kind

+ + + + + + + + + + + + + + + + + +
itemdoc
briefExample enum
valuesKIND_NONE: Kind none, value always 0, other enum value will auto increase
KIND_DOG: Kind dog
KIND_CAT: Kind cat, value is auto generated according to KING_DOG
KIND_BIRD:
KIND_MAX: Max Kind quantity
You can get max Kind value by KIND_MAX - 1
+

C++ defination code:

+ +
enum Kind
+        {
+            KIND_NONE = 0, /** Kind none, value always 0, other enum value will auto increase */
+            KIND_DOG,      /** Kind dog*/
+            KIND_CAT,      // Kind cat, value is auto generated according to KING_DOG
+            KIND_BIRD,
+            KIND_MAX /* Max Kind quantity,
+                        You can get max Kind value by KIND_MAX - 1
+                     */
+        }
+
+

Variable

+

var1

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefExample module variable
attentionIt's a copy of this variable in MaixPy,
so change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.
So we add const for this var to avoid this mistake.
value"Sipeed"
readonlyTrue
+

C++ defination code:

+ +
const std::string var1 = "Sipeed"
+
+

list_var

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefTensor data type size in bytes
attention1. DO NOT use C/C++ array directly for python API, the python wrapper not support it.
Use std::vector instead.
2. It's a copy of this variable in MaixPy,
so change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.
So we add const for this var to avoid this mistake.
value{
0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
readonlyTrue
+

C++ defination code:

+ +
const std::vector<int> list_var = {
+            0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
+
+

test_var

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefExample module variable test_var
attentionIt's a copy of this variable in MaixPy, so if you change it in C++, it will not take effect in MaixPy.
And change it in MaixPy will not take effect in C++ as well !!!
If you want to use vars shared between C++ and MaixPy, you can create a class and use its member.
value100
readonlyFalse
+

C++ defination code:

+ +
int test_var = 100
+
+

Function

+

hello

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefsay hello to someone
paramname: direction [in], name of someone, string type
returnstring type, content is hello + name
+

C++ defination code:

+ +
std::string hello(std::string name)
+
+

change_arg_name

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefChange arg name example
parame: Example object
returnsame as arg
+

C++ defination code:

+ +
example::Example *change_arg_name(example::Example *e)
+
+

change_arg_name2

+ + + + + + + + + + + + + + + + + +
itemdoc
briefChange arg name example
parame: Example object
+

C++ defination code:

+ +
void change_arg_name2(example::Example &e)
+
+

Class

+

Test

+ + + + + + + + + + + + + +
itemdoc
briefTest class
+

C++ defination code:

+ +
class Test
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTest constructor
staticFalse
+

C++ defination code:

+ +
Test()
+
+

Example

+ + + + + + + + + + + + + +
itemdoc
briefExample class\nthis class will be export to MaixPy as maix.example.Example
+

C++ defination code:

+ +
class Example
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefExample constructor\nthis constructor will be export to MaixPy as maix.example.Example.init
paramname: direction [in], name of Example, string type
age: direction [in], age of Example, int type, default is 18, value range is [0, 100]
attentionto make auto generate code work, param Kind should with full namespace name example::Kind instead of Kind,
namespace maix can be ignored.
staticFalse
+

C++ defination code:

+ +
Example(std::string &name, int age = 18, example::Kind pet = example::KIND_NONE)
+
+

get_name

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget name of Example\nyou can also get name by property name.
returnname of Example, string type
staticFalse
+

C++ defination code:

+ +
std::string get_name()
+
+

get_age

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget age of Example
returnage of Example, int type, value range is [0, 100]
staticFalse
+

C++ defination code:

+ +
int get_age()
+
+

set_name

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset name of Example
paramname: name of Example, string type
staticFalse
+

C++ defination code:

+ +
void set_name(std::string name)
+
+

set_age

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset age of Example
paramage: age of Example, int type, value range is [0, 100]
staticFalse
+

C++ defination code:

+ +
void set_age(int age)
+
+

set_pet

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefExample enum member
attention
staticFalse
+

C++ defination code:

+ +
void set_pet(example::Kind pet)
+
+

get_pet

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefExample enum member
staticFalse
+

C++ defination code:

+ +
example::Kind get_pet()
+
+

get_list

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget list example
paramin: direction [in], input list, items are int type.
In MaixPy, you can pass list or tuple to this API
returnlist, items are int type, content is [1, 2, 3] + in. Alloc item, del in MaixPy will auto free memory.
staticFalse
+

C++ defination code:

+ +
std::vector<int> *get_list(std::vector<int> in)
+
+

get_dict

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefExample dict API
paramin: direction [in], input dict, key is string type, value is int type.
In MaixPy, you can pass dict to this API
returndict, key is string type, value is int type, content is {"a": 1} + in
In MaixPy, return type is dict object
staticFalse
+

C++ defination code:

+ +
std::map<std::string, int> get_dict(std::map<std::string, int> &in)
+
+

hello

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefsay hello to someone
paramname: name of someone, string type
returnstring type, content is Example::hello_str + name
staticTrue
+

C++ defination code:

+ +
static std::string hello(std::string name)
+
+

hello_bytes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefparam is bytes example
parambytes: bytes type param
returnbytes type, return value is bytes changed value
staticTrue
+

C++ defination code:

+ +
static Bytes *hello_bytes(Bytes &bytes)
+
+

callback

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCallback example
paramcb: callback function, param is two int type, return is int type
returnint type, return value is cb(1, 2)
staticTrue
+

C++ defination code:

+ +
static int callback(std::function<int(int, int)> cb)
+
+

hello_dict

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDict param example
paramdict: dict type param, key is string type, value is int type
staticTrue
+

C++ defination code:

+ +
static std::map<std::string, int> *hello_dict(std::map<std::string, int> *dict)
+
+

name

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefname member of Example
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::string name
+
+

age

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefage member of Example, value range should be [0, 100]
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int age
+
+

hello_str

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefhello_str member of Example, default value is "hello "
staticTrue
readonlyFalse
+

C++ defination code:

+ +
static std::string hello_str
+
+

var1

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefExample module readonly variable
staticFalse
readonlyTrue
+

C++ defination code:

+ +
const std::string var1 = "Example.var1"
+
+

var2

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefExample module readonly variable
staticFalse
readonlyTrue
+

C++ defination code:

+ +
std::string var2 = "Example.var2"
+
+

dict_test

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefdict_test, return dict type, and element is pointer type(alloc in C++).\nHere when the returned Tensor object will auto delete by Python GC.
staticTrue
+

C++ defination code:

+ +
static std::map<std::string, example::Test *> *dict_test()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/fs.html b/maixpy/api/maix/fs.html new file mode 100644 index 00000000..ed6c724b --- /dev/null +++ b/maixpy/api/maix/fs.html @@ -0,0 +1,1074 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.fs - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.fs

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.fs module

+
+

This module is generated from MaixCDK
+You can use maix.fs to access this module.

+
+

Module

+

No module

+

Enum

+

SEEK

+ + + + + + + + + + + + + + + + + +
itemdoc
briefSEEK enums
valuesSEEK_SET: Seek from beginning of file.
SEEK_CUR: Seek from current position.
SEEK_END: Seek from end of file.
+

C++ defination code:

+ +
enum SEEK
+    {
+        SEEK_SET = 0,  // Seek from beginning of file.
+        SEEK_CUR = 1,  // Seek from current position.
+        SEEK_END = 2,  // Seek from end of file.
+    }
+
+

Variable

+

Function

+

isabs

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCheck if the path is absolute path
parampath: path to check
returntrue if path is absolute path
+

C++ defination code:

+ +
bool isabs(const std::string &path)
+
+

isdir

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCheck if the path is a directory, if not exist, throw exception
parampath: path to check
returntrue if path is a directory
+

C++ defination code:

+ +
bool isdir(const std::string &path)
+
+

isfile

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCheck if the path is a file, if not exist, throw exception
parampath: path to check
returntrue if path is a file
+

C++ defination code:

+ +
bool isfile(const std::string &path)
+
+ + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCheck if the path is a link, if not exist, throw exception
parampath: path to check
returntrue if path is a link
+

C++ defination code:

+ +
bool islink(const std::string &path)
+
+

exists

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCheck if the path exists
parampath: path to check
returntrue if path exists
+

C++ defination code:

+ +
bool exists(const std::string &path)
+
+

mkdir

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCreate a directory recursively
parampath: path to create
exist_ok: if true, also return true if directory already exists
recursive: if true, create directory recursively, otherwise, only create one directory, default is true
returnerr::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed
+

C++ defination code:

+ +
err::Err mkdir(const std::string &path, bool exist_ok = true, bool recursive = true)
+
+

rmdir

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefRemove a directory
parampath: path to remove
recursive: if true, remove directory recursively, otherwise, only remove empty directory, default is false
returnerr::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed
+

C++ defination code:

+ +
err::Err rmdir(const std::string &path, bool recursive = false)
+
+

remove

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefRemove a file
parampath: path to remove
returnerr::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed
+

C++ defination code:

+ +
err::Err remove(const std::string &path)
+
+

rename

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefRename a file or directory
paramsrc: source path
dst: destination path, if destination dirs not exist, will auto create
returnerr::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed
+

C++ defination code:

+ +
err::Err rename(const std::string &src, const std::string &dst)
+
+

getsize

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet file size
parampath: path to get size
returnfile size if success, -err::Err code if failed
+

C++ defination code:

+ +
int getsize(const std::string &path)
+
+

dirname

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet directory name of path
parampath: path to get dirname
returndirname if success, empty string if failed
+

C++ defination code:

+ +
std::string dirname(const std::string &path)
+
+

basename

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet base name of path
parampath: path to get basename
returnbasename if success, empty string if failed
+

C++ defination code:

+ +
std::string basename(const std::string &path)
+
+

abspath

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet absolute path
parampath: path to get absolute path
returnabsolute path if success, empty string if failed
+

C++ defination code:

+ +
std::string abspath(const std::string &path)
+
+

getcwd

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet current working directory
returncurrent working directory absolute path
+

C++ defination code:

+ +
std::string getcwd()
+
+

realpath

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet realpath of path
parampath: path to get realpath
returnrealpath if success, empty string if failed
+

C++ defination code:

+ +
std::string realpath(const std::string &path)
+
+

splitext

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet file extension
parampath: path to get extension
returnextension if success, empty string if failed
+

C++ defination code:

+ +
std::string splitext(const std::string &path)
+
+

listdir

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefList files in directory
parampath: path to list
recursive: if true, list recursively, otherwise, only list current directory, default is false
full_path: if true, return full path, otherwise, only return basename, default is false
returnfiles list if success, nullptr if failed
+

C++ defination code:

+ +
std::vector<std::string> *listdir(const std::string &path, bool recursive = false, bool full_path = false)
+
+

open

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefOpen a file, and return a File object
parampath: path to open
mode: open mode, support "r", "w", "a", "r+", "w+", "a+", "rb", "wb", "ab", "rb+", "wb+", "ab+"
returnFile object if success(need to delete object manually in C/C++), nullptr if failed
+

C++ defination code:

+ +
fs::File *open(const std::string &path, const std::string &mode)
+
+

tempdir

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet temp files directory
returntemp files directory
+

C++ defination code:

+ +
std::string tempdir()
+
+

Class

+

File

+ + + + + + + + + + + + + +
itemdoc
briefFile read write ops
+

C++ defination code:

+ +
class File
+
+

open

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefOpen a file
parampath: path to open
mode: open mode, support "r", "w", "a", "r+", "w+", "a+", "rb", "wb", "ab", "rb+", "wb+", "ab+"
returnerr::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed
staticFalse
+

C++ defination code:

+ +
err::Err open(const std::string &path, const std::string &mode)
+
+

close

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefClose a file
staticFalse
+

C++ defination code:

+ +
void close()
+
+

read

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRead data from file API2
paramsize: max read size
returnbytes data if success(need delete manually in C/C++), nullptr if failed
staticFalse
+

C++ defination code:

+ +
std::vector<uint8_t> *read(int size)
+
+

readline

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRead line from file
returnline if success, empty string if failed. You need to delete the returned object manually in C/C++.
staticFalse
+

C++ defination code:

+ +
std::string *readline()
+
+

write

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefWrite data to file API2
parambuf: buffer to write
returnwrite size if success, -err::Err code if failed
staticFalse
+

C++ defination code:

+ +
int write(const std::vector<uint8_t> &buf)
+
+

seek

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSeek file position
paramoffset: offset to seek
whence: @see maix.fs.SEEK
returnnew position if success, -err::Err code if failed
staticFalse
+

C++ defination code:

+ +
int seek(int offset, int whence)
+
+

tell

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet file position
returnfile position if success, -err::Err code if failed
staticFalse
+

C++ defination code:

+ +
int tell()
+
+

flush

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFlush file
returnerr::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed
staticFalse
+

C++ defination code:

+ +
err::Err flush()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/i18n.html b/maixpy/api/maix/i18n.html new file mode 100644 index 00000000..3e029353 --- /dev/null +++ b/maixpy/api/maix/i18n.html @@ -0,0 +1,519 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.i18n - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.i18n

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.i18n module

+
+

This module is generated from MaixCDK
+You can use maix.i18n to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

locales

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefi18n locales list
value{
"en",
"zh",
"zh-tw",
"ja"
}
readonlyFalse
+

C++ defination code:

+ +
static std::vector<std::string> locales = {
+        "en",
+        "zh",
+        "zh-tw",
+        "ja"
+    }
+
+

names

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefi18n language names list
value{
"English",
"简体中文",
"繁體中文",
"日本語"
}
readonlyTrue
+

C++ defination code:

+ +
const static std::vector<std::string> names = {
+        "English",
+        "简体中文",
+        "繁體中文",
+        "日本語"
+    }
+
+

Function

+

get_locale

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet system config of locale.
returnlanguage locale, e.g. en, zh, zh_CN, zh_TW, etc.
+

C++ defination code:

+ +
string get_locale()
+
+

get_language_name

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet system config of language name.
returnlanguage name, e.g. English, 简体中文, 繁體中文, etc.
+

C++ defination code:

+ +
string get_language_name()
+
+

Class

+

Trans

+ + + + + + + + + + + + + +
itemdoc
briefTranslate helper class.
+

C++ defination code:

+ +
class Trans
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTranslate helper class constructor.\nBy default locale is get by i18n.get_locale() function which set by system settings.\nBut you can also manually set by set_locale function temporarily.
paramlocales_dict: locales dict, e.g. {"zh": {"Confirm": "确认", "OK": "好的"}, "en": {"Confirm": "Confirm", "OK": "OK"}}
staticFalse
+

C++ defination code:

+ +
Trans(const std::map<string, const std::map<string, string>> &locales_dict)
+
+

tr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTranslate string by key.
paramkey: string key, e.g. "Confirm"
locale: locale name, if not assign, use default locale set by system settings or set_locale function.
returntranslated string, if find translation, return it, or return key, e.g. "确认", "Confirm", etc.
staticFalse
+

C++ defination code:

+ +
string tr(const string &key, const string locale = "")
+
+

set_locale

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSet locale temporarily, will not affect system settings.
paramlocale: locale name, e.g. "zh", "en", etc. @see maix.i18n.locales
staticFalse
+

C++ defination code:

+ +
void set_locale(const string &locale)
+
+

get_locale

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet current locale.
returnlocale name, e.g. "zh", "en", etc. @see maix.i18n.locales
staticFalse
+

C++ defination code:

+ +
string get_locale()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/image.html b/maixpy/api/maix/image.html new file mode 100644 index 00000000..c6e78f86 --- /dev/null +++ b/maixpy/api/maix/image.html @@ -0,0 +1,10309 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.image - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.image

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.image module, image related definition and functions

+
+

This module is generated from MaixCDK
+You can use maix.image to access this module.

+
+

Module

+

No module

+

Enum

+

Format

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefImage formats
attentionfor developers, update this enum will also need to update the fmt_size in maix_image.cpp
valuesFMT_RGB888: RGBRGB...RGB, R at the lowest address
FMT_BGR888: BGRBGR...BGR, B at the lowest address
FMT_RGBA8888: RGBARGBA...RGBA, R at the lowest address
FMT_BGRA8888: BGRABGRA...BGRA, B at the lowest address
FMT_RGB565:
FMT_BGR565:
FMT_YUV422SP: YYY...UVUVUV...UVUV
FMT_YUV422P: YYY...UUU...VVV
FMT_YVU420SP: YYY...VUVUVU...VUVU, NV21
FMT_YUV420SP: YYY...UVUVUV...UVUV, NV12
FMT_YVU420P: YYY...VVV...UUU
FMT_YUV420P: YYY...UUU...VVV
FMT_GRAYSCALE:
FMT_UNCOMPRESSED_MAX:
FMT_COMPRESSED_MIN:
FMT_JPEG:
FMT_PNG:
FMT_COMPRESSED_MAX:
FMT_INVALID: format not valid
+

C++ defination code:

+ +
enum Format
+    {
+        FMT_RGB888 = 0, // RGBRGB...RGB, R at the lowest address
+        FMT_BGR888,     // BGRBGR...BGR, B at the lowest address
+        FMT_RGBA8888,   // RGBARGBA...RGBA, R at the lowest address
+        FMT_BGRA8888,   // BGRABGRA...BGRA, B at the lowest address
+        FMT_RGB565,
+        FMT_BGR565,
+        FMT_YUV422SP, // YYY...UVUVUV...UVUV
+        FMT_YUV422P,  // YYY...UUU...VVV
+        FMT_YVU420SP, // YYY...VUVUVU...VUVU, NV21
+        FMT_YUV420SP, // YYY...UVUVUV...UVUV, NV12
+        FMT_YVU420P,  // YYY...VVV...UUU
+        FMT_YUV420P,  // YYY...UUU...VVV
+        FMT_GRAYSCALE,
+        FMT_UNCOMPRESSED_MAX,
+
+        // compressed format below, not compressed should define upper
+        FMT_COMPRESSED_MIN,
+        FMT_JPEG,
+        FMT_PNG,
+        FMT_COMPRESSED_MAX,
+
+        FMT_INVALID = 0xFF  // format not valid
+    }
+
+

Fit

+ + + + + + + + + + + + + + + + + +
itemdoc
briefObject fit method
valuesFIT_NONE: no object fit, keep original
FIT_FILL: width to new width, height to new height, may be stretch
FIT_CONTAIN: keep aspect ratio, fill blank area with black color
FIT_COVER: keep aspect ratio, crop image to fit new size
FIT_MAX:
+

C++ defination code:

+ +
enum Fit
+    {
+        FIT_NONE = -1, // no object fit, keep original
+        FIT_FILL = 0,  // width to new width, height to new height, may be stretch
+        FIT_CONTAIN,   // keep aspect ratio, fill blank area with black color
+        FIT_COVER,     // keep aspect ratio, crop image to fit new size
+        FIT_MAX
+    }
+
+

ResizeMethod

+ + + + + + + + + + + + + + + + + +
itemdoc
briefResize method
valuesNEAREST:
BILINEAR:
BICUBIC:
AREA:
LANCZOS:
HAMMING:
RESIZE_METHOD_MAX:
+

C++ defination code:

+ +
enum ResizeMethod
+    {
+        NEAREST = 0,
+        BILINEAR,
+        BICUBIC,
+        AREA,
+        LANCZOS,
+        HAMMING,
+        RESIZE_METHOD_MAX
+    }
+
+

ApriltagFamilies

+ + + + + + + + + + + + + + + + + +
itemdoc
briefFamily of apriltag
valuesTAG16H5:
TAG25H7:
TAG25H9:
TAG36H10:
TAG36H11:
ARTOOLKIT:
+

C++ defination code:

+ +
enum ApriltagFamilies
+    {
+        TAG16H5   = 1,
+        TAG25H7   = 2,
+        TAG25H9   = 4,
+        TAG36H10  = 8,
+        TAG36H11  = 16,
+        ARTOOLKIT = 32
+    }
+
+

TemplateMatch

+ + + + + + + + + + + + + + + + + +
itemdoc
briefTemplate match method
valuesSEARCH_EX: Exhaustive search
SEARCH_DS: Diamond search
+

C++ defination code:

+ +
enum TemplateMatch
+    {
+        SEARCH_EX,  // Exhaustive search
+        SEARCH_DS,  // Diamond search
+    }
+
+

CornerDetector

+ + + + + + + + + + + + + + + + + +
itemdoc
briefCornerDetector class
valuesCORNER_FAST:
CORNER_AGAST:
+

C++ defination code:

+ +
enum CornerDetector
+    {
+        CORNER_FAST,
+        CORNER_AGAST
+    }
+
+

EdgeDetector

+ + + + + + + + + + + + + + + + + +
itemdoc
briefEdgeDetector class
valuesEDGE_CANNY:
EDGE_SIMPLE:
+

C++ defination code:

+ +
enum EdgeDetector
+    {
+        EDGE_CANNY,
+        EDGE_SIMPLE,
+    }
+
+

Variable

+

fmt_size

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefImage format size in bytes
attentionIt's a copy of this variable in MaixPy,
so change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.
So we add const for this var to avoid this mistake.
value{
3,
3,
4,
4,
2,
2,
2,
2,
1.5,
1.5,
1.5,
1.5,
1,
0,
0,
0,
0,
0
}
readonlyTrue
+

C++ defination code:

+ +
const std::vector<float> fmt_size = {
+        3,
+        3,
+        4,
+        4,
+        2,
+        2,
+        2,
+        2,
+        1.5,
+        1.5,
+        1.5,
+        1.5,
+        1,
+        0,
+        0,
+        0,
+        0,
+        0
+        }
+
+

fmt_names

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefImage format string
value{
"RGB888",
"BGR888",
"RGBA8888",
"BGRA8888",
"RGB565",
"BGR565",
"YUV422SP",
"YUV422P",
"YVU420SP",
"YUV420SP",
"YVU420P"
"YUV420P",
"GRAYSCALE",
"MAX"}
readonlyTrue
+

C++ defination code:

+ +
const std::vector<std::string> fmt_names = {
+        "RGB888",
+        "BGR888",
+        "RGBA8888",
+        "BGRA8888",
+        "RGB565",
+        "BGR565",
+        "YUV422SP",
+        "YUV422P",
+        "YVU420SP",
+        "YUV420SP",
+        "YVU420P"
+        "YUV420P",
+        "GRAYSCALE",
+        "MAX"}
+
+

COLOR_WHITE

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color white
valueimage::Color::from_rgb(255, 255, 255)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_WHITE = image::Color::from_rgb(255, 255, 255)
+
+

COLOR_BLACK

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color black
valueimage::Color::from_rgb(0, 0, 0)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_BLACK = image::Color::from_rgb(0, 0, 0)
+
+

COLOR_RED

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color red
valueimage::Color::from_rgb(255, 0, 0)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_RED = image::Color::from_rgb(255, 0, 0)
+
+

COLOR_GREEN

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color green
valueimage::Color::from_rgb(0, 255, 0)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_GREEN = image::Color::from_rgb(0, 255, 0)
+
+

COLOR_BLUE

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color blue
valueimage::Color::from_rgb(0, 0, 255)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_BLUE = image::Color::from_rgb(0, 0, 255)
+
+

COLOR_YELLOW

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color yellow
valueimage::Color::from_rgb(255, 255, 0)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_YELLOW = image::Color::from_rgb(255, 255, 0)
+
+

COLOR_PURPLE

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color purple
valueimage::Color::from_rgb(143, 0, 255)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_PURPLE = image::Color::from_rgb(143, 0, 255)
+
+

COLOR_ORANGE

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color orange
valueimage::Color::from_rgb(255, 127, 0)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_ORANGE = image::Color::from_rgb(255, 127, 0)
+
+

COLOR_GRAY

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefPredefined color gray
valueimage::Color::from_rgb(127, 127, 127)
readonlyTrue
+

C++ defination code:

+ +
const image::Color COLOR_GRAY = image::Color::from_rgb(127, 127, 127)
+
+

Function

+

load

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefLoad image from file, and convert to Image object
parampath: image file path
format: read as this format, if not match, will convert to this format, by default is RGB888
returnImage object
+

C++ defination code:

+ +
image::Image *load(const char *path, image::Format format = image::Format::FMT_RGB888)
+
+

load_font

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefLoad font from file
paramname: font name, used to identify font
path: font file path, support ttf, ttc, otf
size: font size, font height, by default is 16
returnerror code, err::ERR_NONE is ok, other is error
+

C++ defination code:

+ +
err::Err load_font(const std::string &name, const char *path, int size = 16)
+
+

set_default_font

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefSet default font, if not call this method, default is hershey_plain
paramname: font name, supported names can be get by fonts()
returnerror code, err::ERR_NONE is ok, other is error
+

C++ defination code:

+ +
err::Err set_default_font(const std::string &name)
+
+

fonts

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet all loaded fonts
returnall loaded fonts, string list type
+

C++ defination code:

+ +
std::vector<std::string> *fonts()
+
+

text_size

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet text rendered width and height
paramtext: text content
scale: font scale, by default(value is 1)
thickness: text thickness(line width), by default(value is 1)
returntext rendered width and height, [width, height]
+

C++ defination code:

+ +
image::Size text_size(std::string text, float scale = 1, int thickness = 1, const std::string &font = "")
+
+

cv2image

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefOpenCV Mat(numpy array object) to Image object
paramarray: numpy array object, must be a 3-dim or 2-dim continuous array with shape hwc or hw
returnImage object
+

C++ defination code:

+ +
image::Image *cv2image(py::array_t<uint8_t, py::array::c_style> array, bool bgr = true, bool copy = true)
+
+

image2cv

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefImage object to OpenCV Mat(numpy array object)
paramimg: Image object
returnnumpy array object
+

C++ defination code:

+ +
py::array_t<uint8_t, py::array::c_style> image2cv(image::Image *img, bool bgr = true, bool copy = true)
+
+

Class

+

Size

+ + + + + + + + + + + + + +
itemdoc
briefImage size type
+

C++ defination code:

+ +
class Size
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstruct a new Size object
paramwidth: image width
height: image height
staticFalse
+

C++ defination code:

+ +
Size(int width = 0, int height = 0)
+
+

width

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefwidth of size
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int width
+
+

height

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefheight of size
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int height
+
+

__getitem__

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSubscript operator
paramindex: 0 for width, 1 for height
returnint& width or height
staticFalse
+

C++ defination code:

+ +
int &__getitem__(int index)
+
+

__str__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefto string
staticFalse
+

C++ defination code:

+ +
std::string __str__()
+
+

Line

+ + + + + + + + + + + + + +
itemdoc
briefLine class
+

C++ defination code:

+ +
class Line
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefLine constructor
paramx1: coordinate x1 of the straight line
y1: coordinate y1 of the straight line
x2: coordinate x2 of the straight line
y2: coordinate y2 of the straight line
magnitude: magnitude of the straight line after Hough transformation
theta: angle of the straight line after Hough transformation
rho: p-value of the straight line after Hough transformation
staticFalse
+

C++ defination code:

+ +
Line(int x1, int y1, int x2, int y2, int magnitude = 0, int theta = 0, int rho = 0)
+
+

x1

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x1 of line
returnreturn x1 of the line, type is int
staticFalse
+

C++ defination code:

+ +
int x1()
+
+

y1

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y1 of line
returnreturn y1 of the line, type is int
staticFalse
+

C++ defination code:

+ +
int y1()
+
+

x2

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x2 of line
returnreturn x2 of the line, type is int
staticFalse
+

C++ defination code:

+ +
int x2()
+
+

y2

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y2 of line
returnreturn y2 of the line, type is int
staticFalse
+

C++ defination code:

+ +
int y2()
+
+

length

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget length of line
returnreturn length of the line, type is int
staticFalse
+

C++ defination code:

+ +
int length()
+
+

magnitude

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget magnitude of the straight line after Hough transformation
returnreturn magnitude, type is int
staticFalse
+

C++ defination code:

+ +
int magnitude()
+
+

theta

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget angle of the straight line after Hough transformation (0-179 degrees)
returnreturn angle, type is int
staticFalse
+

C++ defination code:

+ +
int theta()
+
+

rho

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget p-value of the straight line after Hough transformation
returnreturn p-value, type is int
staticFalse
+

C++ defination code:

+ +
int rho()
+
+

Rect

+ + + + + + + + + + + + + +
itemdoc
briefRect class
+

C++ defination code:

+ +
class Rect
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRect constructor
paramcorners: corners of rect
x: coordinate x of the straight line
y: coordinate y of the straight line
w: coordinate w of the straight line
h: coordinate h of the straight line
magnitude: magnitude of the straight line after Hough transformation
staticFalse
+

C++ defination code:

+ +
Rect(std::vector<std::vector<int>> &corners, int x, int y, int w, int h, int magnitude = 0)
+
+

corners

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget corners of rect
returnreturn the coordinate of the rect.
staticFalse
+

C++ defination code:

+ +
std::vector<std::vector<int>> corners()
+
+

rect

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rectangle of rect
returnreturn the rectangle of the rect. format is {x, y, w, h}, type is std::vector
staticFalse
+

C++ defination code:

+ +
std::vector<int> rect()
+
+

x

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x of rect
returnreturn x of the rect, type is int
staticFalse
+

C++ defination code:

+ +
int x()
+
+

y

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y of rect
returnreturn y of the rect, type is int
staticFalse
+

C++ defination code:

+ +
int y()
+
+

w

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget w of rect
returnreturn w of the rect, type is int
staticFalse
+

C++ defination code:

+ +
int w()
+
+

h

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget h of rect
returnreturn h of the rect, type is int
staticFalse
+

C++ defination code:

+ +
int h()
+
+

magnitude

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget magnitude of the straight line after Hough transformation
returnreturn magnitude, type is int
staticFalse
+

C++ defination code:

+ +
int magnitude()
+
+

Circle

+ + + + + + + + + + + + + +
itemdoc
briefcircle class
+

C++ defination code:

+ +
class Circle
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCircle constructor
paramx: coordinate x of the circle
y: coordinate y of the circle
r: coordinate r of the circle
magnitude: coordinate y2 of the straight line
staticFalse
+

C++ defination code:

+ +
Circle(int x, int y, int r, int magnitude)
+
+

x

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x of circle
returnreturn x of the circle, type is int
staticFalse
+

C++ defination code:

+ +
int x()
+
+

y

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y of circle
returnreturn y of the circle, type is int
staticFalse
+

C++ defination code:

+ +
int y()
+
+

r

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget r of circle
returnreturn r of the circle, type is int
staticFalse
+

C++ defination code:

+ +
int r()
+
+

magnitude

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget magnitude of the circle after Hough transformation
returnreturn magnitude, type is int
staticFalse
+

C++ defination code:

+ +
int magnitude()
+
+

Blob

+ + + + + + + + + + + + + +
itemdoc
briefBlob class
+

C++ defination code:

+ +
class Blob
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefBlob constructor
paramrect: blob rect, type is std::vector
corners: blob corners, type is std::vector<std::vector>
mini_corners: blob mini_corners, type is std::vector<std::vector>
cx: blob center x, type is float
cy: blob center y, type is float
pixels: blob pixels, type is int
rotation: blob rotation, type is float
code: blob code, type is int
count: blob count, type is int
perimeter: blob perimeter, type is int
roundness: blob roundness, type is float
x_hist_bins: blob x_hist_bins, type is std::vector
y_hist_bins: blob y_hist_bins, type is std::vector
staticFalse
+

C++ defination code:

+ +
Blob(std::vector<int> &rect, std::vector<std::vector<int>> &corners, std::vector<std::vector<int>> &mini_corners,float cx, float cy, int pixels, float rotation, int code, int count, int perimeter, float roundness, std::vector<int> &x_hist_bins, std::vector<int> &y_hist_bins)
+
+

corners

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob corners
returnReturns a list of 4 (x,y) tuples of the 4 corners of the object.
(x0, y0)___________(x1, y1)



___________
(x3, y3) (x2, y2)
note: the order of corners may change
staticFalse
+

C++ defination code:

+ +
std::vector<std::vector<int>> corners()
+
+

mini_corners

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob mini corners
returnReturns a list of 4 (x,y) tuples of the 4 corners than bound the min area rectangle of the blob.
(x0, y0)___________(x1, y1)



___________
(x3, y3) (x2, y2)
note: the order of corners may change
staticFalse
+

C++ defination code:

+ +
std::vector<std::vector<int>> mini_corners()
+
+

rect

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob rect
returnReturns the center coordinates and width and height of the rectangle. format is (x, y, w, h)
w
(x, y) ___________

h

___________
staticFalse
+

C++ defination code:

+ +
std::vector<int> rect()
+
+

x

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob x of the upper left coordinate
returnReturns the x coordinate of the upper left corner of the rectangle.
staticFalse
+

C++ defination code:

+ +
int x()
+
+

y

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob y of the upper left coordinate
returnReturns the y coordinate of the upper left corner of the rectangle.
staticFalse
+

C++ defination code:

+ +
int y()
+
+

w

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob width
returnReturns the blob’s bounding box w coordinate
staticFalse
+

C++ defination code:

+ +
int w()
+
+

h

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob height
returnReturns the blob’s bounding box h coordinate
staticFalse
+

C++ defination code:

+ +
int h()
+
+

pixels

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob pixels
returnReturns the number of pixels that are part of this blob.
staticFalse
+

C++ defination code:

+ +
int pixels()
+
+

cx

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob center x
returnReturns the centroid x position of the blob
staticFalse
+

C++ defination code:

+ +
int cx()
+
+

cy

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob center y
returnReturns the centroid y position of the blob
staticFalse
+

C++ defination code:

+ +
int cy()
+
+

cxf

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob center x
returnReturns the centroid x position of the blob
staticFalse
+

C++ defination code:

+ +
float cxf()
+
+

cyf

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob center y
returnReturns the centroid y position of the blob
staticFalse
+

C++ defination code:

+ +
float cyf()
+
+

rotation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob rotation
returnReturns the rotation of the blob in radians (float). If the blob is like a pencil or pen this value will be unique for 0-180 degrees.
staticFalse
+

C++ defination code:

+ +
float rotation()
+
+

rotation_rad

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob rotation_rad
returnReturns the rotation of the blob in radians
staticFalse
+

C++ defination code:

+ +
float rotation_rad()
+
+

rotation_deg

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob rotation_deg
returnReturns the rotation of the blob in degrees.
staticFalse
+

C++ defination code:

+ +
int rotation_deg()
+
+

code

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob code
returnReturns a 32-bit binary number with a bit set in it for each color threshold that’s part of this blob
staticFalse
+

C++ defination code:

+ +
int code()
+
+

count

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob count
returnReturns the number of blobs merged into this blob.
staticFalse
+

C++ defination code:

+ +
int count()
+
+

perimeter

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob merge_cnt
returnReturns the number of pixels on this blob’s perimeter.
staticFalse
+

C++ defination code:

+ +
int perimeter()
+
+

roundness

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob roundness
returnReturns a value between 0 and 1 representing how round the object is
staticFalse
+

C++ defination code:

+ +
float roundness()
+
+

elongation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob elongation
returnReturnsa value between 0 and 1 representing how long (not round) the object is
staticFalse
+

C++ defination code:

+ +
float elongation()
+
+

area

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob area
returnReturns the area of the bounding box around the blob
staticFalse
+

C++ defination code:

+ +
int area()
+
+

density

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob density
returnReturns the density ratio of the blob
staticFalse
+

C++ defination code:

+ +
float density()
+
+

extent

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAlias for blob.density()
returnReturns the density ratio of the blob
staticFalse
+

C++ defination code:

+ +
float extent()
+
+

compactness

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob compactness
returnReturns the compactness ratio of the blob
staticFalse
+

C++ defination code:

+ +
float compactness()
+
+

solidity

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob solidity
returnReturns the solidity ratio of the blob
staticFalse
+

C++ defination code:

+ +
float solidity()
+
+

convexity

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob convexity
returnReturns a value between 0 and 1 representing how convex the object is
staticFalse
+

C++ defination code:

+ +
float convexity()
+
+

x_hist_bins

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob x_hist_bins
returnReturns the x_hist_bins of the blob
staticFalse
+

C++ defination code:

+ +
std::vector<int> x_hist_bins()
+
+

y_hist_bins

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob y_hist_bins
returnReturns the y_hist_bins of the blob
staticFalse
+

C++ defination code:

+ +
std::vector<int> y_hist_bins()
+
+

major_axis_line

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob major_axis_line
returnReturns a line tuple (x1, y1, x2, y2) of the minor axis of the blob.
staticFalse
+

C++ defination code:

+ +
std::vector<int> major_axis_line()
+
+

minor_axis_line

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob minor_axis_line
returnReturns a line tuple (x1, y1, x2, y2) of the minor axis of the blob.
staticFalse
+

C++ defination code:

+ +
std::vector<int> minor_axis_line()
+
+

enclosing_circle

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob enclosing_circle
returnReturns a circle tuple (x, y, r) of the circle that encloses the min area rectangle of a blob.
staticFalse
+

C++ defination code:

+ +
std::vector<int> enclosing_circle()
+
+

enclosed_ellipse

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget blob enclosed_ellipse
returnReturns an ellipse tuple (x, y, rx, ry, rotation) of the ellipse that fits inside of the min area rectangle of a blob.
staticFalse
+

C++ defination code:

+ +
std::vector<int> enclosed_ellipse()
+
+

QRCode

+ + + + + + + + + + + + + +
itemdoc
briefQRCode class
+

C++ defination code:

+ +
class QRCode
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefQRCode constructor
paramrect: rect of corners, type is std::vector
corners: corners of QRCode
payload: payload of the QRCode
version: version of the QRCode
ecc_level: ecc_level of the QRCode
mask: mask of the QRCode
data_type: data_type of the QRCode
eci: eci of the QRCode
staticFalse
+

C++ defination code:

+ +
QRCode(std::vector<int> &rect, std::vector<std::vector<int>> &corners, std::string &payload, int version, int ecc_level, int mask, int data_type, int eci)
+
+

corners

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget coordinate of QRCode
returnreturn the coordinate of the QRCode.
staticFalse
+

C++ defination code:

+ +
std::vector<std::vector<int>> corners()
+
+

rect

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rectangle of QRCode
returnreturn the rectangle of the QRCode. format is {x, y, w, h}, type is std::vector
staticFalse
+

C++ defination code:

+ +
std::vector<int> rect()
+
+

x

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x of QRCode
returnreturn x of the QRCode, type is int
staticFalse
+

C++ defination code:

+ +
int x()
+
+

y

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y of QRCode
returnreturn y of the QRCode, type is int
staticFalse
+

C++ defination code:

+ +
int y()
+
+

w

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget w of QRCode
returnreturn w of the QRCode, type is int
staticFalse
+

C++ defination code:

+ +
int w()
+
+

h

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget h of QRCode
returnreturn h of the QRCode, type is int
staticFalse
+

C++ defination code:

+ +
int h()
+
+

payload

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget QRCode payload
returnreturn area of the QRCode
staticFalse
+

C++ defination code:

+ +
std::string payload()
+
+

version

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget QRCode version
returnreturn version of the QRCode
staticFalse
+

C++ defination code:

+ +
int version()
+
+

ecc_level

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget QRCode error correction level
returnreturn error correction level of the QRCode
staticFalse
+

C++ defination code:

+ +
int ecc_level()
+
+

mask

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget QRCode mask
returnreturn mask of the QRCode
staticFalse
+

C++ defination code:

+ +
int mask()
+
+

data_type

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget QRCode dataType
returnreturn mask of the QRCode
staticFalse
+

C++ defination code:

+ +
int data_type()
+
+

eci

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget QRCode eci
returnreturn data of the QRCode
staticFalse
+

C++ defination code:

+ +
int eci()
+
+

is_numeric

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefcheck QRCode is numeric
returnreturn true if the result type of the QRCode is numeric
staticFalse
+

C++ defination code:

+ +
bool is_numeric()
+
+

is_alphanumeric

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefcheck QRCode is alphanumeric
returnreturn true if the result type of the QRCode is alphanumeric
staticFalse
+

C++ defination code:

+ +
bool is_alphanumeric()
+
+

is_binary

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefcheck QRCode is binary
returnreturn true if the result type of the QRCode is binary
staticFalse
+

C++ defination code:

+ +
bool is_binary()
+
+

is_kanji

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefcheck QRCode is kanji
returnreturn true if the result type of the QRCode is kanji
staticFalse
+

C++ defination code:

+ +
bool is_kanji()
+
+

AprilTag

+ + + + + + + + + + + + + +
itemdoc
briefAprilTag class
+

C++ defination code:

+ +
class AprilTag
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAprilTag constructor
paramrect: Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector
corners: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector<std::vector>
id: The id of the AprilTag
famliy: The family of the AprilTag
centroid_x: The x coordinate of the center of the AprilTag
centroid_y: The y coordinate of the center of the AprilTag
rotation: The rotation of the AprilTag
decision_margin: The decision_margin of the AprilTag
hamming: The hamming of the AprilTag
goodness: The goodness of the AprilTag
x_translation: The x_translation of the AprilTag
y_translation: The y_translation of the AprilTag
z_translation: The z_translation of the AprilTag
x_rotation: The x_rotation of the AprilTag
y_rotation: The y_rotation of the AprilTag
z_rotation: The z_rotation of the AprilTag
staticFalse
+

C++ defination code:

+ +
AprilTag(std::vector<int> &rect, std::vector<std::vector<int>> &corners, int id, int famliy, float centroid_x, float centroid_y, float rotation, float decision_margin, int hamming, float goodness, float x_translation, float y_translation, float z_translation, float x_rotation, float y_rotation, float z_rotation)
+
+

corners

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget coordinate of AprilTag
returnreturn the coordinate of the AprilTag.
staticFalse
+

C++ defination code:

+ +
std::vector<std::vector<int>> corners()
+
+

rect

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rectangle of AprilTag
returnreturn the rectangle of the AprilTag. format is {x, y, w, h}, type is std::vector
staticFalse
+

C++ defination code:

+ +
std::vector<int> rect()
+
+

x

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x of AprilTag
returnreturn x of the AprilTag, type is int
staticFalse
+

C++ defination code:

+ +
int x()
+
+

y

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y of AprilTag
returnreturn y of the AprilTag, type is int
staticFalse
+

C++ defination code:

+ +
int y()
+
+

w

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget w of AprilTag
returnreturn w of the AprilTag, type is int
staticFalse
+

C++ defination code:

+ +
int w()
+
+

h

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget h of AprilTag
returnreturn h of the AprilTag, type is int
staticFalse
+

C++ defination code:

+ +
int h()
+
+

id

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget id of AprilTag
returnreturn id of the AprilTag, type is int
staticFalse
+

C++ defination code:

+ +
int id()
+
+

family

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget family of AprilTag
returnreturn family of the AprilTag, type is int
staticFalse
+

C++ defination code:

+ +
int family()
+
+

cx

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget cx of AprilTag
returnreturn cx of the AprilTag, type is int
staticFalse
+

C++ defination code:

+ +
int cx()
+
+

cxf

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget cxf of AprilTag
returnreturn cxf of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float cxf()
+
+

cy

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget cy of AprilTag
returnreturn cy of the AprilTag, type is int
staticFalse
+

C++ defination code:

+ +
int cy()
+
+

cyf

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget cyf of AprilTag
returnreturn cyf of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float cyf()
+
+

rotation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rotation of AprilTag
returnreturn rotation of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float rotation()
+
+

decision_margin

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet decision_margin of AprilTag
returnReturns the quality of the apriltag match (0.0 - 1.0) where 1.0 is the best.
staticFalse
+

C++ defination code:

+ +
float decision_margin()
+
+

hamming

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget hamming of AprilTag
returnReturns the number of accepted bit errors for this tag.
return 0, means 0 bit errors will be accepted.
1 is TAG25H7, means up to 1 bit error may be accepted
2 is TAG25H9, means up to 3 bit errors may be accepted
3 is TAG36H10, means up to 3 bit errors may be accepted
4 is TAG36H11, means up to 4 bit errors may be accepted
5 is ARTOOLKIT, means 0 bit errors will be accepted
staticFalse
+

C++ defination code:

+ +
int hamming()
+
+

goodness

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget goodness of AprilTag
returnreturn goodness of the AprilTag, type is float
Note: This value is always 0.0 for now.
staticFalse
+

C++ defination code:

+ +
float goodness()
+
+

x_translation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x_translation of AprilTag
returnreturn x_translation of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float x_translation()
+
+

y_translation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y_translation of AprilTag
returnreturn y_translation of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float y_translation()
+
+

z_translation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget z_translation of AprilTag
returnreturn z_translation of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float z_translation()
+
+

x_rotation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x_rotation of AprilTag
returnreturn x_rotation of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float x_rotation()
+
+

y_rotation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y_rotation of AprilTag
returnreturn y_rotation of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float y_rotation()
+
+

z_rotation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget z_rotation of AprilTag
returnreturn z_rotation of the AprilTag, type is float
staticFalse
+

C++ defination code:

+ +
float z_rotation()
+
+

DataMatrix

+ + + + + + + + + + + + + +
itemdoc
briefDataMatrix class
+

C++ defination code:

+ +
class DataMatrix
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDataMatrix constructor
paramrect: Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector
corners: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector<std::vector>
payload: The payload of the DataMatrix
rotation: The rotation of the DataMatrix
rows: The rows of the DataMatrix
columns: The columns of the DataMatrix
capacity: The capacity of the DataMatrix
padding: The padding of the DataMatrix
staticFalse
+

C++ defination code:

+ +
DataMatrix(std::vector<int> &rect, std::vector<std::vector<int>> &corners, std::string &payload, float rotation, int rows, int columns, int capacity, int padding)
+
+

corners

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget coordinate of DataMatrix
returnreturn the coordinate of the DataMatrix.
staticFalse
+

C++ defination code:

+ +
std::vector<std::vector<int>> corners()
+
+

rect

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rectangle of DataMatrix
returnreturn the rectangle of the DataMatrix. format is {x, y, w, h}, type is std::vector
staticFalse
+

C++ defination code:

+ +
std::vector<int> rect()
+
+

x

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x of DataMatrix
returnreturn x of the DataMatrix, type is int
staticFalse
+

C++ defination code:

+ +
int x()
+
+

y

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y of DataMatrix
returnreturn y of the DataMatrix, type is int
staticFalse
+

C++ defination code:

+ +
int y()
+
+

w

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget w of DataMatrix
returnreturn w of the DataMatrix, type is int
staticFalse
+

C++ defination code:

+ +
int w()
+
+

h

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget h of DataMatrix
returnreturn h of the DataMatrix, type is int
staticFalse
+

C++ defination code:

+ +
int h()
+
+

payload

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget payload of DataMatrix
returnreturn payload of the DataMatrix, type is std::string
staticFalse
+

C++ defination code:

+ +
std::string payload()
+
+

rotation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rotation of DataMatrix
returnreturn rotation of the DataMatrix, type is float
staticFalse
+

C++ defination code:

+ +
float rotation()
+
+

rows

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rows of DataMatrix
returnreturn rows of the DataMatrix, type is int
staticFalse
+

C++ defination code:

+ +
int rows()
+
+

columns

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget columns of DataMatrix
returnreturn columns of the DataMatrix, type is int
staticFalse
+

C++ defination code:

+ +
int columns()
+
+

capacity

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefet capacity of DataMatrix
returnreturns how many characters could fit in this data matrix, type is int
staticFalse
+

C++ defination code:

+ +
int capacity()
+
+

padding

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget padding of DataMatrix
returnreturns how many unused characters are in this data matrix, type is int
staticFalse
+

C++ defination code:

+ +
int padding()
+
+

BarCode

+ + + + + + + + + + + + + +
itemdoc
briefBarCode class
+

C++ defination code:

+ +
class BarCode
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefBarCode constructor
paramrect: Inlucdes the top-left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector
corners: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector<std::vector>
payload: The payload of the BarCode
type: The type of the BarCode
rotation: The rotation of the BarCode
quality: The quality of the BarCode
staticFalse
+

C++ defination code:

+ +
BarCode(std::vector<int> &rect, std::vector<std::vector<int>> &corners, std::string &payload, int type, float rotation, int quality)
+
+

corners

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget coordinate of BarCode
returnreturn the coordinate of the BarCode.
staticFalse
+

C++ defination code:

+ +
std::vector<std::vector<int>> corners()
+
+

rect

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rectangle of BarCode
returnreturn the rectangle of the BarCode. format is {x, y, w, h}, type is std::vector
staticFalse
+

C++ defination code:

+ +
std::vector<int> rect()
+
+

x

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x of BarCode
returnreturn x of the BarCode, type is int
staticFalse
+

C++ defination code:

+ +
int x()
+
+

y

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y of BarCode
returnreturn y of the BarCode, type is int
staticFalse
+

C++ defination code:

+ +
int y()
+
+

w

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget w of BarCode
returnreturn w of the BarCode, type is int
staticFalse
+

C++ defination code:

+ +
int w()
+
+

h

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget h of BarCode
returnreturn h of the BarCode, type is int
staticFalse
+

C++ defination code:

+ +
int h()
+
+

payload

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget payload of BarCode
returnreturn payload of the BarCode, type is std::string
staticFalse
+

C++ defination code:

+ +
std::string payload()
+
+

type

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget type of BarCode
returnreturn type of the BarCode, type is int
staticFalse
+

C++ defination code:

+ +
int type()
+
+

rotation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rotation of BarCode
returnreturn rotation of the BarCode, type is float. FIXME: always return 0.0
staticFalse
+

C++ defination code:

+ +
float rotation()
+
+

quality

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget quality of BarCode
returnreturn quality of the BarCode, type is int
staticFalse
+

C++ defination code:

+ +
int quality()
+
+

Statistics

+ + + + + + + + + + + + + +
itemdoc
briefStatistics class
+

C++ defination code:

+ +
class Statistics
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefStatistics constructor
paramformat: The statistics source image format
l_statistics: The statistics of the L channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector
a_statistics: The statistics of the A channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector
b_statistics: The statistics of the B channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector
staticFalse
+

C++ defination code:

+ +
Statistics(image::Format format, std::vector<int> &l_statistics, std::vector<int> &a_statistics, std::vector<int> &b_statistics)
+
+

format

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget format of Statistics source image
returnreturn format of the Statistics source image, type is image::Format
staticFalse
+

C++ defination code:

+ +
image::Format format()
+
+

l_mean

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget L channel mean
returnreturn L channel mean, type is int
staticFalse
+

C++ defination code:

+ +
int l_mean()
+
+

l_median

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget L channel median
returnreturn L channel median, type is int
staticFalse
+

C++ defination code:

+ +
int l_median()
+
+

l_mode

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget L channel mode
returnreturn L channel mode, type is int
staticFalse
+

C++ defination code:

+ +
int l_mode()
+
+

l_std_dev

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget L channel std_dev
returnreturn L channel std_dev, type is int
staticFalse
+

C++ defination code:

+ +
int l_std_dev()
+
+

l_min

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget L channel min
returnreturn L channel min, type is int
staticFalse
+

C++ defination code:

+ +
int l_min()
+
+

l_max

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget L channel max
returnreturn L channel max, type is int
staticFalse
+

C++ defination code:

+ +
int l_max()
+
+

l_lq

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget L channel lq
returnreturn L channel lq, type is int
staticFalse
+

C++ defination code:

+ +
int l_lq()
+
+

l_uq

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget L channel uq
returnreturn L channel uq, type is int
staticFalse
+

C++ defination code:

+ +
int l_uq()
+
+

a_mean

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget A channel mean
returnreturn A channel mean, type is int
staticFalse
+

C++ defination code:

+ +
int a_mean()
+
+

a_median

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget A channea median
returnreturn A channel median, type is int
staticFalse
+

C++ defination code:

+ +
int a_median()
+
+

a_mode

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget A channel mode
returnreturn A channel mode, type is int
staticFalse
+

C++ defination code:

+ +
int a_mode()
+
+

a_std_dev

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget A channel std_dev
returnreturn A channel std_dev, type is int
staticFalse
+

C++ defination code:

+ +
int a_std_dev()
+
+

a_min

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget A channel min
returnreturn A channel min, type is int
staticFalse
+

C++ defination code:

+ +
int a_min()
+
+

a_max

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget A channel max
returnreturn A channel max, type is int
staticFalse
+

C++ defination code:

+ +
int a_max()
+
+

a_lq

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget A channel lq
returnreturn A channel lq, type is int
staticFalse
+

C++ defination code:

+ +
int a_lq()
+
+

a_uq

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget A channel uq
returnreturn A channel uq, type is int
staticFalse
+

C++ defination code:

+ +
int a_uq()
+
+

b_mean

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget B channel mean
returnreturn B channel mean, type is int
staticFalse
+

C++ defination code:

+ +
int b_mean()
+
+

b_median

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget B channea median
returnreturn B channel median, type is int
staticFalse
+

C++ defination code:

+ +
int b_median()
+
+

b_mode

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget B channel mode
returnreturn B channel mode, type is int
staticFalse
+

C++ defination code:

+ +
int b_mode()
+
+

b_std_dev

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget B channel std_dev
returnreturn B channel std_dev, type is int
staticFalse
+

C++ defination code:

+ +
int b_std_dev()
+
+

b_min

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget B channel min
returnreturn B channel min, type is int
staticFalse
+

C++ defination code:

+ +
int b_min()
+
+

b_max

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget B channel max
returnreturn B channel max, type is int
staticFalse
+

C++ defination code:

+ +
int b_max()
+
+

b_lq

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget B channel lq
returnreturn B channel lq, type is int
staticFalse
+

C++ defination code:

+ +
int b_lq()
+
+

b_uq

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget B channel uq
returnreturn B channel uq, type is int
staticFalse
+

C++ defination code:

+ +
int b_uq()
+
+

Displacement

+ + + + + + + + + + + + + +
itemdoc
briefDisplacement class
+

C++ defination code:

+ +
class Displacement
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDisplacement constructor
paramx_translation: The x_translation of the Displacement
y_translation: The y_translation of the Displacement
rotation: The rotation of the Displacement
scale: The scale of the Displacement
response: The response of the Displacement
staticFalse
+

C++ defination code:

+ +
Displacement(float x_translation, float y_translation, float rotation, float scale, float response)
+
+

x_translation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget x_translation of Displacement
returnreturn x_translation of the Displacement, type is float
staticFalse
+

C++ defination code:

+ +
float x_translation()
+
+

y_translation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget y_translation of Displacement
returnreturn y_translation of the Displacement, type is float
staticFalse
+

C++ defination code:

+ +
float y_translation()
+
+

rotation

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget rotation of Displacement
returnreturn rotation of the Displacement, type is float
staticFalse
+

C++ defination code:

+ +
float rotation()
+
+

scale

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget scale of Displacement
returnreturn scale of the Displacement, type is float
staticFalse
+

C++ defination code:

+ +
float scale()
+
+

response

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget response of Displacement
returnreturn response of the Displacement, type is float
staticFalse
+

C++ defination code:

+ +
float response()
+
+

LBPKeyPoint

+ + + + + + + + + + + + + +
itemdoc
briefLBPKeyPoint class
+

C++ defination code:

+ +
class LBPKeyPoint
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefLBPKeyPoint constructor
paramdata: The data of the LBPKeyPoint
staticFalse
+

C++ defination code:

+ +
LBPKeyPoint(std::valarray<uint8_t> &data)
+
+

KeyPoint

+ + + + + + + + + + + + + +
itemdoc
briefKeyPoint class
+

C++ defination code:

+ +
class KeyPoint
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefKeyPoint constructor
paramx: The x of the KeyPoint
y: The y of the KeyPoint
score: The score of the KeyPoint
octave: The octave of the KeyPoint
angle: The angle of the KeyPoint
matched: The matched of the KeyPoint
desc: The desc of the KeyPoint
staticFalse
+

C++ defination code:

+ +
KeyPoint(uint16_t x, uint16_t y, uint16_t score, uint16_t octave, uint16_t angle, uint16_t matched, std::vector<uint8_t> &desc)
+
+

KPTMatch

+ + + + + + + + + + + + + +
itemdoc
briefKPTMatch class
+

C++ defination code:

+ +
class KPTMatch
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefKPTMatch constructor
paramcx: The cx of the KPTMatch
cy: The cy of the KPTMatch
x: The x of the KPTMatch
y: The y of the KPTMatch
w: The w of the KPTMatch
h: The h of the KPTMatch
score: The score of the KPTMatch
theta: The theta of the KPTMatch
match: The match of the KPTMatch
staticFalse
+

C++ defination code:

+ +
KPTMatch(int cx, int cy, int x, int y, int w, int h, int score, int theta, int match)
+
+

ORBKeyPoint

+ + + + + + + + + + + + + +
itemdoc
briefORBKeyPoint class
+

C++ defination code:

+ +
class ORBKeyPoint
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefORBKeyPoint constructor
paramdata: The data of the ORBKeyPoint
threshold: The threshold of the ORBKeyPoint
normalized: The normalized of the ORBKeyPoint
staticFalse
+

C++ defination code:

+ +
ORBKeyPoint(std::vector<image::KeyPoint> &data, int threshold, bool normalized)
+
+

get_data

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget data of ORBKeyPoint
returnreturn data of the ORBKeyPoint, type is std::vector
staticFalse
+

C++ defination code:

+ +
std::vector<image::KeyPoint> get_data()
+
+

HaarCascade

+ + + + + + + + + + + + + +
itemdoc
briefHaarCascade class
+

C++ defination code:

+ +
class HaarCascade
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefHaarCascade constructor
paramdata: The data of the HaarCascade
threshold: The threshold of the HaarCascade
normalized: The normalized of the HaarCascade
staticFalse
+

C++ defination code:

+ +
HaarCascade()
+
+

Color

+ + + + + + + + + + + + + +
itemdoc
briefColor class
+

C++ defination code:

+ +
class Color
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefColor constructor
paramalpha: alpha channel, value range: 0 ~ 1
staticFalse
+

C++ defination code:

+ +
Color(uint8_t ch1, uint8_t ch2 = 0, uint8_t ch3 = 0, float alpha = 0, image::Format format = image::FMT_GRAYSCALE)
+
+

r

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefColor red channel
staticFalse
readonlyFalse
+

C++ defination code:

+ +
uint8_t r
+
+

g

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefColor green channel
staticFalse
readonlyFalse
+

C++ defination code:

+ +
uint8_t g
+
+

b

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefColor blue channel
staticFalse
readonlyFalse
+

C++ defination code:

+ +
uint8_t b
+
+

alpha

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefColor alpha channel, value from 0.0 to 1.0, float value
staticFalse
readonlyFalse
+

C++ defination code:

+ +
float alpha
+
+

gray

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefColor gray channel
staticFalse
readonlyFalse
+

C++ defination code:

+ +
uint8_t gray
+
+

format

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefColor format
staticFalse
readonlyFalse
+

C++ defination code:

+ +
image::Format format
+
+

hex

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet color's hex value
staticFalse
+

C++ defination code:

+ +
uint32_t hex()
+
+

from_rgb

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCreate Color object from RGB channels
staticTrue
+

C++ defination code:

+ +
static image::Color from_rgb(uint8_t r, uint8_t g, uint8_t b)
+
+

from_bgr

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCreate Color object from BGR channels
staticTrue
+

C++ defination code:

+ +
static image::Color from_bgr(uint8_t b, uint8_t g, uint8_t r)
+
+

from_gray

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCreate Color object from gray channel
staticTrue
+

C++ defination code:

+ +
static image::Color from_gray(uint8_t gray)
+
+

from_rgba

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCreate Color object from RGBA channels
paramalpha: alpha channel, float value, value range: 0 ~ 1
staticTrue
+

C++ defination code:

+ +
static image::Color from_rgba(uint8_t r, uint8_t g, uint8_t b, float alpha)
+
+

from_bgra

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCreate Color object from BGRA channels
paramalpha: alpha channel, float value, value range: 0 ~ 1
staticTrue
+

C++ defination code:

+ +
static image::Color from_bgra(uint8_t b, uint8_t g, uint8_t r, float alpha)
+
+

from_hex

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCreate Color object from hex value
paramhex: hex value, e.g. 0x0000FF00, lower address if first channel
format: color format, @see image::Format
staticTrue
+

C++ defination code:

+ +
static image::Color from_hex(uint32_t hex, image::Format &format)
+
+

to_format

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvert Color format
paramformat: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE.
staticFalse
+

C++ defination code:

+ +
void to_format(const image::Format &format)
+
+

to_format2

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvert color format and return a new Color object
paramformat: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE.
returnnew Color object, you need to delete it manually in C++.
staticFalse
+

C++ defination code:

+ +
image::Color *to_format2(const image::Format &format)
+
+

Image

+ + + + + + + + + + + + + +
itemdoc
briefImage class
+

C++ defination code:

+ +
class Image
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefImage constructor
paramwidth: image width, should > 0
height: image height, should > 0
format: image format @see image::Format
data: image data, if data is nullptr, will malloc memory for image data
If the image is in jpeg format, data must be filled in.
data_size: image data size, only for compressed format like jpeg png, data_size must be filled in.
copy: if true and data is not nullptr, will copy data to new buffer, else will use data directly. default is true to avoid memory leak.
staticFalse
+

C++ defination code:

+ +
Image(int width, int height, image::Format format = image::Format::FMT_RGB888, void *data = nullptr, int data_size = -1, bool copy = true)
+
+

format

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet image's format
seeimage.Format
staticFalse
+

C++ defination code:

+ +
image::Format format()
+
+

size

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet image's size, [width, height]
staticFalse
+

C++ defination code:

+ +
image::Size size()
+
+

data_size

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet image's data size
staticFalse
+

C++ defination code:

+ +
int data_size()
+
+

width

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet image's width
staticFalse
+

C++ defination code:

+ +
int width()
+
+

height

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet image's height
staticFalse
+

C++ defination code:

+ +
int height()
+
+

data

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet image's data pointer.\nIn MaixPy is capsule object.
staticFalse
+

C++ defination code:

+ +
void *data()
+
+

__str__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTo string method
staticFalse
+

C++ defination code:

+ +
std::string __str__()
+
+

to_str

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTo string method
staticFalse
+

C++ defination code:

+ +
std::string to_str()
+
+

get_pixel

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet pixel of image
paramx: pixel's coordinate x. x must less than image's width
y: pixel's coordinate y. y must less than image's height
rgbtuple: switch return value method. rgbtuple decides whether to split the return or not. default is false.
returnpixel value,
According to image format and rgbtuple, return different value:
format is FMT_RGB888, rgbtuple is true, return [R, G, B]; rgbtuple is false, return [RGB]
foramt is FMT_BGR888, rgbtuple is true, return [B, G, R]; rgbtuple is false, return [BGR]
format is FMT_GRAYSCALE, return [GRAY];
staticFalse
+

C++ defination code:

+ +
std::vector<int> get_pixel(int x, int y, bool rgbtuple = false)
+
+

set_pixel

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSet pixel of image
paramx: pixel's coordinate x. x must less than image's width
y: pixel's coordinate y. y must less than image's height
pixel: pixel value, according to image format and size of pixel, has different operation:
format is FMT_RGB888, pixel size must be 1 or 3, if size is 1, will split pixel[0] to [R, G, B]; if size is 3, will use pixel directly
format is FMT_BGR888, pixel size must be 1 or 3, if size is 1, will split pixel[0] to [B, G, R]; if size is 3, will use pixel directly
format is FMT_GRAYSCALE, pixel size must be 1, will use pixel directly
returnerror code, Err::ERR_NONE is ok, other is error
staticFalse
+

C++ defination code:

+ +
err::Err set_pixel(int x, int y, std::vector<int> pixel)
+
+

to_tensor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvert Image object to tensor::Tensor object
paramchw: if true, the shape of tensor is [C, H, W], else [H, W, C]
copy: if true, will alloc memory for tensor data, else will use the memory of Image object
returntensor::Tensor object pointer, an allocated tensor object
staticFalse
+

C++ defination code:

+ +
tensor::Tensor *to_tensor(bool chw = false, bool copy = true)
+
+

to_bytes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet image's data and convert to array bytes
paramcopy: if true, will alloc memory and copy data to new buffer,
else will use the memory of Image object, delete bytes object will not affect Image object,
but delete Image object will make bytes object invalid, it may cause program crash !!!!
So use this param carefully.
returnimage's data bytes, need be delete by caller in C++.
staticFalse
+

C++ defination code:

+ +
Bytes *to_bytes(bool copy = true)
+
+

to_format

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvert image to specific format
paramformat: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE, JPEG.
returnnew image object. Need be delete by caller in C++.
throwerr.Exception, if two images' format not support, or already the format, will raise exception
staticFalse
+

C++ defination code:

+ +
image::Image *to_format(const image::Format &format)
+
+

draw_image

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDraw image on this image
paramx: left top corner of image point's coordinate x
y: left top corner of image point's coordinate y
img: image object to draw, the caller's channel must <= the args' channel,
e.g. caller is RGB888, args is RGBA8888, will throw exception, but caller is RGBA8888, args is RGB888 or RGBA8888 is ok
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_image(int x, int y, image::Image &img)
+
+

draw_rect

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFill rectangle color to image
paramx: left top corner of rectangle point's coordinate x
y: left top corner of rectangle point's coordinate y
w: rectangle width
h: rectangle height
color: rectangle color
thickness: rectangle thickness(line width), by default(value is 1), -1 means fill rectangle
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_rect(int x, int y, int w, int h, const image::Color &color, int thickness = 1)
+
+

draw_line

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDraw line on image
paramx1: start point's coordinate x
y1: start point's coordinate y
x2: end point's coordinate x
y2: end point's coordinate y
color: line color @see image::Color
thickness: line thickness(line width), by default(value is 1)
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_line(int x1, int y1, int x2, int y2, const image::Color &color, int thickness = 1)
+
+

draw_circle

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDraw circle on image
paramx: circle center point's coordinate x
y: circle center point's coordinate y
radius: circle radius
color: circle color @see image::Color
thickness: circle thickness(line width), by default(value is 1), -1 means fill circle
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_circle(int x, int y, int radius, const image::Color &color, int thickness = 1)
+
+

draw_ellipse

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDraw ellipse on image
paramx: ellipse center point's coordinate x
y: ellipse center point's coordinate y
a: ellipse major axis length
b: ellipse minor axis length
angle: ellipse rotation angle
start_angle: ellipse start angle
end_angle: ellipse end angle
color: ellipse color @see image::Color
thickness: ellipse thickness(line width), by default(value is 1), -1 means fill ellipse
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_ellipse(int x, int y, int a, int b, float angle, float start_angle, float end_angle, const image::Color &color, int thickness = 1)
+
+

draw_text

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDraw text on image
paramx: text left top point's coordinate x
y: text left top point's coordinate y
text: text content
color: text color @see image::Color, default is white
scale: font scale, by default(value is 1)
thickness: text thickness(line width), if negative, the glyph is filled, by default(value is -1)
wrap: if true, will auto wrap text to next line if text width > image width, by default(value is true)
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_text(int x, int y, const std::string &text, const image::Color &color = image::COLOR_WHITE, float scale = 1, int thickness = -1,
+                                bool wrap = true, int wrap_space = 4, const std::string &font = "")
+
+

draw_arrow

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDraw arrow on image
paramx0: start coordinate of the arrow x0
y0: start coordinate of the arrow y0
x1: end coordinate of the arrow x1
y1: end coordinate of the arrow y1
color: cross color @see image::Color
thickness: cross thickness(line width), by default(value is 1)
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_arrow(int x0, int y0, int x1, int y1, const image::Color &color, int thickness = 1)
+
+

draw_edges

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDraw edges on image
paramcorners: edges, [[x0, y0], [x1, y1], [x2, y2], [x3, y3]]
color: edges color @see image::Color
size: the circle of radius size. TODO: support in the feature
thickness: edges thickness(line width), by default(value is 1)
fill: if true, will fill edges, by default(value is false)
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_edges(std::vector<std::vector<int>> corners, const image::Color &color, int size = 0, int thickness = 1, bool fill = false)
+
+

draw_keypoints

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDraw keypoints on image
paramkeypoints: keypoints, [x, y, rotation_andle_in_degrees], TODO: rotation_andle_in_degrees support in the feature
color: keypoints color @see image::Color
size: size of keypoints
thickness: keypoints thickness(line width), by default(value is 1)
fill: if true, will fill keypoints, by default(value is false)
returnthis image object self
staticFalse
+

C++ defination code:

+ +
image::Image *draw_keypoints(std::vector<int> keypoints, const image::Color &color, int size = 10, int thickness = 1, bool fill = false)
+
+

resize

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefResize image, will create a new resized image object
paramwidth: new width, if value is -1, will use height to calculate aspect ratio
height: new height, if value is -1, will use width to calculate aspect ratio
object_fit: fill, contain, cover, by default is fill
method: resize method, by default is bilinear
returnAlways return a new resized image object even size not change, So in C++ you should take care of the return value to avoid memory leak.
And it's better to judge whether the size has changed before calling this function to make the program more efficient.
e.g.
if img->width() != width
img->height() != height:
img = img->resize(width, height);
staticFalse
+

C++ defination code:

+ +
image::Image *resize(int width, int height, image::Fit object_fit = image::Fit::FIT_FILL, image::ResizeMethod method = image::ResizeMethod::NEAREST)
+
+

affine

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAffine transform image, will create a new transformed image object
paramsrc_points: three source points, [x1, y1, x2, y2, x3, y3]
dst_points: three destination points, [x1, y1, x2, y2, x3, y3]
width: new width, if value is -1, will use height to calculate aspect ratio
height: new height, if value is -1, will use width to calculate aspect ratio
method: resize method, by default is bilinear
returnnew transformed image object
staticFalse
+

C++ defination code:

+ +
image::Image *affine(std::vector<int> src_points, std::vector<int> dst_points, int width = -1, int height = -1, image::ResizeMethod method = image::ResizeMethod::BILINEAR)
+
+

copy

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCopy image, will create a new copied image object
returnnew copied image object
staticFalse
+

C++ defination code:

+ +
image::Image *copy()
+
+

crop

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCrop image, will create a new cropped image object
paramx: left top corner of crop rectangle point's coordinate x
y: left top corner of crop rectangle point's coordinate y
w: crop rectangle width
h: crop rectangle height
returnnew cropped image object
staticFalse
+

C++ defination code:

+ +
image::Image *crop(int x, int y, int w, int h)
+
+

rotate

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRotate image, will create a new rotated image object
paramangle: anti-clock wise rotate angle, if angle is 90 or 270, and width or height is -1, will swap width and height, or will throw exception
width: new width, if value is -1, will use height to calculate aspect ratio
height: new height, if value is -1, will use width to calculate aspect ratio
method: resize method, by default is bilinear
returnnew rotated image object
staticFalse
+

C++ defination code:

+ +
image::Image *rotate(float angle, int width = -1, int height = -1, image::ResizeMethod method = image::ResizeMethod::BILINEAR)
+
+

mean_pool

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the mean of x_div * y_div squares in the image and returns the modified image composed of the mean of each square.
paramx_div: The width of the squares.
y_div: The height of the squares.
copy: Select whether to return a new image or modify the original image. default is false.
If true, returns a new image composed of the mean of each square; If false, returns the modified image composed of the mean of each square.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *mean_pool(int x_div, int y_div, bool copy = false)
+
+

midpoint_pool

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the midpoint of x_div * y_div squares in the image and returns the modified image composed of the mean of each square.
paramx_div: The width of the squares.
y_div: The height of the squares.
bias: The bias of the midpoint. default is 0.5.
midpoint value is equal to (max * bias + min * (1 - bias))
copy: Select whether to return a new image or modify the original image. default is false.
If true, returns a new image composed of the midpoint of each square; If false, returns the modified image composed of the midpoint of each square.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *midpoint_pool(int x_div, int y_div, double bias = 0.5, bool copy = false)
+
+

compress

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefJPEG compresses the image in place.
paramquality: The quality of the compressed image. default is 95.
returnReturns the compressed JPEG image
staticFalse
+

C++ defination code:

+ +
image::Image *compress(int quality = 95)
+
+

clear

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSets all pixels in the image to zero
parammask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *clear(image::Image *mask = nullptr)
+
+

mask_rectange

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefZeros a rectangular part of the image. If no arguments are supplied this method zeros the center of the image.
paramx: The x coordinate of the top left corner of the rectangle.
y: The y coordinate of the top left corner of the rectangle.
w: The width of the rectangle.
h: The height of the rectangle.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *mask_rectange(int x = -1, int y = -1, int w = -1, int h = -1)
+
+

mask_circle

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefZeros a circular part of the image. If no arguments are supplied this method zeros the center of the image.
paramx: The x coordinate of the center of the circle.
y: The y coordinate of the center of the circle.
radius: The radius of the circle.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *mask_circle(int x = -1, int y = -1, int radius = -1)
+
+

mask_ellipse

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefZeros a ellipse part of the image. If no arguments are supplied this method zeros the center of the image.
paramx: The x coordinate of the center of the ellipse.
y: The y coordinate of the center of the ellipse.
radius_x: The radius of the ellipse in the x direction.
radius_y: The radius of the ellipse in the y direction.
rotation_angle_in_degrees: The rotation angle of the ellipse in degrees.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *mask_ellipse(int x = -1, int y = -1, int radius_x = -1, int radius_y = -1, float rotation_angle_in_degrees = 0)
+
+

binary

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSets all pixels in the image to black or white depending on if the pixel is inside of a threshold in the threshold list thresholds or not.
paramthresholds: You can define multiple thresholds.
For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
invert: If true, the thresholds will be inverted before the operation. default is false.
zero: If zero is true, the image will be set the pixels within the threshold to 0, other pixels remain unchanged. If zero is false, the image will be set to black or white. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
to_bitmap: If true, the image will be converted to a bitmap image before thresholding. default is false. TODO: support in the feature
copy: Select whether to return a new image or modify the original image. default is false.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *binary(std::vector<std::vector<int>> thresholds = std::vector<std::vector<int>>(), bool invert = false, bool zero = false, image::Image *mask = nullptr, bool to_bitmap = false, bool copy = false)
+
+

invert

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefInverts the image in place.
returnReturns the image after the operation is completed
staticFalse
+

C++ defination code:

+ +
image::Image *invert()
+
+

b_and

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms a bitwise and operation between the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *b_and(image::Image *other, image::Image *mask = nullptr)
+
+

b_nand

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms a bitwise nand operation between the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *b_nand(image::Image *other, image::Image *mask = nullptr)
+
+

b_or

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms a bitwise or operation between the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *b_or(image::Image *other, image::Image *mask = nullptr)
+
+

b_nor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms a bitwise nor operation between the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *b_nor(image::Image *other, image::Image *mask = nullptr)
+
+

b_xor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms a bitwise xor operation between the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *b_xor(image::Image *other, image::Image *mask = nullptr)
+
+

b_xnor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms a bitwise xnor operation between the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *b_xnor(image::Image *other, image::Image *mask = nullptr)
+
+

awb

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms an auto white balance operation on the image. TODO: support in the feature
parammax: if True uses the white-patch algorithm instead. default is false.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *awb(bool max = false)
+
+

ccm

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefMultiples the passed (3x3) or (4x3) floating-point color-correction-matrix with the image.\nnote: Grayscale format is not support.
parammatrix: The color correction matrix to use. 3x3 or 4x3 matrix.
Weights may either be positive or negative, and the sum of each column in the 3x3 matrix should generally be 1.
example:
{
1, 0, 0,
0, 1, 0,
0, 0, 1,
}
Where the last row of the 4x3 matrix is an offset per color channel. If you add an offset you may wish to make the
weights sum to less than 1 to account for the offset.
example:
{
1, 0, 0,
0, 1, 0,
0, 0, 1,
0, 0, 0,
}
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *ccm(std::vector<float> &matrix)
+
+

gamma

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefQuickly changes the image gamma, contrast, and brightness. Create a array whose size is usually 255,\nand use the parameters gamma, contrast, and brightness to calculate the value of the array, and then map the\nimage pixel value through the value of the array.\nThe calculation method for array is: array[array_idx] = (powf((array_idx / 255.0), (1 / gamma)) * contrast + brightness) * scale,\npowf is a function used to calculate floating point power.\narray is the array used for mapping.\narray_idx is the index of the array, the maximum value is determined according to the image format, usually 255.\nscale is a constant, the value is determined by the image format, usually 255.\nMapping method:\nAssume that a pixel value in the image is 128, then map the pixel value to the value of array[128]\nUsers can adjust the value of the array through the gamma, contrast, and brightness parameters.
paramgamma: The contrast gamma greater than 1.0 makes the image darker in a non-linear manner while less than 1.0 makes the image brighter. default is 1.0.
contrast: The contrast value greater than 1.0 makes the image brighter in a linear manner while less than 1.0 makes the image darker. default is 1.0.
brightness: The brightness value greater than 0.0 makes the image brighter in a constant manner while less than 0.0 makes the image darker. default is 0.0.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *gamma(double gamma = 1.0, double contrast = 1.0, double brightness = 0.0)
+
+

gamma_corr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAlias for Image.gamma.
paramgamma: The contrast gamma greater than 1.0 makes the image darker in a non-linear manner while less than 1.0 makes the image brighter. default is 1.0.
contrast: The contrast value greater than 1.0 makes the image brighter in a linear manner while less than 1.0 makes the image darker. default is 1.0.
brightness: The brightness value greater than 0.0 makes the image brighter in a constant manner while less than 0.0 makes the image darker. default is 0.0.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *gamma_corr(double gamma, double contrast = 1.0, double brightness = 0.0)
+
+

negate

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFlips (numerically inverts) all pixels values in an image
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *negate()
+
+

replace

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefReplaces all pixels in the image with the corresponding pixels in the other image.
paramother: The other image should be an image and should be the same size as the image being operated on.
hmirror: If true, the image will be horizontally mirrored before the operation. default is false.
vflip: If true, the image will be vertically flipped before the operation. default is false.
transpose: If true, the image can be used to rotate 90 degrees or 270 degrees.
hmirror = false, vflip = false, transpose = false, the image will not be rotated.
hmirror = false, vflip = true, transpose = true, the image will be rotated 90 degrees.
hmirror = true, vflip = true, transpose = false, the image will be rotated 180 degrees.
hmirror = true, vflip = false, transpose = true, the image will be rotated 270 degrees.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *replace(image::Image *other = nullptr, bool hmirror = false, bool vflip = false, bool transpose = false, image::Image *mask = nullptr)
+
+

set

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAlias for Image::replace.
paramother: The other image should be an image and should be the same size as the image being operated on.
hmirror: If true, the image will be horizontally mirrored before the operation. default is false.
vflip: If true, the image will be vertically flipped before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *set(image::Image *other, bool hmirror = false, bool vflip = false, bool transpose = false, image::Image *mask = nullptr)
+
+

add

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAdds the other image to the image.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *add(image::Image *other, image::Image *mask = nullptr)
+
+

sub

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSubtracts the other image from the image.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
reverse: If true, the image will be reversed before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *sub(image::Image *other, bool reverse = false, image::Image *mask = nullptr)
+
+

mul

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefMultiplies the image by the other image.\nNote: This method is meant for image blending and cannot multiply the pixels in the image by a scalar like 2.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
invert: If true, the image will be change the multiplication operation from ab to 1/((1/a)(1/b)).
In particular, this lightens the image instead of darkening it (e.g. multiply versus burn operations). default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *mul(image::Image *other, bool invert = false, image::Image *mask = nullptr)
+
+

div

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDivides the image by the other image.\nThis method is meant for image blending and cannot divide the pixels in the image by a scalar like 2.
paramother: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
invert: If true, the image will be change the division direction from a/b to b/a. default is false.
mod: If true, the image will be change the division operation to the modulus operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *div(image::Image *other, bool invert = false, bool mod = false, image::Image *mask = nullptr)
+
+

min

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCaculate the minimum of each pixel in the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *min(image::Image *other, image::Image *mask = nullptr)
+
+

max

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCaculate the maximum of each pixel in the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *max(image::Image *other, image::Image *mask = nullptr)
+
+

difference

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCaculate the absolute value of the difference between each pixel in the image and the other image.
paramother: The other image should be an image and should be the same size as the image being operated on.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *difference(image::Image *other, image::Image *mask = nullptr)
+
+

blend

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefBlends the image with the other image.\nres = alpha * this_img / 256 + (256 - alpha) * other_img / 256
paramother: The other image should be an image and should be the same size as the image being operated on.
alpha: The alpha value of the blend, the value range is [0, 256],default is 128.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *blend(image::Image *other, int alpha = 128, image::Image *mask = nullptr)
+
+

histeq

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRuns the histogram equalization algorithm on the image.
paramadaptive: If true, an adaptive histogram equalization method will be run on the image instead which as generally better results than non-adaptive histogram qualization but a longer run time. default is false.
clip_limit: Provides a way to limit the contrast of the adaptive histogram qualization. Use a small value for this, like 10, to produce good histogram equalized contrast limited images. default is -1.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *histeq(bool adaptive = false, int clip_limit = -1, image::Image *mask = nullptr)
+
+

mean

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefStandard mean blurring filter using a box filter.\nThe parameters offset and invert are valid when threshold is True.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
default is false.
offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
invert: If true, the image will be inverted before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *mean(int size, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)
+
+

median

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRuns the median filter on the image. The median filter is the best filter for smoothing surfaces while preserving edges but it is very slow.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
percentile: This parameter controls the percentile of the value used in the kernel. You can set this to 0 for a min filter, 0.25 for a lower quartile filter, 0.75 for an upper quartile filter, and 1.0 for a max filter. default is 0.5.
threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
default is false.
offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
invert: If true, the image will be inverted before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *median(int size, double percentile = 0.5, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)
+
+

mode

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRuns the mode filter on the image by replacing each pixel with the mode of their neighbors.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
default is false.
offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
invert: If true, the image will be inverted before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *mode(int size, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)
+
+

midpoint

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRuns the midpoint filter on the image.This filter finds the midpoint (max * bias + min * (1 - bias)) of each pixel neighborhood in the image.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
bias: The bias of the midpoint. default is 0.5.
threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
default is false.
offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
invert: If true, the image will be inverted before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *midpoint(int size, double bias = 0.5, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)
+
+

morph

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvolves the image by a filter kernel. This allows you to do general purpose convolutions on an image.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
kernel: The kernel used for convolution. The kernel should be a list of lists of numbers. The kernel should be the same size as the actual kernel size.
mul: This parameter is used to multiply the convolved pixel results. default is auto.
add: This parameter is the value to be added to each convolution pixel result. default is 0.0.
threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
default is false.
offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
invert: If true, the image will be inverted before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *morph(int size, std::vector<int> kernel, float mul = -1, float add = 0.0, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)
+
+

gaussian

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvolves the image by a smoothing guassian kernel.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
unsharp: If true, this method will perform an unsharp mask operation instead of gaussian filtering operation, this improves the clarity of image edges. default is false.
mul: This parameter is used to multiply the convolved pixel results. default is auto.
add: This parameter is the value to be added to each convolution pixel result. default is 0.0.
threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
default is false.
offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
invert: If true, the image will be inverted before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *gaussian(int size, bool unsharp = false, float mul = -1, float add = 0.0, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)
+
+

laplacian

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvolves the image by a edge detecting laplacian kernel.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
sharpen: If True, this method will sharpen the image instead of an unthresholded edge detection image. Then increase the kernel size to improve image clarity. default is false.
mul: This parameter is used to multiply the convolved pixel results. default is auto.
add: This parameter is the value to be added to each convolution pixel result. default is 0.0.
threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
default is false.
offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
invert: If true, the image will be inverted before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *laplacian(int size, bool sharpen = false, float mul = -1, float add = 0.0, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)
+
+

bilateral

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvolves the image by a bilateral filter.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
color_sigma: Controls how closely colors are matched using the bilateral filter. default is 0.1.
space_sigma: Controls how closely pixels space-wise are blurred with each other. default is 1.
threshold: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
default is false.
offset: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
invert: If true, the image will be inverted before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *bilateral(int size, double color_sigma = 0.1, double space_sigma = 1, bool threshold = false, int offset = 0, bool invert = false, image::Image *mask = nullptr)
+
+

linpolar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRe-project’s and image from cartessian coordinates to linear polar coordinates.
paramreverse: If true, the image will be reverse polar transformed. default is false.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *linpolar(bool reverse = false)
+
+

logpolar

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRe-project’s and image from cartessian coordinates to log polar coordinates.
paramreverse: If true, the image will be reverse polar transformed. default is false.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *logpolar(bool reverse = false)
+
+

lens_corr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms a lens correction operation on the image. TODO: support in the feature
paramstrength: The strength of the lens correction. default is 1.8.
zoom: The zoom of the lens correction. default is 1.0.
x_corr: The x correction of the lens correction. default is 0.5.
y_corr: The y correction of the lens correction. default is 0.5.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *lens_corr(double strength = 1.8, double zoom = 1.0, double x_corr = 0.5, double y_corr = 0.5)
+
+

rotation_corr

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms a rotation correction operation on the image. TODO: support in the feature
paramx_rotation: The x rotation of the rotation correction. default is 0.0.
y_rotation: The y rotation of the rotation correction. default is 0.0.
z_rotation: The z rotation of the rotation correction. default is 0.0.
x_translation: The x translation of the rotation correction. default is 0.0.
y_translation: The y translation of the rotation correction. default is 0.0.
zoom: The zoom of the rotation correction. default is 1.0.
fov: The fov of the rotation correction. default is 60.0.
corners: The corners of the rotation correction. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *rotation_corr(double x_rotation = 0.0, double y_rotation = 0.0, double z_rotation = 0.0, double x_translation = 0.0, double y_translation = 0.0, double zoom = 1.0, double fov = 60.0, std::vector<float> corners = std::vector<float>())
+
+

get_histogram

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGets the histogram of the image.
paramthresholds: You can define multiple thresholds.
For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
invert: If true, the thresholds will be inverted before the operation. default is false.
roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
bins: The number of bins to use for the histogram.
In GRAYSCALE format, setting range is [2, 256], default is 100.
In rgb888 format, setting range is [2, 100], default is 100.
l_bins: The number of bins to use for the l channel of the histogram. Only valid in RGB888 format.
If an invalid value is set, bins will be used instead. The setting range is [2, 100], default is 100.
a_bins: The number of bins to use for the a channel of the histogram.
Only valid in RGB888 format.The setting range is [2, 256], default is 256.
b_bins: The number of bins to use for the b channel of the histogram.
Only valid in RGB888 format. The setting range is [2, 256], default is 256.
difference: difference may be set to an image object to cause this method to operate on the difference image between the current image and the difference image object.
default is None.
returnReturns the histogram of the image
staticFalse
+

C++ defination code:

+ +
std::map<std::string, std::vector<float>> get_histogram(std::vector<std::vector<int>> thresholds = std::vector<std::vector<int>>(), bool invert = false, std::vector<int> roi = std::vector<int>(), int bins = -1, int l_bins = 100, int a_bins = 256, int b_bins = 256, image::Image *difference = nullptr)
+
+

get_statistics

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGets the statistics of the image. TODO: support in the feature
paramthresholds: You can define multiple thresholds.
For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
invert: If true, the image will be inverted before the operation. default is false.
roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
bins: The number of bins to use for the statistics. default is -1.
l_bins: The number of bins to use for the l channel of the statistics. default is -1.
a_bins: The number of bins to use for the a channel of the statistics. default is -1.
b_bins: The number of bins to use for the b channel of the statistics. default is -1.
difference: The difference image to use for the statistics. default is None.
returnReturns the statistics of the image
staticFalse
+

C++ defination code:

+ +
image::Statistics get_statistics(std::vector<std::vector<int>> thresholds = std::vector<std::vector<int>>(), bool invert = false, std::vector<int> roi = std::vector<int>(), int bins = -1, int l_bins = -1, int a_bins = -1, int b_bins = -1, image::Image *difference = nullptr)
+
+

get_regression

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGets the regression of the image.
paramthresholds: You can define multiple thresholds.
For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
invert: If true, the image will be inverted before the operation. default is false.
roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
x_stride: The x stride to use for the regression. default is 2.
y_stride: The y stride to use for the regression. default is 1.
area_threshold: The area threshold to use for the regression. default is 10.
pixels_threshold: The pixels threshold to use for the regression. default is 10.
robust: If true, the regression will be robust. default is false.
returnReturns the regression of the image
staticFalse
+

C++ defination code:

+ +
std::vector<image::Line> get_regression(std::vector<std::vector<int>> thresholds = std::vector<std::vector<int>>(), bool invert = false, std::vector<int> roi = std::vector<int>(), int x_stride = 2, int y_stride = 1, int area_threshold = 10, int pixels_threshold = 10, bool robust = false)
+
+

save

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSave image to file
parampath: file path
quality: image quality, by default(value is 95), support jpeg and png format
returnerror code, err::ERR_NONE is ok, other is error
staticFalse
+

C++ defination code:

+ +
err::Err save(const char *path, int quality = 95)
+
+

flood_fill

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFlood fills a region of the image starting from location x, y.
paramx: The x coordinate of the seed point.
y: The y coordinate of the seed point.
seed_threshold: The seed_threshold value controls how different any pixel in the fill area may be from the original starting pixel. default is 0.05.
floating_threshold: The floating_threshold value controls how different any pixel in the fill area may be from any neighbor pixels. default is 0.05.
color: The color to fill the region with. default is white.
invert: If true, the image will be inverted before the operation. default is false.
clear_background: If true, the background will be cleared before the operation. default is false.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None. FIXME: the mask image works abnormally
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *flood_fill(int x, int y, float seed_threshold = 0.05, float floating_threshold = 0.05, image::Color color = image::COLOR_WHITE, bool invert = false, bool clear_background = false, image::Image *mask = nullptr)
+
+

erode

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefErodes the image in place.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
threshold: The number of pixels in the kernel that are not 0. If it is less than or equal to the threshold, set the center pixel to black. default is (kernel_size - 1).
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *erode(int size, int threshold = -1, image::Image *mask = nullptr)
+
+

dilate

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDilates the image in place.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
threshold: The number of pixels in the kernel that are not 0. If it is greater than or equal to the threshold, set the center pixel to white. default is 0.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *dilate(int size, int threshold = 0, image::Image *mask = nullptr)
+
+

open

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms erosion and dilation on an image in order.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
threshold: As the threshold for erosion and dilation, the actual threshold for erosion is (kernel_size - 1 - threshold), the actual threshold for dialation is threshold. default is 0.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *open(int size, int threshold = 0, image::Image *mask = nullptr)
+
+

close

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPerforms dilation and erosion on an image in order.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
threshold: As the threshold for erosion and dilation, the actual threshold for erosion is (kernel_size - 1 - threshold), the actual threshold for dialation is threshold. default is 0.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *close(int size, int threshold = 0, image::Image *mask = nullptr)
+
+

top_hat

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefReturns the image difference of the image and Image.open()’ed image.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
threshold: As the threshold for open method. default is 0.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *top_hat(int size, int threshold = 0, image::Image *mask = nullptr)
+
+

black_hat

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefReturns the image difference of the image and Image.close()’ed image.
paramsize: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
threshold: As the threshold for close method. default is 0.
mask: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
Only pixels set in the mask are modified. default is None.
returnReturns the image after the operation is completed.
staticFalse
+

C++ defination code:

+ +
image::Image *black_hat(int size, int threshold = 0, image::Image *mask = nullptr)
+
+

find_blobs

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds all blobs in the image and returns a list of image.Blob class which describe each Blob.\nPlease see the image.Blob object more more information.
paramthresholds: You can define multiple thresholds.
For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
invert: if true, will invert thresholds before find blobs, default is false
roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
x_stride: x stride is the number of x pixels to skip when doing the hough transform. default is 2
y_stride: y_stride is the number of y pixels to skip when doing the hough transform. default is 1
area_threshold: area threshold, if the blob area is smaller than area_threshold, the blob is not returned, default is 10
pixels_threshold: pixels threshold, if the blob pixels is smaller than area_threshold, the blob is not returned,, default is 10.
when x_stride and y_stride is equal to 1, pixels_threshold is equivalent to area_threshold
merge: if True merges all not filtered out blobs whos bounding rectangles intersect each other. default is false
margin: margin can be used to increase or decrease the size of the bounding rectangles for blobs during the intersection test.
For example, with a margin of 1 blobs whos bounding rectangles are 1 pixel away from each other will be merged. default is 0
x_hist_bins_max: if set to non-zero populates a histogram buffer in each blob object with an x_histogram projection of all columns in the object. This value then sets the number of bins for that projection.
y_hist_bins_max: if set to non-zero populates a histogram buffer in each blob object with an y_histogram projection of all rows in the object. This value then sets the number of bins for that projection.
returnReturn the blob when found blobs, format is (blob1, blob2, ...), you can use blob class methods to do more operations.
staticFalse
+

C++ defination code:

+ +
std::vector<image::Blob> find_blobs(std::vector<std::vector<int>> thresholds = std::vector<std::vector<int>>(), bool invert = false, std::vector<int> roi = std::vector<int>(), int x_stride = 2, int y_stride = 1, int area_threshold = 10, int pixels_threshold = 10, bool merge = false, int margin = 0, int x_hist_bins_max = 0, int y_hist_bins_max = 0)
+
+

find_lines

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFind lines in image
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
x_stride: x stride is the number of x pixels to skip when doing the hough transform. default is 2
y_stride: y_stride is the number of y pixels to skip when doing the hough transform. default is 1
threshold: threshold threshold controls what lines are detected from the hough transform. Only lines with a magnitude greater than or equal to threshold are returned.
The right value of threshold for your application is image dependent. default is 1000.
theta_margin: theta_margin controls the merging of detected lines. default is 25.
rho_margin: rho_margin controls the merging of detected lines. default is 25.
returnReturn the line when found lines, format is (line1, line2, ...), you can use line class methods to do more operations
staticFalse
+

C++ defination code:

+ +
std::vector<image::Line> find_lines(std::vector<int> roi = std::vector<int>(), int x_stride = 2, int y_stride = 1, double threshold = 1000, double theta_margin = 25, double rho_margin = 25)
+
+

find_line_segments

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds all line segments in the image.
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
merge_distance: The maximum distance between two lines to merge them. default is 0.
max_theta_difference: The maximum difference between two lines to merge them. default is 15.
returnReturn the line when found lines, format is (line1, line2, ...), you can use line class methods to do more operations
staticFalse
+

C++ defination code:

+ +
std::vector<image::Line> find_line_segments(std::vector<int> roi = std::vector<int>(), int merge_distance = 0, int max_theta_difference = 15)
+
+

find_circles

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFind circles in image
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
x_stride: x stride is the number of x pixels to skip when doing the hough transform. default is 2
y_stride: y_stride is the number of y pixels to skip when doing the hough transform. default is 1
threshold: threshold controls what circles are detected from the hough transform. Only circles with a magnitude greater than or equal to threshold are returned.
The right value of threshold for your application is image dependent.
x_margin: x_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10
y_margin: y_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10
r_margin: r_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10
r_min: r_min controls the minimum circle radius detected. Increase this to speed up the algorithm. default is 2
r_max: r_max controls the maximum circle radius detected. Decrease this to speed up the algorithm. default is min(roi.w / 2, roi.h / 2)
r_step: r_step controls how to step the radius detection by. default is 2.
returnReturn the circle when found circles, format is (circle1, circle2, ...), you can use circle class methods to do more operations
staticFalse
+

C++ defination code:

+ +
std::vector<image::Circle> find_circles(std::vector<int> roi = std::vector<int>(), int x_stride = 2, int y_stride = 1, int threshold = 2000, int x_margin = 10, int y_margin = 10, int r_margin = 10, int r_min = 2, int r_max = -1, int r_step = 2)
+
+

find_rects

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds all rects in the image.
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
threshold: The threshold to use for the rects. default is 10000.
returnReturns the rects of the image
staticFalse
+

C++ defination code:

+ +
std::vector<image::Rect> find_rects(std::vector<int> roi = std::vector<int>(), int threshold = 10000)
+
+

find_qrcodes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds all qrcodes in the image.
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
returnReturns the qrcodes of the image
staticFalse
+

C++ defination code:

+ +
std::vector<image::QRCode> find_qrcodes(std::vector<int> roi = std::vector<int>())
+
+

find_apriltags

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds all apriltags in the image.
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
families: The families to use for the apriltags. default is TAG36H11.
fx: The camera X focal length in pixels, default is -1.
fy: The camera Y focal length in pixels, default is -1.
cx: The camera X center in pixels, default is image.width / 2.
cy: The camera Y center in pixels, default is image.height / 2.
returnReturns the apriltags of the image
staticFalse
+

C++ defination code:

+ +
std::vector<image::AprilTag> find_apriltags(std::vector<int> roi = std::vector<int>(), image::ApriltagFamilies families = image::ApriltagFamilies::TAG36H11, float fx = -1, float fy = -1, int cx = -1, int cy = -1)
+
+

find_datamatrices

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds all datamatrices in the image.
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
effort: Controls how much time to spend trying to find data matrix matches. default is 200.
returnReturns the datamatrices of the image
staticFalse
+

C++ defination code:

+ +
std::vector<image::DataMatrix> find_datamatrices(std::vector<int> roi = std::vector<int>(), int effort = 200)
+
+

find_barcodes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds all barcodes in the image.
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
returnReturns the barcodes of the image
staticFalse
+

C++ defination code:

+ +
std::vector<image::BarCode> find_barcodes(std::vector<int> roi = std::vector<int>())
+
+

find_displacement

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the displacement between the image and the template. TODO: support in the feature\nnote: this method must be used on power-of-2 image sizes
paramtemplate_image: The template image.
roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
template_roi: The region-of-interest rectangle (x, y, w, h) to work in. If not specified, it is equal to the image rectangle.
logpolar: If true, it will instead find rotation and scale changes between the two images. default is false.
returnReturns the displacement of the image
staticFalse
+

C++ defination code:

+ +
image::Displacement find_displacement(image::Image &template_image, std::vector<int> roi = std::vector<int>(), std::vector<int> template_roi = std::vector<int>(), bool logpolar = false)
+
+

find_template

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the template in the image.
paramtemplate_image: The template image.
threshold: Threshold is floating point number (0.0-1.0) where a higher threshold prevents false positives while lowering the detection rate while a lower threshold does the opposite.
roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image. Only valid in SEARCH_EX mode.
step: The step size to use for the template. default is 2. Only valid in SEARCH_EX mode
search: The search method to use for the template. default is SEARCH_EX.
returnReturns a bounding box tuple (x, y, w, h) for the matching location otherwise None.
staticFalse
+

C++ defination code:

+ +
std::vector<int> find_template(image::Image &template_image, float threshold, std::vector<int> roi = std::vector<int>(), int step = 2, image::TemplateMatch search = image::TemplateMatch::SEARCH_EX)
+
+

find_features

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the features in the image. TODO: support in the feature
paramcascade: The cascade to use for the features. default is CASCADE_FRONTALFACE_ALT.
threshold: The threshold to use for the features. default is 0.5.
scale: The scale to use for the features. default is 1.5.
roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
returnReturns the features of the image
staticFalse
+

C++ defination code:

+ +
std::vector<int> find_features(int cascade, float threshold = 0.5, float scale = 1.5, std::vector<int> roi = std::vector<int>())
+
+

find_lbp

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the lbp in the image. TODO: support in the feature.
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
returnReturns the lbp of the image
staticFalse
+

C++ defination code:

+ +
image::LBPKeyPoint find_lbp(std::vector<int> roi = std::vector<int>())
+
+

find_keypoints

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the keypoints in the image. TODO: support in the feature.
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
threshold: The threshold to use for the keypoints. default is 20.
normalized: If true, the image will be normalized before the operation. default is false.
scale_factor: The scale factor to use for the keypoints. default is 1.5.
max_keypoints: The maximum number of keypoints to use for the keypoints. default is 100.
corner_detector: The corner detector to use for the keypoints. default is CORNER_AGAST.
returnReturns the keypoints of the image
staticFalse
+

C++ defination code:

+ +
image::ORBKeyPoint find_keypoints(std::vector<int> roi = std::vector<int>(), int threshold = 20, bool normalized = false, float scale_factor = 1.5, int max_keypoints = 100, image::CornerDetector corner_detector = image::CornerDetector::CORNER_AGAST)
+
+

find_edges

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the edges in the image.
paramedge_type: The edge type to use for the edges. default is EDGE_CANNY.
roi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
threshold: The threshold to use for the edges. default is 20.
returnReturns the edges of the image
staticFalse
+

C++ defination code:

+ +
image::Image* find_edges(image::EdgeDetector edge_type, std::vector<int> roi = std::vector<int>(), std::vector<int> threshold = std::vector<int>({100, 200}))
+
+

find_hog

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFinds the hog in the image. TODO: support in the feature
paramroi: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
default is None, means whole image.
size: The size to use for the hog. default is 8.
returnReturns the hog of the image
staticFalse
+

C++ defination code:

+ +
image::Image* find_hog(std::vector<int> roi = std::vector<int>(), int size = 8)
+
+

match_lbp_descriptor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefMatches the lbp descriptor of the image. TODO: support in the feature
paramdesc1: The descriptor to use for the match.
desc2: The descriptor to use for the match.
returnReturns the match of the image
staticFalse
+

C++ defination code:

+ +
int match_lbp_descriptor(image::LBPKeyPoint &desc1, image::LBPKeyPoint &desc2)
+
+

match_orb_descriptor

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefMatches the orb descriptor of the image. TODO: support in the feature
paramdesc1: The descriptor to use for the match.
desc2: The descriptor to use for the match.
threshold: The threshold to use for the match. default is 95.
filter_outliers: If true, the image will be filter_outliers before the operation. default is false.
returnReturns the match of the image
staticFalse
+

C++ defination code:

+ +
image::KPTMatch match_orb_descriptor(image::ORBKeyPoint &desc1, image::ORBKeyPoint &desc2, int threshold = 95, bool filter_outliers = false)
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/nn.html b/maixpy/api/maix/nn.html new file mode 100644 index 00000000..2678107c --- /dev/null +++ b/maixpy/api/maix/nn.html @@ -0,0 +1,2018 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.nn - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.nn

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.nn module

+
+

This module is generated from MaixCDK
+You can use maix.nn to access this module.

+
+

Module

+ + + + + + + + + + + + + +
modulebrief
Fmaix.nn.F module
+

Enum

+

Variable

+

Function

+

Class

+

YOLOv5

+ + + + + + + + + + + + + +
itemdoc
briefYOLOv5 class
+

C++ defination code:

+ +
class YOLOv5
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstructor of YOLOv5 class
parammodel: model path, default empty, you can load model later by load function.
throwIf model arg is not empty and load failed, will throw err::Exception.
staticFalse
+

C++ defination code:

+ +
YOLOv5(const string &model = "")
+
+

load

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefLoad model from file
parammodel: Model path want to load
returnerr::Err
staticFalse
+

C++ defination code:

+ +
err::Err load(const string &model)
+
+

detect

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDetect objects from image
paramimg: Image want to detect, if image's size not match model input's, will auto resize with fit method.
conf_th: Confidence threshold, default 0.5.
iou_th: IoU threshold, default 0.45.
fit: Resize method, default image.Fit.FIT_CONTAIN.
throwIf image format not match model input format, will throw err::Exception.
returnObject list. In C++, you should delete it after use.
staticFalse
+

C++ defination code:

+ +
std::vector<nn::Object> *detect(image::Image &img, float conf_th = 0.5, float iou_th = 0.45, maix::image::Fit fit = maix::image::FIT_CONTAIN)
+
+

input_size

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model input size
returnmodel input size
staticFalse
+

C++ defination code:

+ +
image::Size input_size()
+
+

input_width

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model input width
returnmodel input size of width
staticFalse
+

C++ defination code:

+ +
int input_width()
+
+

input_height

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model input height
returnmodel input size of height
staticFalse
+

C++ defination code:

+ +
int input_height()
+
+

input_format

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet input image format
returninput image format, image::Format type.
staticFalse
+

C++ defination code:

+ +
image::Format input_format()
+
+

labels

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefLabels list
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::vector<string> labels
+
+

label_path

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefLabel file path
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::string label_path
+
+

mean

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefGet mean value, list type
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::vector<float> mean
+
+

scale

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefGet scale value, list type
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::vector<float> scale
+
+

anchors

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefGet anchors
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::vector<float> anchors
+
+

Classifier

+ + + + + + + + + + + + + +
itemdoc
briefClassifier
+

C++ defination code:

+ +
class Classifier
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstruct a new Classifier object
parammodel: MUD model path, if empty, will not load model, you can call load() later.
if not empty, will load model and will raise err::Exception if load failed.
staticFalse
+

C++ defination code:

+ +
Classifier(const string &model = "")
+
+

load

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefLoad model from file, model format is .mud,\nMUD file should contain [extra] section, have key-values:\n- model_type: classifier\n- input_type: rgb or bgr\n- mean: 123.675, 116.28, 103.53\n- scale: 0.017124753831663668, 0.01750700280112045, 0.017429193899782137\n- labels: imagenet_classes.txt
parammodel: MUD model path
returnerror code, if load failed, return error code
staticFalse
+

C++ defination code:

+ +
err::Err load(const string &model)
+
+

classify

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefForward image to model, get result. Only for image input, use classify_raw for tensor input.
paramimg: image, format should match model input_type, or will raise err.Exception
softmax: if true, will do softmax to result, or will return raw value
throwIf error occurred, will raise err::Exception, you can find reason in log, mostly caused by args error or hardware error.
returnresult, a list of (label, score). In C++, you need to delete it after use.
staticFalse
+

C++ defination code:

+ +
std::vector<std::pair<int, float>> *classify(image::Image &img, bool softmax = true)
+
+

classify_raw

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefForward tensor data to model, get result
paramdata: tensor data, format should match model input_type, or will raise err.Excetion
softmax: if true, will do softmax to result, or will return raw value
throwIf error occurred, will raise err::Exception, you can find reason in log, mostly caused by args error or hardware error.
returnresult, a list of (label, score). In C++, you need to delete it after use.
staticFalse
+

C++ defination code:

+ +
std::vector<std::pair<int, float>> *classify_raw(tensor::Tensor &data, bool softmax = true)
+
+

input_size

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model input size, only for image input
returnmodel input size
staticFalse
+

C++ defination code:

+ +
image::Size input_size()
+
+

input_width

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model input width, only for image input
returnmodel input size of width
staticFalse
+

C++ defination code:

+ +
int input_width()
+
+

input_height

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model input height, only for image input
returnmodel input size of height
staticFalse
+

C++ defination code:

+ +
int input_height()
+
+

input_format

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet input image format, only for image input
returninput image format, image::Format type.
staticFalse
+

C++ defination code:

+ +
image::Format input_format()
+
+

input_shape

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet input shape, if have multiple input, only return first input shape
returninput shape, list type
staticFalse
+

C++ defination code:

+ +
std::vector<int> input_shape()
+
+

labels

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefLabels list
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::vector<string> labels
+
+

label_path

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefLabel file path
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::string label_path
+
+

mean

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefGet mean value, list type
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::vector<float> mean
+
+

scale

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefGet scale value, list type
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::vector<float> scale
+
+

MUD

+ + + + + + + + + + + + + +
itemdoc
briefMUD(model universal describe file) class
+

C++ defination code:

+ +
class MUD
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefMUD constructor
parammodel_path: direction [in], model file path, model format can be MUD(model universal describe file) file.
If model_path set, will load model from file, load failed will raise err.Exception.
If model_path not set, you can load model later by load function.
staticFalse
+

C++ defination code:

+ +
MUD(const char *model_path = nullptr)
+
+

load

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefLoad model from file
parammodel_path: direction [in], model file path, model format can be MUD(model universal describe file) file.
returnerror code, if load success, return err::ERR_NONE
staticFalse
+

C++ defination code:

+ +
err::Err load(const std::string &model_path)
+
+

type

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefModel type, string type
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::string type
+
+

items

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefModel config items, different model type has different config items
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::map<std::string, std::map<std::string, std::string>> items
+
+

LayerInfo

+ + + + + + + + + + + + + +
itemdoc
briefNN model layer info
+

C++ defination code:

+ +
class LayerInfo
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefLayerInfo constructor
paramname: direction [in], layer name
dtype: direction [in], layer data type
shape: direction [in], layer shape
staticFalse
+

C++ defination code:

+ +
LayerInfo(const std::string &name =  "", tensor::DType dtype = tensor::DType::FLOAT32, std::vector<int> shape = std::vector<int>())
+
+

name

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefLayer name
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::string   name
+
+

dtype

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefLayer data type
attentionIf model is quantized, this is the real quantized data type like int8 float16,
in most scene, inputs and outputs we actually use float32 in API like forward.
staticFalse
readonlyFalse
+

C++ defination code:

+ +
tensor::DType dtype
+
+

shape

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefLayer shape
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::vector<int> shape
+
+

to_str

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTo string
staticFalse
+

C++ defination code:

+ +
std::string to_str()
+
+

__str__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTo string
staticFalse
+

C++ defination code:

+ +
std::string __str__()
+
+

NN

+ + + + + + + + + + + + + +
itemdoc
briefNeural network class
+

C++ defination code:

+ +
class NN
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefNeural network constructor
parammodel: direction [in], model file path, model format can be MUD(model universal describe file) file.
If model_path set, will load model from file, load failed will raise err.Exception.
If model_path not set, you can load model later by load function.
staticFalse
+

C++ defination code:

+ +
NN(const std::string &model = "")
+
+

load

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefLoad model from file
parammodel: direction [in], model file path, model format can be MUD(model universal describe file) file.
returnerror code, if load success, return err::ERR_NONE
staticFalse
+

C++ defination code:

+ +
err::Err load(const std::string &model)
+
+

loaded

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefIs model loaded
returntrue if model loaded, else false
staticFalse
+

C++ defination code:

+ +
bool loaded()
+
+

inputs_info

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model input layer info
returninput layer info
staticFalse
+

C++ defination code:

+ +
std::vector<nn::LayerInfo> inputs_info()
+
+

outputs_info

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model output layer info
returnoutput layer info
staticFalse
+

C++ defination code:

+ +
std::vector<nn::LayerInfo> outputs_info()
+
+

extra_info

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet model extra info define in MUD file
returnextra info, dict type, key-value object, attention: key and value are all string type.
staticFalse
+

C++ defination code:

+ +
std::map<std::string, std::string> extra_info()
+
+

forward

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefforward run model, get output of model,\nthis is specially for MaixPy, not efficient, but easy to use in MaixPy
paraminput: direction [in], input tensor
returnoutput tensor. In C++, you should manually delete tensors in return value and return value.
staticFalse
+

C++ defination code:

+ +
tensor::Tensors *forward(tensor::Tensors &inputs)
+
+

forward_image

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefforward model, param is image
paramimg: input image
mean: mean value, a list type, e.g. [0.485, 0.456, 0.406], default is empty list means not normalize.
scale: scale value, a list type, e.g. [1/0.229, 1/0.224, 1/0.225], default is empty list means not normalize.
fit: fit mode, if the image size of input not equal to model's input, it will auto resize use this fit method,
default is image.Fit.FIT_FILL for easy coordinate calculation, but for more accurate result, use image.Fit.FIT_CONTAIN is better.
returnoutput tensor. In C++, you should manually delete tensors in return value and return value.
staticFalse
+

C++ defination code:

+ +
tensor::Tensors *forward_image(image::Image &img, std::vector<float> mean = std::vector<float>(), std::vector<float> scale = std::vector<float>(), image::Fit fit = image::Fit::FIT_FILL)
+
+

Object

+ + + + + + + + + + + + + +
itemdoc
briefObject for detect result
+

C++ defination code:

+ +
class Object
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstructor of Object for detect result
paramx: left top x
y: left top y
w: width
h: height
class_id: class id
score: score
staticFalse
+

C++ defination code:

+ +
Object(int x = 0, int y = 0, int w = 0, int h = 0, int class_id = 0, float score = 0)
+
+

__str__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefObject info to string
returnObject info string
staticFalse
+

C++ defination code:

+ +
std::string to_str()
+
+

x

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefObject left top coordinate x
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int x
+
+

y

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefObject left top coordinate y
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int y
+
+

w

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefObject width
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int w
+
+

h

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefObject height
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int h
+
+

class_id

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefObject class id
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int class_id
+
+

score

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefObject score
staticFalse
readonlyFalse
+

C++ defination code:

+ +
float score
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/nn/F.html b/maixpy/api/maix/nn/F.html new file mode 100644 index 00000000..49fb0617 --- /dev/null +++ b/maixpy/api/maix/nn/F.html @@ -0,0 +1,293 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.nn.F - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.nn.F

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.nn.F module

+
+

This module is generated from MaixCDK
+You can use maix.nn.F to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

softmax

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefSoftmax, only support 1D tensor, multi-dimension tensor will be treated as 1D tensor
paramtensor: input tensor
replace: change input tensor data directly, if not, will create a new tensor
throwIf arg error, will raise err.Exception error
returnoutput tensor, if arg replace is true, return the arg tensor's address.
If not replace, return a new object, so In C++, you should delete it manually in this case!
+

C++ defination code:

+ +
tensor::Tensor *softmax(tensor::Tensor *tensor, bool replace)
+
+

Class

+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral.html b/maixpy/api/maix/peripheral.html new file mode 100644 index 00000000..56700564 --- /dev/null +++ b/maixpy/api/maix/peripheral.html @@ -0,0 +1,307 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

Chip's peripheral driver

+
+

This module is generated from MaixCDK
+You can use maix.peripheral to access this module.

+
+

Module

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
modulebrief
timermaix.peripheral.timer module
wdtmaix.peripheral.wdt module
pwmmaix.peripheral.pwm module
gpiomaix.peripheral.gpio module
spimaix.peripheral.spi module
uartmaix uart peripheral driver
keymaix.peripheral.key module
i2cmaix.peripheral.i2c module
adcmaix.peripheral.adc module
+

Enum

+

Variable

+

Function

+

Class

+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/adc.html b/maixpy/api/maix/peripheral/adc.html new file mode 100644 index 00000000..84e21faa --- /dev/null +++ b/maixpy/api/maix/peripheral/adc.html @@ -0,0 +1,482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.adc - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.adc

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.peripheral.adc module

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.adc to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

RES_BIT_8

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
brief8-bit resolution, supported by the actual hardware
value0x1
readonlyTrue
+

C++ defination code:

+ +
const int RES_BIT_8 = 0x1
+
+

RES_BIT_10

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
brief10-bit resolution, supported by the actual hardware
value0x2
readonlyTrue
+

C++ defination code:

+ +
const int RES_BIT_10 = 0x2
+
+

RES_BIT_12

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
brief12-bit resolution, supported by the actual hardware
value0x3
readonlyTrue
+

C++ defination code:

+ +
const int RES_BIT_12 = 0x3
+
+

RES_BIT_16

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
brief16-bit resolution, supported by the actual hardware
value0x4
readonlyTrue
+

C++ defination code:

+ +
const int RES_BIT_16 = 0x4
+
+

Function

+

Class

+

ADC

+ + + + + + + + + + + + + +
itemdoc
briefPeripheral adc class
+

C++ defination code:

+ +
class ADC
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefADC constructor
parampin: direction [in], adc pin, int type
resolution: direction [in], adc resolution. default is -1, means use default resolution
option:
resolution = adc.RES_BIT_8, means 8-bit resolution
resolution = adc.RES_BIT_10, means 10-bit resolution
resolution = adc.RES_BIT_12, means 12-bit resolution
resolution = adc.RES_BIT_16, means 16-bit resolution
the default resolution is determined by actual hardware.
vref: direction [in], adc refer voltage. default is -1, means use default refer voltage.
the default vref is determined by actual hardware. range: [0.0, 10.0]
staticFalse
+

C++ defination code:

+ +
ADC(int pin, int resolution = -1, float vref = -1)
+
+

read

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefread adc value
returnadc data, int type
if resolution is 8-bit, return value range is [0, 255]
if resolution is 10-bit, return value range is [0, 1023]
if resolution is 12-bit, return value range is [0, 4095]
if resolution is 16-bit, return value range is [0, 65535]
staticFalse
+

C++ defination code:

+ +
int read()
+
+

read_vol

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefread adc voltage
returnadc voltage, float type。the range is [0.0, vref]
staticFalse
+

C++ defination code:

+ +
float read_vol()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/gpio.html b/maixpy/api/maix/peripheral/gpio.html new file mode 100644 index 00000000..a95c3aff --- /dev/null +++ b/maixpy/api/maix/peripheral/gpio.html @@ -0,0 +1,764 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.gpio - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.gpio

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.peripheral.gpio module

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.gpio to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

IN

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGPIO input mode
value0x01
readonlyTrue
+

C++ defination code:

+ +
const int IN = 0x01
+
+

OUT

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGPIO output mode
value0x2
readonlyTrue
+

C++ defination code:

+ +
const int OUT = 0x2
+
+

OUT_OD

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGPIO output open drain mode
value0x3
readonlyTrue
+

C++ defination code:

+ +
const int OUT_OD = 0x3
+
+

PULL_NONE

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGPIO pull none mode
value0x4
readonlyTrue
+

C++ defination code:

+ +
const int PULL_NONE = 0x4
+
+

PULL_UP

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGPIO pull up mode
value0x5
readonlyTrue
+

C++ defination code:

+ +
const int PULL_UP = 0x5
+
+

PULL_DOWN

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGPIO pull down mode
value0x6
readonlyTrue
+

C++ defination code:

+ +
const int PULL_DOWN = 0x6
+
+

OFF

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGPIO off
value0x0
readonlyTrue
+

C++ defination code:

+ +
const int OFF = 0x0
+
+

ON

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGPIO on
value0x1
readonlyTrue
+

C++ defination code:

+ +
const int ON = 0x1
+
+

Function

+

Class

+

GPIO

+ + + + + + + + + + + + + +
itemdoc
briefPeripheral gpio class
+

C++ defination code:

+ +
class GPIO
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGPIO constructor
parampin: direction [in], gpio pin. int type.
mode: direction [in], gpio mode. int type. default is -1, means gpio.IN
option:
mode = gpio.IN, means input mode
mode = gpio.OUT, means output mode
mode = gpio.OUT_OD, means output open drain mode
pull: direction [in], gpio pull. int type. default is determined by actual board.
option:
pull = gpio.PULL_NONE, means pull none mode
pull = gpio.PULL_UP, means pull up mode
pull = gpio.PULL_DOWN, means pull down mode
staticFalse
+

C++ defination code:

+ +
GPIO(int pin, int mode = -1, int pull = -1)
+
+

value

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefwrite/read gpio value
paramvalue: direction [in], gpio value. int type.
value == 0, means write gpio to low level
value == 1, means write gpio to high level
returnint type
if success, return 0; else return -1
staticFalse
+

C++ defination code:

+ +
int value(int value = -1)
+
+

write

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget gpio write
paramvalue: direction [in], gpio value. int type.
value == 0, means write gpio to low level
value == 1, means write gpio to high level
value == -1 or not set, means read gpio value
returnint type
when read gpio value, return gpio value
when write gpio value, if success, return 0; else return -1
staticFalse
+

C++ defination code:

+ +
int write(int value)
+
+

read

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget gpio read
returnint type
return 0, means gpio is low level
return 1, means gpio is high level
return other, means error
staticFalse
+

C++ defination code:

+ +
int read()
+
+

on

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset gpio on
staticFalse
+

C++ defination code:

+ +
void on()
+
+

off

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset gpio off
staticFalse
+

C++ defination code:

+ +
void off()
+
+

high

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset gpio high
staticFalse
+

C++ defination code:

+ +
void high()
+
+

low

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset gpio low
staticFalse
+

C++ defination code:

+ +
void low()
+
+

toggle

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefgpio toggle
staticFalse
+

C++ defination code:

+ +
void toggle()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/i2c.html b/maixpy/api/maix/peripheral/i2c.html new file mode 100644 index 00000000..fdca5e39 --- /dev/null +++ b/maixpy/api/maix/peripheral/i2c.html @@ -0,0 +1,645 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.i2c - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.i2c

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.peripheral.i2c module

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.i2c to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

SEVEN_BIT

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
brief7-bit address mode
value0x1
readonlyTrue
+

C++ defination code:

+ +
const int SEVEN_BIT = 0x1
+
+

TEN_BIT

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
brief10-bit address mode
value0x2
readonlyTrue
+

C++ defination code:

+ +
const int TEN_BIT = 0x2
+
+

MASTER

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefmaster mode
value0x4
readonlyTrue
+

C++ defination code:

+ +
const int MASTER = 0x4
+
+

SLAVE

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefslave mode
value0x8
readonlyTrue
+

C++ defination code:

+ +
const int SLAVE = 0x8
+
+

STANDARD_SPEED

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefstandard speed mode
value0x10
readonlyTrue
+

C++ defination code:

+ +
const int STANDARD_SPEED = 0x10
+
+

FAST_SPEED

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
brieffast speed mode
value0x20
readonlyTrue
+

C++ defination code:

+ +
const int FAST_SPEED = 0x20
+
+

Function

+

Class

+

I2C

+ + + + + + + + + + + + + +
itemdoc
briefPeripheral i2c class
+

C++ defination code:

+ +
class I2C
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefI2C Device constructor\nthis constructor will be export to MaixPy as _maix.example.Example.init
paramid: direction [in], i2c index, int type
scl: direction [in], sck pin of i2c, int type
sda: direction [in], sda pin of i2c, int type
freq: direction [in], i2c clock, int type
option:
in the i2c.STANDARD_SPEED mode, range is [0, 100000]
in the i2c.FAST_SPEED mode, range is [0, 400000]
default clock is -1, means use max clock
mode: direction [in], mode of i2c, int type.
option:
mode = i2c.MASTER, means master mode
mode = i2c.SLAVE, means slave mode
bit: direction [in], address length of i2c, int type.
option:
bit = i2c.SEVEN_BIT, means 7-bit address mode
bit = i2c.TEN_BIT, means 10-bit address mode
speed_mode: direction [in], speed mode of i2c, int type.
option:
speed_mode = i2c.STANDARD_SPEED, means standard speed mode, up to 100kbit/s
speed_mode = i2c.FAST_SPEED, means fast speed mode, up to 400kbit/s
staticFalse
+

C++ defination code:

+ +
I2C(int id, int scl, int sda, int freq = -1, int mode = -1, int bit = -1, int speed_mode = -1)
+
+

writeto

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefwrite data to i2c slave
paramaddr: direction [in], i2c slave address, int type
data: direction [in], data to write, vector type.
Note: The member range of the list is [0,255]
returnif success, return 0, else return -1
staticFalse
+

C++ defination code:

+ +
int writeto(int addr, std::vector<unsigned char> data)
+
+

readfrom

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefread data from i2c slave
paramaddr: direction [in], i2c slave address, int type
len: direction [in], data length to read, int type
returnthe list of data read from i2c slave, vector type
staticFalse
+

C++ defination code:

+ +
std::vector<unsigned char> readfrom(int addr, int len)
+
+

scan

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefscan all i2c address
returnthe list of i2c address, vector type
staticFalse
+

C++ defination code:

+ +
std::vector<int> scan()
+
+

writeto_mem

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefwrite data to i2c slave
paramaddr: direction [in], i2c slave address, int type
start_addr: direction [in], start address of i2c slave, int type
data: direction [in], data to write, vector type.
Note: The member range of the list is [0,255]
returnif success, return 0, else return -1
staticFalse
+

C++ defination code:

+ +
int writeto_mem(int addr, int start_addr, std::vector<unsigned char> data)
+
+

readfrom_mem

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefread data from i2c slave
paramaddr: direction [in], i2c slave address, int type
start_addr: direction [in], start address of i2c slave, int type
len: direction [in], data length to read, int type
returnthe list of data read from i2c slave, vector type
staticFalse
+

C++ defination code:

+ +
std::vector<unsigned char> readfrom_mem(int addr, int start_addr, int len)
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/key.html b/maixpy/api/maix/peripheral/key.html new file mode 100644 index 00000000..bf26380c --- /dev/null +++ b/maixpy/api/maix/peripheral/key.html @@ -0,0 +1,534 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.key - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.key

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.peripheral.key module

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.key to access this module.

+
+

Module

+

No module

+

Enum

+

Keys

+ + + + + + + + + + + + + + + + + +
itemdoc
briefKeys enum, id the same as linux input.h(input-event-codes.h)
valuesKEY_NONE:
KEY_ESC:
KEY_OK:
KEY_OPTION:
KEY_NEXT:
KEY_PREV:
+

C++ defination code:

+ +
enum Keys{
+        KEY_NONE   = 0x000,
+        KEY_ESC    = 0x001,
+        KEY_OK     = 0x160,
+        KEY_OPTION = 0x165,
+        KEY_NEXT   = 0x197,
+        KEY_PREV   = 0x19c
+    }
+
+

State

+ + + + + + + + + + + + + + + + + +
itemdoc
briefKey state enum
valuesKEY_RELEASED:
KEY_PRESSED:
+

C++ defination code:

+ +
enum State{
+        KEY_RELEASED  = 0,
+        KEY_PRESSED   = 1,
+    }
+
+

Variable

+

Function

+

add_default_listener

+ + + + + + + + + + + + + +
itemdoc
briefAdd default listener, if you want to exit app when press ok button, you can just call this function.\nThis function is auto called in MaixPy' startup code, so you don't need to call it in MaixPy.\nCreate Key object will auto call rm_default_listener() to cancel the default ok button function.\nWhen ok button pressed, a SIGINT signal will be raise and call app.set_exit_flag(True).
+

C++ defination code:

+ +
void add_default_listener()
+
+

rm_default_listener

+ + + + + + + + + + + + + +
itemdoc
briefRemove default listener, if you want to cancel the default ok button function(exit app), you can just call this function.
+

C++ defination code:

+ +
void rm_default_listener()
+
+

Class

+

Key

+ + + + + + + + + + + + + +
itemdoc
briefKey input class
+

C++ defination code:

+ +
class Key
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefKey Device constructor
paramcallback: When key triggered and callback is not empty(empty In MaixPy is None, in C++ is nullptr),
callback will be called with args key(key.Keys) and value(key.State).
If set to null, you can get key value by read() function.
This callback called in a standalone thread, so you can block a while in callback, and you should be carefully when operate shared data.
open: auto open device in constructor, if false, you need call open() to open device
staticFalse
+

C++ defination code:

+ +
Key(std::function<void(int, int)> callback = nullptr, bool open = true)
+
+

open

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefOpen(Initialize) key device, if already opened, will close first and then open.
returnerr::Err type, err.Err.ERR_NONE means success
staticFalse
+

C++ defination code:

+ +
err::Err open()
+
+

close

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefClose key device
returnerr::Err type, err.Err.ERR_NONE means success
staticFalse
+

C++ defination code:

+ +
err::Err close()
+
+

is_opened

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCheck key device is opened
returnbool type, true means opened, false means closed
staticFalse
+

C++ defination code:

+ +
bool is_opened()
+
+

read

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRead key input, and return key and value, if callback is set, DO NOT call this function manually.
returnlist type, first is key(maix.key.Keys), second is value(maix.key.State), if no key input, return [0, 0]
throwIf read failed, will throw maix.err.Exception.
staticFalse
+

C++ defination code:

+ +
std::pair<int, int> read()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/pwm.html b/maixpy/api/maix/peripheral/pwm.html new file mode 100644 index 00000000..77b294f7 --- /dev/null +++ b/maixpy/api/maix/peripheral/pwm.html @@ -0,0 +1,452 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.pwm - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.pwm

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.peripheral.pwm module

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.pwm to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

Class

+

PWM

+ + + + + + + + + + + + + +
itemdoc
briefPeripheral pwm class
+

C++ defination code:

+ +
class PWM
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefPWM constructor
parampin: direction [in], pwm pin. int type.
freq: direction [in], pwm frequency, unit: Hz. int type. default is 1000
duty: direction [in], pwm duty. int type. range is [0, 100], default is -1, means set duty to 50
note: you can not set duty and duty_val at the same time
duty_val: direction [in], pwm duty value, unit: us. int type. default is -1, means set duty_val to (1000000000 / freq) * 0.5
note: you can not set duty and duty_val at the same time
align: direction [in], pwm align. int type. default is -1
sync: direction [in], pwm sync. int type. default is false
staticFalse
+

C++ defination code:

+ +
PWM(int pin, int freq = 1000, int duty = -1, int duty_val = -1, int align = -1, bool sync = false)
+
+

duty

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset pwm duty
paramduty: direction [in], pwm duty. int type. default is -1
duty = [0, 100], set duty
duty == -1 or not set, return current duty
returnint type
when get duty, return current duty
when set duty, if success, return 0; else return -1
staticFalse
+

C++ defination code:

+ +
int duty(int duty = -1)
+
+

duty_val

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset pwm duty value
paramduty_val: direction [in], pwm duty value. int type. default is -1
duty_val = [0, 65535], set duty_val
duty_val == -1 or not set, return current duty_val
returnint type
when get duty_val, return current duty_val
when set duty_val, if success, return 0; else return -1
staticFalse
+

C++ defination code:

+ +
int duty_val(int duty_val = -1)
+
+

freq

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset pwm frequency
paramfreq: direction [in], pwm frequency. int type. default is -1
freq >= 0, set freq
freq == -1 or not set, return current freq
returnint type
when get freq, return current freq
when set freq, if success, return 0; else return -1
staticFalse
+

C++ defination code:

+ +
int freq(int freq = -1)
+
+

enable

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset pwm enable
paramenable: direction [in], pwm enable. int type. default is -1
enable == 0, disable pwm
enable == 1, enable pwm
enable == -1 or not set, return current enable value
returnint type
when get enable, return current enable value
when set enable, if success, return 0; else return -1
staticFalse
+

C++ defination code:

+ +
int enable(int enable = -1)
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/spi.html b/maixpy/api/maix/peripheral/spi.html new file mode 100644 index 00000000..b045c12e --- /dev/null +++ b/maixpy/api/maix/peripheral/spi.html @@ -0,0 +1,681 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.spi - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.spi

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.peripheral.spi module

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.spi to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

MASTER_MODE

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefspi master mode
value0x1
readonlyTrue
+

C++ defination code:

+ +
const int MASTER_MODE = 0x1
+
+

SLAVE_MODE

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefspi slave mode
value0x2
readonlyTrue
+

C++ defination code:

+ +
const int SLAVE_MODE = 0x2
+
+

CLOCK_MODE_0

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefclock mode 0
attentionCPOL = 0, CPHA = 0
means the idle level of the clock is low, data is captured on the first edge of the SPI clock cycle
value0x0
readonlyTrue
+

C++ defination code:

+ +
const int CLOCK_MODE_0 = 0x0
+
+

CLOCK_MODE_1

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefclock mode 1
attentionCPOL = 0, CPHA = 1
means the idle level of the clock is low, data is captured on the second edge of the SPI clock cycle
value0x1
readonlyTrue
+

C++ defination code:

+ +
const int CLOCK_MODE_1 = 0x1
+
+

CLOCK_MODE_2

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefclock mode 2
attentionCPOL = 1, CPHA = 0
means the idle level of the clock is high, data is captured on the first edge of the SPI clock cycle
value0x2
readonlyTrue
+

C++ defination code:

+ +
const int CLOCK_MODE_2 = 0x2
+
+

CLOCK_MODE_3

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefclock mode 3
attentionCPOL = 1, CPHA = 1
means the idle level of the clock is high, data is captured on the second edge of the SPI clock cycle
value0x3
readonlyTrue
+

C++ defination code:

+ +
const int CLOCK_MODE_3 = 0x3
+
+

Function

+

Class

+

SPI

+ + + + + + + + + + + + + +
itemdoc
briefPeripheral spi class
+

C++ defination code:

+ +
class SPI
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSPI constructor
paramid: direction [in], id of spi, int type
sclk: direction [in], sclk pin of spi, int type
mosi: direction [in], mosi pin of spi, int type
miso: direction [in], miso pin of spi, int type
cs: direction [in], cs pin of spi, int type
freq: direction [in], freq of spi, int type
use_soft_cs: direction [in], use_soft_cs of spi, int type
this param is valid in master mode, when use_soft_cs = 1, the
cs pin must be operated manually when sending data. default is -1, means use hardware cs
mode: direction [in], mode of spi, int type
option:
mode = spi.MASTER, means use master mode
mode = spi.SLAVE, means use slave mode
defualt is -1, means use spi.MASTER mode
clock_mode: direction [in], clock_mode of spi, int type,default is -1
option:
clock_mode = spi.CLOCK_MODE_0, @see CLOCK_MODE_0
clock_mode = spi.CLOCK_MODE_1, @see CLOCK_MODE_1
clock_mode = spi.CLOCK_MODE_2, @see CLOCK_MODE_2
clock_mode = spi.CLOCK_MODE_3, @see CLOCK_MODE_3
default is -1, means use CLOCK_MODE_0
staticFalse
+

C++ defination code:

+ +
SPI(int id, int sclk, int mosi, int miso, int cs, int freq, int use_soft_cs = -1, int mode = -1, int clock_mode = -1)
+
+

cs_high

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset cs pin to high level
staticFalse
+

C++ defination code:

+ +
int cs_high()
+
+

cs_low

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset cs pin to low level
staticFalse
+

C++ defination code:

+ +
int cs_low()
+
+

read

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefread data from spi
paramread_len: direction [in], read length, int type
returnread data, vector type
staticFalse
+

C++ defination code:

+ +
std::vector<unsigned char> read(int read_len)
+
+

write

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefwrite data to spi
paramwrite_data: direction [in], write data, vector type
the member range of the list is [0,255]
returnerror code, if write success, return err::ERR_NONE
staticFalse
+

C++ defination code:

+ +
int write(std::vector<unsigned char> write_data = std::vector<unsigned char>{})
+
+

read_write

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefset spi status to high level or low level
paramwrite_data: direction [in], write data, vector type
the member range of the list is [0,255]
read_len: direction [in], read length, int type
default is -1, means read_len = write_data.size()
returnread data, vector type
staticFalse
+

C++ defination code:

+ +
std::vector<unsigned char> read_write(  std::vector<unsigned char> write_data = std::vector<unsigned char>{}, 
+                                                int read_len = -1)
+
+

is_busy

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget busy status of spi
returnbusy status, bool type
staticFalse
+

C++ defination code:

+ +
bool is_busy()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/timer.html b/maixpy/api/maix/peripheral/timer.html new file mode 100644 index 00000000..2ffa638c --- /dev/null +++ b/maixpy/api/maix/peripheral/timer.html @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.timer - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.timer

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.peripheral.timer module

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.timer to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

Class

+

TIMER

+ + + + + + + + + + + + + +
itemdoc
briefPeripheral timer class
+

C++ defination code:

+ +
class TIMER
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTIMER constructor
staticFalse
+

C++ defination code:

+ +
TIMER()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/uart.html b/maixpy/api/maix/peripheral/uart.html new file mode 100644 index 00000000..fe48d996 --- /dev/null +++ b/maixpy/api/maix/peripheral/uart.html @@ -0,0 +1,857 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.uart - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.uart

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix uart peripheral driver

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.uart to access this module.

+
+

Module

+

No module

+

Enum

+

PARITY

+ + + + + + + + + + + + + + + + + +
itemdoc
briefuart parity enum
valuesPARITY_NONE: no parity
PARITY_ODD: odd parity
PARITY_EVEN: even parity
PARITY_MAX:
+

C++ defination code:

+ +
enum PARITY
+    {
+        PARITY_NONE = 0x00,  // no parity
+        PARITY_ODD  = 0x01,  // odd parity
+        PARITY_EVEN = 0x02,  // even parity
+        PARITY_MAX
+    }
+
+

STOP

+ + + + + + + + + + + + + + + + + +
itemdoc
briefuart stop bits
valuesSTOP_1: 1 stop bit
STOP_2: 2 stop bits
STOP_1_5: 1.5 stop bits
STOP_MAX:
+

C++ defination code:

+ +
enum STOP
+    {
+        STOP_1   = 0x01,  // 1 stop bit
+        STOP_2   = 0x02,  // 2 stop bits
+        STOP_1_5 = 0x03,  // 1.5 stop bits
+        STOP_MAX
+    }
+
+

BITS

+ + + + + + + + + + + + + + + + + +
itemdoc
briefuart stop bits
valuesBITS_5: 5 data bits
BITS_6: 6 data bits
BITS_7: 7 data bits
BITS_8: 8 data bits
BITS_MAX:
+

C++ defination code:

+ +
enum BITS
+    {
+        BITS_5 = 5,  // 5 data bits
+        BITS_6 = 6,  // 6 data bits
+        BITS_7 = 7,  // 7 data bits
+        BITS_8 = 8,  // 8 data bits
+        BITS_MAX
+    }
+
+

FLOW_CTRL

+ + + + + + + + + + + + + + + + + +
itemdoc
briefuart flow control
valuesFLOW_CTRL_NONE: no flow control
FLOW_CTRL_HW: hardware flow control
FLOW_CTRL_MAX:
+

C++ defination code:

+ +
enum FLOW_CTRL
+    {
+        FLOW_CTRL_NONE = 0,  // no flow control
+        FLOW_CTRL_HW   = 1,  // hardware flow control
+        FLOW_CTRL_MAX
+    }
+
+

Variable

+

Function

+

list_ports

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet supported uart ports.
returnuart ports list, string type.
+

C++ defination code:

+ +
std::vector<std::string> list_ports()
+
+

Class

+

UART

+ + + + + + + + + + + + + +
itemdoc
briefmaix uart peripheral driver
+

C++ defination code:

+ +
class UART : public comm::CommBase
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefUART constructor. You need to call open() to open the device.
paramport: uart port. string type, can get it by uart.list_ports().
If empty, will not open device in constructor, default empty.
if not empty, will auto open device in constructor, open fail will throw err.Exception.
baudrate: baudrate of uart. int type, default 115200.
databits: databits, values @see uart.DATA_BITS
parity: parity, values @see uart.PARITY
stopbits: stopbits, values @see uart.STOP_BITS
flow_control: flow_control, values @see uart.FLOW_CTRL
staticFalse
+

C++ defination code:

+ +
UART(const std::string &port = "", int baudrate = 115200, uart::BITS databits = uart::BITS_8,
+            uart::PARITY parity = uart::PARITY_NONE, uart::STOP stopbits = uart::STOP_1,
+            uart::FLOW_CTRL flow_ctrl = uart::FLOW_CTRL_NONE)
+
+

set_port

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSet port
paramport: uart port. string type, can get it by uart.list_ports().
returnset port error code, err.Err type.
staticFalse
+

C++ defination code:

+ +
err::Err set_port(const std::string &port)
+
+

get_port

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet port
returnuart port, string type.
staticFalse
+

C++ defination code:

+ +
std::string get_port()
+
+

set_baudrate

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSet baud rate
parambaudrate: baudrate of uart. int type, default 115200.
returnset baud rate error code, err.Err type.
staticFalse
+

C++ defination code:

+ +
err::Err set_baudrate(int baudrate)
+
+

get_baudrate

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet baud rate
returnbaud rate, int type.
staticFalse
+

C++ defination code:

+ +
int get_baudrate()
+
+

open

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefOpen uart device, before open, port must be set in constructor or by set_port().\nIf already opened, do nothing and return err.ERR_NONE.
returnopen device error code, err.Err type.
staticFalse
+

C++ defination code:

+ +
err::Err open()
+
+

is_open

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCheck if device is opened.
returntrue if opened, false if not opened.
staticFalse
+

C++ defination code:

+ +
bool is_open()
+
+

close

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefClose uart device, if already closed, do nothing and return err.ERR_NONE.
returnclose device error code, err.Err type.
staticFalse
+

C++ defination code:

+ +
err::Err close()
+
+

write_str

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSend string data
paramstr: string data
returnsent data length, < 0 means error, value is -err.Err.
staticFalse
+

C++ defination code:

+ +
int write_str(const std::string &str)
+
+

write

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSend data to uart
paramdata: direction [in], data to send, bytes type. If you want to send str type, use str.encode() to convert.
returnsent length, int type, if < 0 means error, value is -err.Err.
staticFalse
+

C++ defination code:

+ +
int write(Bytes &data)
+
+

available

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCheck if data available or wait data available.
paramtimeout: unit ms, timeout to wait data, default 0.
0 means check data available and return immediately,
> 0 means wait until data available or timeout.
- 1 means wait until data available.
returnavailable data number, 0 if timeout or no data, <0 if error, value is -err.Err, can be err::ERR_IO, err::ERR_CANCEL, err::ERR_NOT_OPEN.
throwerr.Exception if fatal error.
staticFalse
+

C++ defination code:

+ +
int available(int timeout = 0)
+
+

read

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRecv data from uart
paramlen: max data length want to receive, default -1.
-1 means read data in uart receive buffer.
>0 means read len data want to receive.
other values is invalid.
timeout: unit ms, timeout to receive data, default 0.
0 means read data in uart receive buffer and return immediately,
-1 means block until read len data,
>0 means block until read len data or timeout.
returnreceived data, bytes type.
Attention, you need to delete the returned object yourself in C++.
staticFalse
+

C++ defination code:

+ +
Bytes *read(int len = -1, int timeout = 0)
+
+

readline

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRead line from uart, that is read until '\n' or '\r\n'.
paramtimeout: unit ms, timeout to receive data, default -1 means block until read '\n' or '\r\n'.
> 0 means block until read '\n' or '\r\n' or timeout.
returnreceived data, bytes type. If timeout will return the current received data despite not read '\n' or '\r\n'.
e.g. If we want to read b'123\n', but when we only read b'12', timeout, then return b'12'.
staticFalse
+

C++ defination code:

+ +
Bytes *readline(int timeout = -1)
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/peripheral/wdt.html b/maixpy/api/maix/peripheral/wdt.html new file mode 100644 index 00000000..b9ded7dc --- /dev/null +++ b/maixpy/api/maix/peripheral/wdt.html @@ -0,0 +1,401 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.peripheral.wdt - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.peripheral.wdt

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.peripheral.wdt module

+
+

This module is generated from MaixCDK
+You can use maix.peripheral.wdt to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

Class

+

WDT

+ + + + + + + + + + + + + +
itemdoc
briefPeripheral wdt class
+

C++ defination code:

+ +
class WDT
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefWDT constructor
paramid: direction [in], id of wdt, int type
feed_ms: direction [in], feed ms of wdt, int type
staticFalse
+

C++ defination code:

+ +
WDT(int id, int feed_ms)
+
+

feed

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
brieffeed wdt
returnerror code, if feed success, return err::ERR_NONE
staticFalse
+

C++ defination code:

+ +
int feed()
+
+

stop

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefstop wdt
staticFalse
+

C++ defination code:

+ +
int stop()
+
+

restart

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefrestart wdt
attentionrestart WDT after stop it
staticFalse
+

C++ defination code:

+ +
int restart()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/protocol.html b/maixpy/api/maix/protocol.html new file mode 100644 index 00000000..fa33cc9c --- /dev/null +++ b/maixpy/api/maix/protocol.html @@ -0,0 +1,1016 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.protocol - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.protocol

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.protocol module

+
+

This module is generated from MaixCDK
+You can use maix.protocol to access this module.

+
+

Module

+

No module

+

Enum

+

CMD

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefprotocol cmd, more doc see MaixCDK document's convention doc
notemax app custom CMD value should < CMD_APP_MAX
valuesCMD_APP_MAX: 200, max app custom CMD value should < CMD_APP_MAX
CMD_SET_UPLOAD: set auto upload data mode
CMD_APP_LIST:
CMD_START_APP:
CMD_EXIT_APP:
CMD_CUR_APP_INFO:
CMD_APP_INFO:
CMD_KEY:
CMD_TOUCH:
+

C++ defination code:

+ +
enum CMD
+        {
+            CMD_APP_MAX = 0xC8,     //  200, max app custom CMD value should < CMD_APP_MAX
+
+            CMD_SET_UPLOAD   = 0xF8, // set auto upload data mode
+            CMD_APP_LIST     = 0xF9,
+            CMD_START_APP    = 0xFA,
+            CMD_EXIT_APP     = 0xFB,
+            CMD_CUR_APP_INFO = 0xFC,
+            CMD_APP_INFO     = 0xFD,
+            CMD_KEY          = 0xFE,
+            CMD_TOUCH        = 0xFF,
+        }
+
+

FLAGS

+ + + + + + + + + + + + + + + + + +
itemdoc
briefprotocol flags, more doc see MaixCDK document's convention doc
valuesFLAG_REQ:
FLAG_RESP:
FLAG_IS_RESP_MASK:
FLAG_RESP_OK:
FLAG_RESP_ERR:
FLAG_RESP_OK_MASK:
FLAG_REPORT:
FLAG_REPORT_MASK:
FLAG_VERSION_MASK:
+

C++ defination code:

+ +
enum FLAGS
+        {
+            FLAG_REQ = 0x00,
+            FLAG_RESP = 0x80,
+            FLAG_IS_RESP_MASK = 0x80,
+
+            FLAG_RESP_OK = 0x40,
+            FLAG_RESP_ERR = 0x00,
+            FLAG_RESP_OK_MASK = 0x40,
+
+            FLAG_REPORT = 0x20,
+            FLAG_REPORT_MASK = 0x20,
+
+            FLAG_VERSION_MASK = 0x03
+        }
+
+

Variable

+

VERSION

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefprotocol version
value1
readonlyTrue
+

C++ defination code:

+ +
const uint8_t VERSION = 1
+
+ + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefprotocol header
value0xBBACCAAA
readonlyTrue
+

C++ defination code:

+ +
const uint32_t HEADER = 0xBBACCAAA
+
+

Function

+

crc16_IBM

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCRC16-IBM
paramdata: data, bytes type.
returnCRC16-IBM value, uint16_t type.
+

C++ defination code:

+ +
uint16_t crc16_IBM(const Bytes *data)
+
+

Class

+

MSG

+ + + + + + + + + + + + + +
itemdoc
briefprotocol msg
+

C++ defination code:

+ +
class MSG
+
+

version

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefprotocol version
staticFalse
readonlyFalse
+

C++ defination code:

+ +
uint8_t version
+
+

resp_ok

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefIs success response or not, (only for response msg)
staticFalse
readonlyFalse
+

C++ defination code:

+ +
uint8_t resp_ok
+
+

cmd

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefCMD value
staticFalse
readonlyFalse
+

C++ defination code:

+ +
uint8_t cmd
+
+

is_resp

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefmessage is response or not, contrast with is_req
staticFalse
readonlyFalse
+

C++ defination code:

+ +
bool is_resp
+
+

body_len

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefMessage body length, read only, use set_body() to update
attentionDO NOT manually change this value
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int body_len
+
+

encode_resp_ok

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefEncode response ok(success) message
parambody: response body, can be null
returnencoded data, if nullptr, means error, and the error code is -err.Err
staticFalse
+

C++ defination code:

+ +
Bytes *encode_resp_ok(Bytes *body = nullptr)
+
+

encode_report

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefEncode proactively report message
parambody: report body, can be null
returnencoded data, if nullptr, means error, and the error code is -err.Err
staticFalse
+

C++ defination code:

+ +
Bytes *encode_report(Bytes *body = nullptr)
+
+

encode_resp_err

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefEncode response error message
paramcode: error code
msg: error message
returnencoded data, if nullptr, means error, and the error code is -err.Err
staticFalse
+

C++ defination code:

+ +
Bytes *encode_resp_err(err::Err code, const std::string &msg)
+
+

set_body

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefUpdate message body
parambody_new: new body data
staticFalse
+

C++ defination code:

+ +
void set_body(Bytes *body_new)
+
+

get_body

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet message body
returnmessage body, bytes type
staticFalse
+

C++ defination code:

+ +
Bytes *get_body()
+
+

Protocol

+ + + + + + + + + + + + + +
itemdoc
briefCommunicate protocol
+

C++ defination code:

+ +
class Protocol
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstruct a new Protocol object
parambuff_size: Data queue buffer size
staticFalse
+

C++ defination code:

+ +
Protocol(int buff_size = 1024)
+
+

buff_size

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefData queue buffer size
staticFalse
+

C++ defination code:

+ +
int buff_size()
+
+

push_data

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAdd data to data queue
paramnew_data: new data
returnerror code, maybe err.Err.ERR_BUFF_FULL
staticFalse
+

C++ defination code:

+ +
err::Err push_data(const Bytes *new_data)
+
+

decode

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefDecode data in data queue and return a message
paramnew_data: new data add to data queue, if null, only decode.
returndecoded message, if nullptr, means no message decoded.
staticFalse
+

C++ defination code:

+ +
protocol::MSG *decode(const Bytes *new_data = nullptr)
+
+

encode_resp_ok

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefEncode response ok(success) message to buffer
paramcmd: CMD value
body: response body, can be null
returnencoded data, if nullptr, means error, and the error code is -err.Err
staticFalse
+

C++ defination code:

+ +
Bytes *encode_resp_ok(uint8_t cmd, Bytes *body = nullptr)
+
+

encode_report

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefEncode proactively report message to buffer
paramcmd: CMD value
body: report body, can be null
returnencoded data, if nullptr, means error, and the error code is -err.Err
staticFalse
+

C++ defination code:

+ +
Bytes *encode_report(uint8_t cmd, Bytes *body = nullptr)
+
+

encode_resp_err

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefEncode response error message to buffer
paramcmd: CMD value
code: error code
msg: error message
returnencoded data, if nullptr, means error, and the error code is -err.Err
staticFalse
+

C++ defination code:

+ +
Bytes *encode_resp_err(uint8_t cmd, err::Err code, const std::string &msg)
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/sys.html b/maixpy/api/maix/sys.html new file mode 100644 index 00000000..0485d23b --- /dev/null +++ b/maixpy/api/maix/sys.html @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.sys - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.sys

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.sys module

+
+

This module is generated from MaixCDK
+You can use maix.sys to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

os_version()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet system version
returnversion string, e.g. "2024.4.1-13af4b"
+

C++ defination code:

+ +
std::string os_version()
+
+

device_name()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet device name
returndevice name, e.g. "MaixCAM"
+

C++ defination code:

+ +
std::string device_name()
+
+

host_name()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet host name
returnhost name, e.g. "maixcam-2f9f"
+

C++ defination code:

+ +
std::string host_name()
+
+

host_domain()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet host domain
returnhost domain, e.g. "maixcam-2f9f.local"
+

C++ defination code:

+ +
std::string host_domain()
+
+

ip_address()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet ip address
returnip address, dict type, e.g. {"eth0": "192.168.0.195", "wlan0": "192.168.0.123", "usb0": "10.47.159.1"}
+

C++ defination code:

+ +
std::map<std::string, std::string> ip_address()
+
+

mac_address()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet mac address
returnmac address, dict type, e.g. {"eth0": "00:0c:29:2f:9f:00", "wlan0": "00:0c:29:2f:9f:01", "usb0": "00:0c:29:2f:9f:02"}
+

C++ defination code:

+ +
std::map<std::string, std::string> mac_address()
+
+

device_key()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet device key, can be unique id of device
returndevice key, 32 bytes hex string, e.g. "1234567890abcdef1234567890abcdef"
+

C++ defination code:

+ +
std::string device_key()
+
+

memory_info()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet memory info
returnmemory info, dict type, e.g. {"total": 1024, "used": 512, "hw_total": 25610241024}
total: total memory size in Byte.
used: used memory size in Byte.
hw_total: total memory size in Byte of hardware, the total <= hw_total,
OS kernel may reserve some memory for some hardware like camera, npu, display etc.
+

C++ defination code:

+ +
std::map<std::string, int> memory_info()
+
+

bytes_to_human(1234)

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefBytes to human readable string
parambytes:: bytes size,e.g. 1234B = 1234/1024 = 1.205 KB
precision:: decimal precision, default 2
base:: base number, default 1024
unit:: unit string, e.g. "B"
sep:: separator string, e.g. " "
returnhuman readable string, e.g. "1.21 KB"
+

C++ defination code:

+ +
std::string bytes_to_human(unsigned long long bytes, int precision = 2, int base = 1024, const std::string &unit = "B", const std::string &sep = " ")
+
+

cpu_freq()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet CPU frequency
returnCPU frequency, dict type, e.g. {"cpu0": 1000000000, "cpu1": 1000000000}
+

C++ defination code:

+ +
std::map<std::string, unsigned long> cpu_freq()
+
+

cpu_temp()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet CPU temperature
returnCPU temperature, unit dgree, dict type, e.g. {"cpu": 50.0, "cpu0": 50, "cpu1": 50}
+

C++ defination code:

+ +
std::map<std::string, float> cpu_temp()
+
+

cpu_usage()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet CPU usage
returnCPU usage, dict type, e.g. {"cpu": 50.0, "cpu0": 50, "cpu1": 50}
+

C++ defination code:

+ +
std::map<std::string, float> cpu_usage()
+
+

npu_freq()

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet NPU frequency
returnNPU frequency, dict type, e.g. {"npu0": 500000000}
+

C++ defination code:

+ +
std::map<std::string, unsigned long> npu_freq()
+
+

disk_usage()

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet disk usage
parampath:: disk path, default "/"
returndisk usage, dict type, e.g. {"total": 1024, "used": 512}
+

C++ defination code:

+ +
std::map<std::string, unsigned long long> disk_usage(const std::string &path = "/")
+
+

disk_partitions()

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefGet disk partition and mount point info
paramonly_disk: only return real disk, tempfs sysfs etc. not return, default true.
returndisk partition and mount point info, list type, e.g. [{"device": "/dev/mmcblk0p1", "mountpoint": "/mnt/sdcard", "fstype": "vfat"}]
+

C++ defination code:

+ +
std::vector<std::map<std::string, std::string>> disk_partitions(bool only_disk = true)
+
+

Class

+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/tensor.html b/maixpy/api/maix/tensor.html new file mode 100644 index 00000000..17ad4bcf --- /dev/null +++ b/maixpy/api/maix/tensor.html @@ -0,0 +1,946 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.tensor - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.tensor

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.tensor module

+
+

This module is generated from MaixCDK
+You can use maix.tensor to access this module.

+
+

Module

+

No module

+

Enum

+

DType

+ + + + + + + + + + + + + + + + + +
itemdoc
briefTensor data types
valuesUINT8:
INT8:
UINT16:
INT16:
UINT32:
INT32:
FLOAT16:
FLOAT32:
FLOAT64:
BOOL:
DTYPE_MAX:
+

C++ defination code:

+ +
enum DType
+        {
+            UINT8 = 0,
+            INT8,
+            UINT16,
+            INT16,
+            UINT32,
+            INT32,
+            FLOAT16,
+            FLOAT32,
+            FLOAT64,
+            BOOL,
+            // STRING,
+            // OBJECT,
+            DTYPE_MAX
+        }
+
+

Variable

+

dtype_size

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefTensor data type size in bytes
attentionIt's a copy of this variable in MaixPy,
so change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.
So we add const for this var to avoid this mistake.
value{
1, // UINT8
1, // INT8
2, // UINT16
2, // INT16
4, // UINT32
4, // INT32
2, // FLOAT16
4, // FLOAT32
8, // FLOAT64
1, // BOOL
// 1, // STRING
// 1, // OBJECT
0
}
readonlyTrue
+

C++ defination code:

+ +
const std::vector<int> dtype_size = {
+            1, // UINT8
+            1, // INT8
+            2, // UINT16
+            2, // INT16
+            4, // UINT32
+            4, // INT32
+            2, // FLOAT16
+            4, // FLOAT32
+            8, // FLOAT64
+            1, // BOOL
+            // 1, // STRING
+            // 1, // OBJECT
+            0
+        }
+
+

dtype_name

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefTensor data type name
value{
"uint8",
"int8",
"uint16",
"int16",
"uint32",
"int32",
"float16",
"float32",
"float64",
"bool",
// "string",
// "object",
"invalid"
}
readonlyTrue
+

C++ defination code:

+ +
const std::vector<std::string> dtype_name = {
+            "uint8",
+            "int8",
+            "uint16",
+            "int16",
+            "uint32",
+            "int32",
+            "float16",
+            "float32",
+            "float64",
+            "bool",
+            // "string",
+            // "object",
+            "invalid"
+        }
+
+

Function

+

Class

+

Tensor

+ + + + + + + + + + + + + +
itemdoc
briefTensor class
+

C++ defination code:

+ +
class Tensor
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTensor constructor
paramshape: tensor shape, a int list
dtype: tensor element data type, see DType of this module
data: pointer to data content, can be nullptr, it will automatically alloc memory
and detroy it when this object is destroyed
staticFalse
+

C++ defination code:

+ +
Tensor(std::vector<int> shape, tensor::DType dtype, void *data = nullptr)
+
+

to_str

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTo string
staticFalse
+

C++ defination code:

+ +
std::string to_str()
+
+

__str__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefTo string
staticFalse
+

C++ defination code:

+ +
std::string __str__()
+
+

shape

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget tensor shape
returntensor shape, a int list
staticFalse
+

C++ defination code:

+ +
std::vector<int> shape()
+
+

expand_dims

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefexpand tensor shape
paramaxis: axis to expand
staticFalse
+

C++ defination code:

+ +
void expand_dims(int axis)
+
+

reshape

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefreshape tensor shape, if size not match, it will throw an err::Exception
paramshape: new shape
staticFalse
+

C++ defination code:

+ +
void reshape(std::vector<int> shape)
+
+

flatten

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefFlatten tensor shape to 1D
staticFalse
+

C++ defination code:

+ +
void flatten()
+
+

dtype

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefget tensor data type
returntensor data type, see DType of this module
staticFalse
+

C++ defination code:

+ +
tensor::DType  dtype()
+
+

argmax

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefargmax of tensor
paramaxis: By default, the index is into the flattened array, otherwise along the specified axis., wrong axis will throw an err::Exception
returnargmax result, you need to delete it after use in C++.
staticFalse
+

C++ defination code:

+ +
tensor::Tensor *argmax(int axis = 0xffff)
+
+

argmax1

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefargmax1, flattened data max index
returnargmax result, int type
staticFalse
+

C++ defination code:

+ +
int argmax1()
+
+

Tensors

+ + + + + + + + + + + + + +
itemdoc
briefTensors
+

C++ defination code:

+ +
class Tensors
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstructor of Tensors
staticFalse
+

C++ defination code:

+ +
Tensors()
+
+

add_tensor

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefAdd tensor
staticFalse
+

C++ defination code:

+ +
void add_tensor(const std::string &key, tensor::Tensor *tensor, bool copy, bool auto_delete)
+
+

rm_tensor

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefRemove tensor
staticFalse
+

C++ defination code:

+ +
void rm_tensor(const std::string &key)
+
+

get_tensor

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet tensor by key
staticFalse
+

C++ defination code:

+ +
tensor::Tensor *get_tensor(const std::string &key)
+
+

__getitem__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefOperator []
staticFalse
+

C++ defination code:

+ +
tensor::Tensor *operator[](const std::string &key)
+
+

__len__

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefSize
staticFalse
+

C++ defination code:

+ +
size_t size()
+
+

get_names

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefGet names
staticFalse
+

C++ defination code:

+ +
std::vector<std::string> get_names()
+
+

tensors

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefTensors data, dict type
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::map<std::string, tensor::Tensor*> tensors
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/thread.html b/maixpy/api/maix/thread.html new file mode 100644 index 00000000..b3f564ee --- /dev/null +++ b/maixpy/api/maix/thread.html @@ -0,0 +1,397 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.thread - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.thread

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.thread module

+
+

This module is generated from MaixCDK
+You can use maix.thread to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

Class

+

Thread

+ + + + + + + + + + + + + +
itemdoc
briefthread class
+

C++ defination code:

+ +
class Thread
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefcreate thread
paramfunc: direction [in], thread function, one args parameter, void* type, no return value
args: direction [in], thread function parameter
staticFalse
+

C++ defination code:

+ +
Thread(std::function<void(void *)> func, void *args = nullptr)
+
+

join

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefwait thread exit
staticFalse
+

C++ defination code:

+ +
void join()
+
+

detach

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefdetach thread
staticFalse
+

C++ defination code:

+ +
void detach()
+
+

joinable

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCheck if thread is joinable
returntrue if thread is joinable
staticFalse
+

C++ defination code:

+ +
bool joinable()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/time.html b/maixpy/api/maix/time.html new file mode 100644 index 00000000..b4fc2f64 --- /dev/null +++ b/maixpy/api/maix/time.html @@ -0,0 +1,1003 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.time - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.time

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.time module

+
+

This module is generated from MaixCDK
+You can use maix.time to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

time

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet current time in s
returncurrent time in s, double type
+

C++ defination code:

+ +
double time()
+
+

time_ms

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet current time in ms
returncurrent time in ms, uint64_t type
+

C++ defination code:

+ +
uint64_t time_ms()
+
+

time_s

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet current time in s
returncurrent time in s, uint64_t type
+

C++ defination code:

+ +
uint64_t time_s()
+
+

time_us

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet current time in us
returncurrent time in us, uint64_t type
+

C++ defination code:

+ +
uint64_t time_us()
+
+

time_diff

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefCalculate time difference
paramlast: last time
now: current time
returntime difference
+

C++ defination code:

+ +
double time_diff(double last, double now = -1)
+
+

sleep

+ + + + + + + + + + + + + + + + + +
itemdoc
briefSleep seconds
params: seconds, double type
+

C++ defination code:

+ +
void sleep(double s)
+
+

sleep_ms

+ + + + + + + + + + + + + + + + + +
itemdoc
briefSleep milliseconds
paramms: milliseconds, uint64_t type
+

C++ defination code:

+ +
void sleep_ms(uint64_t ms)
+
+

sleep_us

+ + + + + + + + + + + + + + + + + +
itemdoc
briefSleep microseconds
paramus: microseconds, uint64_t type
+

C++ defination code:

+ +
void sleep_us(uint64_t us)
+
+

now

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet current UTC date and time
returncurrent date and time, DateTime type
+

C++ defination code:

+ +
time::DateTime *now()
+
+

localtime

+ + + + + + + + + + + + + + + + + +
itemdoc
briefGet local time
returnlocal time, DateTime type
+

C++ defination code:

+ +
time::DateTime *localtime()
+
+

strptime

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
briefDateTime from string
paramstr: date time string
format: date time format
returnDateTime
+

C++ defination code:

+ +
time::DateTime *strptime(const std::string &str, const std::string &format)
+
+

gmtime

+ + + + + + + + + + + + + + + + + + + + + +
itemdoc
brieftimestamp to DateTime(time zone is UTC (value 0))
paramtimestamp: double timestamp
returnDateTime
+

C++ defination code:

+ +
time::DateTime *gmtime(double timestamp)
+
+

Class

+

DateTime

+ + + + + + + + + + + + + +
itemdoc
briefDate and time class
+

C++ defination code:

+ +
class DateTime
+
+

year

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefYear
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int year
+
+

month

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefMonth, 1~12
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int month
+
+

day

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefDay
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int day
+
+

hour

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefHour
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int hour
+
+

minute

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefMinute
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int minute
+
+

second

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefSecond
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int second
+
+

microsecond

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefMicrosecond
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int microsecond
+
+

yearday

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefYear day
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int yearday
+
+

weekday

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefWeekday, 0 is Monday, 6 is Sunday
staticFalse
readonlyFalse
+

C++ defination code:

+ +
int weekday
+
+

zone

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefTime zone
staticFalse
readonlyFalse
+

C++ defination code:

+ +
float zone
+
+

zone_name

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typevar
briefTime zone name
staticFalse
readonlyFalse
+

C++ defination code:

+ +
std::string zone_name
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstructor
paramyear: year
month: month
day: day
hour: hour
minute: minute
second: second
microsecond: microsecond
yearday: year day
weekday: weekday
zone: time zone
staticFalse
+

C++ defination code:

+ +
DateTime(int year = 0, int month = 0, int day = 0, int hour = 0, int minute = 0, int second = 0, int microsecond = 0, int yearday = 0, int weekday = 0, int zone = 0)
+
+

strftime

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvert to string
returndate time string
staticFalse
+

C++ defination code:

+ +
std::string strftime(const std::string &format)
+
+

timestamp

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConvert to float timestamp
returnfloat timestamp
staticFalse
+

C++ defination code:

+ +
double timestamp()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/maix/touchscreen.html b/maixpy/api/maix/touchscreen.html new file mode 100644 index 00000000..f34efb6b --- /dev/null +++ b/maixpy/api/maix/touchscreen.html @@ -0,0 +1,505 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + maix.touchscreen - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

maix.touchscreen

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

maix.touchscreen module

+
+

This module is generated from MaixCDK
+You can use maix.touchscreen to access this module.

+
+

Module

+

No module

+

Enum

+

Variable

+

Function

+

Class

+

TouchScreen

+ + + + + + + + + + + + + +
itemdoc
briefTouchScreen class
+

C++ defination code:

+ +
class TouchScreen
+
+

__init__

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefConstruct a new TouchScreen object
paramdevice: touchscreen device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device
open: If true, touchscreen will automatically call open() after creation. default is true.
staticFalse
+

C++ defination code:

+ +
TouchScreen(const std::string &device = "", bool open = true)
+
+

open

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefopen touchscreen device
returnerror code, err::ERR_NONE means success, others means failed
staticFalse
+

C++ defination code:

+ +
err::Err open()
+
+

close

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefclose touchscreen device
returnerror code, err::ERR_NONE means success, others means failed
staticFalse
+

C++ defination code:

+ +
err::Err close()
+
+

read

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefread touchscreen device
attentionThis method will discard same event in buffer, that is:
if too many move event in buffer when call this method, it will only return the last one,
and if read pressed or released event, it will return immediately.
returnReturns a list include x, y, pressed state
staticFalse
+

C++ defination code:

+ +
std::vector<int> read()
+
+

read (overload 1)

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefread touchscreen device
attentionThis method will return immediately if have event, so it's better to use available() to check if have more event in buffer,
or too much event in buffer when your program call this read() interval is too long will make your program slow.
returnReturns a list include x, y, pressed state
staticFalse
+

C++ defination code:

+ +
std::vector<int> read0()
+
+

available

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefIf we need to read from touchscreen, for event driven touchscreen means have event or not
paramtimeout: -1 means block, 0 means no block, >0 means timeout, default is 0, unit is ms.
returntrue if need to read(have event), false if not
staticFalse
+

C++ defination code:

+ +
bool available(int timeout = 0)
+
+

is_opened

+ + + + + + + + + + + + + + + + + + + + + + + + + +
itemdoc
typefunc
briefCheck if touchscreen is opened
returntrue if touchscreen is opened, false if not
staticFalse
+

C++ defination code:

+ +
bool is_opened()
+
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/api/sidebar.yaml b/maixpy/api/sidebar.yaml new file mode 100644 index 00000000..9f695367 --- /dev/null +++ b/maixpy/api/sidebar.yaml @@ -0,0 +1,89 @@ +items: +- file: README.md + label: Brief +- collapsed: false + items: + - collapsed: false + file: maix/err.md + label: err + - collapsed: false + file: maix/tensor.md + label: tensor + - collapsed: false + file: maix/image.md + label: image + - collapsed: false + file: maix/camera.md + label: camera + - collapsed: false + file: maix/display.md + label: display + - collapsed: false + file: maix/comm.md + label: comm + - collapsed: false + file: maix/thread.md + label: thread + - collapsed: false + file: maix/fs.md + label: fs + - collapsed: false + file: maix/sys.md + label: sys + - collapsed: false + file: maix/time.md + label: time + - collapsed: false + file: maix/i18n.md + label: i18n + - collapsed: false + file: maix/protocol.md + label: protocol + - collapsed: false + file: maix/example.md + label: example + - collapsed: false + file: maix/app.md + label: app + - collapsed: false + file: maix/nn.md + items: + - collapsed: false + file: maix/nn/F.md + label: F + label: nn + - collapsed: false + file: maix/peripheral.md + items: + - collapsed: false + file: maix/peripheral/timer.md + label: timer + - collapsed: false + file: maix/peripheral/wdt.md + label: wdt + - collapsed: false + file: maix/peripheral/pwm.md + label: pwm + - collapsed: false + file: maix/peripheral/gpio.md + label: gpio + - collapsed: false + file: maix/peripheral/spi.md + label: spi + - collapsed: false + file: maix/peripheral/uart.md + label: uart + - collapsed: false + file: maix/peripheral/key.md + label: key + - collapsed: false + file: maix/peripheral/i2c.md + label: i2c + - collapsed: false + file: maix/peripheral/adc.md + label: adc + label: peripheral + - collapsed: false + file: maix/touchscreen.md + label: touchscreen + label: maix diff --git a/maixpy/config.json b/maixpy/config.json new file mode 100644 index 00000000..7689a260 --- /dev/null +++ b/maixpy/config.json @@ -0,0 +1,5 @@ +{ + "import": "config_zh", + "class": "md_page", + "name": "MaixPy 页面" +} diff --git a/maixpy/doc/audio/recognize.html b/maixpy/doc/audio/recognize.html new file mode 100644 index 00000000..a69c311a --- /dev/null +++ b/maixpy/doc/audio/recognize.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/basic/app.html b/maixpy/doc/basic/app.html new file mode 100644 index 00000000..11653625 --- /dev/null +++ b/maixpy/doc/basic/app.html @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应用开发和应用商店 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

应用开发和应用商店

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

应用生态简介

+

为了让开发板做到开箱即用,以及方便用户无门槛地使用,以及方便开发者分享自己的有趣应用,并且能有有效的渠道获取到反馈甚至是收益,我们推出了一个简易的应用框架,包括:

+
    +
  • 应用商店: 开发者上传分享应用,用户无需开发直接下载使用,开发者可以获取到一定的现金收益(来自 MaixHub 官方以及用户打赏)。
  • +
  • 出厂内置大量应用: 官方提供了一些常用的应用,比如找色块、AI 物体检测追踪、找二维码、人脸识别等等,用户可以直接使用,也可以作为串口模块直接使用。
  • +
  • MaixPy + MaixCDK 软件开发包:使用 MaixPy 或者 MaixCDK 可以用 Python 或者 C/C++ 语言快速开发嵌入式 AI 视觉听觉应用,超高效率实现你的有趣想法。
  • +
  • MaixVision 配套电脑端开发工具: 全新的电脑端代码开发工具,快速上手、调试、运行、上传代码、安装应用到设备,一键式开发,甚至支持图像化积木式编程,小学生也能轻松上手。
  • +
+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/basic/app_usage.html b/maixpy/doc/basic/app_usage.html new file mode 100644 index 00000000..0dbc8ef0 --- /dev/null +++ b/maixpy/doc/basic/app_usage.html @@ -0,0 +1,312 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应用使用说明 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

应用使用说明

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

应用均发布在 MaixHub 应用商店, 可以在这里找到对应应用的介绍和使用说明。

+

上手用得比较多的是 设置 -> 语言, 以及 设置 -> WiFiAPP Store应用可以用来升级和安装应用,连接上可以连接互联网的 WiFi 后即可在MaixHub 应用商店扫码安装应用。

+

另外,你编写的应用也可以上传到MaixHub 应用商店分享给其他人使用。

+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/basic/linux_basic.html b/maixpy/doc/basic/linux_basic.html new file mode 100644 index 00000000..f3562a2c --- /dev/null +++ b/maixpy/doc/basic/linux_basic.html @@ -0,0 +1,359 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Linux 基础知识 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

Linux 基础知识

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

简介

+

本章内容对于刚入门的同学来说,可以先跳过此章节,在学会 MaixPy 基础开发后再来学习也是可以的。

+

最新的 MaixPy 支持的 MaixCAM 硬件支持跑 Linux 系统,所以 MaixPy 底层都是基于 Linux 系统进行开发的。
+虽然 Sipeed 开发的 MaixPy 已经为开发者们做了很多工作,即使不知道 Linux 系统知识也能愉快使用,但是以防在某些情况下需要一些底层操作,以及方便未接触过 Linux 的开发者学习,这里写一些 Linux 基础知识。

+

为什么需要 Linux 系统

+

具体的原因大家可以自行查阅,这里用通俗的看起来不太专业的话语简单举几个例子方便初学者理解:

+
    +
  • 在单片机中,我们的程序是一个死循环程序,用上 Linux 后我们可以同时跑很多程序,每个程序看起来都独立在同时运行,每个程序具体怎么执行的由操作系统实现。
  • +
  • 基于 Linux 的开发者众多,需要功能和驱动可以很方便地找到,不需要自己再实现一遍。
  • +
  • 基于 Linux 配套的软件工具丰富,可以很方便地进行开发和调试,比如在本教程没有提到的一些 Linux 通用工具理论上也是可以使用的。
  • +
+

文件系统

+

什么是文件系统?

+
    +
  • 就像电脑的文件系统一样,Linux 上会将硬件磁盘用文件系统进行管理,这样我们可以很方便地向磁盘读写数据。
  • +
  • 对于学过单片机没有接触过文件系统开发的同学来讲,可以理解为我们有一个 Flash 或者 TF 卡,我们可以通过 API 读写 Flash 存取数据,断电后也能保存数据,但是 Flash 具有读写寿命,我们往往需要写一套程序去保证 Flash 读写寿命,而文件系统就可以理解成这样一套成熟的程序,文件系统帮我们完成了具体如何管理 Flash 空间和读写,我们只需调用文件系统的 API 即可,大大减少了我们的开发工作量并且用成熟的程序保证了稳定性和安全性。
  • +
+

在电脑和设备(开发板)之间传输文件

+

既然设备有 Linux 和文件系统,那我们怎么发送文件到设备呢?

+

对于 MaixPy 我们配套了 MaixVision, 在后面的版本也会支持文件管理功能,在此之前可以用下面的方法:

+

这里我们主要介绍通过网络传输的方式,其它方式可自行探索传输文件到 Linux

+
    +
  • 确保设备和电脑连接到了同一个局域网,比如:
      +
    • MaixCAM 的 USB 口连接到电脑会创建一个虚拟网卡,在电脑端的设备管理器就能看到,设备的 IP 可以在设备的设置->设备信息中看到设备名和 IP。
    • +
    • 也可以在设备设置->WiFi中连接到和电脑相同的局域网。
    • +
    +
  • +
  • 电脑使用 SCP 或者 SFTP 协议传输文件到设备,具体的软件有很多,具体的软件和使用方法可以自行搜索,比如:
      +
    • 在 Windows 上可以使用 WinSCP 或者 FileZilla,或者 scp 命令等。
    • +
    • 在 Linux 上可以使用 FileZilla 或者 scp 命令 等。
    • +
    • 在 Mac 上可以使用 FileZilla 或者 scp 命令 等。
    • +
    +
  • +
+

终端和命令行

+

终端就是通过终端这个软件与 Linux 系统进行通信和操作的工具,类似于 Windows 的cmd或者PowerShell

+

比如我们可以在电脑的 Window 系统中的 powershell 或者 Linux系统中的 终端 工具中输入ssh root@maixcam-xxxx.local 这里具体的名字在设备的设置->设备信息中可以看到,这样我们就可以通过终端连接到设备了(用户名和密码都是root)。
+然后我们通过输入命令来操作设备,比如ls命令可以列出设备文件系统中当前目录下的文件, cd 用来切换当前所在的目录(就像电脑文件管理中点击文件夹切换目录一样),

+ +
cd /     # 切换到根目录
+ls       # 显示当前目录(根目录)下的所有文件
+
+

然后会显示类似下面的内容:

+ +
bin         lib         media       root        tmp
+boot        lib64       mnt         run         usr
+dev         linuxrc     opt         sbin        var
+etc         lost+found  proc        sys
+
+

更多命令学习请自行搜索Linux 命令行使用教程,这里只是为了让初学者知道基本概念,这样有开发者提到时可以知道是什么意思。

+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/basic/maixpy_upgrade.html b/maixpy/doc/basic/maixpy_upgrade.html new file mode 100644 index 00000000..315c56a1 --- /dev/null +++ b/maixpy/doc/basic/maixpy_upgrade.html @@ -0,0 +1,322 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 更新 MaixPy - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

更新 MaixPy

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

有两种方法,如果第一次上手使用,可以直接使用出厂 TF 卡自带的 MaixPy 固件尝试后再考虑更新。

+

直接更新系统

+

按照 升级和烧录系统 中的操作升级到最新的系统,里面就包含了最新的 MaixPy 固件。

+

只更新 MaixPy 固件

+

如果不想更新系统(因为一般系统变动不大,可以看系统的更新日志决定是否更新系统),则可以只更新 MaixPy 固件。

+
    +
  • 在设置中设置 WiFi, 让系统联网。
  • +
  • 点击设置应用中的 更新 MaixPy 进行更新。
  • +
+

另外,可以在 MaixPy 仓库 release 页面 看到最新的版本信息和更新日志。

+
+

如果你会使用终端, 也可以在终端中使用 pip install MaixPy -U 来更新 MaixPy。

+
+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/basic/maixvision.html b/maixpy/doc/basic/maixvision.html new file mode 100644 index 00000000..d364b79b --- /dev/null +++ b/maixpy/doc/basic/maixvision.html @@ -0,0 +1,360 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixVision -- MaixPy 编程 + 图形化积木编程 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

MaixVision -- MaixPy 编程 + 图形化积木编程

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

简介

+

使用 MaixPy 编程和在线运行

+

按照快速开始的步骤连接设备,我们可以很方便地使用 MaixPy 编程和在线运行。

+

区分设备文件系统电脑文件系统

+

这里我们有一个比较重要的概念需要掌握:分清楚设备文件系统电脑文件系统

+
    +
  • 电脑文件系统:运行在电脑上,在 MaixVision 中打开文件或者工程都是打开的电脑里面的文件,保存也是自动保存到电脑的文件系统。
  • +
  • 设备文件系统:程序运行时会将程序发送到设备上运行,所以代码里面使用的文件都是从设备文件系统读取,
  • +
+

实时预览图像

+

MaixPy 提供display模块,可以将图像显示到屏幕上,同时,在调用display模块的show方法时,会将图像发送到 MaixVision 显示,比如代码:

+ +
from maix import display, camera
+
+cam = camera.Camera(640, 480)
+disp = display.Display()
+while 1:
+    disp.show(cam.read())
+
+

这里我们用摄像头读取了图像,然后通过disp.show()方法将图像显示到屏幕上,同时也会发送到 MaixVision 显示。

+

当我们点击了右上角的暂停按钮,就会停止发送图像到 MaixVision 显示。

+

计算图像的直方图

+

在上一步中我们可以在 MaixVision 中实时看到图像,我们用鼠标框选一个区域,图像下方就能看到这个区域的直方图了,选择不同的颜色表示方法,可以看到不同的颜色通道的直方图。

+

这个功能方便我们在做某些图像处理算法时找到一些合适的参数。

+

使用图形化积木编程

+

开发中,敬请期待。

+

传输文件到设备

+

开发中,敬请期待。

+

目前可以用其它工具代替,比如:

+
+

先知道设备的 ip 地址或者设备名称,MaixVision 就可以搜索到, 或者在设备设置->系统信息中看到,比如 maixcam-xxxx.local
+用户名和密码都是 root, 使用 SFTP 协议传输文件,端口号是 22

+
+

Windows 下

+

使用 WinSCP 或者 FileZilla 等工具连接设备,将文件传输到设备上,选择 SFTP 协议填写设备和账号信息连接即可。

+

具体不懂的可以自行搜索。

+

Linux 下

+

终端使用 scp 命令传输文件到设备上,比如:

+ +
scp /path/to/your/file.py root@maixcam-xxxx.local:/root
+
+

Mac 下

+
    +
  • 方法一:终端使用 scp 命令传输文件到设备上,比如:
  • +
+ +
scp /path/to/your/file.py root@maixcam-xxxx.local:/root
+
+
    +
  • 方法二:使用 FileZilla 等工具连接设备,将文件传输到设备上,选择 SFTP 协议填写设备和账号信息连接即可。
  • +
+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/basic/os.html b/maixpy/doc/basic/os.html new file mode 100644 index 00000000..73a6c957 --- /dev/null +++ b/maixpy/doc/basic/os.html @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 升级和烧录系统 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

升级和烧录系统

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

介绍

+

如果你购买了官方(Sipeed)的带 TF 卡的套餐,一般来说出厂已经烧录好了系统,可以跳过这一步直接使用。

+

但是为了防止出厂烧录的系统版本过旧,强烈建议先按照教程升级到最新的系统。

+

如何确认系统是否需要升级

+
    +
  • 在开机后的功能选择界面,点击设置,然后点击设备信息,可以看到系统的版本号。
  • +
  • 系统发布历史页面查看最新系统的版本号以及更新日志,如果在你的版本后有重要更新,建议升级。
  • +
+
+

如果最新系统和当前系统对比只是 MaixPy 固件的常规更新,也可以不升级,在 设置 中的 更新 MaixPy 中单独更新 MaixPy 即可。

+
+

获得最新系统

+

准备烧录工具

+

烧录系统

+

系统首次启动

+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/basic/python.html b/maixpy/doc/basic/python.html new file mode 100644 index 00000000..dd8928d5 --- /dev/null +++ b/maixpy/doc/basic/python.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/basic/python_pkgs.html b/maixpy/doc/basic/python_pkgs.html new file mode 100644 index 00000000..80301fad --- /dev/null +++ b/maixpy/doc/basic/python_pkgs.html @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 添加额外的 Python 软件包 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

添加额外的 Python 软件包

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

简介

+

MaixPy 基于 Python 语言,提供了大量方便嵌入式应用开发的功能和 API,除此之外,你也可以使用其它的 Python 包来扩展功能。

+

安装额外的 Python 包

+
+

注意可能不是所有 Python 包都支持,一般只支持纯 Python 包,不支持 C 扩展包, C 扩展包可能需要你手动在电脑交叉编译(比较复杂,这里就不介绍了)。

+
+

方法一: 在设备设置->安装 Python 包功能中输入包名安装

+

在设备开机后的界面中选择设置->安装 Python 包,然后输入你需要的包名,点击安装按钮即可。

+

方法二: 终端使用 pip 命令安装

+

使用Linux 基础中介绍的终端使用方法,使用 pip install 包名 安装你需要的包。

+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/config.json b/maixpy/doc/config.json new file mode 100644 index 00000000..b44cb82a --- /dev/null +++ b/maixpy/doc/config.json @@ -0,0 +1,4 @@ +{ + "import": "config_zh", + "name": "MaixPy 中文文档" +} diff --git a/maixpy/doc/en/config.json b/maixpy/doc/en/config.json new file mode 100644 index 00000000..2c779f44 --- /dev/null +++ b/maixpy/doc/en/config.json @@ -0,0 +1,4 @@ +{ + "import": "config_en", + "name": "MaixPy English Documentation" +} diff --git a/maixpy/doc/en/index.html b/maixpy/doc/en/index.html new file mode 100644 index 00000000..5df5f707 --- /dev/null +++ b/maixpy/doc/en/index.html @@ -0,0 +1,248 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

+ +
+
+
    + +
+
+
+
+ + + + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ + + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/en/no_translate.html b/maixpy/doc/en/no_translate.html new file mode 100644 index 00000000..8be3171c --- /dev/null +++ b/maixpy/doc/en/no_translate.html @@ -0,0 +1,266 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + no translation - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

no translation

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +
+
This page not translated yet
+
+ Please visit + +
+
+ +
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/en/sidebar.yaml b/maixpy/doc/en/sidebar.yaml new file mode 100644 index 00000000..79dbab37 --- /dev/null +++ b/maixpy/doc/en/sidebar.yaml @@ -0,0 +1,83 @@ +items: +- file: README.md + label: Brief +- collapsed: false + items: + - collapsed: false + file: maix/err.md + label: err + - collapsed: false + file: maix/tensor.md + label: tensor + - collapsed: false + file: maix/image.md + label: image + - collapsed: false + file: maix/camera.md + label: camera + - collapsed: false + file: maix/display.md + label: display + - collapsed: false + file: maix/comm.md + label: comm + - collapsed: false + file: maix/thread.md + label: thread + - collapsed: false + file: maix/fs.md + label: fs + - collapsed: false + file: maix/time.md + label: time + - collapsed: false + file: maix/i18n.md + label: i18n + - collapsed: false + file: maix/protocol.md + label: protocol + - collapsed: false + file: maix/example.md + label: example + - collapsed: false + file: maix/app.md + label: app + - collapsed: false + file: maix/nn.md + items: + - collapsed: false + file: maix/nn/F.md + label: F + label: nn + - collapsed: false + file: maix/peripheral.md + items: + - collapsed: false + file: maix/peripheral/timer.md + label: timer + - collapsed: false + file: maix/peripheral/wdt.md + label: wdt + - collapsed: false + file: maix/peripheral/pwm.md + label: pwm + - collapsed: false + file: maix/peripheral/gpio.md + label: gpio + - collapsed: false + file: maix/peripheral/spi.md + label: spi + - collapsed: false + file: maix/peripheral/uart.md + label: uart + - collapsed: false + file: maix/peripheral/i2c.md + label: i2c + - collapsed: false + file: maix/peripheral/adc.md + label: adc + label: peripheral + - collapsed: false + file: maix/touchscreen.md + label: touchscreen + label: maix diff --git a/maixpy/doc/faq.html b/maixpy/doc/faq.html new file mode 100644 index 00000000..a7b0b290 --- /dev/null +++ b/maixpy/doc/faq.html @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy FAQ(常见问题) - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

MaixPy FAQ(常见问题)

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

此页面列出了 MaixPy 相关的常见问题和解决方案,如果你遇到了问题,请先在这里找寻答案。
+如果这个页面找不到答案,可以到 MaixHub 讨论版块 将问题的详细步骤发贴提问。

+

MaixPy v4 和 v1 v3 有什么区别?

+
    +
  • MaixPy v4 使用 Python 语言,是吸取了 v1 v3 经验的集大成之作,有更好的配套软件和生态,更多的功能,更简单的使用方式和更完善的文档;硬件有很大提升的同时加个和另外两者的硬件价格想当甚至更便宜;另外也做了兼容 K210 的使用体验和 API,方便用户从 v1 快速迁移到 v4。
  • +
  • v1 使用了 Micropython 语言,有很多局限性,比如第三方库支持有限;同时受限于 Maix-I (K210) 的硬件性能,内存不够用,AI 模型支持有限,很多编解码不支持硬件加速等缺点。
  • +
  • v3 也是使用了 Python 语言,基于 Maix-II-Dock (v831) 硬件,硬件 AI 模型支持有限,而且全志的基础生态不够开放,API 也不够完善,此版本仅作为 Maix-II-Dock (v831)上面使用,不会继续更新。
  • +
+

MaixPy 目前只支持 MaixCAM 吗,用其它同款芯片的板子行不行?

+

MaixPy 目前仅支持 MaixCAM 系列板子,其它同款芯片的板子也不支持,强烈不建议尝试,导致设备损坏(比如冒烟烧屏等)后果自负。

+

未来 Sipeed 出的 Maix 系列的产品都将继续得到 MaixPy 支持,目前如果 MaixCAM 有什么无法满足的需求,可以到 MaixHub 讨论版块 提出需求或者发送邮件到 support@sipeed.com.

+

可以用除了官方搭配的摄像头或者屏幕以外的自己的摄像头或者屏幕吗?

+

不建议这样操作,除非你有够丰富的软硬件知识和经验,否则可能导致设备损坏。

+

官方搭配的配件对应的软硬件是调教过的,表现效果是最好的,上手即可使用,其它配件可能接口不同,驱动不同,软件不同,需要自己去调教,这是一个非常复杂的过程,不建议尝试。

+

当然,如果你是大佬,我们也欢迎你提交 PR!

+

MaixVision 无法搜索到设备?

+
    +
  • 确保设备通过 Type-C 数据线连接到电脑,设备处于开机状态并且进入了功能选择界面。
  • +
  • 确保设备驱动已经安装:
      +
    • Windows 下可以在设备管理器中查看是否有 USB 虚拟网卡设备,如果有感叹号则是去动没有安装好,TODO:添加安装驱动方法。
    • +
    • Linux 下可以通过ifconfig或者ip addr查看是否有usb0设备或者lsusb查看所有 USB 设备。 Linux 已经自带去动,所以识别不到检查硬件连接,设备系统是否是最新,以及设备是否已经正常启动即可。
    • +
    • Mac OS TODO:添加说明。
    • +
    +
  • +
+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/index.html b/maixpy/doc/index.html new file mode 100644 index 00000000..2bf4d900 --- /dev/null +++ b/maixpy/doc/index.html @@ -0,0 +1,396 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy 快速开始 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

MaixPy 快速开始

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +
+ MaixPy 唯一官网: + wiki.sipeed.com/maixpy + +
+
+ MaixPy 例程和源码: + github.com/sipeed/MaixPy + +
+
+
+

关于 MaixPy 介绍请看 MaixPy 官网首页

+
+

获得 MaixCAM 设备

+

Sipeed 淘宝 或者 Sipeed 速卖通 店铺购买 MaixCAM 开发板。

+

建议购买带 TF 卡摄像头2.3寸触摸屏外壳Type-C一转二小板4P串口座子+线的套餐,方便后续使用和开发,后面的教程都默认你已经有了这些配件(包括屏幕)。

+

另外需要准备一根 Type-C 数据线,尽量买质量好点的防止供电和连接不稳定。

+

上手体验

+

插入套餐里面的 TF 卡,使用 Type-C 数据线连接 MaixCAM 设备给设备供电,等待设备开机,开机会显示 MaixCAM LOGO,然后进入功能选择界面。

+
+

如果屏幕没有显示,请咨询卖家。
+如果你没有购买 TF 卡套餐,你需要按照升级和烧录系统的方法烧录最新的系统到 TF 卡。

+
+

开机后可以看到功能选择界面,在设置中可以切换语言,可以自行尝试内置的各种应用和功能。

+

作为串口模块使用

+

内置的各种应用可以直接当成串口模块使用,比如找色块找人脸找二维码等等,

+
+

如果是想把设备当成主控使用(或者你还不懂什么是串口模块)可以跳过这一步。

+
+

使用方法:

+
    +
  • 硬件连接: 可以给设备接上Type-C一转二小板,这样我们就能将设备通过串口连接到你的主控上了,比如Arduino树莓派STM32等等。
  • +
  • 打开你想用的应用,比如二维码识别,当设备扫描到二维码就会通过串口把结果发送给你的主控了。
  • +
+
+

发送的串口波特率是 115200,数据格式是 8N1,协议遵循 Maix 串口通信协议标准,可以在MaixHub APP 找到对应的应用介绍查看协议。

+
+

开发环境准备

+
    +
  • 下载 MaixVision 并安装。 Linux 下推荐安装 deb 包。
  • +
  • 使用 Type-C 连接设备和电脑,打开 MaixVision,点击左下角的“连接”按钮,会自动搜索设备,稍等一下就能看到设备,点击设备有点的连接按钮以连接设备。
  • +
+
+

如果找不到设备,请在FAQ中查找解决方法。
+如果 USB 驱动确实没法安装,可以在设备设置里面连接和电脑同一局域网的 WiFi 即可。

+
+

运行例程

+

点击 MaixVision 左侧的示例代码,选择一个例程,点击左下角运行按钮将代码发送到设备上运行。

+

比如:

+
    +
  • hello.py,点击运行按钮,就能看到 MaixVision 终端有来自设备打印的Hello MaixPy!了。
  • +
  • camera_display.py,这个例程会打开摄像头并在屏幕上显示摄像头的画面。
  • +
+ +
from maix import camera, display, app
+
+disp = display.Display()          # 构造一个显示对象,并初始化屏幕
+cam = camera.Camera(640, 480)     # 构造一个摄像头对象,手动设置了分辨率为 640x480, 并初始化摄像头
+while not app.need_exit():        # 一直循环,直到程序退出(可以通过按下设备上方的按键退出或者 MaixVision 点击停止按钮退出)
+    img = cam.read()              # 读取摄像头画面保存到 img 变量,可以通过 print(img) 来打印 img 的详情
+    disp.show(img)                # 将 img 显示到屏幕上
+
+
    +
  • yolov5.py 会检测摄像头画面中的物体框出来并显示到屏幕上,支持 80 种物体的检测。
  • +
+

其它例程可以自行尝试。

+

安装应用到设备

+

点击 MaixVision 左下侧的安装应用按钮,填写应用信息,会将应用安装到设备上,然后在设备上就能看到应用了。
+也可以选择打包应用,将你的应用分享到MaixHub 应用商店

+
+

默认例程没有显式编写退出功能,进入应用后按下设备上方的按键即可退出应用。

+
+

下一步

+

看到这里,如果你觉得不错,请务必来 github 给 MaixPy 开源项目点一个 star(需要先登录 github), 你的 star 和认同是我们不断维护和完善的动力!

+

到这里你已经体验了一遍使用和开发流程了,接下来可以学习 MaixPy 语法和功能相关的内容,请按照左边的目录进行学习,如果遇到 API 使用问题,可以在API 文档中查找。

+

学习前最好带着自己学习的目的学,比如做一个有趣的小项目,这样学习效果会更好,项目和经验都可以分享到MaixHub 分享广场,会获得现金奖励哦!

+

分享交流

+
    +
  • MaixHub 项目和经验分享 :分享你的项目和经验,获得现金打赏,获得官方打赏的基本要求:
      +
    • 可复现型:较为完整的项目制作复现过程。
    • +
    • 炫耀型:无详细的项目复现过程,但是项目展示效果吸引人。
    • +
    • Bug 解决经验型:解决了某个难题的过程和具体解决方法分享。
    • +
    +
  • +
  • MaixPy 官方论坛(提问和交流)
  • +
  • QQ 群: (建议在 QQ 群提问前先发个帖,方便群友快速了解你需要了什么问题,复现过程是怎样的)
      +
    • MaixPy (v4) AI 视觉交流大群: 862340358
    • +
    +
  • +
  • Telegram: MaixPy
  • +
+ + +
+
+
+ + +
+
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/modules/acc.html b/maixpy/doc/modules/acc.html new file mode 100644 index 00000000..841db3e1 --- /dev/null +++ b/maixpy/doc/modules/acc.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/modules/thermal_cam.html b/maixpy/doc/modules/thermal_cam.html new file mode 100644 index 00000000..e574aa4a --- /dev/null +++ b/maixpy/doc/modules/thermal_cam.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/modules/tof.html b/maixpy/doc/modules/tof.html new file mode 100644 index 00000000..4f0529cd --- /dev/null +++ b/maixpy/doc/modules/tof.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/peripheral/gpio.html b/maixpy/doc/peripheral/gpio.html new file mode 100644 index 00000000..9e4e0674 --- /dev/null +++ b/maixpy/doc/peripheral/gpio.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/peripheral/i2c.html b/maixpy/doc/peripheral/i2c.html new file mode 100644 index 00000000..f63df8af --- /dev/null +++ b/maixpy/doc/peripheral/i2c.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/peripheral/pwm.html b/maixpy/doc/peripheral/pwm.html new file mode 100644 index 00000000..6fb9cd7a --- /dev/null +++ b/maixpy/doc/peripheral/pwm.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/peripheral/spi.html b/maixpy/doc/peripheral/spi.html new file mode 100644 index 00000000..20ef6177 --- /dev/null +++ b/maixpy/doc/peripheral/spi.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/peripheral/uart.html b/maixpy/doc/peripheral/uart.html new file mode 100644 index 00000000..5d06b634 --- /dev/null +++ b/maixpy/doc/peripheral/uart.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/peripheral/wdt.html b/maixpy/doc/peripheral/wdt.html new file mode 100644 index 00000000..32a6980b --- /dev/null +++ b/maixpy/doc/peripheral/wdt.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/pro/compile_os.html b/maixpy/doc/pro/compile_os.html new file mode 100644 index 00000000..fa490fc4 --- /dev/null +++ b/maixpy/doc/pro/compile_os.html @@ -0,0 +1,308 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/sidebar.yaml b/maixpy/doc/sidebar.yaml new file mode 100644 index 00000000..7a5ccdb7 --- /dev/null +++ b/maixpy/doc/sidebar.yaml @@ -0,0 +1,124 @@ +items: +- file: README.md + label: 快速开始 +- file: faq.md + label: FAQ 常见问题 + +- label: 基础 +- file: basic/os.md + label: 升级和烧录系统 +- file: basic/app_usage.md + label: 应用使用说明 +- file: basic/maixpy_upgrade.md + label: 更新 MaixPy +- file: basic/maixvision.md + label: MaixVision 使用 +- file: basic/python.md + label: Python 语法 +- file: basic/linux_basic.md + label: Linux 基础知识 +- file: basic/python_pkgs.md + label: 添加额外的 Python 包 +- file: basic/app.md + label: 应用开发和商店 + +- label: 基础图像和算法 +- file: vision/display.md + label: 屏幕使用 +- file: vision/camera.md + label: 摄像头使用 +- file: vision/image_ops.md + label: 基本图像操作 +- file: vision/find_blobs.md + label: 找色块 +- file: vision/qrcode.md + label: 二维码识别 +- file: vision/apriltag.md + label: AprilTag 识别 + +- label: AI 视觉 +- file: vision/ai.md + label: AI 视觉基本知识 +- file: vision/classify.md + label: AI 物体分类 +- file: vision/yolov5.md + label: YOLOv5 物体检测 +- file: vision/face_recognize.md + label: 人脸识别 +- file: vision/body_key_points.md + label: 人体关键点检测 +- file: vision/self_learn_classifier.md + label: 自学习分类器 +- file: vision/self_learn_detector.md + label: 自学习检测器 +- file: vision/object_track.md + label: 物体轨迹跟踪和计数 +- file: vision/maixhub_train.md + label: MaixHub 在线训练AI模型 +- file: vision/ocr.md + label: OCR 文字识别 + +- label: AI 听觉 +- file: audio/record.md + label: 录音 +- file: audio/play.md + label: 播放音频 +- file: audio/classifier.md + label: AI 声音分类器 +- file: audio/keyword.md + label: 关键词识别 +- file: audio/recognize.md + label: 语音实时识别 +- file: audio/synthesis.md + label: 语音合成 + +- label: 视频 +- file: video/record.md + label: 录像 +- file: video/play.md + label: 播放视频 +- file: video/jpeg_streaming.md + label: JPEG 串流 +- file: video/rtsp.md + label: RTSP 串流 + + +- label: 片上外设 +- file: peripheral/gpio.md + label: GPIO 和 点灯 +- file: peripheral/uart.md + label: UART 串口使用 +- file: peripheral/i2c.md + label: I2C 使用 +- file: peripheral/pwm.md + label: PWM 使用 +- file: peripheral/spi.md + label: SPI 使用 +- file: peripheral/wdt.md + label: WDT 看门狗使用 + +- label: 片外模块 +- file: modules/acc.md + label: 加速度计使用 +- file: modules/temp_hum.md + label: 温湿度传感器 +- file: modules/tof.md + label: TOF 测距 +- file: modules/thermal_cam.md + label: 热成像摄像头 + +- label: 进阶 +- file: source_code/contribute.md + label: 贡献文档和代码 +- file: source_code/build.md + label: 构建 MaixPy 源码 +- file: source_code/faq.md + label: MaixPy 源码 FAQ +- file: source_code/add_c_module.md + label: 使用 C/C++ 写一个模块 +- file: source_code/maixcdk.md + label: 使用 MaixCDK 开发 +- file: pro/compile_os.md + label: 编译系统 + + diff --git a/maixpy/doc/source_code/add_c_module.html b/maixpy/doc/source_code/add_c_module.html new file mode 100644 index 00000000..12b47c97 --- /dev/null +++ b/maixpy/doc/source_code/add_c_module.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/source_code/build.html b/maixpy/doc/source_code/build.html new file mode 100644 index 00000000..607fedda --- /dev/null +++ b/maixpy/doc/source_code/build.html @@ -0,0 +1,349 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy develop source code guide - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

MaixPy develop source code guide

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

Build

+ +
maixcdk build
+
+

And if add or delete files, run maixcdk rebuild.

+

Run test after modify source code

+
    +
  • First, build source code by
  • +
+ +
maixcdk build
+
+
    +
  • Then go to test directory, execute ./run.sh your_test_file_name.py to run python script.
  • +
+ +
cd test
+./run.sh test_image.py
+
+

Pack to wheel

+ +
python setup.py bdist_wheel linux
+
+

linux Can be replaced with other board config, see configs directory

+
+

python setup.py bdist_wheel linux --not-clean will not execute distclean command, so you can use maixcdk build first to customize building.

+
+

After build success, you will find wheel file in dist directory, use pip install -U MaixPy****.wheel on you board to install or upgrade.

+

Documentation

+

Documentation in [docs][./docs] directory, use Markdown format, you can use teedoc to generate web version documentation.

+ +
pip install teedoc -U
+cd docs
+teedoc install -i https://pypi.tuna.tsinghua.edu.cn/simple
+teedoc serve
+
+

Then visit http://127.0.0.1:2333 to preview documentation on web browser.

+

For developers who want to contribute

+

See MaixPy develop source code guide

+

If you encounter any problems when use source code, please refer to FAQ first.

+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/source_code/contribute.html b/maixpy/doc/source_code/contribute.html new file mode 100644 index 00000000..d0a27e0a --- /dev/null +++ b/maixpy/doc/source_code/contribute.html @@ -0,0 +1,344 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 参与 MaixPy 文档修改和贡献代码 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

参与 MaixPy 文档修改和贡献代码

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

参与 MaixPy 文档修改

+
    +
  • 点击要修改的文档右上角的编辑本页按钮,进入 github 源文档页面。
  • +
  • 保证已经登录了 GitHub 账号。
  • +
  • 在 github 预案文档页面点击右上角铅笔按钮修改文档内容。
  • +
  • github 会提示需要 fork 一份到自己的仓库,点击 fork 按钮。
  • +
+
+

这一步就是将 MaixPy 源码仓库复刻一份到你自己的账号下,这样你就可以自由修改了。

+
+
    +
  • 修改文档内容,然后在页面底部填写修改说明,点击提交修改。
  • +
  • 然后在你的仓库中找到 Pull requests 按钮,点击创建一个 Pull requests。
  • +
  • 然后在弹出的页面中填写修改说明,点击提交 Pull requests,其它人和管理员就可以在Pull requests 页面看到你的修改了。
  • +
  • 等待管理员审核通过后,你的修改就会合并到 MaixPy 源码仓库中了。
  • +
  • 合并成功后,文档会自动更新到 MaixPy 官方文档
  • +
+
+

文档经过 CDN 缓存了的,可能需要等待一段时间才能看到更新,紧急更新可以联系管理员手动刷新。
+也可以访问 en.wiki.sipeed.com/maixpy 查看 github pages 服务版本,这个是没有缓存实时更新的。

+
+

参与 MaixPy 代码贡献

+
    +
  • 访问 MaixPy 代码仓库地址:github.com/sipeed/MaixPy
  • +
  • 在修改代码前最好先创建一个 issue ,描述你要修改的内容让大家知道你的想法和计划,这样大家可以参与修改讨论,以免重复劳动。
  • +
  • 点击右上角的 fork 按钮,将 MaixPy 代码仓库复刻一份到你自己的账号下。
  • +
  • 然后在你的账号下 clone 一份代码到本地。
  • +
  • 修改代码后提交到你的仓库中。
  • +
  • 然后在你的仓库中找到 Pull requests 按钮,点击创建一个 Pull requests。
  • +
  • 然后在弹出的页面中填写修改说明,点击提交 Pull requests,其它人和管理员就可以在Pull requests 页面看到你的修改了。
  • +
  • 等待管理员审核通过后,你的修改就会合并到 MaixPy 源码仓库中了。
  • +
+
+

需要注意的是 MaixPy 的代码大多数是从 MaixCDK 自动生成的,所以如果你修改 C/C++ 源码,很有可能你需要先修改这个仓库。

+
+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/source_code/faq.html b/maixpy/doc/source_code/faq.html new file mode 100644 index 00000000..2d7f8f7e --- /dev/null +++ b/maixpy/doc/source_code/faq.html @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy Source Code FAQ - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

MaixPy Source Code FAQ

+ +
+
+
    + +
+
+
+
+ + + + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.

+

Edit /usr/bin/lsb_release as root, change the first line from #!/usr/bin/python3 to python3.

+

Then compile again and it should work.

+

ImportError: arg(): could not convert default argument 'format: maix::image::Format' in method '<class 'maix._maix.camera.Camera'>.init' into a Python object (type not registered yet?)

+

Pybind11 need you to register image::Format first, then you can use it in camera::Camera, to we must fist define image::Format in generated build/maixpy_wrapper.cpp source file.

+

To achieve this, edit components/maix/headers_priority.txt, the depended on should be placed before the one use it.
+e.g.

+ +
maix_image.hpp
+maix_camera.hpp
+
+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/source_code/maixcdk.html b/maixpy/doc/source_code/maixcdk.html new file mode 100644 index 00000000..89ee20ea --- /dev/null +++ b/maixpy/doc/source_code/maixcdk.html @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 切换到 MaixCDK 使用 C/C++ 开发应用 - MaixPy + + + + + + + + + + +
+ +
+ +
+
+
+
+ +

切换到 MaixCDK 使用 C/C++ 开发应用

+ +
+
+
    + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ + +
+
+ +
+
+ +

除了使用 MaixPy 开发,还有对应的 C/C++ SDK 可以使用,项目名称为 MaixCDK

+

MaixCDK 介绍

+

MaixPy 基于 MaixCDK 构建,MaixPy 的大多数 API 都是基于 MaixCDK 的 API 自动生成的,所以 MaixPy 有的功能 MaixCDK 都包含。
+如果你更熟悉 C/C++ 编程,或者需要更高的性能,可以使用 MaixCDK 进行开发。

+

MaixCDK 使用

+

MaixCDK 代码仓库地址:github.com/sipeed/MaixCDK, 你可以在这里找到 MaixCDK 的代码和文档。

+ + +
+
+ +
+
+
+
+
+ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/ai.html b/maixpy/doc/vision/ai.html new file mode 100644 index 00000000..d050b575 --- /dev/null +++ b/maixpy/doc/vision/ai.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/apriltag.html b/maixpy/doc/vision/apriltag.html new file mode 100644 index 00000000..f2d95224 --- /dev/null +++ b/maixpy/doc/vision/apriltag.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/body_key_points.html b/maixpy/doc/vision/body_key_points.html new file mode 100644 index 00000000..4ca8d9bf --- /dev/null +++ b/maixpy/doc/vision/body_key_points.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/camera.html b/maixpy/doc/vision/camera.html new file mode 100644 index 00000000..128d0667 --- /dev/null +++ b/maixpy/doc/vision/camera.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/classify.html b/maixpy/doc/vision/classify.html new file mode 100644 index 00000000..c5f5f6ca --- /dev/null +++ b/maixpy/doc/vision/classify.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/display.html b/maixpy/doc/vision/display.html new file mode 100644 index 00000000..28ceb031 --- /dev/null +++ b/maixpy/doc/vision/display.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/face_recognize.html b/maixpy/doc/vision/face_recognize.html new file mode 100644 index 00000000..f4d25b4a --- /dev/null +++ b/maixpy/doc/vision/face_recognize.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/find_blobs.html b/maixpy/doc/vision/find_blobs.html new file mode 100644 index 00000000..6d899a44 --- /dev/null +++ b/maixpy/doc/vision/find_blobs.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/image_ops.html b/maixpy/doc/vision/image_ops.html new file mode 100644 index 00000000..a352f1df --- /dev/null +++ b/maixpy/doc/vision/image_ops.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/maixhub_train.html b/maixpy/doc/vision/maixhub_train.html new file mode 100644 index 00000000..aae1adb0 --- /dev/null +++ b/maixpy/doc/vision/maixhub_train.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/object_track.html b/maixpy/doc/vision/object_track.html new file mode 100644 index 00000000..590b35ea --- /dev/null +++ b/maixpy/doc/vision/object_track.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/qrcode.html b/maixpy/doc/vision/qrcode.html new file mode 100644 index 00000000..04a4f238 --- /dev/null +++ b/maixpy/doc/vision/qrcode.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/self_learn_classifier.html b/maixpy/doc/vision/self_learn_classifier.html new file mode 100644 index 00000000..a9e20446 --- /dev/null +++ b/maixpy/doc/vision/self_learn_classifier.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/self_learn_detector.html b/maixpy/doc/vision/self_learn_detector.html new file mode 100644 index 00000000..ca29dad7 --- /dev/null +++ b/maixpy/doc/vision/self_learn_detector.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/doc/vision/yolov5.html b/maixpy/doc/vision/yolov5.html new file mode 100644 index 00000000..79f0e42d --- /dev/null +++ b/maixpy/doc/vision/yolov5.html @@ -0,0 +1,313 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MaixPy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/en/config.json b/maixpy/en/config.json new file mode 100644 index 00000000..04d94f89 --- /dev/null +++ b/maixpy/en/config.json @@ -0,0 +1,5 @@ +{ + "import": "config_en", + "class": "md_page", + "name": "MaixPy Pages" +} diff --git a/maixpy/en/index.html b/maixpy/en/index.html new file mode 100644 index 00000000..82b099a7 --- /dev/null +++ b/maixpy/en/index.html @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + MaixPy - MaixPy + + + + + + + + + + +
+
+
+ +
+

MaixPy (v4)

+

快速落地 AI 机器视觉应用

+
+ + + +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/en/no_translate.html b/maixpy/en/no_translate.html new file mode 100644 index 00000000..414f6c7e --- /dev/null +++ b/maixpy/en/no_translate.html @@ -0,0 +1,140 @@ + + + + + + + + + + + + + + + + + + no translation - MaixPy + + + + + + + + + + +
+
+
+ +
+
This page not translated yet
+
+ Please visit + +
+
+ +
+ + +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/favicon.ico b/maixpy/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3d8e88b1db08b40e0706694fb9d5dec6ef81cdba GIT binary patch literal 3926 zcmeH~`EyfM6vuB;5G||x00Zb$Y15`@Y1*dQ*XF&KK){{=@pFD>y0HXWUDoZ)3o&&^#w2V0xJ<(gAg(yACM`uMIcf47>>F}36#!+ zz~g9ho+YmJlnRu()H<1OJRXCY$wHZPbxma|$Z&9c^J zDsMB>dAqsP&e@t-&e6)`98K()vo@abtWS*k?(fJ1miF=C#r)8Fi#c;7pk0J4(KDOTpx;f)?)-gbj*&m~`wkPPEeFyOErt{Y4Xx{n? z#5xFkd5C>DBsNX}%UN79eu7DLb6^)Rx$aU>s=b6s#yRLekBP=vV4W%P3mT_sN?WJx zEh3iqc!>Enm2Z22&e{jzyqHABYhw?3A7X~Ri>?b8ANHZ-p@6;l0Y`Y$ECmsf_kYYLu{tW2% zS)|Z74Scg2A82?iDLGw(N7;qj`0tPsFIyMWZ@bqqhde7fMuPf2jznFf7|Vyc>#;$trr_=;p|*x0uOo1loe_D{Yed0#8Y>vCf?dJYx=XvtZGAM{nmN4!?3?ap%|%9Odp9oI zUQbAlJxS3uloCCCFvpV?u&O>Gbbr50uG}I;R_!>My6>sU?!T0)JvqE0G3IGv^7bK$ zx4cCPW-%-`ysyA9T zWXJQs_c-uv?h^e>x7hCQ5ioPFKx_og4TDG6<w86FX_pwN?i77qFbvw>w1lyLxBbLFzt831cN_mJ1+Hli5Z}uG0%O`6_zf`a z5?uF}p{?~_g9iLd3+vz5Hy;Q2Oa6CMrTO0+Xl2PGv}D1fdB3c*{&%!uJ`SovOG@$l Qm*?YM`)yw-?#=oB07Z16H2?qr literal 0 HcmV?d00001 diff --git a/maixpy/index.html b/maixpy/index.html new file mode 100644 index 00000000..b0d62231 --- /dev/null +++ b/maixpy/index.html @@ -0,0 +1,741 @@ + + + + + + + + + + + + + + + + + + MaixPy - MaixPy + + + + + + + + + + +
+
+
+ +
+ +
+ +
+
+ MaixPy Banner +
+

MaixPy (v4)

+

快速落地 AI 视觉、听觉应用

+
+ +
+

GitHub Repo starsApache 2.0PyPIPyPI - DownloadsGitHub repo size Build MaixCAMTrigger wiki

+
+
+

English | 中文

+
+
+
+

MaixPy-v1 (Maix-I K210) 用户请查看 MaixPy-v1 文档。 MaixPy v4 不支持 Maix-I Maix-II 系列硬件,请更新到 MaixCAM 硬件平台。
+喜欢 MaixPy 请到 GitHub 给 MaixPy 源码 点个 Star ⭐️ 以鼓励我们开发更多功能。

+
+
+
+
+

简易的 API 设计, 10 行代码进行 AI 图像识别:

+ +
from maix import camera, display, image, nn
+
+classifier = nn.Classifier(model="/root/models/mobilenetv2.mud")
+cam = camera.Camera(classifier.input_width(), classifier.input_height(), classifier.input_format())
+dis = display.Display()
+
+while 1:
+    img = cam.read()
+    res = classifier.classify(img)
+    max_idx, max_prob = res[0]
+    msg = f"{max_prob:5.2f}: {classifier.labels[max_idx]}"
+    img.draw_text(10, 10, msg, image.COLOR_RED)
+    dis.show(img)
+
+
+ +
+ +

硬件外设控制,不在话下:

+
+
+

串口收发:

+ +
from maix import uart
+
+ports = uart.list_ports()
+
+serial = uart.UART(ports[0], 115200)
+serial.write_str("hello world")
+print("received:", serial.read(timeout = 2000))
+
+
+
+

I2C 收发:

+ +
from maix import i2c
+
+devices = i2c.scan()
+
+dev1 = i2c.I2C(devices[0], freq=100000)
+dev1.writeto(0x12, b'hello')
+print("received:", dev1.readfrom(0x12, 5))
+
+
+
+ +

性能强劲 MaixCAM 硬件平台

+

MaixCAM

+
+
    +
  • CPU: 1GHz RISC-V(Linux)/ARM A53 + 700MHz RISC-V(RTOS) + 25~300MHz 8051(Low Power)
  • +
+
+

大核 RISC-V 和 ARM A53 二选一运行,MaixPy 使用 RISC-V 核心。

+
+
    +
  • NPU: 1Tops@INT8 NPU, 支持 BF16,支持 YOLOv5 YOLOv8 等。
  • +
  • 内存: 256MB DDR3。
  • +
  • 通信: USB2.0/WiFi6/BLE5.4。
  • +
  • 外设: IIC/PWM/SPI/UART/WDT/GPIO/ADC
  • +
  • 多媒体:4M 摄像头,2.3" 552x368 高清电容触摸屏,H.264/H.265/MJPEG 2K 硬件编解码。
  • +
  • 价格: 169 元 / 249 元。 (缺货时咨询店家)
  • +
+

更多细节看: MaixCAM

+ +
+

特性介绍

+

以下为部分功能简介,更多请看文档应用商店 或者社区分享MaixHub

+
+
+
+ +

Python + MaixVision IDE

+

简单的API,带有硬件加速,包含许多库,如numpy,opencv,MaixVision IDE 编程

+
+
+
+
+
+
+ +

C++版本

+

MaixCDK C++版本的SDK,与MaixPy的API相同

+
+
+
+
+
+
+ +

作为串口模块

+

其它 MCU 通过串口命令控制

+
+
+
+
+
+
+ +

APP商店

+

将您的APP分享给社区,并一键安装APPs

+
+
+
+
+
+
+ +

与MaixPy-v1兼容的API

+

快速从MaixPy-v1(K210)迁移到MaixPy-v4

+
+
+
+
+
+
+ +

AI 分类

+

+
+
+
+
+
+
+ +

AI 对象检测

+

+
+
+
+
+
+
+ +

AI 人脸识别

+

+
+
+
+
+
+
+ +

AI 人体关键点检测

+

+
+
+
+
+
+
+ +

AI 离线学习分类器

+

无需在PC上训练,在设备上离线学习对象特征

+
+
+
+
+
+
+ +

AI 离线学习检测器

+

无需在PC上训练,在设备上离线学习对象特征

+
+
+
+
+
+
+ +

AI 物体轨迹跟踪

+

+
+
+
+
+
+
+ +

AI 监控,串流

+

安防监控,可串流,甚至可以向直播平台 比如 Bilibili.com 直播

+
+
+
+
+
+
+ +

查找颜色

+

查找颜色斑点

+
+
+
+
+
+
+ +

巡线

+

小车巡线,物流搬运

+
+
+
+
+
+
+ +

QR码和AprilTag

+

识别QR码和AprilTag

+
+
+
+
+
+
+ +

OCR

+

识别图片中的字符

+
+
+
+
+
+
+ +

语音识别

+

实时连续语音识别

+
+
+
+
+
+
+ +

桌面监视器

+

监视PC信息,如CPU,内存,网络等。

+
+
+
+
+
+
+ +

天气站

+

监视天气信息,如温度,湿度等。

+
+
+
+
+
+
+

Maix 生态

+

+

谁在用 MaixPy?

+
    +
  • AI 算法工程师: 轻松将你的 AI 模型部署到嵌入式设备。
  • +
+
+

MaixPy 提供了易于使用的 API 来访问 NPU,以及帮助你开发 AI 模型的文档。

+
+
    +
  • STEM:想要教学生 AI 和嵌入式开发的老师。
  • +
+
+

MaixPy 提供了易于使用的 API,PC 工具,在线 AI 训练服务... 让你专注于教授 AI,而不是硬件和复杂的软件使用。

+
+
    +
  • 创客: 想要制作一些酷炫的项目,但不想学习复杂的硬件和软件。
  • +
+
+

MaixPy 提供了 Python API,所以你需要做的就是学习基础 Python 语法,而 MaixPy 的 API 非常易于使用,你甚至可以在几分钟内完成你的项目。

+
+
    +
  • 工程师: 想要做一些项目,但希望尽快有一个原型。
  • +
+
+

MaixPy 易于构建项目,并提供相应的 C++ SDK,所以你可以直接使用 MaixPy 来部署或在几分钟内将 Python 代码转换为 C++。

+
+
    +
  • 学生: 想要学习 AI,嵌入式开发。
  • +
+
+

我们提供了许多文档和教程,以及大量开源代码,帮助你找到学习路线,并逐步成长。从简单的 Python 编程到视觉,AI,音频,Linux,RTOS等。

+
+
    +
  • 企业: 想要开发 AI 视觉产品,但没有时间或工程师来开发复杂的嵌入式系统。
  • +
+
+

使用 MaixPy 甚至图形编程来开发你的产品,不需要更多的员工和时间。例如,向你的生产线添加一个 AI QA 系统,或者根据你的需求向你的办公室添加一个 AI 安全监控器。

+
+
    +
  • 竞赛者: 想要赢得比赛的比赛人们。
  • +
+
+

MaixPy 集成了许多功能,易于使用,加快你作品产出速度,以在有限的时间内赢得比赛,国内常见比赛都有很多同学使用 MaixPy 赢得比赛。

+
+

性能对比

+

相比上两代 Maix 系列产品有限的 NPU 算子支持和内存限制,MaixCAM 在保持超高性价比的同时,性能和体验有了很大的提升,强烈建议升级到最新的 MaixCAM 以及 MaixPy v4。

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
特征Maix-I K210Maix-II v831MaixCAM
CPU400MHz RISC-V x2800MHz ARM71GHz RISC-V(Linux)
700MHz RISC-V(RTOS)
25~300MHz 8051(Low Power)
内存6MB SRAM64MB DDR2256MB DDR3
NPU0.25Tops@INT8
official says 1T but...
0.25Tops@INT81Tops@INT8
Encoder1080p@30fps2K@30fps
屏幕2.4" 320x2401.3" 240x2402.28" 552x368 / 5" 1280x720 / 7" 1280x800 / 10“ 1280x800
触摸屏2.3" 552x368
摄像头30W200W500W
WiFi2.4G2.4GWiFi6 2.4G/5G
USBUSB2.0USB2.0
以太网100M(选配)100M(选配)
SD 卡接口SPISDIOSDIO
BLEBLE5.4
操作系统RTOSTina LinuxLinux + RTOS
编程语言C / C++ / MicroPythonC / C++ / Python3C / C++ / Python3
SoftwareMaixPyMaixPy3MaixCDK + MaixPy v4 + opencv + numpy + ...
PC 软件MaixPy IDEMaixPy3 IDEMaixVision Workstation
文档⭐️⭐️⭐️⭐️⭐️⭐️⭐️🌟🌟🌟🌟🌟
在线 AI 训练⭐️⭐️⭐️⭐️⭐️⭐️⭐️🌟🌟🌟🌟🌟
官方应用⭐️⭐️⭐️⭐️⭐️🌟🌟🌟🌟🌟
AI 分类(224x224)MobileNetv1 50fps
MobileNetv2 ✖
Resnet ✖
MobileNet ✖
Resnet18 20fps
Resnet50 ✖
MobileNetv2 130fps
Resnet18 62fps
Resnet50 28fps
AI 检测YOLOv2(224x224) 15fpsYOLOv2(224x224) 15fpsYOLOv5s(224x224) 100fps
YOLOv5s(320x256) 70fps
YOLOv5s(640x640) 15fps
YOLOv8n(640x640) 23fps
易用性⭐️⭐️⭐️⭐️⭐️⭐️⭐️🌟🌟🌟🌟🌟
+

MaixPy v1, MaixPy3 and MaixPy v4 有什么区别?

+
    +
  • MaixPy v1 使用 MicroPython 编程语言,仅支持 Sipeed Maix-I K210 系列硬件,有限的第三方包。
  • +
  • MaixPy3 专为 Sipeed Maix-II-Dock v831 设计,不是长期支持版本。
  • +
  • MaixPy v4 使用 Python 编程语言,因此我们可以直接使用许多包。MaixPy v4 支持 Sipeed 的新硬件平台,这是一个长期支持版本,未来的硬件平台将支持这个版本。MaixPy v4 有一个 MaixPy-v1 兼容的 API,所以你可以快速将你的 MaixPy v1 项目迁移到 MaixPy v4。
  • +
+

(MaixPy v4 不支持 Maix-I K210 系列,如果你正在使用 Maix-I K210 系列,建议升级硬件平台以使用此版本,以获得更多功能和更好的性能。)

+

开源协议

+

所有在本仓库中的文件都遵循 Apache License 2.0 Sipeed Ltd. 协议,除了第三方库或者有自己的协议。

+

社区

+ + + +
+
+ + +
+ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/maixpy/robots.txt b/maixpy/robots.txt new file mode 100644 index 00000000..fbd77f3f --- /dev/null +++ b/maixpy/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Sitemap: https://wiki.sipeed.com/sitemap.xml diff --git a/maixpy/sitemap.xml b/maixpy/sitemap.xml new file mode 100644 index 00000000..0d8b23c2 --- /dev/null +++ b/maixpy/sitemap.xml @@ -0,0 +1,429 @@ + + + + https://wiki.sipeed.com/maixpy/api/maix/touchscreen.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/wdt.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/spi.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/uart.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/key.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/adc.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/protocol.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/tensor.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/nn/F.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/index.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/app.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/i18n.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/example.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/thread.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/err.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/comm.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/sys.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/display.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/timer.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/i2c.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/gpio.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/peripheral/pwm.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/time.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/fs.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/camera.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/nn.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/api/maix/image.html + 2024-03-28 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/basic/app.html + 2024-03-18 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/basic/os.html + 2024-03-27 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/basic/python_pkgs.html + 2024-03-12 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/basic/app_usage.html + 2024-03-06 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/basic/maixpy_upgrade.html + 2024-03-27 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/pro/compile_os.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/modules/thermal_cam.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/modules/tof.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/faq.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/basic/python.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/basic/linux_basic.html + 2024-03-12 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/basic/maixvision.html + 2024-03-12 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/modules/acc.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/audio/recognize.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/index.html + 2024-03-27 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/display.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/body_key_points.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/qrcode.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/source_code/contribute.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/peripheral/wdt.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/peripheral/spi.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/peripheral/i2c.html + 2024-03-30 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/classify.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/image_ops.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/maixhub_train.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/ai.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/peripheral/gpio.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/peripheral/uart.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/peripheral/pwm.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/self_learn_detector.html + 2024-03-30 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/apriltag.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/self_learn_classifier.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/object_track.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/source_code/faq.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/source_code/build.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/source_code/maixcdk.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/source_code/add_c_module.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/yolov5.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/face_recognize.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/camera.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/vision/find_blobs.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/en/index.html + 2024-03-07 + weekly + 1.0 + + + https://wiki.sipeed.com/maixpy/doc/en/no_translate.html + 2024-03-30 + weekly + 1.0 + + diff --git a/maixpy/static/css/custom.css b/maixpy/static/css/custom.css new file mode 100644 index 00000000..db773d3b --- /dev/null +++ b/maixpy/static/css/custom.css @@ -0,0 +1,15 @@ + + +#home_page h1 { + color: #c33d45; +} +.dark #home_page h1{ + color: white; +} + +@media screen and (max-width: 900px) { + #home_page h1 { + color: #eb4848; + } +} + diff --git a/maixpy/static/css/search/style.css b/maixpy/static/css/search/style.css new file mode 100644 index 00000000..532536a9 --- /dev/null +++ b/maixpy/static/css/search/style.css @@ -0,0 +1,330 @@ +/** + teedoc search plugin css + @author neucrack + @copyright (c) neucrack CZD666666@gmail.com with MIT License + @changes 2021.2.1 add basic attrributes + */ +.blur { + -webkit-filter: blur(9px); + filter: blur(9px); +} +.pointer { + cursor: pointer; +} +.dark #search { + background-color: #2d2d2d; +} +#search { + border-radius: 2em; + background-color: #f1f1f1; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + transition: 0.4s; +} + +#search .icon { + transition: transform 0.4s linear; + background: url("/maixpy/static/image/search/search.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + align-self: center; + min-height: 1.8rem; + min-width: 1.8rem; + transition: 0.2s; +} +#search .placeholder { + padding: 0 1em; + color: #a5a5a5; +} +#search_hints { + display: none; +} + +#search_wrapper { + display: none; + position: fixed; + top: 0; + bottom: 0; + left: 0; + right: 0; + background-color: rgba(0, 0, 0, 0.73); + z-index: 100; +} +.dark #search_wrapper { + background-color: transparent; +} +#search_wrapper input:focus{ + outline: none; + border: 1px solid #58b195; +} +#search_wrapper .close { + background: url("/maixpy/static/image/search/close.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + border-radius: 0.5em; + min-height: 2.5rem; + min-width: 2.5rem; + z-index: 100; + position: fixed; + top: 3em; + right: 3em; + cursor: pointer; +} +#search_title { + margin: 1em; +} +#search_wrapper #search_title > div { + display: flex; + flex-direction: row; + justify-content: center; +} +#search_wrapper input { + height: 60px; + width: 60%; + border: none; + border-radius: 0.5em; + margin: 0; + text-align: center; + color: #222222; + font-size: 1.2em; + display: inline-block; + box-shadow: 0 0 12px 0 #e8e8e8; +} +.dark #search_wrapper input { + box-shadow: 0 0 12px 0 #000000; + background-color: black; + color: white; +} +#search_wrapper > div { + display: flex; + height: 100%; +} +#search_wrapper #search_content { + display: flex; + flex-direction: column; + width: 75%; + height: 100%; + background-color: white; + margin: auto; + padding: 0; + border-radius: 0.5em; +} +.dark #search_wrapper #search_content { + background-color: #3c3c3c; +} +#search_result { + height: 100%; + display: flex; + flex-direction: row; + overflow: auto; +} +#search_result h1 { + font-size: 1.2em; +} +#search_result_name { + overflow-y: auto; + min-width: max-content; +} +#search_result_content { + overflow-y: auto; + flex-grow: 1; +} +#search_result ul { + padding-left: 0; + list-style: none; +} +#search_result li { + box-shadow: 0 0 10px #e0e0e0; + list-style: none; + padding: 1em; + margin: 1em; + border-radius: 0.5em; + transition: 0.4s; + background-color: white; +} +.dark #search_result li { + background-color: #2d2d2d; + box-shadow: 0 0 2px #000000; +} +#search_result #search_result_name li { + margin: 0.5em 1em 0.5em 0; + background: #4caf7d; + color: white; + border-radius: 0; +} +.dark #search_result #search_result_name li { + background: #1b4c33; +} +#search_result #search_result_name li:hover { + margin-right: 0; +} +#search_result li:hover { + box-shadow: 0px 5px 14px #868686; +} +.dark #search_result li:hover{ + box-shadow: 0px 5px 14px #1d1d1d; +} + +#search_result code { + background-color: #4caf7d; + color: white; + border-radius: 0.2em; + padding: 0.1em; +} +#search_result .loading_hint { + color: red; +} +#search_curr_result { + margin-top: 0; + padding-bottom: 3em; + border: 1px solid #4caf7d; + border-radius: 5px; +} +#search_others_result { + padding-bottom: 3em; + border: 1px solid #bdbdbd; + border-radius: 5px; +} +.dark #search_curr_result { + border: 1px solid #1b4c33; +} +.dark #search_others_result { + border: 1px solid #696969; +} +#search_curr_result:first-child, +#search_others_result:first-child { + border-radius: 5px; +} +#search_result .hint { + height: 2em; + color: white; + font-size: 1.5em; + display: flex; + justify-content: center; + flex-direction: column; + text-align: center; + border-top: none; + box-shadow: 0 6px 7px rgba(76, 175, 125, 0.38); + background: #4caf7d; +} +.dark #search_result .hint { + background: #1b4c33; +} +#search_curr_result > .hint { + background-color: #4caf7d; +} +#search_curr_result .searching { + background-color: #ff9800; +} +.search_highlight { + background-color: #FFEB3B; + border-radius: 0.2em; + padding: 0.1em; + +} +.dark .search_highlight{ + color: #1b1b1b; +} +.selected_highlight { + background-color: #ff9823; +} + +#search_ctrl_btn { + position: fixed; + top: 2em; + right: 1em; + display: flex; + flex-direction: row; + z-index: 999; + user-select: none; +} +#search_ctrl_btn > div { + border-radius: 0.2em; + min-width: 5em; + min-height: 2.5em; + background-color: #fae94e; + margin: 0.2em; + display: flex; + flex-direction: row; + align-items: center; + justify-content: center; + padding: 0.2em; + cursor: pointer; + box-shadow: 0 0 12px 0 rgb(0, 0, 0, 0.06); + transition: 0.4s; + color: #8b7000; +} +#search_ctrl_btn > div:hover { + box-shadow: 0 0 12px 0 rgb(0, 0, 0, 0.2); +} +#search_ctrl_btn > .previous .icon { + background-image: url("/static/image/search/up.svg"); + -ms-transform: rotate(270deg); + -moz-transform: rotate(270deg); + -webkit-transform: rotate(270deg); + transform: rotate(270deg); + background-size: 2em; + background-repeat: no-repeat; + background-position: center; + min-height: 1.5em; + min-width: 1.5em; + height: 1.5em; + width: 1.5em; +} +#search_ctrl_btn > .next .icon { + background-image: url("/static/image/search/up.svg"); + -ms-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + background-size: 2em; + background-repeat: no-repeat; + background-position: center; + min-height: 1.5em; + min-width: 1.5em; + height: 1.5em; + width: 1.5em; +} + +#remove_search > .icon { + background-image: url("/static/image/search/cancel.svg"); + background-size: 2em; + background-repeat: no-repeat; + background-position: center; + min-height: 1.5em; + min-width: 1.5em; + height: 1.5em; + width: 1.5em; +} + + +@media screen and (max-width: 900px) { + #search_wrapper #search_content { + width: 100%; + height: 100%; + border-radius: 0; + } + #search_wrapper input { + font-size: 0.8em; + } + #search_wrapper .close { + top: 1.5em; + right: 1em; + } + #search_result li { + margin: 0; + } + #search_result #search_result_name li { + font-size: 0.8em; + } + #search_curr_result > .hint { + font-size: 1.2em; + } + #search_result .hint { + font-size: 1.2em; + } +} diff --git a/maixpy/static/css/tailwind.css b/maixpy/static/css/tailwind.css new file mode 100644 index 00000000..d705193e --- /dev/null +++ b/maixpy/static/css/tailwind.css @@ -0,0 +1,63 @@ +(()=>{var Sb=Object.create;var li=Object.defineProperty;var Cb=Object.getOwnPropertyDescriptor;var Ab=Object.getOwnPropertyNames;var _b=Object.getPrototypeOf,Eb=Object.prototype.hasOwnProperty;var uu=i=>li(i,"__esModule",{value:!0});var fu=i=>{if(typeof require!="undefined")return require(i);throw new Error('Dynamic require of "'+i+'" is not supported')};var C=(i,e)=>()=>(i&&(e=i(i=0)),e);var v=(i,e)=>()=>(e||i((e={exports:{}}).exports,e),e.exports),Ae=(i,e)=>{uu(i);for(var t in e)li(i,t,{get:e[t],enumerable:!0})},Ob=(i,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ab(e))!Eb.call(i,r)&&r!=="default"&&li(i,r,{get:()=>e[r],enumerable:!(t=Cb(e,r))||t.enumerable});return i},K=i=>Ob(uu(li(i!=null?Sb(_b(i)):{},"default",i&&i.__esModule&&"default"in i?{get:()=>i.default,enumerable:!0}:{value:i,enumerable:!0})),i);var m,l=C(()=>{m={platform:"",env:{},versions:{node:"14.17.6"}}});var Tb,te,ze=C(()=>{l();Tb=0,te={readFileSync:i=>self[i]||"",statSync:()=>({mtimeMs:Tb++}),promises:{readFile:i=>Promise.resolve(self[i]||"")}}});var Xn=v((X5,pu)=>{l();"use strict";var cu=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");if(typeof e.maxAge=="number"&&e.maxAge===0)throw new TypeError("`maxAge` must be a number greater than 0");this.maxSize=e.maxSize,this.maxAge=e.maxAge||1/0,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_emitEvictions(e){if(typeof this.onEviction=="function")for(let[t,r]of e)this.onEviction(t,r.value)}_deleteIfExpired(e,t){return typeof t.expiry=="number"&&t.expiry<=Date.now()?(typeof this.onEviction=="function"&&this.onEviction(e,t.value),this.delete(e)):!1}_getOrDeleteIfExpired(e,t){if(this._deleteIfExpired(e,t)===!1)return t.value}_getItemValue(e,t){return t.expiry?this._getOrDeleteIfExpired(e,t):t.value}_peek(e,t){let r=t.get(e);return this._getItemValue(e,r)}_set(e,t){this.cache.set(e,t),this._size++,this._size>=this.maxSize&&(this._size=0,this._emitEvictions(this.oldCache),this.oldCache=this.cache,this.cache=new Map)}_moveToRecent(e,t){this.oldCache.delete(e),this._set(e,t)}*_entriesAscending(){for(let e of this.oldCache){let[t,r]=e;this.cache.has(t)||this._deleteIfExpired(t,r)===!1&&(yield e)}for(let e of this.cache){let[t,r]=e;this._deleteIfExpired(t,r)===!1&&(yield e)}}get(e){if(this.cache.has(e)){let t=this.cache.get(e);return this._getItemValue(e,t)}if(this.oldCache.has(e)){let t=this.oldCache.get(e);if(this._deleteIfExpired(e,t)===!1)return this._moveToRecent(e,t),t.value}}set(e,t,{maxAge:r=this.maxAge===1/0?void 0:Date.now()+this.maxAge}={}){this.cache.has(e)?this.cache.set(e,{value:t,maxAge:r}):this._set(e,{value:t,expiry:r})}has(e){return this.cache.has(e)?!this._deleteIfExpired(e,this.cache.get(e)):this.oldCache.has(e)?!this._deleteIfExpired(e,this.oldCache.get(e)):!1}peek(e){if(this.cache.has(e))return this._peek(e,this.cache);if(this.oldCache.has(e))return this._peek(e,this.oldCache)}delete(e){let t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}resize(e){if(!(e&&e>0))throw new TypeError("`maxSize` must be a number greater than 0");let t=[...this._entriesAscending()],r=t.length-e;r<0?(this.cache=new Map(t),this.oldCache=new Map,this._size=t.length):(r>0&&this._emitEvictions(t.slice(0,r)),this.oldCache=new Map(t.slice(r)),this.cache=new Map,this._size=0),this.maxSize=e}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}*[Symbol.iterator](){for(let e of this.cache){let[t,r]=e;this._deleteIfExpired(t,r)===!1&&(yield[t,r.value])}for(let e of this.oldCache){let[t,r]=e;this.cache.has(t)||this._deleteIfExpired(t,r)===!1&&(yield[t,r.value])}}*entriesDescending(){let e=[...this.cache];for(let t=e.length-1;t>=0;--t){let r=e[t],[n,a]=r;this._deleteIfExpired(n,a)===!1&&(yield[n,a.value])}e=[...this.oldCache];for(let t=e.length-1;t>=0;--t){let r=e[t],[n,a]=r;this.cache.has(n)||this._deleteIfExpired(n,a)===!1&&(yield[n,a.value])}}*entriesAscending(){for(let[e,t]of this._entriesAscending())yield[e,t.value]}get size(){if(!this._size)return this.oldCache.size;let e=0;for(let t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}};pu.exports=cu});var du,hu=C(()=>{l();du=i=>i&&i._hash});function ui(i){return du(i,{ignoreUnknown:!0})}var mu=C(()=>{l();hu()});function Xe(i){if(i=`${i}`,i==="0")return"0";if(/^[+-]?(\d+|\d*\.\d+)(e[+-]?\d+)?(%|\w+)?$/.test(i))return i.replace(/^[+-]?/,t=>t==="-"?"":"-");let e=["var","calc","min","max","clamp"];for(let t of e)if(i.includes(`${t}(`))return`calc(${i} * -1)`}var fi=C(()=>{l()});var gu,yu=C(()=>{l();gu=["preflight","container","accessibility","pointerEvents","visibility","position","inset","isolation","zIndex","order","gridColumn","gridColumnStart","gridColumnEnd","gridRow","gridRowStart","gridRowEnd","float","clear","margin","boxSizing","lineClamp","display","aspectRatio","height","maxHeight","minHeight","width","minWidth","maxWidth","flex","flexShrink","flexGrow","flexBasis","tableLayout","captionSide","borderCollapse","borderSpacing","transformOrigin","translate","rotate","skew","scale","transform","animation","cursor","touchAction","userSelect","resize","scrollSnapType","scrollSnapAlign","scrollSnapStop","scrollMargin","scrollPadding","listStylePosition","listStyleType","listStyleImage","appearance","columns","breakBefore","breakInside","breakAfter","gridAutoColumns","gridAutoFlow","gridAutoRows","gridTemplateColumns","gridTemplateRows","flexDirection","flexWrap","placeContent","placeItems","alignContent","alignItems","justifyContent","justifyItems","gap","space","divideWidth","divideStyle","divideColor","divideOpacity","placeSelf","alignSelf","justifySelf","overflow","overscrollBehavior","scrollBehavior","textOverflow","hyphens","whitespace","wordBreak","borderRadius","borderWidth","borderStyle","borderColor","borderOpacity","backgroundColor","backgroundOpacity","backgroundImage","gradientColorStops","boxDecorationBreak","backgroundSize","backgroundAttachment","backgroundClip","backgroundPosition","backgroundRepeat","backgroundOrigin","fill","stroke","strokeWidth","objectFit","objectPosition","padding","textAlign","textIndent","verticalAlign","fontFamily","fontSize","fontWeight","textTransform","fontStyle","fontVariantNumeric","lineHeight","letterSpacing","textColor","textOpacity","textDecoration","textDecorationColor","textDecorationStyle","textDecorationThickness","textUnderlineOffset","fontSmoothing","placeholderColor","placeholderOpacity","caretColor","accentColor","opacity","backgroundBlendMode","mixBlendMode","boxShadow","boxShadowColor","outlineStyle","outlineWidth","outlineOffset","outlineColor","ringWidth","ringColor","ringOpacity","ringOffsetWidth","ringOffsetColor","blur","brightness","contrast","dropShadow","grayscale","hueRotate","invert","saturate","sepia","filter","backdropBlur","backdropBrightness","backdropContrast","backdropGrayscale","backdropHueRotate","backdropInvert","backdropOpacity","backdropSaturate","backdropSepia","backdropFilter","transitionProperty","transitionDelay","transitionDuration","transitionTimingFunction","willChange","content"]});function wu(i,e){return i===void 0?e:Array.isArray(i)?i:[...new Set(e.filter(r=>i!==!1&&i[r]!==!1).concat(Object.keys(i).filter(r=>i[r]!==!1)))]}var bu=C(()=>{l()});var vu={};Ae(vu,{default:()=>_e});var _e,ci=C(()=>{l();_e=new Proxy({},{get:()=>String})});function Kn(i,e,t){typeof m!="undefined"&&m.env.JEST_WORKER_ID||t&&xu.has(t)||(t&&xu.add(t),console.warn(""),e.forEach(r=>console.warn(i,"-",r)))}function Zn(i){return _e.dim(i)}var xu,F,Ee=C(()=>{l();ci();xu=new Set;F={info(i,e){Kn(_e.bold(_e.cyan("info")),...Array.isArray(i)?[i]:[e,i])},warn(i,e){["content-problems"].includes(i)||Kn(_e.bold(_e.yellow("warn")),...Array.isArray(i)?[i]:[e,i])},risk(i,e){Kn(_e.bold(_e.magenta("risk")),...Array.isArray(i)?[i]:[e,i])}}});var ku={};Ae(ku,{default:()=>es});function nr({version:i,from:e,to:t}){F.warn(`${e}-color-renamed`,[`As of Tailwind CSS ${i}, \`${e}\` has been renamed to \`${t}\`.`,"Update your configuration file to silence this warning."])}var es,ts=C(()=>{l();Ee();es={inherit:"inherit",current:"currentColor",transparent:"transparent",black:"#000",white:"#fff",slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"},get lightBlue(){return nr({version:"v2.2",from:"lightBlue",to:"sky"}),this.sky},get warmGray(){return nr({version:"v3.0",from:"warmGray",to:"stone"}),this.stone},get trueGray(){return nr({version:"v3.0",from:"trueGray",to:"neutral"}),this.neutral},get coolGray(){return nr({version:"v3.0",from:"coolGray",to:"gray"}),this.gray},get blueGray(){return nr({version:"v3.0",from:"blueGray",to:"slate"}),this.slate}}});function rs(i,...e){for(let t of e){for(let r in t)i?.hasOwnProperty?.(r)||(i[r]=t[r]);for(let r of Object.getOwnPropertySymbols(t))i?.hasOwnProperty?.(r)||(i[r]=t[r])}return i}var Su=C(()=>{l()});function Ke(i){if(Array.isArray(i))return i;let e=i.split("[").length-1,t=i.split("]").length-1;if(e!==t)throw new Error(`Path is invalid. Has unbalanced brackets: ${i}`);return i.split(/\.(?![^\[]*\])|[\[\]]/g).filter(Boolean)}var pi=C(()=>{l()});function J(i,e){return di.future.includes(e)?i.future==="all"||(i?.future?.[e]??Cu[e]??!1):di.experimental.includes(e)?i.experimental==="all"||(i?.experimental?.[e]??Cu[e]??!1):!1}function Au(i){return i.experimental==="all"?di.experimental:Object.keys(i?.experimental??{}).filter(e=>di.experimental.includes(e)&&i.experimental[e])}function _u(i){if(m.env.JEST_WORKER_ID===void 0&&Au(i).length>0){let e=Au(i).map(t=>_e.yellow(t)).join(", ");F.warn("experimental-flags-enabled",[`You have enabled experimental features: ${e}`,"Experimental features in Tailwind CSS are not covered by semver, may introduce breaking changes, and can change at any time."])}}var Cu,di,De=C(()=>{l();ci();Ee();Cu={optimizeUniversalDefaults:!1,generalizedModifiers:!0,get disableColorOpacityUtilitiesByDefault(){return!1},get relativeContentPathsByDefault(){return!1}},di={future:["hoverOnlyWhenSupported","respectDefaultRingColorOpacity","disableColorOpacityUtilitiesByDefault","relativeContentPathsByDefault"],experimental:["optimizeUniversalDefaults","generalizedModifiers"]}});function Eu(i){(()=>{if(i.purge||!i.content||!Array.isArray(i.content)&&!(typeof i.content=="object"&&i.content!==null))return!1;if(Array.isArray(i.content))return i.content.every(t=>typeof t=="string"?!0:!(typeof t?.raw!="string"||t?.extension&&typeof t?.extension!="string"));if(typeof i.content=="object"&&i.content!==null){if(Object.keys(i.content).some(t=>!["files","relative","extract","transform"].includes(t)))return!1;if(Array.isArray(i.content.files)){if(!i.content.files.every(t=>typeof t=="string"?!0:!(typeof t?.raw!="string"||t?.extension&&typeof t?.extension!="string")))return!1;if(typeof i.content.extract=="object"){for(let t of Object.values(i.content.extract))if(typeof t!="function")return!1}else if(!(i.content.extract===void 0||typeof i.content.extract=="function"))return!1;if(typeof i.content.transform=="object"){for(let t of Object.values(i.content.transform))if(typeof t!="function")return!1}else if(!(i.content.transform===void 0||typeof i.content.transform=="function"))return!1;if(typeof i.content.relative!="boolean"&&typeof i.content.relative!="undefined")return!1}return!0}return!1})()||F.warn("purge-deprecation",["The `purge`/`content` options have changed in Tailwind CSS v3.0.","Update your configuration file to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#configure-content-sources"]),i.safelist=(()=>{let{content:t,purge:r,safelist:n}=i;return Array.isArray(n)?n:Array.isArray(t?.safelist)?t.safelist:Array.isArray(r?.safelist)?r.safelist:Array.isArray(r?.options?.safelist)?r.options.safelist:[]})(),i.blocklist=(()=>{let{blocklist:t}=i;if(Array.isArray(t)){if(t.every(r=>typeof r=="string"))return t;F.warn("blocklist-invalid",["The `blocklist` option must be an array of strings.","https://tailwindcss.com/docs/content-configuration#discarding-classes"])}return[]})(),typeof i.prefix=="function"?(F.warn("prefix-function",["As of Tailwind CSS v3.0, `prefix` cannot be a function.","Update `prefix` in your configuration to be a string to eliminate this warning.","https://tailwindcss.com/docs/upgrade-guide#prefix-cannot-be-a-function"]),i.prefix=""):i.prefix=i.prefix??"",i.content={relative:(()=>{let{content:t}=i;return t?.relative?t.relative:J(i,"relativeContentPathsByDefault")})(),files:(()=>{let{content:t,purge:r}=i;return Array.isArray(r)?r:Array.isArray(r?.content)?r.content:Array.isArray(t)?t:Array.isArray(t?.content)?t.content:Array.isArray(t?.files)?t.files:[]})(),extract:(()=>{let t=(()=>i.purge?.extract?i.purge.extract:i.content?.extract?i.content.extract:i.purge?.extract?.DEFAULT?i.purge.extract.DEFAULT:i.content?.extract?.DEFAULT?i.content.extract.DEFAULT:i.purge?.options?.extractors?i.purge.options.extractors:i.content?.options?.extractors?i.content.options.extractors:{})(),r={},n=(()=>{if(i.purge?.options?.defaultExtractor)return i.purge.options.defaultExtractor;if(i.content?.options?.defaultExtractor)return i.content.options.defaultExtractor})();if(n!==void 0&&(r.DEFAULT=n),typeof t=="function")r.DEFAULT=t;else if(Array.isArray(t))for(let{extensions:a,extractor:s}of t??[])for(let o of a)r[o]=s;else typeof t=="object"&&t!==null&&Object.assign(r,t);return r})(),transform:(()=>{let t=(()=>i.purge?.transform?i.purge.transform:i.content?.transform?i.content.transform:i.purge?.transform?.DEFAULT?i.purge.transform.DEFAULT:i.content?.transform?.DEFAULT?i.content.transform.DEFAULT:{})(),r={};return typeof t=="function"&&(r.DEFAULT=t),typeof t=="object"&&t!==null&&Object.assign(r,t),r})()};for(let t of i.content.files)if(typeof t=="string"&&/{([^,]*?)}/g.test(t)){F.warn("invalid-glob-braces",[`The glob pattern ${Zn(t)} in your Tailwind CSS configuration is invalid.`,`Update it to ${Zn(t.replace(/{([^,]*?)}/g,"$1"))} to silence this warning.`]);break}return i}var Ou=C(()=>{l();De();Ee()});function ie(i){if(Object.prototype.toString.call(i)!=="[object Object]")return!1;let e=Object.getPrototypeOf(i);return e===null||e===Object.prototype}var xt=C(()=>{l()});function Ze(i){return Array.isArray(i)?i.map(e=>Ze(e)):typeof i=="object"&&i!==null?Object.fromEntries(Object.entries(i).map(([e,t])=>[e,Ze(t)])):i}var hi=C(()=>{l()});function ht(i){return i.replace(/\\,/g,"\\2c ")}var mi=C(()=>{l()});var is,Tu=C(()=>{l();is={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});function sr(i,{loose:e=!1}={}){if(typeof i!="string")return null;if(i=i.trim(),i==="transparent")return{mode:"rgb",color:["0","0","0"],alpha:"0"};if(i in is)return{mode:"rgb",color:is[i].map(a=>a.toString())};let t=i.replace(Db,(a,s,o,u,c)=>["#",s,s,o,o,u,u,c?c+c:""].join("")).match(Pb);if(t!==null)return{mode:"rgb",color:[parseInt(t[1],16),parseInt(t[2],16),parseInt(t[3],16)].map(a=>a.toString()),alpha:t[4]?(parseInt(t[4],16)/255).toString():void 0};let r=i.match(Ib)??i.match(qb);if(r===null)return null;let n=[r[2],r[3],r[4]].filter(Boolean).map(a=>a.toString());return n.length===2&&n[0].startsWith("var(")?{mode:r[1],color:[n[0]],alpha:n[1]}:!e&&n.length!==3||n.length<3&&!n.some(a=>/^var\(.*?\)$/.test(a))?null:{mode:r[1],color:n,alpha:r[5]?.toString?.()}}function ns({mode:i,color:e,alpha:t}){let r=t!==void 0;return i==="rgba"||i==="hsla"?`${i}(${e.join(", ")}${r?`, ${t}`:""})`:`${i}(${e.join(" ")}${r?` / ${t}`:""})`}var Pb,Db,et,gi,Pu,tt,Ib,qb,ss=C(()=>{l();Tu();Pb=/^#([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})?$/i,Db=/^#([a-f\d])([a-f\d])([a-f\d])([a-f\d])?$/i,et=/(?:\d+|\d*\.\d+)%?/,gi=/(?:\s*,\s*|\s+)/,Pu=/\s*[,/]\s*/,tt=/var\(--(?:[^ )]*?)\)/,Ib=new RegExp(`^(rgba?)\\(\\s*(${et.source}|${tt.source})(?:${gi.source}(${et.source}|${tt.source}))?(?:${gi.source}(${et.source}|${tt.source}))?(?:${Pu.source}(${et.source}|${tt.source}))?\\s*\\)$`),qb=new RegExp(`^(hsla?)\\(\\s*((?:${et.source})(?:deg|rad|grad|turn)?|${tt.source})(?:${gi.source}(${et.source}|${tt.source}))?(?:${gi.source}(${et.source}|${tt.source}))?(?:${Pu.source}(${et.source}|${tt.source}))?\\s*\\)$`)});function Ie(i,e,t){if(typeof i=="function")return i({opacityValue:e});let r=sr(i,{loose:!0});return r===null?t:ns({...r,alpha:e})}function se({color:i,property:e,variable:t}){let r=[].concat(e);if(typeof i=="function")return{[t]:"1",...Object.fromEntries(r.map(a=>[a,i({opacityVariable:t,opacityValue:`var(${t})`})]))};let n=sr(i);return n===null?Object.fromEntries(r.map(a=>[a,i])):n.alpha!==void 0?Object.fromEntries(r.map(a=>[a,i])):{[t]:"1",...Object.fromEntries(r.map(a=>[a,ns({...n,alpha:`var(${t})`})]))}}var ar=C(()=>{l();ss()});function le(i,e){let t=[],r=[],n=0,a=!1;for(let s=0;s{l()});function yi(i){return le(i,",").map(t=>{let r=t.trim(),n={raw:r},a=r.split(Mb),s=new Set;for(let o of a)Du.lastIndex=0,!s.has("KEYWORD")&&Rb.has(o)?(n.keyword=o,s.add("KEYWORD")):Du.test(o)?s.has("X")?s.has("Y")?s.has("BLUR")?s.has("SPREAD")||(n.spread=o,s.add("SPREAD")):(n.blur=o,s.add("BLUR")):(n.y=o,s.add("Y")):(n.x=o,s.add("X")):n.color?(n.unknown||(n.unknown=[]),n.unknown.push(o)):n.color=o;return n.valid=n.x!==void 0&&n.y!==void 0,n})}function Iu(i){return i.map(e=>e.valid?[e.keyword,e.x,e.y,e.blur,e.spread,e.color].filter(Boolean).join(" "):e.raw).join(", ")}var Rb,Mb,Du,as=C(()=>{l();or();Rb=new Set(["inset","inherit","initial","revert","unset"]),Mb=/\ +(?![^(]*\))/g,Du=/^-?(\d+|\.\d+)(.*?)$/g});function os(i){return Bb.some(e=>new RegExp(`^${e}\\(.*\\)`).test(i))}function U(i,e=!0){return i.startsWith("--")?`var(${i})`:i.includes("url(")?i.split(/(url\(.*?\))/g).filter(Boolean).map(t=>/^url\(.*?\)$/.test(t)?t:U(t,!1)).join(""):(i=i.replace(/([^\\])_+/g,(t,r)=>r+" ".repeat(t.length-1)).replace(/^_/g," ").replace(/\\_/g,"_"),e&&(i=i.trim()),i=Nb(i),i)}function Nb(i){return i.replace(/(calc|min|max|clamp)\(.+\)/g,e=>{let t=[];return e.replace(/var\((--.+?)[,)]/g,(r,n)=>(t.push(n),r.replace(n,qu))).replace(/(-?\d*\.?\d(?!\b-\d.+[,)](?![^+\-/*])\D)(?:%|[a-z]+)?|\))([+\-/*])/g,"$1 $2 ").replace(Fb,()=>t.shift())})}function ls(i){return i.startsWith("url(")}function us(i){return!isNaN(Number(i))||os(i)}function lr(i){return i.endsWith("%")&&us(i.slice(0,-1))||os(i)}function ur(i){return i==="0"||new RegExp(`^[+-]?[0-9]*.?[0-9]+(?:[eE][+-]?[0-9]+)?${$b}$`).test(i)||os(i)}function Ru(i){return jb.has(i)}function Mu(i){let e=yi(U(i));for(let t of e)if(!t.valid)return!1;return!0}function Bu(i){let e=0;return le(i,"_").every(r=>(r=U(r),r.startsWith("var(")?!0:sr(r,{loose:!0})!==null?(e++,!0):!1))?e>0:!1}function Fu(i){let e=0;return le(i,",").every(r=>(r=U(r),r.startsWith("var(")?!0:ls(r)||Vb(r)||["element(","image(","cross-fade(","image-set("].some(n=>r.startsWith(n))?(e++,!0):!1))?e>0:!1}function Vb(i){i=U(i);for(let e of zb)if(i.startsWith(`${e}(`))return!0;return!1}function Nu(i){let e=0;return le(i,"_").every(r=>(r=U(r),r.startsWith("var(")?!0:Ub.has(r)||ur(r)||lr(r)?(e++,!0):!1))?e>0:!1}function Lu(i){let e=0;return le(i,",").every(r=>(r=U(r),r.startsWith("var(")?!0:r.includes(" ")&&!/(['"])([^"']+)\1/g.test(r)||/^\d/g.test(r)?!1:(e++,!0)))?e>0:!1}function $u(i){return Wb.has(i)}function ju(i){return Gb.has(i)}function zu(i){return Hb.has(i)}var Bb,qu,Fb,Lb,$b,jb,zb,Ub,Wb,Gb,Hb,fr=C(()=>{l();ss();as();or();Bb=["min","max","clamp","calc"];qu="--tw-placeholder",Fb=new RegExp(qu,"g");Lb=["cm","mm","Q","in","pc","pt","px","em","ex","ch","rem","lh","rlh","vw","vh","vmin","vmax","vb","vi","svw","svh","lvw","lvh","dvw","dvh","cqw","cqh","cqi","cqb","cqmin","cqmax"],$b=`(?:${Lb.join("|")})`;jb=new Set(["thin","medium","thick"]);zb=new Set(["conic-gradient","linear-gradient","radial-gradient","repeating-conic-gradient","repeating-linear-gradient","repeating-radial-gradient"]);Ub=new Set(["center","top","right","bottom","left"]);Wb=new Set(["serif","sans-serif","monospace","cursive","fantasy","system-ui","ui-serif","ui-sans-serif","ui-monospace","ui-rounded","math","emoji","fangsong"]);Gb=new Set(["xx-small","x-small","small","medium","large","x-large","x-large","xxx-large"]);Hb=new Set(["larger","smaller"])});function Vu(i){let e=["cover","contain"];return le(i,",").every(t=>{let r=le(t,"_").filter(Boolean);return r.length===1&&e.includes(r[0])?!0:r.length!==1&&r.length!==2?!1:r.every(n=>ur(n)||lr(n)||n==="auto")})}var Uu=C(()=>{l();fr();or()});function Wu(i,e){i.walkClasses(t=>{t.value=e(t.value),t.raws&&t.raws.value&&(t.raws.value=ht(t.raws.value))})}function Gu(i,e){if(!rt(i))return;let t=i.slice(1,-1);if(!!e(t))return U(t)}function Yb(i,e={},t){let r=e[i];if(r!==void 0)return Xe(r);if(rt(i)){let n=Gu(i,t);return n===void 0?void 0:Xe(n)}}function wi(i,e={},{validate:t=()=>!0}={}){let r=e.values?.[i];return r!==void 0?r:e.supportsNegativeValues&&i.startsWith("-")?Yb(i.slice(1),e.values,t):Gu(i,t)}function rt(i){return i.startsWith("[")&&i.endsWith("]")}function Hu(i){let e=i.lastIndexOf("/");return e===-1||e===i.length-1?[i,void 0]:rt(i)&&!i.includes("]/[")?[i,void 0]:[i.slice(0,e),i.slice(e+1)]}function kt(i){if(typeof i=="string"&&i.includes("")){let e=i;return({opacityValue:t=1})=>e.replace("",t)}return i}function Yu(i){return U(i.slice(1,-1))}function Qb(i,e={},{tailwindConfig:t={}}={}){if(e.values?.[i]!==void 0)return kt(e.values?.[i]);let[r,n]=Hu(i);if(n!==void 0){let a=e.values?.[r]??(rt(r)?r.slice(1,-1):void 0);return a===void 0?void 0:(a=kt(a),rt(n)?Ie(a,Yu(n)):t.theme?.opacity?.[n]===void 0?void 0:Ie(a,t.theme.opacity[n]))}return wi(i,e,{validate:Bu})}function Jb(i,e={}){return e.values?.[i]}function he(i){return(e,t)=>wi(e,t,{validate:i})}function Xb(i,e){let t=i.indexOf(e);return t===-1?[void 0,i]:[i.slice(0,t),i.slice(t+1)]}function cs(i,e,t,r){if(t.values&&e in t.values)for(let{type:a}of i??[]){let s=fs[a](e,t,{tailwindConfig:r});if(s!==void 0)return[s,a,null]}if(rt(e)){let a=e.slice(1,-1),[s,o]=Xb(a,":");if(!/^[\w-_]+$/g.test(s))o=a;else if(s!==void 0&&!Qu.includes(s))return[];if(o.length>0&&Qu.includes(s))return[wi(`[${o}]`,t),s,null]}let n=ps(i,e,t,r);for(let a of n)return a;return[]}function*ps(i,e,t,r){let n=J(r,"generalizedModifiers"),[a,s]=Hu(e);if(n&&t.modifiers!=null&&(t.modifiers==="any"||typeof t.modifiers=="object"&&(s&&rt(s)||s in t.modifiers))||(a=e,s=void 0),s!==void 0&&a===""&&(a="DEFAULT"),s!==void 0&&typeof t.modifiers=="object"){let u=t.modifiers?.[s]??null;u!==null?s=u:rt(s)&&(s=Yu(s))}for(let{type:u}of i??[]){let c=fs[u](a,t,{tailwindConfig:r});c!==void 0&&(yield[c,u,s??null])}}var fs,Qu,cr=C(()=>{l();mi();ar();fr();fi();Uu();De();fs={any:wi,color:Qb,url:he(ls),image:he(Fu),length:he(ur),percentage:he(lr),position:he(Nu),lookup:Jb,"generic-name":he($u),"family-name":he(Lu),number:he(us),"line-width":he(Ru),"absolute-size":he(ju),"relative-size":he(zu),shadow:he(Mu),size:he(Vu)},Qu=Object.keys(fs)});function N(i){return typeof i=="function"?i({}):i}var ds=C(()=>{l()});function St(i){return typeof i=="function"}function pr(i,...e){let t=e.pop();for(let r of e)for(let n in r){let a=t(i[n],r[n]);a===void 0?ie(i[n])&&ie(r[n])?i[n]=pr({},i[n],r[n],t):i[n]=r[n]:i[n]=a}return i}function Kb(i,...e){return St(i)?i(...e):i}function Zb(i){return i.reduce((e,{extend:t})=>pr(e,t,(r,n)=>r===void 0?[n]:Array.isArray(r)?[n,...r]:[n,r]),{})}function e0(i){return{...i.reduce((e,t)=>rs(e,t),{}),extend:Zb(i)}}function Ju(i,e){if(Array.isArray(i)&&ie(i[0]))return i.concat(e);if(Array.isArray(e)&&ie(e[0])&&ie(i))return[i,...e];if(Array.isArray(e))return e}function t0({extend:i,...e}){return pr(e,i,(t,r)=>!St(t)&&!r.some(St)?pr({},t,...r,Ju):(n,a)=>pr({},...[t,...r].map(s=>Kb(s,n,a)),Ju))}function*r0(i){let e=Ke(i);if(e.length===0||(yield e,Array.isArray(i)))return;let t=/^(.*?)\s*\/\s*([^/]+)$/,r=i.match(t);if(r!==null){let[,n,a]=r,s=Ke(n);s.alpha=a,yield s}}function i0(i){let e=(t,r)=>{for(let n of r0(t)){let a=0,s=i;for(;s!=null&&a(t[r]=St(i[r])?i[r](e,hs):i[r],t),{})}function Xu(i){let e=[];return i.forEach(t=>{e=[...e,t];let r=t?.plugins??[];r.length!==0&&r.forEach(n=>{n.__isOptionsFunction&&(n=n()),e=[...e,...Xu([n?.config??{}])]})}),e}function n0(i){return[...i].reduceRight((t,r)=>St(r)?r({corePlugins:t}):wu(r,t),gu)}function s0(i){return[...i].reduceRight((t,r)=>[...t,...r],[])}function ms(i){let e=[...Xu(i),{prefix:"",important:!1,separator:":"}];return Eu(rs({theme:i0(t0(e0(e.map(t=>t?.theme??{})))),corePlugins:n0(e.map(t=>t.corePlugins)),plugins:s0(i.map(t=>t?.plugins??[]))},...e))}var hs,Ku=C(()=>{l();fi();yu();bu();ts();Su();pi();Ou();xt();hi();cr();ar();ds();hs={colors:es,negative(i){return Object.keys(i).filter(e=>i[e]!=="0").reduce((e,t)=>{let r=Xe(i[t]);return r!==void 0&&(e[`-${t}`]=r),e},{})},breakpoints(i){return Object.keys(i).filter(e=>typeof i[e]=="string").reduce((e,t)=>({...e,[`screen-${t}`]:i[t]}),{})}}});var bi=v((eT,Zu)=>{l();Zu.exports={content:[],presets:[],darkMode:"media",theme:{accentColor:({theme:i})=>({...i("colors"),auto:"auto"}),animation:{none:"none",spin:"spin 1s linear infinite",ping:"ping 1s cubic-bezier(0, 0, 0.2, 1) infinite",pulse:"pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite",bounce:"bounce 1s infinite"},aria:{busy:'busy="true"',checked:'checked="true"',disabled:'disabled="true"',expanded:'expanded="true"',hidden:'hidden="true"',pressed:'pressed="true"',readonly:'readonly="true"',required:'required="true"',selected:'selected="true"'},aspectRatio:{auto:"auto",square:"1 / 1",video:"16 / 9"},backdropBlur:({theme:i})=>i("blur"),backdropBrightness:({theme:i})=>i("brightness"),backdropContrast:({theme:i})=>i("contrast"),backdropGrayscale:({theme:i})=>i("grayscale"),backdropHueRotate:({theme:i})=>i("hueRotate"),backdropInvert:({theme:i})=>i("invert"),backdropOpacity:({theme:i})=>i("opacity"),backdropSaturate:({theme:i})=>i("saturate"),backdropSepia:({theme:i})=>i("sepia"),backgroundColor:({theme:i})=>i("colors"),backgroundImage:{none:"none","gradient-to-t":"linear-gradient(to top, var(--tw-gradient-stops))","gradient-to-tr":"linear-gradient(to top right, var(--tw-gradient-stops))","gradient-to-r":"linear-gradient(to right, var(--tw-gradient-stops))","gradient-to-br":"linear-gradient(to bottom right, var(--tw-gradient-stops))","gradient-to-b":"linear-gradient(to bottom, var(--tw-gradient-stops))","gradient-to-bl":"linear-gradient(to bottom left, var(--tw-gradient-stops))","gradient-to-l":"linear-gradient(to left, var(--tw-gradient-stops))","gradient-to-tl":"linear-gradient(to top left, var(--tw-gradient-stops))"},backgroundOpacity:({theme:i})=>i("opacity"),backgroundPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},backgroundSize:{auto:"auto",cover:"cover",contain:"contain"},blur:{0:"0",none:"0",sm:"4px",DEFAULT:"8px",md:"12px",lg:"16px",xl:"24px","2xl":"40px","3xl":"64px"},borderColor:({theme:i})=>({...i("colors"),DEFAULT:i("colors.gray.200","currentColor")}),borderOpacity:({theme:i})=>i("opacity"),borderRadius:{none:"0px",sm:"0.125rem",DEFAULT:"0.25rem",md:"0.375rem",lg:"0.5rem",xl:"0.75rem","2xl":"1rem","3xl":"1.5rem",full:"9999px"},borderSpacing:({theme:i})=>({...i("spacing")}),borderWidth:{DEFAULT:"1px",0:"0px",2:"2px",4:"4px",8:"8px"},boxShadow:{sm:"0 1px 2px 0 rgb(0 0 0 / 0.05)",DEFAULT:"0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",md:"0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",lg:"0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",xl:"0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)","2xl":"0 25px 50px -12px rgb(0 0 0 / 0.25)",inner:"inset 0 2px 4px 0 rgb(0 0 0 / 0.05)",none:"none"},boxShadowColor:({theme:i})=>i("colors"),brightness:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5",200:"2"},caretColor:({theme:i})=>i("colors"),colors:({colors:i})=>({inherit:i.inherit,current:i.current,transparent:i.transparent,black:i.black,white:i.white,slate:i.slate,gray:i.gray,zinc:i.zinc,neutral:i.neutral,stone:i.stone,red:i.red,orange:i.orange,amber:i.amber,yellow:i.yellow,lime:i.lime,green:i.green,emerald:i.emerald,teal:i.teal,cyan:i.cyan,sky:i.sky,blue:i.blue,indigo:i.indigo,violet:i.violet,purple:i.purple,fuchsia:i.fuchsia,pink:i.pink,rose:i.rose}),columns:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12","3xs":"16rem","2xs":"18rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem"},container:{},content:{none:"none"},contrast:{0:"0",50:".5",75:".75",100:"1",125:"1.25",150:"1.5",200:"2"},cursor:{auto:"auto",default:"default",pointer:"pointer",wait:"wait",text:"text",move:"move",help:"help","not-allowed":"not-allowed",none:"none","context-menu":"context-menu",progress:"progress",cell:"cell",crosshair:"crosshair","vertical-text":"vertical-text",alias:"alias",copy:"copy","no-drop":"no-drop",grab:"grab",grabbing:"grabbing","all-scroll":"all-scroll","col-resize":"col-resize","row-resize":"row-resize","n-resize":"n-resize","e-resize":"e-resize","s-resize":"s-resize","w-resize":"w-resize","ne-resize":"ne-resize","nw-resize":"nw-resize","se-resize":"se-resize","sw-resize":"sw-resize","ew-resize":"ew-resize","ns-resize":"ns-resize","nesw-resize":"nesw-resize","nwse-resize":"nwse-resize","zoom-in":"zoom-in","zoom-out":"zoom-out"},divideColor:({theme:i})=>i("borderColor"),divideOpacity:({theme:i})=>i("borderOpacity"),divideWidth:({theme:i})=>i("borderWidth"),dropShadow:{sm:"0 1px 1px rgb(0 0 0 / 0.05)",DEFAULT:["0 1px 2px rgb(0 0 0 / 0.1)","0 1px 1px rgb(0 0 0 / 0.06)"],md:["0 4px 3px rgb(0 0 0 / 0.07)","0 2px 2px rgb(0 0 0 / 0.06)"],lg:["0 10px 8px rgb(0 0 0 / 0.04)","0 4px 3px rgb(0 0 0 / 0.1)"],xl:["0 20px 13px rgb(0 0 0 / 0.03)","0 8px 5px rgb(0 0 0 / 0.08)"],"2xl":"0 25px 25px rgb(0 0 0 / 0.15)",none:"0 0 #0000"},fill:({theme:i})=>({none:"none",...i("colors")}),flex:{1:"1 1 0%",auto:"1 1 auto",initial:"0 1 auto",none:"none"},flexBasis:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%"}),flexGrow:{0:"0",DEFAULT:"1"},flexShrink:{0:"0",DEFAULT:"1"},fontFamily:{sans:["ui-sans-serif","system-ui","-apple-system","BlinkMacSystemFont",'"Segoe UI"',"Roboto",'"Helvetica Neue"',"Arial",'"Noto Sans"',"sans-serif",'"Apple Color Emoji"','"Segoe UI Emoji"','"Segoe UI Symbol"','"Noto Color Emoji"'],serif:["ui-serif","Georgia","Cambria",'"Times New Roman"',"Times","serif"],mono:["ui-monospace","SFMono-Regular","Menlo","Monaco","Consolas",'"Liberation Mono"','"Courier New"',"monospace"]},fontSize:{xs:["0.75rem",{lineHeight:"1rem"}],sm:["0.875rem",{lineHeight:"1.25rem"}],base:["1rem",{lineHeight:"1.5rem"}],lg:["1.125rem",{lineHeight:"1.75rem"}],xl:["1.25rem",{lineHeight:"1.75rem"}],"2xl":["1.5rem",{lineHeight:"2rem"}],"3xl":["1.875rem",{lineHeight:"2.25rem"}],"4xl":["2.25rem",{lineHeight:"2.5rem"}],"5xl":["3rem",{lineHeight:"1"}],"6xl":["3.75rem",{lineHeight:"1"}],"7xl":["4.5rem",{lineHeight:"1"}],"8xl":["6rem",{lineHeight:"1"}],"9xl":["8rem",{lineHeight:"1"}]},fontWeight:{thin:"100",extralight:"200",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800",black:"900"},gap:({theme:i})=>i("spacing"),gradientColorStops:({theme:i})=>i("colors"),gradientColorStopPositions:{"0%":"0%","5%":"5%","10%":"10%","15%":"15%","20%":"20%","25%":"25%","30%":"30%","35%":"35%","40%":"40%","45%":"45%","50%":"50%","55%":"55%","60%":"60%","65%":"65%","70%":"70%","75%":"75%","80%":"80%","85%":"85%","90%":"90%","95%":"95%","100%":"100%"},grayscale:{0:"0",DEFAULT:"100%"},gridAutoColumns:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridAutoRows:{auto:"auto",min:"min-content",max:"max-content",fr:"minmax(0, 1fr)"},gridColumn:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-7":"span 7 / span 7","span-8":"span 8 / span 8","span-9":"span 9 / span 9","span-10":"span 10 / span 10","span-11":"span 11 / span 11","span-12":"span 12 / span 12","span-full":"1 / -1"},gridColumnEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridColumnStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12",13:"13"},gridRow:{auto:"auto","span-1":"span 1 / span 1","span-2":"span 2 / span 2","span-3":"span 3 / span 3","span-4":"span 4 / span 4","span-5":"span 5 / span 5","span-6":"span 6 / span 6","span-full":"1 / -1"},gridRowEnd:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7"},gridRowStart:{auto:"auto",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7"},gridTemplateColumns:{none:"none",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))",7:"repeat(7, minmax(0, 1fr))",8:"repeat(8, minmax(0, 1fr))",9:"repeat(9, minmax(0, 1fr))",10:"repeat(10, minmax(0, 1fr))",11:"repeat(11, minmax(0, 1fr))",12:"repeat(12, minmax(0, 1fr))"},gridTemplateRows:{none:"none",1:"repeat(1, minmax(0, 1fr))",2:"repeat(2, minmax(0, 1fr))",3:"repeat(3, minmax(0, 1fr))",4:"repeat(4, minmax(0, 1fr))",5:"repeat(5, minmax(0, 1fr))",6:"repeat(6, minmax(0, 1fr))"},height:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%",full:"100%",screen:"100vh",min:"min-content",max:"max-content",fit:"fit-content"}),hueRotate:{0:"0deg",15:"15deg",30:"30deg",60:"60deg",90:"90deg",180:"180deg"},inset:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),invert:{0:"0",DEFAULT:"100%"},keyframes:{spin:{to:{transform:"rotate(360deg)"}},ping:{"75%, 100%":{transform:"scale(2)",opacity:"0"}},pulse:{"50%":{opacity:".5"}},bounce:{"0%, 100%":{transform:"translateY(-25%)",animationTimingFunction:"cubic-bezier(0.8,0,1,1)"},"50%":{transform:"none",animationTimingFunction:"cubic-bezier(0,0,0.2,1)"}}},letterSpacing:{tighter:"-0.05em",tight:"-0.025em",normal:"0em",wide:"0.025em",wider:"0.05em",widest:"0.1em"},lineHeight:{none:"1",tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2",3:".75rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem"},listStyleType:{none:"none",disc:"disc",decimal:"decimal"},listStyleImage:{none:"none"},margin:({theme:i})=>({auto:"auto",...i("spacing")}),lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"},maxHeight:({theme:i})=>({...i("spacing"),none:"none",full:"100%",screen:"100vh",min:"min-content",max:"max-content",fit:"fit-content"}),maxWidth:({theme:i,breakpoints:e})=>({none:"none",0:"0rem",xs:"20rem",sm:"24rem",md:"28rem",lg:"32rem",xl:"36rem","2xl":"42rem","3xl":"48rem","4xl":"56rem","5xl":"64rem","6xl":"72rem","7xl":"80rem",full:"100%",min:"min-content",max:"max-content",fit:"fit-content",prose:"65ch",...e(i("screens"))}),minHeight:{0:"0px",full:"100%",screen:"100vh",min:"min-content",max:"max-content",fit:"fit-content"},minWidth:{0:"0px",full:"100%",min:"min-content",max:"max-content",fit:"fit-content"},objectPosition:{bottom:"bottom",center:"center",left:"left","left-bottom":"left bottom","left-top":"left top",right:"right","right-bottom":"right bottom","right-top":"right top",top:"top"},opacity:{0:"0",5:"0.05",10:"0.1",20:"0.2",25:"0.25",30:"0.3",40:"0.4",50:"0.5",60:"0.6",70:"0.7",75:"0.75",80:"0.8",90:"0.9",95:"0.95",100:"1"},order:{first:"-9999",last:"9999",none:"0",1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",10:"10",11:"11",12:"12"},outlineColor:({theme:i})=>i("colors"),outlineOffset:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},outlineWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},padding:({theme:i})=>i("spacing"),placeholderColor:({theme:i})=>i("colors"),placeholderOpacity:({theme:i})=>i("opacity"),ringColor:({theme:i})=>({DEFAULT:i("colors.blue.500","#3b82f6"),...i("colors")}),ringOffsetColor:({theme:i})=>i("colors"),ringOffsetWidth:{0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},ringOpacity:({theme:i})=>({DEFAULT:"0.5",...i("opacity")}),ringWidth:{DEFAULT:"3px",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},rotate:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg",45:"45deg",90:"90deg",180:"180deg"},saturate:{0:"0",50:".5",100:"1",150:"1.5",200:"2"},scale:{0:"0",50:".5",75:".75",90:".9",95:".95",100:"1",105:"1.05",110:"1.1",125:"1.25",150:"1.5"},screens:{sm:"640px",md:"768px",lg:"1024px",xl:"1280px","2xl":"1536px"},scrollMargin:({theme:i})=>({...i("spacing")}),scrollPadding:({theme:i})=>i("spacing"),sepia:{0:"0",DEFAULT:"100%"},skew:{0:"0deg",1:"1deg",2:"2deg",3:"3deg",6:"6deg",12:"12deg"},space:({theme:i})=>({...i("spacing")}),spacing:{px:"1px",0:"0px",.5:"0.125rem",1:"0.25rem",1.5:"0.375rem",2:"0.5rem",2.5:"0.625rem",3:"0.75rem",3.5:"0.875rem",4:"1rem",5:"1.25rem",6:"1.5rem",7:"1.75rem",8:"2rem",9:"2.25rem",10:"2.5rem",11:"2.75rem",12:"3rem",14:"3.5rem",16:"4rem",20:"5rem",24:"6rem",28:"7rem",32:"8rem",36:"9rem",40:"10rem",44:"11rem",48:"12rem",52:"13rem",56:"14rem",60:"15rem",64:"16rem",72:"18rem",80:"20rem",96:"24rem"},stroke:({theme:i})=>({none:"none",...i("colors")}),strokeWidth:{0:"0",1:"1",2:"2"},supports:{},data:{},textColor:({theme:i})=>i("colors"),textDecorationColor:({theme:i})=>i("colors"),textDecorationThickness:{auto:"auto","from-font":"from-font",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},textIndent:({theme:i})=>({...i("spacing")}),textOpacity:({theme:i})=>i("opacity"),textUnderlineOffset:{auto:"auto",0:"0px",1:"1px",2:"2px",4:"4px",8:"8px"},transformOrigin:{center:"center",top:"top","top-right":"top right",right:"right","bottom-right":"bottom right",bottom:"bottom","bottom-left":"bottom left",left:"left","top-left":"top left"},transitionDelay:{0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionDuration:{DEFAULT:"150ms",0:"0s",75:"75ms",100:"100ms",150:"150ms",200:"200ms",300:"300ms",500:"500ms",700:"700ms",1e3:"1000ms"},transitionProperty:{none:"none",all:"all",DEFAULT:"color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter",colors:"color, background-color, border-color, text-decoration-color, fill, stroke",opacity:"opacity",shadow:"box-shadow",transform:"transform"},transitionTimingFunction:{DEFAULT:"cubic-bezier(0.4, 0, 0.2, 1)",linear:"linear",in:"cubic-bezier(0.4, 0, 1, 1)",out:"cubic-bezier(0, 0, 0.2, 1)","in-out":"cubic-bezier(0.4, 0, 0.2, 1)"},translate:({theme:i})=>({...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%",full:"100%"}),width:({theme:i})=>({auto:"auto",...i("spacing"),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vw",min:"min-content",max:"max-content",fit:"fit-content"}),willChange:{auto:"auto",scroll:"scroll-position",contents:"contents",transform:"transform"},zIndex:{auto:"auto",0:"0",10:"10",20:"20",30:"30",40:"40",50:"50"}},plugins:[]}});function vi(i){let e=(i?.presets??[ef.default]).slice().reverse().flatMap(n=>vi(n instanceof Function?n():n)),t={respectDefaultRingColorOpacity:{theme:{ringColor:({theme:n})=>({DEFAULT:"#3b82f67f",...n("colors")})}},disableColorOpacityUtilitiesByDefault:{corePlugins:{backgroundOpacity:!1,borderOpacity:!1,divideOpacity:!1,placeholderOpacity:!1,ringOpacity:!1,textOpacity:!1}}},r=Object.keys(t).filter(n=>J(i,n)).map(n=>t[n]);return[i,...r,...e]}var ef,tf=C(()=>{l();ef=K(bi());De()});var rf={};Ae(rf,{default:()=>dr});function dr(...i){let[,...e]=vi(i[0]);return ms([...i,...e])}var gs=C(()=>{l();Ku();tf()});var nf={};Ae(nf,{default:()=>Z});var Z,mt=C(()=>{l();Z={resolve:i=>i,extname:i=>"."+i.split(".").pop()}});function xi(i){return typeof i=="object"&&i!==null}function o0(i){return Object.keys(i).length===0}function sf(i){return typeof i=="string"||i instanceof String}function ys(i){return xi(i)&&i.config===void 0&&!o0(i)?null:xi(i)&&i.config!==void 0&&sf(i.config)?Z.resolve(i.config):xi(i)&&i.config!==void 0&&xi(i.config)?null:sf(i)?Z.resolve(i):l0()}function l0(){for(let i of a0)try{let e=Z.resolve(i);return te.accessSync(e),e}catch(e){}return null}var a0,af=C(()=>{l();ze();mt();a0=["./tailwind.config.js","./tailwind.config.cjs","./tailwind.config.mjs","./tailwind.config.ts"]});var of={};Ae(of,{default:()=>ws});var ws,bs=C(()=>{l();ws={parse:i=>({href:i})}});var vs=v(()=>{l()});var ki=v((fT,ff)=>{l();"use strict";var lf=(ci(),vu),uf=vs(),Ct=class extends Error{constructor(e,t,r,n,a,s){super(e);this.name="CssSyntaxError",this.reason=e,a&&(this.file=a),n&&(this.source=n),s&&(this.plugin=s),typeof t!="undefined"&&typeof r!="undefined"&&(typeof t=="number"?(this.line=t,this.column=r):(this.line=t.line,this.column=t.column,this.endLine=r.line,this.endColumn=r.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,Ct)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line!="undefined"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;e==null&&(e=lf.isColorSupported),uf&&e&&(t=uf(t));let r=t.split(/\r?\n/),n=Math.max(this.line-3,0),a=Math.min(this.line+2,r.length),s=String(a).length,o,u;if(e){let{bold:c,red:f,gray:p}=lf.createColors(!0);o=d=>c(f(d)),u=d=>p(d)}else o=u=c=>c;return r.slice(n,a).map((c,f)=>{let p=n+1+f,d=" "+(" "+p).slice(-s)+" | ";if(p===this.line){let h=u(d.replace(/\d/g," "))+c.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+u(d)+c+` + `+h+o("^")}return" "+u(d)+c}).join(` +`)}toString(){let e=this.showSourceCode();return e&&(e=` + +`+e+` +`),this.name+": "+this.message+e}};ff.exports=Ct;Ct.default=Ct});var Si=v((cT,xs)=>{l();"use strict";xs.exports.isClean=Symbol("isClean");xs.exports.my=Symbol("my")});var ks=v((pT,pf)=>{l();"use strict";var cf={colon:": ",indent:" ",beforeDecl:` +`,beforeRule:` +`,beforeOpen:" ",beforeClose:` +`,beforeComment:` +`,after:` +`,emptyBody:"",commentLeft:" ",commentRight:" ",semicolon:!1};function u0(i){return i[0].toUpperCase()+i.slice(1)}var Ci=class{constructor(e){this.builder=e}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}document(e){this.body(e)}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}comment(e){let t=this.raw(e,"left","commentLeft"),r=this.raw(e,"right","commentRight");this.builder("/*"+t+e.text+r+"*/",e)}decl(e,t){let r=this.raw(e,"between","colon"),n=e.prop+r+this.rawValue(e,"value");e.important&&(n+=e.raws.important||" !important"),t&&(n+=";"),this.builder(n,e)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}atrule(e,t){let r="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(typeof e.raws.afterName!="undefined"?r+=e.raws.afterName:n&&(r+=" "),e.nodes)this.block(e,r+n);else{let a=(e.raws.between||"")+(t?";":"");this.builder(r+n+a,e)}}body(e){let t=e.nodes.length-1;for(;t>0&&e.nodes[t].type==="comment";)t-=1;let r=this.raw(e,"semicolon");for(let n=0;n{if(n=u.raws[t],typeof n!="undefined")return!1})}return typeof n=="undefined"&&(n=cf[r]),s.rawCache[r]=n,n}rawSemicolon(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length&&r.last.type==="decl"&&(t=r.raws.semicolon,typeof t!="undefined"))return!1}),t}rawEmptyBody(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length===0&&(t=r.raws.after,typeof t!="undefined"))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(r=>{let n=r.parent;if(n&&n!==e&&n.parent&&n.parent===e&&typeof r.raws.before!="undefined"){let a=r.raws.before.split(` +`);return t=a[a.length-1],t=t.replace(/\S/g,""),!1}}),t}rawBeforeComment(e,t){let r;return e.walkComments(n=>{if(typeof n.raws.before!="undefined")return r=n.raws.before,r.includes(` +`)&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r=="undefined"?r=this.raw(t,null,"beforeDecl"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeDecl(e,t){let r;return e.walkDecls(n=>{if(typeof n.raws.before!="undefined")return r=n.raws.before,r.includes(` +`)&&(r=r.replace(/[^\n]+$/,"")),!1}),typeof r=="undefined"?r=this.raw(t,null,"beforeRule"):r&&(r=r.replace(/\S/g,"")),r}rawBeforeRule(e){let t;return e.walk(r=>{if(r.nodes&&(r.parent!==e||e.first!==r)&&typeof r.raws.before!="undefined")return t=r.raws.before,t.includes(` +`)&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeClose(e){let t;return e.walk(r=>{if(r.nodes&&r.nodes.length>0&&typeof r.raws.after!="undefined")return t=r.raws.after,t.includes(` +`)&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeOpen(e){let t;return e.walk(r=>{if(r.type!=="decl"&&(t=r.raws.between,typeof t!="undefined"))return!1}),t}rawColon(e){let t;return e.walkDecls(r=>{if(typeof r.raws.between!="undefined")return t=r.raws.between.replace(/[^\s:]/g,""),!1}),t}beforeAfter(e,t){let r;e.type==="decl"?r=this.raw(e,null,"beforeDecl"):e.type==="comment"?r=this.raw(e,null,"beforeComment"):t==="before"?r=this.raw(e,null,"beforeRule"):r=this.raw(e,null,"beforeClose");let n=e.parent,a=0;for(;n&&n.type!=="root";)a+=1,n=n.parent;if(r.includes(` +`)){let s=this.raw(e,null,"indent");if(s.length)for(let o=0;o{l();"use strict";var f0=ks();function Ss(i,e){new f0(e).stringify(i)}df.exports=Ss;Ss.default=Ss});var mr=v((hT,hf)=>{l();"use strict";var{isClean:Ai,my:c0}=Si(),p0=ki(),d0=ks(),h0=hr();function Cs(i,e){let t=new i.constructor;for(let r in i){if(!Object.prototype.hasOwnProperty.call(i,r)||r==="proxyCache")continue;let n=i[r],a=typeof n;r==="parent"&&a==="object"?e&&(t[r]=e):r==="source"?t[r]=n:Array.isArray(n)?t[r]=n.map(s=>Cs(s,t)):(a==="object"&&n!==null&&(n=Cs(n)),t[r]=n)}return t}var _i=class{constructor(e={}){this.raws={},this[Ai]=!1,this[c0]=!0;for(let t in e)if(t==="nodes"){this.nodes=[];for(let r of e[t])typeof r.clone=="function"?this.append(r.clone()):this.append(r)}else this[t]=e[t]}error(e,t={}){if(this.source){let{start:r,end:n}=this.rangeBy(t);return this.source.input.error(e,{line:r.line,column:r.column},{line:n.line,column:n.column},t)}return new p0(e)}warn(e,t,r){let n={node:this};for(let a in r)n[a]=r[a];return e.warn(t,n)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(e=h0){e.stringify&&(e=e.stringify);let t="";return e(this,r=>{t+=r}),t}assign(e={}){for(let t in e)this[t]=e[t];return this}clone(e={}){let t=Cs(this);for(let r in e)t[r]=e[r];return t}cloneBefore(e={}){let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e={}){let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(...e){if(this.parent){let t=this,r=!1;for(let n of e)n===this?r=!0:r?(this.parent.insertAfter(t,n),t=n):this.parent.insertBefore(t,n);r||this.remove()}return this}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e-1]}before(e){return this.parent.insertBefore(this,e),this}after(e){return this.parent.insertAfter(this,e),this}root(){let e=this;for(;e.parent&&e.parent.type!=="document";)e=e.parent;return e}raw(e,t){return new d0().raw(this,e,t)}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}toJSON(e,t){let r={},n=t==null;t=t||new Map;let a=0;for(let s in this){if(!Object.prototype.hasOwnProperty.call(this,s)||s==="parent"||s==="proxyCache")continue;let o=this[s];if(Array.isArray(o))r[s]=o.map(u=>typeof u=="object"&&u.toJSON?u.toJSON(null,t):u);else if(typeof o=="object"&&o.toJSON)r[s]=o.toJSON(null,t);else if(s==="source"){let u=t.get(o.input);u==null&&(u=a,t.set(o.input,a),a++),r[s]={inputId:u,start:o.start,end:o.end}}else r[s]=o}return n&&(r.inputs=[...t.keys()].map(s=>s.toJSON())),r}positionInside(e){let t=this.toString(),r=this.source.start.column,n=this.source.start.line;for(let a=0;ae.root().toProxy():e[t]}}}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}addToError(e){if(e.postcssNode=this,e.stack&&this.source&&/\n\s{4}at /.test(e.stack)){let t=this.source;e.stack=e.stack.replace(/\n\s{4}at /,`$&${t.input.from}:${t.start.line}:${t.start.column}$&`)}return e}markDirty(){if(this[Ai]){this[Ai]=!1;let e=this;for(;e=e.parent;)e[Ai]=!1}}get proxyOf(){return this}};hf.exports=_i;_i.default=_i});var gr=v((mT,mf)=>{l();"use strict";var m0=mr(),Ei=class extends m0{constructor(e){e&&typeof e.value!="undefined"&&typeof e.value!="string"&&(e={...e,value:String(e.value)});super(e);this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}};mf.exports=Ei;Ei.default=Ei});var As=v((gT,gf)=>{l();gf.exports=function(i,e){return{generate:()=>{let t="";return i(e,r=>{t+=r}),[t]}}}});var yr=v((yT,yf)=>{l();"use strict";var g0=mr(),Oi=class extends g0{constructor(e){super(e);this.type="comment"}};yf.exports=Oi;Oi.default=Oi});var it=v((wT,_f)=>{l();"use strict";var{isClean:wf,my:bf}=Si(),vf=gr(),xf=yr(),y0=mr(),kf,_s,Es,Sf;function Cf(i){return i.map(e=>(e.nodes&&(e.nodes=Cf(e.nodes)),delete e.source,e))}function Af(i){if(i[wf]=!1,i.proxyOf.nodes)for(let e of i.proxyOf.nodes)Af(e)}var ye=class extends y0{push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}each(e){if(!this.proxyOf.nodes)return;let t=this.getIterator(),r,n;for(;this.indexes[t]{let n;try{n=e(t,r)}catch(a){throw t.addToError(a)}return n!==!1&&t.walk&&(n=t.walk(e)),n})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if(r.type==="decl"&&e.test(r.prop))return t(r,n)}):this.walk((r,n)=>{if(r.type==="decl"&&r.prop===e)return t(r,n)}):(t=e,this.walk((r,n)=>{if(r.type==="decl")return t(r,n)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if(r.type==="rule"&&e.test(r.selector))return t(r,n)}):this.walk((r,n)=>{if(r.type==="rule"&&r.selector===e)return t(r,n)}):(t=e,this.walk((r,n)=>{if(r.type==="rule")return t(r,n)}))}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((r,n)=>{if(r.type==="atrule"&&e.test(r.name))return t(r,n)}):this.walk((r,n)=>{if(r.type==="atrule"&&r.name===e)return t(r,n)}):(t=e,this.walk((r,n)=>{if(r.type==="atrule")return t(r,n)}))}walkComments(e){return this.walk((t,r)=>{if(t.type==="comment")return e(t,r)})}append(...e){for(let t of e){let r=this.normalize(t,this.last);for(let n of r)this.proxyOf.nodes.push(n)}return this.markDirty(),this}prepend(...e){e=e.reverse();for(let t of e){let r=this.normalize(t,this.first,"prepend").reverse();for(let n of r)this.proxyOf.nodes.unshift(n);for(let n in this.indexes)this.indexes[n]=this.indexes[n]+r.length}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertBefore(e,t){let r=this.index(e),n=r===0?"prepend":!1,a=this.normalize(t,this.proxyOf.nodes[r],n).reverse();r=this.index(e);for(let o of a)this.proxyOf.nodes.splice(r,0,o);let s;for(let o in this.indexes)s=this.indexes[o],r<=s&&(this.indexes[o]=s+a.length);return this.markDirty(),this}insertAfter(e,t){let r=this.index(e),n=this.normalize(t,this.proxyOf.nodes[r]).reverse();r=this.index(e);for(let s of n)this.proxyOf.nodes.splice(r+1,0,s);let a;for(let s in this.indexes)a=this.indexes[s],r=e&&(this.indexes[r]=t-1);return this.markDirty(),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}replaceValues(e,t,r){return r||(r=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,r))}),this.markDirty(),this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return typeof e=="number"?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}get first(){if(!!this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(!!this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}normalize(e,t){if(typeof e=="string")e=Cf(kf(e).nodes);else if(Array.isArray(e)){e=e.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type==="root"&&this.type!=="document"){e=e.nodes.slice(0);for(let n of e)n.parent&&n.parent.removeChild(n,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value=="undefined")throw new Error("Value field is missed in node creation");typeof e.value!="string"&&(e.value=String(e.value)),e=[new vf(e)]}else if(e.selector)e=[new _s(e)];else if(e.name)e=[new Es(e)];else if(e.text)e=[new xf(e)];else throw new Error("Unknown node type in node creation");return e.map(n=>(n[bf]||ye.rebuild(n),n=n.proxyOf,n.parent&&n.parent.removeChild(n),n[wf]&&Af(n),typeof n.raws.before=="undefined"&&t&&typeof t.raws.before!="undefined"&&(n.raws.before=t.raws.before.replace(/\S/g,"")),n.parent=this.proxyOf,n))}getProxyProcessor(){return{set(e,t,r){return e[t]===r||(e[t]=r,(t==="name"||t==="params"||t==="selector")&&e.markDirty()),!0},get(e,t){return t==="proxyOf"?e:e[t]?t==="each"||typeof t=="string"&&t.startsWith("walk")?(...r)=>e[t](...r.map(n=>typeof n=="function"?(a,s)=>n(a.toProxy(),s):n)):t==="every"||t==="some"?r=>e[t]((n,...a)=>r(n.toProxy(),...a)):t==="root"?()=>e.root().toProxy():t==="nodes"?e.nodes.map(r=>r.toProxy()):t==="first"||t==="last"?e[t].toProxy():e[t]:e[t]}}}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let e=this.lastEach;return this.indexes[e]=0,e}};ye.registerParse=i=>{kf=i};ye.registerRule=i=>{_s=i};ye.registerAtRule=i=>{Es=i};ye.registerRoot=i=>{Sf=i};_f.exports=ye;ye.default=ye;ye.rebuild=i=>{i.type==="atrule"?Object.setPrototypeOf(i,Es.prototype):i.type==="rule"?Object.setPrototypeOf(i,_s.prototype):i.type==="decl"?Object.setPrototypeOf(i,vf.prototype):i.type==="comment"?Object.setPrototypeOf(i,xf.prototype):i.type==="root"&&Object.setPrototypeOf(i,Sf.prototype),i[bf]=!0,i.nodes&&i.nodes.forEach(e=>{ye.rebuild(e)})}});var Ti=v((bT,Tf)=>{l();"use strict";var w0=it(),Ef,Of,At=class extends w0{constructor(e){super({type:"document",...e});this.nodes||(this.nodes=[])}toResult(e={}){return new Ef(new Of,this,e).stringify()}};At.registerLazyResult=i=>{Ef=i};At.registerProcessor=i=>{Of=i};Tf.exports=At;At.default=At});var Os=v((vT,Df)=>{l();"use strict";var Pf={};Df.exports=function(e){Pf[e]||(Pf[e]=!0,typeof console!="undefined"&&console.warn&&console.warn(e))}});var Ts=v((xT,If)=>{l();"use strict";var Pi=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let r=t.node.rangeBy(t);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in t)this[r]=t[r]}toString(){return this.node?this.node.error(this.text,{plugin:this.plugin,index:this.index,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};If.exports=Pi;Pi.default=Pi});var Ii=v((kT,qf)=>{l();"use strict";var b0=Ts(),Di=class{constructor(e,t,r){this.processor=e,this.messages=[],this.root=t,this.opts=r,this.css=void 0,this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let r=new b0(e,t);return this.messages.push(r),r}warnings(){return this.messages.filter(e=>e.type==="warning")}get content(){return this.css}};qf.exports=Di;Di.default=Di});var Nf=v((ST,Ff)=>{l();"use strict";var Ps="'".charCodeAt(0),Rf='"'.charCodeAt(0),qi="\\".charCodeAt(0),Mf="/".charCodeAt(0),Ri=` +`.charCodeAt(0),wr=" ".charCodeAt(0),Mi="\f".charCodeAt(0),Bi=" ".charCodeAt(0),Fi="\r".charCodeAt(0),v0="[".charCodeAt(0),x0="]".charCodeAt(0),k0="(".charCodeAt(0),S0=")".charCodeAt(0),C0="{".charCodeAt(0),A0="}".charCodeAt(0),_0=";".charCodeAt(0),E0="*".charCodeAt(0),O0=":".charCodeAt(0),T0="@".charCodeAt(0),Ni=/[\t\n\f\r "#'()/;[\\\]{}]/g,Li=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,P0=/.[\n"'(/\\]/,Bf=/[\da-f]/i;Ff.exports=function(e,t={}){let r=e.css.valueOf(),n=t.ignoreErrors,a,s,o,u,c,f,p,d,h,y,x=r.length,w=0,b=[],k=[];function S(){return w}function _(q){throw e.error("Unclosed "+q,w)}function E(){return k.length===0&&w>=x}function I(q){if(k.length)return k.pop();if(w>=x)return;let X=q?q.ignoreUnclosed:!1;switch(a=r.charCodeAt(w),a){case Ri:case wr:case Bi:case Fi:case Mi:{s=w;do s+=1,a=r.charCodeAt(s);while(a===wr||a===Ri||a===Bi||a===Fi||a===Mi);y=["space",r.slice(w,s)],w=s-1;break}case v0:case x0:case C0:case A0:case O0:case _0:case S0:{let ae=String.fromCharCode(a);y=[ae,ae,w];break}case k0:{if(d=b.length?b.pop()[1]:"",h=r.charCodeAt(w+1),d==="url"&&h!==Ps&&h!==Rf&&h!==wr&&h!==Ri&&h!==Bi&&h!==Mi&&h!==Fi){s=w;do{if(f=!1,s=r.indexOf(")",s+1),s===-1)if(n||X){s=w;break}else _("bracket");for(p=s;r.charCodeAt(p-1)===qi;)p-=1,f=!f}while(f);y=["brackets",r.slice(w,s+1),w,s],w=s}else s=r.indexOf(")",w+1),u=r.slice(w,s+1),s===-1||P0.test(u)?y=["(","(",w]:(y=["brackets",u,w,s],w=s);break}case Ps:case Rf:{o=a===Ps?"'":'"',s=w;do{if(f=!1,s=r.indexOf(o,s+1),s===-1)if(n||X){s=w+1;break}else _("string");for(p=s;r.charCodeAt(p-1)===qi;)p-=1,f=!f}while(f);y=["string",r.slice(w,s+1),w,s],w=s;break}case T0:{Ni.lastIndex=w+1,Ni.test(r),Ni.lastIndex===0?s=r.length-1:s=Ni.lastIndex-2,y=["at-word",r.slice(w,s+1),w,s],w=s;break}case qi:{for(s=w,c=!0;r.charCodeAt(s+1)===qi;)s+=1,c=!c;if(a=r.charCodeAt(s+1),c&&a!==Mf&&a!==wr&&a!==Ri&&a!==Bi&&a!==Fi&&a!==Mi&&(s+=1,Bf.test(r.charAt(s)))){for(;Bf.test(r.charAt(s+1));)s+=1;r.charCodeAt(s+1)===wr&&(s+=1)}y=["word",r.slice(w,s+1),w,s],w=s;break}default:{a===Mf&&r.charCodeAt(w+1)===E0?(s=r.indexOf("*/",w+2)+1,s===0&&(n||X?s=r.length:_("comment")),y=["comment",r.slice(w,s+1),w,s],w=s):(Li.lastIndex=w+1,Li.test(r),Li.lastIndex===0?s=r.length-1:s=Li.lastIndex-2,y=["word",r.slice(w,s+1),w,s],b.push(y),w=s);break}}return w++,y}function B(q){k.push(q)}return{back:B,nextToken:I,endOfFile:E,position:S}}});var $i=v((CT,$f)=>{l();"use strict";var Lf=it(),br=class extends Lf{constructor(e){super(e);this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};$f.exports=br;br.default=br;Lf.registerAtRule(br)});var _t=v((AT,Uf)=>{l();"use strict";var jf=it(),zf,Vf,gt=class extends jf{constructor(e){super(e);this.type="root",this.nodes||(this.nodes=[])}removeChild(e,t){let r=this.index(e);return!t&&r===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[r].raws.before),super.removeChild(e)}normalize(e,t,r){let n=super.normalize(e);if(t){if(r==="prepend")this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let a of n)a.raws.before=t.raws.before}return n}toResult(e={}){return new zf(new Vf,this,e).stringify()}};gt.registerLazyResult=i=>{zf=i};gt.registerProcessor=i=>{Vf=i};Uf.exports=gt;gt.default=gt;jf.registerRoot(gt)});var Ds=v((_T,Wf)=>{l();"use strict";var vr={split(i,e,t){let r=[],n="",a=!1,s=0,o=!1,u="",c=!1;for(let f of i)c?c=!1:f==="\\"?c=!0:o?f===u&&(o=!1):f==='"'||f==="'"?(o=!0,u=f):f==="("?s+=1:f===")"?s>0&&(s-=1):s===0&&e.includes(f)&&(a=!0),a?(n!==""&&r.push(n.trim()),n="",a=!1):n+=f;return(t||n!=="")&&r.push(n.trim()),r},space(i){let e=[" ",` +`," "];return vr.split(i,e)},comma(i){return vr.split(i,[","],!0)}};Wf.exports=vr;vr.default=vr});var ji=v((ET,Hf)=>{l();"use strict";var Gf=it(),D0=Ds(),xr=class extends Gf{constructor(e){super(e);this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return D0.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,r=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(r)}};Hf.exports=xr;xr.default=xr;Gf.registerRule(xr)});var Kf=v((OT,Xf)=>{l();"use strict";var I0=gr(),q0=Nf(),R0=yr(),M0=$i(),B0=_t(),Yf=ji(),Qf={empty:!0,space:!0};function F0(i){for(let e=i.length-1;e>=0;e--){let t=i[e],r=t[3]||t[2];if(r)return r}}var Jf=class{constructor(e){this.input=e,this.root=new B0,this.current=this.root,this.spaces="",this.semicolon=!1,this.customProperty=!1,this.createTokenizer(),this.root.source={input:e,start:{offset:0,line:1,column:1}}}createTokenizer(){this.tokenizer=q0(this.input)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e);break}this.endFile()}comment(e){let t=new R0;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]);let r=e[1].slice(2,-2);if(/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{let n=r.match(/^(\s*)([^]*\S)(\s*)$/);t.text=n[2],t.raws.left=n[1],t.raws.right=n[3]}}emptyRule(e){let t=new Yf;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}other(e){let t=!1,r=null,n=!1,a=null,s=[],o=e[1].startsWith("--"),u=[],c=e;for(;c;){if(r=c[0],u.push(c),r==="("||r==="[")a||(a=c),s.push(r==="("?")":"]");else if(o&&n&&r==="{")a||(a=c),s.push("}");else if(s.length===0)if(r===";")if(n){this.decl(u,o);return}else break;else if(r==="{"){this.rule(u);return}else if(r==="}"){this.tokenizer.back(u.pop()),t=!0;break}else r===":"&&(n=!0);else r===s[s.length-1]&&(s.pop(),s.length===0&&(a=null));c=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(a),t&&n){if(!o)for(;u.length&&(c=u[u.length-1][0],!(c!=="space"&&c!=="comment"));)this.tokenizer.back(u.pop());this.decl(u,o)}else this.unknownWord(u)}rule(e){e.pop();let t=new Yf;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}decl(e,t){let r=new I0;this.init(r,e[0][2]);let n=e[e.length-1];for(n[0]===";"&&(this.semicolon=!0,e.pop()),r.source.end=this.getPosition(n[3]||n[2]||F0(e));e[0][0]!=="word";)e.length===1&&this.unknownWord(e),r.raws.before+=e.shift()[1];for(r.source.start=this.getPosition(e[0][2]),r.prop="";e.length;){let c=e[0][0];if(c===":"||c==="space"||c==="comment")break;r.prop+=e.shift()[1]}r.raws.between="";let a;for(;e.length;)if(a=e.shift(),a[0]===":"){r.raws.between+=a[1];break}else a[0]==="word"&&/\w/.test(a[1])&&this.unknownWord([a]),r.raws.between+=a[1];(r.prop[0]==="_"||r.prop[0]==="*")&&(r.raws.before+=r.prop[0],r.prop=r.prop.slice(1));let s=[],o;for(;e.length&&(o=e[0][0],!(o!=="space"&&o!=="comment"));)s.push(e.shift());this.precheckMissedSemicolon(e);for(let c=e.length-1;c>=0;c--){if(a=e[c],a[1].toLowerCase()==="!important"){r.important=!0;let f=this.stringFrom(e,c);f=this.spacesFromEnd(e)+f,f!==" !important"&&(r.raws.important=f);break}else if(a[1].toLowerCase()==="important"){let f=e.slice(0),p="";for(let d=c;d>0;d--){let h=f[d][0];if(p.trim().indexOf("!")===0&&h!=="space")break;p=f.pop()[1]+p}p.trim().indexOf("!")===0&&(r.important=!0,r.raws.important=p,e=f)}if(a[0]!=="space"&&a[0]!=="comment")break}e.some(c=>c[0]!=="space"&&c[0]!=="comment")&&(r.raws.between+=s.map(c=>c[1]).join(""),s=[]),this.raw(r,"value",s.concat(e),t),r.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}atrule(e){let t=new M0;t.name=e[1].slice(1),t.name===""&&this.unnamedAtrule(t,e),this.init(t,e[2]);let r,n,a,s=!1,o=!1,u=[],c=[];for(;!this.tokenizer.endOfFile();){if(e=this.tokenizer.nextToken(),r=e[0],r==="("||r==="["?c.push(r==="("?")":"]"):r==="{"&&c.length>0?c.push("}"):r===c[c.length-1]&&c.pop(),c.length===0)if(r===";"){t.source.end=this.getPosition(e[2]),this.semicolon=!0;break}else if(r==="{"){o=!0;break}else if(r==="}"){if(u.length>0){for(a=u.length-1,n=u[a];n&&n[0]==="space";)n=u[--a];n&&(t.source.end=this.getPosition(n[3]||n[2]))}this.end(e);break}else u.push(e);else u.push(e);if(this.tokenizer.endOfFile()){s=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(u),u.length?(t.raws.afterName=this.spacesAndCommentsFromStart(u),this.raw(t,"params",u),s&&(e=u[u.length-1],t.source.end=this.getPosition(e[3]||e[2]),this.spaces=t.raws.between,t.raws.between="")):(t.raws.afterName="",t.params=""),o&&(t.nodes=[],this.current=t)}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&t.type==="rule"&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(e){let t=this.input.fromOffset(e);return{offset:e,line:t.line,column:t.col}}init(e,t){this.current.push(e),e.source={start:this.getPosition(t),input:this.input},e.raws.before=this.spaces,this.spaces="",e.type!=="comment"&&(this.semicolon=!1)}raw(e,t,r,n){let a,s,o=r.length,u="",c=!0,f,p;for(let d=0;dh+y[1],"");e.raws[t]={value:u,raw:d}}e[t]=u}spacesAndCommentsFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],!(t!=="space"&&t!=="comment"));)r=e.pop()[1]+r;return r}spacesAndCommentsFromStart(e){let t,r="";for(;e.length&&(t=e[0][0],!(t!=="space"&&t!=="comment"));)r+=e.shift()[1];return r}spacesFromEnd(e){let t,r="";for(;e.length&&(t=e[e.length-1][0],t==="space");)r=e.pop()[1]+r;return r}stringFrom(e,t){let r="";for(let n=t;n=0&&(n=e[a],!(n[0]!=="space"&&(r+=1,r===2)));a--);throw this.input.error("Missed semicolon",n[0]==="word"?n[3]+1:n[2])}};Xf.exports=Jf});var Zf=v(()=>{l()});var tc=v((DT,ec)=>{l();var N0="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",L0=(i,e=21)=>(t=e)=>{let r="",n=t;for(;n--;)r+=i[Math.random()*i.length|0];return r},$0=(i=21)=>{let e="",t=i;for(;t--;)e+=N0[Math.random()*64|0];return e};ec.exports={nanoid:$0,customAlphabet:L0}});var Is=v((IT,rc)=>{l();rc.exports={}});var Vi=v((qT,ac)=>{l();"use strict";var{SourceMapConsumer:j0,SourceMapGenerator:z0}=Zf(),{fileURLToPath:ic,pathToFileURL:zi}=(bs(),of),{resolve:qs,isAbsolute:Rs}=(mt(),nf),{nanoid:V0}=tc(),Ms=vs(),nc=ki(),U0=Is(),Bs=Symbol("fromOffsetCache"),W0=Boolean(j0&&z0),sc=Boolean(qs&&Rs),kr=class{constructor(e,t={}){if(e===null||typeof e=="undefined"||typeof e=="object"&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,t.from&&(!sc||/^\w+:\/\//.test(t.from)||Rs(t.from)?this.file=t.from:this.file=qs(t.from)),sc&&W0){let r=new U0(this.css,t);if(r.text){this.map=r;let n=r.consumer().file;!this.file&&n&&(this.file=this.mapResolve(n))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}fromOffset(e){let t,r;if(this[Bs])r=this[Bs];else{let a=this.css.split(` +`);r=new Array(a.length);let s=0;for(let o=0,u=a.length;o=t)n=r.length-1;else{let a=r.length-2,s;for(;n>1),e=r[s+1])n=s+1;else{n=s;break}}return{line:n+1,col:e-r[n]+1}}error(e,t,r,n={}){let a,s,o;if(t&&typeof t=="object"){let c=t,f=r;if(typeof c.offset=="number"){let p=this.fromOffset(c.offset);t=p.line,r=p.col}else t=c.line,r=c.column;if(typeof f.offset=="number"){let p=this.fromOffset(f.offset);s=p.line,o=p.col}else s=f.line,o=f.column}else if(!r){let c=this.fromOffset(t);t=c.line,r=c.col}let u=this.origin(t,r,s,o);return u?a=new nc(e,u.endLine===void 0?u.line:{line:u.line,column:u.column},u.endLine===void 0?u.column:{line:u.endLine,column:u.endColumn},u.source,u.file,n.plugin):a=new nc(e,s===void 0?t:{line:t,column:r},s===void 0?r:{line:s,column:o},this.css,this.file,n.plugin),a.input={line:t,column:r,endLine:s,endColumn:o,source:this.css},this.file&&(zi&&(a.input.url=zi(this.file).toString()),a.input.file=this.file),a}origin(e,t,r,n){if(!this.map)return!1;let a=this.map.consumer(),s=a.originalPositionFor({line:e,column:t});if(!s.source)return!1;let o;typeof r=="number"&&(o=a.originalPositionFor({line:r,column:n}));let u;Rs(s.source)?u=zi(s.source):u=new URL(s.source,this.map.consumer().sourceRoot||zi(this.map.mapFile));let c={url:u.toString(),line:s.line,column:s.column,endLine:o&&o.line,endColumn:o&&o.column};if(u.protocol==="file:")if(ic)c.file=ic(u);else throw new Error("file: protocol is not available in this PostCSS build");let f=a.sourceContentFor(s.source);return f&&(c.source=f),c}mapResolve(e){return/^\w+:\/\//.test(e)?e:qs(this.map.consumer().sourceRoot||this.map.root||".",e)}get from(){return this.file||this.id}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])this[t]!=null&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};ac.exports=kr;kr.default=kr;Ms&&Ms.registerInput&&Ms.registerInput(kr)});var Wi=v((RT,oc)=>{l();"use strict";var G0=it(),H0=Kf(),Y0=Vi();function Ui(i,e){let t=new Y0(i,e),r=new H0(t);try{r.parse()}catch(n){throw n}return r.root}oc.exports=Ui;Ui.default=Ui;G0.registerParse(Ui)});var Ls=v((BT,cc)=>{l();"use strict";var{isClean:qe,my:Q0}=Si(),J0=As(),X0=hr(),K0=it(),Z0=Ti(),MT=Os(),lc=Ii(),ev=Wi(),tv=_t(),rv={document:"Document",root:"Root",atrule:"AtRule",rule:"Rule",decl:"Declaration",comment:"Comment"},iv={postcssPlugin:!0,prepare:!0,Once:!0,Document:!0,Root:!0,Declaration:!0,Rule:!0,AtRule:!0,Comment:!0,DeclarationExit:!0,RuleExit:!0,AtRuleExit:!0,CommentExit:!0,RootExit:!0,DocumentExit:!0,OnceExit:!0},nv={postcssPlugin:!0,prepare:!0,Once:!0},Et=0;function Sr(i){return typeof i=="object"&&typeof i.then=="function"}function uc(i){let e=!1,t=rv[i.type];return i.type==="decl"?e=i.prop.toLowerCase():i.type==="atrule"&&(e=i.name.toLowerCase()),e&&i.append?[t,t+"-"+e,Et,t+"Exit",t+"Exit-"+e]:e?[t,t+"-"+e,t+"Exit",t+"Exit-"+e]:i.append?[t,Et,t+"Exit"]:[t,t+"Exit"]}function fc(i){let e;return i.type==="document"?e=["Document",Et,"DocumentExit"]:i.type==="root"?e=["Root",Et,"RootExit"]:e=uc(i),{node:i,events:e,eventIndex:0,visitors:[],visitorIndex:0,iterator:0}}function Fs(i){return i[qe]=!1,i.nodes&&i.nodes.forEach(e=>Fs(e)),i}var Ns={},Ve=class{constructor(e,t,r){this.stringified=!1,this.processed=!1;let n;if(typeof t=="object"&&t!==null&&(t.type==="root"||t.type==="document"))n=Fs(t);else if(t instanceof Ve||t instanceof lc)n=Fs(t.root),t.map&&(typeof r.map=="undefined"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=t.map);else{let a=ev;r.syntax&&(a=r.syntax.parse),r.parser&&(a=r.parser),a.parse&&(a=a.parse);try{n=a(t,r)}catch(s){this.processed=!0,this.error=s}n&&!n[Q0]&&K0.rebuild(n)}this.result=new lc(e,n,r),this.helpers={...Ns,result:this.result,postcss:Ns},this.plugins=this.processor.plugins.map(a=>typeof a=="object"&&a.prepare?{...a,...a.prepare(this.result)}:a)}get[Symbol.toStringTag](){return"LazyResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.stringify().css}get content(){return this.stringify().content}get map(){return this.stringify().map}get root(){return this.sync().root}get messages(){return this.sync().messages}warnings(){return this.sync().warnings()}toString(){return this.css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins){let t=this.runOnRoot(e);if(Sr(t))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[qe];)e[qe]=!0,this.walkSync(e);if(this.listeners.OnceExit)if(e.type==="document")for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=X0;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let n=new J0(t,this.result.root,this.result.opts).generate();return this.result.css=n[0],this.result.map=n[1],this.result}walkSync(e){e[qe]=!0;let t=uc(e);for(let r of t)if(r===Et)e.nodes&&e.each(n=>{n[qe]||this.walkSync(n)});else{let n=this.listeners[r];if(n&&this.visitSync(n,e.toProxy()))return}}visitSync(e,t){for(let[r,n]of e){this.result.lastPlugin=r;let a;try{a=n(t,this.helpers)}catch(s){throw this.handleError(s,t.proxyOf)}if(t.type!=="root"&&t.type!=="document"&&!t.parent)return!0;if(Sr(a))throw this.getAsyncError()}}runOnRoot(e){this.result.lastPlugin=e;try{if(typeof e=="object"&&e.Once){if(this.result.root.type==="document"){let t=this.result.root.nodes.map(r=>e.Once(r,this.helpers));return Sr(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}else if(typeof e=="function")return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let r=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,e.name==="CssSyntaxError"&&!e.plugin?(e.plugin=r.postcssPlugin,e.setMessage()):r.postcssVersion}catch(n){console&&console.error&&console.error(n)}return e}async runAsync(){this.plugin=0;for(let e=0;e0;){let r=this.visitTick(t);if(Sr(r))try{await r}catch(n){let a=t[t.length-1].node;throw this.handleError(n,a)}}}if(this.listeners.OnceExit)for(let[t,r]of this.listeners.OnceExit){this.result.lastPlugin=t;try{if(e.type==="document"){let n=e.nodes.map(a=>r(a,this.helpers));await Promise.all(n)}else await r(e,this.helpers)}catch(n){throw this.handleError(n)}}}return this.processed=!0,this.stringify()}prepareVisitors(){this.listeners={};let e=(t,r,n)=>{this.listeners[r]||(this.listeners[r]=[]),this.listeners[r].push([t,n])};for(let t of this.plugins)if(typeof t=="object")for(let r in t){if(!iv[r]&&/^[A-Z]/.test(r))throw new Error(`Unknown event ${r} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!nv[r])if(typeof t[r]=="object")for(let n in t[r])n==="*"?e(t,r,t[r][n]):e(t,r+"-"+n.toLowerCase(),t[r][n]);else typeof t[r]=="function"&&e(t,r,t[r])}this.hasListener=Object.keys(this.listeners).length>0}visitTick(e){let t=e[e.length-1],{node:r,visitors:n}=t;if(r.type!=="root"&&r.type!=="document"&&!r.parent){e.pop();return}if(n.length>0&&t.visitorIndex{Ns=i};cc.exports=Ve;Ve.default=Ve;tv.registerLazyResult(Ve);Z0.registerLazyResult(Ve)});var dc=v((NT,pc)=>{l();"use strict";var sv=As(),av=hr(),FT=Os(),ov=Wi(),lv=Ii(),Gi=class{constructor(e,t,r){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=r,this._map=void 0;let n,a=av;this.result=new lv(this._processor,n,this._opts),this.result.css=t;let s=this;Object.defineProperty(this.result,"root",{get(){return s.root}});let o=new sv(a,n,this._opts,t);if(o.isMap()){let[u,c]=o.generate();u&&(this.result.css=u),c&&(this.result.map=c)}}get[Symbol.toStringTag](){return"NoWorkResult"}get processor(){return this.result.processor}get opts(){return this.result.opts}get css(){return this.result.css}get content(){return this.result.css}get map(){return this.result.map}get root(){if(this._root)return this._root;let e,t=ov;try{e=t(this._css,this._opts)}catch(r){this.error=r}if(this.error)throw this.error;return this._root=e,e}get messages(){return[]}warnings(){return[]}toString(){return this._css}then(e,t){return this.async().then(e,t)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}sync(){if(this.error)throw this.error;return this.result}};pc.exports=Gi;Gi.default=Gi});var mc=v((LT,hc)=>{l();"use strict";var uv=dc(),fv=Ls(),cv=Ti(),pv=_t(),Ot=class{constructor(e=[]){this.version="8.4.24",this.plugins=this.normalize(e)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}process(e,t={}){return this.plugins.length===0&&typeof t.parser=="undefined"&&typeof t.stringifier=="undefined"&&typeof t.syntax=="undefined"?new uv(this,e,t):new fv(this,e,t)}normalize(e){let t=[];for(let r of e)if(r.postcss===!0?r=r():r.postcss&&(r=r.postcss),typeof r=="object"&&Array.isArray(r.plugins))t=t.concat(r.plugins);else if(typeof r=="object"&&r.postcssPlugin)t.push(r);else if(typeof r=="function")t.push(r);else if(!(typeof r=="object"&&(r.parse||r.stringify)))throw new Error(r+" is not a PostCSS plugin");return t}};hc.exports=Ot;Ot.default=Ot;pv.registerProcessor(Ot);cv.registerProcessor(Ot)});var yc=v(($T,gc)=>{l();"use strict";var dv=gr(),hv=Is(),mv=yr(),gv=$i(),yv=Vi(),wv=_t(),bv=ji();function Cr(i,e){if(Array.isArray(i))return i.map(n=>Cr(n));let{inputs:t,...r}=i;if(t){e=[];for(let n of t){let a={...n,__proto__:yv.prototype};a.map&&(a.map={...a.map,__proto__:hv.prototype}),e.push(a)}}if(r.nodes&&(r.nodes=i.nodes.map(n=>Cr(n,e))),r.source){let{inputId:n,...a}=r.source;r.source=a,n!=null&&(r.source.input=e[n])}if(r.type==="root")return new wv(r);if(r.type==="decl")return new dv(r);if(r.type==="rule")return new bv(r);if(r.type==="comment")return new mv(r);if(r.type==="atrule")return new gv(r);throw new Error("Unknown node type: "+i.type)}gc.exports=Cr;Cr.default=Cr});var me=v((jT,Cc)=>{l();"use strict";var vv=ki(),wc=gr(),xv=Ls(),kv=it(),$s=mc(),Sv=hr(),Cv=yc(),bc=Ti(),Av=Ts(),vc=yr(),xc=$i(),_v=Ii(),Ev=Vi(),Ov=Wi(),Tv=Ds(),kc=ji(),Sc=_t(),Pv=mr();function j(...i){return i.length===1&&Array.isArray(i[0])&&(i=i[0]),new $s(i)}j.plugin=function(e,t){let r=!1;function n(...s){console&&console.warn&&!r&&(r=!0,console.warn(e+`: postcss.plugin was deprecated. Migration guide: +https://evilmartians.com/chronicles/postcss-8-plugin-migration`),m.env.LANG&&m.env.LANG.startsWith("cn")&&console.warn(e+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: +https://www.w3ctech.com/topic/2226`));let o=t(...s);return o.postcssPlugin=e,o.postcssVersion=new $s().version,o}let a;return Object.defineProperty(n,"postcss",{get(){return a||(a=n()),a}}),n.process=function(s,o,u){return j([n(u)]).process(s,o)},n};j.stringify=Sv;j.parse=Ov;j.fromJSON=Cv;j.list=Tv;j.comment=i=>new vc(i);j.atRule=i=>new xc(i);j.decl=i=>new wc(i);j.rule=i=>new kc(i);j.root=i=>new Sc(i);j.document=i=>new bc(i);j.CssSyntaxError=vv;j.Declaration=wc;j.Container=kv;j.Processor=$s;j.Document=bc;j.Comment=vc;j.Warning=Av;j.AtRule=xc;j.Result=_v;j.Input=Ev;j.Rule=kc;j.Root=Sc;j.Node=Pv;xv.registerPostcss(j);Cc.exports=j;j.default=j});var W,z,zT,VT,UT,WT,GT,HT,YT,QT,JT,XT,KT,ZT,eP,tP,rP,iP,nP,sP,aP,oP,lP,uP,fP,cP,nt=C(()=>{l();W=K(me()),z=W.default,zT=W.default.stringify,VT=W.default.fromJSON,UT=W.default.plugin,WT=W.default.parse,GT=W.default.list,HT=W.default.document,YT=W.default.comment,QT=W.default.atRule,JT=W.default.rule,XT=W.default.decl,KT=W.default.root,ZT=W.default.CssSyntaxError,eP=W.default.Declaration,tP=W.default.Container,rP=W.default.Processor,iP=W.default.Document,nP=W.default.Comment,sP=W.default.Warning,aP=W.default.AtRule,oP=W.default.Result,lP=W.default.Input,uP=W.default.Rule,fP=W.default.Root,cP=W.default.Node});var js=v((dP,Ac)=>{l();Ac.exports=function(i,e,t,r,n){for(e=e.split?e.split("."):e,r=0;r{l();"use strict";Hi.__esModule=!0;Hi.default=qv;function Dv(i){for(var e=i.toLowerCase(),t="",r=!1,n=0;n<6&&e[n]!==void 0;n++){var a=e.charCodeAt(n),s=a>=97&&a<=102||a>=48&&a<=57;if(r=a===32,!s)break;t+=e[n]}if(t.length!==0){var o=parseInt(t,16),u=o>=55296&&o<=57343;return u||o===0||o>1114111?["\uFFFD",t.length+(r?1:0)]:[String.fromCodePoint(o),t.length+(r?1:0)]}}var Iv=/\\/;function qv(i){var e=Iv.test(i);if(!e)return i;for(var t="",r=0;r{l();"use strict";Qi.__esModule=!0;Qi.default=Rv;function Rv(i){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r0;){var n=t.shift();if(!i[n])return;i=i[n]}return i}Ec.exports=Qi.default});var Pc=v((Ji,Tc)=>{l();"use strict";Ji.__esModule=!0;Ji.default=Mv;function Mv(i){for(var e=arguments.length,t=new Array(e>1?e-1:0),r=1;r0;){var n=t.shift();i[n]||(i[n]={}),i=i[n]}}Tc.exports=Ji.default});var Ic=v((Xi,Dc)=>{l();"use strict";Xi.__esModule=!0;Xi.default=Bv;function Bv(i){for(var e="",t=i.indexOf("/*"),r=0;t>=0;){e=e+i.slice(r,t);var n=i.indexOf("*/",t+2);if(n<0)return e;r=n+2,t=i.indexOf("/*",r)}return e=e+i.slice(r),e}Dc.exports=Xi.default});var Ar=v(Re=>{l();"use strict";Re.__esModule=!0;Re.unesc=Re.stripComments=Re.getProp=Re.ensureObject=void 0;var Fv=Ki(Yi());Re.unesc=Fv.default;var Nv=Ki(Oc());Re.getProp=Nv.default;var Lv=Ki(Pc());Re.ensureObject=Lv.default;var $v=Ki(Ic());Re.stripComments=$v.default;function Ki(i){return i&&i.__esModule?i:{default:i}}});var Ue=v((_r,Mc)=>{l();"use strict";_r.__esModule=!0;_r.default=void 0;var qc=Ar();function Rc(i,e){for(var t=0;tr||this.source.end.linen||this.source.end.line===r&&this.source.end.column{l();"use strict";G.__esModule=!0;G.UNIVERSAL=G.TAG=G.STRING=G.SELECTOR=G.ROOT=G.PSEUDO=G.NESTING=G.ID=G.COMMENT=G.COMBINATOR=G.CLASS=G.ATTRIBUTE=void 0;var Uv="tag";G.TAG=Uv;var Wv="string";G.STRING=Wv;var Gv="selector";G.SELECTOR=Gv;var Hv="root";G.ROOT=Hv;var Yv="pseudo";G.PSEUDO=Yv;var Qv="nesting";G.NESTING=Qv;var Jv="id";G.ID=Jv;var Xv="comment";G.COMMENT=Xv;var Kv="combinator";G.COMBINATOR=Kv;var Zv="class";G.CLASS=Zv;var ex="attribute";G.ATTRIBUTE=ex;var tx="universal";G.UNIVERSAL=tx});var Zi=v((Er,Lc)=>{l();"use strict";Er.__esModule=!0;Er.default=void 0;var rx=nx(Ue()),We=ix(ne());function Bc(i){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Bc=function(n){return n?t:e})(i)}function ix(i,e){if(!e&&i&&i.__esModule)return i;if(i===null||typeof i!="object"&&typeof i!="function")return{default:i};var t=Bc(e);if(t&&t.has(i))return t.get(i);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in i)if(a!=="default"&&Object.prototype.hasOwnProperty.call(i,a)){var s=n?Object.getOwnPropertyDescriptor(i,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=i[a]}return r.default=i,t&&t.set(i,r),r}function nx(i){return i&&i.__esModule?i:{default:i}}function sx(i,e){var t=typeof Symbol!="undefined"&&i[Symbol.iterator]||i["@@iterator"];if(t)return(t=t.call(i)).next.bind(t);if(Array.isArray(i)||(t=ax(i))||e&&i&&typeof i.length=="number"){t&&(i=t);var r=0;return function(){return r>=i.length?{done:!0}:{done:!1,value:i[r++]}}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ax(i,e){if(!!i){if(typeof i=="string")return Fc(i,e);var t=Object.prototype.toString.call(i).slice(8,-1);if(t==="Object"&&i.constructor&&(t=i.constructor.name),t==="Map"||t==="Set")return Array.from(i);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return Fc(i,e)}}function Fc(i,e){(e==null||e>i.length)&&(e=i.length);for(var t=0,r=new Array(e);t=n&&(this.indexes[s]=a-1);return this},t.removeAll=function(){for(var n=sx(this.nodes),a;!(a=n()).done;){var s=a.value;s.parent=void 0}return this.nodes=[],this},t.empty=function(){return this.removeAll()},t.insertAfter=function(n,a){a.parent=this;var s=this.index(n);this.nodes.splice(s+1,0,a),a.parent=this;var o;for(var u in this.indexes)o=this.indexes[u],s<=o&&(this.indexes[u]=o+1);return this},t.insertBefore=function(n,a){a.parent=this;var s=this.index(n);this.nodes.splice(s,0,a),a.parent=this;var o;for(var u in this.indexes)o=this.indexes[u],o<=s&&(this.indexes[u]=o+1);return this},t._findChildAtPosition=function(n,a){var s=void 0;return this.each(function(o){if(o.atPosition){var u=o.atPosition(n,a);if(u)return s=u,!1}else if(o.isAtPosition(n,a))return s=o,!1}),s},t.atPosition=function(n,a){if(this.isAtPosition(n,a))return this._findChildAtPosition(n,a)||this},t._inferEndPosition=function(){this.last&&this.last.source&&this.last.source.end&&(this.source=this.source||{},this.source.end=this.source.end||{},Object.assign(this.source.end,this.last.source.end))},t.each=function(n){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var a=this.lastEach;if(this.indexes[a]=0,!!this.length){for(var s,o;this.indexes[a]{l();"use strict";Or.__esModule=!0;Or.default=void 0;var fx=px(Zi()),cx=ne();function px(i){return i&&i.__esModule?i:{default:i}}function $c(i,e){for(var t=0;t{l();"use strict";Tr.__esModule=!0;Tr.default=void 0;var gx=wx(Zi()),yx=ne();function wx(i){return i&&i.__esModule?i:{default:i}}function bx(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Ws(i,e)}function Ws(i,e){return Ws=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Ws(i,e)}var vx=function(i){bx(e,i);function e(t){var r;return r=i.call(this,t)||this,r.type=yx.SELECTOR,r}return e}(gx.default);Tr.default=vx;zc.exports=Tr.default});var en=v((gP,Vc)=>{l();"use strict";var xx={},kx=xx.hasOwnProperty,Sx=function(e,t){if(!e)return t;var r={};for(var n in t)r[n]=kx.call(e,n)?e[n]:t[n];return r},Cx=/[ -,\.\/:-@\[-\^`\{-~]/,Ax=/[ -,\.\/:-@\[\]\^`\{-~]/,_x=/(^|\\+)?(\\[A-F0-9]{1,6})\x20(?![a-fA-F0-9\x20])/g,Hs=function i(e,t){t=Sx(t,i.options),t.quotes!="single"&&t.quotes!="double"&&(t.quotes="single");for(var r=t.quotes=="double"?'"':"'",n=t.isIdentifier,a=e.charAt(0),s="",o=0,u=e.length;o126){if(f>=55296&&f<=56319&&o{l();"use strict";Pr.__esModule=!0;Pr.default=void 0;var Ex=Uc(en()),Ox=Ar(),Tx=Uc(Ue()),Px=ne();function Uc(i){return i&&i.__esModule?i:{default:i}}function Wc(i,e){for(var t=0;t{l();"use strict";Dr.__esModule=!0;Dr.default=void 0;var Rx=Bx(Ue()),Mx=ne();function Bx(i){return i&&i.__esModule?i:{default:i}}function Fx(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Js(i,e)}function Js(i,e){return Js=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Js(i,e)}var Nx=function(i){Fx(e,i);function e(t){var r;return r=i.call(this,t)||this,r.type=Mx.COMMENT,r}return e}(Rx.default);Dr.default=Nx;Hc.exports=Dr.default});var Zs=v((Ir,Yc)=>{l();"use strict";Ir.__esModule=!0;Ir.default=void 0;var Lx=jx(Ue()),$x=ne();function jx(i){return i&&i.__esModule?i:{default:i}}function zx(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,Ks(i,e)}function Ks(i,e){return Ks=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},Ks(i,e)}var Vx=function(i){zx(e,i);function e(r){var n;return n=i.call(this,r)||this,n.type=$x.ID,n}var t=e.prototype;return t.valueToString=function(){return"#"+i.prototype.valueToString.call(this)},e}(Lx.default);Ir.default=Vx;Yc.exports=Ir.default});var tn=v((qr,Xc)=>{l();"use strict";qr.__esModule=!0;qr.default=void 0;var Ux=Qc(en()),Wx=Ar(),Gx=Qc(Ue());function Qc(i){return i&&i.__esModule?i:{default:i}}function Jc(i,e){for(var t=0;t{l();"use strict";Rr.__esModule=!0;Rr.default=void 0;var Jx=Kx(tn()),Xx=ne();function Kx(i){return i&&i.__esModule?i:{default:i}}function Zx(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,ta(i,e)}function ta(i,e){return ta=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},ta(i,e)}var e1=function(i){Zx(e,i);function e(t){var r;return r=i.call(this,t)||this,r.type=Xx.TAG,r}return e}(Jx.default);Rr.default=e1;Kc.exports=Rr.default});var na=v((Mr,Zc)=>{l();"use strict";Mr.__esModule=!0;Mr.default=void 0;var t1=i1(Ue()),r1=ne();function i1(i){return i&&i.__esModule?i:{default:i}}function n1(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,ia(i,e)}function ia(i,e){return ia=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},ia(i,e)}var s1=function(i){n1(e,i);function e(t){var r;return r=i.call(this,t)||this,r.type=r1.STRING,r}return e}(t1.default);Mr.default=s1;Zc.exports=Mr.default});var aa=v((Br,ep)=>{l();"use strict";Br.__esModule=!0;Br.default=void 0;var a1=l1(Zi()),o1=ne();function l1(i){return i&&i.__esModule?i:{default:i}}function u1(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,sa(i,e)}function sa(i,e){return sa=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},sa(i,e)}var f1=function(i){u1(e,i);function e(r){var n;return n=i.call(this,r)||this,n.type=o1.PSEUDO,n}var t=e.prototype;return t.toString=function(){var n=this.length?"("+this.map(String).join(",")+")":"";return[this.rawSpaceBefore,this.stringifyProperty("value"),n,this.rawSpaceAfter].join("")},e}(a1.default);Br.default=f1;ep.exports=Br.default});var tp={};Ae(tp,{deprecate:()=>c1});function c1(i){return i}var rp=C(()=>{l()});var np=v((yP,ip)=>{l();ip.exports=(rp(),tp).deprecate});var pa=v(Lr=>{l();"use strict";Lr.__esModule=!0;Lr.default=void 0;Lr.unescapeValue=fa;var Fr=la(en()),p1=la(Yi()),d1=la(tn()),h1=ne(),oa;function la(i){return i&&i.__esModule?i:{default:i}}function sp(i,e){for(var t=0;t0&&!n.quoted&&o.before.length===0&&!(n.spaces.value&&n.spaces.value.after)&&(o.before=" "),ap(s,o)}))),a.push("]"),a.push(this.rawSpaceAfter),a.join("")},m1(e,[{key:"quoted",get:function(){var n=this.quoteMark;return n==="'"||n==='"'},set:function(n){b1()}},{key:"quoteMark",get:function(){return this._quoteMark},set:function(n){if(!this._constructed){this._quoteMark=n;return}this._quoteMark!==n&&(this._quoteMark=n,this._syncRawValue())}},{key:"qualifiedAttribute",get:function(){return this.qualifiedName(this.raws.attribute||this.attribute)}},{key:"insensitiveFlag",get:function(){return this.insensitive?"i":""}},{key:"value",get:function(){return this._value},set:function(n){if(this._constructed){var a=fa(n),s=a.deprecatedUsage,o=a.unescaped,u=a.quoteMark;if(s&&w1(),o===this._value&&u===this._quoteMark)return;this._value=o,this._quoteMark=u,this._syncRawValue()}else this._value=n}},{key:"insensitive",get:function(){return this._insensitive},set:function(n){n||(this._insensitive=!1,this.raws&&(this.raws.insensitiveFlag==="I"||this.raws.insensitiveFlag==="i")&&(this.raws.insensitiveFlag=void 0)),this._insensitive=n}},{key:"attribute",get:function(){return this._attribute},set:function(n){this._handleEscapes("attribute",n),this._attribute=n}}]),e}(d1.default);Lr.default=rn;rn.NO_QUOTE=null;rn.SINGLE_QUOTE="'";rn.DOUBLE_QUOTE='"';var ca=(oa={"'":{quotes:"single",wrap:!0},'"':{quotes:"double",wrap:!0}},oa[null]={isIdentifier:!0},oa);function ap(i,e){return""+e.before+i+e.after}});var ha=v(($r,op)=>{l();"use strict";$r.__esModule=!0;$r.default=void 0;var k1=C1(tn()),S1=ne();function C1(i){return i&&i.__esModule?i:{default:i}}function A1(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,da(i,e)}function da(i,e){return da=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},da(i,e)}var _1=function(i){A1(e,i);function e(t){var r;return r=i.call(this,t)||this,r.type=S1.UNIVERSAL,r.value="*",r}return e}(k1.default);$r.default=_1;op.exports=$r.default});var ga=v((jr,lp)=>{l();"use strict";jr.__esModule=!0;jr.default=void 0;var E1=T1(Ue()),O1=ne();function T1(i){return i&&i.__esModule?i:{default:i}}function P1(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,ma(i,e)}function ma(i,e){return ma=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},ma(i,e)}var D1=function(i){P1(e,i);function e(t){var r;return r=i.call(this,t)||this,r.type=O1.COMBINATOR,r}return e}(E1.default);jr.default=D1;lp.exports=jr.default});var wa=v((zr,up)=>{l();"use strict";zr.__esModule=!0;zr.default=void 0;var I1=R1(Ue()),q1=ne();function R1(i){return i&&i.__esModule?i:{default:i}}function M1(i,e){i.prototype=Object.create(e.prototype),i.prototype.constructor=i,ya(i,e)}function ya(i,e){return ya=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,n){return r.__proto__=n,r},ya(i,e)}var B1=function(i){M1(e,i);function e(t){var r;return r=i.call(this,t)||this,r.type=q1.NESTING,r.value="&",r}return e}(I1.default);zr.default=B1;up.exports=zr.default});var cp=v((nn,fp)=>{l();"use strict";nn.__esModule=!0;nn.default=F1;function F1(i){return i.sort(function(e,t){return e-t})}fp.exports=nn.default});var ba=v(D=>{l();"use strict";D.__esModule=!0;D.word=D.tilde=D.tab=D.str=D.space=D.slash=D.singleQuote=D.semicolon=D.plus=D.pipe=D.openSquare=D.openParenthesis=D.newline=D.greaterThan=D.feed=D.equals=D.doubleQuote=D.dollar=D.cr=D.comment=D.comma=D.combinator=D.colon=D.closeSquare=D.closeParenthesis=D.caret=D.bang=D.backslash=D.at=D.asterisk=D.ampersand=void 0;var N1=38;D.ampersand=N1;var L1=42;D.asterisk=L1;var $1=64;D.at=$1;var j1=44;D.comma=j1;var z1=58;D.colon=z1;var V1=59;D.semicolon=V1;var U1=40;D.openParenthesis=U1;var W1=41;D.closeParenthesis=W1;var G1=91;D.openSquare=G1;var H1=93;D.closeSquare=H1;var Y1=36;D.dollar=Y1;var Q1=126;D.tilde=Q1;var J1=94;D.caret=J1;var X1=43;D.plus=X1;var K1=61;D.equals=K1;var Z1=124;D.pipe=Z1;var ek=62;D.greaterThan=ek;var tk=32;D.space=tk;var pp=39;D.singleQuote=pp;var rk=34;D.doubleQuote=rk;var ik=47;D.slash=ik;var nk=33;D.bang=nk;var sk=92;D.backslash=sk;var ak=13;D.cr=ak;var ok=12;D.feed=ok;var lk=10;D.newline=lk;var uk=9;D.tab=uk;var fk=pp;D.str=fk;var ck=-1;D.comment=ck;var pk=-2;D.word=pk;var dk=-3;D.combinator=dk});var mp=v(Vr=>{l();"use strict";Vr.__esModule=!0;Vr.FIELDS=void 0;Vr.default=vk;var O=hk(ba()),Tt,V;function dp(i){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(dp=function(n){return n?t:e})(i)}function hk(i,e){if(!e&&i&&i.__esModule)return i;if(i===null||typeof i!="object"&&typeof i!="function")return{default:i};var t=dp(e);if(t&&t.has(i))return t.get(i);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in i)if(a!=="default"&&Object.prototype.hasOwnProperty.call(i,a)){var s=n?Object.getOwnPropertyDescriptor(i,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=i[a]}return r.default=i,t&&t.set(i,r),r}var mk=(Tt={},Tt[O.tab]=!0,Tt[O.newline]=!0,Tt[O.cr]=!0,Tt[O.feed]=!0,Tt),gk=(V={},V[O.space]=!0,V[O.tab]=!0,V[O.newline]=!0,V[O.cr]=!0,V[O.feed]=!0,V[O.ampersand]=!0,V[O.asterisk]=!0,V[O.bang]=!0,V[O.comma]=!0,V[O.colon]=!0,V[O.semicolon]=!0,V[O.openParenthesis]=!0,V[O.closeParenthesis]=!0,V[O.openSquare]=!0,V[O.closeSquare]=!0,V[O.singleQuote]=!0,V[O.doubleQuote]=!0,V[O.plus]=!0,V[O.pipe]=!0,V[O.tilde]=!0,V[O.greaterThan]=!0,V[O.equals]=!0,V[O.dollar]=!0,V[O.caret]=!0,V[O.slash]=!0,V),va={},hp="0123456789abcdefABCDEF";for(sn=0;sn0?(k=s+x,S=b-w[x].length):(k=s,S=a),E=O.comment,s=k,d=k,p=b-S):c===O.slash?(b=o,E=c,d=s,p=o-a,u=b+1):(b=yk(t,o),E=O.word,d=s,p=b-a),u=b+1;break}e.push([E,s,o-a,d,p,o,u]),S&&(a=S,S=null),o=u}return e}});var Sp=v((Ur,kp)=>{l();"use strict";Ur.__esModule=!0;Ur.default=void 0;var xk=we(Us()),xa=we(Gs()),kk=we(Qs()),gp=we(Xs()),Sk=we(Zs()),Ck=we(ra()),ka=we(na()),Ak=we(aa()),yp=an(pa()),_k=we(ha()),Sa=we(ga()),Ek=we(wa()),Ok=we(cp()),A=an(mp()),T=an(ba()),Tk=an(ne()),Y=Ar(),yt,Ca;function wp(i){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(wp=function(n){return n?t:e})(i)}function an(i,e){if(!e&&i&&i.__esModule)return i;if(i===null||typeof i!="object"&&typeof i!="function")return{default:i};var t=wp(e);if(t&&t.has(i))return t.get(i);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in i)if(a!=="default"&&Object.prototype.hasOwnProperty.call(i,a)){var s=n?Object.getOwnPropertyDescriptor(i,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=i[a]}return r.default=i,t&&t.set(i,r),r}function we(i){return i&&i.__esModule?i:{default:i}}function bp(i,e){for(var t=0;t0){var s=this.current.last;if(s){var o=this.convertWhitespaceNodesToSpace(a),u=o.space,c=o.rawSpace;c!==void 0&&(s.rawSpaceAfter+=c),s.spaces.after+=u}else a.forEach(function(E){return r.newNode(E)})}return}var f=this.currToken,p=void 0;n>this.position&&(p=this.parseWhitespaceEquivalentTokens(n));var d;if(this.isNamedCombinator()?d=this.namedCombinator():this.currToken[A.FIELDS.TYPE]===T.combinator?(d=new Sa.default({value:this.content(),source:Pt(this.currToken),sourceIndex:this.currToken[A.FIELDS.START_POS]}),this.position++):Aa[this.currToken[A.FIELDS.TYPE]]||p||this.unexpected(),d){if(p){var h=this.convertWhitespaceNodesToSpace(p),y=h.space,x=h.rawSpace;d.spaces.before=y,d.rawSpaceBefore=x}}else{var w=this.convertWhitespaceNodesToSpace(p,!0),b=w.space,k=w.rawSpace;k||(k=b);var S={},_={spaces:{}};b.endsWith(" ")&&k.endsWith(" ")?(S.before=b.slice(0,b.length-1),_.spaces.before=k.slice(0,k.length-1)):b.startsWith(" ")&&k.startsWith(" ")?(S.after=b.slice(1),_.spaces.after=k.slice(1)):_.value=k,d=new Sa.default({value:" ",source:_a(f,this.tokens[this.position-1]),sourceIndex:f[A.FIELDS.START_POS],spaces:S,raws:_})}return this.currToken&&this.currToken[A.FIELDS.TYPE]===T.space&&(d.spaces.after=this.optionalSpace(this.content()),this.position++),this.newNode(d)},e.comma=function(){if(this.position===this.tokens.length-1){this.root.trailingComma=!0,this.position++;return}this.current._inferEndPosition();var r=new xa.default({source:{start:vp(this.tokens[this.position+1])}});this.current.parent.append(r),this.current=r,this.position++},e.comment=function(){var r=this.currToken;this.newNode(new gp.default({value:this.content(),source:Pt(r),sourceIndex:r[A.FIELDS.START_POS]})),this.position++},e.error=function(r,n){throw this.root.error(r,n)},e.missingBackslash=function(){return this.error("Expected a backslash preceding the semicolon.",{index:this.currToken[A.FIELDS.START_POS]})},e.missingParenthesis=function(){return this.expected("opening parenthesis",this.currToken[A.FIELDS.START_POS])},e.missingSquareBracket=function(){return this.expected("opening square bracket",this.currToken[A.FIELDS.START_POS])},e.unexpected=function(){return this.error("Unexpected '"+this.content()+"'. Escaping special characters with \\ may help.",this.currToken[A.FIELDS.START_POS])},e.unexpectedPipe=function(){return this.error("Unexpected '|'.",this.currToken[A.FIELDS.START_POS])},e.namespace=function(){var r=this.prevToken&&this.content(this.prevToken)||!0;if(this.nextToken[A.FIELDS.TYPE]===T.word)return this.position++,this.word(r);if(this.nextToken[A.FIELDS.TYPE]===T.asterisk)return this.position++,this.universal(r);this.unexpectedPipe()},e.nesting=function(){if(this.nextToken){var r=this.content(this.nextToken);if(r==="|"){this.position++;return}}var n=this.currToken;this.newNode(new Ek.default({value:this.content(),source:Pt(n),sourceIndex:n[A.FIELDS.START_POS]})),this.position++},e.parentheses=function(){var r=this.current.last,n=1;if(this.position++,r&&r.type===Tk.PSEUDO){var a=new xa.default({source:{start:vp(this.tokens[this.position-1])}}),s=this.current;for(r.append(a),this.current=a;this.position1&&r.nextToken&&r.nextToken[A.FIELDS.TYPE]===T.openParenthesis&&r.error("Misplaced parenthesis.",{index:r.nextToken[A.FIELDS.START_POS]})});else return this.expected(["pseudo-class","pseudo-element"],this.currToken[A.FIELDS.START_POS])},e.space=function(){var r=this.content();this.position===0||this.prevToken[A.FIELDS.TYPE]===T.comma||this.prevToken[A.FIELDS.TYPE]===T.openParenthesis||this.current.nodes.every(function(n){return n.type==="comment"})?(this.spaces=this.optionalSpace(r),this.position++):this.position===this.tokens.length-1||this.nextToken[A.FIELDS.TYPE]===T.comma||this.nextToken[A.FIELDS.TYPE]===T.closeParenthesis?(this.current.last.spaces.after=this.optionalSpace(r),this.position++):this.combinator()},e.string=function(){var r=this.currToken;this.newNode(new ka.default({value:this.content(),source:Pt(r),sourceIndex:r[A.FIELDS.START_POS]})),this.position++},e.universal=function(r){var n=this.nextToken;if(n&&this.content(n)==="|")return this.position++,this.namespace();var a=this.currToken;this.newNode(new _k.default({value:this.content(),source:Pt(a),sourceIndex:a[A.FIELDS.START_POS]}),r),this.position++},e.splitWord=function(r,n){for(var a=this,s=this.nextToken,o=this.content();s&&~[T.dollar,T.caret,T.equals,T.word].indexOf(s[A.FIELDS.TYPE]);){this.position++;var u=this.content();if(o+=u,u.lastIndexOf("\\")===u.length-1){var c=this.nextToken;c&&c[A.FIELDS.TYPE]===T.space&&(o+=this.requiredSpace(this.content(c)),this.position++)}s=this.nextToken}var f=Ea(o,".").filter(function(y){var x=o[y-1]==="\\",w=/^\d+\.\d+%$/.test(o);return!x&&!w}),p=Ea(o,"#").filter(function(y){return o[y-1]!=="\\"}),d=Ea(o,"#{");d.length&&(p=p.filter(function(y){return!~d.indexOf(y)}));var h=(0,Ok.default)(Ik([0].concat(f,p)));h.forEach(function(y,x){var w=h[x+1]||o.length,b=o.slice(y,w);if(x===0&&n)return n.call(a,b,h.length);var k,S=a.currToken,_=S[A.FIELDS.START_POS]+h[x],E=wt(S[1],S[2]+y,S[3],S[2]+(w-1));if(~f.indexOf(y)){var I={value:b.slice(1),source:E,sourceIndex:_};k=new kk.default(Dt(I,"value"))}else if(~p.indexOf(y)){var B={value:b.slice(1),source:E,sourceIndex:_};k=new Sk.default(Dt(B,"value"))}else{var q={value:b,source:E,sourceIndex:_};Dt(q,"value"),k=new Ck.default(q)}a.newNode(k,r),r=null}),this.position++},e.word=function(r){var n=this.nextToken;return n&&this.content(n)==="|"?(this.position++,this.namespace()):this.splitWord(r)},e.loop=function(){for(;this.position{l();"use strict";Wr.__esModule=!0;Wr.default=void 0;var Rk=Mk(Sp());function Mk(i){return i&&i.__esModule?i:{default:i}}var Bk=function(){function i(t,r){this.func=t||function(){},this.funcRes=null,this.options=r}var e=i.prototype;return e._shouldUpdateSelector=function(r,n){n===void 0&&(n={});var a=Object.assign({},this.options,n);return a.updateSelector===!1?!1:typeof r!="string"},e._isLossy=function(r){r===void 0&&(r={});var n=Object.assign({},this.options,r);return n.lossless===!1},e._root=function(r,n){n===void 0&&(n={});var a=new Rk.default(r,this._parseOptions(n));return a.root},e._parseOptions=function(r){return{lossy:this._isLossy(r)}},e._run=function(r,n){var a=this;return n===void 0&&(n={}),new Promise(function(s,o){try{var u=a._root(r,n);Promise.resolve(a.func(u)).then(function(c){var f=void 0;return a._shouldUpdateSelector(r,n)&&(f=u.toString(),r.selector=f),{transform:c,root:u,string:f}}).then(s,o)}catch(c){o(c);return}})},e._runSync=function(r,n){n===void 0&&(n={});var a=this._root(r,n),s=this.func(a);if(s&&typeof s.then=="function")throw new Error("Selector processor returned a promise to a synchronous call.");var o=void 0;return n.updateSelector&&typeof r!="string"&&(o=a.toString(),r.selector=o),{transform:s,root:a,string:o}},e.ast=function(r,n){return this._run(r,n).then(function(a){return a.root})},e.astSync=function(r,n){return this._runSync(r,n).root},e.transform=function(r,n){return this._run(r,n).then(function(a){return a.transform})},e.transformSync=function(r,n){return this._runSync(r,n).transform},e.process=function(r,n){return this._run(r,n).then(function(a){return a.string||a.root.toString()})},e.processSync=function(r,n){var a=this._runSync(r,n);return a.string||a.root.toString()},i}();Wr.default=Bk;Cp.exports=Wr.default});var _p=v(H=>{l();"use strict";H.__esModule=!0;H.universal=H.tag=H.string=H.selector=H.root=H.pseudo=H.nesting=H.id=H.comment=H.combinator=H.className=H.attribute=void 0;var Fk=be(pa()),Nk=be(Qs()),Lk=be(ga()),$k=be(Xs()),jk=be(Zs()),zk=be(wa()),Vk=be(aa()),Uk=be(Us()),Wk=be(Gs()),Gk=be(na()),Hk=be(ra()),Yk=be(ha());function be(i){return i&&i.__esModule?i:{default:i}}var Qk=function(e){return new Fk.default(e)};H.attribute=Qk;var Jk=function(e){return new Nk.default(e)};H.className=Jk;var Xk=function(e){return new Lk.default(e)};H.combinator=Xk;var Kk=function(e){return new $k.default(e)};H.comment=Kk;var Zk=function(e){return new jk.default(e)};H.id=Zk;var eS=function(e){return new zk.default(e)};H.nesting=eS;var tS=function(e){return new Vk.default(e)};H.pseudo=tS;var rS=function(e){return new Uk.default(e)};H.root=rS;var iS=function(e){return new Wk.default(e)};H.selector=iS;var nS=function(e){return new Gk.default(e)};H.string=nS;var sS=function(e){return new Hk.default(e)};H.tag=sS;var aS=function(e){return new Yk.default(e)};H.universal=aS});var Pp=v(L=>{l();"use strict";L.__esModule=!0;L.isComment=L.isCombinator=L.isClassName=L.isAttribute=void 0;L.isContainer=wS;L.isIdentifier=void 0;L.isNamespace=bS;L.isNesting=void 0;L.isNode=Oa;L.isPseudo=void 0;L.isPseudoClass=yS;L.isPseudoElement=Tp;L.isUniversal=L.isTag=L.isString=L.isSelector=L.isRoot=void 0;var Q=ne(),fe,oS=(fe={},fe[Q.ATTRIBUTE]=!0,fe[Q.CLASS]=!0,fe[Q.COMBINATOR]=!0,fe[Q.COMMENT]=!0,fe[Q.ID]=!0,fe[Q.NESTING]=!0,fe[Q.PSEUDO]=!0,fe[Q.ROOT]=!0,fe[Q.SELECTOR]=!0,fe[Q.STRING]=!0,fe[Q.TAG]=!0,fe[Q.UNIVERSAL]=!0,fe);function Oa(i){return typeof i=="object"&&oS[i.type]}function ve(i,e){return Oa(e)&&e.type===i}var Ep=ve.bind(null,Q.ATTRIBUTE);L.isAttribute=Ep;var lS=ve.bind(null,Q.CLASS);L.isClassName=lS;var uS=ve.bind(null,Q.COMBINATOR);L.isCombinator=uS;var fS=ve.bind(null,Q.COMMENT);L.isComment=fS;var cS=ve.bind(null,Q.ID);L.isIdentifier=cS;var pS=ve.bind(null,Q.NESTING);L.isNesting=pS;var Ta=ve.bind(null,Q.PSEUDO);L.isPseudo=Ta;var dS=ve.bind(null,Q.ROOT);L.isRoot=dS;var hS=ve.bind(null,Q.SELECTOR);L.isSelector=hS;var mS=ve.bind(null,Q.STRING);L.isString=mS;var Op=ve.bind(null,Q.TAG);L.isTag=Op;var gS=ve.bind(null,Q.UNIVERSAL);L.isUniversal=gS;function Tp(i){return Ta(i)&&i.value&&(i.value.startsWith("::")||i.value.toLowerCase()===":before"||i.value.toLowerCase()===":after"||i.value.toLowerCase()===":first-letter"||i.value.toLowerCase()===":first-line")}function yS(i){return Ta(i)&&!Tp(i)}function wS(i){return!!(Oa(i)&&i.walk)}function bS(i){return Ep(i)||Op(i)}});var Dp=v(Oe=>{l();"use strict";Oe.__esModule=!0;var Pa=ne();Object.keys(Pa).forEach(function(i){i==="default"||i==="__esModule"||i in Oe&&Oe[i]===Pa[i]||(Oe[i]=Pa[i])});var Da=_p();Object.keys(Da).forEach(function(i){i==="default"||i==="__esModule"||i in Oe&&Oe[i]===Da[i]||(Oe[i]=Da[i])});var Ia=Pp();Object.keys(Ia).forEach(function(i){i==="default"||i==="__esModule"||i in Oe&&Oe[i]===Ia[i]||(Oe[i]=Ia[i])})});var Me=v((Gr,qp)=>{l();"use strict";Gr.__esModule=!0;Gr.default=void 0;var vS=SS(Ap()),xS=kS(Dp());function Ip(i){if(typeof WeakMap!="function")return null;var e=new WeakMap,t=new WeakMap;return(Ip=function(n){return n?t:e})(i)}function kS(i,e){if(!e&&i&&i.__esModule)return i;if(i===null||typeof i!="object"&&typeof i!="function")return{default:i};var t=Ip(e);if(t&&t.has(i))return t.get(i);var r={},n=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in i)if(a!=="default"&&Object.prototype.hasOwnProperty.call(i,a)){var s=n?Object.getOwnPropertyDescriptor(i,a):null;s&&(s.get||s.set)?Object.defineProperty(r,a,s):r[a]=i[a]}return r.default=i,t&&t.set(i,r),r}function SS(i){return i&&i.__esModule?i:{default:i}}var qa=function(e){return new vS.default(e)};Object.assign(qa,xS);delete qa.__esModule;var CS=qa;Gr.default=CS;qp.exports=Gr.default});function Ge(i){return["fontSize","outline"].includes(i)?e=>(typeof e=="function"&&(e=e({})),Array.isArray(e)&&(e=e[0]),e):i==="fontFamily"?e=>{typeof e=="function"&&(e=e({}));let t=Array.isArray(e)&&ie(e[1])?e[0]:e;return Array.isArray(t)?t.join(", "):t}:["boxShadow","transitionProperty","transitionDuration","transitionDelay","transitionTimingFunction","backgroundImage","backgroundSize","backgroundColor","cursor","animation"].includes(i)?e=>(typeof e=="function"&&(e=e({})),Array.isArray(e)&&(e=e.join(", ")),e):["gridTemplateColumns","gridTemplateRows","objectPosition"].includes(i)?e=>(typeof e=="function"&&(e=e({})),typeof e=="string"&&(e=z.list.comma(e).join(" ")),e):(e,t={})=>(typeof e=="function"&&(e=e(t)),e)}var Hr=C(()=>{l();nt();xt()});var $p=v((EP,Na)=>{l();var{Rule:Rp,AtRule:AS}=me(),Mp=Me();function Ra(i,e){let t;try{Mp(r=>{t=r}).processSync(i)}catch(r){throw i.includes(":")?e?e.error("Missed semicolon"):r:e?e.error(r.message):r}return t.at(0)}function Bp(i,e){let t=!1;return i.each(r=>{if(r.type==="nesting"){let n=e.clone({});r.value!=="&"?r.replaceWith(Ra(r.value.replace("&",n.toString()))):r.replaceWith(n),t=!0}else"nodes"in r&&r.nodes&&Bp(r,e)&&(t=!0)}),t}function Fp(i,e){let t=[];return i.selectors.forEach(r=>{let n=Ra(r,i);e.selectors.forEach(a=>{if(!a)return;let s=Ra(a,e);Bp(s,n)||(s.prepend(Mp.combinator({value:" "})),s.prepend(n.clone({}))),t.push(s.toString())})}),t}function on(i,e){let t=i.prev();for(e.after(i);t&&t.type==="comment";){let r=t.prev();e.after(t),t=r}return i}function _S(i){return function e(t,r,n,a=n){let s=[];if(r.each(o=>{o.type==="rule"&&n?a&&(o.selectors=Fp(t,o)):o.type==="atrule"&&o.nodes?i[o.name]?e(t,o,a):r[Ba]!==!1&&s.push(o):s.push(o)}),n&&s.length){let o=t.clone({nodes:[]});for(let u of s)o.append(u);r.prepend(o)}}}function Ma(i,e,t){let r=new Rp({selector:i,nodes:[]});return r.append(e),t.after(r),r}function Np(i,e){let t={};for(let r of i)t[r]=!0;if(e)for(let r of e)t[r.replace(/^@/,"")]=!0;return t}function ES(i){i=i.trim();let e=i.match(/^\((.*)\)$/);if(!e)return{type:"basic",selector:i};let t=e[1].match(/^(with(?:out)?):(.+)$/);if(t){let r=t[1]==="with",n=Object.fromEntries(t[2].trim().split(/\s+/).map(s=>[s,!0]));if(r&&n.all)return{type:"noop"};let a=s=>!!n[s];return n.all?a=()=>!0:r&&(a=s=>s==="all"?!1:!n[s]),{type:"withrules",escapes:a}}return{type:"unknown"}}function OS(i){let e=[],t=i.parent;for(;t&&t instanceof AS;)e.push(t),t=t.parent;return e}function TS(i){let e=i[Lp];if(!e)i.after(i.nodes);else{let t=i.nodes,r,n=-1,a,s,o,u=OS(i);if(u.forEach((c,f)=>{if(e(c.name))r=c,n=f,s=o;else{let p=o;o=c.clone({nodes:[]}),p&&o.append(p),a=a||o}}),r?s?(a.append(t),r.after(s)):r.after(t):i.after(t),i.next()&&r){let c;u.slice(0,n+1).forEach((f,p,d)=>{let h=c;c=f.clone({nodes:[]}),h&&c.append(h);let y=[],w=(d[p-1]||i).next();for(;w;)y.push(w),w=w.next();c.append(y)}),c&&(s||t[t.length-1]).after(c)}}i.remove()}var Ba=Symbol("rootRuleMergeSel"),Lp=Symbol("rootRuleEscapes");function PS(i){let{params:e}=i,{type:t,selector:r,escapes:n}=ES(e);if(t==="unknown")throw i.error(`Unknown @${i.name} parameter ${JSON.stringify(e)}`);if(t==="basic"&&r){let a=new Rp({selector:r,nodes:i.nodes});i.removeAll(),i.append(a)}i[Lp]=n,i[Ba]=n?!n("all"):t==="noop"}var Fa=Symbol("hasRootRule");Na.exports=(i={})=>{let e=Np(["media","supports","layer","container"],i.bubble),t=_S(e),r=Np(["document","font-face","keyframes","-webkit-keyframes","-moz-keyframes"],i.unwrap),n=(i.rootRuleName||"at-root").replace(/^@/,""),a=i.preserveEmpty;return{postcssPlugin:"postcss-nested",Once(s){s.walkAtRules(n,o=>{PS(o),s[Fa]=!0})},Rule(s){let o=!1,u=s,c=!1,f=[];s.each(p=>{p.type==="rule"?(f.length&&(u=Ma(s.selector,f,u),f=[]),c=!0,o=!0,p.selectors=Fp(s,p),u=on(p,u)):p.type==="atrule"?(f.length&&(u=Ma(s.selector,f,u),f=[]),p.name===n?(o=!0,t(s,p,!0,p[Ba]),u=on(p,u)):e[p.name]?(c=!0,o=!0,t(s,p,!0),u=on(p,u)):r[p.name]?(c=!0,o=!0,t(s,p,!1),u=on(p,u)):c&&f.push(p)):p.type==="decl"&&c&&f.push(p)}),f.length&&(u=Ma(s.selector,f,u)),o&&a!==!0&&(s.raws.semicolon=!0,s.nodes.length===0&&s.remove())},RootExit(s){s[Fa]&&(s.walkAtRules(n,TS),s[Fa]=!1)}}};Na.exports.postcss=!0});var Up=v((OP,Vp)=>{l();"use strict";var jp=/-(\w|$)/g,zp=(i,e)=>e.toUpperCase(),DS=i=>(i=i.toLowerCase(),i==="float"?"cssFloat":i.startsWith("-ms-")?i.substr(1).replace(jp,zp):i.replace(jp,zp));Vp.exports=DS});var ja=v((TP,Wp)=>{l();var IS=Up(),qS={boxFlex:!0,boxFlexGroup:!0,columnCount:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,strokeDashoffset:!0,strokeOpacity:!0,strokeWidth:!0};function La(i){return typeof i.nodes=="undefined"?!0:$a(i)}function $a(i){let e,t={};return i.each(r=>{if(r.type==="atrule")e="@"+r.name,r.params&&(e+=" "+r.params),typeof t[e]=="undefined"?t[e]=La(r):Array.isArray(t[e])?t[e].push(La(r)):t[e]=[t[e],La(r)];else if(r.type==="rule"){let n=$a(r);if(t[r.selector])for(let a in n)t[r.selector][a]=n[a];else t[r.selector]=n}else if(r.type==="decl"){r.prop[0]==="-"&&r.prop[1]==="-"||r.parent&&r.parent.selector===":export"?e=r.prop:e=IS(r.prop);let n=r.value;!isNaN(r.value)&&qS[e]&&(n=parseFloat(r.value)),r.important&&(n+=" !important"),typeof t[e]=="undefined"?t[e]=n:Array.isArray(t[e])?t[e].push(n):t[e]=[t[e],n]}}),t}Wp.exports=$a});var ln=v((PP,Qp)=>{l();var Yr=me(),Gp=/\s*!important\s*$/i,RS={"box-flex":!0,"box-flex-group":!0,"column-count":!0,flex:!0,"flex-grow":!0,"flex-positive":!0,"flex-shrink":!0,"flex-negative":!0,"font-weight":!0,"line-clamp":!0,"line-height":!0,opacity:!0,order:!0,orphans:!0,"tab-size":!0,widows:!0,"z-index":!0,zoom:!0,"fill-opacity":!0,"stroke-dashoffset":!0,"stroke-opacity":!0,"stroke-width":!0};function MS(i){return i.replace(/([A-Z])/g,"-$1").replace(/^ms-/,"-ms-").toLowerCase()}function Hp(i,e,t){t===!1||t===null||(e.startsWith("--")||(e=MS(e)),typeof t=="number"&&(t===0||RS[e]?t=t.toString():t+="px"),e==="css-float"&&(e="float"),Gp.test(t)?(t=t.replace(Gp,""),i.push(Yr.decl({prop:e,value:t,important:!0}))):i.push(Yr.decl({prop:e,value:t})))}function Yp(i,e,t){let r=Yr.atRule({name:e[1],params:e[3]||""});typeof t=="object"&&(r.nodes=[],za(t,r)),i.push(r)}function za(i,e){let t,r,n;for(t in i)if(r=i[t],!(r===null||typeof r=="undefined"))if(t[0]==="@"){let a=t.match(/@(\S+)(\s+([\W\w]*)\s*)?/);if(Array.isArray(r))for(let s of r)Yp(e,a,s);else Yp(e,a,r)}else if(Array.isArray(r))for(let a of r)Hp(e,t,a);else typeof r=="object"?(n=Yr.rule({selector:t}),za(r,n),e.push(n)):Hp(e,t,r)}Qp.exports=function(i){let e=Yr.root();return za(i,e),e}});var Va=v((DP,Jp)=>{l();var BS=ja();Jp.exports=function(e){return console&&console.warn&&e.warnings().forEach(t=>{let r=t.plugin||"PostCSS";console.warn(r+": "+t.text)}),BS(e.root)}});var Kp=v((IP,Xp)=>{l();var FS=me(),NS=Va(),LS=ln();Xp.exports=function(e){let t=FS(e);return async r=>{let n=await t.process(r,{parser:LS,from:void 0});return NS(n)}}});var ed=v((qP,Zp)=>{l();var $S=me(),jS=Va(),zS=ln();Zp.exports=function(i){let e=$S(i);return t=>{let r=e.process(t,{parser:zS,from:void 0});return jS(r)}}});var rd=v((RP,td)=>{l();var VS=ja(),US=ln(),WS=Kp(),GS=ed();td.exports={objectify:VS,parse:US,async:WS,sync:GS}});var It,id,MP,BP,FP,NP,nd=C(()=>{l();It=K(rd()),id=It.default,MP=It.default.objectify,BP=It.default.parse,FP=It.default.async,NP=It.default.sync});function qt(i){return Array.isArray(i)?i.flatMap(e=>z([(0,sd.default)({bubble:["screen"]})]).process(e,{parser:id}).root.nodes):qt([i])}var sd,Ua=C(()=>{l();nt();sd=K($p());nd()});function Rt(i,e,t=!1){if(i==="")return e;let r=typeof e=="string"?(0,ad.default)().astSync(e):e;return r.walkClasses(n=>{let a=n.value,s=t&&a.startsWith("-");n.value=s?`-${i}${a.slice(1)}`:`${i}${a}`}),typeof e=="string"?r.toString():r}var ad,un=C(()=>{l();ad=K(Me())});function ce(i){let e=od.default.className();return e.value=i,ht(e?.raws?.value??e.value)}var od,Mt=C(()=>{l();od=K(Me());mi()});function Wa(i){return ht(`.${ce(i)}`)}function fn(i,e){return Wa(Qr(i,e))}function Qr(i,e){return e==="DEFAULT"?i:e==="-"||e==="-DEFAULT"?`-${i}`:e.startsWith("-")?`-${i}${e}`:e.startsWith("/")?`${i}${e}`:`${i}-${e}`}var Ga=C(()=>{l();Mt();mi()});function P(i,e=[[i,[i]]],{filterDefault:t=!1,...r}={}){let n=Ge(i);return function({matchUtilities:a,theme:s}){for(let o of e){let u=Array.isArray(o[0])?o:[o];a(u.reduce((c,[f,p])=>Object.assign(c,{[f]:d=>p.reduce((h,y)=>Array.isArray(y)?Object.assign(h,{[y[0]]:y[1]}):Object.assign(h,{[y]:n(d)}),{})}),{}),{...r,values:t?Object.fromEntries(Object.entries(s(i)??{}).filter(([c])=>c!=="DEFAULT")):s(i)})}}}var ld=C(()=>{l();Hr()});function st(i){return i=Array.isArray(i)?i:[i],i.map(e=>{let t=e.values.map(r=>r.raw!==void 0?r.raw:[r.min&&`(min-width: ${r.min})`,r.max&&`(max-width: ${r.max})`].filter(Boolean).join(" and "));return e.not?`not all and ${t}`:t}).join(", ")}var cn=C(()=>{l()});function Ha(i){return i.split(ZS).map(t=>{let r=t.trim(),n={value:r},a=r.split(eC),s=new Set;for(let o of a)!s.has("DIRECTIONS")&&HS.has(o)?(n.direction=o,s.add("DIRECTIONS")):!s.has("PLAY_STATES")&&YS.has(o)?(n.playState=o,s.add("PLAY_STATES")):!s.has("FILL_MODES")&&QS.has(o)?(n.fillMode=o,s.add("FILL_MODES")):!s.has("ITERATION_COUNTS")&&(JS.has(o)||tC.test(o))?(n.iterationCount=o,s.add("ITERATION_COUNTS")):!s.has("TIMING_FUNCTION")&&XS.has(o)||!s.has("TIMING_FUNCTION")&&KS.some(u=>o.startsWith(`${u}(`))?(n.timingFunction=o,s.add("TIMING_FUNCTION")):!s.has("DURATION")&&ud.test(o)?(n.duration=o,s.add("DURATION")):!s.has("DELAY")&&ud.test(o)?(n.delay=o,s.add("DELAY")):s.has("NAME")?(n.unknown||(n.unknown=[]),n.unknown.push(o)):(n.name=o,s.add("NAME"));return n})}var HS,YS,QS,JS,XS,KS,ZS,eC,ud,tC,fd=C(()=>{l();HS=new Set(["normal","reverse","alternate","alternate-reverse"]),YS=new Set(["running","paused"]),QS=new Set(["none","forwards","backwards","both"]),JS=new Set(["infinite"]),XS=new Set(["linear","ease","ease-in","ease-out","ease-in-out","step-start","step-end"]),KS=["cubic-bezier","steps"],ZS=/\,(?![^(]*\))/g,eC=/\ +(?![^(]*\))/g,ud=/^(-?[\d.]+m?s)$/,tC=/^(\d+)$/});var cd,re,pd=C(()=>{l();cd=i=>Object.assign({},...Object.entries(i??{}).flatMap(([e,t])=>typeof t=="object"?Object.entries(cd(t)).map(([r,n])=>({[e+(r==="DEFAULT"?"":`-${r}`)]:n})):[{[`${e}`]:t}])),re=cd});var rC,Qa,iC,nC,sC,aC,oC,lC,uC,fC,cC,pC,dC,hC,mC,gC,yC,wC,Ja,Ya=C(()=>{rC="tailwindcss",Qa="3.3.3",iC="A utility-first CSS framework for rapidly building custom user interfaces.",nC="MIT",sC="lib/index.js",aC="types/index.d.ts",oC="https://github.com/tailwindlabs/tailwindcss.git",lC="https://github.com/tailwindlabs/tailwindcss/issues",uC="https://tailwindcss.com",fC={tailwind:"lib/cli.js",tailwindcss:"lib/cli.js"},cC={engine:"stable"},pC={prebuild:"npm run generate && rimraf lib",build:`swc src --out-dir lib --copy-files --config jsc.transform.optimizer.globals.vars.__OXIDE__='"false"'`,postbuild:"esbuild lib/cli-peer-dependencies.js --bundle --platform=node --outfile=peers/index.js --define:process.env.CSS_TRANSFORMER_WASM=false","rebuild-fixtures":"npm run build && node -r @swc/register scripts/rebuildFixtures.js",style:"eslint .",pretest:"npm run generate",test:"jest","test:integrations":"npm run test --prefix ./integrations","install:integrations":"node scripts/install-integrations.js","generate:plugin-list":"node -r @swc/register scripts/create-plugin-list.js","generate:types":"node -r @swc/register scripts/generate-types.js",generate:"npm run generate:plugin-list && npm run generate:types","release-channel":"node ./scripts/release-channel.js","release-notes":"node ./scripts/release-notes.js",prepublishOnly:"npm install --force && npm run build"},dC=["src/*","cli/*","lib/*","peers/*","scripts/*.js","stubs/*","nesting/*","types/**/*","*.d.ts","*.css","*.js"],hC={"@swc/cli":"^0.1.62","@swc/core":"^1.3.55","@swc/jest":"^0.2.26","@swc/register":"^0.1.10",autoprefixer:"^10.4.14",browserslist:"^4.21.5",concurrently:"^8.0.1",cssnano:"^6.0.0",esbuild:"^0.17.18",eslint:"^8.39.0","eslint-config-prettier":"^8.8.0","eslint-plugin-prettier":"^4.2.1",jest:"^29.5.0","jest-diff":"^29.5.0",lightningcss:"1.18.0",prettier:"^2.8.8",rimraf:"^5.0.0","source-map-js":"^1.0.2",turbo:"^1.9.3"},mC={"@alloc/quick-lru":"^5.2.0",arg:"^5.0.2",chokidar:"^3.5.3",didyoumean:"^1.2.2",dlv:"^1.1.3","fast-glob":"^3.2.12","glob-parent":"^6.0.2","is-glob":"^4.0.3",jiti:"^1.18.2",lilconfig:"^2.1.0",micromatch:"^4.0.5","normalize-path":"^3.0.0","object-hash":"^3.0.0",picocolors:"^1.0.0",postcss:"^8.4.23","postcss-import":"^15.1.0","postcss-js":"^4.0.1","postcss-load-config":"^4.0.1","postcss-nested":"^6.0.1","postcss-selector-parser":"^6.0.11",resolve:"^1.22.2",sucrase:"^3.32.0"},gC=["> 1%","not edge <= 18","not ie 11","not op_mini all"],yC={testTimeout:3e4,setupFilesAfterEnv:["/jest/customMatchers.js"],testPathIgnorePatterns:["/node_modules/","/integrations/","/standalone-cli/","\\.test\\.skip\\.js$"],transformIgnorePatterns:["node_modules/(?!lightningcss)"],transform:{"\\.js$":"@swc/jest","\\.ts$":"@swc/jest"}},wC={node:">=14.0.0"},Ja={name:rC,version:Qa,description:iC,license:nC,main:sC,types:aC,repository:oC,bugs:lC,homepage:uC,bin:fC,tailwindcss:cC,scripts:pC,files:dC,devDependencies:hC,dependencies:mC,browserslist:gC,jest:yC,engines:wC}});function at(i,e=!0){return Array.isArray(i)?i.map(t=>{if(e&&Array.isArray(t))throw new Error("The tuple syntax is not supported for `screens`.");if(typeof t=="string")return{name:t.toString(),not:!1,values:[{min:t,max:void 0}]};let[r,n]=t;return r=r.toString(),typeof n=="string"?{name:r,not:!1,values:[{min:n,max:void 0}]}:Array.isArray(n)?{name:r,not:!1,values:n.map(a=>hd(a))}:{name:r,not:!1,values:[hd(n)]}}):at(Object.entries(i??{}),!1)}function pn(i){return i.values.length!==1?{result:!1,reason:"multiple-values"}:i.values[0].raw!==void 0?{result:!1,reason:"raw-values"}:i.values[0].min!==void 0&&i.values[0].max!==void 0?{result:!1,reason:"min-and-max"}:{result:!0,reason:null}}function dd(i,e,t){let r=dn(e,i),n=dn(t,i),a=pn(r),s=pn(n);if(a.reason==="multiple-values"||s.reason==="multiple-values")throw new Error("Attempted to sort a screen with multiple values. This should never happen. Please open a bug report.");if(a.reason==="raw-values"||s.reason==="raw-values")throw new Error("Attempted to sort a screen with raw values. This should never happen. Please open a bug report.");if(a.reason==="min-and-max"||s.reason==="min-and-max")throw new Error("Attempted to sort a screen with both min and max values. This should never happen. Please open a bug report.");let{min:o,max:u}=r.values[0],{min:c,max:f}=n.values[0];e.not&&([o,u]=[u,o]),t.not&&([c,f]=[f,c]),o=o===void 0?o:parseFloat(o),u=u===void 0?u:parseFloat(u),c=c===void 0?c:parseFloat(c),f=f===void 0?f:parseFloat(f);let[p,d]=i==="min"?[o,c]:[f,u];return p-d}function dn(i,e){return typeof i=="object"?i:{name:"arbitrary-screen",values:[{[e]:i}]}}function hd({"min-width":i,min:e=i,max:t,raw:r}={}){return{min:e,max:t,raw:r}}var hn=C(()=>{l()});function mn(i,e){i.walkDecls(t=>{if(e.includes(t.prop)){t.remove();return}for(let r of e)t.value.includes(`/ var(${r})`)&&(t.value=t.value.replace(`/ var(${r})`,""))})}var md=C(()=>{l()});var pe,Te,Be,Fe,gd,yd=C(()=>{l();ze();mt();nt();ld();cn();Mt();fd();pd();ar();ds();xt();Hr();Ya();Ee();hn();as();md();De();fr();Xr();pe={pseudoElementVariants:({addVariant:i})=>{i("first-letter","&::first-letter"),i("first-line","&::first-line"),i("marker",[({container:e})=>(mn(e,["--tw-text-opacity"]),"& *::marker"),({container:e})=>(mn(e,["--tw-text-opacity"]),"&::marker")]),i("selection",["& *::selection","&::selection"]),i("file","&::file-selector-button"),i("placeholder","&::placeholder"),i("backdrop","&::backdrop"),i("before",({container:e})=>(e.walkRules(t=>{let r=!1;t.walkDecls("content",()=>{r=!0}),r||t.prepend(z.decl({prop:"content",value:"var(--tw-content)"}))}),"&::before")),i("after",({container:e})=>(e.walkRules(t=>{let r=!1;t.walkDecls("content",()=>{r=!0}),r||t.prepend(z.decl({prop:"content",value:"var(--tw-content)"}))}),"&::after"))},pseudoClassVariants:({addVariant:i,matchVariant:e,config:t,prefix:r})=>{let n=[["first","&:first-child"],["last","&:last-child"],["only","&:only-child"],["odd","&:nth-child(odd)"],["even","&:nth-child(even)"],"first-of-type","last-of-type","only-of-type",["visited",({container:s})=>(mn(s,["--tw-text-opacity","--tw-border-opacity","--tw-bg-opacity"]),"&:visited")],"target",["open","&[open]"],"default","checked","indeterminate","placeholder-shown","autofill","optional","required","valid","invalid","in-range","out-of-range","read-only","empty","focus-within",["hover",J(t(),"hoverOnlyWhenSupported")?"@media (hover: hover) and (pointer: fine) { &:hover }":"&:hover"],"focus","focus-visible","active","enabled","disabled"].map(s=>Array.isArray(s)?s:[s,`&:${s}`]);for(let[s,o]of n)i(s,u=>typeof o=="function"?o(u):o);let a={group:(s,{modifier:o})=>o?[`:merge(${r(".group")}\\/${ce(o)})`," &"]:[`:merge(${r(".group")})`," &"],peer:(s,{modifier:o})=>o?[`:merge(${r(".peer")}\\/${ce(o)})`," ~ &"]:[`:merge(${r(".peer")})`," ~ &"]};for(let[s,o]of Object.entries(a))e(s,(u="",c)=>{let f=U(typeof u=="function"?u(c):u);f.includes("&")||(f="&"+f);let[p,d]=o("",c),h=null,y=null,x=0;for(let w=0;w{i("ltr",':is([dir="ltr"] &)'),i("rtl",':is([dir="rtl"] &)')},reducedMotionVariants:({addVariant:i})=>{i("motion-safe","@media (prefers-reduced-motion: no-preference)"),i("motion-reduce","@media (prefers-reduced-motion: reduce)")},darkVariants:({config:i,addVariant:e})=>{let[t,r=".dark"]=[].concat(i("darkMode","media"));t===!1&&(t="media",F.warn("darkmode-false",["The `darkMode` option in your Tailwind CSS configuration is set to `false`, which now behaves the same as `media`.","Change `darkMode` to `media` or remove it entirely.","https://tailwindcss.com/docs/upgrade-guide#remove-dark-mode-configuration"])),t==="class"?e("dark",`:is(${r} &)`):t==="media"&&e("dark","@media (prefers-color-scheme: dark)")},printVariant:({addVariant:i})=>{i("print","@media print")},screenVariants:({theme:i,addVariant:e,matchVariant:t})=>{let r=i("screens")??{},n=Object.values(r).every(b=>typeof b=="string"),a=at(i("screens")),s=new Set([]);function o(b){return b.match(/(\D+)$/)?.[1]??"(none)"}function u(b){b!==void 0&&s.add(o(b))}function c(b){return u(b),s.size===1}for(let b of a)for(let k of b.values)u(k.min),u(k.max);let f=s.size<=1;function p(b){return Object.fromEntries(a.filter(k=>pn(k).result).map(k=>{let{min:S,max:_}=k.values[0];if(b==="min"&&S!==void 0)return k;if(b==="min"&&_!==void 0)return{...k,not:!k.not};if(b==="max"&&_!==void 0)return k;if(b==="max"&&S!==void 0)return{...k,not:!k.not}}).map(k=>[k.name,k]))}function d(b){return(k,S)=>dd(b,k.value,S.value)}let h=d("max"),y=d("min");function x(b){return k=>{if(n)if(f){if(typeof k=="string"&&!c(k))return F.warn("minmax-have-mixed-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[]}else return F.warn("mixed-screen-units",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing mixed units."]),[];else return F.warn("complex-screen-config",["The `min-*` and `max-*` variants are not supported with a `screens` configuration containing objects."]),[];return[`@media ${st(dn(k,b))}`]}}t("max",x("max"),{sort:h,values:n?p("max"):{}});let w="min-screens";for(let b of a)e(b.name,`@media ${st(b)}`,{id:w,sort:n&&f?y:void 0,value:b});t("min",x("min"),{id:w,sort:y})},supportsVariants:({matchVariant:i,theme:e})=>{i("supports",(t="")=>{let r=U(t),n=/^\w*\s*\(/.test(r);return r=n?r.replace(/\b(and|or|not)\b/g," $1 "):r,n?`@supports ${r}`:(r.includes(":")||(r=`${r}: var(--tw)`),r.startsWith("(")&&r.endsWith(")")||(r=`(${r})`),`@supports ${r}`)},{values:e("supports")??{}})},ariaVariants:({matchVariant:i,theme:e})=>{i("aria",t=>`&[aria-${U(t)}]`,{values:e("aria")??{}}),i("group-aria",(t,{modifier:r})=>r?`:merge(.group\\/${r})[aria-${U(t)}] &`:`:merge(.group)[aria-${U(t)}] &`,{values:e("aria")??{}}),i("peer-aria",(t,{modifier:r})=>r?`:merge(.peer\\/${r})[aria-${U(t)}] ~ &`:`:merge(.peer)[aria-${U(t)}] ~ &`,{values:e("aria")??{}})},dataVariants:({matchVariant:i,theme:e})=>{i("data",t=>`&[data-${U(t)}]`,{values:e("data")??{}}),i("group-data",(t,{modifier:r})=>r?`:merge(.group\\/${r})[data-${U(t)}] &`:`:merge(.group)[data-${U(t)}] &`,{values:e("data")??{}}),i("peer-data",(t,{modifier:r})=>r?`:merge(.peer\\/${r})[data-${U(t)}] ~ &`:`:merge(.peer)[data-${U(t)}] ~ &`,{values:e("data")??{}})},orientationVariants:({addVariant:i})=>{i("portrait","@media (orientation: portrait)"),i("landscape","@media (orientation: landscape)")},prefersContrastVariants:({addVariant:i})=>{i("contrast-more","@media (prefers-contrast: more)"),i("contrast-less","@media (prefers-contrast: less)")}},Te=["translate(var(--tw-translate-x), var(--tw-translate-y))","rotate(var(--tw-rotate))","skewX(var(--tw-skew-x))","skewY(var(--tw-skew-y))","scaleX(var(--tw-scale-x))","scaleY(var(--tw-scale-y))"].join(" "),Be=["var(--tw-blur)","var(--tw-brightness)","var(--tw-contrast)","var(--tw-grayscale)","var(--tw-hue-rotate)","var(--tw-invert)","var(--tw-saturate)","var(--tw-sepia)","var(--tw-drop-shadow)"].join(" "),Fe=["var(--tw-backdrop-blur)","var(--tw-backdrop-brightness)","var(--tw-backdrop-contrast)","var(--tw-backdrop-grayscale)","var(--tw-backdrop-hue-rotate)","var(--tw-backdrop-invert)","var(--tw-backdrop-opacity)","var(--tw-backdrop-saturate)","var(--tw-backdrop-sepia)"].join(" "),gd={preflight:({addBase:i})=>{let e=z.parse(`*,::after,::before{box-sizing:border-box;border-width:0;border-style:solid;border-color:theme('borderColor.DEFAULT', currentColor)}::after,::before{--tw-content:''}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:theme('fontFamily.sans[1].fontFeatureSettings', normal);font-variation-settings:theme('fontFamily.sans[1].fontVariationSettings', normal)}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:theme('colors.gray.4', #9ca3af)}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}`);i([z.comment({text:`! tailwindcss v${Qa} | MIT License | https://tailwindcss.com`}),...e.nodes])},container:(()=>{function i(t=[]){return t.flatMap(r=>r.values.map(n=>n.min)).filter(r=>r!==void 0)}function e(t,r,n){if(typeof n=="undefined")return[];if(!(typeof n=="object"&&n!==null))return[{screen:"DEFAULT",minWidth:0,padding:n}];let a=[];n.DEFAULT&&a.push({screen:"DEFAULT",minWidth:0,padding:n.DEFAULT});for(let s of t)for(let o of r)for(let{min:u}of o.values)u===s&&a.push({minWidth:s,padding:n[o.name]});return a}return function({addComponents:t,theme:r}){let n=at(r("container.screens",r("screens"))),a=i(n),s=e(a,n,r("container.padding")),o=c=>{let f=s.find(p=>p.minWidth===c);return f?{paddingRight:f.padding,paddingLeft:f.padding}:{}},u=Array.from(new Set(a.slice().sort((c,f)=>parseInt(c)-parseInt(f)))).map(c=>({[`@media (min-width: ${c})`]:{".container":{"max-width":c,...o(c)}}}));t([{".container":Object.assign({width:"100%"},r("container.center",!1)?{marginRight:"auto",marginLeft:"auto"}:{},o(0))},...u])}})(),accessibility:({addUtilities:i})=>{i({".sr-only":{position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",borderWidth:"0"},".not-sr-only":{position:"static",width:"auto",height:"auto",padding:"0",margin:"0",overflow:"visible",clip:"auto",whiteSpace:"normal"}})},pointerEvents:({addUtilities:i})=>{i({".pointer-events-none":{"pointer-events":"none"},".pointer-events-auto":{"pointer-events":"auto"}})},visibility:({addUtilities:i})=>{i({".visible":{visibility:"visible"},".invisible":{visibility:"hidden"},".collapse":{visibility:"collapse"}})},position:({addUtilities:i})=>{i({".static":{position:"static"},".fixed":{position:"fixed"},".absolute":{position:"absolute"},".relative":{position:"relative"},".sticky":{position:"sticky"}})},inset:P("inset",[["inset",["inset"]],[["inset-x",["left","right"]],["inset-y",["top","bottom"]]],[["start",["inset-inline-start"]],["end",["inset-inline-end"]],["top",["top"]],["right",["right"]],["bottom",["bottom"]],["left",["left"]]]],{supportsNegativeValues:!0}),isolation:({addUtilities:i})=>{i({".isolate":{isolation:"isolate"},".isolation-auto":{isolation:"auto"}})},zIndex:P("zIndex",[["z",["zIndex"]]],{supportsNegativeValues:!0}),order:P("order",void 0,{supportsNegativeValues:!0}),gridColumn:P("gridColumn",[["col",["gridColumn"]]]),gridColumnStart:P("gridColumnStart",[["col-start",["gridColumnStart"]]]),gridColumnEnd:P("gridColumnEnd",[["col-end",["gridColumnEnd"]]]),gridRow:P("gridRow",[["row",["gridRow"]]]),gridRowStart:P("gridRowStart",[["row-start",["gridRowStart"]]]),gridRowEnd:P("gridRowEnd",[["row-end",["gridRowEnd"]]]),float:({addUtilities:i})=>{i({".float-right":{float:"right"},".float-left":{float:"left"},".float-none":{float:"none"}})},clear:({addUtilities:i})=>{i({".clear-left":{clear:"left"},".clear-right":{clear:"right"},".clear-both":{clear:"both"},".clear-none":{clear:"none"}})},margin:P("margin",[["m",["margin"]],[["mx",["margin-left","margin-right"]],["my",["margin-top","margin-bottom"]]],[["ms",["margin-inline-start"]],["me",["margin-inline-end"]],["mt",["margin-top"]],["mr",["margin-right"]],["mb",["margin-bottom"]],["ml",["margin-left"]]]],{supportsNegativeValues:!0}),boxSizing:({addUtilities:i})=>{i({".box-border":{"box-sizing":"border-box"},".box-content":{"box-sizing":"content-box"}})},lineClamp:({matchUtilities:i,addUtilities:e,theme:t})=>{i({"line-clamp":r=>({overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical","-webkit-line-clamp":`${r}`})},{values:t("lineClamp")}),e({".line-clamp-none":{overflow:"visible",display:"block","-webkit-box-orient":"horizontal","-webkit-line-clamp":"none"}})},display:({addUtilities:i})=>{i({".block":{display:"block"},".inline-block":{display:"inline-block"},".inline":{display:"inline"},".flex":{display:"flex"},".inline-flex":{display:"inline-flex"},".table":{display:"table"},".inline-table":{display:"inline-table"},".table-caption":{display:"table-caption"},".table-cell":{display:"table-cell"},".table-column":{display:"table-column"},".table-column-group":{display:"table-column-group"},".table-footer-group":{display:"table-footer-group"},".table-header-group":{display:"table-header-group"},".table-row-group":{display:"table-row-group"},".table-row":{display:"table-row"},".flow-root":{display:"flow-root"},".grid":{display:"grid"},".inline-grid":{display:"inline-grid"},".contents":{display:"contents"},".list-item":{display:"list-item"},".hidden":{display:"none"}})},aspectRatio:P("aspectRatio",[["aspect",["aspect-ratio"]]]),height:P("height",[["h",["height"]]]),maxHeight:P("maxHeight",[["max-h",["maxHeight"]]]),minHeight:P("minHeight",[["min-h",["minHeight"]]]),width:P("width",[["w",["width"]]]),minWidth:P("minWidth",[["min-w",["minWidth"]]]),maxWidth:P("maxWidth",[["max-w",["maxWidth"]]]),flex:P("flex"),flexShrink:P("flexShrink",[["flex-shrink",["flex-shrink"]],["shrink",["flex-shrink"]]]),flexGrow:P("flexGrow",[["flex-grow",["flex-grow"]],["grow",["flex-grow"]]]),flexBasis:P("flexBasis",[["basis",["flex-basis"]]]),tableLayout:({addUtilities:i})=>{i({".table-auto":{"table-layout":"auto"},".table-fixed":{"table-layout":"fixed"}})},captionSide:({addUtilities:i})=>{i({".caption-top":{"caption-side":"top"},".caption-bottom":{"caption-side":"bottom"}})},borderCollapse:({addUtilities:i})=>{i({".border-collapse":{"border-collapse":"collapse"},".border-separate":{"border-collapse":"separate"}})},borderSpacing:({addDefaults:i,matchUtilities:e,theme:t})=>{i("border-spacing",{"--tw-border-spacing-x":0,"--tw-border-spacing-y":0}),e({"border-spacing":r=>({"--tw-border-spacing-x":r,"--tw-border-spacing-y":r,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-x":r=>({"--tw-border-spacing-x":r,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"}),"border-spacing-y":r=>({"--tw-border-spacing-y":r,"@defaults border-spacing":{},"border-spacing":"var(--tw-border-spacing-x) var(--tw-border-spacing-y)"})},{values:t("borderSpacing")})},transformOrigin:P("transformOrigin",[["origin",["transformOrigin"]]]),translate:P("translate",[[["translate-x",[["@defaults transform",{}],"--tw-translate-x",["transform",Te]]],["translate-y",[["@defaults transform",{}],"--tw-translate-y",["transform",Te]]]]],{supportsNegativeValues:!0}),rotate:P("rotate",[["rotate",[["@defaults transform",{}],"--tw-rotate",["transform",Te]]]],{supportsNegativeValues:!0}),skew:P("skew",[[["skew-x",[["@defaults transform",{}],"--tw-skew-x",["transform",Te]]],["skew-y",[["@defaults transform",{}],"--tw-skew-y",["transform",Te]]]]],{supportsNegativeValues:!0}),scale:P("scale",[["scale",[["@defaults transform",{}],"--tw-scale-x","--tw-scale-y",["transform",Te]]],[["scale-x",[["@defaults transform",{}],"--tw-scale-x",["transform",Te]]],["scale-y",[["@defaults transform",{}],"--tw-scale-y",["transform",Te]]]]],{supportsNegativeValues:!0}),transform:({addDefaults:i,addUtilities:e})=>{i("transform",{"--tw-translate-x":"0","--tw-translate-y":"0","--tw-rotate":"0","--tw-skew-x":"0","--tw-skew-y":"0","--tw-scale-x":"1","--tw-scale-y":"1"}),e({".transform":{"@defaults transform":{},transform:Te},".transform-cpu":{transform:Te},".transform-gpu":{transform:Te.replace("translate(var(--tw-translate-x), var(--tw-translate-y))","translate3d(var(--tw-translate-x), var(--tw-translate-y), 0)")},".transform-none":{transform:"none"}})},animation:({matchUtilities:i,theme:e,config:t})=>{let r=a=>ce(t("prefix")+a),n=Object.fromEntries(Object.entries(e("keyframes")??{}).map(([a,s])=>[a,{[`@keyframes ${r(a)}`]:s}]));i({animate:a=>{let s=Ha(a);return[...s.flatMap(o=>n[o.name]),{animation:s.map(({name:o,value:u})=>o===void 0||n[o]===void 0?u:u.replace(o,r(o))).join(", ")}]}},{values:e("animation")})},cursor:P("cursor"),touchAction:({addDefaults:i,addUtilities:e})=>{i("touch-action",{"--tw-pan-x":" ","--tw-pan-y":" ","--tw-pinch-zoom":" "});let t="var(--tw-pan-x) var(--tw-pan-y) var(--tw-pinch-zoom)";e({".touch-auto":{"touch-action":"auto"},".touch-none":{"touch-action":"none"},".touch-pan-x":{"@defaults touch-action":{},"--tw-pan-x":"pan-x","touch-action":t},".touch-pan-left":{"@defaults touch-action":{},"--tw-pan-x":"pan-left","touch-action":t},".touch-pan-right":{"@defaults touch-action":{},"--tw-pan-x":"pan-right","touch-action":t},".touch-pan-y":{"@defaults touch-action":{},"--tw-pan-y":"pan-y","touch-action":t},".touch-pan-up":{"@defaults touch-action":{},"--tw-pan-y":"pan-up","touch-action":t},".touch-pan-down":{"@defaults touch-action":{},"--tw-pan-y":"pan-down","touch-action":t},".touch-pinch-zoom":{"@defaults touch-action":{},"--tw-pinch-zoom":"pinch-zoom","touch-action":t},".touch-manipulation":{"touch-action":"manipulation"}})},userSelect:({addUtilities:i})=>{i({".select-none":{"user-select":"none"},".select-text":{"user-select":"text"},".select-all":{"user-select":"all"},".select-auto":{"user-select":"auto"}})},resize:({addUtilities:i})=>{i({".resize-none":{resize:"none"},".resize-y":{resize:"vertical"},".resize-x":{resize:"horizontal"},".resize":{resize:"both"}})},scrollSnapType:({addDefaults:i,addUtilities:e})=>{i("scroll-snap-type",{"--tw-scroll-snap-strictness":"proximity"}),e({".snap-none":{"scroll-snap-type":"none"},".snap-x":{"@defaults scroll-snap-type":{},"scroll-snap-type":"x var(--tw-scroll-snap-strictness)"},".snap-y":{"@defaults scroll-snap-type":{},"scroll-snap-type":"y var(--tw-scroll-snap-strictness)"},".snap-both":{"@defaults scroll-snap-type":{},"scroll-snap-type":"both var(--tw-scroll-snap-strictness)"},".snap-mandatory":{"--tw-scroll-snap-strictness":"mandatory"},".snap-proximity":{"--tw-scroll-snap-strictness":"proximity"}})},scrollSnapAlign:({addUtilities:i})=>{i({".snap-start":{"scroll-snap-align":"start"},".snap-end":{"scroll-snap-align":"end"},".snap-center":{"scroll-snap-align":"center"},".snap-align-none":{"scroll-snap-align":"none"}})},scrollSnapStop:({addUtilities:i})=>{i({".snap-normal":{"scroll-snap-stop":"normal"},".snap-always":{"scroll-snap-stop":"always"}})},scrollMargin:P("scrollMargin",[["scroll-m",["scroll-margin"]],[["scroll-mx",["scroll-margin-left","scroll-margin-right"]],["scroll-my",["scroll-margin-top","scroll-margin-bottom"]]],[["scroll-ms",["scroll-margin-inline-start"]],["scroll-me",["scroll-margin-inline-end"]],["scroll-mt",["scroll-margin-top"]],["scroll-mr",["scroll-margin-right"]],["scroll-mb",["scroll-margin-bottom"]],["scroll-ml",["scroll-margin-left"]]]],{supportsNegativeValues:!0}),scrollPadding:P("scrollPadding",[["scroll-p",["scroll-padding"]],[["scroll-px",["scroll-padding-left","scroll-padding-right"]],["scroll-py",["scroll-padding-top","scroll-padding-bottom"]]],[["scroll-ps",["scroll-padding-inline-start"]],["scroll-pe",["scroll-padding-inline-end"]],["scroll-pt",["scroll-padding-top"]],["scroll-pr",["scroll-padding-right"]],["scroll-pb",["scroll-padding-bottom"]],["scroll-pl",["scroll-padding-left"]]]]),listStylePosition:({addUtilities:i})=>{i({".list-inside":{"list-style-position":"inside"},".list-outside":{"list-style-position":"outside"}})},listStyleType:P("listStyleType",[["list",["listStyleType"]]]),listStyleImage:P("listStyleImage",[["list-image",["listStyleImage"]]]),appearance:({addUtilities:i})=>{i({".appearance-none":{appearance:"none"}})},columns:P("columns",[["columns",["columns"]]]),breakBefore:({addUtilities:i})=>{i({".break-before-auto":{"break-before":"auto"},".break-before-avoid":{"break-before":"avoid"},".break-before-all":{"break-before":"all"},".break-before-avoid-page":{"break-before":"avoid-page"},".break-before-page":{"break-before":"page"},".break-before-left":{"break-before":"left"},".break-before-right":{"break-before":"right"},".break-before-column":{"break-before":"column"}})},breakInside:({addUtilities:i})=>{i({".break-inside-auto":{"break-inside":"auto"},".break-inside-avoid":{"break-inside":"avoid"},".break-inside-avoid-page":{"break-inside":"avoid-page"},".break-inside-avoid-column":{"break-inside":"avoid-column"}})},breakAfter:({addUtilities:i})=>{i({".break-after-auto":{"break-after":"auto"},".break-after-avoid":{"break-after":"avoid"},".break-after-all":{"break-after":"all"},".break-after-avoid-page":{"break-after":"avoid-page"},".break-after-page":{"break-after":"page"},".break-after-left":{"break-after":"left"},".break-after-right":{"break-after":"right"},".break-after-column":{"break-after":"column"}})},gridAutoColumns:P("gridAutoColumns",[["auto-cols",["gridAutoColumns"]]]),gridAutoFlow:({addUtilities:i})=>{i({".grid-flow-row":{gridAutoFlow:"row"},".grid-flow-col":{gridAutoFlow:"column"},".grid-flow-dense":{gridAutoFlow:"dense"},".grid-flow-row-dense":{gridAutoFlow:"row dense"},".grid-flow-col-dense":{gridAutoFlow:"column dense"}})},gridAutoRows:P("gridAutoRows",[["auto-rows",["gridAutoRows"]]]),gridTemplateColumns:P("gridTemplateColumns",[["grid-cols",["gridTemplateColumns"]]]),gridTemplateRows:P("gridTemplateRows",[["grid-rows",["gridTemplateRows"]]]),flexDirection:({addUtilities:i})=>{i({".flex-row":{"flex-direction":"row"},".flex-row-reverse":{"flex-direction":"row-reverse"},".flex-col":{"flex-direction":"column"},".flex-col-reverse":{"flex-direction":"column-reverse"}})},flexWrap:({addUtilities:i})=>{i({".flex-wrap":{"flex-wrap":"wrap"},".flex-wrap-reverse":{"flex-wrap":"wrap-reverse"},".flex-nowrap":{"flex-wrap":"nowrap"}})},placeContent:({addUtilities:i})=>{i({".place-content-center":{"place-content":"center"},".place-content-start":{"place-content":"start"},".place-content-end":{"place-content":"end"},".place-content-between":{"place-content":"space-between"},".place-content-around":{"place-content":"space-around"},".place-content-evenly":{"place-content":"space-evenly"},".place-content-baseline":{"place-content":"baseline"},".place-content-stretch":{"place-content":"stretch"}})},placeItems:({addUtilities:i})=>{i({".place-items-start":{"place-items":"start"},".place-items-end":{"place-items":"end"},".place-items-center":{"place-items":"center"},".place-items-baseline":{"place-items":"baseline"},".place-items-stretch":{"place-items":"stretch"}})},alignContent:({addUtilities:i})=>{i({".content-normal":{"align-content":"normal"},".content-center":{"align-content":"center"},".content-start":{"align-content":"flex-start"},".content-end":{"align-content":"flex-end"},".content-between":{"align-content":"space-between"},".content-around":{"align-content":"space-around"},".content-evenly":{"align-content":"space-evenly"},".content-baseline":{"align-content":"baseline"},".content-stretch":{"align-content":"stretch"}})},alignItems:({addUtilities:i})=>{i({".items-start":{"align-items":"flex-start"},".items-end":{"align-items":"flex-end"},".items-center":{"align-items":"center"},".items-baseline":{"align-items":"baseline"},".items-stretch":{"align-items":"stretch"}})},justifyContent:({addUtilities:i})=>{i({".justify-normal":{"justify-content":"normal"},".justify-start":{"justify-content":"flex-start"},".justify-end":{"justify-content":"flex-end"},".justify-center":{"justify-content":"center"},".justify-between":{"justify-content":"space-between"},".justify-around":{"justify-content":"space-around"},".justify-evenly":{"justify-content":"space-evenly"},".justify-stretch":{"justify-content":"stretch"}})},justifyItems:({addUtilities:i})=>{i({".justify-items-start":{"justify-items":"start"},".justify-items-end":{"justify-items":"end"},".justify-items-center":{"justify-items":"center"},".justify-items-stretch":{"justify-items":"stretch"}})},gap:P("gap",[["gap",["gap"]],[["gap-x",["columnGap"]],["gap-y",["rowGap"]]]]),space:({matchUtilities:i,addUtilities:e,theme:t})=>{i({"space-x":r=>(r=r==="0"?"0px":r,{"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"0","margin-right":`calc(${r} * var(--tw-space-x-reverse))`,"margin-left":`calc(${r} * calc(1 - var(--tw-space-x-reverse)))`}}),"space-y":r=>(r=r==="0"?"0px":r,{"& > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"0","margin-top":`calc(${r} * calc(1 - var(--tw-space-y-reverse)))`,"margin-bottom":`calc(${r} * var(--tw-space-y-reverse))`}})},{values:t("space"),supportsNegativeValues:!0}),e({".space-y-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-y-reverse":"1"},".space-x-reverse > :not([hidden]) ~ :not([hidden])":{"--tw-space-x-reverse":"1"}})},divideWidth:({matchUtilities:i,addUtilities:e,theme:t})=>{i({"divide-x":r=>(r=r==="0"?"0px":r,{"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"0","border-right-width":`calc(${r} * var(--tw-divide-x-reverse))`,"border-left-width":`calc(${r} * calc(1 - var(--tw-divide-x-reverse)))`}}),"divide-y":r=>(r=r==="0"?"0px":r,{"& > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"0","border-top-width":`calc(${r} * calc(1 - var(--tw-divide-y-reverse)))`,"border-bottom-width":`calc(${r} * var(--tw-divide-y-reverse))`}})},{values:t("divideWidth"),type:["line-width","length","any"]}),e({".divide-y-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-y-reverse":"1"},".divide-x-reverse > :not([hidden]) ~ :not([hidden])":{"@defaults border-width":{},"--tw-divide-x-reverse":"1"}})},divideStyle:({addUtilities:i})=>{i({".divide-solid > :not([hidden]) ~ :not([hidden])":{"border-style":"solid"},".divide-dashed > :not([hidden]) ~ :not([hidden])":{"border-style":"dashed"},".divide-dotted > :not([hidden]) ~ :not([hidden])":{"border-style":"dotted"},".divide-double > :not([hidden]) ~ :not([hidden])":{"border-style":"double"},".divide-none > :not([hidden]) ~ :not([hidden])":{"border-style":"none"}})},divideColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({divide:r=>t("divideOpacity")?{["& > :not([hidden]) ~ :not([hidden])"]:se({color:r,property:"border-color",variable:"--tw-divide-opacity"})}:{["& > :not([hidden]) ~ :not([hidden])"]:{"border-color":N(r)}}},{values:(({DEFAULT:r,...n})=>n)(re(e("divideColor"))),type:["color","any"]})},divideOpacity:({matchUtilities:i,theme:e})=>{i({"divide-opacity":t=>({["& > :not([hidden]) ~ :not([hidden])"]:{"--tw-divide-opacity":t}})},{values:e("divideOpacity")})},placeSelf:({addUtilities:i})=>{i({".place-self-auto":{"place-self":"auto"},".place-self-start":{"place-self":"start"},".place-self-end":{"place-self":"end"},".place-self-center":{"place-self":"center"},".place-self-stretch":{"place-self":"stretch"}})},alignSelf:({addUtilities:i})=>{i({".self-auto":{"align-self":"auto"},".self-start":{"align-self":"flex-start"},".self-end":{"align-self":"flex-end"},".self-center":{"align-self":"center"},".self-stretch":{"align-self":"stretch"},".self-baseline":{"align-self":"baseline"}})},justifySelf:({addUtilities:i})=>{i({".justify-self-auto":{"justify-self":"auto"},".justify-self-start":{"justify-self":"start"},".justify-self-end":{"justify-self":"end"},".justify-self-center":{"justify-self":"center"},".justify-self-stretch":{"justify-self":"stretch"}})},overflow:({addUtilities:i})=>{i({".overflow-auto":{overflow:"auto"},".overflow-hidden":{overflow:"hidden"},".overflow-clip":{overflow:"clip"},".overflow-visible":{overflow:"visible"},".overflow-scroll":{overflow:"scroll"},".overflow-x-auto":{"overflow-x":"auto"},".overflow-y-auto":{"overflow-y":"auto"},".overflow-x-hidden":{"overflow-x":"hidden"},".overflow-y-hidden":{"overflow-y":"hidden"},".overflow-x-clip":{"overflow-x":"clip"},".overflow-y-clip":{"overflow-y":"clip"},".overflow-x-visible":{"overflow-x":"visible"},".overflow-y-visible":{"overflow-y":"visible"},".overflow-x-scroll":{"overflow-x":"scroll"},".overflow-y-scroll":{"overflow-y":"scroll"}})},overscrollBehavior:({addUtilities:i})=>{i({".overscroll-auto":{"overscroll-behavior":"auto"},".overscroll-contain":{"overscroll-behavior":"contain"},".overscroll-none":{"overscroll-behavior":"none"},".overscroll-y-auto":{"overscroll-behavior-y":"auto"},".overscroll-y-contain":{"overscroll-behavior-y":"contain"},".overscroll-y-none":{"overscroll-behavior-y":"none"},".overscroll-x-auto":{"overscroll-behavior-x":"auto"},".overscroll-x-contain":{"overscroll-behavior-x":"contain"},".overscroll-x-none":{"overscroll-behavior-x":"none"}})},scrollBehavior:({addUtilities:i})=>{i({".scroll-auto":{"scroll-behavior":"auto"},".scroll-smooth":{"scroll-behavior":"smooth"}})},textOverflow:({addUtilities:i})=>{i({".truncate":{overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap"},".overflow-ellipsis":{"text-overflow":"ellipsis"},".text-ellipsis":{"text-overflow":"ellipsis"},".text-clip":{"text-overflow":"clip"}})},hyphens:({addUtilities:i})=>{i({".hyphens-none":{hyphens:"none"},".hyphens-manual":{hyphens:"manual"},".hyphens-auto":{hyphens:"auto"}})},whitespace:({addUtilities:i})=>{i({".whitespace-normal":{"white-space":"normal"},".whitespace-nowrap":{"white-space":"nowrap"},".whitespace-pre":{"white-space":"pre"},".whitespace-pre-line":{"white-space":"pre-line"},".whitespace-pre-wrap":{"white-space":"pre-wrap"},".whitespace-break-spaces":{"white-space":"break-spaces"}})},wordBreak:({addUtilities:i})=>{i({".break-normal":{"overflow-wrap":"normal","word-break":"normal"},".break-words":{"overflow-wrap":"break-word"},".break-all":{"word-break":"break-all"},".break-keep":{"word-break":"keep-all"}})},borderRadius:P("borderRadius",[["rounded",["border-radius"]],[["rounded-s",["border-start-start-radius","border-end-start-radius"]],["rounded-e",["border-start-end-radius","border-end-end-radius"]],["rounded-t",["border-top-left-radius","border-top-right-radius"]],["rounded-r",["border-top-right-radius","border-bottom-right-radius"]],["rounded-b",["border-bottom-right-radius","border-bottom-left-radius"]],["rounded-l",["border-top-left-radius","border-bottom-left-radius"]]],[["rounded-ss",["border-start-start-radius"]],["rounded-se",["border-start-end-radius"]],["rounded-ee",["border-end-end-radius"]],["rounded-es",["border-end-start-radius"]],["rounded-tl",["border-top-left-radius"]],["rounded-tr",["border-top-right-radius"]],["rounded-br",["border-bottom-right-radius"]],["rounded-bl",["border-bottom-left-radius"]]]]),borderWidth:P("borderWidth",[["border",[["@defaults border-width",{}],"border-width"]],[["border-x",[["@defaults border-width",{}],"border-left-width","border-right-width"]],["border-y",[["@defaults border-width",{}],"border-top-width","border-bottom-width"]]],[["border-s",[["@defaults border-width",{}],"border-inline-start-width"]],["border-e",[["@defaults border-width",{}],"border-inline-end-width"]],["border-t",[["@defaults border-width",{}],"border-top-width"]],["border-r",[["@defaults border-width",{}],"border-right-width"]],["border-b",[["@defaults border-width",{}],"border-bottom-width"]],["border-l",[["@defaults border-width",{}],"border-left-width"]]]],{type:["line-width","length"]}),borderStyle:({addUtilities:i})=>{i({".border-solid":{"border-style":"solid"},".border-dashed":{"border-style":"dashed"},".border-dotted":{"border-style":"dotted"},".border-double":{"border-style":"double"},".border-hidden":{"border-style":"hidden"},".border-none":{"border-style":"none"}})},borderColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({border:r=>t("borderOpacity")?se({color:r,property:"border-color",variable:"--tw-border-opacity"}):{"border-color":N(r)}},{values:(({DEFAULT:r,...n})=>n)(re(e("borderColor"))),type:["color","any"]}),i({"border-x":r=>t("borderOpacity")?se({color:r,property:["border-left-color","border-right-color"],variable:"--tw-border-opacity"}):{"border-left-color":N(r),"border-right-color":N(r)},"border-y":r=>t("borderOpacity")?se({color:r,property:["border-top-color","border-bottom-color"],variable:"--tw-border-opacity"}):{"border-top-color":N(r),"border-bottom-color":N(r)}},{values:(({DEFAULT:r,...n})=>n)(re(e("borderColor"))),type:["color","any"]}),i({"border-s":r=>t("borderOpacity")?se({color:r,property:"border-inline-start-color",variable:"--tw-border-opacity"}):{"border-inline-start-color":N(r)},"border-e":r=>t("borderOpacity")?se({color:r,property:"border-inline-end-color",variable:"--tw-border-opacity"}):{"border-inline-end-color":N(r)},"border-t":r=>t("borderOpacity")?se({color:r,property:"border-top-color",variable:"--tw-border-opacity"}):{"border-top-color":N(r)},"border-r":r=>t("borderOpacity")?se({color:r,property:"border-right-color",variable:"--tw-border-opacity"}):{"border-right-color":N(r)},"border-b":r=>t("borderOpacity")?se({color:r,property:"border-bottom-color",variable:"--tw-border-opacity"}):{"border-bottom-color":N(r)},"border-l":r=>t("borderOpacity")?se({color:r,property:"border-left-color",variable:"--tw-border-opacity"}):{"border-left-color":N(r)}},{values:(({DEFAULT:r,...n})=>n)(re(e("borderColor"))),type:["color","any"]})},borderOpacity:P("borderOpacity",[["border-opacity",["--tw-border-opacity"]]]),backgroundColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({bg:r=>t("backgroundOpacity")?se({color:r,property:"background-color",variable:"--tw-bg-opacity"}):{"background-color":N(r)}},{values:re(e("backgroundColor")),type:["color","any"]})},backgroundOpacity:P("backgroundOpacity",[["bg-opacity",["--tw-bg-opacity"]]]),backgroundImage:P("backgroundImage",[["bg",["background-image"]]],{type:["lookup","image","url"]}),gradientColorStops:(()=>{function i(e){return Ie(e,0,"rgb(255 255 255 / 0)")}return function({matchUtilities:e,theme:t,addDefaults:r}){r("gradient-color-stops",{"--tw-gradient-from-position":" ","--tw-gradient-via-position":" ","--tw-gradient-to-position":" "});let n={values:re(t("gradientColorStops")),type:["color","any"]},a={values:t("gradientColorStopPositions"),type:["length","percentage"]};e({from:s=>{let o=i(s);return{"@defaults gradient-color-stops":{},"--tw-gradient-from":`${N(s)} var(--tw-gradient-from-position)`,"--tw-gradient-to":`${o} var(--tw-gradient-to-position)`,"--tw-gradient-stops":"var(--tw-gradient-from), var(--tw-gradient-to)"}}},n),e({from:s=>({"--tw-gradient-from-position":s})},a),e({via:s=>{let o=i(s);return{"@defaults gradient-color-stops":{},"--tw-gradient-to":`${o} var(--tw-gradient-to-position)`,"--tw-gradient-stops":`var(--tw-gradient-from), ${N(s)} var(--tw-gradient-via-position), var(--tw-gradient-to)`}}},n),e({via:s=>({"--tw-gradient-via-position":s})},a),e({to:s=>({"@defaults gradient-color-stops":{},"--tw-gradient-to":`${N(s)} var(--tw-gradient-to-position)`})},n),e({to:s=>({"--tw-gradient-to-position":s})},a)}})(),boxDecorationBreak:({addUtilities:i})=>{i({".decoration-slice":{"box-decoration-break":"slice"},".decoration-clone":{"box-decoration-break":"clone"},".box-decoration-slice":{"box-decoration-break":"slice"},".box-decoration-clone":{"box-decoration-break":"clone"}})},backgroundSize:P("backgroundSize",[["bg",["background-size"]]],{type:["lookup","length","percentage","size"]}),backgroundAttachment:({addUtilities:i})=>{i({".bg-fixed":{"background-attachment":"fixed"},".bg-local":{"background-attachment":"local"},".bg-scroll":{"background-attachment":"scroll"}})},backgroundClip:({addUtilities:i})=>{i({".bg-clip-border":{"background-clip":"border-box"},".bg-clip-padding":{"background-clip":"padding-box"},".bg-clip-content":{"background-clip":"content-box"},".bg-clip-text":{"background-clip":"text"}})},backgroundPosition:P("backgroundPosition",[["bg",["background-position"]]],{type:["lookup",["position",{preferOnConflict:!0}]]}),backgroundRepeat:({addUtilities:i})=>{i({".bg-repeat":{"background-repeat":"repeat"},".bg-no-repeat":{"background-repeat":"no-repeat"},".bg-repeat-x":{"background-repeat":"repeat-x"},".bg-repeat-y":{"background-repeat":"repeat-y"},".bg-repeat-round":{"background-repeat":"round"},".bg-repeat-space":{"background-repeat":"space"}})},backgroundOrigin:({addUtilities:i})=>{i({".bg-origin-border":{"background-origin":"border-box"},".bg-origin-padding":{"background-origin":"padding-box"},".bg-origin-content":{"background-origin":"content-box"}})},fill:({matchUtilities:i,theme:e})=>{i({fill:t=>({fill:N(t)})},{values:re(e("fill")),type:["color","any"]})},stroke:({matchUtilities:i,theme:e})=>{i({stroke:t=>({stroke:N(t)})},{values:re(e("stroke")),type:["color","url","any"]})},strokeWidth:P("strokeWidth",[["stroke",["stroke-width"]]],{type:["length","number","percentage"]}),objectFit:({addUtilities:i})=>{i({".object-contain":{"object-fit":"contain"},".object-cover":{"object-fit":"cover"},".object-fill":{"object-fit":"fill"},".object-none":{"object-fit":"none"},".object-scale-down":{"object-fit":"scale-down"}})},objectPosition:P("objectPosition",[["object",["object-position"]]]),padding:P("padding",[["p",["padding"]],[["px",["padding-left","padding-right"]],["py",["padding-top","padding-bottom"]]],[["ps",["padding-inline-start"]],["pe",["padding-inline-end"]],["pt",["padding-top"]],["pr",["padding-right"]],["pb",["padding-bottom"]],["pl",["padding-left"]]]]),textAlign:({addUtilities:i})=>{i({".text-left":{"text-align":"left"},".text-center":{"text-align":"center"},".text-right":{"text-align":"right"},".text-justify":{"text-align":"justify"},".text-start":{"text-align":"start"},".text-end":{"text-align":"end"}})},textIndent:P("textIndent",[["indent",["text-indent"]]],{supportsNegativeValues:!0}),verticalAlign:({addUtilities:i,matchUtilities:e})=>{i({".align-baseline":{"vertical-align":"baseline"},".align-top":{"vertical-align":"top"},".align-middle":{"vertical-align":"middle"},".align-bottom":{"vertical-align":"bottom"},".align-text-top":{"vertical-align":"text-top"},".align-text-bottom":{"vertical-align":"text-bottom"},".align-sub":{"vertical-align":"sub"},".align-super":{"vertical-align":"super"}}),e({align:t=>({"vertical-align":t})})},fontFamily:({matchUtilities:i,theme:e})=>{i({font:t=>{let[r,n={}]=Array.isArray(t)&&ie(t[1])?t:[t],{fontFeatureSettings:a,fontVariationSettings:s}=n;return{"font-family":Array.isArray(r)?r.join(", "):r,...a===void 0?{}:{"font-feature-settings":a},...s===void 0?{}:{"font-variation-settings":s}}}},{values:e("fontFamily"),type:["lookup","generic-name","family-name"]})},fontSize:({matchUtilities:i,theme:e})=>{i({text:(t,{modifier:r})=>{let[n,a]=Array.isArray(t)?t:[t];if(r)return{"font-size":n,"line-height":r};let{lineHeight:s,letterSpacing:o,fontWeight:u}=ie(a)?a:{lineHeight:a};return{"font-size":n,...s===void 0?{}:{"line-height":s},...o===void 0?{}:{"letter-spacing":o},...u===void 0?{}:{"font-weight":u}}}},{values:e("fontSize"),modifiers:e("lineHeight"),type:["absolute-size","relative-size","length","percentage"]})},fontWeight:P("fontWeight",[["font",["fontWeight"]]],{type:["lookup","number","any"]}),textTransform:({addUtilities:i})=>{i({".uppercase":{"text-transform":"uppercase"},".lowercase":{"text-transform":"lowercase"},".capitalize":{"text-transform":"capitalize"},".normal-case":{"text-transform":"none"}})},fontStyle:({addUtilities:i})=>{i({".italic":{"font-style":"italic"},".not-italic":{"font-style":"normal"}})},fontVariantNumeric:({addDefaults:i,addUtilities:e})=>{let t="var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)";i("font-variant-numeric",{"--tw-ordinal":" ","--tw-slashed-zero":" ","--tw-numeric-figure":" ","--tw-numeric-spacing":" ","--tw-numeric-fraction":" "}),e({".normal-nums":{"font-variant-numeric":"normal"},".ordinal":{"@defaults font-variant-numeric":{},"--tw-ordinal":"ordinal","font-variant-numeric":t},".slashed-zero":{"@defaults font-variant-numeric":{},"--tw-slashed-zero":"slashed-zero","font-variant-numeric":t},".lining-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"lining-nums","font-variant-numeric":t},".oldstyle-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-figure":"oldstyle-nums","font-variant-numeric":t},".proportional-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"proportional-nums","font-variant-numeric":t},".tabular-nums":{"@defaults font-variant-numeric":{},"--tw-numeric-spacing":"tabular-nums","font-variant-numeric":t},".diagonal-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"diagonal-fractions","font-variant-numeric":t},".stacked-fractions":{"@defaults font-variant-numeric":{},"--tw-numeric-fraction":"stacked-fractions","font-variant-numeric":t}})},lineHeight:P("lineHeight",[["leading",["lineHeight"]]]),letterSpacing:P("letterSpacing",[["tracking",["letterSpacing"]]],{supportsNegativeValues:!0}),textColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({text:r=>t("textOpacity")?se({color:r,property:"color",variable:"--tw-text-opacity"}):{color:N(r)}},{values:re(e("textColor")),type:["color","any"]})},textOpacity:P("textOpacity",[["text-opacity",["--tw-text-opacity"]]]),textDecoration:({addUtilities:i})=>{i({".underline":{"text-decoration-line":"underline"},".overline":{"text-decoration-line":"overline"},".line-through":{"text-decoration-line":"line-through"},".no-underline":{"text-decoration-line":"none"}})},textDecorationColor:({matchUtilities:i,theme:e})=>{i({decoration:t=>({"text-decoration-color":N(t)})},{values:re(e("textDecorationColor")),type:["color","any"]})},textDecorationStyle:({addUtilities:i})=>{i({".decoration-solid":{"text-decoration-style":"solid"},".decoration-double":{"text-decoration-style":"double"},".decoration-dotted":{"text-decoration-style":"dotted"},".decoration-dashed":{"text-decoration-style":"dashed"},".decoration-wavy":{"text-decoration-style":"wavy"}})},textDecorationThickness:P("textDecorationThickness",[["decoration",["text-decoration-thickness"]]],{type:["length","percentage"]}),textUnderlineOffset:P("textUnderlineOffset",[["underline-offset",["text-underline-offset"]]],{type:["length","percentage","any"]}),fontSmoothing:({addUtilities:i})=>{i({".antialiased":{"-webkit-font-smoothing":"antialiased","-moz-osx-font-smoothing":"grayscale"},".subpixel-antialiased":{"-webkit-font-smoothing":"auto","-moz-osx-font-smoothing":"auto"}})},placeholderColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({placeholder:r=>t("placeholderOpacity")?{"&::placeholder":se({color:r,property:"color",variable:"--tw-placeholder-opacity"})}:{"&::placeholder":{color:N(r)}}},{values:re(e("placeholderColor")),type:["color","any"]})},placeholderOpacity:({matchUtilities:i,theme:e})=>{i({"placeholder-opacity":t=>({["&::placeholder"]:{"--tw-placeholder-opacity":t}})},{values:e("placeholderOpacity")})},caretColor:({matchUtilities:i,theme:e})=>{i({caret:t=>({"caret-color":N(t)})},{values:re(e("caretColor")),type:["color","any"]})},accentColor:({matchUtilities:i,theme:e})=>{i({accent:t=>({"accent-color":N(t)})},{values:re(e("accentColor")),type:["color","any"]})},opacity:P("opacity",[["opacity",["opacity"]]]),backgroundBlendMode:({addUtilities:i})=>{i({".bg-blend-normal":{"background-blend-mode":"normal"},".bg-blend-multiply":{"background-blend-mode":"multiply"},".bg-blend-screen":{"background-blend-mode":"screen"},".bg-blend-overlay":{"background-blend-mode":"overlay"},".bg-blend-darken":{"background-blend-mode":"darken"},".bg-blend-lighten":{"background-blend-mode":"lighten"},".bg-blend-color-dodge":{"background-blend-mode":"color-dodge"},".bg-blend-color-burn":{"background-blend-mode":"color-burn"},".bg-blend-hard-light":{"background-blend-mode":"hard-light"},".bg-blend-soft-light":{"background-blend-mode":"soft-light"},".bg-blend-difference":{"background-blend-mode":"difference"},".bg-blend-exclusion":{"background-blend-mode":"exclusion"},".bg-blend-hue":{"background-blend-mode":"hue"},".bg-blend-saturation":{"background-blend-mode":"saturation"},".bg-blend-color":{"background-blend-mode":"color"},".bg-blend-luminosity":{"background-blend-mode":"luminosity"}})},mixBlendMode:({addUtilities:i})=>{i({".mix-blend-normal":{"mix-blend-mode":"normal"},".mix-blend-multiply":{"mix-blend-mode":"multiply"},".mix-blend-screen":{"mix-blend-mode":"screen"},".mix-blend-overlay":{"mix-blend-mode":"overlay"},".mix-blend-darken":{"mix-blend-mode":"darken"},".mix-blend-lighten":{"mix-blend-mode":"lighten"},".mix-blend-color-dodge":{"mix-blend-mode":"color-dodge"},".mix-blend-color-burn":{"mix-blend-mode":"color-burn"},".mix-blend-hard-light":{"mix-blend-mode":"hard-light"},".mix-blend-soft-light":{"mix-blend-mode":"soft-light"},".mix-blend-difference":{"mix-blend-mode":"difference"},".mix-blend-exclusion":{"mix-blend-mode":"exclusion"},".mix-blend-hue":{"mix-blend-mode":"hue"},".mix-blend-saturation":{"mix-blend-mode":"saturation"},".mix-blend-color":{"mix-blend-mode":"color"},".mix-blend-luminosity":{"mix-blend-mode":"luminosity"},".mix-blend-plus-lighter":{"mix-blend-mode":"plus-lighter"}})},boxShadow:(()=>{let i=Ge("boxShadow"),e=["var(--tw-ring-offset-shadow, 0 0 #0000)","var(--tw-ring-shadow, 0 0 #0000)","var(--tw-shadow)"].join(", ");return function({matchUtilities:t,addDefaults:r,theme:n}){r(" box-shadow",{"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),t({shadow:a=>{a=i(a);let s=yi(a);for(let o of s)!o.valid||(o.color="var(--tw-shadow-color)");return{"@defaults box-shadow":{},"--tw-shadow":a==="none"?"0 0 #0000":a,"--tw-shadow-colored":a==="none"?"0 0 #0000":Iu(s),"box-shadow":e}}},{values:n("boxShadow"),type:["shadow"]})}})(),boxShadowColor:({matchUtilities:i,theme:e})=>{i({shadow:t=>({"--tw-shadow-color":N(t),"--tw-shadow":"var(--tw-shadow-colored)"})},{values:re(e("boxShadowColor")),type:["color","any"]})},outlineStyle:({addUtilities:i})=>{i({".outline-none":{outline:"2px solid transparent","outline-offset":"2px"},".outline":{"outline-style":"solid"},".outline-dashed":{"outline-style":"dashed"},".outline-dotted":{"outline-style":"dotted"},".outline-double":{"outline-style":"double"}})},outlineWidth:P("outlineWidth",[["outline",["outline-width"]]],{type:["length","number","percentage"]}),outlineOffset:P("outlineOffset",[["outline-offset",["outline-offset"]]],{type:["length","number","percentage","any"],supportsNegativeValues:!0}),outlineColor:({matchUtilities:i,theme:e})=>{i({outline:t=>({"outline-color":N(t)})},{values:re(e("outlineColor")),type:["color","any"]})},ringWidth:({matchUtilities:i,addDefaults:e,addUtilities:t,theme:r,config:n})=>{let a=(()=>{if(J(n(),"respectDefaultRingColorOpacity"))return r("ringColor.DEFAULT");let s=r("ringOpacity.DEFAULT","0.5");return r("ringColor")?.DEFAULT?Ie(r("ringColor")?.DEFAULT,s,`rgb(147 197 253 / ${s})`):`rgb(147 197 253 / ${s})`})();e("ring-width",{"--tw-ring-inset":" ","--tw-ring-offset-width":r("ringOffsetWidth.DEFAULT","0px"),"--tw-ring-offset-color":r("ringOffsetColor.DEFAULT","#fff"),"--tw-ring-color":a,"--tw-ring-offset-shadow":"0 0 #0000","--tw-ring-shadow":"0 0 #0000","--tw-shadow":"0 0 #0000","--tw-shadow-colored":"0 0 #0000"}),i({ring:s=>({"@defaults ring-width":{},"--tw-ring-offset-shadow":"var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)","--tw-ring-shadow":`var(--tw-ring-inset) 0 0 0 calc(${s} + var(--tw-ring-offset-width)) var(--tw-ring-color)`,"box-shadow":["var(--tw-ring-offset-shadow)","var(--tw-ring-shadow)","var(--tw-shadow, 0 0 #0000)"].join(", ")})},{values:r("ringWidth"),type:"length"}),t({".ring-inset":{"@defaults ring-width":{},"--tw-ring-inset":"inset"}})},ringColor:({matchUtilities:i,theme:e,corePlugins:t})=>{i({ring:r=>t("ringOpacity")?se({color:r,property:"--tw-ring-color",variable:"--tw-ring-opacity"}):{"--tw-ring-color":N(r)}},{values:Object.fromEntries(Object.entries(re(e("ringColor"))).filter(([r])=>r!=="DEFAULT")),type:["color","any"]})},ringOpacity:i=>{let{config:e}=i;return P("ringOpacity",[["ring-opacity",["--tw-ring-opacity"]]],{filterDefault:!J(e(),"respectDefaultRingColorOpacity")})(i)},ringOffsetWidth:P("ringOffsetWidth",[["ring-offset",["--tw-ring-offset-width"]]],{type:"length"}),ringOffsetColor:({matchUtilities:i,theme:e})=>{i({"ring-offset":t=>({"--tw-ring-offset-color":N(t)})},{values:re(e("ringOffsetColor")),type:["color","any"]})},blur:({matchUtilities:i,theme:e})=>{i({blur:t=>({"--tw-blur":`blur(${t})`,"@defaults filter":{},filter:Be})},{values:e("blur")})},brightness:({matchUtilities:i,theme:e})=>{i({brightness:t=>({"--tw-brightness":`brightness(${t})`,"@defaults filter":{},filter:Be})},{values:e("brightness")})},contrast:({matchUtilities:i,theme:e})=>{i({contrast:t=>({"--tw-contrast":`contrast(${t})`,"@defaults filter":{},filter:Be})},{values:e("contrast")})},dropShadow:({matchUtilities:i,theme:e})=>{i({"drop-shadow":t=>({"--tw-drop-shadow":Array.isArray(t)?t.map(r=>`drop-shadow(${r})`).join(" "):`drop-shadow(${t})`,"@defaults filter":{},filter:Be})},{values:e("dropShadow")})},grayscale:({matchUtilities:i,theme:e})=>{i({grayscale:t=>({"--tw-grayscale":`grayscale(${t})`,"@defaults filter":{},filter:Be})},{values:e("grayscale")})},hueRotate:({matchUtilities:i,theme:e})=>{i({"hue-rotate":t=>({"--tw-hue-rotate":`hue-rotate(${t})`,"@defaults filter":{},filter:Be})},{values:e("hueRotate"),supportsNegativeValues:!0})},invert:({matchUtilities:i,theme:e})=>{i({invert:t=>({"--tw-invert":`invert(${t})`,"@defaults filter":{},filter:Be})},{values:e("invert")})},saturate:({matchUtilities:i,theme:e})=>{i({saturate:t=>({"--tw-saturate":`saturate(${t})`,"@defaults filter":{},filter:Be})},{values:e("saturate")})},sepia:({matchUtilities:i,theme:e})=>{i({sepia:t=>({"--tw-sepia":`sepia(${t})`,"@defaults filter":{},filter:Be})},{values:e("sepia")})},filter:({addDefaults:i,addUtilities:e})=>{i("filter",{"--tw-blur":" ","--tw-brightness":" ","--tw-contrast":" ","--tw-grayscale":" ","--tw-hue-rotate":" ","--tw-invert":" ","--tw-saturate":" ","--tw-sepia":" ","--tw-drop-shadow":" "}),e({".filter":{"@defaults filter":{},filter:Be},".filter-none":{filter:"none"}})},backdropBlur:({matchUtilities:i,theme:e})=>{i({"backdrop-blur":t=>({"--tw-backdrop-blur":`blur(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropBlur")})},backdropBrightness:({matchUtilities:i,theme:e})=>{i({"backdrop-brightness":t=>({"--tw-backdrop-brightness":`brightness(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropBrightness")})},backdropContrast:({matchUtilities:i,theme:e})=>{i({"backdrop-contrast":t=>({"--tw-backdrop-contrast":`contrast(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropContrast")})},backdropGrayscale:({matchUtilities:i,theme:e})=>{i({"backdrop-grayscale":t=>({"--tw-backdrop-grayscale":`grayscale(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropGrayscale")})},backdropHueRotate:({matchUtilities:i,theme:e})=>{i({"backdrop-hue-rotate":t=>({"--tw-backdrop-hue-rotate":`hue-rotate(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropHueRotate"),supportsNegativeValues:!0})},backdropInvert:({matchUtilities:i,theme:e})=>{i({"backdrop-invert":t=>({"--tw-backdrop-invert":`invert(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropInvert")})},backdropOpacity:({matchUtilities:i,theme:e})=>{i({"backdrop-opacity":t=>({"--tw-backdrop-opacity":`opacity(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropOpacity")})},backdropSaturate:({matchUtilities:i,theme:e})=>{i({"backdrop-saturate":t=>({"--tw-backdrop-saturate":`saturate(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropSaturate")})},backdropSepia:({matchUtilities:i,theme:e})=>{i({"backdrop-sepia":t=>({"--tw-backdrop-sepia":`sepia(${t})`,"@defaults backdrop-filter":{},"backdrop-filter":Fe})},{values:e("backdropSepia")})},backdropFilter:({addDefaults:i,addUtilities:e})=>{i("backdrop-filter",{"--tw-backdrop-blur":" ","--tw-backdrop-brightness":" ","--tw-backdrop-contrast":" ","--tw-backdrop-grayscale":" ","--tw-backdrop-hue-rotate":" ","--tw-backdrop-invert":" ","--tw-backdrop-opacity":" ","--tw-backdrop-saturate":" ","--tw-backdrop-sepia":" "}),e({".backdrop-filter":{"@defaults backdrop-filter":{},"backdrop-filter":Fe},".backdrop-filter-none":{"backdrop-filter":"none"}})},transitionProperty:({matchUtilities:i,theme:e})=>{let t=e("transitionTimingFunction.DEFAULT"),r=e("transitionDuration.DEFAULT");i({transition:n=>({"transition-property":n,...n==="none"?{}:{"transition-timing-function":t,"transition-duration":r}})},{values:e("transitionProperty")})},transitionDelay:P("transitionDelay",[["delay",["transitionDelay"]]]),transitionDuration:P("transitionDuration",[["duration",["transitionDuration"]]],{filterDefault:!0}),transitionTimingFunction:P("transitionTimingFunction",[["ease",["transitionTimingFunction"]]],{filterDefault:!0}),willChange:P("willChange",[["will-change",["will-change"]]]),content:P("content",[["content",["--tw-content",["content","var(--tw-content)"]]]])}});function bC(i){if(i===void 0)return!1;if(i==="true"||i==="1")return!0;if(i==="false"||i==="0")return!1;if(i==="*")return!0;let e=i.split(",").map(t=>t.split(":")[0]);return e.includes("-tailwindcss")?!1:!!e.includes("tailwindcss")}var Pe,wd,bd,gn,Xa,He,Kr,ot=C(()=>{l();Ya();Pe=typeof m!="undefined"?{NODE_ENV:"production",DEBUG:bC(m.env.DEBUG),ENGINE:Ja.tailwindcss.engine}:{NODE_ENV:"production",DEBUG:!1,ENGINE:Ja.tailwindcss.engine},wd=new Map,bd=new Map,gn=new Map,Xa=new Map,He=new String("*"),Kr=Symbol("__NONE__")});function Bt(i){let e=[],t=!1;for(let r=0;r0)}var vd,xd,vC,Ka=C(()=>{l();vd=new Map([["{","}"],["[","]"],["(",")"]]),xd=new Map(Array.from(vd.entries()).map(([i,e])=>[e,i])),vC=new Set(['"',"'","`"])});function Ft(i){let[e]=kd(i);return e.forEach(([t,r])=>t.removeChild(r)),i.nodes.push(...e.map(([,t])=>t)),i}function kd(i){let e=[],t=null;for(let r of i.nodes)if(r.type==="combinator")e=e.filter(([,n])=>eo(n).includes("jumpable")),t=null;else if(r.type==="pseudo"){xC(r)?(t=r,e.push([i,r,null])):t&&kC(r,t)?e.push([i,r,t]):t=null;for(let n of r.nodes??[]){let[a,s]=kd(n);t=s||t,e.push(...a)}}return[e,t]}function Sd(i){return i.value.startsWith("::")||Za[i.value]!==void 0}function xC(i){return Sd(i)&&eo(i).includes("terminal")}function kC(i,e){return i.type!=="pseudo"||Sd(i)?!1:eo(e).includes("actionable")}function eo(i){return Za[i.value]??Za.__default__}var Za,yn=C(()=>{l();Za={"::after":["terminal","jumpable"],"::backdrop":["terminal","jumpable"],"::before":["terminal","jumpable"],"::cue":["terminal"],"::cue-region":["terminal"],"::first-letter":["terminal","jumpable"],"::first-line":["terminal","jumpable"],"::grammar-error":["terminal"],"::marker":["terminal","jumpable"],"::part":["terminal","actionable"],"::placeholder":["terminal","jumpable"],"::selection":["terminal","jumpable"],"::slotted":["terminal"],"::spelling-error":["terminal"],"::target-text":["terminal"],"::file-selector-button":["terminal","actionable"],"::deep":["actionable"],"::v-deep":["actionable"],"::ng-deep":["actionable"],":after":["terminal","jumpable"],":before":["terminal","jumpable"],":first-letter":["terminal","jumpable"],":first-line":["terminal","jumpable"],__default__:["terminal","actionable"]}});function Nt(i,{context:e,candidate:t}){let r=e?.tailwindConfig.prefix??"",n=i.map(s=>{let o=(0,Ne.default)().astSync(s.format);return{...s,ast:s.respectPrefix?Rt(r,o):o}}),a=Ne.default.root({nodes:[Ne.default.selector({nodes:[Ne.default.className({value:ce(t)})]})]});for(let{ast:s}of n)[a,s]=CC(a,s),s.walkNesting(o=>o.replaceWith(...a.nodes[0].nodes)),a=s;return a}function Ad(i){let e=[];for(;i.prev()&&i.prev().type!=="combinator";)i=i.prev();for(;i&&i.type!=="combinator";)e.push(i),i=i.next();return e}function SC(i){return i.sort((e,t)=>e.type==="tag"&&t.type==="class"?-1:e.type==="class"&&t.type==="tag"?1:e.type==="class"&&t.type==="pseudo"&&t.value.startsWith("::")?-1:e.type==="pseudo"&&e.value.startsWith("::")&&t.type==="class"?1:i.index(e)-i.index(t)),i}function ro(i,e){let t=!1;i.walk(r=>{if(r.type==="class"&&r.value===e)return t=!0,!1}),t||i.remove()}function wn(i,e,{context:t,candidate:r,base:n}){let a=t?.tailwindConfig?.separator??":";n=n??r.split(new RegExp(`\\${a}(?![^[]*\\])`)).pop();let s=(0,Ne.default)().astSync(i);s.walkClasses(f=>{f.raws&&f.value.includes(n)&&(f.raws.value=ce((0,Cd.default)(f.raws.value)))}),s.each(f=>ro(f,n));let o=Array.isArray(e)?Nt(e,{context:t,candidate:r}):e;if(o===null)return s.toString();let u=Ne.default.comment({value:"/*__simple__*/"}),c=Ne.default.comment({value:"/*__simple__*/"});return s.walkClasses(f=>{if(f.value!==n)return;let p=f.parent,d=o.nodes[0].nodes;if(p.nodes.length===1){f.replaceWith(...d);return}let h=Ad(f);p.insertBefore(h[0],u),p.insertAfter(h[h.length-1],c);for(let x of d)p.insertBefore(h[0],x.clone());f.remove(),h=Ad(u);let y=p.index(u);p.nodes.splice(y,h.length,...SC(Ne.default.selector({nodes:h})).nodes),u.remove(),c.remove()}),s.walkPseudos(f=>{f.value===to&&f.replaceWith(f.nodes)}),s.each(f=>Ft(f)),s.toString()}function CC(i,e){let t=[];return i.walkPseudos(r=>{r.value===to&&t.push({pseudo:r,value:r.nodes[0].toString()})}),e.walkPseudos(r=>{if(r.value!==to)return;let n=r.nodes[0].toString(),a=t.find(c=>c.value===n);if(!a)return;let s=[],o=r.next();for(;o&&o.type!=="combinator";)s.push(o),o=o.next();let u=o;a.pseudo.parent.insertAfter(a.pseudo,Ne.default.selector({nodes:s.map(c=>c.clone())})),r.remove(),s.forEach(c=>c.remove()),u&&u.type==="combinator"&&u.remove()}),[i,e]}var Ne,Cd,to,io=C(()=>{l();Ne=K(Me()),Cd=K(Yi());Mt();un();yn();to=":merge"});function bn(i,e){let t=(0,no.default)().astSync(i);return t.each(r=>{r.nodes[0].type==="pseudo"&&r.nodes[0].value===":is"&&r.nodes.every(a=>a.type!=="combinator")||(r.nodes=[no.default.pseudo({value:":is",nodes:[r.clone()]})]),Ft(r)}),`${e} ${t.toString()}`}var no,so=C(()=>{l();no=K(Me());yn()});function ao(i){return AC.transformSync(i)}function*_C(i){let e=1/0;for(;e>=0;){let t,r=!1;if(e===1/0&&i.endsWith("]")){let s=i.indexOf("[");i[s-1]==="-"?t=s-1:i[s-1]==="/"?(t=s-1,r=!0):t=-1}else e===1/0&&i.includes("/")?(t=i.lastIndexOf("/"),r=!0):t=i.lastIndexOf("-",e);if(t<0)break;let n=i.slice(0,t),a=i.slice(r?t:t+1);e=t-1,!(n===""||a==="/")&&(yield[n,a])}}function EC(i,e){if(i.length===0||e.tailwindConfig.prefix==="")return i;for(let t of i){let[r]=t;if(r.options.respectPrefix){let n=z.root({nodes:[t[1].clone()]}),a=t[1].raws.tailwind.classCandidate;n.walkRules(s=>{let o=a.startsWith("-");s.selector=Rt(e.tailwindConfig.prefix,s.selector,o)}),t[1]=n.nodes[0]}}return i}function OC(i,e){if(i.length===0)return i;let t=[];for(let[r,n]of i){let a=z.root({nodes:[n.clone()]});a.walkRules(s=>{let o=(0,vn.default)().astSync(s.selector);o.each(u=>ro(u,e)),Wu(o,u=>u===e?`!${u}`:u),s.selector=o.toString(),s.walkDecls(u=>u.important=!0)}),t.push([{...r,important:!0},a.nodes[0]])}return t}function TC(i,e,t){if(e.length===0)return e;let r={modifier:null,value:Kr};{let[n,...a]=le(i,"/");if(a.length>1&&(n=n+"/"+a.slice(0,-1).join("/"),a=a.slice(-1)),a.length&&!t.variantMap.has(i)&&(i=n,r.modifier=a[0],!J(t.tailwindConfig,"generalizedModifiers")))return[]}if(i.endsWith("]")&&!i.startsWith("[")){let n=/(.)(-?)\[(.*)\]/g.exec(i);if(n){let[,a,s,o]=n;if(a==="@"&&s==="-")return[];if(a!=="@"&&s==="")return[];i=i.replace(`${s}[${o}]`,""),r.value=o}}if(lo(i)&&!t.variantMap.has(i)){let n=t.offsets.recordVariant(i),a=U(i.slice(1,-1)),s=le(a,",");if(s.length>1)return[];if(!s.every(An))return[];let o=s.map((u,c)=>[t.offsets.applyParallelOffset(n,c),Zr(u.trim())]);t.variantMap.set(i,o)}if(t.variantMap.has(i)){let n=lo(i),a=t.variantOptions.get(i)?.[Jr]??{},s=t.variantMap.get(i).slice(),o=[],u=(()=>!(n||a.respectPrefix===!1))();for(let[c,f]of e){if(c.layer==="user")continue;let p=z.root({nodes:[f.clone()]});for(let[d,h,y]of s){let b=function(){x.raws.neededBackup||(x.raws.neededBackup=!0,x.walkRules(E=>E.raws.originalSelector=E.selector))},k=function(E){return b(),x.each(I=>{I.type==="rule"&&(I.selectors=I.selectors.map(B=>E({get className(){return ao(B)},selector:B})))}),x},x=(y??p).clone(),w=[],S=h({get container(){return b(),x},separator:t.tailwindConfig.separator,modifySelectors:k,wrap(E){let I=x.nodes;x.removeAll(),E.append(I),x.append(E)},format(E){w.push({format:E,respectPrefix:u})},args:r});if(Array.isArray(S)){for(let[E,I]of S.entries())s.push([t.offsets.applyParallelOffset(d,E),I,x.clone()]);continue}if(typeof S=="string"&&w.push({format:S,respectPrefix:u}),S===null)continue;x.raws.neededBackup&&(delete x.raws.neededBackup,x.walkRules(E=>{let I=E.raws.originalSelector;if(!I||(delete E.raws.originalSelector,I===E.selector))return;let B=E.selector,q=(0,vn.default)(X=>{X.walkClasses(ae=>{ae.value=`${i}${t.tailwindConfig.separator}${ae.value}`})}).processSync(I);w.push({format:B.replace(q,"&"),respectPrefix:u}),E.selector=I})),x.nodes[0].raws.tailwind={...x.nodes[0].raws.tailwind,parentLayer:c.layer};let _=[{...c,sort:t.offsets.applyVariantOffset(c.sort,d,Object.assign(r,t.variantOptions.get(i))),collectedFormats:(c.collectedFormats??[]).concat(w)},x.nodes[0]];o.push(_)}}return o}return[]}function oo(i,e,t={}){return!ie(i)&&!Array.isArray(i)?[[i],t]:Array.isArray(i)?oo(i[0],e,i[1]):(e.has(i)||e.set(i,qt(i)),[e.get(i),t])}function DC(i){return PC.test(i)}function IC(i){if(!i.includes("://"))return!1;try{let e=new URL(i);return e.scheme!==""&&e.host!==""}catch(e){return!1}}function _d(i){let e=!0;return i.walkDecls(t=>{if(!Ed(t.prop,t.value))return e=!1,!1}),e}function Ed(i,e){if(IC(`${i}:${e}`))return!1;try{return z.parse(`a{${i}:${e}}`).toResult(),!0}catch(t){return!1}}function qC(i,e){let[,t,r]=i.match(/^\[([a-zA-Z0-9-_]+):(\S+)\]$/)??[];if(r===void 0||!DC(t)||!Bt(r))return null;let n=U(r);return Ed(t,n)?[[{sort:e.offsets.arbitraryProperty(),layer:"utilities"},()=>({[Wa(i)]:{[t]:n}})]]:null}function*RC(i,e){e.candidateRuleMap.has(i)&&(yield[e.candidateRuleMap.get(i),"DEFAULT"]),yield*function*(o){o!==null&&(yield[o,"DEFAULT"])}(qC(i,e));let t=i,r=!1,n=e.tailwindConfig.prefix,a=n.length,s=t.startsWith(n)||t.startsWith(`-${n}`);t[a]==="-"&&s&&(r=!0,t=n+t.slice(a+1)),r&&e.candidateRuleMap.has(t)&&(yield[e.candidateRuleMap.get(t),"-DEFAULT"]);for(let[o,u]of _C(t))e.candidateRuleMap.has(o)&&(yield[e.candidateRuleMap.get(o),r?`-${u}`:u])}function MC(i,e){return i===He?[He]:le(i,e)}function*BC(i,e){for(let t of i)t[1].raws.tailwind={...t[1].raws.tailwind,classCandidate:e,preserveSource:t[0].options?.preserveSource??!1},yield t}function*xn(i,e,t=i){let r=e.tailwindConfig.separator,[n,...a]=MC(i,r).reverse(),s=!1;if(n.startsWith("!")&&(s=!0,n=n.slice(1)),J(e.tailwindConfig,"variantGrouping")&&n.startsWith("(")&&n.endsWith(")")){let o=a.slice().reverse().join(r);for(let u of le(n.slice(1,-1),","))yield*xn(o+r+u,e,t)}for(let o of RC(n,e)){let u=[],c=new Map,[f,p]=o,d=f.length===1;for(let[h,y]of f){let x=[];if(typeof y=="function")for(let w of[].concat(y(p,{isOnlyPlugin:d}))){let[b,k]=oo(w,e.postCssNodeCache);for(let S of b)x.push([{...h,options:{...h.options,...k}},S])}else if(p==="DEFAULT"||p==="-DEFAULT"){let w=y,[b,k]=oo(w,e.postCssNodeCache);for(let S of b)x.push([{...h,options:{...h.options,...k}},S])}if(x.length>0){let w=Array.from(ps(h.options?.types??[],p,h.options??{},e.tailwindConfig)).map(([b,k])=>k);w.length>0&&c.set(x,w),u.push(x)}}if(lo(p)){if(u.length>1){let x=function(b){return b.length===1?b[0]:b.find(k=>{let S=c.get(k);return k.some(([{options:_},E])=>_d(E)?_.types.some(({type:I,preferOnConflict:B})=>S.includes(I)&&B):!1)})},[h,y]=u.reduce((b,k)=>(k.some(([{options:_}])=>_.types.some(({type:E})=>E==="any"))?b[0].push(k):b[1].push(k),b),[[],[]]),w=x(y)??x(h);if(w)u=[w];else{let b=u.map(S=>new Set([...c.get(S)??[]]));for(let S of b)for(let _ of S){let E=!1;for(let I of b)S!==I&&I.has(_)&&(I.delete(_),E=!0);E&&S.delete(_)}let k=[];for(let[S,_]of b.entries())for(let E of _){let I=u[S].map(([,B])=>B).flat().map(B=>B.toString().split(` +`).slice(1,-1).map(q=>q.trim()).map(q=>` ${q}`).join(` +`)).join(` + +`);k.push(` Use \`${i.replace("[",`[${E}:`)}\` for \`${I.trim()}\``);break}F.warn([`The class \`${i}\` is ambiguous and matches multiple utilities.`,...k,`If this is content and not a class, replace it with \`${i.replace("[","[").replace("]","]")}\` to silence this warning.`]);continue}}u=u.map(h=>h.filter(y=>_d(y[1])))}u=u.flat(),u=Array.from(BC(u,n)),u=EC(u,e),s&&(u=OC(u,n));for(let h of a)u=TC(h,u,e);for(let h of u)h[1].raws.tailwind={...h[1].raws.tailwind,candidate:i},h=FC(h,{context:e,candidate:i,original:t}),h!==null&&(yield h)}}function FC(i,{context:e,candidate:t,original:r}){if(!i[0].collectedFormats)return i;let n=!0,a;try{a=Nt(i[0].collectedFormats,{context:e,candidate:t})}catch{return null}let s=z.root({nodes:[i[1].clone()]});return s.walkRules(o=>{if(!kn(o))try{o.selector=wn(o.selector,a,{candidate:r,context:e})}catch{return n=!1,!1}}),n?(i[1]=s.nodes[0],i):null}function kn(i){return i.parent&&i.parent.type==="atrule"&&i.parent.name==="keyframes"}function NC(i){if(i===!0)return e=>{kn(e)||e.walkDecls(t=>{t.parent.type==="rule"&&!kn(t.parent)&&(t.important=!0)})};if(typeof i=="string")return e=>{kn(e)||(e.selectors=e.selectors.map(t=>bn(t,i)))}}function Sn(i,e){let t=[],r=NC(e.tailwindConfig.important);for(let n of i){if(e.notClassCache.has(n))continue;if(e.candidateRuleCache.has(n)){t=t.concat(Array.from(e.candidateRuleCache.get(n)));continue}let a=Array.from(xn(n,e));if(a.length===0){e.notClassCache.add(n);continue}e.classCache.set(n,a);let s=e.candidateRuleCache.get(n)??new Set;e.candidateRuleCache.set(n,s);for(let o of a){let[{sort:u,options:c},f]=o;if(c.respectImportant&&r){let d=z.root({nodes:[f.clone()]});d.walkRules(r),f=d.nodes[0]}let p=[u,f];s.add(p),e.ruleCache.add(p),t.push(p)}}return t}function lo(i){return i.startsWith("[")&&i.endsWith("]")}var vn,AC,PC,Cn=C(()=>{l();nt();vn=K(Me());Ua();xt();un();cr();Ee();ot();io();Ga();fr();Xr();Ka();or();De();so();AC=(0,vn.default)(i=>i.first.filter(({type:e})=>e==="class").pop().value);PC=/^[a-z_-]/});var Od,Td=C(()=>{l();Od={}});function LC(i){try{return Od.createHash("md5").update(i,"utf-8").digest("binary")}catch(e){return""}}function Pd(i,e){let t=e.toString();if(!t.includes("@tailwind"))return!1;let r=Xa.get(i),n=LC(t),a=r!==n;return Xa.set(i,n),a}var Dd=C(()=>{l();Td();ot()});function _n(i){return(i>0n)-(i<0n)}var Id=C(()=>{l()});function qd(i,e){let t=0n,r=0n;for(let[n,a]of e)i&n&&(t=t|n,r=r|a);return i&~t|r}var Rd=C(()=>{l()});function Md(i){let e=null;for(let t of i)e=e??t,e=e>t?e:t;return e}function $C(i,e){let t=i.length,r=e.length,n=t{l();Id();Rd();uo=class{constructor(){this.offsets={defaults:0n,base:0n,components:0n,utilities:0n,variants:0n,user:0n},this.layerPositions={defaults:0n,base:1n,components:2n,utilities:3n,user:4n,variants:5n},this.reservedVariantBits=0n,this.variantOffsets=new Map}create(e){return{layer:e,parentLayer:e,arbitrary:0n,variants:0n,parallelIndex:0n,index:this.offsets[e]++,options:[]}}arbitraryProperty(){return{...this.create("utilities"),arbitrary:1n}}forVariant(e,t=0){let r=this.variantOffsets.get(e);if(r===void 0)throw new Error(`Cannot find offset for unknown variant ${e}`);return{...this.create("variants"),variants:r<n.startsWith("[")).sort(([n],[a])=>$C(n,a)),t=e.map(([,n])=>n).sort((n,a)=>_n(n-a));return e.map(([,n],a)=>[n,t[a]]).filter(([n,a])=>n!==a)}remapArbitraryVariantOffsets(e){let t=this.recalculateVariantOffsets();return t.length===0?e:e.map(r=>{let[n,a]=r;return n={...n,variants:qd(n.variants,t)},[n,a]})}sort(e){return e=this.remapArbitraryVariantOffsets(e),e.sort(([t],[r])=>_n(this.compare(t,r)))}}});function ho(i,e){let t=i.tailwindConfig.prefix;return typeof t=="function"?t(e):t+e}function Nd({type:i="any",...e}){let t=[].concat(i);return{...e,types:t.map(r=>Array.isArray(r)?{type:r[0],...r[1]}:{type:r,preferOnConflict:!1})}}function jC(i){let e=[],t="",r=0;for(let n=0;n0&&e.push(t.trim()),e=e.filter(n=>n!==""),e}function zC(i,e,{before:t=[]}={}){if(t=[].concat(t),t.length<=0){i.push(e);return}let r=i.length-1;for(let n of t){let a=i.indexOf(n);a!==-1&&(r=Math.min(r,a))}i.splice(r,0,e)}function Ld(i){return Array.isArray(i)?i.flatMap(e=>!Array.isArray(e)&&!ie(e)?e:qt(e)):Ld([i])}function $d(i,e){return(0,fo.default)(r=>{let n=[];return e&&e(r),r.walkClasses(a=>{n.push(a.value)}),n}).transformSync(i)}function VC(i,e={containsNonOnDemandable:!1},t=0){let r=[];if(i.type==="rule"){let n=function(a){a.walkPseudos(s=>{s.value===":not"&&s.remove()})};for(let a of i.selectors){let s=$d(a,n);s.length===0&&(e.containsNonOnDemandable=!0);for(let o of s)r.push(o)}}else i.type==="atrule"&&i.walkRules(n=>{for(let a of n.selectors.flatMap(s=>$d(s)))r.push(a)});return t===0?[e.containsNonOnDemandable||r.length===0,r]:r}function En(i){return Ld(i).flatMap(e=>{let t=new Map,[r,n]=VC(e);return r&&n.unshift(He),n.map(a=>(t.has(e)||t.set(e,e),[a,t.get(e)]))})}function An(i){return i.startsWith("@")||i.includes("&")}function Zr(i){i=i.replace(/\n+/g,"").replace(/\s{1,}/g," ").trim();let e=jC(i).map(t=>{if(!t.startsWith("@"))return({format:a})=>a(t);let[,r,n]=/@(\S*)( .+|[({].*)?/g.exec(t);return({wrap:a})=>a(z.atRule({name:r,params:n?.trim()??""}))}).reverse();return t=>{for(let r of e)r(t)}}function UC(i,e,{variantList:t,variantMap:r,offsets:n,classList:a}){function s(d,h){return d?(0,Fd.default)(i,d,h):i}function o(d){return Rt(i.prefix,d)}function u(d,h){return d===He?He:h.respectPrefix?e.tailwindConfig.prefix+d:d}function c(d,h,y={}){let x=Ke(d),w=s(["theme",...x],h);return Ge(x[0])(w,y)}let f=0,p={postcss:z,prefix:o,e:ce,config:s,theme:c,corePlugins:d=>Array.isArray(i.corePlugins)?i.corePlugins.includes(d):s(["corePlugins",d],!0),variants:()=>[],addBase(d){for(let[h,y]of En(d)){let x=u(h,{}),w=n.create("base");e.candidateRuleMap.has(x)||e.candidateRuleMap.set(x,[]),e.candidateRuleMap.get(x).push([{sort:w,layer:"base"},y])}},addDefaults(d,h){let y={[`@defaults ${d}`]:h};for(let[x,w]of En(y)){let b=u(x,{});e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("defaults"),layer:"defaults"},w])}},addComponents(d,h){h=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!1},Array.isArray(h)?{}:h);for(let[x,w]of En(d)){let b=u(x,h);a.add(b),e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("components"),layer:"components",options:h},w])}},addUtilities(d,h){h=Object.assign({},{preserveSource:!1,respectPrefix:!0,respectImportant:!0},Array.isArray(h)?{}:h);for(let[x,w]of En(d)){let b=u(x,h);a.add(b),e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push([{sort:n.create("utilities"),layer:"utilities",options:h},w])}},matchUtilities:function(d,h){h=Nd({...{respectPrefix:!0,respectImportant:!0,modifiers:!1},...h});let x=n.create("utilities");for(let w in d){let S=function(E,{isOnlyPlugin:I}){let[B,q,X]=cs(h.types,E,h,i);if(B===void 0)return[];if(!h.types.some(({type:$})=>$===q))if(I)F.warn([`Unnecessary typehint \`${q}\` in \`${w}-${E}\`.`,`You can safely update it to \`${w}-${E.replace(q+":","")}\`.`]);else return[];if(!Bt(B))return[];let ae={get modifier(){return h.modifiers||F.warn(`modifier-used-without-options-for-${w}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),X}},ge=J(i,"generalizedModifiers");return[].concat(ge?k(B,ae):k(B)).filter(Boolean).map($=>({[fn(w,E)]:$}))},b=u(w,h),k=d[w];a.add([b,h]);let _=[{sort:x,layer:"utilities",options:h},S];e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push(_)}},matchComponents:function(d,h){h=Nd({...{respectPrefix:!0,respectImportant:!1,modifiers:!1},...h});let x=n.create("components");for(let w in d){let S=function(E,{isOnlyPlugin:I}){let[B,q,X]=cs(h.types,E,h,i);if(B===void 0)return[];if(!h.types.some(({type:$})=>$===q))if(I)F.warn([`Unnecessary typehint \`${q}\` in \`${w}-${E}\`.`,`You can safely update it to \`${w}-${E.replace(q+":","")}\`.`]);else return[];if(!Bt(B))return[];let ae={get modifier(){return h.modifiers||F.warn(`modifier-used-without-options-for-${w}`,["Your plugin must set `modifiers: true` in its options to support modifiers."]),X}},ge=J(i,"generalizedModifiers");return[].concat(ge?k(B,ae):k(B)).filter(Boolean).map($=>({[fn(w,E)]:$}))},b=u(w,h),k=d[w];a.add([b,h]);let _=[{sort:x,layer:"components",options:h},S];e.candidateRuleMap.has(b)||e.candidateRuleMap.set(b,[]),e.candidateRuleMap.get(b).push(_)}},addVariant(d,h,y={}){h=[].concat(h).map(x=>{if(typeof x!="string")return(w={})=>{let{args:b,modifySelectors:k,container:S,separator:_,wrap:E,format:I}=w,B=x(Object.assign({modifySelectors:k,container:S,separator:_},y.type===co.MatchVariant&&{args:b,wrap:E,format:I}));if(typeof B=="string"&&!An(B))throw new Error(`Your custom variant \`${d}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return Array.isArray(B)?B.filter(q=>typeof q=="string").map(q=>Zr(q)):B&&typeof B=="string"&&Zr(B)(w)};if(!An(x))throw new Error(`Your custom variant \`${d}\` has an invalid format string. Make sure it's an at-rule or contains a \`&\` placeholder.`);return Zr(x)}),zC(t,d,y),r.set(d,h),e.variantOptions.set(d,y)},matchVariant(d,h,y){let x=y?.id??++f,w=d==="@",b=J(i,"generalizedModifiers");for(let[S,_]of Object.entries(y?.values??{}))S!=="DEFAULT"&&p.addVariant(w?`${d}${S}`:`${d}-${S}`,({args:E,container:I})=>h(_,b?{modifier:E?.modifier,container:I}:{container:I}),{...y,value:_,id:x,type:co.MatchVariant,variantInfo:po.Base});let k="DEFAULT"in(y?.values??{});p.addVariant(d,({args:S,container:_})=>S?.value===Kr&&!k?null:h(S?.value===Kr?y.values.DEFAULT:S?.value??(typeof S=="string"?S:""),b?{modifier:S?.modifier,container:_}:{container:_}),{...y,id:x,type:co.MatchVariant,variantInfo:po.Dynamic})}};return p}function On(i){return mo.has(i)||mo.set(i,new Map),mo.get(i)}function jd(i,e){let t=!1,r=new Map;for(let n of i){if(!n)continue;let a=ws.parse(n),s=a.hash?a.href.replace(a.hash,""):a.href;s=a.search?s.replace(a.search,""):s;let o=te.statSync(decodeURIComponent(s),{throwIfNoEntry:!1})?.mtimeMs;!o||((!e.has(n)||o>e.get(n))&&(t=!0),r.set(n,o))}return[t,r]}function zd(i){i.walkAtRules(e=>{["responsive","variants"].includes(e.name)&&(zd(e),e.before(e.nodes),e.remove())})}function WC(i){let e=[];return i.each(t=>{t.type==="atrule"&&["responsive","variants"].includes(t.name)&&(t.name="layer",t.params="utilities")}),i.walkAtRules("layer",t=>{if(zd(t),t.params==="base"){for(let r of t.nodes)e.push(function({addBase:n}){n(r,{respectPrefix:!1})});t.remove()}else if(t.params==="components"){for(let r of t.nodes)e.push(function({addComponents:n}){n(r,{respectPrefix:!1,preserveSource:!0})});t.remove()}else if(t.params==="utilities"){for(let r of t.nodes)e.push(function({addUtilities:n}){n(r,{respectPrefix:!1,preserveSource:!0})});t.remove()}}),e}function GC(i,e){let t=Object.entries({...pe,...gd}).map(([o,u])=>i.tailwindConfig.corePlugins.includes(o)?u:null).filter(Boolean),r=i.tailwindConfig.plugins.map(o=>(o.__isOptionsFunction&&(o=o()),typeof o=="function"?o:o.handler)),n=WC(e),a=[pe.pseudoElementVariants,pe.pseudoClassVariants,pe.ariaVariants,pe.dataVariants],s=[pe.supportsVariants,pe.directionVariants,pe.reducedMotionVariants,pe.prefersContrastVariants,pe.darkVariants,pe.printVariant,pe.screenVariants,pe.orientationVariants];return[...t,...a,...r,...s,...n]}function HC(i,e){let t=[],r=new Map;e.variantMap=r;let n=new uo;e.offsets=n;let a=new Set,s=UC(e.tailwindConfig,e,{variantList:t,variantMap:r,offsets:n,classList:a});for(let f of i)if(Array.isArray(f))for(let p of f)p(s);else f?.(s);n.recordVariants(t,f=>r.get(f).length);for(let[f,p]of r.entries())e.variantMap.set(f,p.map((d,h)=>[n.forVariant(f,h),d]));let o=(e.tailwindConfig.safelist??[]).filter(Boolean);if(o.length>0){let f=[];for(let p of o){if(typeof p=="string"){e.changedContent.push({content:p,extension:"html"});continue}if(p instanceof RegExp){F.warn("root-regex",["Regular expressions in `safelist` work differently in Tailwind CSS v3.0.","Update your `safelist` configuration to eliminate this warning.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"]);continue}f.push(p)}if(f.length>0){let p=new Map,d=e.tailwindConfig.prefix.length,h=f.some(y=>y.pattern.source.includes("!"));for(let y of a){let x=Array.isArray(y)?(()=>{let[w,b]=y,S=Object.keys(b?.values??{}).map(_=>Qr(w,_));return b?.supportsNegativeValues&&(S=[...S,...S.map(_=>"-"+_)],S=[...S,...S.map(_=>_.slice(0,d)+"-"+_.slice(d))]),b.types.some(({type:_})=>_==="color")&&(S=[...S,...S.flatMap(_=>Object.keys(e.tailwindConfig.theme.opacity).map(E=>`${_}/${E}`))]),h&&b?.respectImportant&&(S=[...S,...S.map(_=>"!"+_)]),S})():[y];for(let w of x)for(let{pattern:b,variants:k=[]}of f)if(b.lastIndex=0,p.has(b)||p.set(b,0),!!b.test(w)){p.set(b,p.get(b)+1),e.changedContent.push({content:w,extension:"html"});for(let S of k)e.changedContent.push({content:S+e.tailwindConfig.separator+w,extension:"html"})}}for(let[y,x]of p.entries())x===0&&F.warn([`The safelist pattern \`${y}\` doesn't match any Tailwind CSS classes.`,"Fix this pattern or remove it from your `safelist` configuration.","https://tailwindcss.com/docs/content-configuration#safelisting-classes"])}}let u=[].concat(e.tailwindConfig.darkMode??"media")[1]??"dark",c=[ho(e,u),ho(e,"group"),ho(e,"peer")];e.getClassOrder=function(p){let d=[...p].sort((w,b)=>w===b?0:w[w,null])),y=Sn(new Set(d),e);y=e.offsets.sort(y);let x=BigInt(c.length);for(let[,w]of y){let b=w.raws.tailwind.candidate;h.set(b,h.get(b)??x++)}return p.map(w=>{let b=h.get(w)??null,k=c.indexOf(w);return b===null&&k!==-1&&(b=BigInt(k)),[w,b]})},e.getClassList=function(p={}){let d=[];for(let h of a)if(Array.isArray(h)){let[y,x]=h,w=[],b=Object.keys(x?.modifiers??{});x?.types?.some(({type:_})=>_==="color")&&b.push(...Object.keys(e.tailwindConfig.theme.opacity??{}));let k={modifiers:b},S=p.includeMetadata&&b.length>0;for(let[_,E]of Object.entries(x?.values??{})){if(E==null)continue;let I=Qr(y,_);if(d.push(S?[I,k]:I),x?.supportsNegativeValues&&Xe(E)){let B=Qr(y,`-${_}`);w.push(S?[B,k]:B)}}d.push(...w)}else d.push(h);return d},e.getVariants=function(){let p=[];for(let[d,h]of e.variantOptions.entries())h.variantInfo!==po.Base&&p.push({name:d,isArbitrary:h.type===Symbol.for("MATCH_VARIANT"),values:Object.keys(h.values??{}),hasDash:d!=="@",selectors({modifier:y,value:x}={}){let w="__TAILWIND_PLACEHOLDER__",b=z.rule({selector:`.${w}`}),k=z.root({nodes:[b.clone()]}),S=k.toString(),_=(e.variantMap.get(d)??[]).flatMap(([$,oe])=>oe),E=[];for(let $ of _){let oe=[],ai={args:{modifier:y,value:h.values?.[x]??x},separator:e.tailwindConfig.separator,modifySelectors(Ce){return k.each(Jn=>{Jn.type==="rule"&&(Jn.selectors=Jn.selectors.map(lu=>Ce({get className(){return ao(lu)},selector:lu})))}),k},format(Ce){oe.push(Ce)},wrap(Ce){oe.push(`@${Ce.name} ${Ce.params} { & }`)},container:k},oi=$(ai);if(oe.length>0&&E.push(oe),Array.isArray(oi))for(let Ce of oi)oe=[],Ce(ai),E.push(oe)}let I=[],B=k.toString();S!==B&&(k.walkRules($=>{let oe=$.selector,ai=(0,fo.default)(oi=>{oi.walkClasses(Ce=>{Ce.value=`${d}${e.tailwindConfig.separator}${Ce.value}`})}).processSync(oe);I.push(oe.replace(ai,"&").replace(w,"&"))}),k.walkAtRules($=>{I.push(`@${$.name} (${$.params}) { & }`)}));let q=!(x in(h.values??{})),X=h[Jr]??{},ae=(()=>!(q||X.respectPrefix===!1))();E=E.map($=>$.map(oe=>({format:oe,respectPrefix:ae}))),I=I.map($=>({format:$,respectPrefix:ae}));let ge={candidate:w,context:e},je=E.map($=>wn(`.${w}`,Nt($,ge),ge).replace(`.${w}`,"&").replace("{ & }","").trim());return I.length>0&&je.push(Nt(I,ge).toString().replace(`.${w}`,"&")),je}});return p}}function Vd(i,e){!i.classCache.has(e)||(i.notClassCache.add(e),i.classCache.delete(e),i.applyClassCache.delete(e),i.candidateRuleMap.delete(e),i.candidateRuleCache.delete(e),i.stylesheetCache=null)}function YC(i,e){let t=e.raws.tailwind.candidate;if(!!t){for(let r of i.ruleCache)r[1].raws.tailwind.candidate===t&&i.ruleCache.delete(r);Vd(i,t)}}function go(i,e=[],t=z.root()){let r={disposables:[],ruleCache:new Set,candidateRuleCache:new Map,classCache:new Map,applyClassCache:new Map,notClassCache:new Set(i.blocklist??[]),postCssNodeCache:new Map,candidateRuleMap:new Map,tailwindConfig:i,changedContent:e,variantMap:new Map,stylesheetCache:null,variantOptions:new Map,markInvalidUtilityCandidate:a=>Vd(r,a),markInvalidUtilityNode:a=>YC(r,a)},n=GC(r,t);return HC(n,r),r}function Ud(i,e,t,r,n,a){let s=e.opts.from,o=r!==null;Pe.DEBUG&&console.log("Source path:",s);let u;if(o&&Lt.has(s))u=Lt.get(s);else if(ei.has(n)){let d=ei.get(n);lt.get(d).add(s),Lt.set(s,d),u=d}let c=Pd(s,i);if(u){let[d,h]=jd([...a],On(u));if(!d&&!c)return[u,!1,h]}if(Lt.has(s)){let d=Lt.get(s);if(lt.has(d)&&(lt.get(d).delete(s),lt.get(d).size===0)){lt.delete(d);for(let[h,y]of ei)y===d&&ei.delete(h);for(let h of d.disposables.splice(0))h(d)}}Pe.DEBUG&&console.log("Setting up new context...");let f=go(t,[],i);Object.assign(f,{userConfigPath:r});let[,p]=jd([...a],On(f));return ei.set(n,f),Lt.set(s,f),lt.has(f)||lt.set(f,new Set),lt.get(f).add(s),[f,!0,p]}var Fd,fo,Jr,co,po,mo,Lt,ei,lt,Xr=C(()=>{l();ze();bs();nt();Fd=K(js()),fo=K(Me());Hr();Ua();un();xt();Mt();Ga();cr();yd();ot();ot();pi();Ee();fi();Ka();Cn();Dd();Bd();De();io();Jr=Symbol(),co={AddVariant:Symbol.for("ADD_VARIANT"),MatchVariant:Symbol.for("MATCH_VARIANT")},po={Base:1<<0,Dynamic:1<<1};mo=new WeakMap;Lt=wd,ei=bd,lt=gn});function yo(i){return i.ignore?[]:i.glob?m.env.ROLLUP_WATCH==="true"?[{type:"dependency",file:i.base}]:[{type:"dir-dependency",dir:i.base,glob:i.glob}]:[{type:"dependency",file:i.base}]}var Wd=C(()=>{l()});function Gd(i,e){return{handler:i,config:e}}var Hd,Yd=C(()=>{l();Gd.withOptions=function(i,e=()=>({})){let t=function(r){return{__options:r,handler:i(r),config:e(r)}};return t.__isOptionsFunction=!0,t.__pluginFunction=i,t.__configFunction=e,t};Hd=Gd});var wo={};Ae(wo,{default:()=>QC});var QC,bo=C(()=>{l();Yd();QC=Hd});var Jd=v((ID,Qd)=>{l();var JC=(bo(),wo).default,XC={overflow:"hidden",display:"-webkit-box","-webkit-box-orient":"vertical"},KC=JC(function({matchUtilities:i,addUtilities:e,theme:t,variants:r}){let n=t("lineClamp");i({"line-clamp":a=>({...XC,"-webkit-line-clamp":`${a}`})},{values:n}),e([{".line-clamp-none":{"-webkit-line-clamp":"unset"}}],r("lineClamp"))},{theme:{lineClamp:{1:"1",2:"2",3:"3",4:"4",5:"5",6:"6"}},variants:{lineClamp:["responsive"]}});Qd.exports=KC});function vo(i){i.content.files.length===0&&F.warn("content-problems",["The `content` option in your Tailwind CSS configuration is missing or empty.","Configure your content sources or your generated CSS will be missing styles.","https://tailwindcss.com/docs/content-configuration"]);try{let e=Jd();i.plugins.includes(e)&&(F.warn("line-clamp-in-core",["As of Tailwind CSS v3.3, the `@tailwindcss/line-clamp` plugin is now included by default.","Remove it from the `plugins` array in your configuration to eliminate this warning."]),i.plugins=i.plugins.filter(t=>t!==e))}catch{}return i}var Xd=C(()=>{l();Ee()});var Kd,Zd=C(()=>{l();Kd=()=>!1});var Tn,eh=C(()=>{l();Tn={sync:i=>[].concat(i),generateTasks:i=>[{dynamic:!1,base:".",negative:[],positive:[].concat(i),patterns:[].concat(i)}],escapePath:i=>i}});var xo,th=C(()=>{l();xo=i=>i});var rh,ih=C(()=>{l();rh=()=>""});function nh(i){let e=i,t=rh(i);return t!=="."&&(e=i.substr(t.length),e.charAt(0)==="/"&&(e=e.substr(1))),e.substr(0,2)==="./"&&(e=e.substr(2)),e.charAt(0)==="/"&&(e=e.substr(1)),{base:t,glob:e}}var sh=C(()=>{l();ih()});function ah(i,e){let t=e.content.files;t=t.filter(o=>typeof o=="string"),t=t.map(xo);let r=Tn.generateTasks(t),n=[],a=[];for(let o of r)n.push(...o.positive.map(u=>oh(u,!1))),a.push(...o.negative.map(u=>oh(u,!0)));let s=[...n,...a];return s=e2(i,s),s=s.flatMap(t2),s=s.map(ZC),s}function oh(i,e){let t={original:i,base:i,ignore:e,pattern:i,glob:null};return Kd(i)&&Object.assign(t,nh(i)),t}function ZC(i){let e=xo(i.base);return e=Tn.escapePath(e),i.pattern=i.glob?`${e}/${i.glob}`:e,i.pattern=i.ignore?`!${i.pattern}`:i.pattern,i}function e2(i,e){let t=[];return i.userConfigPath&&i.tailwindConfig.content.relative&&(t=[Z.dirname(i.userConfigPath)]),e.map(r=>(r.base=Z.resolve(...t,r.base),r))}function t2(i){let e=[i];try{let t=te.realpathSync(i.base);t!==i.base&&e.push({...i,base:t})}catch{}return e}function lh(i,e,t){let r=i.tailwindConfig.content.files.filter(s=>typeof s.raw=="string").map(({raw:s,extension:o="html"})=>({content:s,extension:o})),[n,a]=r2(e,t);for(let s of n){let o=Z.extname(s).slice(1);r.push({file:s,extension:o})}return[r,a]}function r2(i,e){let t=i.map(s=>s.pattern),r=new Map,n=new Set;Pe.DEBUG&&console.time("Finding changed files");let a=Tn.sync(t,{absolute:!0});for(let s of a){let o=e.get(s)||-1/0,u=te.statSync(s).mtimeMs;u>o&&(n.add(s),r.set(s,u))}return Pe.DEBUG&&console.timeEnd("Finding changed files"),[n,r]}var uh=C(()=>{l();ze();mt();Zd();eh();th();sh();ot()});function fh(){}var ch=C(()=>{l()});function a2(i,e){for(let t of e){let r=`${i}${t}`;if(te.existsSync(r)&&te.statSync(r).isFile())return r}for(let t of e){let r=`${i}/index${t}`;if(te.existsSync(r))return r}return null}function*ph(i,e,t,r=Z.extname(i)){let n=a2(Z.resolve(e,i),i2.includes(r)?n2:s2);if(n===null||t.has(n))return;t.add(n),yield n,e=Z.dirname(n),r=Z.extname(n);let a=te.readFileSync(n,"utf-8");for(let s of[...a.matchAll(/import[\s\S]*?['"](.{3,}?)['"]/gi),...a.matchAll(/import[\s\S]*from[\s\S]*?['"](.{3,}?)['"]/gi),...a.matchAll(/require\(['"`](.+)['"`]\)/gi)])!s[1].startsWith(".")||(yield*ph(s[1],e,t,r))}function ko(i){return i===null?new Set:new Set(ph(i,Z.dirname(i),new Set))}var i2,n2,s2,dh=C(()=>{l();ze();mt();i2=[".js",".cjs",".mjs"],n2=["",".js",".cjs",".mjs",".ts",".cts",".mts",".jsx",".tsx"],s2=["",".ts",".cts",".mts",".tsx",".js",".cjs",".mjs",".jsx"]});function o2(i,e){if(So.has(i))return So.get(i);let t=ah(i,e);return So.set(i,t).get(i)}function l2(i){let e=ys(i);if(e!==null){let[r,n,a,s]=mh.get(e)||[],o=ko(e),u=!1,c=new Map;for(let d of o){let h=te.statSync(d).mtimeMs;c.set(d,h),(!s||!s.has(d)||h>s.get(d))&&(u=!0)}if(!u)return[r,e,n,a];for(let d of o)delete fu.cache[d];let f=vo(dr(fh(e))),p=ui(f);return mh.set(e,[f,p,o,c]),[f,e,p,o]}let t=dr(i?.config??i??{});return t=vo(t),[t,null,ui(t),[]]}function Co(i){return({tailwindDirectives:e,registerDependency:t})=>(r,n)=>{let[a,s,o,u]=l2(i),c=new Set(u);if(e.size>0){c.add(n.opts.from);for(let y of n.messages)y.type==="dependency"&&c.add(y.file)}let[f,,p]=Ud(r,n,a,s,o,c),d=On(f),h=o2(f,a);if(e.size>0){for(let w of h)for(let b of yo(w))t(b);let[y,x]=lh(f,h,d);for(let w of y)f.changedContent.push(w);for(let[w,b]of x.entries())p.set(w,b)}for(let y of u)t({type:"dependency",file:y});for(let[y,x]of p.entries())d.set(y,x);return f}}var hh,mh,So,gh=C(()=>{l();ze();hh=K(Xn());mu();gs();af();Xr();Wd();Xd();uh();ch();dh();mh=new hh.default({maxSize:100}),So=new WeakMap});function Ao(i){let e=new Set,t=new Set,r=new Set;if(i.walkAtRules(n=>{n.name==="apply"&&r.add(n),n.name==="import"&&(n.params==='"tailwindcss/base"'||n.params==="'tailwindcss/base'"?(n.name="tailwind",n.params="base"):n.params==='"tailwindcss/components"'||n.params==="'tailwindcss/components'"?(n.name="tailwind",n.params="components"):n.params==='"tailwindcss/utilities"'||n.params==="'tailwindcss/utilities'"?(n.name="tailwind",n.params="utilities"):(n.params==='"tailwindcss/screens"'||n.params==="'tailwindcss/screens'"||n.params==='"tailwindcss/variants"'||n.params==="'tailwindcss/variants'")&&(n.name="tailwind",n.params="variants")),n.name==="tailwind"&&(n.params==="screens"&&(n.params="variants"),e.add(n.params)),["layer","responsive","variants"].includes(n.name)&&(["responsive","variants"].includes(n.name)&&F.warn(`${n.name}-at-rule-deprecated`,[`The \`@${n.name}\` directive has been deprecated in Tailwind CSS v3.0.`,"Use `@layer utilities` or `@layer components` instead.","https://tailwindcss.com/docs/upgrade-guide#replace-variants-with-layer"]),t.add(n))}),!e.has("base")||!e.has("components")||!e.has("utilities")){for(let n of t)if(n.name==="layer"&&["base","components","utilities"].includes(n.params)){if(!e.has(n.params))throw n.error(`\`@layer ${n.params}\` is used but no matching \`@tailwind ${n.params}\` directive is present.`)}else if(n.name==="responsive"){if(!e.has("utilities"))throw n.error("`@responsive` is used but `@tailwind utilities` is missing.")}else if(n.name==="variants"&&!e.has("utilities"))throw n.error("`@variants` is used but `@tailwind utilities` is missing.")}return{tailwindDirectives:e,applyDirectives:r}}var yh=C(()=>{l();Ee()});function bt(i,e=void 0,t=void 0){return i.map(r=>{let n=r.clone(),a=r.raws.tailwind?.preserveSource!==!0||!n.source;return e!==void 0&&a&&(n.source=e,"walk"in n&&n.walk(s=>{s.source=e})),t!==void 0&&(n.raws.tailwind={...n.raws.tailwind,...t}),n})}var wh=C(()=>{l()});function Pn(i){return i=Array.isArray(i)?i:[i],i=i.map(e=>e instanceof RegExp?e.source:e),i.join("")}function xe(i){return new RegExp(Pn(i),"g")}function $t(i){return`(?:${i.map(Pn).join("|")})`}function _o(i){return`(?:${Pn(i)})?`}function vh(i){return`(?:${Pn(i)})*`}function xh(i){return i&&u2.test(i)?i.replace(bh,"\\$&"):i||""}var bh,u2,kh=C(()=>{l();bh=/[\\^$.*+?()[\]{}|]/g,u2=RegExp(bh.source)});function Sh(i){let e=Array.from(f2(i));return t=>{let r=[];for(let n of e)r=[...r,...t.match(n)??[]];return r.filter(n=>n!==void 0).map(d2)}}function*f2(i){let e=i.tailwindConfig.separator,t=J(i.tailwindConfig,"variantGrouping"),r=i.tailwindConfig.prefix!==""?_o(xe([/-?/,xh(i.tailwindConfig.prefix)])):"",n=$t([/\[[^\s:'"`]+:[^\s\[\]]+\]/,/\[[^\s:'"`]+:[^\s]+?\[[^\s]+\][^\s]+?\]/,xe([/-?(?:\w+)/,_o($t([xe([/-(?:\w+-)*\[[^\s:]+\]/,/(?![{([]])/,/(?:\/[^\s'"`\\><$]*)?/]),xe([/-(?:\w+-)*\[[^\s]+\]/,/(?![{([]])/,/(?:\/[^\s'"`\\$]*)?/]),/[-\/][^\s'"`\\$={><]*/]))])]),a=[$t([xe([/@\[[^\s"'`]+\](\/[^\s"'`]+)?/,e]),xe([/([^\s"'`\[\\]+-)?\[[^\s"'`]+\]/,e]),xe([/[^\s"'`\[\\]+/,e])]),$t([xe([/([^\s"'`\[\\]+-)?\[[^\s`]+\]/,e]),xe([/[^\s`\[\\]+/,e])])];for(let s of a)yield xe(["((?=((",s,")+))\\2)?",/!?/,r,t?$t([xe([/\(/,n,vh([/,/,n]),/\)/]),n]):n]);yield/[^<>"'`\s.(){}[\]#=%$]*[^<>"'`\s.(){}[\]#=%:$]/g}function d2(i){if(!i.includes("-["))return i;let e=0,t=[],r=i.matchAll(c2);r=Array.from(r).flatMap(n=>{let[,...a]=n;return a.map((s,o)=>Object.assign([],n,{index:n.index+o,0:s}))});for(let n of r){let a=n[0],s=t[t.length-1];if(a===s?t.pop():(a==="'"||a==='"'||a==="`")&&t.push(a),!s){if(a==="["){e++;continue}else if(a==="]"){e--;continue}if(e<0)return i.substring(0,n.index-1);if(e===0&&!p2.test(a))return i.substring(0,n.index)}}return i}var c2,p2,Ch=C(()=>{l();De();kh();c2=/([\[\]'"`])([^\[\]'"`])?/g,p2=/[^"'`\s<>\]]+/});function h2(i,e){let t=i.tailwindConfig.content.extract;return t[e]||t.DEFAULT||_h[e]||_h.DEFAULT(i)}function m2(i,e){let t=i.content.transform;return t[e]||t.DEFAULT||Eh[e]||Eh.DEFAULT}function g2(i,e,t,r){ti.has(e)||ti.set(e,new Ah.default({maxSize:25e3}));for(let n of i.split(` +`))if(n=n.trim(),!r.has(n))if(r.add(n),ti.get(e).has(n))for(let a of ti.get(e).get(n))t.add(a);else{let a=e(n).filter(o=>o!=="!*"),s=new Set(a);for(let o of s)t.add(o);ti.get(e).set(n,s)}}function y2(i,e){let t=e.offsets.sort(i),r={base:new Set,defaults:new Set,components:new Set,utilities:new Set,variants:new Set};for(let[n,a]of t)r[n.layer].add(a);return r}function Eo(i){return async e=>{let t={base:null,components:null,utilities:null,variants:null};if(e.walkAtRules(y=>{y.name==="tailwind"&&Object.keys(t).includes(y.params)&&(t[y.params]=y)}),Object.values(t).every(y=>y===null))return e;let r=new Set([...i.candidates??[],He]),n=new Set;Ye.DEBUG&&console.time("Reading changed files"),await Promise.all(i.changedContent.map(async({file:y,content:x,extension:w})=>{let b=m2(i.tailwindConfig,w),k=h2(i,w);x=y?await te.promises.readFile(y,"utf8"):x,g2(b(x),k,r,n)})),Ye.DEBUG&&console.timeEnd("Reading changed files");let a=i.classCache.size;Ye.DEBUG&&console.time("Generate rules"),Ye.DEBUG&&console.time("Sorting candidates");let s=new Set([...r].sort((y,x)=>y===x?0:y{let x=y.raws.tailwind?.parentLayer;return x==="components"?t.components!==null:x==="utilities"?t.utilities!==null:!0});t.variants?(t.variants.before(bt(d,t.variants.source,{layer:"variants"})),t.variants.remove()):d.length>0&&e.append(bt(d,e.source,{layer:"variants"}));let h=d.some(y=>y.raws.tailwind?.parentLayer==="utilities");t.utilities&&f.size===0&&!h&&F.warn("content-problems",["No utility classes were detected in your source files. If this is unexpected, double-check the `content` option in your Tailwind CSS configuration.","https://tailwindcss.com/docs/content-configuration"]),Ye.DEBUG&&(console.log("Potential classes: ",r.size),console.log("Active contexts: ",gn.size)),i.changedContent=[],e.walkAtRules("layer",y=>{Object.keys(t).includes(y.params)&&y.remove()})}}var Ah,Ye,_h,Eh,ti,Oh=C(()=>{l();ze();Ah=K(Xn());ot();Cn();Ee();wh();Ch();Ye=Pe,_h={DEFAULT:Sh},Eh={DEFAULT:i=>i,svelte:i=>i.replace(/(?:^|\s)class:/g," ")};ti=new WeakMap});function In(i){let e=new Map;z.root({nodes:[i.clone()]}).walkRules(a=>{(0,Dn.default)(s=>{s.walkClasses(o=>{let u=o.parent.toString(),c=e.get(u);c||e.set(u,c=new Set),c.add(o.value)})}).processSync(a.selector)});let r=Array.from(e.values(),a=>Array.from(a)),n=r.flat();return Object.assign(n,{groups:r})}function Oo(i){return w2.astSync(i)}function Th(i,e){let t=new Set;for(let r of i)t.add(r.split(e).pop());return Array.from(t)}function Ph(i,e){let t=i.tailwindConfig.prefix;return typeof t=="function"?t(e):t+e}function*Dh(i){for(yield i;i.parent;)yield i.parent,i=i.parent}function b2(i,e={}){let t=i.nodes;i.nodes=[];let r=i.clone(e);return i.nodes=t,r}function v2(i){for(let e of Dh(i))if(i!==e){if(e.type==="root")break;i=b2(e,{nodes:[i]})}return i}function x2(i,e){let t=new Map;return i.walkRules(r=>{for(let s of Dh(r))if(s.raws.tailwind?.layer!==void 0)return;let n=v2(r),a=e.offsets.create("user");for(let s of In(r)){let o=t.get(s)||[];t.set(s,o),o.push([{layer:"user",sort:a,important:!1},n])}}),t}function k2(i,e){for(let t of i){if(e.notClassCache.has(t)||e.applyClassCache.has(t))continue;if(e.classCache.has(t)){e.applyClassCache.set(t,e.classCache.get(t).map(([n,a])=>[n,a.clone()]));continue}let r=Array.from(xn(t,e));if(r.length===0){e.notClassCache.add(t);continue}e.applyClassCache.set(t,r)}return e.applyClassCache}function S2(i){let e=null;return{get:t=>(e=e||i(),e.get(t)),has:t=>(e=e||i(),e.has(t))}}function C2(i){return{get:e=>i.flatMap(t=>t.get(e)||[]),has:e=>i.some(t=>t.has(e))}}function Ih(i){let e=i.split(/[\s\t\n]+/g);return e[e.length-1]==="!important"?[e.slice(0,-1),!0]:[e,!1]}function qh(i,e,t){let r=new Set,n=[];if(i.walkAtRules("apply",u=>{let[c]=Ih(u.params);for(let f of c)r.add(f);n.push(u)}),n.length===0)return;let a=C2([t,k2(r,e)]);function s(u,c,f){let p=Oo(u),d=Oo(c),y=Oo(`.${ce(f)}`).nodes[0].nodes[0];return p.each(x=>{let w=new Set;d.each(b=>{let k=!1;b=b.clone(),b.walkClasses(S=>{S.value===y.value&&(k||(S.replaceWith(...x.nodes.map(_=>_.clone())),w.add(b),k=!0))})});for(let b of w){let k=[[]];for(let S of b.nodes)S.type==="combinator"?(k.push(S),k.push([])):k[k.length-1].push(S);b.nodes=[];for(let S of k)Array.isArray(S)&&S.sort((_,E)=>_.type==="tag"&&E.type==="class"?-1:_.type==="class"&&E.type==="tag"?1:_.type==="class"&&E.type==="pseudo"&&E.value.startsWith("::")?-1:_.type==="pseudo"&&_.value.startsWith("::")&&E.type==="class"?1:0),b.nodes=b.nodes.concat(S)}x.replaceWith(...w)}),p.toString()}let o=new Map;for(let u of n){let[c]=o.get(u.parent)||[[],u.source];o.set(u.parent,[c,u.source]);let[f,p]=Ih(u.params);if(u.parent.type==="atrule"){if(u.parent.name==="screen"){let d=u.parent.params;throw u.error(`@apply is not supported within nested at-rules like @screen. We suggest you write this as @apply ${f.map(h=>`${d}:${h}`).join(" ")} instead.`)}throw u.error(`@apply is not supported within nested at-rules like @${u.parent.name}. You can fix this by un-nesting @${u.parent.name}.`)}for(let d of f){if([Ph(e,"group"),Ph(e,"peer")].includes(d))throw u.error(`@apply should not be used with the '${d}' utility`);if(!a.has(d))throw u.error(`The \`${d}\` class does not exist. If \`${d}\` is a custom class, make sure it is defined within a \`@layer\` directive.`);let h=a.get(d);c.push([d,p,h])}}for(let[u,[c,f]]of o){let p=[];for(let[h,y,x]of c){let w=[h,...Th([h],e.tailwindConfig.separator)];for(let[b,k]of x){let S=In(u),_=In(k);if(_=_.groups.filter(q=>q.some(X=>w.includes(X))).flat(),_=_.concat(Th(_,e.tailwindConfig.separator)),S.some(q=>_.includes(q)))throw k.error(`You cannot \`@apply\` the \`${h}\` utility here because it creates a circular dependency.`);let I=z.root({nodes:[k.clone()]});I.walk(q=>{q.source=f}),(k.type!=="atrule"||k.type==="atrule"&&k.name!=="keyframes")&&I.walkRules(q=>{if(!In(q).some($=>$===h)){q.remove();return}let X=typeof e.tailwindConfig.important=="string"?e.tailwindConfig.important:null,ge=u.raws.tailwind!==void 0&&X&&u.selector.indexOf(X)===0?u.selector.slice(X.length):u.selector;q.selector=s(ge,q.selector,h),X&&ge!==u.selector&&(q.selector=bn(q.selector,X)),q.walkDecls($=>{$.important=b.important||y});let je=(0,Dn.default)().astSync(q.selector);je.each($=>Ft($)),q.selector=je.toString()}),!!I.nodes[0]&&p.push([b.sort,I.nodes[0]])}}let d=e.offsets.sort(p).map(h=>h[1]);u.after(d)}for(let u of n)u.parent.nodes.length>1?u.remove():u.parent.remove();qh(i,e,t)}function To(i){return e=>{let t=S2(()=>x2(e,i));qh(e,i,t)}}var Dn,w2,Rh=C(()=>{l();nt();Dn=K(Me());Cn();Mt();so();yn();w2=(0,Dn.default)()});var Mh=v((PI,qn)=>{l();(function(){"use strict";function i(r,n,a){if(!r)return null;i.caseSensitive||(r=r.toLowerCase());var s=i.threshold===null?null:i.threshold*r.length,o=i.thresholdAbsolute,u;s!==null&&o!==null?u=Math.min(s,o):s!==null?u=s:o!==null?u=o:u=null;var c,f,p,d,h,y=n.length;for(h=0;ha)return a+1;var u=[],c,f,p,d,h;for(c=0;c<=o;c++)u[c]=[c];for(f=0;f<=s;f++)u[0][f]=f;for(c=1;c<=o;c++){for(p=e,d=1,c>a&&(d=c-a),h=o+1,h>a+c&&(h=a+c),f=1;f<=s;f++)fh?u[c][f]=a+1:n.charAt(c-1)===r.charAt(f-1)?u[c][f]=u[c-1][f-1]:u[c][f]=Math.min(u[c-1][f-1]+1,Math.min(u[c][f-1]+1,u[c-1][f]+1)),u[c][f]a)return a+1}return u[o][s]}})()});var Fh=v((DI,Bh)=>{l();var Po="(".charCodeAt(0),Do=")".charCodeAt(0),Rn="'".charCodeAt(0),Io='"'.charCodeAt(0),qo="\\".charCodeAt(0),jt="/".charCodeAt(0),Ro=",".charCodeAt(0),Mo=":".charCodeAt(0),Mn="*".charCodeAt(0),A2="u".charCodeAt(0),_2="U".charCodeAt(0),E2="+".charCodeAt(0),O2=/^[a-f0-9?-]+$/i;Bh.exports=function(i){for(var e=[],t=i,r,n,a,s,o,u,c,f,p=0,d=t.charCodeAt(p),h=t.length,y=[{nodes:e}],x=0,w,b="",k="",S="";p{l();Nh.exports=function i(e,t,r){var n,a,s,o;for(n=0,a=e.length;n{l();function $h(i,e){var t=i.type,r=i.value,n,a;return e&&(a=e(i))!==void 0?a:t==="word"||t==="space"?r:t==="string"?(n=i.quote||"",n+r+(i.unclosed?"":n)):t==="comment"?"/*"+r+(i.unclosed?"":"*/"):t==="div"?(i.before||"")+r+(i.after||""):Array.isArray(i.nodes)?(n=jh(i.nodes,e),t!=="function"?n:r+"("+(i.before||"")+n+(i.after||"")+(i.unclosed?"":")")):r}function jh(i,e){var t,r;if(Array.isArray(i)){for(t="",r=i.length-1;~r;r-=1)t=$h(i[r],e)+t;return t}return $h(i,e)}zh.exports=jh});var Wh=v((RI,Uh)=>{l();var Bn="-".charCodeAt(0),Fn="+".charCodeAt(0),Bo=".".charCodeAt(0),T2="e".charCodeAt(0),P2="E".charCodeAt(0);function D2(i){var e=i.charCodeAt(0),t;if(e===Fn||e===Bn){if(t=i.charCodeAt(1),t>=48&&t<=57)return!0;var r=i.charCodeAt(2);return t===Bo&&r>=48&&r<=57}return e===Bo?(t=i.charCodeAt(1),t>=48&&t<=57):e>=48&&e<=57}Uh.exports=function(i){var e=0,t=i.length,r,n,a;if(t===0||!D2(i))return!1;for(r=i.charCodeAt(e),(r===Fn||r===Bn)&&e++;e57));)e+=1;if(r=i.charCodeAt(e),n=i.charCodeAt(e+1),r===Bo&&n>=48&&n<=57)for(e+=2;e57));)e+=1;if(r=i.charCodeAt(e),n=i.charCodeAt(e+1),a=i.charCodeAt(e+2),(r===T2||r===P2)&&(n>=48&&n<=57||(n===Fn||n===Bn)&&a>=48&&a<=57))for(e+=n===Fn||n===Bn?3:2;e57));)e+=1;return{number:i.slice(0,e),unit:i.slice(e)}}});var Qh=v((MI,Yh)=>{l();var I2=Fh(),Gh=Lh(),Hh=Vh();function ut(i){return this instanceof ut?(this.nodes=I2(i),this):new ut(i)}ut.prototype.toString=function(){return Array.isArray(this.nodes)?Hh(this.nodes):""};ut.prototype.walk=function(i,e){return Gh(this.nodes,i,e),this};ut.unit=Wh();ut.walk=Gh;ut.stringify=Hh;Yh.exports=ut});function No(i){return typeof i=="object"&&i!==null}function q2(i,e){let t=Ke(e);do if(t.pop(),(0,ri.default)(i,t)!==void 0)break;while(t.length);return t.length?t:void 0}function zt(i){return typeof i=="string"?i:i.reduce((e,t,r)=>t.includes(".")?`${e}[${t}]`:r===0?t:`${e}.${t}`,"")}function Xh(i){return i.map(e=>`'${e}'`).join(", ")}function Kh(i){return Xh(Object.keys(i))}function Lo(i,e,t,r={}){let n=Array.isArray(e)?zt(e):e.replace(/^['"]+|['"]+$/g,""),a=Array.isArray(e)?e:Ke(n),s=(0,ri.default)(i.theme,a,t);if(s===void 0){let u=`'${n}' does not exist in your theme config.`,c=a.slice(0,-1),f=(0,ri.default)(i.theme,c);if(No(f)){let p=Object.keys(f).filter(h=>Lo(i,[...c,h]).isValid),d=(0,Jh.default)(a[a.length-1],p);d?u+=` Did you mean '${zt([...c,d])}'?`:p.length>0&&(u+=` '${zt(c)}' has the following valid keys: ${Xh(p)}`)}else{let p=q2(i.theme,n);if(p){let d=(0,ri.default)(i.theme,p);No(d)?u+=` '${zt(p)}' has the following keys: ${Kh(d)}`:u+=` '${zt(p)}' is not an object.`}else u+=` Your theme has the following top-level keys: ${Kh(i.theme)}`}return{isValid:!1,error:u}}if(!(typeof s=="string"||typeof s=="number"||typeof s=="function"||s instanceof String||s instanceof Number||Array.isArray(s))){let u=`'${n}' was found but does not resolve to a string.`;if(No(s)){let c=Object.keys(s).filter(f=>Lo(i,[...a,f]).isValid);c.length&&(u+=` Did you mean something like '${zt([...a,c[0]])}'?`)}return{isValid:!1,error:u}}let[o]=a;return{isValid:!0,value:Ge(o)(s,r)}}function R2(i,e,t){e=e.map(n=>Zh(i,n,t));let r=[""];for(let n of e)n.type==="div"&&n.value===","?r.push(""):r[r.length-1]+=Fo.default.stringify(n);return r}function Zh(i,e,t){if(e.type==="function"&&t[e.value]!==void 0){let r=R2(i,e.nodes,t);e.type="word",e.value=t[e.value](i,...r)}return e}function M2(i,e,t){return Object.keys(t).some(n=>e.includes(`${n}(`))?(0,Fo.default)(e).walk(n=>{Zh(i,n,t)}).toString():e}function*F2(i){i=i.replace(/^['"]+|['"]+$/g,"");let e=i.match(/^([^\s]+)(?![^\[]*\])(?:\s*\/\s*([^\/\s]+))$/),t;yield[i,void 0],e&&(i=e[1],t=e[2],yield[i,t])}function N2(i,e,t){let r=Array.from(F2(e)).map(([n,a])=>Object.assign(Lo(i,n,t,{opacityValue:a}),{resolvedPath:n,alpha:a}));return r.find(n=>n.isValid)??r[0]}function em(i){let e=i.tailwindConfig,t={theme:(r,n,...a)=>{let{isValid:s,value:o,error:u,alpha:c}=N2(e,n,a.length?a:void 0);if(!s){let d=r.parent,h=d?.raws.tailwind?.candidate;if(d&&h!==void 0){i.markInvalidUtilityNode(d),d.remove(),F.warn("invalid-theme-key-in-class",[`The utility \`${h}\` contains an invalid theme value and was not generated.`]);return}throw r.error(u)}let f=kt(o),p=f!==void 0&&typeof f=="function";return(c!==void 0||p)&&(c===void 0&&(c=1),o=Ie(f,c,f)),o},screen:(r,n)=>{n=n.replace(/^['"]+/g,"").replace(/['"]+$/g,"");let s=at(e.theme.screens).find(({name:o})=>o===n);if(!s)throw r.error(`The '${n}' screen does not exist in your theme.`);return st(s)}};return r=>{r.walk(n=>{let a=B2[n.type];a!==void 0&&(n[a]=M2(n,n[a],t))})}}var ri,Jh,Fo,B2,tm=C(()=>{l();ri=K(js()),Jh=K(Mh());Hr();Fo=K(Qh());hn();cn();pi();ar();cr();Ee();B2={atrule:"params",decl:"value"}});function rm({tailwindConfig:{theme:i}}){return function(e){e.walkAtRules("screen",t=>{let r=t.params,a=at(i.screens).find(({name:s})=>s===r);if(!a)throw t.error(`No \`${r}\` screen found.`);t.name="media",t.params=st(a)})}}var im=C(()=>{l();hn();cn()});function L2(i){let e=i.filter(o=>o.type!=="pseudo"||o.nodes.length>0?!0:o.value.startsWith("::")||[":before",":after",":first-line",":first-letter"].includes(o.value)).reverse(),t=new Set(["tag","class","id","attribute"]),r=e.findIndex(o=>t.has(o.type));if(r===-1)return e.reverse().join("").trim();let n=e[r],a=nm[n.type]?nm[n.type](n):n;e=e.slice(0,r);let s=e.findIndex(o=>o.type==="combinator"&&o.value===">");return s!==-1&&(e.splice(0,s),e.unshift(Nn.default.universal())),[a,...e.reverse()].join("").trim()}function j2(i){return $o.has(i)||$o.set(i,$2.transformSync(i)),$o.get(i)}function jo({tailwindConfig:i}){return e=>{let t=new Map,r=new Set;if(e.walkAtRules("defaults",n=>{if(n.nodes&&n.nodes.length>0){r.add(n);return}let a=n.params;t.has(a)||t.set(a,new Set),t.get(a).add(n.parent),n.remove()}),J(i,"optimizeUniversalDefaults"))for(let n of r){let a=new Map,s=t.get(n.params)??[];for(let o of s)for(let u of j2(o.selector)){let c=u.includes(":-")||u.includes("::-")?u:"__DEFAULT__",f=a.get(c)??new Set;a.set(c,f),f.add(u)}if(J(i,"optimizeUniversalDefaults")){if(a.size===0){n.remove();continue}for(let[,o]of a){let u=z.rule({source:n.source});u.selectors=[...o],u.append(n.nodes.map(c=>c.clone())),n.before(u)}}n.remove()}else if(r.size){let n=z.rule({selectors:["*","::before","::after"]});for(let s of r)n.append(s.nodes),n.parent||s.before(n),n.source||(n.source=s.source),s.remove();let a=n.clone({selectors:["::backdrop"]});n.after(a)}}}var Nn,nm,$2,$o,sm=C(()=>{l();nt();Nn=K(Me());De();nm={id(i){return Nn.default.attribute({attribute:"id",operator:"=",value:i.value,quoteMark:'"'})}};$2=(0,Nn.default)(i=>i.map(e=>{let t=e.split(r=>r.type==="combinator"&&r.value===" ").pop();return L2(t)})),$o=new Map});function zo(){function i(e){let t=null;e.each(r=>{if(!z2.has(r.type)){t=null;return}if(t===null){t=r;return}let n=am[r.type];r.type==="atrule"&&r.name==="font-face"?t=r:n.every(a=>(r[a]??"").replace(/\s+/g," ")===(t[a]??"").replace(/\s+/g," "))?(r.nodes&&t.append(r.nodes),r.remove()):t=r}),e.each(r=>{r.type==="atrule"&&i(r)})}return e=>{i(e)}}var am,z2,om=C(()=>{l();am={atrule:["name","params"],rule:["selector"]},z2=new Set(Object.keys(am))});function Vo(){return i=>{i.walkRules(e=>{let t=new Map,r=new Set([]),n=new Map;e.walkDecls(a=>{if(a.parent===e){if(t.has(a.prop)){if(t.get(a.prop).value===a.value){r.add(t.get(a.prop)),t.set(a.prop,a);return}n.has(a.prop)||n.set(a.prop,new Set),n.get(a.prop).add(t.get(a.prop)),n.get(a.prop).add(a)}t.set(a.prop,a)}});for(let a of r)a.remove();for(let a of n.values()){let s=new Map;for(let o of a){let u=U2(o.value);u!==null&&(s.has(u)||s.set(u,new Set),s.get(u).add(o))}for(let o of s.values()){let u=Array.from(o).slice(0,-1);for(let c of u)c.remove()}}})}}function U2(i){let e=/^-?\d*.?\d+([\w%]+)?$/g.exec(i);return e?e[1]??V2:null}var V2,lm=C(()=>{l();V2=Symbol("unitless-number")});function W2(i){if(!i.walkAtRules)return;let e=new Set;if(i.walkAtRules("apply",t=>{e.add(t.parent)}),e.size!==0)for(let t of e){let r=[],n=[];for(let a of t.nodes)a.type==="atrule"&&a.name==="apply"?(n.length>0&&(r.push(n),n=[]),r.push([a])):n.push(a);if(n.length>0&&r.push(n),r.length!==1){for(let a of[...r].reverse()){let s=t.clone({nodes:[]});s.append(a),t.after(s)}t.remove()}}}function Ln(){return i=>{W2(i)}}var um=C(()=>{l()});function G2(i){return i.type==="root"}function H2(i){return i.type==="atrule"&&i.name==="layer"}function fm(i){return(e,t)=>{let r=!1;e.walkAtRules("tailwind",n=>{if(r)return!1;if(n.parent&&!(G2(n.parent)||H2(n.parent)))return r=!0,n.warn(t,["Nested @tailwind rules were detected, but are not supported.","Consider using a prefix to scope Tailwind's classes: https://tailwindcss.com/docs/configuration#prefix","Alternatively, use the important selector strategy: https://tailwindcss.com/docs/configuration#selector-strategy"].join(` +`)),!1}),e.walkRules(n=>{if(r)return!1;n.walkRules(a=>(r=!0,a.warn(t,["Nested CSS was detected, but CSS nesting has not been configured correctly.","Please enable a CSS nesting plugin *before* Tailwind in your configuration.","See how here: https://tailwindcss.com/docs/using-with-preprocessors#nesting"].join(` +`)),!1))})}}var cm=C(()=>{l()});function $n(i){return async function(e,t){let{tailwindDirectives:r,applyDirectives:n}=Ao(e);fm()(e,t),Ln()(e,t);let a=i({tailwindDirectives:r,applyDirectives:n,registerDependency(s){t.messages.push({plugin:"tailwindcss",parent:t.opts.from,...s})},createContext(s,o){return go(s,o,e)}})(e,t);if(a.tailwindConfig.separator==="-")throw new Error("The '-' character cannot be used as a custom separator in JIT mode due to parsing ambiguity. Please use another character like '_' instead.");_u(a.tailwindConfig),await Eo(a)(e,t),Ln()(e,t),To(a)(e,t),em(a)(e,t),rm(a)(e,t),jo(a)(e,t),zo(a)(e,t),Vo(a)(e,t)}}var pm=C(()=>{l();yh();Oh();Rh();tm();im();sm();om();lm();um();cm();Xr();De()});function dm(i,e){let t=null,r=null;return i.walkAtRules("config",n=>{if(r=n.source?.input.file??e.opts.from??null,r===null)throw n.error("The `@config` directive cannot be used without setting `from` in your PostCSS config.");if(t)throw n.error("Only one `@config` directive is allowed per file.");let a=n.params.match(/(['"])(.*?)\1/);if(!a)throw n.error("A path is required when using the `@config` directive.");let s=a[2];if(Z.isAbsolute(s))throw n.error("The `@config` directive cannot be used with an absolute path.");if(t=Z.resolve(Z.dirname(r),s),!te.existsSync(t))throw n.error(`The config file at "${s}" does not exist. Make sure the path is correct and the file exists.`);n.remove()}),t||null}var hm=C(()=>{l();ze();mt()});var mm=v((v4,Uo)=>{l();gh();pm();ot();hm();Uo.exports=function(e){return{postcssPlugin:"tailwindcss",plugins:[Pe.DEBUG&&function(t){return console.log(` +`),console.time("JIT TOTAL"),t},async function(t,r){e=dm(t,r)??e;let n=Co(e);if(t.type==="document"){let a=t.nodes.filter(s=>s.type==="root");for(let s of a)s.type==="root"&&await $n(n)(s,r);return}await $n(n)(t,r)},!1,Pe.DEBUG&&function(t){return console.timeEnd("JIT TOTAL"),console.log(` +`),t}].filter(Boolean)}};Uo.exports.postcss=!0});var ym=v((x4,gm)=>{l();gm.exports=mm()});var Wo=v((k4,wm)=>{l();wm.exports=()=>["and_chr 114","and_uc 15.5","chrome 114","chrome 113","chrome 109","edge 114","firefox 114","ios_saf 16.5","ios_saf 16.4","ios_saf 16.3","ios_saf 16.1","opera 99","safari 16.5","samsung 21"]});var jn={};Ae(jn,{agents:()=>Y2,feature:()=>Q2});function Q2(){return{status:"cr",title:"CSS Feature Queries",stats:{ie:{"6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","5.5":"n"},edge:{"12":"y","13":"y","14":"y","15":"y","16":"y","17":"y","18":"y","79":"y","80":"y","81":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y"},firefox:{"2":"n","3":"n","4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y","61":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","82":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y","115":"y","116":"y","117":"y","3.5":"n","3.6":"n"},chrome:{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"n","10":"n","11":"n","12":"n","13":"n","14":"n","15":"n","16":"n","17":"n","18":"n","19":"n","20":"n","21":"n","22":"n","23":"n","24":"n","25":"n","26":"n","27":"n","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","59":"y","60":"y","61":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","101":"y","102":"y","103":"y","104":"y","105":"y","106":"y","107":"y","108":"y","109":"y","110":"y","111":"y","112":"y","113":"y","114":"y","115":"y","116":"y","117":"y"},safari:{"4":"n","5":"n","6":"n","7":"n","8":"n","9":"y","10":"y","11":"y","12":"y","13":"y","14":"y","15":"y","17":"y","9.1":"y","10.1":"y","11.1":"y","12.1":"y","13.1":"y","14.1":"y","15.1":"y","15.2-15.3":"y","15.4":"y","15.5":"y","15.6":"y","16.0":"y","16.1":"y","16.2":"y","16.3":"y","16.4":"y","16.5":"y","16.6":"y",TP:"y","3.1":"n","3.2":"n","5.1":"n","6.1":"n","7.1":"n"},opera:{"9":"n","11":"n","12":"n","15":"y","16":"y","17":"y","18":"y","19":"y","20":"y","21":"y","22":"y","23":"y","24":"y","25":"y","26":"y","27":"y","28":"y","29":"y","30":"y","31":"y","32":"y","33":"y","34":"y","35":"y","36":"y","37":"y","38":"y","39":"y","40":"y","41":"y","42":"y","43":"y","44":"y","45":"y","46":"y","47":"y","48":"y","49":"y","50":"y","51":"y","52":"y","53":"y","54":"y","55":"y","56":"y","57":"y","58":"y","60":"y","62":"y","63":"y","64":"y","65":"y","66":"y","67":"y","68":"y","69":"y","70":"y","71":"y","72":"y","73":"y","74":"y","75":"y","76":"y","77":"y","78":"y","79":"y","80":"y","81":"y","82":"y","83":"y","84":"y","85":"y","86":"y","87":"y","88":"y","89":"y","90":"y","91":"y","92":"y","93":"y","94":"y","95":"y","96":"y","97":"y","98":"y","99":"y","100":"y","12.1":"y","9.5-9.6":"n","10.0-10.1":"n","10.5":"n","10.6":"n","11.1":"n","11.5":"n","11.6":"n"},ios_saf:{"8":"n","17":"y","9.0-9.2":"y","9.3":"y","10.0-10.2":"y","10.3":"y","11.0-11.2":"y","11.3-11.4":"y","12.0-12.1":"y","12.2-12.5":"y","13.0-13.1":"y","13.2":"y","13.3":"y","13.4-13.7":"y","14.0-14.4":"y","14.5-14.8":"y","15.0-15.1":"y","15.2-15.3":"y","15.4":"y","15.5":"y","15.6":"y","16.0":"y","16.1":"y","16.2":"y","16.3":"y","16.4":"y","16.5":"y","16.6":"y","3.2":"n","4.0-4.1":"n","4.2-4.3":"n","5.0-5.1":"n","6.0-6.1":"n","7.0-7.1":"n","8.1-8.4":"n"},op_mini:{all:"y"},android:{"3":"n","4":"n","114":"y","4.4":"y","4.4.3-4.4.4":"y","2.1":"n","2.2":"n","2.3":"n","4.1":"n","4.2-4.3":"n"},bb:{"7":"n","10":"n"},op_mob:{"10":"n","11":"n","12":"n","73":"y","11.1":"n","11.5":"n","12.1":"n"},and_chr:{"114":"y"},and_ff:{"115":"y"},ie_mob:{"10":"n","11":"n"},and_uc:{"15.5":"y"},samsung:{"4":"y","20":"y","21":"y","5.0-5.4":"y","6.2-6.4":"y","7.2-7.4":"y","8.2":"y","9.2":"y","10.1":"y","11.1-11.2":"y","12.0":"y","13.0":"y","14.0":"y","15.0":"y","16.0":"y","17.0":"y","18.0":"y","19.0":"y"},and_qq:{"13.1":"y"},baidu:{"13.18":"y"},kaios:{"2.5":"y","3.0-3.1":"y"}}}}var Y2,zn=C(()=>{l();Y2={ie:{prefix:"ms"},edge:{prefix:"webkit",prefix_exceptions:{"12":"ms","13":"ms","14":"ms","15":"ms","16":"ms","17":"ms","18":"ms"}},firefox:{prefix:"moz"},chrome:{prefix:"webkit"},safari:{prefix:"webkit"},opera:{prefix:"webkit",prefix_exceptions:{"9":"o","11":"o","12":"o","9.5-9.6":"o","10.0-10.1":"o","10.5":"o","10.6":"o","11.1":"o","11.5":"o","11.6":"o","12.1":"o"}},ios_saf:{prefix:"webkit"},op_mini:{prefix:"o"},android:{prefix:"webkit"},bb:{prefix:"webkit"},op_mob:{prefix:"o",prefix_exceptions:{"73":"webkit"}},and_chr:{prefix:"webkit"},and_ff:{prefix:"moz"},ie_mob:{prefix:"ms"},and_uc:{prefix:"webkit",prefix_exceptions:{"15.5":"webkit"}},samsung:{prefix:"webkit"},and_qq:{prefix:"webkit"},baidu:{prefix:"webkit"},kaios:{prefix:"moz"}}});var bm=v(()=>{l()});var ue=v((A4,ft)=>{l();var{list:Go}=me();ft.exports.error=function(i){let e=new Error(i);throw e.autoprefixer=!0,e};ft.exports.uniq=function(i){return[...new Set(i)]};ft.exports.removeNote=function(i){return i.includes(" ")?i.split(" ")[0]:i};ft.exports.escapeRegexp=function(i){return i.replace(/[$()*+-.?[\\\]^{|}]/g,"\\$&")};ft.exports.regexp=function(i,e=!0){return e&&(i=this.escapeRegexp(i)),new RegExp(`(^|[\\s,(])(${i}($|[\\s(,]))`,"gi")};ft.exports.editList=function(i,e){let t=Go.comma(i),r=e(t,[]);if(t===r)return i;let n=i.match(/,\s*/);return n=n?n[0]:", ",r.join(n)};ft.exports.splitSelector=function(i){return Go.comma(i).map(e=>Go.space(e).map(t=>t.split(/(?=\.|#)/g)))}});var ct=v((_4,km)=>{l();var J2=Wo(),vm=(zn(),jn).agents,X2=ue(),xm=class{static prefixes(){if(this.prefixesCache)return this.prefixesCache;this.prefixesCache=[];for(let e in vm)this.prefixesCache.push(`-${vm[e].prefix}-`);return this.prefixesCache=X2.uniq(this.prefixesCache).sort((e,t)=>t.length-e.length),this.prefixesCache}static withPrefix(e){return this.prefixesRegexp||(this.prefixesRegexp=new RegExp(this.prefixes().join("|"))),this.prefixesRegexp.test(e)}constructor(e,t,r,n){this.data=e,this.options=r||{},this.browserslistOpts=n||{},this.selected=this.parse(t)}parse(e){let t={};for(let r in this.browserslistOpts)t[r]=this.browserslistOpts[r];return t.path=this.options.from,J2(e,t)}prefix(e){let[t,r]=e.split(" "),n=this.data[t],a=n.prefix_exceptions&&n.prefix_exceptions[r];return a||(a=n.prefix),`-${a}-`}isSelected(e){return this.selected.includes(e)}};km.exports=xm});var ii=v((E4,Sm)=>{l();Sm.exports={prefix(i){let e=i.match(/^(-\w+-)/);return e?e[0]:""},unprefixed(i){return i.replace(/^-\w+-/,"")}}});var Vt=v((O4,Am)=>{l();var K2=ct(),Cm=ii(),Z2=ue();function Ho(i,e){let t=new i.constructor;for(let r of Object.keys(i||{})){let n=i[r];r==="parent"&&typeof n=="object"?e&&(t[r]=e):r==="source"||r===null?t[r]=n:Array.isArray(n)?t[r]=n.map(a=>Ho(a,t)):r!=="_autoprefixerPrefix"&&r!=="_autoprefixerValues"&&r!=="proxyCache"&&(typeof n=="object"&&n!==null&&(n=Ho(n,t)),t[r]=n)}return t}var Vn=class{static hack(e){return this.hacks||(this.hacks={}),e.names.map(t=>(this.hacks[t]=e,this.hacks[t]))}static load(e,t,r){let n=this.hacks&&this.hacks[e];return n?new n(e,t,r):new this(e,t,r)}static clone(e,t){let r=Ho(e);for(let n in t)r[n]=t[n];return r}constructor(e,t,r){this.prefixes=t,this.name=e,this.all=r}parentPrefix(e){let t;return typeof e._autoprefixerPrefix!="undefined"?t=e._autoprefixerPrefix:e.type==="decl"&&e.prop[0]==="-"?t=Cm.prefix(e.prop):e.type==="root"?t=!1:e.type==="rule"&&e.selector.includes(":-")&&/:(-\w+-)/.test(e.selector)?t=e.selector.match(/:(-\w+-)/)[1]:e.type==="atrule"&&e.name[0]==="-"?t=Cm.prefix(e.name):t=this.parentPrefix(e.parent),K2.prefixes().includes(t)||(t=!1),e._autoprefixerPrefix=t,e._autoprefixerPrefix}process(e,t){if(!this.check(e))return;let r=this.parentPrefix(e),n=this.prefixes.filter(s=>!r||r===Z2.removeNote(s)),a=[];for(let s of n)this.add(e,s,a.concat([s]),t)&&a.push(s);return a}clone(e,t){return Vn.clone(e,t)}};Am.exports=Vn});var R=v((T4,Om)=>{l();var eA=Vt(),tA=ct(),_m=ue(),Em=class extends eA{check(){return!0}prefixed(e,t){return t+e}normalize(e){return e}otherPrefixes(e,t){for(let r of tA.prefixes())if(r!==t&&e.includes(r))return!0;return!1}set(e,t){return e.prop=this.prefixed(e.prop,t),e}needCascade(e){return e._autoprefixerCascade||(e._autoprefixerCascade=this.all.options.cascade!==!1&&e.raw("before").includes(` +`)),e._autoprefixerCascade}maxPrefixed(e,t){if(t._autoprefixerMax)return t._autoprefixerMax;let r=0;for(let n of e)n=_m.removeNote(n),n.length>r&&(r=n.length);return t._autoprefixerMax=r,t._autoprefixerMax}calcBefore(e,t,r=""){let a=this.maxPrefixed(e,t)-_m.removeNote(r).length,s=t.raw("before");return a>0&&(s+=Array(a).fill(" ").join("")),s}restoreBefore(e){let t=e.raw("before").split(` +`),r=t[t.length-1];this.all.group(e).up(n=>{let a=n.raw("before").split(` +`),s=a[a.length-1];s.lengths.prop===n.prop&&s.value===n.value)))return this.needCascade(e)&&(n.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,n)}isAlready(e,t){let r=this.all.group(e).up(n=>n.prop===t);return r||(r=this.all.group(e).down(n=>n.prop===t)),r}add(e,t,r,n){let a=this.prefixed(e.prop,t);if(!(this.isAlready(e,a)||this.otherPrefixes(e.value,t)))return this.insert(e,t,r,n)}process(e,t){if(!this.needCascade(e)){super.process(e,t);return}let r=super.process(e,t);!r||!r.length||(this.restoreBefore(e),e.raws.before=this.calcBefore(r,e))}old(e,t){return[this.prefixed(e,t)]}};Om.exports=Em});var Pm=v((P4,Tm)=>{l();Tm.exports=function i(e){return{mul:t=>new i(e*t),div:t=>new i(e/t),simplify:()=>new i(e),toString:()=>e.toString()}}});var qm=v((D4,Im)=>{l();var rA=Pm(),iA=Vt(),Yo=ue(),nA=/(min|max)-resolution\s*:\s*\d*\.?\d+(dppx|dpcm|dpi|x)/gi,sA=/(min|max)-resolution(\s*:\s*)(\d*\.?\d+)(dppx|dpcm|dpi|x)/i,Dm=class extends iA{prefixName(e,t){return e==="-moz-"?t+"--moz-device-pixel-ratio":e+t+"-device-pixel-ratio"}prefixQuery(e,t,r,n,a){return n=new rA(n),a==="dpi"?n=n.div(96):a==="dpcm"&&(n=n.mul(2.54).div(96)),n=n.simplify(),e==="-o-"&&(n=n.n+"/"+n.d),this.prefixName(e,t)+r+n}clean(e){if(!this.bad){this.bad=[];for(let t of this.prefixes)this.bad.push(this.prefixName(t,"min")),this.bad.push(this.prefixName(t,"max"))}e.params=Yo.editList(e.params,t=>t.filter(r=>this.bad.every(n=>!r.includes(n))))}process(e){let t=this.parentPrefix(e),r=t?[t]:this.prefixes;e.params=Yo.editList(e.params,(n,a)=>{for(let s of n){if(!s.includes("min-resolution")&&!s.includes("max-resolution")){a.push(s);continue}for(let o of r){let u=s.replace(nA,c=>{let f=c.match(sA);return this.prefixQuery(o,f[1],f[2],f[3],f[4])});a.push(u)}a.push(s)}return Yo.uniq(a)})}};Im.exports=Dm});var Mm=v((I4,Rm)=>{l();var Qo="(".charCodeAt(0),Jo=")".charCodeAt(0),Un="'".charCodeAt(0),Xo='"'.charCodeAt(0),Ko="\\".charCodeAt(0),Ut="/".charCodeAt(0),Zo=",".charCodeAt(0),el=":".charCodeAt(0),Wn="*".charCodeAt(0),aA="u".charCodeAt(0),oA="U".charCodeAt(0),lA="+".charCodeAt(0),uA=/^[a-f0-9?-]+$/i;Rm.exports=function(i){for(var e=[],t=i,r,n,a,s,o,u,c,f,p=0,d=t.charCodeAt(p),h=t.length,y=[{nodes:e}],x=0,w,b="",k="",S="";p{l();Bm.exports=function i(e,t,r){var n,a,s,o;for(n=0,a=e.length;n{l();function Nm(i,e){var t=i.type,r=i.value,n,a;return e&&(a=e(i))!==void 0?a:t==="word"||t==="space"?r:t==="string"?(n=i.quote||"",n+r+(i.unclosed?"":n)):t==="comment"?"/*"+r+(i.unclosed?"":"*/"):t==="div"?(i.before||"")+r+(i.after||""):Array.isArray(i.nodes)?(n=Lm(i.nodes,e),t!=="function"?n:r+"("+(i.before||"")+n+(i.after||"")+(i.unclosed?"":")")):r}function Lm(i,e){var t,r;if(Array.isArray(i)){for(t="",r=i.length-1;~r;r-=1)t=Nm(i[r],e)+t;return t}return Nm(i,e)}$m.exports=Lm});var Vm=v((M4,zm)=>{l();var Gn="-".charCodeAt(0),Hn="+".charCodeAt(0),tl=".".charCodeAt(0),fA="e".charCodeAt(0),cA="E".charCodeAt(0);function pA(i){var e=i.charCodeAt(0),t;if(e===Hn||e===Gn){if(t=i.charCodeAt(1),t>=48&&t<=57)return!0;var r=i.charCodeAt(2);return t===tl&&r>=48&&r<=57}return e===tl?(t=i.charCodeAt(1),t>=48&&t<=57):e>=48&&e<=57}zm.exports=function(i){var e=0,t=i.length,r,n,a;if(t===0||!pA(i))return!1;for(r=i.charCodeAt(e),(r===Hn||r===Gn)&&e++;e57));)e+=1;if(r=i.charCodeAt(e),n=i.charCodeAt(e+1),r===tl&&n>=48&&n<=57)for(e+=2;e57));)e+=1;if(r=i.charCodeAt(e),n=i.charCodeAt(e+1),a=i.charCodeAt(e+2),(r===fA||r===cA)&&(n>=48&&n<=57||(n===Hn||n===Gn)&&a>=48&&a<=57))for(e+=n===Hn||n===Gn?3:2;e57));)e+=1;return{number:i.slice(0,e),unit:i.slice(e)}}});var Yn=v((B4,Gm)=>{l();var dA=Mm(),Um=Fm(),Wm=jm();function pt(i){return this instanceof pt?(this.nodes=dA(i),this):new pt(i)}pt.prototype.toString=function(){return Array.isArray(this.nodes)?Wm(this.nodes):""};pt.prototype.walk=function(i,e){return Um(this.nodes,i,e),this};pt.unit=Vm();pt.walk=Um;pt.stringify=Wm;Gm.exports=pt});var Xm=v((F4,Jm)=>{l();var{list:hA}=me(),Hm=Yn(),mA=ct(),Ym=ii(),Qm=class{constructor(e){this.props=["transition","transition-property"],this.prefixes=e}add(e,t){let r,n,a=this.prefixes.add[e.prop],s=this.ruleVendorPrefixes(e),o=s||a&&a.prefixes||[],u=this.parse(e.value),c=u.map(h=>this.findProp(h)),f=[];if(c.some(h=>h[0]==="-"))return;for(let h of u){if(n=this.findProp(h),n[0]==="-")continue;let y=this.prefixes.add[n];if(!(!y||!y.prefixes))for(r of y.prefixes){if(s&&!s.some(w=>r.includes(w)))continue;let x=this.prefixes.prefixed(n,r);x!=="-ms-transform"&&!c.includes(x)&&(this.disabled(n,r)||f.push(this.clone(n,x,h)))}}u=u.concat(f);let p=this.stringify(u),d=this.stringify(this.cleanFromUnprefixed(u,"-webkit-"));if(o.includes("-webkit-")&&this.cloneBefore(e,`-webkit-${e.prop}`,d),this.cloneBefore(e,e.prop,d),o.includes("-o-")){let h=this.stringify(this.cleanFromUnprefixed(u,"-o-"));this.cloneBefore(e,`-o-${e.prop}`,h)}for(r of o)if(r!=="-webkit-"&&r!=="-o-"){let h=this.stringify(this.cleanOtherPrefixes(u,r));this.cloneBefore(e,r+e.prop,h)}p!==e.value&&!this.already(e,e.prop,p)&&(this.checkForWarning(t,e),e.cloneBefore(),e.value=p)}findProp(e){let t=e[0].value;if(/^\d/.test(t)){for(let[r,n]of e.entries())if(r!==0&&n.type==="word")return n.value}return t}already(e,t,r){return e.parent.some(n=>n.prop===t&&n.value===r)}cloneBefore(e,t,r){this.already(e,t,r)||e.cloneBefore({prop:t,value:r})}checkForWarning(e,t){if(t.prop!=="transition-property")return;let r=!1,n=!1;t.parent.each(a=>{if(a.type!=="decl"||a.prop.indexOf("transition-")!==0)return;let s=hA.comma(a.value);if(a.prop==="transition-property"){s.forEach(o=>{let u=this.prefixes.add[o];u&&u.prefixes&&u.prefixes.length>0&&(r=!0)});return}return n=n||s.length>1,!1}),r&&n&&t.warn(e,"Replace transition-property to transition, because Autoprefixer could not support any cases of transition-property and other transition-*")}remove(e){let t=this.parse(e.value);t=t.filter(s=>{let o=this.prefixes.remove[this.findProp(s)];return!o||!o.remove});let r=this.stringify(t);if(e.value===r)return;if(t.length===0){e.remove();return}let n=e.parent.some(s=>s.prop===e.prop&&s.value===r),a=e.parent.some(s=>s!==e&&s.prop===e.prop&&s.value.length>r.length);if(n||a){e.remove();return}e.value=r}parse(e){let t=Hm(e),r=[],n=[];for(let a of t.nodes)n.push(a),a.type==="div"&&a.value===","&&(r.push(n),n=[]);return r.push(n),r.filter(a=>a.length>0)}stringify(e){if(e.length===0)return"";let t=[];for(let r of e)r[r.length-1].type!=="div"&&r.push(this.div(e)),t=t.concat(r);return t[0].type==="div"&&(t=t.slice(1)),t[t.length-1].type==="div"&&(t=t.slice(0,-2+1||void 0)),Hm.stringify({nodes:t})}clone(e,t,r){let n=[],a=!1;for(let s of r)!a&&s.type==="word"&&s.value===e?(n.push({type:"word",value:t}),a=!0):n.push(s);return n}div(e){for(let t of e)for(let r of t)if(r.type==="div"&&r.value===",")return r;return{type:"div",value:",",after:" "}}cleanOtherPrefixes(e,t){return e.filter(r=>{let n=Ym.prefix(this.findProp(r));return n===""||n===t})}cleanFromUnprefixed(e,t){let r=e.map(a=>this.findProp(a)).filter(a=>a.slice(0,t.length)===t).map(a=>this.prefixes.unprefixed(a)),n=[];for(let a of e){let s=this.findProp(a),o=Ym.prefix(s);!r.includes(s)&&(o===t||o==="")&&n.push(a)}return n}disabled(e,t){let r=["order","justify-content","align-self","align-content"];if(e.includes("flex")||r.includes(e)){if(this.prefixes.options.flexbox===!1)return!0;if(this.prefixes.options.flexbox==="no-2009")return t.includes("2009")}}ruleVendorPrefixes(e){let{parent:t}=e;if(t.type!=="rule")return!1;if(!t.selector.includes(":-"))return!1;let r=mA.prefixes().filter(n=>t.selector.includes(":"+n));return r.length>0?r:!1}};Jm.exports=Qm});var Wt=v((N4,Zm)=>{l();var gA=ue(),Km=class{constructor(e,t,r,n){this.unprefixed=e,this.prefixed=t,this.string=r||t,this.regexp=n||gA.regexp(t)}check(e){return e.includes(this.string)?!!e.match(this.regexp):!1}};Zm.exports=Km});var ke=v((L4,tg)=>{l();var yA=Vt(),wA=Wt(),bA=ii(),vA=ue(),eg=class extends yA{static save(e,t){let r=t.prop,n=[];for(let a in t._autoprefixerValues){let s=t._autoprefixerValues[a];if(s===t.value)continue;let o,u=bA.prefix(r);if(u==="-pie-")continue;if(u===a){o=t.value=s,n.push(o);continue}let c=e.prefixed(r,a),f=t.parent;if(!f.every(y=>y.prop!==c)){n.push(o);continue}let p=s.replace(/\s+/," ");if(f.some(y=>y.prop===t.prop&&y.value.replace(/\s+/," ")===p)){n.push(o);continue}let h=this.clone(t,{value:s});o=t.parent.insertBefore(t,h),n.push(o)}return n}check(e){let t=e.value;return t.includes(this.name)?!!t.match(this.regexp()):!1}regexp(){return this.regexpCache||(this.regexpCache=vA.regexp(this.name))}replace(e,t){return e.replace(this.regexp(),`$1${t}$2`)}value(e){return e.raws.value&&e.raws.value.value===e.value?e.raws.value.raw:e.value}add(e,t){e._autoprefixerValues||(e._autoprefixerValues={});let r=e._autoprefixerValues[t]||this.value(e),n;do if(n=r,r=this.replace(r,t),r===!1)return;while(r!==n);e._autoprefixerValues[t]=r}old(e){return new wA(this.name,e+this.name)}};tg.exports=eg});var dt=v(($4,rg)=>{l();rg.exports={}});var il=v((j4,sg)=>{l();var ig=Yn(),xA=ke(),kA=dt().insertAreas,SA=/(^|[^-])linear-gradient\(\s*(top|left|right|bottom)/i,CA=/(^|[^-])radial-gradient\(\s*\d+(\w*|%)\s+\d+(\w*|%)\s*,/i,AA=/(!\s*)?autoprefixer:\s*ignore\s+next/i,_A=/(!\s*)?autoprefixer\s*grid:\s*(on|off|(no-)?autoplace)/i,EA=["width","height","min-width","max-width","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size"];function rl(i){return i.parent.some(e=>e.prop==="grid-template"||e.prop==="grid-template-areas")}function OA(i){let e=i.parent.some(r=>r.prop==="grid-template-rows"),t=i.parent.some(r=>r.prop==="grid-template-columns");return e&&t}var ng=class{constructor(e){this.prefixes=e}add(e,t){let r=this.prefixes.add["@resolution"],n=this.prefixes.add["@keyframes"],a=this.prefixes.add["@viewport"],s=this.prefixes.add["@supports"];e.walkAtRules(f=>{if(f.name==="keyframes"){if(!this.disabled(f,t))return n&&n.process(f)}else if(f.name==="viewport"){if(!this.disabled(f,t))return a&&a.process(f)}else if(f.name==="supports"){if(this.prefixes.options.supports!==!1&&!this.disabled(f,t))return s.process(f)}else if(f.name==="media"&&f.params.includes("-resolution")&&!this.disabled(f,t))return r&&r.process(f)}),e.walkRules(f=>{if(!this.disabled(f,t))return this.prefixes.add.selectors.map(p=>p.process(f,t))});function o(f){return f.parent.nodes.some(p=>{if(p.type!=="decl")return!1;let d=p.prop==="display"&&/(inline-)?grid/.test(p.value),h=p.prop.startsWith("grid-template"),y=/^grid-([A-z]+-)?gap/.test(p.prop);return d||h||y})}function u(f){return f.parent.some(p=>p.prop==="display"&&/(inline-)?flex/.test(p.value))}let c=this.gridStatus(e,t)&&this.prefixes.add["grid-area"]&&this.prefixes.add["grid-area"].prefixes;return e.walkDecls(f=>{if(this.disabledDecl(f,t))return;let p=f.parent,d=f.prop,h=f.value;if(d==="grid-row-span"){t.warn("grid-row-span is not part of final Grid Layout. Use grid-row.",{node:f});return}else if(d==="grid-column-span"){t.warn("grid-column-span is not part of final Grid Layout. Use grid-column.",{node:f});return}else if(d==="display"&&h==="box"){t.warn("You should write display: flex by final spec instead of display: box",{node:f});return}else if(d==="text-emphasis-position")(h==="under"||h==="over")&&t.warn("You should use 2 values for text-emphasis-position For example, `under left` instead of just `under`.",{node:f});else if(/^(align|justify|place)-(items|content)$/.test(d)&&u(f))(h==="start"||h==="end")&&t.warn(`${h} value has mixed support, consider using flex-${h} instead`,{node:f});else if(d==="text-decoration-skip"&&h==="ink")t.warn("Replace text-decoration-skip: ink to text-decoration-skip-ink: auto, because spec had been changed",{node:f});else{if(c&&this.gridStatus(f,t))if(f.value==="subgrid"&&t.warn("IE does not support subgrid",{node:f}),/^(align|justify|place)-items$/.test(d)&&o(f)){let x=d.replace("-items","-self");t.warn(`IE does not support ${d} on grid containers. Try using ${x} on child elements instead: ${f.parent.selector} > * { ${x}: ${f.value} }`,{node:f})}else if(/^(align|justify|place)-content$/.test(d)&&o(f))t.warn(`IE does not support ${f.prop} on grid containers`,{node:f});else if(d==="display"&&f.value==="contents"){t.warn("Please do not use display: contents; if you have grid setting enabled",{node:f});return}else if(f.prop==="grid-gap"){let x=this.gridStatus(f,t);x==="autoplace"&&!OA(f)&&!rl(f)?t.warn("grid-gap only works if grid-template(-areas) is being used or both rows and columns have been declared and cells have not been manually placed inside the explicit grid",{node:f}):(x===!0||x==="no-autoplace")&&!rl(f)&&t.warn("grid-gap only works if grid-template(-areas) is being used",{node:f})}else if(d==="grid-auto-columns"){t.warn("grid-auto-columns is not supported by IE",{node:f});return}else if(d==="grid-auto-rows"){t.warn("grid-auto-rows is not supported by IE",{node:f});return}else if(d==="grid-auto-flow"){let x=p.some(b=>b.prop==="grid-template-rows"),w=p.some(b=>b.prop==="grid-template-columns");rl(f)?t.warn("grid-auto-flow is not supported by IE",{node:f}):h.includes("dense")?t.warn("grid-auto-flow: dense is not supported by IE",{node:f}):!x&&!w&&t.warn("grid-auto-flow works only if grid-template-rows and grid-template-columns are present in the same rule",{node:f});return}else if(h.includes("auto-fit")){t.warn("auto-fit value is not supported by IE",{node:f,word:"auto-fit"});return}else if(h.includes("auto-fill")){t.warn("auto-fill value is not supported by IE",{node:f,word:"auto-fill"});return}else d.startsWith("grid-template")&&h.includes("[")&&t.warn("Autoprefixer currently does not support line names. Try using grid-template-areas instead.",{node:f,word:"["});if(h.includes("radial-gradient"))if(CA.test(f.value))t.warn("Gradient has outdated direction syntax. New syntax is like `closest-side at 0 0` instead of `0 0, closest-side`.",{node:f});else{let x=ig(h);for(let w of x.nodes)if(w.type==="function"&&w.value==="radial-gradient")for(let b of w.nodes)b.type==="word"&&(b.value==="cover"?t.warn("Gradient has outdated direction syntax. Replace `cover` to `farthest-corner`.",{node:f}):b.value==="contain"&&t.warn("Gradient has outdated direction syntax. Replace `contain` to `closest-side`.",{node:f}))}h.includes("linear-gradient")&&SA.test(h)&&t.warn("Gradient has outdated direction syntax. New syntax is like `to left` instead of `right`.",{node:f})}EA.includes(f.prop)&&(f.value.includes("-fill-available")||(f.value.includes("fill-available")?t.warn("Replace fill-available to stretch, because spec had been changed",{node:f}):f.value.includes("fill")&&ig(h).nodes.some(w=>w.type==="word"&&w.value==="fill")&&t.warn("Replace fill to stretch, because spec had been changed",{node:f})));let y;if(f.prop==="transition"||f.prop==="transition-property")return this.prefixes.transition.add(f,t);if(f.prop==="align-self"){if(this.displayType(f)!=="grid"&&this.prefixes.options.flexbox!==!1&&(y=this.prefixes.add["align-self"],y&&y.prefixes&&y.process(f)),this.gridStatus(f,t)!==!1&&(y=this.prefixes.add["grid-row-align"],y&&y.prefixes))return y.process(f,t)}else if(f.prop==="justify-self"){if(this.gridStatus(f,t)!==!1&&(y=this.prefixes.add["grid-column-align"],y&&y.prefixes))return y.process(f,t)}else if(f.prop==="place-self"){if(y=this.prefixes.add["place-self"],y&&y.prefixes&&this.gridStatus(f,t)!==!1)return y.process(f,t)}else if(y=this.prefixes.add[f.prop],y&&y.prefixes)return y.process(f,t)}),this.gridStatus(e,t)&&kA(e,this.disabled),e.walkDecls(f=>{if(this.disabledValue(f,t))return;let p=this.prefixes.unprefixed(f.prop),d=this.prefixes.values("add",p);if(Array.isArray(d))for(let h of d)h.process&&h.process(f,t);xA.save(this.prefixes,f)})}remove(e,t){let r=this.prefixes.remove["@resolution"];e.walkAtRules((n,a)=>{this.prefixes.remove[`@${n.name}`]?this.disabled(n,t)||n.parent.removeChild(a):n.name==="media"&&n.params.includes("-resolution")&&r&&r.clean(n)});for(let n of this.prefixes.remove.selectors)e.walkRules((a,s)=>{n.check(a)&&(this.disabled(a,t)||a.parent.removeChild(s))});return e.walkDecls((n,a)=>{if(this.disabled(n,t))return;let s=n.parent,o=this.prefixes.unprefixed(n.prop);if((n.prop==="transition"||n.prop==="transition-property")&&this.prefixes.transition.remove(n),this.prefixes.remove[n.prop]&&this.prefixes.remove[n.prop].remove){let u=this.prefixes.group(n).down(c=>this.prefixes.normalize(c.prop)===o);if(o==="flex-flow"&&(u=!0),n.prop==="-webkit-box-orient"){let c={"flex-direction":!0,"flex-flow":!0};if(!n.parent.some(f=>c[f.prop]))return}if(u&&!this.withHackValue(n)){n.raw("before").includes(` +`)&&this.reduceSpaces(n),s.removeChild(a);return}}for(let u of this.prefixes.values("remove",o)){if(!u.check||!u.check(n.value))continue;if(o=u.unprefixed,this.prefixes.group(n).down(f=>f.value.includes(o))){s.removeChild(a);return}}})}withHackValue(e){return e.prop==="-webkit-background-clip"&&e.value==="text"}disabledValue(e,t){return this.gridStatus(e,t)===!1&&e.type==="decl"&&e.prop==="display"&&e.value.includes("grid")||this.prefixes.options.flexbox===!1&&e.type==="decl"&&e.prop==="display"&&e.value.includes("flex")||e.type==="decl"&&e.prop==="content"?!0:this.disabled(e,t)}disabledDecl(e,t){if(this.gridStatus(e,t)===!1&&e.type==="decl"&&(e.prop.includes("grid")||e.prop==="justify-items"))return!0;if(this.prefixes.options.flexbox===!1&&e.type==="decl"){let r=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||r.includes(e.prop))return!0}return this.disabled(e,t)}disabled(e,t){if(!e)return!1;if(e._autoprefixerDisabled!==void 0)return e._autoprefixerDisabled;if(e.parent){let n=e.prev();if(n&&n.type==="comment"&&AA.test(n.text))return e._autoprefixerDisabled=!0,e._autoprefixerSelfDisabled=!0,!0}let r=null;if(e.nodes){let n;e.each(a=>{a.type==="comment"&&/(!\s*)?autoprefixer:\s*(off|on)/i.test(a.text)&&(typeof n!="undefined"?t.warn("Second Autoprefixer control comment was ignored. Autoprefixer applies control comment to whole block, not to next rules.",{node:a}):n=/on/i.test(a.text))}),n!==void 0&&(r=!n)}if(!e.nodes||r===null)if(e.parent){let n=this.disabled(e.parent,t);e.parent._autoprefixerSelfDisabled===!0?r=!1:r=n}else r=!1;return e._autoprefixerDisabled=r,r}reduceSpaces(e){let t=!1;if(this.prefixes.group(e).up(()=>(t=!0,!0)),t)return;let r=e.raw("before").split(` +`),n=r[r.length-1].length,a=!1;this.prefixes.group(e).down(s=>{r=s.raw("before").split(` +`);let o=r.length-1;r[o].length>n&&(a===!1&&(a=r[o].length-n),r[o]=r[o].slice(0,-a),s.raws.before=r.join(` +`))})}displayType(e){for(let t of e.parent.nodes)if(t.prop==="display"){if(t.value.includes("flex"))return"flex";if(t.value.includes("grid"))return"grid"}return!1}gridStatus(e,t){if(!e)return!1;if(e._autoprefixerGridStatus!==void 0)return e._autoprefixerGridStatus;let r=null;if(e.nodes){let n;e.each(a=>{if(a.type==="comment"&&_A.test(a.text)){let s=/:\s*autoplace/i.test(a.text),o=/no-autoplace/i.test(a.text);typeof n!="undefined"?t.warn("Second Autoprefixer grid control comment was ignored. Autoprefixer applies control comments to the whole block, not to the next rules.",{node:a}):s?n="autoplace":o?n=!0:n=/on/i.test(a.text)}}),n!==void 0&&(r=n)}if(e.type==="atrule"&&e.name==="supports"){let n=e.params;n.includes("grid")&&n.includes("auto")&&(r=!1)}if(!e.nodes||r===null)if(e.parent){let n=this.gridStatus(e.parent,t);e.parent._autoprefixerSelfDisabled===!0?r=!1:r=n}else typeof this.prefixes.options.grid!="undefined"?r=this.prefixes.options.grid:typeof m.env.AUTOPREFIXER_GRID!="undefined"?m.env.AUTOPREFIXER_GRID==="autoplace"?r="autoplace":r=!0:r=!1;return e._autoprefixerGridStatus=r,r}};sg.exports=ng});var og=v((z4,ag)=>{l();ag.exports={A:{A:{"2":"K E F G A B JC"},B:{"1":"C L M H N D O P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I"},C:{"1":"2 3 4 5 6 7 8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B","2":"0 1 KC zB J K E F G A B C L M H N D O k l LC MC"},D:{"1":"8 9 AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB 0B dB 1B eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R S T U V W X Y Z a b c d e f g h i j n o p q r s t u v w x y z I uB 3B 4B","2":"0 1 2 3 4 5 6 7 J K E F G A B C L M H N D O k l"},E:{"1":"G A B C L M H D RC 6B vB wB 7B SC TC 8B 9B xB AC yB BC CC DC EC FC GC UC","2":"0 J K E F NC 5B OC PC QC"},F:{"1":"1 2 3 4 5 6 7 8 9 H N D O k l AB BB CB DB EB FB GB HB IB JB KB LB MB NB OB PB QB RB SB TB UB VB WB XB YB ZB aB bB cB dB eB fB gB hB iB jB kB lB mB nB oB m pB qB rB sB tB P Q R 2B S T U V W X Y Z a b c d e f g h i j wB","2":"G B C VC WC XC YC vB HC ZC"},G:{"1":"D fC gC hC iC jC kC lC mC nC oC pC qC rC sC tC 8B 9B xB AC yB BC CC DC EC FC GC","2":"F 5B aC IC bC cC dC eC"},H:{"1":"uC"},I:{"1":"I zC 0C","2":"zB J vC wC xC yC IC"},J:{"2":"E A"},K:{"1":"m","2":"A B C vB HC wB"},L:{"1":"I"},M:{"1":"uB"},N:{"2":"A B"},O:{"1":"xB"},P:{"1":"J k l 1C 2C 3C 4C 5C 6B 6C 7C 8C 9C AD yB BD CD DD"},Q:{"1":"7B"},R:{"1":"ED"},S:{"1":"FD GD"}},B:4,C:"CSS Feature Queries"}});var cg=v((V4,fg)=>{l();function lg(i){return i[i.length-1]}var ug={parse(i){let e=[""],t=[e];for(let r of i){if(r==="("){e=[""],lg(t).push(e),t.push(e);continue}if(r===")"){t.pop(),e=lg(t),e.push("");continue}e[e.length-1]+=r}return t[0]},stringify(i){let e="";for(let t of i){if(typeof t=="object"){e+=`(${ug.stringify(t)})`;continue}e+=t}return e}};fg.exports=ug});var gg=v((U4,mg)=>{l();var TA=og(),{feature:PA}=(zn(),jn),{parse:DA}=me(),IA=ct(),nl=cg(),qA=ke(),RA=ue(),pg=PA(TA),dg=[];for(let i in pg.stats){let e=pg.stats[i];for(let t in e){let r=e[t];/y/.test(r)&&dg.push(i+" "+t)}}var hg=class{constructor(e,t){this.Prefixes=e,this.all=t}prefixer(){if(this.prefixerCache)return this.prefixerCache;let e=this.all.browsers.selected.filter(r=>dg.includes(r)),t=new IA(this.all.browsers.data,e,this.all.options);return this.prefixerCache=new this.Prefixes(this.all.data,t,this.all.options),this.prefixerCache}parse(e){let t=e.split(":"),r=t[0],n=t[1];return n||(n=""),[r.trim(),n.trim()]}virtual(e){let[t,r]=this.parse(e),n=DA("a{}").first;return n.append({prop:t,value:r,raws:{before:""}}),n}prefixed(e){let t=this.virtual(e);if(this.disabled(t.first))return t.nodes;let r={warn:()=>null},n=this.prefixer().add[t.first.prop];n&&n.process&&n.process(t.first,r);for(let a of t.nodes){for(let s of this.prefixer().values("add",t.first.prop))s.process(a);qA.save(this.all,a)}return t.nodes}isNot(e){return typeof e=="string"&&/not\s*/i.test(e)}isOr(e){return typeof e=="string"&&/\s*or\s*/i.test(e)}isProp(e){return typeof e=="object"&&e.length===1&&typeof e[0]=="string"}isHack(e,t){return!new RegExp(`(\\(|\\s)${RA.escapeRegexp(t)}:`).test(e)}toRemove(e,t){let[r,n]=this.parse(e),a=this.all.unprefixed(r),s=this.all.cleaner();if(s.remove[r]&&s.remove[r].remove&&!this.isHack(t,a))return!0;for(let o of s.values("remove",a))if(o.check(n))return!0;return!1}remove(e,t){let r=0;for(;rtypeof t!="object"?t:t.length===1&&typeof t[0]=="object"?this.cleanBrackets(t[0]):this.cleanBrackets(t))}convert(e){let t=[""];for(let r of e)t.push([`${r.prop}: ${r.value}`]),t.push(" or ");return t[t.length-1]="",t}normalize(e){if(typeof e!="object")return e;if(e=e.filter(t=>t!==""),typeof e[0]=="string"){let t=e[0].trim();if(t.includes(":")||t==="selector"||t==="not selector")return[nl.stringify(e)]}return e.map(t=>this.normalize(t))}add(e,t){return e.map(r=>{if(this.isProp(r)){let n=this.prefixed(r[0]);return n.length>1?this.convert(n):r}return typeof r=="object"?this.add(r,t):r})}process(e){let t=nl.parse(e.params);t=this.normalize(t),t=this.remove(t,e.params),t=this.add(t,e.params),t=this.cleanBrackets(t),e.params=nl.stringify(t)}disabled(e){if(!this.all.options.grid&&(e.prop==="display"&&e.value.includes("grid")||e.prop.includes("grid")||e.prop==="justify-items"))return!0;if(this.all.options.flexbox===!1){if(e.prop==="display"&&e.value.includes("flex"))return!0;let t=["order","justify-content","align-items","align-content"];if(e.prop.includes("flex")||t.includes(e.prop))return!0}return!1}};mg.exports=hg});var bg=v((W4,wg)=>{l();var yg=class{constructor(e,t){this.prefix=t,this.prefixed=e.prefixed(this.prefix),this.regexp=e.regexp(this.prefix),this.prefixeds=e.possible().map(r=>[e.prefixed(r),e.regexp(r)]),this.unprefixed=e.name,this.nameRegexp=e.regexp()}isHack(e){let t=e.parent.index(e)+1,r=e.parent.nodes;for(;t{l();var{list:MA}=me(),BA=bg(),FA=Vt(),NA=ct(),LA=ue(),vg=class extends FA{constructor(e,t,r){super(e,t,r);this.regexpCache=new Map}check(e){return e.selector.includes(this.name)?!!e.selector.match(this.regexp()):!1}prefixed(e){return this.name.replace(/^(\W*)/,`$1${e}`)}regexp(e){if(!this.regexpCache.has(e)){let t=e?this.prefixed(e):this.name;this.regexpCache.set(e,new RegExp(`(^|[^:"'=])${LA.escapeRegexp(t)}`,"gi"))}return this.regexpCache.get(e)}possible(){return NA.prefixes()}prefixeds(e){if(e._autoprefixerPrefixeds){if(e._autoprefixerPrefixeds[this.name])return e._autoprefixerPrefixeds}else e._autoprefixerPrefixeds={};let t={};if(e.selector.includes(",")){let n=MA.comma(e.selector).filter(a=>a.includes(this.name));for(let a of this.possible())t[a]=n.map(s=>this.replace(s,a)).join(", ")}else for(let r of this.possible())t[r]=this.replace(e.selector,r);return e._autoprefixerPrefixeds[this.name]=t,e._autoprefixerPrefixeds}already(e,t,r){let n=e.parent.index(e)-1;for(;n>=0;){let a=e.parent.nodes[n];if(a.type!=="rule")return!1;let s=!1;for(let o in t[this.name]){let u=t[this.name][o];if(a.selector===u){if(r===o)return!0;s=!0;break}}if(!s)return!1;n-=1}return!1}replace(e,t){return e.replace(this.regexp(),`$1${this.prefixed(t)}`)}add(e,t){let r=this.prefixeds(e);if(this.already(e,r,t))return;let n=this.clone(e,{selector:r[this.name][t]});e.parent.insertBefore(e,n)}old(e){return new BA(this,e)}};xg.exports=vg});var Cg=v((H4,Sg)=>{l();var $A=Vt(),kg=class extends $A{add(e,t){let r=t+e.name;if(e.parent.some(s=>s.name===r&&s.params===e.params))return;let a=this.clone(e,{name:r});return e.parent.insertBefore(e,a)}process(e){let t=this.parentPrefix(e);for(let r of this.prefixes)(!t||t===r)&&this.add(e,r)}};Sg.exports=kg});var _g=v((Y4,Ag)=>{l();var jA=Gt(),sl=class extends jA{prefixed(e){return e==="-webkit-"?":-webkit-full-screen":e==="-moz-"?":-moz-full-screen":`:${e}fullscreen`}};sl.names=[":fullscreen"];Ag.exports=sl});var Og=v((Q4,Eg)=>{l();var zA=Gt(),al=class extends zA{possible(){return super.possible().concat(["-moz- old","-ms- old"])}prefixed(e){return e==="-webkit-"?"::-webkit-input-placeholder":e==="-ms-"?"::-ms-input-placeholder":e==="-ms- old"?":-ms-input-placeholder":e==="-moz- old"?":-moz-placeholder":`::${e}placeholder`}};al.names=["::placeholder"];Eg.exports=al});var Pg=v((J4,Tg)=>{l();var VA=Gt(),ol=class extends VA{prefixed(e){return e==="-ms-"?":-ms-input-placeholder":`:${e}placeholder-shown`}};ol.names=[":placeholder-shown"];Tg.exports=ol});var Ig=v((X4,Dg)=>{l();var UA=Gt(),WA=ue(),ll=class extends UA{constructor(e,t,r){super(e,t,r);this.prefixes&&(this.prefixes=WA.uniq(this.prefixes.map(n=>"-webkit-")))}prefixed(e){return e==="-webkit-"?"::-webkit-file-upload-button":`::${e}file-selector-button`}};ll.names=["::file-selector-button"];Dg.exports=ll});var de=v((K4,qg)=>{l();qg.exports=function(i){let e;return i==="-webkit- 2009"||i==="-moz-"?e=2009:i==="-ms-"?e=2012:i==="-webkit-"&&(e="final"),i==="-webkit- 2009"&&(i="-webkit-"),[e,i]}});var Fg=v((Z4,Bg)=>{l();var Rg=me().list,Mg=de(),GA=R(),Ht=class extends GA{prefixed(e,t){let r;return[r,t]=Mg(t),r===2009?t+"box-flex":super.prefixed(e,t)}normalize(){return"flex"}set(e,t){let r=Mg(t)[0];if(r===2009)return e.value=Rg.space(e.value)[0],e.value=Ht.oldValues[e.value]||e.value,super.set(e,t);if(r===2012){let n=Rg.space(e.value);n.length===3&&n[2]==="0"&&(e.value=n.slice(0,2).concat("0px").join(" "))}return super.set(e,t)}};Ht.names=["flex","box-flex"];Ht.oldValues={auto:"1",none:"0"};Bg.exports=Ht});var $g=v((eq,Lg)=>{l();var Ng=de(),HA=R(),ul=class extends HA{prefixed(e,t){let r;return[r,t]=Ng(t),r===2009?t+"box-ordinal-group":r===2012?t+"flex-order":super.prefixed(e,t)}normalize(){return"order"}set(e,t){return Ng(t)[0]===2009&&/\d/.test(e.value)?(e.value=(parseInt(e.value)+1).toString(),super.set(e,t)):super.set(e,t)}};ul.names=["order","flex-order","box-ordinal-group"];Lg.exports=ul});var zg=v((tq,jg)=>{l();var YA=R(),fl=class extends YA{check(e){let t=e.value;return!t.toLowerCase().includes("alpha(")&&!t.includes("DXImageTransform.Microsoft")&&!t.includes("data:image/svg+xml")}};fl.names=["filter"];jg.exports=fl});var Ug=v((rq,Vg)=>{l();var QA=R(),cl=class extends QA{insert(e,t,r,n){if(t!=="-ms-")return super.insert(e,t,r);let a=this.clone(e),s=e.prop.replace(/end$/,"start"),o=t+e.prop.replace(/end$/,"span");if(!e.parent.some(u=>u.prop===o)){if(a.prop=o,e.value.includes("span"))a.value=e.value.replace(/span\s/i,"");else{let u;if(e.parent.walkDecls(s,c=>{u=c}),u){let c=Number(e.value)-Number(u.value)+"";a.value=c}else e.warn(n,`Can not prefix ${e.prop} (${s} is not found)`)}e.cloneBefore(a)}}};cl.names=["grid-row-end","grid-column-end"];Vg.exports=cl});var Gg=v((iq,Wg)=>{l();var JA=R(),pl=class extends JA{check(e){return!e.value.split(/\s+/).some(t=>{let r=t.toLowerCase();return r==="reverse"||r==="alternate-reverse"})}};pl.names=["animation","animation-direction"];Wg.exports=pl});var Yg=v((nq,Hg)=>{l();var XA=de(),KA=R(),dl=class extends KA{insert(e,t,r){let n;if([n,t]=XA(t),n!==2009)return super.insert(e,t,r);let a=e.value.split(/\s+/).filter(p=>p!=="wrap"&&p!=="nowrap"&&"wrap-reverse");if(a.length===0||e.parent.some(p=>p.prop===t+"box-orient"||p.prop===t+"box-direction"))return;let o=a[0],u=o.includes("row")?"horizontal":"vertical",c=o.includes("reverse")?"reverse":"normal",f=this.clone(e);return f.prop=t+"box-orient",f.value=u,this.needCascade(e)&&(f.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,f),f=this.clone(e),f.prop=t+"box-direction",f.value=c,this.needCascade(e)&&(f.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,f)}};dl.names=["flex-flow","box-direction","box-orient"];Hg.exports=dl});var Jg=v((sq,Qg)=>{l();var ZA=de(),e_=R(),hl=class extends e_{normalize(){return"flex"}prefixed(e,t){let r;return[r,t]=ZA(t),r===2009?t+"box-flex":r===2012?t+"flex-positive":super.prefixed(e,t)}};hl.names=["flex-grow","flex-positive"];Qg.exports=hl});var Kg=v((aq,Xg)=>{l();var t_=de(),r_=R(),ml=class extends r_{set(e,t){if(t_(t)[0]!==2009)return super.set(e,t)}};ml.names=["flex-wrap"];Xg.exports=ml});var ey=v((oq,Zg)=>{l();var i_=R(),Yt=dt(),gl=class extends i_{insert(e,t,r,n){if(t!=="-ms-")return super.insert(e,t,r);let a=Yt.parse(e),[s,o]=Yt.translate(a,0,2),[u,c]=Yt.translate(a,1,3);[["grid-row",s],["grid-row-span",o],["grid-column",u],["grid-column-span",c]].forEach(([f,p])=>{Yt.insertDecl(e,f,p)}),Yt.warnTemplateSelectorNotFound(e,n),Yt.warnIfGridRowColumnExists(e,n)}};gl.names=["grid-area"];Zg.exports=gl});var ry=v((lq,ty)=>{l();var n_=R(),ni=dt(),yl=class extends n_{insert(e,t,r){if(t!=="-ms-")return super.insert(e,t,r);if(e.parent.some(s=>s.prop==="-ms-grid-row-align"))return;let[[n,a]]=ni.parse(e);a?(ni.insertDecl(e,"grid-row-align",n),ni.insertDecl(e,"grid-column-align",a)):(ni.insertDecl(e,"grid-row-align",n),ni.insertDecl(e,"grid-column-align",n))}};yl.names=["place-self"];ty.exports=yl});var ny=v((uq,iy)=>{l();var s_=R(),wl=class extends s_{check(e){let t=e.value;return!t.includes("/")||t.includes("span")}normalize(e){return e.replace("-start","")}prefixed(e,t){let r=super.prefixed(e,t);return t==="-ms-"&&(r=r.replace("-start","")),r}};wl.names=["grid-row-start","grid-column-start"];iy.exports=wl});var oy=v((fq,ay)=>{l();var sy=de(),a_=R(),Qt=class extends a_{check(e){return e.parent&&!e.parent.some(t=>t.prop&&t.prop.startsWith("grid-"))}prefixed(e,t){let r;return[r,t]=sy(t),r===2012?t+"flex-item-align":super.prefixed(e,t)}normalize(){return"align-self"}set(e,t){let r=sy(t)[0];if(r===2012)return e.value=Qt.oldValues[e.value]||e.value,super.set(e,t);if(r==="final")return super.set(e,t)}};Qt.names=["align-self","flex-item-align"];Qt.oldValues={"flex-end":"end","flex-start":"start"};ay.exports=Qt});var uy=v((cq,ly)=>{l();var o_=R(),l_=ue(),bl=class extends o_{constructor(e,t,r){super(e,t,r);this.prefixes&&(this.prefixes=l_.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}};bl.names=["appearance"];ly.exports=bl});var py=v((pq,cy)=>{l();var fy=de(),u_=R(),vl=class extends u_{normalize(){return"flex-basis"}prefixed(e,t){let r;return[r,t]=fy(t),r===2012?t+"flex-preferred-size":super.prefixed(e,t)}set(e,t){let r;if([r,t]=fy(t),r===2012||r==="final")return super.set(e,t)}};vl.names=["flex-basis","flex-preferred-size"];cy.exports=vl});var hy=v((dq,dy)=>{l();var f_=R(),xl=class extends f_{normalize(){return this.name.replace("box-image","border")}prefixed(e,t){let r=super.prefixed(e,t);return t==="-webkit-"&&(r=r.replace("border","box-image")),r}};xl.names=["mask-border","mask-border-source","mask-border-slice","mask-border-width","mask-border-outset","mask-border-repeat","mask-box-image","mask-box-image-source","mask-box-image-slice","mask-box-image-width","mask-box-image-outset","mask-box-image-repeat"];dy.exports=xl});var gy=v((hq,my)=>{l();var c_=R(),Le=class extends c_{insert(e,t,r){let n=e.prop==="mask-composite",a;n?a=e.value.split(","):a=e.value.match(Le.regexp)||[],a=a.map(c=>c.trim()).filter(c=>c);let s=a.length,o;if(s&&(o=this.clone(e),o.value=a.map(c=>Le.oldValues[c]||c).join(", "),a.includes("intersect")&&(o.value+=", xor"),o.prop=t+"mask-composite"),n)return s?(this.needCascade(e)&&(o.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,o)):void 0;let u=this.clone(e);return u.prop=t+u.prop,s&&(u.value=u.value.replace(Le.regexp,"")),this.needCascade(e)&&(u.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,u),s?(this.needCascade(e)&&(o.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,o)):e}};Le.names=["mask","mask-composite"];Le.oldValues={add:"source-over",subtract:"source-out",intersect:"source-in",exclude:"xor"};Le.regexp=new RegExp(`\\s+(${Object.keys(Le.oldValues).join("|")})\\b(?!\\))\\s*(?=[,])`,"ig");my.exports=Le});var by=v((mq,wy)=>{l();var yy=de(),p_=R(),Jt=class extends p_{prefixed(e,t){let r;return[r,t]=yy(t),r===2009?t+"box-align":r===2012?t+"flex-align":super.prefixed(e,t)}normalize(){return"align-items"}set(e,t){let r=yy(t)[0];return(r===2009||r===2012)&&(e.value=Jt.oldValues[e.value]||e.value),super.set(e,t)}};Jt.names=["align-items","flex-align","box-align"];Jt.oldValues={"flex-end":"end","flex-start":"start"};wy.exports=Jt});var xy=v((gq,vy)=>{l();var d_=R(),kl=class extends d_{set(e,t){return t==="-ms-"&&e.value==="contain"&&(e.value="element"),super.set(e,t)}insert(e,t,r){if(!(e.value==="all"&&t==="-ms-"))return super.insert(e,t,r)}};kl.names=["user-select"];vy.exports=kl});var Cy=v((yq,Sy)=>{l();var ky=de(),h_=R(),Sl=class extends h_{normalize(){return"flex-shrink"}prefixed(e,t){let r;return[r,t]=ky(t),r===2012?t+"flex-negative":super.prefixed(e,t)}set(e,t){let r;if([r,t]=ky(t),r===2012||r==="final")return super.set(e,t)}};Sl.names=["flex-shrink","flex-negative"];Sy.exports=Sl});var _y=v((wq,Ay)=>{l();var m_=R(),Cl=class extends m_{prefixed(e,t){return`${t}column-${e}`}normalize(e){return e.includes("inside")?"break-inside":e.includes("before")?"break-before":"break-after"}set(e,t){return(e.prop==="break-inside"&&e.value==="avoid-column"||e.value==="avoid-page")&&(e.value="avoid"),super.set(e,t)}insert(e,t,r){if(e.prop!=="break-inside")return super.insert(e,t,r);if(!(/region/i.test(e.value)||/page/i.test(e.value)))return super.insert(e,t,r)}};Cl.names=["break-inside","page-break-inside","column-break-inside","break-before","page-break-before","column-break-before","break-after","page-break-after","column-break-after"];Ay.exports=Cl});var Oy=v((bq,Ey)=>{l();var g_=R(),Al=class extends g_{prefixed(e,t){return t+"print-color-adjust"}normalize(){return"color-adjust"}};Al.names=["color-adjust","print-color-adjust"];Ey.exports=Al});var Py=v((vq,Ty)=>{l();var y_=R(),Xt=class extends y_{insert(e,t,r){if(t==="-ms-"){let n=this.set(this.clone(e),t);this.needCascade(e)&&(n.raws.before=this.calcBefore(r,e,t));let a="ltr";return e.parent.nodes.forEach(s=>{s.prop==="direction"&&(s.value==="rtl"||s.value==="ltr")&&(a=s.value)}),n.value=Xt.msValues[a][e.value]||e.value,e.parent.insertBefore(e,n)}return super.insert(e,t,r)}};Xt.names=["writing-mode"];Xt.msValues={ltr:{"horizontal-tb":"lr-tb","vertical-rl":"tb-rl","vertical-lr":"tb-lr"},rtl:{"horizontal-tb":"rl-tb","vertical-rl":"bt-rl","vertical-lr":"bt-lr"}};Ty.exports=Xt});var Iy=v((xq,Dy)=>{l();var w_=R(),_l=class extends w_{set(e,t){return e.value=e.value.replace(/\s+fill(\s)/,"$1"),super.set(e,t)}};_l.names=["border-image"];Dy.exports=_l});var My=v((kq,Ry)=>{l();var qy=de(),b_=R(),Kt=class extends b_{prefixed(e,t){let r;return[r,t]=qy(t),r===2012?t+"flex-line-pack":super.prefixed(e,t)}normalize(){return"align-content"}set(e,t){let r=qy(t)[0];if(r===2012)return e.value=Kt.oldValues[e.value]||e.value,super.set(e,t);if(r==="final")return super.set(e,t)}};Kt.names=["align-content","flex-line-pack"];Kt.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"};Ry.exports=Kt});var Fy=v((Sq,By)=>{l();var v_=R(),Se=class extends v_{prefixed(e,t){return t==="-moz-"?t+(Se.toMozilla[e]||e):super.prefixed(e,t)}normalize(e){return Se.toNormal[e]||e}};Se.names=["border-radius"];Se.toMozilla={};Se.toNormal={};for(let i of["top","bottom"])for(let e of["left","right"]){let t=`border-${i}-${e}-radius`,r=`border-radius-${i}${e}`;Se.names.push(t),Se.names.push(r),Se.toMozilla[t]=r,Se.toNormal[r]=t}By.exports=Se});var Ly=v((Cq,Ny)=>{l();var x_=R(),El=class extends x_{prefixed(e,t){return e.includes("-start")?t+e.replace("-block-start","-before"):t+e.replace("-block-end","-after")}normalize(e){return e.includes("-before")?e.replace("-before","-block-start"):e.replace("-after","-block-end")}};El.names=["border-block-start","border-block-end","margin-block-start","margin-block-end","padding-block-start","padding-block-end","border-before","border-after","margin-before","margin-after","padding-before","padding-after"];Ny.exports=El});var jy=v((Aq,$y)=>{l();var k_=R(),{parseTemplate:S_,warnMissedAreas:C_,getGridGap:A_,warnGridGap:__,inheritGridGap:E_}=dt(),Ol=class extends k_{insert(e,t,r,n){if(t!=="-ms-")return super.insert(e,t,r);if(e.parent.some(h=>h.prop==="-ms-grid-rows"))return;let a=A_(e),s=E_(e,a),{rows:o,columns:u,areas:c}=S_({decl:e,gap:s||a}),f=Object.keys(c).length>0,p=Boolean(o),d=Boolean(u);return __({gap:a,hasColumns:d,decl:e,result:n}),C_(c,e,n),(p&&d||f)&&e.cloneBefore({prop:"-ms-grid-rows",value:o,raws:{}}),d&&e.cloneBefore({prop:"-ms-grid-columns",value:u,raws:{}}),e}};Ol.names=["grid-template"];$y.exports=Ol});var Vy=v((_q,zy)=>{l();var O_=R(),Tl=class extends O_{prefixed(e,t){return t+e.replace("-inline","")}normalize(e){return e.replace(/(margin|padding|border)-(start|end)/,"$1-inline-$2")}};Tl.names=["border-inline-start","border-inline-end","margin-inline-start","margin-inline-end","padding-inline-start","padding-inline-end","border-start","border-end","margin-start","margin-end","padding-start","padding-end"];zy.exports=Tl});var Wy=v((Eq,Uy)=>{l();var T_=R(),Pl=class extends T_{check(e){return!e.value.includes("flex-")&&e.value!=="baseline"}prefixed(e,t){return t+"grid-row-align"}normalize(){return"align-self"}};Pl.names=["grid-row-align"];Uy.exports=Pl});var Hy=v((Oq,Gy)=>{l();var P_=R(),Zt=class extends P_{keyframeParents(e){let{parent:t}=e;for(;t;){if(t.type==="atrule"&&t.name==="keyframes")return!0;({parent:t}=t)}return!1}contain3d(e){if(e.prop==="transform-origin")return!1;for(let t of Zt.functions3d)if(e.value.includes(`${t}(`))return!0;return!1}set(e,t){return e=super.set(e,t),t==="-ms-"&&(e.value=e.value.replace(/rotatez/gi,"rotate")),e}insert(e,t,r){if(t==="-ms-"){if(!this.contain3d(e)&&!this.keyframeParents(e))return super.insert(e,t,r)}else if(t==="-o-"){if(!this.contain3d(e))return super.insert(e,t,r)}else return super.insert(e,t,r)}};Zt.names=["transform","transform-origin"];Zt.functions3d=["matrix3d","translate3d","translateZ","scale3d","scaleZ","rotate3d","rotateX","rotateY","perspective"];Gy.exports=Zt});var Jy=v((Tq,Qy)=>{l();var Yy=de(),D_=R(),Dl=class extends D_{normalize(){return"flex-direction"}insert(e,t,r){let n;if([n,t]=Yy(t),n!==2009)return super.insert(e,t,r);if(e.parent.some(f=>f.prop===t+"box-orient"||f.prop===t+"box-direction"))return;let s=e.value,o,u;s==="inherit"||s==="initial"||s==="unset"?(o=s,u=s):(o=s.includes("row")?"horizontal":"vertical",u=s.includes("reverse")?"reverse":"normal");let c=this.clone(e);return c.prop=t+"box-orient",c.value=o,this.needCascade(e)&&(c.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,c),c=this.clone(e),c.prop=t+"box-direction",c.value=u,this.needCascade(e)&&(c.raws.before=this.calcBefore(r,e,t)),e.parent.insertBefore(e,c)}old(e,t){let r;return[r,t]=Yy(t),r===2009?[t+"box-orient",t+"box-direction"]:super.old(e,t)}};Dl.names=["flex-direction","box-direction","box-orient"];Qy.exports=Dl});var Ky=v((Pq,Xy)=>{l();var I_=R(),Il=class extends I_{check(e){return e.value==="pixelated"}prefixed(e,t){return t==="-ms-"?"-ms-interpolation-mode":super.prefixed(e,t)}set(e,t){return t!=="-ms-"?super.set(e,t):(e.prop="-ms-interpolation-mode",e.value="nearest-neighbor",e)}normalize(){return"image-rendering"}process(e,t){return super.process(e,t)}};Il.names=["image-rendering","interpolation-mode"];Xy.exports=Il});var ew=v((Dq,Zy)=>{l();var q_=R(),R_=ue(),ql=class extends q_{constructor(e,t,r){super(e,t,r);this.prefixes&&(this.prefixes=R_.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}};ql.names=["backdrop-filter"];Zy.exports=ql});var rw=v((Iq,tw)=>{l();var M_=R(),B_=ue(),Rl=class extends M_{constructor(e,t,r){super(e,t,r);this.prefixes&&(this.prefixes=B_.uniq(this.prefixes.map(n=>n==="-ms-"?"-webkit-":n)))}check(e){return e.value.toLowerCase()==="text"}};Rl.names=["background-clip"];tw.exports=Rl});var nw=v((qq,iw)=>{l();var F_=R(),N_=["none","underline","overline","line-through","blink","inherit","initial","unset"],Ml=class extends F_{check(e){return e.value.split(/\s+/).some(t=>!N_.includes(t))}};Ml.names=["text-decoration"];iw.exports=Ml});var ow=v((Rq,aw)=>{l();var sw=de(),L_=R(),er=class extends L_{prefixed(e,t){let r;return[r,t]=sw(t),r===2009?t+"box-pack":r===2012?t+"flex-pack":super.prefixed(e,t)}normalize(){return"justify-content"}set(e,t){let r=sw(t)[0];if(r===2009||r===2012){let n=er.oldValues[e.value]||e.value;if(e.value=n,r!==2009||n!=="distribute")return super.set(e,t)}else if(r==="final")return super.set(e,t)}};er.names=["justify-content","flex-pack","box-pack"];er.oldValues={"flex-end":"end","flex-start":"start","space-between":"justify","space-around":"distribute"};aw.exports=er});var uw=v((Mq,lw)=>{l();var $_=R(),Bl=class extends $_{set(e,t){let r=e.value.toLowerCase();return t==="-webkit-"&&!r.includes(" ")&&r!=="contain"&&r!=="cover"&&(e.value=e.value+" "+e.value),super.set(e,t)}};Bl.names=["background-size"];lw.exports=Bl});var cw=v((Bq,fw)=>{l();var j_=R(),Fl=dt(),Nl=class extends j_{insert(e,t,r){if(t!=="-ms-")return super.insert(e,t,r);let n=Fl.parse(e),[a,s]=Fl.translate(n,0,1);n[0]&&n[0].includes("span")&&(s=n[0].join("").replace(/\D/g,"")),[[e.prop,a],[`${e.prop}-span`,s]].forEach(([u,c])=>{Fl.insertDecl(e,u,c)})}};Nl.names=["grid-row","grid-column"];fw.exports=Nl});var hw=v((Fq,dw)=>{l();var z_=R(),{prefixTrackProp:pw,prefixTrackValue:V_,autoplaceGridItems:U_,getGridGap:W_,inheritGridGap:G_}=dt(),H_=il(),Ll=class extends z_{prefixed(e,t){return t==="-ms-"?pw({prop:e,prefix:t}):super.prefixed(e,t)}normalize(e){return e.replace(/^grid-(rows|columns)/,"grid-template-$1")}insert(e,t,r,n){if(t!=="-ms-")return super.insert(e,t,r);let{parent:a,prop:s,value:o}=e,u=s.includes("rows"),c=s.includes("columns"),f=a.some(k=>k.prop==="grid-template"||k.prop==="grid-template-areas");if(f&&u)return!1;let p=new H_({options:{}}),d=p.gridStatus(a,n),h=W_(e);h=G_(e,h)||h;let y=u?h.row:h.column;(d==="no-autoplace"||d===!0)&&!f&&(y=null);let x=V_({value:o,gap:y});e.cloneBefore({prop:pw({prop:s,prefix:t}),value:x});let w=a.nodes.find(k=>k.prop==="grid-auto-flow"),b="row";if(w&&!p.disabled(w,n)&&(b=w.value.trim()),d==="autoplace"){let k=a.nodes.find(_=>_.prop==="grid-template-rows");if(!k&&f)return;if(!k&&!f){e.warn(n,"Autoplacement does not work without grid-template-rows property");return}!a.nodes.find(_=>_.prop==="grid-template-columns")&&!f&&e.warn(n,"Autoplacement does not work without grid-template-columns property"),c&&!f&&U_(e,n,h,b)}}};Ll.names=["grid-template-rows","grid-template-columns","grid-rows","grid-columns"];dw.exports=Ll});var gw=v((Nq,mw)=>{l();var Y_=R(),$l=class extends Y_{check(e){return!e.value.includes("flex-")&&e.value!=="baseline"}prefixed(e,t){return t+"grid-column-align"}normalize(){return"justify-self"}};$l.names=["grid-column-align"];mw.exports=$l});var ww=v((Lq,yw)=>{l();var Q_=R(),jl=class extends Q_{prefixed(e,t){return t+"scroll-chaining"}normalize(){return"overscroll-behavior"}set(e,t){return e.value==="auto"?e.value="chained":(e.value==="none"||e.value==="contain")&&(e.value="none"),super.set(e,t)}};jl.names=["overscroll-behavior","scroll-chaining"];yw.exports=jl});var xw=v(($q,vw)=>{l();var J_=R(),{parseGridAreas:X_,warnMissedAreas:K_,prefixTrackProp:Z_,prefixTrackValue:bw,getGridGap:eE,warnGridGap:tE,inheritGridGap:rE}=dt();function iE(i){return i.trim().slice(1,-1).split(/["']\s*["']?/g)}var zl=class extends J_{insert(e,t,r,n){if(t!=="-ms-")return super.insert(e,t,r);let a=!1,s=!1,o=e.parent,u=eE(e);u=rE(e,u)||u,o.walkDecls(/-ms-grid-rows/,p=>p.remove()),o.walkDecls(/grid-template-(rows|columns)/,p=>{if(p.prop==="grid-template-rows"){s=!0;let{prop:d,value:h}=p;p.cloneBefore({prop:Z_({prop:d,prefix:t}),value:bw({value:h,gap:u.row})})}else a=!0});let c=iE(e.value);a&&!s&&u.row&&c.length>1&&e.cloneBefore({prop:"-ms-grid-rows",value:bw({value:`repeat(${c.length}, auto)`,gap:u.row}),raws:{}}),tE({gap:u,hasColumns:a,decl:e,result:n});let f=X_({rows:c,gap:u});return K_(f,e,n),e}};zl.names=["grid-template-areas"];vw.exports=zl});var Sw=v((jq,kw)=>{l();var nE=R(),Vl=class extends nE{set(e,t){return t==="-webkit-"&&(e.value=e.value.replace(/\s*(right|left)\s*/i,"")),super.set(e,t)}};Vl.names=["text-emphasis-position"];kw.exports=Vl});var Aw=v((zq,Cw)=>{l();var sE=R(),Ul=class extends sE{set(e,t){return e.prop==="text-decoration-skip-ink"&&e.value==="auto"?(e.prop=t+"text-decoration-skip",e.value="ink",e):super.set(e,t)}};Ul.names=["text-decoration-skip-ink","text-decoration-skip"];Cw.exports=Ul});var Dw=v((Vq,Pw)=>{l();"use strict";Pw.exports={wrap:_w,limit:Ew,validate:Ow,test:Wl,curry:aE,name:Tw};function _w(i,e,t){var r=e-i;return((t-i)%r+r)%r+i}function Ew(i,e,t){return Math.max(i,Math.min(e,t))}function Ow(i,e,t,r,n){if(!Wl(i,e,t,r,n))throw new Error(t+" is outside of range ["+i+","+e+")");return t}function Wl(i,e,t,r,n){return!(te||n&&t===e||r&&t===i)}function Tw(i,e,t,r){return(t?"(":"[")+i+","+e+(r?")":"]")}function aE(i,e,t,r){var n=Tw.bind(null,i,e,t,r);return{wrap:_w.bind(null,i,e),limit:Ew.bind(null,i,e),validate:function(a){return Ow(i,e,a,t,r)},test:function(a){return Wl(i,e,a,t,r)},toString:n,name:n}}});var Rw=v((Uq,qw)=>{l();var Gl=Yn(),oE=Dw(),lE=Wt(),uE=ke(),fE=ue(),Iw=/top|left|right|bottom/gi,Qe=class extends uE{replace(e,t){let r=Gl(e);for(let n of r.nodes)if(n.type==="function"&&n.value===this.name)if(n.nodes=this.newDirection(n.nodes),n.nodes=this.normalize(n.nodes),t==="-webkit- old"){if(!this.oldWebkit(n))return!1}else n.nodes=this.convertDirection(n.nodes),n.value=t+n.value;return r.toString()}replaceFirst(e,...t){return t.map(n=>n===" "?{type:"space",value:n}:{type:"word",value:n}).concat(e.slice(1))}normalizeUnit(e,t){return`${parseFloat(e)/t*360}deg`}normalize(e){if(!e[0])return e;if(/-?\d+(.\d+)?grad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,400);else if(/-?\d+(.\d+)?rad/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,2*Math.PI);else if(/-?\d+(.\d+)?turn/.test(e[0].value))e[0].value=this.normalizeUnit(e[0].value,1);else if(e[0].value.includes("deg")){let t=parseFloat(e[0].value);t=oE.wrap(0,360,t),e[0].value=`${t}deg`}return e[0].value==="0deg"?e=this.replaceFirst(e,"to"," ","top"):e[0].value==="90deg"?e=this.replaceFirst(e,"to"," ","right"):e[0].value==="180deg"?e=this.replaceFirst(e,"to"," ","bottom"):e[0].value==="270deg"&&(e=this.replaceFirst(e,"to"," ","left")),e}newDirection(e){if(e[0].value==="to"||(Iw.lastIndex=0,!Iw.test(e[0].value)))return e;e.unshift({type:"word",value:"to"},{type:"space",value:" "});for(let t=2;t0&&(e[0].value==="to"?this.fixDirection(e):e[0].value.includes("deg")?this.fixAngle(e):this.isRadial(e)&&this.fixRadial(e)),e}fixDirection(e){e.splice(0,2);for(let t of e){if(t.type==="div")break;t.type==="word"&&(t.value=this.revertDirection(t.value))}}fixAngle(e){let t=e[0].value;t=parseFloat(t),t=Math.abs(450-t)%360,t=this.roundFloat(t,3),e[0].value=`${t}deg`}fixRadial(e){let t=[],r=[],n,a,s,o,u;for(o=0;o{l();var cE=Wt(),pE=ke();function Mw(i){return new RegExp(`(^|[\\s,(])(${i}($|[\\s),]))`,"gi")}var Hl=class extends pE{regexp(){return this.regexpCache||(this.regexpCache=Mw(this.name)),this.regexpCache}isStretch(){return this.name==="stretch"||this.name==="fill"||this.name==="fill-available"}replace(e,t){return t==="-moz-"&&this.isStretch()?e.replace(this.regexp(),"$1-moz-available$3"):t==="-webkit-"&&this.isStretch()?e.replace(this.regexp(),"$1-webkit-fill-available$3"):super.replace(e,t)}old(e){let t=e+this.name;return this.isStretch()&&(e==="-moz-"?t="-moz-available":e==="-webkit-"&&(t="-webkit-fill-available")),new cE(this.name,t,t,Mw(t))}add(e,t){if(!(e.prop.includes("grid")&&t!=="-webkit-"))return super.add(e,t)}};Hl.names=["max-content","min-content","fit-content","fill","fill-available","stretch"];Bw.exports=Hl});var $w=v((Gq,Lw)=>{l();var Nw=Wt(),dE=ke(),Yl=class extends dE{replace(e,t){return t==="-webkit-"?e.replace(this.regexp(),"$1-webkit-optimize-contrast"):t==="-moz-"?e.replace(this.regexp(),"$1-moz-crisp-edges"):super.replace(e,t)}old(e){return e==="-webkit-"?new Nw(this.name,"-webkit-optimize-contrast"):e==="-moz-"?new Nw(this.name,"-moz-crisp-edges"):super.old(e)}};Yl.names=["pixelated"];Lw.exports=Yl});var zw=v((Hq,jw)=>{l();var hE=ke(),Ql=class extends hE{replace(e,t){let r=super.replace(e,t);return t==="-webkit-"&&(r=r.replace(/("[^"]+"|'[^']+')(\s+\d+\w)/gi,"url($1)$2")),r}};Ql.names=["image-set"];jw.exports=Ql});var Uw=v((Yq,Vw)=>{l();var mE=me().list,gE=ke(),Jl=class extends gE{replace(e,t){return mE.space(e).map(r=>{if(r.slice(0,+this.name.length+1)!==this.name+"(")return r;let n=r.lastIndexOf(")"),a=r.slice(n+1),s=r.slice(this.name.length+1,n);if(t==="-webkit-"){let o=s.match(/\d*.?\d+%?/);o?(s=s.slice(o[0].length).trim(),s+=`, ${o[0]}`):s+=", 0.5"}return t+this.name+"("+s+")"+a}).join(" ")}};Jl.names=["cross-fade"];Vw.exports=Jl});var Gw=v((Qq,Ww)=>{l();var yE=de(),wE=Wt(),bE=ke(),Xl=class extends bE{constructor(e,t){super(e,t);e==="display-flex"&&(this.name="flex")}check(e){return e.prop==="display"&&e.value===this.name}prefixed(e){let t,r;return[t,e]=yE(e),t===2009?this.name==="flex"?r="box":r="inline-box":t===2012?this.name==="flex"?r="flexbox":r="inline-flexbox":t==="final"&&(r=this.name),e+r}replace(e,t){return this.prefixed(t)}old(e){let t=this.prefixed(e);if(!!t)return new wE(this.name,t)}};Xl.names=["display-flex","inline-flex"];Ww.exports=Xl});var Yw=v((Jq,Hw)=>{l();var vE=ke(),Kl=class extends vE{constructor(e,t){super(e,t);e==="display-grid"&&(this.name="grid")}check(e){return e.prop==="display"&&e.value===this.name}};Kl.names=["display-grid","inline-grid"];Hw.exports=Kl});var Jw=v((Xq,Qw)=>{l();var xE=ke(),Zl=class extends xE{constructor(e,t){super(e,t);e==="filter-function"&&(this.name="filter")}};Zl.names=["filter","filter-function"];Qw.exports=Zl});var eb=v((Kq,Zw)=>{l();var Xw=ii(),M=R(),Kw=qm(),kE=Xm(),SE=il(),CE=gg(),eu=ct(),tr=Gt(),AE=Cg(),$e=ke(),rr=ue(),_E=_g(),EE=Og(),OE=Pg(),TE=Ig(),PE=Fg(),DE=$g(),IE=zg(),qE=Ug(),RE=Gg(),ME=Yg(),BE=Jg(),FE=Kg(),NE=ey(),LE=ry(),$E=ny(),jE=oy(),zE=uy(),VE=py(),UE=hy(),WE=gy(),GE=by(),HE=xy(),YE=Cy(),QE=_y(),JE=Oy(),XE=Py(),KE=Iy(),ZE=My(),e5=Fy(),t5=Ly(),r5=jy(),i5=Vy(),n5=Wy(),s5=Hy(),a5=Jy(),o5=Ky(),l5=ew(),u5=rw(),f5=nw(),c5=ow(),p5=uw(),d5=cw(),h5=hw(),m5=gw(),g5=ww(),y5=xw(),w5=Sw(),b5=Aw(),v5=Rw(),x5=Fw(),k5=$w(),S5=zw(),C5=Uw(),A5=Gw(),_5=Yw(),E5=Jw();tr.hack(_E);tr.hack(EE);tr.hack(OE);tr.hack(TE);M.hack(PE);M.hack(DE);M.hack(IE);M.hack(qE);M.hack(RE);M.hack(ME);M.hack(BE);M.hack(FE);M.hack(NE);M.hack(LE);M.hack($E);M.hack(jE);M.hack(zE);M.hack(VE);M.hack(UE);M.hack(WE);M.hack(GE);M.hack(HE);M.hack(YE);M.hack(QE);M.hack(JE);M.hack(XE);M.hack(KE);M.hack(ZE);M.hack(e5);M.hack(t5);M.hack(r5);M.hack(i5);M.hack(n5);M.hack(s5);M.hack(a5);M.hack(o5);M.hack(l5);M.hack(u5);M.hack(f5);M.hack(c5);M.hack(p5);M.hack(d5);M.hack(h5);M.hack(m5);M.hack(g5);M.hack(y5);M.hack(w5);M.hack(b5);$e.hack(v5);$e.hack(x5);$e.hack(k5);$e.hack(S5);$e.hack(C5);$e.hack(A5);$e.hack(_5);$e.hack(E5);var tu=new Map,si=class{constructor(e,t,r={}){this.data=e,this.browsers=t,this.options=r,[this.add,this.remove]=this.preprocess(this.select(this.data)),this.transition=new kE(this),this.processor=new SE(this)}cleaner(){if(this.cleanerCache)return this.cleanerCache;if(this.browsers.selected.length){let e=new eu(this.browsers.data,[]);this.cleanerCache=new si(this.data,e,this.options)}else return this;return this.cleanerCache}select(e){let t={add:{},remove:{}};for(let r in e){let n=e[r],a=n.browsers.map(u=>{let c=u.split(" ");return{browser:`${c[0]} ${c[1]}`,note:c[2]}}),s=a.filter(u=>u.note).map(u=>`${this.browsers.prefix(u.browser)} ${u.note}`);s=rr.uniq(s),a=a.filter(u=>this.browsers.isSelected(u.browser)).map(u=>{let c=this.browsers.prefix(u.browser);return u.note?`${c} ${u.note}`:c}),a=this.sort(rr.uniq(a)),this.options.flexbox==="no-2009"&&(a=a.filter(u=>!u.includes("2009")));let o=n.browsers.map(u=>this.browsers.prefix(u));n.mistakes&&(o=o.concat(n.mistakes)),o=o.concat(s),o=rr.uniq(o),a.length?(t.add[r]=a,a.length!a.includes(u)))):t.remove[r]=o}return t}sort(e){return e.sort((t,r)=>{let n=rr.removeNote(t).length,a=rr.removeNote(r).length;return n===a?r.length-t.length:a-n})}preprocess(e){let t={selectors:[],"@supports":new CE(si,this)};for(let n in e.add){let a=e.add[n];if(n==="@keyframes"||n==="@viewport")t[n]=new AE(n,a,this);else if(n==="@resolution")t[n]=new Kw(n,a,this);else if(this.data[n].selector)t.selectors.push(tr.load(n,a,this));else{let s=this.data[n].props;if(s){let o=$e.load(n,a,this);for(let u of s)t[u]||(t[u]={values:[]}),t[u].values.push(o)}else{let o=t[n]&&t[n].values||[];t[n]=M.load(n,a,this),t[n].values=o}}}let r={selectors:[]};for(let n in e.remove){let a=e.remove[n];if(this.data[n].selector){let s=tr.load(n,a);for(let o of a)r.selectors.push(s.old(o))}else if(n==="@keyframes"||n==="@viewport")for(let s of a){let o=`@${s}${n.slice(1)}`;r[o]={remove:!0}}else if(n==="@resolution")r[n]=new Kw(n,a,this);else{let s=this.data[n].props;if(s){let o=$e.load(n,[],this);for(let u of a){let c=o.old(u);if(c)for(let f of s)r[f]||(r[f]={}),r[f].values||(r[f].values=[]),r[f].values.push(c)}}else for(let o of a){let u=this.decl(n).old(n,o);if(n==="align-self"){let c=t[n]&&t[n].prefixes;if(c){if(o==="-webkit- 2009"&&c.includes("-webkit-"))continue;if(o==="-webkit-"&&c.includes("-webkit- 2009"))continue}}for(let c of u)r[c]||(r[c]={}),r[c].remove=!0}}}return[t,r]}decl(e){return tu.has(e)||tu.set(e,M.load(e)),tu.get(e)}unprefixed(e){let t=this.normalize(Xw.unprefixed(e));return t==="flex-direction"&&(t="flex-flow"),t}normalize(e){return this.decl(e).normalize(e)}prefixed(e,t){return e=Xw.unprefixed(e),this.decl(e).prefixed(e,t)}values(e,t){let r=this[e],n=r["*"]&&r["*"].values,a=r[t]&&r[t].values;return n&&a?rr.uniq(n.concat(a)):n||a||[]}group(e){let t=e.parent,r=t.index(e),{length:n}=t.nodes,a=this.unprefixed(e.prop),s=(o,u)=>{for(r+=o;r>=0&&r{l();tb.exports={"backdrop-filter":{feature:"css-backdrop-filter",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},element:{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-element-function",browsers:["firefox 114"]},"user-select":{mistakes:["-khtml-"],feature:"user-select-none",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"background-clip":{feature:"background-clip-text",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},hyphens:{feature:"css-hyphens",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},fill:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"fill-available":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},stretch:{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"fit-content":{props:["width","min-width","max-width","height","min-height","max-height","inline-size","min-inline-size","max-inline-size","block-size","min-block-size","max-block-size","grid","grid-template","grid-template-rows","grid-template-columns","grid-auto-columns","grid-auto-rows"],feature:"intrinsic-width",browsers:["firefox 114"]},"text-decoration-style":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-color":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-line":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-decoration-skip-ink":{feature:"text-decoration",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"text-size-adjust":{feature:"text-size-adjust",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5"]},"mask-clip":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-composite":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-image":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-origin":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-repeat":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-source":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},mask:{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-position":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-size":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-outset":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-width":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"mask-border-slice":{feature:"css-masks",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},"clip-path":{feature:"css-clip-path",browsers:["samsung 21"]},"box-decoration-break":{feature:"css-boxdecorationbreak",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","opera 99","safari 16.5","samsung 21"]},appearance:{feature:"css-appearance",browsers:["samsung 21"]},"image-set":{props:["background","background-image","border-image","cursor","mask","mask-image","list-style","list-style-image","content"],feature:"css-image-set",browsers:["and_uc 15.5","chrome 109","samsung 21"]},"cross-fade":{props:["background","background-image","border-image","mask","list-style","list-style-image","content","mask-image"],feature:"css-cross-fade",browsers:["and_chr 114","and_uc 15.5","chrome 109","chrome 113","chrome 114","edge 114","opera 99","samsung 21"]},isolate:{props:["unicode-bidi"],feature:"css-unicode-bidi",browsers:["ios_saf 16.1","ios_saf 16.3","ios_saf 16.4","ios_saf 16.5","safari 16.5"]},"color-adjust":{feature:"css-color-adjust",browsers:["chrome 109","chrome 113","chrome 114","edge 114","opera 99"]}}});var nb=v((e6,ib)=>{l();ib.exports={}});var lb=v((t6,ob)=>{l();var O5=Wo(),{agents:T5}=(zn(),jn),ru=bm(),P5=ct(),D5=eb(),I5=rb(),q5=nb(),sb={browsers:T5,prefixes:I5},ab=` + Replace Autoprefixer \`browsers\` option to Browserslist config. + Use \`browserslist\` key in \`package.json\` or \`.browserslistrc\` file. + + Using \`browsers\` option can cause errors. Browserslist config can + be used for Babel, Autoprefixer, postcss-normalize and other tools. + + If you really need to use option, rename it to \`overrideBrowserslist\`. + + Learn more at: + https://github.com/browserslist/browserslist#readme + https://twitter.com/browserslist + +`;function R5(i){return Object.prototype.toString.apply(i)==="[object Object]"}var iu=new Map;function M5(i,e){e.browsers.selected.length!==0&&(e.add.selectors.length>0||Object.keys(e.add).length>2||i.warn(`Autoprefixer target browsers do not need any prefixes.You do not need Autoprefixer anymore. +Check your Browserslist config to be sure that your targets are set up correctly. + + Learn more at: + https://github.com/postcss/autoprefixer#readme + https://github.com/browserslist/browserslist#readme + +`))}ob.exports=ir;function ir(...i){let e;if(i.length===1&&R5(i[0])?(e=i[0],i=void 0):i.length===0||i.length===1&&!i[0]?i=void 0:i.length<=2&&(Array.isArray(i[0])||!i[0])?(e=i[1],i=i[0]):typeof i[i.length-1]=="object"&&(e=i.pop()),e||(e={}),e.browser)throw new Error("Change `browser` option to `overrideBrowserslist` in Autoprefixer");if(e.browserslist)throw new Error("Change `browserslist` option to `overrideBrowserslist` in Autoprefixer");e.overrideBrowserslist?i=e.overrideBrowserslist:e.browsers&&(typeof console!="undefined"&&console.warn&&(ru.red?console.warn(ru.red(ab.replace(/`[^`]+`/g,n=>ru.yellow(n.slice(1,-1))))):console.warn(ab)),i=e.browsers);let t={ignoreUnknownVersions:e.ignoreUnknownVersions,stats:e.stats,env:e.env};function r(n){let a=sb,s=new P5(a.browsers,i,n,t),o=s.selected.join(", ")+JSON.stringify(e);return iu.has(o)||iu.set(o,new D5(a.prefixes,s,e)),iu.get(o)}return{postcssPlugin:"autoprefixer",prepare(n){let a=r({from:n.opts.from,env:e.env});return{OnceExit(s){M5(n,a),e.remove!==!1&&a.processor.remove(s,n),e.add!==!1&&a.processor.add(s,n)}}},info(n){return n=n||{},n.from=n.from||m.cwd(),q5(r(n))},options:e,browsers:i}}ir.postcss=!0;ir.data=sb;ir.defaults=O5.defaults;ir.info=()=>ir().info()});var ub={};Ae(ub,{default:()=>B5});var B5,fb=C(()=>{l();B5=[]});var pb={};Ae(pb,{default:()=>F5});var cb,F5,db=C(()=>{l();hi();cb=K(bi()),F5=Ze(cb.default.theme)});var mb={};Ae(mb,{default:()=>N5});var hb,N5,gb=C(()=>{l();hi();hb=K(bi()),N5=Ze(hb.default)});l();"use strict";var L5=Je(ym()),$5=Je(me()),j5=Je(lb()),z5=Je((fb(),ub)),V5=Je((db(),pb)),U5=Je((gb(),mb)),W5=Je((ts(),ku)),G5=Je((bo(),wo)),H5=Je((gs(),rf));function Je(i){return i&&i.__esModule?i:{default:i}}console.warn("cdn.tailwindcss.com should not be used in production. To use Tailwind CSS in production, install it as a PostCSS plugin or use the Tailwind CLI: https://tailwindcss.com/docs/installation");var Qn="tailwind",nu="text/tailwindcss",yb="/template.html",vt,wb=!0,bb=0,su=new Set,au,vb="",xb=(i=!1)=>({get(e,t){return(!i||t==="config")&&typeof e[t]=="object"&&e[t]!==null?new Proxy(e[t],xb()):e[t]},set(e,t,r){return e[t]=r,(!i||t==="config")&&ou(!0),!0}});window[Qn]=new Proxy({config:{},defaultTheme:V5.default,defaultConfig:U5.default,colors:W5.default,plugin:G5.default,resolveConfig:H5.default},xb(!0));function kb(i){au.observe(i,{attributes:!0,attributeFilter:["type"],characterData:!0,subtree:!0,childList:!0})}new MutationObserver(async i=>{let e=!1;if(!au){au=new MutationObserver(async()=>await ou(!0));for(let t of document.querySelectorAll(`style[type="${nu}"]`))kb(t)}for(let t of i)for(let r of t.addedNodes)r.nodeType===1&&r.tagName==="STYLE"&&r.getAttribute("type")===nu&&(kb(r),e=!0);await ou(e)}).observe(document.documentElement,{attributes:!0,attributeFilter:["class"],childList:!0,subtree:!0});async function ou(i=!1){i&&(bb++,su.clear());let e="";for(let r of document.querySelectorAll(`style[type="${nu}"]`))e+=r.textContent;let t=new Set;for(let r of document.querySelectorAll("[class]"))for(let n of r.classList)su.has(n)||t.add(n);if(document.body&&(wb||t.size>0||e!==vb||!vt||!vt.isConnected)){for(let n of t)su.add(n);wb=!1,vb=e,self[yb]=Array.from(t).join(" ");let{css:r}=await(0,$5.default)([(0,L5.default)({...window[Qn].config,_hash:bb,content:[yb],plugins:[...z5.default,...Array.isArray(window[Qn].config.plugins)?window[Qn].config.plugins:[]]}),(0,j5.default)({remove:!1})]).process(`@tailwind base;@tailwind components;@tailwind utilities;${e}`);(!vt||!vt.isConnected)&&(vt=document.createElement("style"),document.head.append(vt)),vt.textContent=r}}})(); +/*! https://mths.be/cssesc v3.0.0 by @mathias */ \ No newline at end of file diff --git a/maixpy/static/css/theme_default/dark.css b/maixpy/static/css/theme_default/dark.css new file mode 100644 index 00000000..8b510256 --- /dev/null +++ b/maixpy/static/css/theme_default/dark.css @@ -0,0 +1,169 @@ +/** + teedoc light theme css + @author neucrack + @copyright (c) neucrack CZD666666@gmail.com with MIT License + @changes 2021.1.27 add basic attrributes + */ + + /* + use .dark class to cover light theme style + */ + +/* global template */ +.dark body { + color: #d1d1d1; + background-color: #1b1b1b; +} +.dark a { + color: #8a8a8a; +} +.dark a:visited { + color: #8a8a8a; +} +.dark code { + background-color: #2a2a2a; +} +.dark pre[class*="language-"].line-numbers > code { + background: none; + padding: 0; +} +.dark #navbar .sub_items ul { + box-shadow: 0 0 9px 0px #000000; + background-color: #232323; +} +.dark #sidebar .active > a, +.dark #navbar .active > a { + background-color: #2d2d2d; + color: #c33d45; +} +.dark #sidebar .active > a, +.dark #navbar .active > a, +.dark #navbar .active_parent > a { + background-color: #2d2d2d; +} +.dark #sidebar li > a:hover, +.dark #sidebar li.active_parent > a:hover, +.dark #navbar li > a:hover, +.dark #navbar .sub_items > a:hover { + background-color: #2d2d2d; +} +.dark #sidebar ul .active_parent > a { + background-color: #232323; +} +.dark .gutter.gutter-horizontal { + background-color: #484848; +} +.dark *::-webkit-scrollbar-track { + background: #484848; +} +.dark *::-webkit-scrollbar-thumb { + background-color: #6b6b6b; +} +.dark #article #toc { + background-color: #1b1b1b; +} +.dark #to_top { + background-color: #2d2d2d; + box-shadow: 8px 8px 20px #000000; +} +.dark #to_top:hover { + box-shadow: 8px 8px 28px #000000; +} +.dark #to_top:active { + box-shadow: 0px 0px 20px #000000; +} +.dark blockquote { + background-color: #2d2d2d; +} +.dark blockquote.spoiler { + border-left: 5px solid #FF9800; + background-color: #6e5200; + color: white; +} +.dark td { + background-color: #373737; + border: 2px solid #555555; +} +.dark th { + font-weight: 700; + background-color: #0f5943; + color: white; + border: 2px solid #006f4f; +} +.dark sup a { + background-color: #2d2d2d; +} +.dark a:hover { + background-color: #424242; +} +.dark #doc_footer { + background-color: #2d2d2d; + border-top: 1px solid #2d2d2d; +} +.dark #page_footer { + background-color: #2d2d2d; + border-top: 1px solid #2d2d2d; +} +.dark #footer a:hover { + background-color: #404040; +} +.dark #previous_next { + border-top: 1px solid #525252; +} +.dark #previous_next a { + background-color: #2d2d2d; +} + +/* google translate */ +.dark #navbar #google_translate_element .goog-te-gadget-simple { + background-color: #1b1b1b; +} +.dark #navbar #google_translate_element .goog-te-gadget-simple .goog-te-menu-value { + color: #8a8a8a; +} + +/* tabset */ +.dark .tabset { + border: 0.2em solid #4c4c4c; +} +.dark .tabset-text-container { + background-color: #212121; +} +.dark .tabset-tab-active { + background-color: #212121; +} + +/* details */ +.dark details { + border: 0.2em solid #4c4c4c; +} +.dark details > .details-content { + background-color: #212121; +} + +/* markdown */ +.dark #mermaid-1662893106119 .messageText { + fill: #6f6f6f; + stroke: #6f6f6f; +} +#mermaid-1662893106119 .loopText, #mermaid-1662893106119 .loopText>tspan { + fill: #a99b1a; + stroke: none; +} + +@media screen and (max-width: 900px) { + .dark #menu_wrapper.m_menu_fixed { + background-color: rgb(27, 27, 27, 0.9); + box-shadow: 0px 1px 10px 0px rgb(0, 0, 0, 0.32); + } + .dark #sidebar_wrapper { + background-color: #1b1b1b; + } + .dark #navbar { + display: block; + border-bottom: 1px solid #383838; + z-index: 89; + } +} + + diff --git a/maixpy/static/css/theme_default/light.css b/maixpy/static/css/theme_default/light.css new file mode 100644 index 00000000..8e95ef93 --- /dev/null +++ b/maixpy/static/css/theme_default/light.css @@ -0,0 +1,1351 @@ +/** + teedoc light theme css + @author neucrack + @copyright (c) neucrack CZD666666@gmail.com with MIT License + @changes 2021.1.26 add basic attrributes + */ + +/* global template */ +body { + color: #606975; + background-color: white; + transition: 0.4s; + margin: 0; + display: flex; + flex-direction: column; + justify-content: space-between; + min-height: 100vh; + letter-spacing: 0.03em; + font-family: "Microsoft YaHei",Helvetica,"Meiryo UI","Malgun Gothic","Segoe UI","Trebuchet MS",Monaco,monospace,Tahoma,STXihei,"华文细黑",STHeiti,"Helvetica Neue","Droid Sans","wenquanyi micro hei",FreeSans,Arimo,Arial,SimSun,"宋体",Heiti,"黑体",sans-serif; +} +a { + color: #606975; + text-decoration: none; +} +a:visited { + color: #606975; +} +a:hover { + background-color: #d8d8d8; + border-radius: 5px; + transition: 0.4s; +} +h1 { + text-align: center; + font-size: 2.2em; +} +h2 { + font-size: 2em; +} +h3 { + font-size: 1.5em; +} +h4 { + font-size: 1.17em; +} +h5 { + font-size: 1em; +} +h6 { + font-size: 0.83em; +} + +p { + /* text-align: justify; */ + line-height: 2em; +} +blockquote { + border-left: 4px solid #c33d45; + margin: 0 0 1em 2px; + padding: 1px; + padding-left: 1em; + background-color: #f1f1f1; + border-radius: 0 5px 5px 0; + transition: 0.4s; +} +blockquote.spoiler { + border-left: 5px solid #FF9800; + background-color: #ffd65b; +} +*::-webkit-scrollbar { + width : 0.8rem; + height: 0.8rem; + min-width: 0.8rem; + min-height: 0.6rem; +} +#sidebar ul::-webkit-scrollbar { + width : 0.45rem; + height: 0.8rem; + min-width: 0.45rem; + min-height: 0.6rem; +} +*::-webkit-scrollbar-thumb { + border-radius : 0.6rem; + background-color: #b8b8b8; +} +*::-webkit-scrollbar-track { + background : #ededed; + border-radius: 10px; +} +sup a { + font-size: 1.1em; + background-color: #f1f1f1; + padding: 4px; + border-left: 1px solid #c33d45; + border-right: 1px solid #c33d45; +} +dl > dt { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; + display: block; + width: 100%; + overflow: auto; + word-break: keep-all; + border-color: transparent; +} +tr { + background-color: #f1f1f1; + border-top: 1px solid #ccc; +} +td, th { + padding: 6px 13px; + transition: 0.4s; +} +th { + font-weight: 700; + color: white; + filter: brightness(110%); + border: 2px solid #c33d45; + background-color: #c33d45; +} +td { + background-color: #fbfbfb; + border: 2px solid #f1f1f1; +} +code { + background-color: #f1f1f1; + border-radius: 0.2em; + transition: 0.4s; + font-family: Menlo, Consolas, "DejaVu Sans Mono", Bitstream Vera Sans Mono, Courier New, monospace, Monaco, 'Andale Mono', 'Ubuntu Mono', "Microsoft YaHei"; + font-size: 85%; + padding: 0.2em 0.4em; + color: #c33d45; +} +pre[class*="language-"].line-numbers > code { + background: none; + padding: 0; +} +.btn, +#page_content .btn, +#content_body .btn { + color: white; + border-radius: 5px; + transition: 0.2s; + padding: 1em; + cursor: pointer; + transition: 0.2s; + background: #c33d45; +} +.btn:hover, +#page_content .btn:hover, +#content_body .btn:hover { + background: #c33d45; + box-shadow: 1px 1px 5px 0px #c33d45; +} +.btn:visited, +#page_content .btn:visited, +#content_body .btn:visited { + color: white; +} + +/* wrapper */ +.type_doc #wrapper { + margin-top: 1.5em; +} +#wrapper { + display: flex; + flex-grow: 1; +} +#page_wrapper { + display: flex; + flex-grow: 1; + flex-direction: column; + justify-content: space-between; + text-align: center; +} + +/* page */ +#page_content { + width: 100%; + flex-grow: 1; + display: flex; + flex-direction: row; +} +#page_content > div { + flex-grow: 1; + align-self: center; +} +#page_content a { + color: #c33a3a; +} + +/* navbar */ +#navbar { + display: flex; + justify-content: start; + z-index: 100; +} +#navbar * { + display: flex; + align-items: center; +} +#navbar_menu_btn { + display: none; +} +#navbar #navbar_items { + display: flex; + flex-grow: 1; + justify-content: space-between; + padding-right: 1em; + word-break: keep-all; +} +#navbar h2 { + color: #c33d45; +} +#navbar a{ + margin: 5px; + padding: 10px 15px; + cursor: pointer; +} +#navbar a.site_title{ + padding: 0; +} +#navbar a.site_title:hover{ + background-color: transparent; +} +#navbar .site_logo { + max-height: 60px; +} +#navbar ul { + list-style: none; + padding-inline-start: 10px; +} +#navbar .sub_items { + position: relative; + display: block; +} +#navbar .sub_items > a { + margin: 5px; + padding: 10px 15px; +} +#navbar .sub_items > a:hover + ul { + visibility: visible; +} +#navbar .sub_items ul { + display: block; + position: absolute; + left: 0; + box-shadow: 0 0 9px 0px #dadada; + border-radius: 5px; + padding: 0; + width: max-content; + min-width: 100%; + background-color: white; + visibility: hidden; + margin-top: -5px; + z-index: 101; + transition: 0.2s; +} +#navbar .sub_items ul:hover { + visibility: visible; +} +#navbar .sub_items ul li { + display: block; +} + +#navbar .sub_items ul ul { + left: 100%; + top: 0; +} + + +/* sidebar */ +#sidebar_wrapper { + width: 300px; +} +/* sidebar splitter */ +.gutter_icon { + background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg==); + width: 3px; + height: 2em; + background-repeat: no-repeat; + position: fixed; + top: 50%; +} +.gutter { + background-color: #eee; + background-repeat: no-repeat; + background-position: 50%; + transition: 0.2s; + border-radius: 5px; + display: block; +} + +.gutter.gutter-horizontal { + /* background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg=='); */ + cursor: col-resize; +} + +#sidebar { + /* width: 300px; + min-width: 200px; + position: sticky; + top: 0; + overflow-x: hidden; */ + /* min-width: 200px; */ + /* position: sticky; */ + /* top: 0; */ + /* overflow-x: hidden; */ + display: flex; + flex-direction: column; + height: 100vh; + position: -webkit-sticky; + position: sticky; + top: 0; + padding-top: var(--ifm-navbar-height); + /* width: var(--doc-sidebar-width); */ + transition: opacity 50ms; + padding-top: 0; + z-index: 1; +} +#sidebar ul { + padding-inline-start: 20px; + display: none; +} +#sidebar > ul { + padding-inline-start: 0; + padding: .5rem; + display: block; + padding-bottom: 3em; + margin: 0; + overflow-y: auto; + overflow-x: hidden; +} +#sidebar ul .show{ + /* display: block; */ /* js instead, just reserve this item*/ +} +#sidebar ul .active_parent { + display: block; +} +#sidebar ul .active_parent > ul{ + display: block; +} +#sidebar ul.collapsed, #sidebar ul .active_parent > ul.collapsed{ + /* display: none; */ /* js instead, just reserve this item*/ +} +#sidebar ul .active_parent > a{ + background-color: #f1f1f1; + border-radius: 5px; + transition: 0.4s; +} +#sidebar li { + list-style: none; + margin: 2px 0; + position: relative; +} +#sidebar li > a { + display: flex; + justify-content: space-between; + padding: 0; + font-size: 0.9em; +} +#sidebar a:hover { + cursor: pointer; +} +#sidebar .active > a, #navbar .active > a, #navbar .active_parent > a{ + background-color: #f1f1f1; + border-radius: 5px; + color: #c33d45; + transition: 0.4s; +} +#navbar .sub_items .active > a { + transition: 0s; +} +#sidebar .active > a { + transition: 0.4s; +} +#sidebar li > a > .label { + padding: 10px; + display: inline-block; + white-space: nowrap; + width: 100%; + overflow: hidden; + text-overflow: ellipsis; +} + +#sidebar li > a:hover, +#sidebar li.active_parent > a:hover, +#navbar li > a:hover, +#navbar .sub_items > a:hover{ + background-color: #d8d8d8; + border-radius: 5px; + transition: 0.4s; +} +#sidebar .sub_indicator { + transition: transform 0.4s linear; + background: url("/maixpy/static/image/theme_default/indicator.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + align-self: center; + height: 1.25rem; + width: 1.25rem; + -ms-transform: rotate(-45deg); + -moz-transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + transition: 0.2s; +} + +#sidebar .sub_indicator:hover, +#sidebar li.no_link > a:hover > .sub_indicator, +#sidebar li.no_link > a.sub_indicator:hover, +#sidebar li.no_link > a.sub_indicator{ + height: 1.6em; + width: 1.6em; +} +#sidebar .sub_indicator_collapsed { + -ms-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + transform: rotate(0deg); +} +#sidebar li.sidebar_category { + font-size: 0.9em; + color: #9e9e9e; + margin: 1em 0 0.1em 0; +} +#sidebar .tip { + position: fixed; + color: white; + left: 300px; + top: 18%; + box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.19); + border-radius: 0.2em; + padding: 1em; + display: flex; + flex-direction: column; + width: max-content; + transition: 0.4s; + visibility: hidden; + opacity: 0; + background: #c33d45; +} +#sidebar li > a:hover+.tip, #sidebar .tip:hover { + visibility: visible; + opacity: 1; +} +.blog_info > span { + margin: 0.4em; +} +.blog_tags { + text-align: center; + margin-top: 1em; +} +.blog_tags > span { + border-radius: 0.2em; + padding: 0.2em; + margin: 0.4em; + filter: brightness(120%); + border: 1px solid #c33d45; +} +#blog_list > ul { + padding-left: 0; +} +#blog_list > ul > li { + list-style: none; + box-shadow: 0px 0px 7px #00000033; + margin: 2em 1em; + padding: 2em; + border-radius: 0.4em; +} +#blog_list > ul > li a, #blog_list > ul > li a:visited { + padding: 0; + color: #c33d45; +} +html[lang^=zh] #article_content #blog_list h2:before { + content: ""; +} +#blog_list .blog_tags { + text-align: left; +} +#blog_list .blog_info { + color: #ababab; +} +#blog_list .blog_brief { + color: #828282; +} +.blog_cover { + text-align: center; + margin-top: 1em; +} +.blog_cover > img { + width: 100%; +} +#menu_wrapper { + width: 2%; +} +#menu { + background: url("/maixpy/static/image/theme_default/menu.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + border-radius: 5px; + min-height: 2rem; + min-width: 2rem; + transition: 0.2s; + cursor: pointer; + position: sticky; + top: 1em; + z-index: 99; + margin-left: 0.2em; +} + +/* article */ +#article { + display: flex; + width: 98%; + margin: auto; + justify-content: space-evenly; +} +#toc_wrapper { + width: 25%; +} +#article #toc { + background-color: white; + position: sticky; + transition: 0.4s; + top: 15%; + max-height: calc(100vh - 15vh); + overflow-y: auto; +} +#article #toc a{ + padding: 0.2em 0.0em; + display: block; + font-size: 0.9em; +} +#article #toc ul, #article #toc ol { + list-style: none; + padding-left: 1.5em; +} +#article #toc > div > ul, #article #toc > div > ol { + padding-left: 1em; +} + +/* add numbers for toc */ +#toc {counter-reset: toc_l1;} +#toc #toc_content {counter-reset: toc_l2;} +#toc a.node-name--H1 { + counter-reset: toc_l2; +} +#toc a.node-name--H2 { + counter-reset: toc_l3; +} +#toc a.node-name--H1:before { + counter-increment: toc_l1; +} +#toc a.node-name--H2:before { + counter-increment: toc_l2; + content: counter(toc_l2, decimal) ".\00a0"; +} +html[lang^=zh] #toc a.node-name--H2:before { + counter-increment: toc_l2; + content: counter(toc_l2, simp-chinese-informal) "、"; +} +#toc a.node-name--H3:before { + counter-increment: toc_l3; + content: counter(toc_l2, decimal) "." counter(toc_l3, decimal) ".\00a0"; +} +.heading_no_counter #toc a.node-name--H2:before { + content: ""; +} +.heading_no_counter #toc a.node-name--H3:before { + content: ""; +} +html[lang^=zh].heading_no_counter #toc a.node-name--H2:before { + content: ""; +} +/* add numbers for titles toc*/ + + +/* article content */ +#content_wrapper { + flex-grow: 1; + justify-content: space-between; + flex-direction: column; + display: flex; + width: 65%; +} +#content_body { + max-width: 50em; + width: 90%; + display: flex; + flex-direction: column; + justify-content: space-between; + line-height: 2em; + margin: auto; +} +#content_body h1 { + line-height: initial; +} +#content_body a, #content_body a:visited { + color: #c33a3a; + padding: 0.2em; +} +#content_body a:hover { + background-color: #fde1e1; + padding: 0.2em; + border-radius: 0.2em; +} +#content_body img { + max-width: 100%; + object-fit: contain; + cursor: zoom-in; +} + +/* add numbers for titles */ +#article_content { + /* counter-reset: h2section h3section h4section; */ + min-height: 50vh; + word-break: break-word; +} +#article_content h1 { + /* counter-reset: h2section h3section h4section; */ + line-height: 1.3em; +} +#article_content h2 { + /* counter-reset: h3section h4section; */ + line-height: 1.3em; +} +/* #article_content h3 { + counter-reset: h4section; +} +#article_content h2:before +{ + counter-increment: h2section; + content: counter(h2section, upper-roman) "、"; +} +#article_content h3:before +{ + counter-increment: h3section; + content: counter(h2section, decimal) "." counter(h3section, decimal) "、"; +} +#article_content h4:before +{ + counter-increment: h4section; + content: counter(h2section, decimal) "." counter(h3section, decimal) "." counter(h4section, decimal) "、"; +} +html[lang^=zh] #article_content h2:before { + content: counter(h2section, simp-chinese-informal) "、"; +} +html[lang^=zh] #article_content h3:before { + content: counter(h2section, decimal) "." counter(h3section, decimal) "、"; +} +html[lang^=zh] #article_content h4:before { + content: counter(h2section, decimal) "." counter(h3section, decimal) "." counter(h4section, decimal) "、"; +} +.heading_no_counter #article_content h2:before { + content: ""; +} +.heading_no_counter #article_content h3:before { + content: ""; +} +.heading_no_counter #article_content h4:before { + content: ""; +} +html[lang^=zh].heading_no_counter #article_content h2:before { + content: ""; +} +html[lang^=zh].heading_no_counter #article_content h3:before { + content: ""; +} +html[lang^=zh].heading_no_counter #article_content h4:before { + content: ""; +} */ +/* add numbers for titles end*/ + +#article_head { + margin-bottom: 2em; +} +#article_tags ul { + list-style: none; + display: flex; + align-items: baseline; + justify-content: flex-end; + padding: 0 +} +#article_tags ul li{ + margin: 5px; + padding: 8px; + border-radius: 5px; + color: #ffffffcc; + font-size: 0.9em; + background-color: #c33d45; +} +#article_info { + display: flex; + flex-direction: row; + justify-content: space-between; +} +#article_info > div { + align-self: center; + display: flex; + flex-direction: row; + align-items: center; +} +#article_info > div > div { + margin: 2px; +} +#article_info #print_page { + height: 1em; + width: 1em; + cursor: pointer; + background-repeat: no-repeat; + background-size: contain; + background-image: url("/maixpy/static/image/theme_default/print.svg"); +} +#article_info>div>span { + padding: 0.2em; + color: #c33d45; +} +#source_link { + display: flex; + flex-direction: row; + justify-content: flex-end; +} + +/* cover prism.css */ + +:not(pre) > code[class*="language-"], pre[class*="language-"] { + background: #2d2d2d; + border-radius: 5px; +} +div.code-toolbar > .toolbar a, div.code-toolbar > .toolbar button, div.code-toolbar > .toolbar span { + color: #fff; + font-size: .8em; + padding: 1em; + background: #f5f2f0; + background: rgba(224, 224, 224, 0.2); + box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); + border-radius: .5em; + cursor: pointer; +} +div.code-toolbar > .toolbar a:hover, div.code-toolbar > .toolbar a:focus, div.code-toolbar > .toolbar button:hover, div.code-toolbar > .toolbar button:focus, div.code-toolbar > .toolbar span:hover, div.code-toolbar > .toolbar span:focus { + color: #a9ffe0; + text-decoration: none; +} + +/* back to top button */ +/* #to_top_wrapper { +} */ +#to_top { + background: url("/maixpy/static/image/theme_default/to-top.svg"); + background-size: 2em; + background-repeat: no-repeat; + background-position: center; + align-self: flex-end; + position: sticky; + bottom: 6em; + right: 3em; + margin: 1em; + height: 3rem; + width: 3rem; + cursor: pointer; + transition: 0.4s; + z-index: 97; + border-radius: 100%; + padding: 2px; + background-color: #f1f1f1; + box-shadow: 8px 8px 20px rgba(0,0,0,0.13); +} +#to_top:hover { + background-size: 2.5em; + box-shadow: 8px 8px 20px rgba(0,0,0,0.24); +} +#to_top:active { + box-shadow: 0px 0px 20px rgba(0,0,0,0.05); +} + + +/* footer article */ +#previous_next { + min-height: 3em; + margin-top: 2em; + display: flex; + border-top: 1px solid #f1f1f1; + padding: 1em; + transition: 0.4s; + display: flex; + justify-content: space-between; +} +#previous_next > div { + margin: 1em; +} +#previous_next a{ + padding: 1em; + border-radius: 5px; + display: flex; + align-items: center; + background-color: #f1f1f1; + justify-content: flex-start; +} +#previous_next a:hover { + background-color: #dedede; +} +#previous_next #previous a > .label{ + flex-grow: 1; + text-align: center; + padding-right: 2.5em; +} +#previous_next #previous a > .icon{ + transition: transform 0.4s linear; + background: url("/maixpy/static/image/theme_default/to-top.svg"); + background-size: 2em; + background-repeat: no-repeat; + background-position: center; + min-height: 2.5rem; + min-width: 2.5rem; + -ms-transform: rotate(-90deg); + -moz-transform: rotate(-90deg); + -webkit-transform: rotate(-90deg); + transform: rotate(-90deg); + padding-right: 2em; + padding: 0; +} +#previous_next #next a { + justify-content: flex-end; +} +#previous_next #next a > .label{ + flex-grow: 1; + text-align: center; + padding-left: 2.5em; +} +#previous_next #next a > .icon{ + transition: transform 0.4s linear; + background: url("/maixpy/static/image/theme_default/to-top.svg"); + background-size: 2em; + background-repeat: no-repeat; + background-position: center; + min-height: 2.5rem; + min-width: 2.5rem; + -ms-transform: rotate(90deg); + -moz-transform: rotate(90deg); + -webkit-transform: rotate(90deg); + transform: rotate(90deg); + padding-left: 2em; + padding: 0; +} +.footnotes { + margin-top: 5em; +} +#doc_footer { + min-height: 2em; + display: flex; + background-color: #2d2d2d; + border-top: 1px solid #2d2d2d; + padding: 1em; + transition: 0.4s; +} +#page_footer { + min-height: 2em; + /* margin-top: 5em; */ + display: flex; + padding: 1em; + transition: 0.4s; + background-color: #292929; +} +#footer { + display: flex; + flex-direction: column; + align-items: center; + width: 100%; + line-height: 1em; +} +#footer ul { + list-style: none; + padding: 0; + margin: 0; +} +#footer a, #footer a:visited{ + color: #848fa0; + display: flex; + padding: 0.2em; + font-size: 0.9em; +} +#footer a:hover { + background-color: #e6e6e6; + border-radius: 0.1em; + padding: 0.2em; +} +#footer_top { + width: 100%; +} +#footer_top > ul { + display: flex; + justify-content: space-around; + flex-direction: row; +} +#footer_top > ul > li > a { + color: #cecece; + font-weight: 700; + margin: 1em 0 0.5em 0; +} +#footer_top > ul > li > a:hover { + background-color: transparent; +} +#footer_bottom { + margin-top: 2em; +} +#footer_bottom a { + justify-content: center; +} + +/* TOC */ +.anchor { + opacity: 0; + transition: 0.4s; +} +h2:hover > .anchor, h3:hover > .anchor, h4:hover > .anchor, h5:hover > .anchor { + opacity: 1; +} +.anchor:hover { + opacity: 1; +} +.anchor-link { + display: none; +} +#toc_content>.toc-list { + overflow: hidden; + position: relative +} + +#toc_content>.toc-list li { + list-style: none +} + +.toc-list { + margin: 0; + padding-left: 10px +} +#toc_content > .toc-list > .toc-list-item { + border-left: 2px solid #f1f1f1; + padding: 0.1em 0.1em; + line-height: 1.2em; +} + +a.toc-link { + color: currentColor; + height: 100% +} + +.is-collapsible { + /* max-height: 1000px; */ + overflow: hidden; + transition: all 300ms ease-in-out +} + +.is-collapsed { + max-height: 0 +} + +.is-position-fixed { + position: fixed !important; + top: 0 +} + +.is-active-link { + font-weight: 700 +} + +.toc-link::before { + content: ' '; + display: inline-block; + height: inherit; + left: 0; + margin-top: -1px; + padding-left: 6px; + margin-left: -2px; +} + +.is-active-link::before { + border-left: 2px solid #c33d45; +} + +/* class template */ +.md_page #page_content > div { + width: 90%; + max-width: 50em; + margin: auto; + line-height: 2em; +} + +/* jupyter notebook parser */ +.jp-InputArea { + display: flex; + flex-direction: row; +} +.jp-InputPrompt { + word-break: keep-all; + margin-right: 0.2em; + font-size: 0.8em; +} +.jp-CodeMirrorEditor { + flex-grow: 1; + overflow: auto; +} +.jp-OutputArea-child { + display: flex; + flex-direction: row; +} +.jp-OutputPrompt { + word-break: keep-all; + margin-right: 0.2em; + font-size: 0.8em; + min-width: 2.7em; +} +.jp-OutputArea-output { + flex-grow: 1; + overflow: auto; + background: #2d2d2d; +} + +/* google translate */ +#navbar #google_translate_element { + padding: 0; +} +#navbar #google_translate_element .goog-te-gadget-simple { + border-radius: 5px; + transition: 0.4s; +} +#navbar #google_translate_element .goog-te-gadget-simple .goog-te-menu-value { + transition: 0.4s; +} + +/* tabset */ +.tabset { + display: flex; + flex-direction: column; + align-items: normal; + border: 0.2em solid #ebedf0; + border-radius: 0.5em; + margin: 0.5em 0; +} +.tabset-title { + font-size: medium; + font-weight: 500; + padding: 0.5em 1em; +} +.tabset-content { + display: flex; + flex-direction: column; + align-items: normal; +} +.tabset-tab { + display: flex; + flex-direction: row; + padding: 0 1em; +} +.tabset-tab-label { + cursor: pointer; + font-size: large; + font-weight: 700; + padding: 0.5em 1em; + border-top-left-radius: 0.2em; + border-top-right-radius: 0.2em; +} +.tabset-tab-label:hover { + background-color: #0000000d; +} +.tabset-tab-active { + background-color: #0000000d; + border-bottom: 0.2em solid #c33d45; + color: #c33d45; +} +.tabset-text-container { + padding: 1em; + background-color: #0000000d; +} +.tabset-text-container > div { + display: none; +} +.tabset-text-container > div.tabset-text-active { + display: block; +} + +/* details */ +details { + display: flex; + flex-direction: column; + align-items: normal; + border: 0.2em solid #ebedf0; + border-radius: 0.5em; + margin: 0.5em 0; + transition: 0.4s; +} +details > summary { + font-size: medium; + font-weight: 500; + padding: 0.5em 1em; + cursor: pointer; +} +details > summary { + list-style-type:none; + position: relative; + padding-left: 2em; +} +details > summary:before { + display:inline-block; + content: url("/maixpy/static/image/theme_default/array.svg"); + transform:rotate(90deg); + transition: 0.4s; + left: 0.5em; + position: absolute; + top: 0.45rem; +} +details[open] > summary:before { + transform:rotate(180deg); + top: 0.35rem; +} +details[open] summary ~ * { + animation: sweep .4s ease-in-out; + } +@keyframes sweep { +0% {opacity: 0; margin-left: -10px} +100% {opacity: 1; margin-left: 0px} +} +details > .details-content, details > div { + padding: 1em; + background-color: #0000000d; +} + +#update_history { + overflow-x: auto; +} +#update_history details > div { + padding: 0; +} +#update_history details { + width: fit-content; +} + +/* mobile phone */ +@media screen and (max-width: 900px) { + #navbar { + display: block; + border-bottom: 1px solid #f1f1f1; + z-index: 89; + } + #navbar * { + display: block; + } + #navbar a.site_title { + display: flex; + } + #navbar_menu { + display: flex; + justify-content: space-between; + } + #navbar ul { + padding-left: 0; + } + #navbar_menu_btn { + background: url("/maixpy/static/image/theme_default/menu.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + border-radius: 5px; + cursor: pointer; + width: 1em; + height: 1em; + display: block; + } + #navbar #navbar_items { + display: none; + padding-right: 0; + } + #navbar .sub_items ul { + left: 0; + right: auto; + } + #navbar .sub_items ul ul { + left: 0; + top: 3em; + } + #sidebar_wrapper { + position: fixed; + top: 0; + left: 0; + bottom: 0; + background-color: white; + box-shadow: 0 0 20px 0px #bbbbbb; + width: 100%; + z-index: 98; + display: none; + } + #sidebar { + position: relative; + width: 100%; + } + .gutter { + display: none; + } + #sidebar > ul { + padding-top: 4em; + } + #menu_wrapper { + z-index: 99; + } + #menu_wrapper.m_menu_fixed { + position: fixed; + left: 0; + top: 0; + width: 100%; + height: 4em; + background-color: rgb(255, 255, 255, 0.9); + box-shadow: 0px 1px 10px 0px rgb(0, 0, 0, 0.06); + } + #menu_wrapper.m_menu_fixed > #menu { + position: fixed; + left: 0.2em; + top: 1em; + } + #menu.close { + background: url("/maixpy/static/image/theme_default/back.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + border-radius: 5px; + min-height: 2em; + min-width: 2em; + } + #content_body { + width: 90%; + } + #toc_wrapper { + display: none; + position: fixed; + width: 100vh; + height: 100vh; + top: 0; + left: 0; + background-color: rgb(0, 0, 0, 0.5); + z-index: 999; + transition: 0.4s; + } + #toc_wrapper.show { + display: block; + } + #article #toc{ + position: fixed; + top: 4em; + right: 0; + z-index: 200; + width: 90%; + padding: 1em 0 1em 0; + border-radius: 0.3em 0 0 0.3em; + } + #previous_next { + flex-direction: column; + } + + .m_hide { + display: none; + } + #footer_top > ul { + flex-direction: column; + } + .md_page #page_content > div { + margin: 1.5em; + } + #article_tools { + width: 100%; + display: flex; + flex-direction: column; + align-items: flex-end; + position: -webkit-sticky; + position: sticky; + top: 1em; + z-index: 97; + } + #toc_btn { + background: url("/maixpy/static/image/theme_default/anchor.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + border-radius: 5px; + min-height: 2em; + min-width: 2em; + -ms-transform: rotate(12deg); + -moz-transform: rotate(12deg); + -webkit-transform: rotate(12deg); + transform: rotate(12deg); + } +} + + +/* special */ + +#themes{ + padding: 2px 5px; + cursor: pointer; +} +#navbar .light, #navbar .dark:hover { + background: url("/maixpy/static/image/theme_default/light_mode.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + min-height: 1rem; + min-width: 1rem; +} +#navbar .dark, #navbar .light:hover { + background: url("/maixpy/static/image/theme_default/dark_mode.svg"); + background-size: contain; + background-repeat: no-repeat; + background-position: center; + min-height: 1rem; + min-width: 1rem; +} + + +@media print { + code[class*="language-"], pre[class*="language-"] { + white-space: pre-wrap; + } + pre[class*="language-"].line-numbers { + border: 1px solid #2d2d2d; + } + #navbar, + #sidebar_wrapper, .gutter, #menu_wrapper, + #toc, #to_top, #doc_footer, + #previous_next, + #source_link, #print_page, + #comments-container { + display: none; + } + #article { + width: 100%; + } + #content_body { + max-width: 100%; + width: 100%; + } + /* .line-numbers-rows { + display: none; + } */ + .gutter { + display: none; + } +} diff --git a/maixpy/static/css/theme_default/prism.min.css b/maixpy/static/css/theme_default/prism.min.css new file mode 100644 index 00000000..c087ba96 --- /dev/null +++ b/maixpy/static/css/theme_default/prism.min.css @@ -0,0 +1,261 @@ +/* PrismJS 1.23.0 +https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+bash+c+cpp+cmake+coffeescript+docker+go+ini+java+json+json5+kotlin+latex+less+lua+makefile+markdown+markup-templating+objectivec+php+powershell+python+jsx+tsx+ruby+rust+sass+scss+shell-session+sql+swift+textile+typescript+yaml&plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard+match-braces */ +/** + * prism.js tomorrow night eighties for JavaScript, CoffeeScript, CSS and HTML + * Based on https://github.com/chriskempson/tomorrow-theme + * @author Rose Pritchard + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #ccc; + background: none; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre) > code[class*="language-"], +pre[class*="language-"] { + background: #2d2d2d; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.block-comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: #999; +} + +.token.punctuation { + color: #ccc; +} + +.token.tag, +.token.attr-name, +.token.namespace, +.token.deleted { + color: #e2777a; +} + +.token.function-name { + color: #6196cc; +} + +.token.boolean, +.token.number, +.token.function { + color: #f08d49; +} + +.token.property, +.token.class-name, +.token.constant, +.token.symbol { + color: #f8c555; +} + +.token.selector, +.token.important, +.token.atrule, +.token.keyword, +.token.builtin { + color: #cc99cd; +} + +.token.string, +.token.char, +.token.attr-value, +.token.regex, +.token.variable { + color: #7ec699; +} + +.token.operator, +.token.entity, +.token.url { + color: #67cdcc; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.inserted { + color: green; +} + +pre[class*="language-"].line-numbers { + position: relative; + padding-left: 3.8em; + counter-reset: linenumber; +} + +pre[class*="language-"].line-numbers > code { + position: relative; + white-space: inherit; +} + +.line-numbers .line-numbers-rows { + position: absolute; + pointer-events: none; + top: 0; + font-size: 100%; + left: -3.8em; + width: 3em; /* works for line-numbers below 1000 lines */ + letter-spacing: -1px; + border-right: 1px solid #999; + + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + +} + + .line-numbers-rows > span { + display: block; + counter-increment: linenumber; + } + + .line-numbers-rows > span:before { + content: counter(linenumber); + color: #999; + display: block; + padding-right: 0.8em; + text-align: right; + } + +div.code-toolbar { + position: relative; +} + +div.code-toolbar > .toolbar { + position: absolute; + top: .3em; + right: .2em; + transition: opacity 0.3s ease-in-out; + opacity: 0; +} + +div.code-toolbar:hover > .toolbar { + opacity: 1; +} + +/* Separate line b/c rules are thrown out if selector is invalid. + IE11 and old Edge versions don't support :focus-within. */ +div.code-toolbar:focus-within > .toolbar { + opacity: 1; +} + +div.code-toolbar > .toolbar .toolbar-item { + display: inline-block; +} + +div.code-toolbar > .toolbar a { + cursor: pointer; +} + +div.code-toolbar > .toolbar button { + background: none; + border: 0; + color: inherit; + font: inherit; + line-height: normal; + overflow: visible; + padding: 0; + -webkit-user-select: none; /* for button */ + -moz-user-select: none; + -ms-user-select: none; +} + +div.code-toolbar > .toolbar a, +div.code-toolbar > .toolbar button, +div.code-toolbar > .toolbar span { + color: #bbb; + font-size: .8em; + padding: 0 .5em; + background: #f5f2f0; + background: rgba(224, 224, 224, 0.2); + box-shadow: 0 2px 0 0 rgba(0,0,0,0.2); + border-radius: .5em; +} + +div.code-toolbar > .toolbar a:hover, +div.code-toolbar > .toolbar a:focus, +div.code-toolbar > .toolbar button:hover, +div.code-toolbar > .toolbar button:focus, +div.code-toolbar > .toolbar span:hover, +div.code-toolbar > .toolbar span:focus { + color: inherit; + text-decoration: none; +} + +.token.punctuation.brace-hover, +.token.punctuation.brace-selected { + outline: solid 1px; +} + +.rainbow-braces .token.punctuation.brace-level-1, +.rainbow-braces .token.punctuation.brace-level-5, +.rainbow-braces .token.punctuation.brace-level-9 { + color: #E50; + opacity: 1; +} +.rainbow-braces .token.punctuation.brace-level-2, +.rainbow-braces .token.punctuation.brace-level-6, +.rainbow-braces .token.punctuation.brace-level-10 { + color: #0B3; + opacity: 1; +} +.rainbow-braces .token.punctuation.brace-level-3, +.rainbow-braces .token.punctuation.brace-level-7, +.rainbow-braces .token.punctuation.brace-level-11 { + color: #26F; + opacity: 1; +} +.rainbow-braces .token.punctuation.brace-level-4, +.rainbow-braces .token.punctuation.brace-level-8, +.rainbow-braces .token.punctuation.brace-level-12 { + color: #E0E; + opacity: 1; +} + diff --git a/maixpy/static/css/theme_default/prism.min.js b/maixpy/static/css/theme_default/prism.min.js new file mode 100644 index 00000000..debc9322 --- /dev/null +++ b/maixpy/static/css/theme_default/prism.min.js @@ -0,0 +1,46 @@ +/* PrismJS 1.23.0 +https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+bash+c+cpp+cmake+coffeescript+docker+go+ini+java+json+json5+kotlin+latex+less+lua+makefile+markdown+markup-templating+objectivec+php+powershell+python+jsx+tsx+ruby+rust+sass+scss+shell-session+sql+swift+textile+typescript+yaml&plugins=line-numbers+highlight-keywords+toolbar+copy-to-clipboard+match-braces */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,n=0,M={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof W?new W(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=l.reach);y+=m.value.length,m=m.next){var k=m.value;if(r.length>n.length)return;if(!(k instanceof W)){var b,x=1;if(h){if(!(b=z(p,y,n,f)))break;var w=b.index,A=b.index+b[0].length,P=y;for(P+=m.value.length;P<=w;)m=m.next,P+=m.value.length;if(P-=m.value.length,y=P,m.value instanceof W)continue;for(var S=m;S!==r.tail&&(Pl.reach&&(l.reach=N);var j=m.prev;O&&(j=I(r,j,O),y+=O.length),q(r,j,x);var C=new W(o,g?M.tokenize(E,g):E,d,E);if(m=I(r,j,C),L&&I(r,m,L),1l.reach&&(l.reach=_.reach)}}}}}}(e,a,n,a.head,0),function(e){var n=[],r=e.head.next;for(;r!==e.tail;)n.push(r.value),r=r.next;return n}(a)},hooks:{all:{},add:function(e,n){var r=M.hooks.all;r[e]=r[e]||[],r[e].push(n)},run:function(e,n){var r=M.hooks.all[e];if(r&&r.length)for(var t,a=0;t=r[a++];)t(n)}},Token:W};function W(e,n,r,t){this.type=e,this.content=n,this.alias=r,this.length=0|(t||"").length}function z(e,n,r,t){e.lastIndex=n;var a=e.exec(r);if(a&&t&&a[1]){var i=a[1].length;a.index+=i,a[0]=a[0].slice(i)}return a}function i(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function I(e,n,r){var t=n.next,a={value:r,prev:n,next:t};return n.next=a,t.prev=a,e.length++,a}function q(e,n,r){for(var t=n.next,a=0;a"+a.content+""},!u.document)return u.addEventListener&&(M.disableWorkerMessageHandler||u.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,t=n.code,a=n.immediateClose;u.postMessage(M.highlight(t,M.languages[r],r)),a&&u.close()},!1)),M;var e=M.util.currentScript();function r(){M.manual||M.highlightAll()}if(e&&(M.filename=e.src,e.hasAttribute("data-manual")&&(M.manual=!0)),!M.manual){var t=document.readyState;"loading"===t||"interactive"===t&&e&&e.defer?document.addEventListener("DOMContentLoaded",r):window.requestAnimationFrame?window.requestAnimationFrame(r):window.setTimeout(r,16)}return M}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/,name:/[^\s<>'"]+/}},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var n={"included-cdata":{pattern://i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,function(){return a}),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",t)}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(s){var e=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:RegExp("[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),string:{pattern:e,greedy:!0},property:/(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),s.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/(^|["'\s])style\s*=\s*(?:"[^"]*"|'[^']*')/i,lookbehind:!0,inside:{"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{style:{pattern:/(["'])[\s\S]+(?=["']$)/,lookbehind:!0,alias:"language-css",inside:s.languages.css},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},"attr-name":/^style/i}}},t.tag))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-flags":/[a-z]+$/,"regex-delimiter":/^\/|\/$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},a={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:a},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)(["'])(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|(?!\2)[^\\`$])*\2/,lookbehind:!0,greedy:!0,inside:a}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:a.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=a.variable[1].inside,o=0;o>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),Prism.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},Prism.languages.c.string],comment:Prism.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:Prism.languages.c}}},constant:/\b(?:__FILE__|__LINE__|__DATE__|__TIME__|__TIMESTAMP__|__func__|EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|stdin|stdout|stderr)\b/}),delete Prism.languages.c.boolean; +!function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char8_t|char16_t|char32_t|class|compl|concept|const|consteval|constexpr|constinit|const_cast|continue|co_await|co_return|co_yield|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int8_t|int16_t|int32_t|int64_t|uint8_t|uint16_t|uint32_t|uint64_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n="\\b(?!)\\w+(?:\\s*\\.\\s*\\w+)*\\b".replace(//g,function(){return t.source});e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp("(\\b(?:class|concept|enum|struct|typename)\\s+)(?!)\\w+".replace(//g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:true|false)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp('(\\b(?:module|import)\\s+)(?:"(?:\\\\(?:\r\n|[^])|[^"\\\\\r\n])*"|<[^<>\r\n]*>|'+"(?:\\s*:\\s*)?|:\\s*".replace(//g,function(){return n})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","operator",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(Prism); +Prism.languages.cmake={comment:/#.*/,string:{pattern:/"(?:[^\\"]|\\.)*"/,greedy:!0,inside:{interpolation:{pattern:/\${(?:[^{}$]|\${[^{}$]*})*}/,inside:{punctuation:/\${|}/,variable:/\w+/}}}},variable:/\b(?:CMAKE_\w+|\w+_(?:VERSION(?:_MAJOR|_MINOR|_PATCH|_TWEAK)?|(?:BINARY|SOURCE)_DIR|DESCRIPTION|HOMEPAGE_URL|ROOT)|(?:CTEST_CUSTOM_(?:MAXIMUM_(?:(?:FAIL|PASS)ED_TEST_OUTPUT_SIZE|NUMBER_OF_(?:ERROR|WARNING)S)|ERROR_(?:P(?:OST|RE)_CONTEXT|EXCEPTION|MATCH)|P(?:OST|RE)_MEMCHECK|WARNING_(?:EXCEPTION|MATCH)|(?:MEMCHECK|TESTS)_IGNORE|P(?:OST|RE)_TEST|COVERAGE_EXCLUDE)|ANDROID|APPLE|BORLAND|BUILD_SHARED_LIBS|CACHE|CPACK_(?:ABSOLUTE_DESTINATION_FILES|COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY|ERROR_ON_ABSOLUTE_INSTALL_DESTINATION|INCLUDE_TOPLEVEL_DIRECTORY|INSTALL_DEFAULT_DIRECTORY_PERMISSIONS|INSTALL_SCRIPT|PACKAGING_INSTALL_PREFIX|SET_DESTDIR|WARN_ON_ABSOLUTE_INSTALL_DESTINATION)|CTEST_(?:BINARY_DIRECTORY|BUILD_COMMAND|BUILD_NAME|BZR_COMMAND|BZR_UPDATE_OPTIONS|CHANGE_ID|CHECKOUT_COMMAND|CONFIGURATION_TYPE|CONFIGURE_COMMAND|COVERAGE_COMMAND|COVERAGE_EXTRA_FLAGS|CURL_OPTIONS|CUSTOM_(?:COVERAGE_EXCLUDE|ERROR_EXCEPTION|ERROR_MATCH|ERROR_POST_CONTEXT|ERROR_PRE_CONTEXT|MAXIMUM_FAILED_TEST_OUTPUT_SIZE|MAXIMUM_NUMBER_OF_(?:ERRORS|WARNINGS)|MAXIMUM_PASSED_TEST_OUTPUT_SIZE|MEMCHECK_IGNORE|POST_MEMCHECK|POST_TEST|PRE_MEMCHECK|PRE_TEST|TESTS_IGNORE|WARNING_EXCEPTION|WARNING_MATCH)|CVS_CHECKOUT|CVS_COMMAND|CVS_UPDATE_OPTIONS|DROP_LOCATION|DROP_METHOD|DROP_SITE|DROP_SITE_CDASH|DROP_SITE_PASSWORD|DROP_SITE_USER|EXTRA_COVERAGE_GLOB|GIT_COMMAND|GIT_INIT_SUBMODULES|GIT_UPDATE_CUSTOM|GIT_UPDATE_OPTIONS|HG_COMMAND|HG_UPDATE_OPTIONS|LABELS_FOR_SUBPROJECTS|MEMORYCHECK_(?:COMMAND|COMMAND_OPTIONS|SANITIZER_OPTIONS|SUPPRESSIONS_FILE|TYPE)|NIGHTLY_START_TIME|P4_CLIENT|P4_COMMAND|P4_OPTIONS|P4_UPDATE_OPTIONS|RUN_CURRENT_SCRIPT|SCP_COMMAND|SITE|SOURCE_DIRECTORY|SUBMIT_URL|SVN_COMMAND|SVN_OPTIONS|SVN_UPDATE_OPTIONS|TEST_LOAD|TEST_TIMEOUT|TRIGGER_SITE|UPDATE_COMMAND|UPDATE_OPTIONS|UPDATE_VERSION_ONLY|USE_LAUNCHERS)|CYGWIN|ENV|EXECUTABLE_OUTPUT_PATH|GHS-MULTI|IOS|LIBRARY_OUTPUT_PATH|MINGW|MSVC(?:10|11|12|14|60|70|71|80|90|_IDE|_TOOLSET_VERSION|_VERSION)?|MSYS|PROJECT_(?:BINARY_DIR|DESCRIPTION|HOMEPAGE_URL|NAME|SOURCE_DIR|VERSION|VERSION_(?:MAJOR|MINOR|PATCH|TWEAK))|UNIX|WIN32|WINCE|WINDOWS_PHONE|WINDOWS_STORE|XCODE|XCODE_VERSION))\b/,property:/\b(?:cxx_\w+|(?:ARCHIVE_OUTPUT_(?:DIRECTORY|NAME)|COMPILE_DEFINITIONS|COMPILE_PDB_NAME|COMPILE_PDB_OUTPUT_DIRECTORY|EXCLUDE_FROM_DEFAULT_BUILD|IMPORTED_(?:IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_LANGUAGES|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|NO_SONAME|OBJECTS|SONAME)|INTERPROCEDURAL_OPTIMIZATION|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINK_FLAGS|LINK_INTERFACE_LIBRARIES|LINK_INTERFACE_MULTIPLICITY|LOCATION|MAP_IMPORTED_CONFIG|OSX_ARCHITECTURES|OUTPUT_NAME|PDB_NAME|PDB_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|STATIC_LIBRARY_FLAGS|VS_CSHARP|VS_DOTNET_REFERENCEPROP|VS_DOTNET_REFERENCE|VS_GLOBAL_SECTION_POST|VS_GLOBAL_SECTION_PRE|VS_GLOBAL|XCODE_ATTRIBUTE)_\w+|\w+_(?:CLANG_TIDY|COMPILER_LAUNCHER|CPPCHECK|CPPLINT|INCLUDE_WHAT_YOU_USE|OUTPUT_NAME|POSTFIX|VISIBILITY_PRESET)|ABSTRACT|ADDITIONAL_MAKE_CLEAN_FILES|ADVANCED|ALIASED_TARGET|ALLOW_DUPLICATE_CUSTOM_TARGETS|ANDROID_(?:ANT_ADDITIONAL_OPTIONS|API|API_MIN|ARCH|ASSETS_DIRECTORIES|GUI|JAR_DEPENDENCIES|NATIVE_LIB_DEPENDENCIES|NATIVE_LIB_DIRECTORIES|PROCESS_MAX|PROGUARD|PROGUARD_CONFIG_PATH|SECURE_PROPS_PATH|SKIP_ANT_STEP|STL_TYPE)|ARCHIVE_OUTPUT_DIRECTORY|ARCHIVE_OUTPUT_NAME|ATTACHED_FILES|ATTACHED_FILES_ON_FAIL|AUTOGEN_(?:BUILD_DIR|ORIGIN_DEPENDS|PARALLEL|SOURCE_GROUP|TARGETS_FOLDER|TARGET_DEPENDS)|AUTOMOC|AUTOMOC_(?:COMPILER_PREDEFINES|DEPEND_FILTERS|EXECUTABLE|MACRO_NAMES|MOC_OPTIONS|SOURCE_GROUP|TARGETS_FOLDER)|AUTORCC|AUTORCC_EXECUTABLE|AUTORCC_OPTIONS|AUTORCC_SOURCE_GROUP|AUTOUIC|AUTOUIC_EXECUTABLE|AUTOUIC_OPTIONS|AUTOUIC_SEARCH_PATHS|BINARY_DIR|BUILDSYSTEM_TARGETS|BUILD_RPATH|BUILD_RPATH_USE_ORIGIN|BUILD_WITH_INSTALL_NAME_DIR|BUILD_WITH_INSTALL_RPATH|BUNDLE|BUNDLE_EXTENSION|CACHE_VARIABLES|CLEAN_NO_CUSTOM|COMMON_LANGUAGE_RUNTIME|COMPATIBLE_INTERFACE_(?:BOOL|NUMBER_MAX|NUMBER_MIN|STRING)|COMPILE_(?:DEFINITIONS|FEATURES|FLAGS|OPTIONS|PDB_NAME|PDB_OUTPUT_DIRECTORY)|COST|CPACK_DESKTOP_SHORTCUTS|CPACK_NEVER_OVERWRITE|CPACK_PERMANENT|CPACK_STARTUP_SHORTCUTS|CPACK_START_MENU_SHORTCUTS|CPACK_WIX_ACL|CROSSCOMPILING_EMULATOR|CUDA_EXTENSIONS|CUDA_PTX_COMPILATION|CUDA_RESOLVE_DEVICE_SYMBOLS|CUDA_SEPARABLE_COMPILATION|CUDA_STANDARD|CUDA_STANDARD_REQUIRED|CXX_EXTENSIONS|CXX_STANDARD|CXX_STANDARD_REQUIRED|C_EXTENSIONS|C_STANDARD|C_STANDARD_REQUIRED|DEBUG_CONFIGURATIONS|DEBUG_POSTFIX|DEFINE_SYMBOL|DEFINITIONS|DEPENDS|DEPLOYMENT_ADDITIONAL_FILES|DEPLOYMENT_REMOTE_DIRECTORY|DISABLED|DISABLED_FEATURES|ECLIPSE_EXTRA_CPROJECT_CONTENTS|ECLIPSE_EXTRA_NATURES|ENABLED_FEATURES|ENABLED_LANGUAGES|ENABLE_EXPORTS|ENVIRONMENT|EXCLUDE_FROM_ALL|EXCLUDE_FROM_DEFAULT_BUILD|EXPORT_NAME|EXPORT_PROPERTIES|EXTERNAL_OBJECT|EchoString|FAIL_REGULAR_EXPRESSION|FIND_LIBRARY_USE_LIB32_PATHS|FIND_LIBRARY_USE_LIB64_PATHS|FIND_LIBRARY_USE_LIBX32_PATHS|FIND_LIBRARY_USE_OPENBSD_VERSIONING|FIXTURES_CLEANUP|FIXTURES_REQUIRED|FIXTURES_SETUP|FOLDER|FRAMEWORK|Fortran_FORMAT|Fortran_MODULE_DIRECTORY|GENERATED|GENERATOR_FILE_NAME|GENERATOR_IS_MULTI_CONFIG|GHS_INTEGRITY_APP|GHS_NO_SOURCE_GROUP_FILE|GLOBAL_DEPENDS_DEBUG_MODE|GLOBAL_DEPENDS_NO_CYCLES|GNUtoMS|HAS_CXX|HEADER_FILE_ONLY|HELPSTRING|IMPLICIT_DEPENDS_INCLUDE_TRANSFORM|IMPORTED|IMPORTED_(?:COMMON_LANGUAGE_RUNTIME|CONFIGURATIONS|GLOBAL|IMPLIB|LIBNAME|LINK_DEPENDENT_LIBRARIES|LINK_INTERFACE_(?:LANGUAGES|LIBRARIES|MULTIPLICITY)|LOCATION|NO_SONAME|OBJECTS|SONAME)|IMPORT_PREFIX|IMPORT_SUFFIX|INCLUDE_DIRECTORIES|INCLUDE_REGULAR_EXPRESSION|INSTALL_NAME_DIR|INSTALL_RPATH|INSTALL_RPATH_USE_LINK_PATH|INTERFACE_(?:AUTOUIC_OPTIONS|COMPILE_DEFINITIONS|COMPILE_FEATURES|COMPILE_OPTIONS|INCLUDE_DIRECTORIES|LINK_DEPENDS|LINK_DIRECTORIES|LINK_LIBRARIES|LINK_OPTIONS|POSITION_INDEPENDENT_CODE|SOURCES|SYSTEM_INCLUDE_DIRECTORIES)|INTERPROCEDURAL_OPTIMIZATION|IN_TRY_COMPILE|IOS_INSTALL_COMBINED|JOB_POOLS|JOB_POOL_COMPILE|JOB_POOL_LINK|KEEP_EXTENSION|LABELS|LANGUAGE|LIBRARY_OUTPUT_DIRECTORY|LIBRARY_OUTPUT_NAME|LINKER_LANGUAGE|LINK_(?:DEPENDS|DEPENDS_NO_SHARED|DIRECTORIES|FLAGS|INTERFACE_LIBRARIES|INTERFACE_MULTIPLICITY|LIBRARIES|OPTIONS|SEARCH_END_STATIC|SEARCH_START_STATIC|WHAT_YOU_USE)|LISTFILE_STACK|LOCATION|MACOSX_BUNDLE|MACOSX_BUNDLE_INFO_PLIST|MACOSX_FRAMEWORK_INFO_PLIST|MACOSX_PACKAGE_LOCATION|MACOSX_RPATH|MACROS|MANUALLY_ADDED_DEPENDENCIES|MEASUREMENT|MODIFIED|NAME|NO_SONAME|NO_SYSTEM_FROM_IMPORTED|OBJECT_DEPENDS|OBJECT_OUTPUTS|OSX_ARCHITECTURES|OUTPUT_NAME|PACKAGES_FOUND|PACKAGES_NOT_FOUND|PARENT_DIRECTORY|PASS_REGULAR_EXPRESSION|PDB_NAME|PDB_OUTPUT_DIRECTORY|POSITION_INDEPENDENT_CODE|POST_INSTALL_SCRIPT|PREDEFINED_TARGETS_FOLDER|PREFIX|PRE_INSTALL_SCRIPT|PRIVATE_HEADER|PROCESSORS|PROCESSOR_AFFINITY|PROJECT_LABEL|PUBLIC_HEADER|REPORT_UNDEFINED_PROPERTIES|REQUIRED_FILES|RESOURCE|RESOURCE_LOCK|RULE_LAUNCH_COMPILE|RULE_LAUNCH_CUSTOM|RULE_LAUNCH_LINK|RULE_MESSAGES|RUNTIME_OUTPUT_DIRECTORY|RUNTIME_OUTPUT_NAME|RUN_SERIAL|SKIP_AUTOGEN|SKIP_AUTOMOC|SKIP_AUTORCC|SKIP_AUTOUIC|SKIP_BUILD_RPATH|SKIP_RETURN_CODE|SOURCES|SOURCE_DIR|SOVERSION|STATIC_LIBRARY_FLAGS|STATIC_LIBRARY_OPTIONS|STRINGS|SUBDIRECTORIES|SUFFIX|SYMBOLIC|TARGET_ARCHIVES_MAY_BE_SHARED_LIBS|TARGET_MESSAGES|TARGET_SUPPORTS_SHARED_LIBS|TESTS|TEST_INCLUDE_FILE|TEST_INCLUDE_FILES|TIMEOUT|TIMEOUT_AFTER_MATCH|TYPE|USE_FOLDERS|VALUE|VARIABLES|VERSION|VISIBILITY_INLINES_HIDDEN|VS_(?:CONFIGURATION_TYPE|COPY_TO_OUT_DIR|DEBUGGER_(?:COMMAND|COMMAND_ARGUMENTS|ENVIRONMENT|WORKING_DIRECTORY)|DEPLOYMENT_CONTENT|DEPLOYMENT_LOCATION|DOTNET_REFERENCES|DOTNET_REFERENCES_COPY_LOCAL|GLOBAL_KEYWORD|GLOBAL_PROJECT_TYPES|GLOBAL_ROOTNAMESPACE|INCLUDE_IN_VSIX|IOT_STARTUP_TASK|KEYWORD|RESOURCE_GENERATOR|SCC_AUXPATH|SCC_LOCALPATH|SCC_PROJECTNAME|SCC_PROVIDER|SDK_REFERENCES|SHADER_(?:DISABLE_OPTIMIZATIONS|ENABLE_DEBUG|ENTRYPOINT|FLAGS|MODEL|OBJECT_FILE_NAME|OUTPUT_HEADER_FILE|TYPE|VARIABLE_NAME)|STARTUP_PROJECT|TOOL_OVERRIDE|USER_PROPS|WINRT_COMPONENT|WINRT_EXTENSIONS|WINRT_REFERENCES|XAML_TYPE)|WILL_FAIL|WIN32_EXECUTABLE|WINDOWS_EXPORT_ALL_SYMBOLS|WORKING_DIRECTORY|WRAP_EXCLUDE|XCODE_(?:EMIT_EFFECTIVE_PLATFORM_NAME|EXPLICIT_FILE_TYPE|FILE_ATTRIBUTES|LAST_KNOWN_FILE_TYPE|PRODUCT_TYPE|SCHEME_(?:ADDRESS_SANITIZER|ADDRESS_SANITIZER_USE_AFTER_RETURN|ARGUMENTS|DISABLE_MAIN_THREAD_CHECKER|DYNAMIC_LIBRARY_LOADS|DYNAMIC_LINKER_API_USAGE|ENVIRONMENT|EXECUTABLE|GUARD_MALLOC|MAIN_THREAD_CHECKER_STOP|MALLOC_GUARD_EDGES|MALLOC_SCRIBBLE|MALLOC_STACK|THREAD_SANITIZER(?:_STOP)?|UNDEFINED_BEHAVIOUR_SANITIZER(?:_STOP)?|ZOMBIE_OBJECTS))|XCTEST)\b/,keyword:/\b(?:add_compile_definitions|add_compile_options|add_custom_command|add_custom_target|add_definitions|add_dependencies|add_executable|add_library|add_link_options|add_subdirectory|add_test|aux_source_directory|break|build_command|build_name|cmake_host_system_information|cmake_minimum_required|cmake_parse_arguments|cmake_policy|configure_file|continue|create_test_sourcelist|ctest_build|ctest_configure|ctest_coverage|ctest_empty_binary_directory|ctest_memcheck|ctest_read_custom_files|ctest_run_script|ctest_sleep|ctest_start|ctest_submit|ctest_test|ctest_update|ctest_upload|define_property|else|elseif|enable_language|enable_testing|endforeach|endfunction|endif|endmacro|endwhile|exec_program|execute_process|export|export_library_dependencies|file|find_file|find_library|find_package|find_path|find_program|fltk_wrap_ui|foreach|function|get_cmake_property|get_directory_property|get_filename_component|get_property|get_source_file_property|get_target_property|get_test_property|if|include|include_directories|include_external_msproject|include_guard|include_regular_expression|install|install_files|install_programs|install_targets|link_directories|link_libraries|list|load_cache|load_command|macro|make_directory|mark_as_advanced|math|message|option|output_required_files|project|qt_wrap_cpp|qt_wrap_ui|remove|remove_definitions|return|separate_arguments|set|set_directory_properties|set_property|set_source_files_properties|set_target_properties|set_tests_properties|site_name|source_group|string|subdir_depends|subdirs|target_compile_definitions|target_compile_features|target_compile_options|target_include_directories|target_link_directories|target_link_libraries|target_link_options|target_sources|try_compile|try_run|unset|use_mangled_mesa|utility_source|variable_requires|variable_watch|while|write_file)(?=\s*\()\b/,boolean:/\b(?:ON|OFF|TRUE|FALSE)\b/,namespace:/\b(?:PROPERTIES|SHARED|PRIVATE|STATIC|PUBLIC|INTERFACE|TARGET_OBJECTS)\b/,operator:/\b(?:NOT|AND|OR|MATCHES|LESS|GREATER|EQUAL|STRLESS|STRGREATER|STREQUAL|VERSION_LESS|VERSION_EQUAL|VERSION_GREATER|DEFINED)\b/,inserted:{pattern:/\b\w+::\w+\b/,alias:"class-name"},number:/\b\d+(?:\.\d+)*\b/,function:/\b[a-z_]\w*(?=\s*\()\b/i,punctuation:/[()>}]|\$[<{]/}; +!function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(Prism); +!function(e){var r="(?:[ \t]+(?![ \t])(?:)?|)".replace(//g,function(){return"\\\\[\r\n](?:\\s|\\\\[\r\n]|#.*(?!.))*(?![\\s#]|\\\\[\r\n])"}),n="\"(?:[^\"\\\\\r\n]|\\\\(?:\r\n|[^]))*\"|'(?:[^'\\\\\r\n]|\\\\(?:\r\n|[^]))*'",t="--[\\w-]+=(?:|(?![\"'])(?:[^\\s\\\\]|\\\\.)+)".replace(//g,function(){return n}),o={pattern:RegExp(n),greedy:!0},i={pattern:/(^[ \t]*)#.*/m,lookbehind:!0,greedy:!0};function a(e,n){return e=e.replace(//g,function(){return t}).replace(//g,function(){return r}),RegExp(e,n)}e.languages.docker={instruction:{pattern:/(^[ \t]*)(?:ADD|ARG|CMD|COPY|ENTRYPOINT|ENV|EXPOSE|FROM|HEALTHCHECK|LABEL|MAINTAINER|ONBUILD|RUN|SHELL|STOPSIGNAL|USER|VOLUME|WORKDIR)(?=\s)(?:\\.|[^\r\n\\])*(?:\\$(?:\s|#.*$)*(?![\s#])(?:\\.|[^\r\n\\])*)*/im,lookbehind:!0,greedy:!0,inside:{options:{pattern:a("(^(?:ONBUILD)?\\w+)(?:)*","i"),lookbehind:!0,greedy:!0,inside:{property:{pattern:/(^|\s)--[\w-]+/,lookbehind:!0},string:[o,{pattern:/(=)(?!["'])(?:[^\s\\]|\\.)+/,lookbehind:!0}],operator:/\\$/m,punctuation:/=/}},keyword:[{pattern:a("(^(?:ONBUILD)?HEALTHCHECK(?:)*)(?:CMD|NONE)\\b","i"),lookbehind:!0,greedy:!0},{pattern:a("(^(?:ONBUILD)?FROM(?:)*(?!--)[^ \t\\\\]+)AS","i"),lookbehind:!0,greedy:!0},{pattern:a("(^ONBUILD)\\w+","i"),lookbehind:!0,greedy:!0},{pattern:/^\w+/,greedy:!0}],comment:i,string:o,variable:/\$(?:\w+|\{[^{}"'\\]*\})/,operator:/\\$/m}},comment:i},e.languages.dockerfile=e.languages.docker}(Prism); +Prism.languages.go=Prism.languages.extend("clike",{string:{pattern:/(["'`])(?:\\[\s\S]|(?!\1)[^\\])*\1/,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|iota|nil|true|false)\b/,number:/(?:\b0x[a-f\d]+|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[-+]?\d+)?)i?/i,operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:bool|byte|complex(?:64|128)|error|float(?:32|64)|rune|string|u?int(?:8|16|32|64)?|uintptr|append|cap|close|complex|copy|delete|imag|len|make|new|panic|print(?:ln)?|real|recover)\b/}),delete Prism.languages.go["class-name"]; +Prism.languages.ini={comment:/^[ \t]*[;#].*$/m,selector:/^[ \t]*\[.*?\]/m,constant:/^[ \t]*[^\s=]+?(?=[ \t]*=)/m,"attr-value":{pattern:/=.*/,inside:{punctuation:/^[=]/}}}; +!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n="(^|[^\\w.])(?:[a-z]\\w*\\s*\\.\\s*)*(?:[A-Z]\\w*\\s*\\.\\s*)*",a={pattern:RegExp(n+"[A-Z](?:[\\d_A-Z]*[a-z]\\w*)?\\b"),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{"class-name":[a,{pattern:RegExp(n+"[A-Z]\\w*(?=\\s+\\w+\\s*[;,=())])"),lookbehind:!0,inside:a.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(\:\:\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0}}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<(?:[\w\s,.&?]|<[\w\s,.&?]*>)*>)*>)*>/,inside:{"class-name":a,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},namespace:{pattern:RegExp("(\\b(?:exports|import(?:\\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\\s+)(?!)[a-z]\\w*(?:\\.[a-z]\\w*)*\\.?".replace(//g,function(){return t.source})),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism); +Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json; +!function(n){var e=/("|')(?:\\(?:\r\n?|\n|.)|(?!\1)[^\\\r\n])*\1/;n.languages.json5=n.languages.extend("json",{property:[{pattern:RegExp(e.source+"(?=\\s*:)"),greedy:!0},{pattern:/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/,alias:"unquoted"}],string:{pattern:e,greedy:!0},number:/[+-]?\b(?:NaN|Infinity|0x[a-fA-F\d]+)\b|[+-]?(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[eE][+-]?\d+\b)?/})}(Prism); +!function(e){e.languages.kotlin=e.languages.extend("clike",{keyword:{pattern:/(^|[^.])\b(?:abstract|actual|annotation|as|break|by|catch|class|companion|const|constructor|continue|crossinline|data|do|dynamic|else|enum|expect|external|final|finally|for|fun|get|if|import|in|infix|init|inline|inner|interface|internal|is|lateinit|noinline|null|object|open|operator|out|override|package|private|protected|public|reified|return|sealed|set|super|suspend|tailrec|this|throw|to|try|typealias|val|var|vararg|when|where|while)\b/,lookbehind:!0},function:[{pattern:/(?:`[^\r\n`]+`|\w+)(?=\s*\()/,greedy:!0},{pattern:/(\.)(?:`[^\r\n`]+`|\w+)(?=\s*\{)/,lookbehind:!0,greedy:!0}],number:/\b(?:0[xX][\da-fA-F]+(?:_[\da-fA-F]+)*|0[bB][01]+(?:_[01]+)*|\d+(?:_\d+)*(?:\.\d+(?:_\d+)*)?(?:[eE][+-]?\d+(?:_\d+)*)?[fFL]?)\b/,operator:/\+[+=]?|-[-=>]?|==?=?|!(?:!|==?)?|[\/*%<>]=?|[?:]:?|\.\.|&&|\|\||\b(?:and|inv|or|shl|shr|ushr|xor)\b/}),delete e.languages.kotlin["class-name"],e.languages.insertBefore("kotlin","string",{"raw-string":{pattern:/("""|''')[\s\S]*?\1/,alias:"string"}}),e.languages.insertBefore("kotlin","keyword",{annotation:{pattern:/\B@(?:\w+:)?(?:[A-Z]\w*|\[[^\]]+\])/,alias:"builtin"}}),e.languages.insertBefore("kotlin","function",{label:{pattern:/\w+@|@\w+/,alias:"symbol"}});var n=[{pattern:/\$\{[^}]+\}/,inside:{delimiter:{pattern:/^\$\{|\}$/,alias:"variable"},rest:e.languages.kotlin}},{pattern:/\$\w+/,alias:"variable"}];e.languages.kotlin.string.inside=e.languages.kotlin["raw-string"].inside={interpolation:n},e.languages.kt=e.languages.kotlin,e.languages.kts=e.languages.kotlin}(Prism); +!function(a){var e=/\\(?:[^a-z()[\]]|[a-z*]+)/i,n={"equation-command":{pattern:e,alias:"regex"}};a.languages.latex={comment:/%.*/m,cdata:{pattern:/(\\begin\{((?:verbatim|lstlisting)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0},equation:[{pattern:/\$\$(?:\\[\s\S]|[^\\$])+\$\$|\$(?:\\[\s\S]|[^\\$])+\$|\\\([\s\S]*?\\\)|\\\[[\s\S]*?\\\]/,inside:n,alias:"string"},{pattern:/(\\begin\{((?:equation|math|eqnarray|align|multline|gather)\*?)\})[\s\S]*?(?=\\end\{\2\})/,lookbehind:!0,inside:n,alias:"string"}],keyword:{pattern:/(\\(?:begin|end|ref|cite|label|usepackage|documentclass)(?:\[[^\]]+\])?\{)[^}]+(?=\})/,lookbehind:!0},url:{pattern:/(\\url\{)[^}]+(?=\})/,lookbehind:!0},headline:{pattern:/(\\(?:part|chapter|section|subsection|frametitle|subsubsection|paragraph|subparagraph|subsubparagraph|subsubsubparagraph)\*?(?:\[[^\]]+\])?\{)[^}]+(?=\}(?:\[[^\]]+\])?)/,lookbehind:!0,alias:"class-name"},function:{pattern:e,alias:"selector"},punctuation:/[[\]{}&]/},a.languages.tex=a.languages.latex,a.languages.context=a.languages.latex}(Prism); +Prism.languages.less=Prism.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/i,operator:/[+\-*\/]/}),Prism.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}); +Prism.languages.lua={comment:/^#!.+|--(?:\[(=*)\[[\s\S]*?\]\1\]|.*)/m,string:{pattern:/(["'])(?:(?!\1)[^\\\r\n]|\\z(?:\r\n|\s)|\\(?:\r\n|[^z]))*\1|\[(=*)\[[\s\S]*?\]\2\]/,greedy:!0},number:/\b0x[a-f\d]+(?:\.[a-f\d]*)?(?:p[+-]?\d+)?\b|\b\d+(?:\.\B|(?:\.\d*)?(?:e[+-]?\d+)?\b)|\B\.\d+(?:e[+-]?\d+)?\b/i,keyword:/\b(?:and|break|do|else|elseif|end|false|for|function|goto|if|in|local|nil|not|or|repeat|return|then|true|until|while)\b/,function:/(?!\d)\w+(?=\s*(?:[({]))/,operator:[/[-+*%^&|#]|\/\/?|<[<=]?|>[>=]?|[=~]=?/,{pattern:/(^|[^.])\.\.(?!\.)/,lookbehind:!0}],punctuation:/[\[\](){},;]|\.+|:+/}; +Prism.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},builtin:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,symbol:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:[/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,{pattern:/(\()(?:addsuffix|abspath|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:s|list)?)(?=[ \t])/,lookbehind:!0}],operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/}; +!function(u){function n(n){return n=n.replace(//g,function(){return"(?:\\\\.|[^\\\\\n\r]|(?:\n|\r\n?)(?!\n|\r\n?))"}),RegExp("((?:^|[^\\\\])(?:\\\\{2})*)(?:"+n+")")}var e="(?:\\\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\\\|\r\n`])+",t="\\|?__(?:\\|__)+\\|?(?:(?:\n|\r\n?)|(?![^]))".replace(/__/g,function(){return e}),a="\\|?[ \t]*:?-{3,}:?[ \t]*(?:\\|[ \t]*:?-{3,}:?[ \t]*)+\\|?(?:\n|\r\n?)";u.languages.markdown=u.languages.extend("markup",{}),u.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"font-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:u.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+t+a+"(?:"+t+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+t+a+")(?:"+t+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(e),inside:u.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+t+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+t+"$"),inside:{"table-header":{pattern:RegExp(e),alias:"important",inside:u.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/``.+?``|`[^`\r\n]+`/,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n("\\b__(?:(?!_)|_(?:(?!_))+_)+__\\b|\\*\\*(?:(?!\\*)|\\*(?:(?!\\*))+\\*)+\\*\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n("\\b_(?:(?!_)|__(?:(?!_))+__)+_\\b|\\*(?:(?!\\*)|\\*\\*(?:(?!\\*))+\\*\\*)+\\*"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n("(~~?)(?:(?!~))+?\\2"),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},url:{pattern:n('!?\\[(?:(?!\\]))+\\](?:\\([^\\s)]+(?:[\t ]+"(?:\\\\.|[^"\\\\])*")?\\)|[ \t]?\\[(?:(?!\\]))+\\])'),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(e){["url","bold","italic","strike"].forEach(function(n){e!==n&&(u.languages.markdown[e].inside.content.inside[n]=u.languages.markdown[n])})}),u.hooks.add("after-tokenize",function(n){"markdown"!==n.language&&"md"!==n.language||!function n(e){if(e&&"string"!=typeof e)for(var t=0,a=e.length;t=d.length);t++){var a=n[t];if("string"==typeof a||a.content&&"string"==typeof a.content){var r=d[m],o=p.tokenStack[r],c="string"==typeof a?a:a.content,i=v(k,r),u=c.indexOf(i);if(-1]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete Prism.languages.objectivec["class-name"],Prism.languages.objc=Prism.languages.objectivec; +!function(a){var e=/\/\*[\s\S]*?\*\/|\/\/.*|#(?!\[).*/,t=[{pattern:/\b(?:false|true)\b/i,alias:"boolean"},{pattern:/(::\s*)\b[a-z_]\w*\b(?!\s*\()/i,greedy:!0,lookbehind:!0},{pattern:/(\b(?:case|const)\s+)\b[a-z_]\w*(?=\s*[;=])/i,greedy:!0,lookbehind:!0},/\b(?:null)\b/i,/\b[A-Z_][A-Z0-9_]*\b(?!\s*\()/],i=/\b0b[01]+(?:_[01]+)*\b|\b0o[0-7]+(?:_[0-7]+)*\b|\b0x[\da-f]+(?:_[\da-f]+)*\b|(?:\b\d+(?:_\d+)*\.?(?:\d+(?:_\d+)*)?|\B\.\d+)(?:e[+-]?\d+)?/i,n=/|\?\?=?|\.{3}|\??->|[!=]=?=?|::|\*\*=?|--|\+\+|&&|\|\||<<|>>|[?~]|[/^|%*&<>.+-]=?/,s=/[{}\[\](),:;]/;a.languages.php={delimiter:{pattern:/\?>$|^<\?(?:php(?=\s)|=)?/i,alias:"important"},comment:e,variable:/\$+(?:\w+\b|(?={))/i,package:{pattern:/(namespace\s+|use\s+(?:function\s+)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,lookbehind:!0,inside:{punctuation:/\\/}},"class-name-definition":{pattern:/(\b(?:class|enum|interface|trait)\s+)\b[a-z_]\w*(?!\\)\b/i,lookbehind:!0,alias:"class-name"},keyword:[{pattern:/(\(\s*)\b(?:bool|boolean|int|integer|float|string|object|array)\b(?=\s*\))/i,alias:"type-casting",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)\b(?:bool|int|float|string|object|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*[a-z0-9_|]\|\s*)(?:null|false)\b(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|self|static|callable|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?[a-z0-9_|]\|\s*)(?:null|false)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/\b(?:bool|int|float|string|object|void|array(?!\s*\()|mixed|iterable|(?:null|false)(?=\s*\|))\b/i,alias:"type-declaration",greedy:!0},{pattern:/(\|\s*)(?:null|false)\b/i,alias:"type-declaration",greedy:!0,lookbehind:!0},{pattern:/\b(?:parent|self|static)(?=\s*::)/i,alias:"static-context",greedy:!0},/\b(?:__halt_compiler|abstract|and|array|as|break|callable|case|catch|class|clone|const|continue|declare|default|die|do|echo|else|elseif|empty|enddeclare|endfor|endforeach|endif|endswitch|endwhile|enum|eval|exit|extends|final|finally|for|foreach|function|global|goto|if|implements|include|include_once|instanceof|insteadof|interface|isset|list|namespace|match|new|or|parent|print|private|protected|public|require|require_once|return|self|static|switch|throw|trait|try|unset|use|var|while|xor|yield)\b/i],"argument-name":{pattern:/([(,]\s+)\b[a-z_]\w*(?=\s*:(?!:))/i,lookbehind:!0},"class-name":[{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self|\s+static))\s+|\bcatch\s*\()\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/(\|\s*)\b[a-z_]\w*(?!\\)\b/i,greedy:!0,lookbehind:!0},{pattern:/\b[a-z_]\w*(?!\\)\b(?=\s*\|)/i,greedy:!0},{pattern:/(\|\s*)(?:\\?\b[a-z_]\w*)+\b/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(?:\\?\b[a-z_]\w*)+\b(?=\s*\|)/i,alias:"class-name-fully-qualified",greedy:!0,inside:{punctuation:/\\/}},{pattern:/(\b(?:extends|implements|instanceof|new(?!\s+self\b|\s+static\b))\s+|\bcatch\s*\()(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:"class-name-fully-qualified",greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*\$)/i,alias:"type-declaration",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-declaration"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/\b[a-z_]\w*(?=\s*::)/i,alias:"static-context",greedy:!0},{pattern:/(?:\\?\b[a-z_]\w*)+(?=\s*::)/i,alias:["class-name-fully-qualified","static-context"],greedy:!0,inside:{punctuation:/\\/}},{pattern:/([(,?]\s*)[a-z_]\w*(?=\s*\$)/i,alias:"type-hint",greedy:!0,lookbehind:!0},{pattern:/([(,?]\s*)(?:\\?\b[a-z_]\w*)+(?=\s*\$)/i,alias:["class-name-fully-qualified","type-hint"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}},{pattern:/(\)\s*:\s*(?:\?\s*)?)\b[a-z_]\w*(?!\\)\b/i,alias:"return-type",greedy:!0,lookbehind:!0},{pattern:/(\)\s*:\s*(?:\?\s*)?)(?:\\?\b[a-z_]\w*)+\b(?!\\)/i,alias:["class-name-fully-qualified","return-type"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,function:/\w+\s*(?=\()/,property:{pattern:/(->)[\w]+/,lookbehind:!0},number:i,operator:n,punctuation:s};var l={pattern:/{\$(?:{(?:{[^{}]+}|[^{}]+)}|[^{}])+}|(^|[^\\{])\$+(?:\w+(?:\[[^\r\n\[\]]+\]|->\w+)*)/,lookbehind:!0,inside:a.languages.php},r=[{pattern:/<<<'([^']+)'[\r\n](?:.*[\r\n])*?\1;/,alias:"nowdoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<'[^']+'|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<'?|[';]$/}}}},{pattern:/<<<(?:"([^"]+)"[\r\n](?:.*[\r\n])*?\1;|([a-z_]\w*)[\r\n](?:.*[\r\n])*?\2;)/i,alias:"heredoc-string",greedy:!0,inside:{delimiter:{pattern:/^<<<(?:"[^"]+"|[a-z_]\w*)|[a-z_]\w*;$/i,alias:"symbol",inside:{punctuation:/^<<<"?|[";]$/}},interpolation:l}},{pattern:/`(?:\\[\s\S]|[^\\`])*`/,alias:"backtick-quoted-string",greedy:!0},{pattern:/'(?:\\[\s\S]|[^\\'])*'/,alias:"single-quoted-string",greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,alias:"double-quoted-string",greedy:!0,inside:{interpolation:l}}];a.languages.insertBefore("php","variable",{string:r}),a.languages.insertBefore("php","variable",{attribute:{pattern:/#\[(?:[^"'\/#]|\/(?![*/])|\/\/.*$|#(?!\[).*$|\/\*(?:[^*]|\*(?!\/))*\*\/|"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*')+\](?=\s*[a-z$#])/im,greedy:!0,inside:{"attribute-content":{pattern:/^(#\[)[\s\S]+(?=]$)/,lookbehind:!0,inside:{comment:e,string:r,"attribute-class-name":[{pattern:/([^:]|^)\b[a-z_]\w*(?!\\)\b/i,alias:"class-name",greedy:!0,lookbehind:!0},{pattern:/([^:]|^)(?:\\?\b[a-z_]\w*)+/i,alias:["class-name","class-name-fully-qualified"],greedy:!0,lookbehind:!0,inside:{punctuation:/\\/}}],constant:t,number:i,operator:n,punctuation:s}},delimiter:{pattern:/^#\[|]$/,alias:"punctuation"}}}}),a.hooks.add("before-tokenize",function(e){if(/<\?/.test(e.code)){a.languages["markup-templating"].buildPlaceholders(e,"php",/<\?(?:[^"'/#]|\/(?![*/])|("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|(?:\/\/|#(?!\[))(?:[^?\n\r]|\?(?!>))*(?=$|\?>|[\r\n])|#\[|\/\*(?:[^*]|\*(?!\/))*(?:\*\/|$))*?(?:\?>|$)/gi)}}),a.hooks.add("after-tokenize",function(e){a.languages["markup-templating"].tokenizePlaceholders(e,"php")})}(Prism); +!function(e){var i=Prism.languages.powershell={comment:[{pattern:/(^|[^`])<#[\s\S]*?#>/,lookbehind:!0},{pattern:/(^|[^`])#.*/,lookbehind:!0}],string:[{pattern:/"(?:`[\s\S]|[^`"])*"/,greedy:!0,inside:{function:{pattern:/(^|[^`])\$\((?:\$\([^\r\n()]*\)|(?!\$\()[^\r\n)])*\)/,lookbehind:!0,inside:{}}}},{pattern:/'(?:[^']|'')*'/,greedy:!0}],namespace:/\[[a-z](?:\[(?:\[[^\]]*]|[^\[\]])*]|[^\[\]])*]/i,boolean:/\$(?:true|false)\b/i,variable:/\$\w+\b/,function:[/\b(?:Add|Approve|Assert|Backup|Block|Checkpoint|Clear|Close|Compare|Complete|Compress|Confirm|Connect|Convert|ConvertFrom|ConvertTo|Copy|Debug|Deny|Disable|Disconnect|Dismount|Edit|Enable|Enter|Exit|Expand|Export|Find|ForEach|Format|Get|Grant|Group|Hide|Import|Initialize|Install|Invoke|Join|Limit|Lock|Measure|Merge|Move|New|Open|Optimize|Out|Ping|Pop|Protect|Publish|Push|Read|Receive|Redo|Register|Remove|Rename|Repair|Request|Reset|Resize|Resolve|Restart|Restore|Resume|Revoke|Save|Search|Select|Send|Set|Show|Skip|Sort|Split|Start|Step|Stop|Submit|Suspend|Switch|Sync|Tee|Test|Trace|Unblock|Undo|Uninstall|Unlock|Unprotect|Unpublish|Unregister|Update|Use|Wait|Watch|Where|Write)-[a-z]+\b/i,/\b(?:ac|cat|chdir|clc|cli|clp|clv|compare|copy|cp|cpi|cpp|cvpa|dbp|del|diff|dir|ebp|echo|epal|epcsv|epsn|erase|fc|fl|ft|fw|gal|gbp|gc|gci|gcs|gdr|gi|gl|gm|gp|gps|group|gsv|gu|gv|gwmi|iex|ii|ipal|ipcsv|ipsn|irm|iwmi|iwr|kill|lp|ls|measure|mi|mount|move|mp|mv|nal|ndr|ni|nv|ogv|popd|ps|pushd|pwd|rbp|rd|rdr|ren|ri|rm|rmdir|rni|rnp|rp|rv|rvpa|rwmi|sal|saps|sasv|sbp|sc|select|set|shcm|si|sl|sleep|sls|sort|sp|spps|spsv|start|sv|swmi|tee|trcm|type|write)\b/i],keyword:/\b(?:Begin|Break|Catch|Class|Continue|Data|Define|Do|DynamicParam|Else|ElseIf|End|Exit|Filter|Finally|For|ForEach|From|Function|If|InlineScript|Parallel|Param|Process|Return|Sequence|Switch|Throw|Trap|Try|Until|Using|Var|While|Workflow)\b/i,operator:{pattern:/(\W?)(?:!|-(?:eq|ne|gt|ge|lt|le|sh[lr]|not|b?(?:and|x?or)|(?:Not)?(?:Like|Match|Contains|In)|Replace|Join|is(?:Not)?|as)\b|-[-=]?|\+[+=]?|[*\/%]=?)/i,lookbehind:!0},punctuation:/[|{}[\];(),.]/},r=i.string[0].inside;r.boolean=i.boolean,r.variable=i.variable,r.function.inside=i}(); +Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},"string-interpolation":{pattern:/(?:f|rf|fr)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:{{)*){(?!{)(?:[^{}]|{(?!{)(?:[^{}]|{(?!{)(?:[^{}])+})+})+}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|rb|br)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|rb|br)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^\s*)@\w+(?:\.\w+)*/im,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:and|as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:True|False|None)\b/,number:/(?:\b(?=\d)|\B(?=\.))(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python; +!function(o){var t=o.util.clone(o.languages.javascript),e="(?:\\{*\\.{3}(?:[^{}]|)*\\})";function n(t,n){return t=t.replace(//g,function(){return"(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)"}).replace(//g,function(){return"(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})"}).replace(//g,function(){return e}),RegExp(t,n)}e=n(e).source,o.languages.jsx=o.languages.extend("markup",t),o.languages.jsx.tag.pattern=n("+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s{'\"/>=]+|))?|))**/?)?>"),o.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/i,o.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[^]|[^\\"])*"|'(?:\\[^]|[^\\'])*'|[^\s'">]+)/i,o.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,o.languages.jsx.tag.inside.comment=t.comment,o.languages.insertBefore("inside","attr-name",{spread:{pattern:n(""),inside:o.languages.jsx}},o.languages.jsx.tag),o.languages.insertBefore("inside","attr-value",{script:{pattern:n("="),inside:{"script-punctuation":{pattern:/^=(?={)/,alias:"punctuation"},rest:o.languages.jsx},alias:"language-javascript"}},o.languages.jsx.tag);var i=function(t){return t?"string"==typeof t?t:"string"==typeof t.content?t.content:t.content.map(i).join(""):""},r=function(t){for(var n=[],e=0;e"===a.content[a.content.length-1].content||n.push({tagName:i(a.content[0].content[1]),openedBraces:0}):0]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},keyword:/\b(?:abstract|as|asserts|async|await|break|case|catch|class|const|constructor|continue|debugger|declare|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|is|keyof|let|module|namespace|new|null|of|package|private|protected|public|readonly|return|require|set|static|super|switch|this|throw|try|type|typeof|undefined|var|void|while|with|yield)\b/,builtin:/\b(?:string|Function|any|number|boolean|Array|symbol|console|Promise|unknown|never)\b/}),delete e.languages.typescript.parameter;var n=e.languages.extend("typescript",{});delete n["class-name"],e.languages.typescript["class-name"].inside=n,e.languages.insertBefore("typescript","function",{"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:n}}}}),e.languages.ts=e.languages.typescript}(Prism); +!function(a){var e=a.util.clone(a.languages.typescript);a.languages.tsx=a.languages.extend("jsx",e);var t=a.languages.tsx.tag;t.pattern=RegExp("(^|[^\\w$]|(?=\\\\]|\\\\[^])*>[gim]{0,3}"].join("|")+")"),greedy:!0,inside:{interpolation:n}},{pattern:/(^|[^/])\/(?!\/)(?:\[[^\r\n\]]+\]|\\.|[^[/\\\r\n])+\/[gim]{0,3}(?=\s*(?:$|[\r\n,.;})]))/,lookbehind:!0,greedy:!0}],variable:/[@$]+[a-zA-Z_]\w*(?:[?!]|\b)/,symbol:{pattern:/(^|[^:]):[a-zA-Z_]\w*(?:[?!]|\b)/,lookbehind:!0},"method-definition":{pattern:/(\bdef\s+)[\w.]+/,lookbehind:!0,inside:{function:/\w+$/,rest:e.languages.ruby}}}),e.languages.insertBefore("ruby","number",{builtin:/\b(?:Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|Fixnum|Float|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z]\w*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:RegExp("%[qQiIwWxs]?(?:"+["([^a-zA-Z0-9\\s{(\\[<])(?:(?!\\1)[^\\\\]|\\\\[^])*\\1","\\((?:[^()\\\\]|\\\\[^])*\\)","\\{(?:[^#{}\\\\]|#(?:\\{[^}]+\\})?|\\\\[^])*\\}","\\[(?:[^\\[\\]\\\\]|\\\\[^])*\\]","<(?:[^<>\\\\]|\\\\[^])*>"].join("|")+")"),greedy:!0,inside:{interpolation:n}},{pattern:/("|')(?:#\{[^}]+\}|#(?!\{)|\\(?:\r\n|[\s\S])|(?!\1)[^\\#\r\n])*\1/,greedy:!0,inside:{interpolation:n}}],e.languages.rb=e.languages.ruby}(Prism); +!function(e){for(var a="/\\*(?:[^*/]|\\*(?!/)|/(?!\\*)|)*\\*/",t=0;t<2;t++)a=a.replace(//g,function(){return a});a=a.replace(//g,function(){return"[^\\s\\S]"}),e.languages.rust={comment:[{pattern:RegExp("(^|[^\\\\])"+a),lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/b?"(?:\\[\s\S]|[^\\"])*"|b?r(#*)"(?:[^"]|"(?!\1))*"\1/,greedy:!0},char:{pattern:/b?'(?:\\(?:x[0-7][\da-fA-F]|u\{(?:[\da-fA-F]_*){1,6}\}|.)|[^\\\r\n\t'])'/,greedy:!0,alias:"string"},attribute:{pattern:/#!?\[(?:[^\[\]"]|"(?:\\[\s\S]|[^\\"])*")*\]/,greedy:!0,alias:"attr-name",inside:{string:null}},"closure-params":{pattern:/([=(,:]\s*|\bmove\s*)\|[^|]*\||\|[^|]*\|(?=\s*(?:\{|->))/,lookbehind:!0,greedy:!0,inside:{"closure-punctuation":{pattern:/^\||\|$/,alias:"punctuation"},rest:null}},"lifetime-annotation":{pattern:/'\w+/,alias:"symbol"},"fragment-specifier":{pattern:/(\$\w+:)[a-z]+/,lookbehind:!0,alias:"punctuation"},variable:/\$\w+/,"function-definition":{pattern:/(\bfn\s+)\w+/,lookbehind:!0,alias:"function"},"type-definition":{pattern:/(\b(?:enum|struct|union)\s+)\w+/,lookbehind:!0,alias:"class-name"},"module-declaration":[{pattern:/(\b(?:crate|mod)\s+)[a-z][a-z_\d]*/,lookbehind:!0,alias:"namespace"},{pattern:/(\b(?:crate|self|super)\s*)::\s*[a-z][a-z_\d]*\b(?:\s*::(?:\s*[a-z][a-z_\d]*\s*::)*)?/,lookbehind:!0,alias:"namespace",inside:{punctuation:/::/}}],keyword:[/\b(?:abstract|as|async|await|become|box|break|const|continue|crate|do|dyn|else|enum|extern|final|fn|for|if|impl|in|let|loop|macro|match|mod|move|mut|override|priv|pub|ref|return|self|Self|static|struct|super|trait|try|type|typeof|union|unsafe|unsized|use|virtual|where|while|yield)\b/,/\b(?:[ui](?:8|16|32|64|128|size)|f(?:32|64)|bool|char|str)\b/],function:/\b[a-z_]\w*(?=\s*(?:::\s*<|\())/,macro:{pattern:/\w+!/,alias:"property"},constant:/\b[A-Z_][A-Z_\d]+\b/,"class-name":/\b[A-Z]\w*\b/,namespace:{pattern:/(?:\b[a-z][a-z_\d]*\s*::\s*)*\b[a-z][a-z_\d]*\s*::(?!\s*<)/,inside:{punctuation:/::/}},number:/\b(?:0x[\dA-Fa-f](?:_?[\dA-Fa-f])*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:(?:\d(?:_?\d)*)?\.)?\d(?:_?\d)*(?:[Ee][+-]?\d+)?)(?:_?(?:[iu](?:8|16|32|64|size)?|f32|f64))?\b/,boolean:/\b(?:false|true)\b/,punctuation:/->|\.\.=|\.{1,3}|::|[{}[\];(),:]/,operator:/[-+*\/%!^]=?|=[=>]?|&[&=]?|\|[|=]?|<>?=?|[@?]/},e.languages.rust["closure-params"].inside.rest=e.languages.rust,e.languages.rust.attribute.inside.string=e.languages.rust.string}(Prism); +!function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,inside:{atrule:/(?:@[\w-]+|[+=])/m}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,a=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|or|not)\b/,{pattern:/(\s+)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,inside:{punctuation:/:/,variable:t,operator:a}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:a,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/,lookbehind:!0}})}(Prism); +Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]+))/m,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),Prism.languages.insertBefore("scss","atrule",{keyword:[/@(?:if|else(?: if)?|forward|for|each|while|import|use|extend|debug|warn|mixin|include|function|return|content)\b/i,{pattern:/( +)(?:from|through)(?= )/,lookbehind:!0}]}),Prism.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),Prism.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|with|show|hide)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|or|not)(?=\s)/,lookbehind:!0}}),Prism.languages.scss.atrule.inside.rest=Prism.languages.scss; +!function(s){var n=["([\"'])(?:\\\\[^]|\\$\\([^)]+\\)|\\$(?!\\()|`[^`]+`|(?!\\1)[^\\\\`$])*\\1","<<-?\\s*([\"']?)(\\w+)\\2\\s[^]*?[\r\n]\\3"].join("|");s.languages["shell-session"]={command:{pattern:RegExp('^(?:[^\\s@:$#*!/\\\\]+@[^\\s@:$#*!/\\\\]+(?::[^\0-\\x1F$#*?"<>:;|]+)?|[^\0-\\x1F$#*?"<>:;|]+)?[$#](?:[^\\\\\r\n\'"<]|\\\\.|<>)+'.replace(/<>/g,function(){return n}),"m"),greedy:!0,inside:{info:{pattern:/^[^#$]+/,alias:"punctuation",inside:{user:/^[^\s@:$#*!/\\]+@[^\s@:$#*!/\\]+/,punctuation:/:/,path:/[\s\S]+/}},bash:{pattern:/(^[$#]\s*)\S[\s\S]*/,lookbehind:!0,alias:"language-bash",inside:s.languages.bash},"shell-symbol":{pattern:/^[$#]/,alias:"important"}}},output:/.(?:.*(?:[\r\n]|.$))*/},s.languages["sh-session"]=s.languages.shellsession=s.languages["shell-session"]}(Prism); +Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:_INSERT|COL)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:S|ING)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:TRUE|FALSE|NULL)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|IN|ILIKE|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/}; +Prism.languages.swift=Prism.languages.extend("clike",{string:{pattern:/("|')(?:\\(?:\((?:[^()]|\([^)]+\))+\)|\r\n|[^(])|(?!\1)[^\\\r\n])*\1/,greedy:!0,inside:{interpolation:{pattern:/\\\((?:[^()]|\([^)]+\))+\)/,inside:{delimiter:{pattern:/^\\\(|\)$/,alias:"variable"}}}}},keyword:/\b(?:as|associativity|break|case|catch|class|continue|convenience|default|defer|deinit|didSet|do|dynamic(?:Type)?|else|enum|extension|fallthrough|final|for|func|get|guard|if|import|in|infix|init|inout|internal|is|lazy|left|let|mutating|new|none|nonmutating|operator|optional|override|postfix|precedence|prefix|private|protocol|public|repeat|required|rethrows|return|right|safe|self|Self|set|some|static|struct|subscript|super|switch|throws?|try|Type|typealias|unowned|unsafe|var|weak|where|while|willSet|__(?:COLUMN__|FILE__|FUNCTION__|LINE__))\b/,number:/\b(?:[\d_]+(?:\.[\de_]+)?|0x[a-f0-9_]+(?:\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\b/i,constant:/\b(?:nil|[A-Z_]{2,}|k[A-Z][A-Za-z_]+)\b/,atrule:/@\b(?:IB(?:Outlet|Designable|Action|Inspectable)|class_protocol|exported|noreturn|NS(?:Copying|Managed)|objc|UIApplicationMain|auto_closure)\b/,builtin:/\b(?:[A-Z]\S+|abs|advance|alignof(?:Value)?|assert|contains|count(?:Elements)?|debugPrint(?:ln)?|distance|drop(?:First|Last)|dump|enumerate|equal|filter|find|first|getVaList|indices|isEmpty|join|last|lexicographicalCompare|map|max(?:Element)?|min(?:Element)?|numericCast|overlaps|partition|print(?:ln)?|reduce|reflect|reverse|sizeof(?:Value)?|sort(?:ed)?|split|startsWith|stride(?:of(?:Value)?)?|suffix|swap|toDebugString|toString|transcode|underestimateCount|unsafeBitCast|with(?:ExtendedLifetime|Unsafe(?:MutablePointers?|Pointers?)|VaList))\b/}),Prism.languages.swift.string.inside.interpolation.inside.rest=Prism.languages.swift; +!function(n){function e(n,e){return RegExp(n.replace(//g,function(){return"(?:\\([^|()\n]+\\)|\\[[^\\]\n]+\\]|\\{[^}\n]+\\})"}).replace(//g,function(){return"(?:\\)|\\((?![^|()\n]+\\)))"}),e||"")}var i={css:{pattern:/\{[^}]+\}/,inside:{rest:n.languages.css}},"class-id":{pattern:/(\()[^)]+(?=\))/,lookbehind:!0,alias:"attr-value"},lang:{pattern:/(\[)[^\]]+(?=\])/,lookbehind:!0,alias:"attr-value"},punctuation:/[\\\/]\d+|\S/},t=n.languages.textile=n.languages.extend("markup",{phrase:{pattern:/(^|\r|\n)\S[\s\S]*?(?=$|\r?\n\r?\n|\r\r)/,lookbehind:!0,inside:{"block-tag":{pattern:e("^[a-z]\\w*(?:||[<>=])*\\."),inside:{modifier:{pattern:e("(^[a-z]\\w*)(?:||[<>=])+(?=\\.)"),lookbehind:!0,inside:i},tag:/^[a-z]\w*/,punctuation:/\.$/}},list:{pattern:e("^[*#]+*\\s+\\S.*","m"),inside:{modifier:{pattern:e("(^[*#]+)+"),lookbehind:!0,inside:i},punctuation:/^[*#]+/}},table:{pattern:e("^(?:(?:||[<>=^~])+\\.\\s*)?(?:\\|(?:(?:||[<>=^~_]|[\\\\/]\\d+)+\\.|(?!(?:||[<>=^~_]|[\\\\/]\\d+)+\\.))[^|]*)+\\|","m"),inside:{modifier:{pattern:e("(^|\\|(?:\r?\n|\r)?)(?:||[<>=^~_]|[\\\\/]\\d+)+(?=\\.)"),lookbehind:!0,inside:i},punctuation:/\||^\./}},inline:{pattern:e("(^|[^a-zA-Z\\d])(\\*\\*|__|\\?\\?|[*_%@+\\-^~])*.+?\\2(?![a-zA-Z\\d])"),lookbehind:!0,inside:{bold:{pattern:e("(^(\\*\\*?)*).+?(?=\\2)"),lookbehind:!0},italic:{pattern:e("(^(__?)*).+?(?=\\2)"),lookbehind:!0},cite:{pattern:e("(^\\?\\?*).+?(?=\\?\\?)"),lookbehind:!0,alias:"string"},code:{pattern:e("(^@*).+?(?=@)"),lookbehind:!0,alias:"keyword"},inserted:{pattern:e("(^\\+*).+?(?=\\+)"),lookbehind:!0},deleted:{pattern:e("(^-*).+?(?=-)"),lookbehind:!0},span:{pattern:e("(^%*).+?(?=%)"),lookbehind:!0},modifier:{pattern:e("(^\\*\\*|__|\\?\\?|[*_%@+\\-^~])+"),lookbehind:!0,inside:i},punctuation:/[*_%?@+\-^~]+/}},"link-ref":{pattern:/^\[[^\]]+\]\S+$/m,inside:{string:{pattern:/(\[)[^\]]+(?=\])/,lookbehind:!0},url:{pattern:/(\])\S+$/,lookbehind:!0},punctuation:/[\[\]]/}},link:{pattern:e('"*[^"]+":.+?(?=[^\\w/]?(?:\\s|$))'),inside:{text:{pattern:e('(^"*)[^"]+(?=")'),lookbehind:!0},modifier:{pattern:e('(^")+'),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[":]/}},image:{pattern:e("!(?:||[<>=])*(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?!(?::.+?(?=[^\\w/]?(?:\\s|$)))?"),inside:{source:{pattern:e("(^!(?:||[<>=])*)(?![<>=])[^!\\s()]+(?:\\([^)]+\\))?(?=!)"),lookbehind:!0,alias:"url"},modifier:{pattern:e("(^!)(?:||[<>=])+"),lookbehind:!0,inside:i},url:{pattern:/(:).+/,lookbehind:!0},punctuation:/[!:]/}},footnote:{pattern:/\b\[\d+\]/,alias:"comment",inside:{punctuation:/\[|\]/}},acronym:{pattern:/\b[A-Z\d]+\([^)]+\)/,inside:{comment:{pattern:/(\()[^)]+(?=\))/,lookbehind:!0},punctuation:/[()]/}},mark:{pattern:/\b\((?:TM|R|C)\)/,alias:"comment",inside:{punctuation:/[()]/}}}}}),a=t.phrase.inside,o={inline:a.inline,link:a.link,image:a.image,footnote:a.footnote,acronym:a.acronym,mark:a.mark};t.tag.pattern=/<\/?(?!\d)[a-z0-9]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\[\s\S]|(?!\1)[^\\])*\1|[^\s'">=]+))?)*\s*\/?>/i;var r=a.inline.inside;r.bold.inside=o,r.italic.inside=o,r.inserted.inside=o,r.deleted.inside=o,r.span.inside=o;var d=a.table.inside;d.inline=o.inline,d.link=o.link,d.image=o.image,d.footnote=o.footnote,d.acronym=o.acronym,d.mark=o.mark}(Prism); +!function(e){var n=/[*&][^\s[\]{},]+/,r=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,t="(?:"+r.source+"(?:[ \t]+"+n.source+")?|"+n.source+"(?:[ \t]+"+r.source+")?)",a="(?:[^\\s\\x00-\\x08\\x0e-\\x1f!\"#%&'*,\\-:>?@[\\]`{|}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*".replace(//g,function(){return"[^\\s\\x00-\\x08\\x0e-\\x1f,[\\]{}\\x7f-\\x84\\x86-\\x9f\\ud800-\\udfff\\ufffe\\uffff]"}),d="\"(?:[^\"\\\\\r\n]|\\\\.)*\"|'(?:[^'\\\\\r\n]|\\\\.)*'";function o(e,n){n=(n||"").replace(/m/g,"")+"m";var r="([:\\-,[{]\\s*(?:\\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|]|}|(?:[\r\n]\\s*)?#))".replace(/<>/g,function(){return t}).replace(/<>/g,function(){return e});return RegExp(r,n)}e.languages.yaml={scalar:{pattern:RegExp("([\\-:]\\s*(?:\\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\\S[^\r\n]*(?:\\2[^\r\n]+)*)".replace(/<>/g,function(){return t})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp("((?:^|[:\\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\\s*:\\s)".replace(/<>/g,function(){return t}).replace(/<>/g,function(){return"(?:"+a+"|"+d+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:o("\\d{4}-\\d\\d?-\\d\\d?(?:[tT]|[ \t]+)\\d\\d?:\\d{2}:\\d{2}(?:\\.\\d*)?(?:[ \t]*(?:Z|[-+]\\d\\d?(?::\\d{2})?))?|\\d{4}-\\d{2}-\\d{2}|\\d\\d?:\\d{2}(?::\\d{2}(?:\\.\\d*)?)?"),lookbehind:!0,alias:"number"},boolean:{pattern:o("true|false","i"),lookbehind:!0,alias:"important"},null:{pattern:o("null|~","i"),lookbehind:!0,alias:"important"},string:{pattern:o(d),lookbehind:!0,greedy:!0},number:{pattern:o("[+-]?(?:0x[\\da-f]+|0o[0-7]+|(?:\\d+(?:\\.\\d*)?|\\.?\\d+)(?:e[+-]?\\d+)?|\\.inf|\\.nan)","i"),lookbehind:!0},tag:r,important:n,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(Prism); +!function(){if("undefined"!=typeof self&&self.Prism&&self.document){var o="line-numbers",a=/\n(?!$)/g,e=Prism.plugins.lineNumbers={getLine:function(e,n){if("PRE"===e.tagName&&e.classList.contains(o)){var t=e.querySelector(".line-numbers-rows");if(t){var i=parseInt(e.getAttribute("data-start"),10)||1,r=i+(t.children.length-1);n");(i=document.createElement("span")).setAttribute("aria-hidden","true"),i.className="line-numbers-rows",i.innerHTML=l,t.hasAttribute("data-start")&&(t.style.counterReset="linenumber "+(parseInt(t.getAttribute("data-start"),10)-1)),e.element.appendChild(i),u([t]),Prism.hooks.run("line-numbers",e)}}}),Prism.hooks.add("line-numbers",function(e){e.plugins=e.plugins||{},e.plugins.lineNumbers=!0})}function u(e){if(0!=(e=e.filter(function(e){var n=t(e)["white-space"];return"pre-wrap"===n||"pre-line"===n})).length){var n=e.map(function(e){var n=e.querySelector("code"),t=e.querySelector(".line-numbers-rows");if(n&&t){var i=e.querySelector(".line-numbers-sizer"),r=n.textContent.split(a);i||((i=document.createElement("span")).className="line-numbers-sizer",n.appendChild(i)),i.innerHTML="0",i.style.display="block";var s=i.getBoundingClientRect().height;return i.innerHTML="",{element:e,lines:r,lineHeights:[],oneLinerHeight:s,sizer:i}}}).filter(Boolean);n.forEach(function(e){var i=e.sizer,n=e.lines,r=e.lineHeights,s=e.oneLinerHeight;r[n.length-1]=void 0,n.forEach(function(e,n){if(e&&1img{height:auto;margin:15px auto;max-width:90%!important;width:auto}.viewer-footer{bottom:0;left:0;overflow:hidden;position:absolute;right:0;text-align:center}.viewer-navbar{background-color:rgba(0,0,0,.5);overflow:hidden}.viewer-list{-webkit-box-sizing:content-box;box-sizing:content-box;height:50px;margin:0;overflow:hidden;padding:1px 0}.viewer-list>li{color:transparent;cursor:pointer;float:left;font-size:0;height:50px;line-height:0;opacity:.5;overflow:hidden;-webkit-transition:opacity .15s;transition:opacity .15s;width:30px}.viewer-list>li:focus,.viewer-list>li:hover{opacity:.75}.viewer-list>li:focus{outline:0}.viewer-list>li+li{margin-left:1px}.viewer-list>.viewer-loading{position:relative}.viewer-list>.viewer-loading:after{border-width:2px;height:20px;margin-left:-10px;margin-top:-10px;width:20px}.viewer-list>.viewer-active,.viewer-list>.viewer-active:focus,.viewer-list>.viewer-active:hover{opacity:1}.viewer-player{background-color:#000;bottom:0;cursor:none;display:none;right:0;z-index:1}.viewer-player,.viewer-player>img{left:0;position:absolute;top:0}.viewer-toolbar>ul{display:inline-block;margin:0 auto 5px;overflow:hidden;padding:6px 3px}.viewer-toolbar>ul>li{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;float:left;height:24px;overflow:hidden;-webkit-transition:background-color .15s;transition:background-color .15s;width:24px}.viewer-toolbar>ul>li:focus,.viewer-toolbar>ul>li:hover{background-color:rgba(0,0,0,.8)}.viewer-toolbar>ul>li:focus{-webkit-box-shadow:0 0 3px #fff;box-shadow:0 0 3px #fff;outline:0;position:relative;z-index:1}.viewer-toolbar>ul>li:before{margin:2px}.viewer-toolbar>ul>li+li{margin-left:1px}.viewer-toolbar>ul>.viewer-small{height:18px;margin-bottom:3px;margin-top:3px;width:18px}.viewer-toolbar>ul>.viewer-small:before{margin:-1px}.viewer-toolbar>ul>.viewer-large{height:30px;margin-bottom:-3px;margin-top:-3px;width:30px}.viewer-toolbar>ul>.viewer-large:before{margin:5px}.viewer-tooltip{background-color:rgba(0,0,0,.8);border-radius:10px;color:#fff;display:none;font-size:12px;height:20px;left:50%;line-height:20px;margin-left:-25px;margin-top:-10px;position:absolute;text-align:center;top:50%;width:50px}.viewer-title{color:#ccc;display:inline-block;font-size:12px;line-height:1;margin:0 5% 5px;max-width:90%;opacity:.8;overflow:hidden;text-overflow:ellipsis;-webkit-transition:opacity .15s;transition:opacity .15s;white-space:nowrap}.viewer-title:hover{opacity:1}.viewer-button{background-color:rgba(0,0,0,.5);border-radius:50%;cursor:pointer;height:80px;overflow:hidden;position:absolute;right:-40px;top:-40px;-webkit-transition:background-color .15s;transition:background-color .15s;width:80px}.viewer-button:focus,.viewer-button:hover{background-color:rgba(0,0,0,.8)}.viewer-button:focus{-webkit-box-shadow:0 0 3px #fff;box-shadow:0 0 3px #fff;outline:0}.viewer-button:before{bottom:15px;left:15px;position:absolute}.viewer-fixed{position:fixed}.viewer-open{overflow:hidden}.viewer-show{display:block}.viewer-hide{display:none}.viewer-backdrop{background-color:rgba(0,0,0,.5)}.viewer-invisible{visibility:hidden}.viewer-move{cursor:move;cursor:-webkit-grab;cursor:grab}.viewer-fade{opacity:0}.viewer-in{opacity:1}.viewer-transition{-webkit-transition:all .3s;transition:all .3s}@-webkit-keyframes viewer-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes viewer-spinner{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.viewer-loading:after{-webkit-animation:viewer-spinner 1s linear infinite;animation:viewer-spinner 1s linear infinite;border:4px solid hsla(0,0%,100%,.1);border-left-color:hsla(0,0%,100%,.5);border-radius:50%;content:"";display:inline-block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px;z-index:1}@media (max-width:767px){.viewer-hide-xs-down{display:none}}@media (max-width:991px){.viewer-hide-sm-down{display:none}}@media (max-width:1199px){.viewer-hide-md-down{display:none}} \ No newline at end of file diff --git a/maixpy/static/image/body_keypoint.jpg b/maixpy/static/image/body_keypoint.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e0e14e0daaffd86cb2034b36a7efdbc274bb98b GIT binary patch literal 174172 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 k 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 J#O7+z6d6j3I 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�LrenPeertC4%*f+`BAPXWm*3pi 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%0A-i}_VknsyCO4F^Nd^^T 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

swf)&~%cLO>cf)jPy~G>o zZE_sp2v2@_1MBkw5Q=_a{{U~fUr0h09tU4$_OTbs#^8Cv5a3!4hW6-wp7=ym2?P(! z;9B=mPcVHx?QXUsNJIh+^T>CP-XW<%#FXYbo+R}d=f>kxZ6ZNL3jz6*OK@{Op3xmk zxc0Ko>&TeNS-x3zWPZ@x9M7k;GNtm+XX)~cZz%Ef9?>4G3z4sOXT~8otjGrBlg~r; zA~6z@Gb7YSxIYu_&a3T1*^;xfxk;QuCtRjhDfq7s9602edTy;wORXYKr7Ju?FFj3p zsfG8l>RWCpX=zQkk`xW80Z1c=;hpoohb;U@d_;hC5#e`fJ(fE_Z0fgAqGBD3?NzfQ zH1i3Yl)*KrxoL)5aZR%PyVTivhLqdQp)2+cgN11Xqylsn&6Q#R?*R8(u=nK=+)rry z?Ywm3yD7)%Q9;?B(~E&wwKIaTN?b|K;VrpON`JbU8vMn;(}6^@KsraD4d1YG{Y^VXbDWi1)>4h%lC}#4rkNa zJEIH!9R09yqpTEcPN#(=iuVleE^yi6_Jk|*AZ7`_ z41k5x!3hVL120HJYIrKg+PNTGAz^&T;c_w_IpuhaBSwFZp25|$zR1!$Q>IEb^;2TF zp^B8^(w7xDoHL076zZbd2)a^#J>H3Ed>55=0bvLp`LO4|*fdYa_4+@)%i<5R6a zB{2JJ)snX9(=+thRn!`p>vN-O_*WX>ov!Q`YIB<$+dj=7#EZe0%3ls){8J{WY+Z+{ zIByVAYt%eVBUPl->GSmI@)G3CjL@gdF)dS)kTr=Z3Hfi%`+eA*UuyFBX0?NHqq{iT z4g_|+GleVdQzYxMGat|ClhPF$Wo|;Cg>OhsxiHIuWwk!-J#7h=GCg4C6=Z;w57+Na$1v4Y1gJ+ zEXp$9a?3nM%WxCBI>U1mnfy&v#&z1YcDsu4MlP-)q*gILD8&_N+P!kMQ|i|+wKLAJ%8gRHT*P%I7?zu@R_im*&QH%g z%T7F|l(o2oHrumPt3xPk8KtZ^rR7)Q>9v=3N!t%$Sf-CqdR9>4`6>lrO{KP6ouFbx zriVK$>rS?%ZYdL}dBgyhciTSDxJdNY7Lcpoh~Rr;*vKPM9{inBO_T`SH&S%T1lc1X z03Ztyz=AGyJf^XTV|M7)18YNgOwC?=cnXJHF-+=p-A6 zgd$=zK0hG{LxYb&^8@DyL&+8c!v3&?RuMF6d%oftTdPPQ5nz6H`{4+-BDl2_oAl2+ z>N>&^WSDI(g(Z256QDoS!r+0a&_WT?n6i&en{YQZCdA8X-%)M$n{l#ztx}|s!{f&| zt!N4tH^?0ie+?pOSxHD1&0IzJA86~T%m;zy*+Qo9b{3kkNl2Q*^qHO9hv_fMI7RMn zpSm=hlwm^U0FntL>v3=oq;@7AT3S&S2X!RmGbKQNcSG`+D+kDTW=9KQ$u%}?+NEf8 zsdC=%3MC!XqCg;E>W!4O5JiYKwuiF*v12s3B)FS0lXV+{5=MzX z+sv5UOD(0cK;RB$`Plhs!`e9Ytwq8w#^0BYL-{5emsa9RY%&1Y41v%9H5_huMvI6_ zfhPF_Ya2zb00^+P(|=Mv(bAhyt5u}cM5M@6rm6C^VNo-xlPt9|u_xR(%2O~|TZlkb zN=QD^a>_Wjkdc1QdGWQQm!trts{9UJnsMk^wpLztSm~Ce98WUH*}r*b=onTEcYN zjOl32FL{+Mq$vp~Whg=p>Xy3@l!29#$s#+Hhyq;};syMH`}tT$o6j4*zxb3qjB{3; zT8IT^#1CgHYB`LxjmXl6RscRC{&z5hQ8%~%k;fwlMa8wOU)m&Zfn%o}{C(Xa2#^#> z8S)vv2t+lLaySq3 zoFNRaLF4i;ghp98XV2vbL`OAOhsqIx0m#Q2tG3(BggS(+E)W!zUfCw&j{dX z38%{MDE_a@%kL*llCJ9G)Wv&=xEJAm0{5_rY&j1h6JCSA>|vLv zbk#PS%Z$ky+wY%@Udj@0a6GwM-&ogKBGxw7?G|;>sn`Di<>j%OwXk~&|`!2Duq03e%iKc0~&yv1;b8{_5k zgd#!-(}k}HLy;taNC)#MLPlU89EO~;jI04`4u5Dvs3zcC+dRCCLJ;gB1R(?=9R=FM z22l2i*^h5nHxn}C%?`1$>{e$PX-%Qd@=lL6IV$UFb*Gz4tV}eA5T!J*6hBGI$Vbi> zW7uj>XnSkH8#}H|PfO9U9w(Kd)MqJJ*XK1zBtjV3K*D;N1vr?K{Of+7ds-{Y#GrH8fOtQ?nADeYDvduPzWtjDzzqy-~=q7;Ip9F^?=NIJz4VsstR zmpBfwJuQr=ScX}_Emdx{L8-GbFTBrjIA`T%3#_HJq$ByPpnxx7aeXawTtDLWfdJ}1 zKR8Fy8xKsoJA^P?^uo8MDi}KpPt7js{$$MU7D8ra!@Q*{`Hwo{$SOA8u*$+Yl;}H$ z(kf7~Aa;EOUI`$ZTOw_c=iwQM!>J^IPu_5ZEGa`P{2>UTBM~~FU|Jm2aEUf?l literal 0 HcmV?d00001 diff --git a/maixpy/static/image/camera.png b/maixpy/static/image/camera.png new file mode 100644 index 0000000000000000000000000000000000000000..0fa70af099b2010893a6078287d08b2f75df71a2 GIT binary patch literal 2802 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 Eg2}2T-~a#s literal 0 HcmV?d00001 diff --git a/maixpy/static/image/face_recognize.jpg b/maixpy/static/image/face_recognize.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c04f89e294dfc05aed3717399313ad61d5e87d40 GIT binary patch literal 48663 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 \ No newline at end of file diff --git a/maixpy/static/image/maix-ecosystem.excalidraw b/maixpy/static/image/maix-ecosystem.excalidraw new file mode 100644 index 00000000..794d2bd5 --- /dev/null +++ b/maixpy/static/image/maix-ecosystem.excalidraw @@ -0,0 +1,974 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "rectangle", + "version": 149, + "versionNonce": 170295430, + "isDeleted": false, + "id": "lgDrdWXT9bbyk2trMN6Vw", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 542, + "y": 545, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 602.8055468764685, + "height": 133, + "seed": 1518581314, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 171, + "versionNonce": 1910780634, + "isDeleted": false, + "id": "yN5xUSW8oMw5XX3EP_QN5", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 543.8055468764685, + "y": 480.0277343823424, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 602.388906247063, + "height": 64, + "seed": 1257741826, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 196, + "versionNonce": 869302214, + "isDeleted": false, + "id": "pZsOD-erMl2GhwgdB3len", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 544.3303130110232, + "y": 415.05640610609106, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 602.388906247063, + "height": 64, + "seed": 471371202, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 110, + "versionNonce": 256690074, + "isDeleted": false, + "id": "-bPjeuUMFo6K5trDKlsX1", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 541.0280468294778, + "y": 263.3917182712827, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 604.1601573513434, + "height": 150.63726589960157, + "seed": 1124435330, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 140, + "versionNonce": 1853396742, + "isDeleted": false, + "id": "lfgD3TSEibNF4UEOT65O6", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 822.1639067169694, + "y": 263.3917182712827, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 323.0242974638518, + "height": 116.80429708792639, + "seed": 956138818, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "jFsobJvvk3oLsXpIMZZGR" + } + ], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 53, + "versionNonce": 1145357402, + "isDeleted": false, + "id": "jFsobJvvk3oLsXpIMZZGR", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 876.139831083661, + "y": 291.7938668152459, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 215.07244873046875, + "height": 60, + "seed": 1960559838, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MaixPy\nPython API\n(Auto Sync with MaixCDK)", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "lfgD3TSEibNF4UEOT65O6", + "originalText": "MaixPy\nPython API\n(Auto Sync with MaixCDK)", + "lineHeight": 1.25, + "baseline": 55 + }, + { + "type": "rectangle", + "version": 148, + "versionNonce": 580634182, + "isDeleted": false, + "id": "4EvFUYMCaR0VTnX-qZHxz", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 957.7240489190394, + "y": -159.09379322492532, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 186.8868753406823, + "height": 420.0688708668026, + "seed": 2002750722, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "87m8Zy2thgUpCwI3aLGLU" + } + ], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 88, + "versionNonce": 983509274, + "isDeleted": false, + "id": "87m8Zy2thgUpCwI3aLGLU", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 962.9272827319587, + "y": 0.9406422084759924, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 176.48040771484375, + "height": 100, + "seed": 322530910, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MaixVision Workstation\n\npython coding, camera\npreview, graphic coding,\ncamera monitor...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4EvFUYMCaR0VTnX-qZHxz", + "originalText": "MaixVision Workstation\n\npython coding, camera preview, graphic coding, camera monitor...", + "lineHeight": 1.25, + "baseline": 95 + }, + { + "type": "rectangle", + "version": 304, + "versionNonce": 555158918, + "isDeleted": false, + "id": "EcrNFNI6yL92AoSlIWVVO", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 544.3798973239758, + "y": -160.84555157963533, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 413.2455476283189, + "height": 297.55670053920767, + "seed": 1940561090, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 411, + "versionNonce": 1775171034, + "isDeleted": false, + "id": "rRCFAQjwm1vnYBnizXNgV", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 645.073256882533, + "y": -152.95838497869576, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 152.7585529775803, + "height": 137.38091739682395, + "seed": 461223042, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "IljY5UxdaUGFHT9sh3TVh" + } + ], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 206, + "versionNonce": 388459718, + "isDeleted": false, + "id": "IljY5UxdaUGFHT9sh3TVh", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 659.1804157565771, + "y": -104.26792628028379, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 124.54423522949219, + "height": 40, + "seed": 1150609118, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "AI model online \ntraining", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rRCFAQjwm1vnYBnizXNgV", + "originalText": "AI model online training", + "lineHeight": 1.25, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 429, + "versionNonce": 1659316890, + "isDeleted": false, + "id": "-s8ub4VAaSqSgcxn_ClB6", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 806.195982956134, + "y": -152.1965882262943, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 143.40089934047262, + "height": 135.41277270964167, + "seed": 1352127554, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "HiKrFzJa43Cm5SmFjQ47Z" + } + ], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 209, + "versionNonce": 40494086, + "isDeleted": false, + "id": "HiKrFzJa43Cm5SmFjQ47Z", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 813.1922929168977, + "y": -94.49020187147346, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 129.4082794189453, + "height": 20, + "seed": 1527204318, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "AI model sharing", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "-s8ub4VAaSqSgcxn_ClB6", + "originalText": "AI model sharing", + "lineHeight": 1.25, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 471, + "versionNonce": 479905626, + "isDeleted": false, + "id": "4LZjGT8mwEbDX3LZWxl6R", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 645.8346979642795, + "y": -8.461871689459826, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 151.86479451166826, + "height": 139.42752107389416, + "seed": 1691876354, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "K0Wr4IrqdbZ8pYoLS5o9U" + } + ], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 213, + "versionNonce": 618361670, + "isDeleted": false, + "id": "K0Wr4IrqdbZ8pYoLS5o9U", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 656.4469429373987, + "y": 41.25188884748725, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 130.6403045654297, + "height": 40, + "seed": 1106354562, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Project sharing, \nreward", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4LZjGT8mwEbDX3LZWxl6R", + "originalText": "Project sharing, reward", + "lineHeight": 1.25, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 477, + "versionNonce": 1060949018, + "isDeleted": false, + "id": "fawTMpzGHBvMo4rpWSaai", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 806.6026053001843, + "y": -8.271965644919078, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 143.81518326443873, + "height": 139.21006740019186, + "seed": 373107650, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "znJrxwJJU0EAYq6Tw-t9R" + } + ], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 249, + "versionNonce": 2027494022, + "isDeleted": false, + "id": "znJrxwJJU0EAYq6Tw-t9R", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 837.0541117273256, + "y": 51.33306805517685, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 82.91217041015625, + "height": 20, + "seed": 1660884994, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "APP Store", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "fawTMpzGHBvMo4rpWSaai", + "originalText": "APP Store", + "lineHeight": 1.25, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 103, + "versionNonce": 1891645658, + "isDeleted": false, + "id": "AD9gq4p6sVlK5uCSSdF79", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 541.7062882439832, + "y": 137.47954767793942, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 414.3818235520964, + "height": 125.37029693455148, + "seed": 182870914, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 129, + "versionNonce": 622844358, + "isDeleted": false, + "id": "rBVBpnjw-mw4TFaxBVqob", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 546.9896785754999, + "y": 143.80647502552387, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 156.74454974378438, + "height": 114.3227462361117, + "seed": 1293067074, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "N9U-XXCh_1lmG6TFdyWZf" + } + ], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 59, + "versionNonce": 548933018, + "isDeleted": false, + "id": "N9U-XXCh_1lmG6TFdyWZf", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 583.3218686085248, + "y": 190.96784814357972, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 84.08016967773438, + "height": 20, + "seed": 1628866946, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "User APPs", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rBVBpnjw-mw4TFaxBVqob", + "originalText": "User APPs", + "lineHeight": 1.25, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 227, + "versionNonce": 1892462854, + "isDeleted": false, + "id": "taBSuFoogLth7z8TAIGfA", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "dotted", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 711.7353054438793, + "y": 143.5381217253858, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 238.5851579676612, + "height": 113.2492266066432, + "seed": 1193339650, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 3 + }, + "boundElements": [ + { + "type": "text", + "id": "zbtofl7zMyang1nAhL_EV" + } + ], + "updated": 1705903395747, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 154, + "versionNonce": 1415006810, + "isDeleted": false, + "id": "zbtofl7zMyang1nAhL_EV", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 717.9876241127685, + "y": 150.1627350287074, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 226.0805206298828, + "height": 100, + "seed": 756599262, + "groupIds": [], + "frameId": null, + "roundness": null, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Official APPs:\nLauncher, APP store, \nSettings,Camera, Monitor, AI\ndetector, line tracer, QR \ncode finder etc.", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "taBSuFoogLth7z8TAIGfA", + "originalText": "Official APPs:\nLauncher, APP store, Settings,Camera, Monitor, AI detector, line tracer, QR code finder etc.", + "lineHeight": 1.25, + "baseline": 95 + }, + { + "type": "text", + "version": 49, + "versionNonce": 928817222, + "isDeleted": false, + "id": "sFPgg4fqvH6SkVMAcU2Ic", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 609.1081303162628, + "y": 321.1711479479845, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 86.400146484375, + "height": 40, + "seed": 1066416834, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MaixCDK\nC/C++ API", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MaixCDK\nC/C++ API", + "lineHeight": 1.25, + "baseline": 34 + }, + { + "type": "text", + "version": 60, + "versionNonce": 1920003866, + "isDeleted": false, + "id": "mdOMOmkUcecRL2pFLwKdr", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 797.665729771511, + "y": 435.4203338248098, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 55.5521240234375, + "height": 20, + "seed": 1426035330, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "Drivers", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Drivers", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 79, + "versionNonce": 1554818950, + "isDeleted": false, + "id": "HEf5jPBhfnk4ha0pwN7__", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 778.159771207175, + "y": 502.2979060453904, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 104.52821350097656, + "height": 20, + "seed": 2049831490, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "System(Linux)", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "System(Linux)", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 101, + "versionNonce": 259521498, + "isDeleted": false, + "id": "huzNuYRp7_Zxwnq1MvOpN", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 798.594584941241, + "y": 584.0371609816557, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 66.52815246582031, + "height": 20, + "seed": 1912232450, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MaixCam", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MaixCam", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 78, + "versionNonce": 1090111174, + "isDeleted": false, + "id": "BNhQWU8ZdE9UUh9PGz8WY", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 729.8593023811998, + "y": 614.0371609816557, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 248.54452514648438, + "height": 20, + "seed": 1264830914, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "For STEM, Industry, Personal...", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "For STEM, Industry, Personal...", + "lineHeight": 1.25, + "baseline": 14 + }, + { + "type": "text", + "version": 75, + "versionNonce": 964653210, + "isDeleted": false, + "id": "DsZ8iDV3d86Jb4hh_bEIW", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 567.7901931261797, + "y": -20.78670585983116, + "strokeColor": "#343a40", + "backgroundColor": "transparent", + "width": 61.456146240234375, + "height": 20, + "seed": 1569276290, + "groupIds": [], + "frameId": null, + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1705903395747, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 1, + "text": "MaixHub", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "MaixHub", + "lineHeight": 1.25, + "baseline": 14 + } + ], + "appState": { + "gridSize": null, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/maixpy/static/image/maix_ecosystem.png b/maixpy/static/image/maix_ecosystem.png new file mode 100644 index 0000000000000000000000000000000000000000..dff03994a540f239b3c770ac77c1a15a46ff03e0 GIT binary patch literal 130806 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 F{{wtr^56gf literal 0 HcmV?d00001 diff --git a/maixpy/static/image/maixcam.png b/maixpy/static/image/maixcam.png new file mode 100644 index 0000000000000000000000000000000000000000..c070967af7ad7a0ecea6890776f93431a0dc32f5 GIT binary patch literal 345608 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Νb%fmMu0*{h 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 kX2lgc99ON zwufnKemxi0ywN#qB6XWc7oIA&++`zALHct z3pB^aSRNn4TZ_>$1^}BeFc3zjfU>J=Cq)G zjXo{WkLpJE61H!Ev{Xh=;+p9q)uis+=45*?XX zD~B8Ox^_C~z2IffI8g3+AMeMn1Nr{=#V@|XVqq~1Kf=Yu5r`P;^$uTt@hvXj++eY= zxV*f>x8GjkXFq$6qoWROYp}Z^bhidFppF(i(EGh>({Tbxw*!|S}+32z#Pz4wgw{+2Jf*Q2W*A`4h1DD zy6%VwdS6V;D#X!eGqtSSRZ(a9#OQ)D3{E&_-sks8iK?6mR0gUD0)ZjQQBR37YuFS` zws*y3k4jsYwWZN~%_Kd0ETTnCdei3-iiMC>o|-5kLetpLMDJ0{CL3%ns6rv0jEe{f z5p~hkRJ$xkJw1Xk4H>E&%7eB(H1YY>I3jx9W6Un}$yg2(s_R?-&LtEfbRuPMpu9ucC7ks^W`1x^1W)N6r9bv=iH zf@*ZANC$+%@9T3_?)mU{Ym73-^SK-I;`5+{)8{D~!BZ&?B3WWWF`GQ)NjNnO5HHw` z1JFw_ofCmI2FtcZV*=8?Y#TI93yO_}a~?bKAn#$_7|iL00qu4dQ1z&ZYB~O$LX4Y@ z=(>TRAqpDzs9EP&eR1quIUvt&RC9Ui?J4*&=n$#V`y%jDh!zj zjR|IY3lf|zJ2>K)QZZuv`a9fw`xUN!^J{$BF3_Ew;poW)&OiPLC(oZ_d2xZo*%{83 zD@fa-XToM2F-G}Bpvb4Ij5Aus2wo3a+60M%NXmmp#C5V1nqhF5hC4)c+mmMF7Wvqi$1RtzCx{MBQ8~= z-82o3kB_lfEGk4n48s9C|n~MX7aju1)3i>u7_!X>+2{_w*<4 zlg8xxVYAufruq=_&dg}r7H!*B$B?qx?=@hHecrnFaGp!Ut@=+r)X#`?+5PvfU8ayf z{q({D&R`e>#sEzd*l1^G9moi}ZosR>0@v*meEr3BzTUq#Qhwlf-B<=Ugn5mA8cchU zd-|O`CRSiTYM$xdUOq+W$iZWlhYc-3vyYo&g4Ha@Ng7gSmvV(s&H2&H?ce#ni^kA< z9oqx?+V@F$fBEtj|Lwnhj;pIRKKkek-UFAH8~oxIU*pZ2TePjk<>dyy{`I$b`t%r| ze)=T%Rd^qmT?fv%Ora4u4Bpbi2mjtX_UTaOy*B^xkll{ZuL0L%mf|l(ts3it!-Ru; z8^i(cxK-?nTz-ZIo*3XZG~Hwx)}E0A-r40tzW^97Fd(NRLK@@5zUN+doYK~l8ANh7VJ?@%H7vG9z{gA%PK@wGxT zsTY1y^sJm2nCat)D6*dFCn{+8Tuj!X2iO_#&{Vb*<@OC^P%OuZ0=gWr>2I4Nq(pRCix`<4P26j zBxZ+ZMMTO(aeklC=v58POd%YeDxkqs>E-L@$%_X=F)LL3VqpxpoFb9E1k}h*4<*y_ zY8DTOi$o-9xxIIBa1`SaQ!Gb3_|ZGKQ82h3gdRi^^yh7hMbn^V111yA8$HAaR#Gn> zYv*D55f*^ukh9*g2~9e4MCOB5y=B6RTC_2XokT+8&Z%jaaDI|JDW(~4jDmC+OT3#D zgvc<%HVq7$fV@Y_si4F;5fELJ3so{u;tiH;Ack>$)(H#ppFHyE}XT)ljWx4-!{ zXt}`h{2ZsxU*Jj1USC{1!PC=I*u@Io8uUciI)`oFWAK0{1J49u3nxAp1+f(EVPbiC zKqw%_j1nWN`({z;7n;eFo7lagcb@@L({c;_#`_<CIQG6^@RM)IE5h*_xni>F356ESJmd_O2W5x!mx%=T41x+qP($ zCL`X{=QxC%YjoXOi`8mXQS9~4HT&j}TRSsju~_WAr$nuv>iPGE7jc~(oWOZa(X5ft zirFMH6y)eFL{av2cD@ArJGkKvO>1#`yTy0kUE;IPo}z6no;@X;oLHP5Gk!g6@XbtL zci-pwn1)@~nQ6VjBw?to0gGhk&{dt2A#{U&u$`vZmq$k5+>pJ5oo8@jjwnM@Gh`~0 z6M-E3J)&ABSW0ng zq-sEq-~RR$uC6xt=YRfd{Pf>_inGR}RVhMq0OS7kIA`qka5lP32L0~~g_qgU&HF&n z!81h(J*y*n>3+W$=Uk?+Eubs$)k9!0rXH_WhxFvyglARk<;W^)suixQP}T_y!7 zGEM!CAUk^Ng@6;16)$F=BbLgflGNiwMPdnRw|5aJH|M&UW^FRJ*R7+{%I71Hx^dHs zYjM~{#c>qu=cFrMNsPPw>Z`9nLmwjOBI3ksf(a5adgrk22Wr0H?VPS;EX6biQY5D+YJh$cv}0YJ_#&$-G>`Ev*ZgMhT9 zhBj;*DTi62Q5|PznnG*#du)tx^dJsRK9mD`c4|jy>JQVc^rWm9lcnZBPmA|;B*h`t z=P{sB*A#L=kS5guX^kv`xFLF1J|}B!nBaL2H@YYXFi}q66t!D5>ocyQTC-jiV>DlS zXe#(V#;&6FWTLTELyXX5hxcCS`DzA1HT5kk3Z~{qDuT^9SG&Fzesz3ZsTdl1;GsA4 zT;QsmPa|6;`n=HNQ&gaC{K1l$KFJZd%9&L=2UP}?k{i$x0Tu@i(QP~B^D_GLUuch@j6d~T_#gZ`w}uZ zI;_`g7-sm*8lxLwZG)z5&^8T>VKi)Te7uAM2giIb=r?O@?{4wUS6|_~ZUJ5_(4L&& z;^U8T@zKXvKDhv&9AkBMii_i8cw^y=#r0-~yM6~xjKN4o*mWEtMNbJ**94)k0f@tU zgpNDX1JQXrVS-wug|Mm^e&sR7-U7=|Vj+PB>+bwRd-sGA9@@@$EW1IKn*sZm# zUgVv0#*}igE9Tna2bZQ?DzmjYs8&So#m+@B39H9VKMO*osnJMzMGd9NAfdvHCBva} zaesNQ*77ge=RH5BNx$#sk7?4&y|({c)3xRDa*hA`Uw?%{>J0Y?>uh5^l-cT z?mI;-@8y(?Tj1(90(gfP|HN25=RMT_@hE!mP%>uHpaZpGq6i4V&D~2HZc+*m z2eW}SjKNQsCm-0s9SCgf;*=Uq#`FZMq5)JY|9x?SZV5`{R?13^jbSSID#W}L^Q2L5 zMXd~ll}2fOZ62qZblsTGT?rKunr=)%rEQ$PujJ-e&_CHjO&EgK7#Qzy{puC&F5iN@ zgJH_kPX_^v!3bb83|RNO*r2;$R3-@logkvB$)&m%OHZL zt4Ug@h>G4eXPR?7bCCg|(8lakOcK$^FnuC*QKup}6e3}I%RLGW{WwhYXCxKNK7N7L@-O=-A6^r1X^d~3MQsXlc==< zAjqVUpcvOU-CXOvHx>(PurNSpgXX*e1?h@+;N*-S?=SKmh7GJWk$vOg#xZDPIUv)< z*i45Hxx4kc!bE7|pl{gqa6=yleg;j`!89EVGnS13*$xhZ(F48nxV^eWfB6<)|KTfq z#Rg`vLUVqOvllOL`s@PdFFwNY)2BFD9pQAj1ezAt!xkGq0>*@CdNiH$#Bm5IFu6(3$JrTOBj<D zgyJVkyDr@HutCSM%^{A)m>dh2h75Y>FdfbwLPXmr8!(NBmvu-bQL$O+()2PZPOBy& z%0wujPhWnw#nl&IV!aKlpdi;0eEsz${?mW@75?ULp5x?Xg{!MIe)qdq`0l%#d;Jw2 z+n663vbb@C&#`XPgMWO}FVl*j9&UNSHs&o=H_7RsqguHaR#*ngU@ z7zgU6Vtc#~G=1*(@B4TCv#@uV9P2u9>Yj_$5?@8% z=@>%d{n)iR1YCO!@QmSIsi*K~^CeC)fRwK<13djZ;K@%3b|nz+(4G^zCkCJ23D)1p z!3($mA@yxH7nJp|$Ybt!ftxP`M;`<2X`sD-AE;U+M2cpwu(@N6eG{<*xxkY1*+?^_ z$}lq;!`OPN(R0BE_j|SabY*>a<$x|3UDkz1DZs;G<+SUx?t}>yqE}hJRTINf*yem< z)CGEKI`qZwy(@H7QBBKU%|UyU!HTF(!4wU3Fnomuk_v{BMCFf*p=E*g`Wek8Ahy!5j*b!f^L$da-`!LQt|YZn?H(ESdpUF6_w>q)23;{ zdZ?Pq*nmjNhMuq?vcoz6YmFM#KxxcVBUv=z#DQR}iyo~{MWzaK$wMDqaUGBEF}Y1U z@j2p2B)HtC=E+)9yL(4{u+B0ri>~agx;k^4Q2%~vHUia~b9OYcsiH5=*>SUQ&c$P+ zOs{s)oC|8BD^!0!oA(_y&#C)6mCbdArdaL~nr*J@W*HSlo6A%4w_w%O({t&1{2gEnNa4D1O;YKLeE8f9zKMESrt(n zB_NUZ&TOjT9_7~vC6Gz^vAL+1issA;9r00;k=ZO%{10-YpS%K~*eMjW;iL2D-7Xrx z8Cc$-u@-G~iSMFQeABcrQN!*a7^8mO_YN3#aa{^d@U3&OG-6>bj=C1D_h^aGMWlVf z7M1|=aS%9$hTTN>dmHbSWY)&Tyy?a48^vok#V@u#@>^iwRKoMW+C zVYOUo>&M5(Xxn!0vG3BDCggl-l6OddKiAX{5f+OD zj*gDeScag7^I;g6le0vj%qb0FChI=!>0vJ<3~s>f-53WsT#)s_;hS%+adWdp(-`!< z!+PDT=+(zJ=5yE1p~py+p*c5##i%0tuvPagqKN_=<=XeY_(t_tBAqrvv(Nk>RX7uB*Lrp|8D*=2#ng-+#F5#aZYv-u}kp>bHU?KP8<1 z4Wqj-*uHh}JK0MZXpaoef6TBgu)Xokqx`aN9qT@P$t2~Iu{ zv`6&4_1?j_Tr!(jG~Z38@&X@seufu@7lQMIVe}YWeLnosPtW`!4 z5e-kMoYuu~9c8BDlyrlkk?<-O0!24M8DZbQY3fBUQWe$IpDUxQdD=l83#YD^Js`6- z$13qU#ocroAeAz|89*a~-OUYd-n@nkeW0Z#jSppBK7@e5JM6|0qX3Qom-Rq2W6o8G z`rZe9EgLR{U>OBhh8WYSY0_PKDOBw&F^&zfMkPgjY<9|IR=kH0LN;=aS&KzXa%NA) zCF1rzcZu;*iPr9PQKBw>6Z2nL(HBF5$GKp()+7M| z{`DS63tnyLlPRJ)7c!X;PxY4^SqK)r2tY=k!aCz)gRP1KnlaU+It3%A2oPYb zDGglGyC-8!q)hpVJ2@AIhKri2-EIeLw;_|1O+dYguxLXDyR`;}O*C;Nz*`L7W9NK` zfE*o+jOe__o%b=i4d{$T8#C8imARgfbt@9+^vtkvpp)Y>;e!z!M|zldU?GT%a9;9Y zD;zJQ>AF}P7YE@n=J6sk7owbi8P+ziw!xz7aJ*UoAdDUuL@v1+0;f-(VRe3v<fEit;t)t4k~oQKw!XKj2qC26UlJ>K-mMnugIf{2FfdE7BU~qpwXGQi`HfPtA@}|H%Y2Ca{)}&uCJSP4Ol_RNGlH>>^slL&)(~XeHu;n!25Yj15WR`Bb{E0B_eg=Gx4Dt z-vfy7L%Q=1?G9g^r%3%5(SSn&B!f9yyEIrF3B>sTL=a^!p^Bw*V(|Q*7-ydnOe^pM z!#jzMc>FVji%{a<{RoVG`1^1t*u3@FUOlec9=A~s|3?icBB;sgj+*))PVNU0R&kWU zP<3#%I*9b z*vqs5FXTZIJ#ADJB15&FM$bt6#H3}93Nz!JtxdAj##ZUmfS~909=C7b;_mVa#`|Et z;2olkQs~b)jj^(UQXGDG0XzXFc?^`vdoXnipR{<&aaSOMr+AHkFb+e`8E1vM z=VP8^?0PpwX$BPvnws_&RI@gC5%B>ji;Ygwp@vN>G#%oUk}D5{;*{2F8HS&k@`a|{ zFr)aG#l!=pPu(NUPbl#Fktxwt`T*Um`zBLCMYOj;HK?K-wWH(WBu1r4e7}Ae;KmVV zO=#ODAnR?5#sn>U+qAG8xH~co7+gTadlBr$5mr1b2!?tv5FF!~0-7G9-P)MDZp6a^ zSTs#E#0-fJp-%K*pQJu1Dk@0{INk#SLk#1?+F+QX*&L%WCbKHaz#>K}iNNi4xa+q; z4;J;qtEK^nanvl}0Q6q4zP-lg?HhdaqNNN?sg+5y1s9Q#-wgQwEf%)^SPq%n!|fBw#%N z!&rs}sVJifLq+#ItA)Yw!mHT1$C-bn^&y#`&FQiqg{nA*-EN1z?;#@DaPGdQFWpyN z*I~I_Vi*QE=P(SzqnoO9UoMwRoSvRmF=~e>=Tq;KOf6MraN1dZ`v3dT^Yq?Rlb_Bj z;$YDw2X~(mL=vi~=I)k9VmlM z(_pbWL%Up|Yg@F76(Bwuch^wKl*2k_x;BL{=}?1ChtT+%>i(Ei2C7#6I?tT$Y5qu| z`?dE>l8FYRPfGqxJbgT(G%JNTtGst@JS;U`S034Hze|(;ZV37JX_n=HHNcFyBdB7E zei+pHhe6AyHDCreL|tzJ_&#K#cjv(I$H3w&fUy0oV7L~@D20q_fYmdD=l`B?@*|*G zNzsK9K@xf%eSecmT0$%pybIskUJ~Rt!1mHT&MU&apYs>MAKF`A^TGW903ZNKL_t&= zrkHNJ1$>TMqg-ctk?&=E`A0YCtY1tQu+xLl6Fq$eigvqI`f@5db2bGDONDGUkJHcu zbO9_Sn|;Rpv`~1blaOg+QYiVQ=--=pLF;|RqviqxfQ7(#kDE7dvA(_z zMJ&RkR--9GKtBw)+wIUhmkay6m=UWDM>17875>f#2z-{xAM?SzS8k%dW;|4}NyfT zFE&zaDHeeU^x{erob~jfvGx(M4F+#6f7XOR<;>5U@{!}9!6XWFyeE9}1W1k6#C5f( z3MA4R8E`tziT0?J>71nkZhGyC5SaaB8osY@C6(b_A$SvH+)EhtBvfCc`=z*~z4KTP z6Vhw@y-9b9U}Ug*e3;{q2qfvFm_Yja%Vv^OW=tqdhGae$hf>K51f&=SDg}YlU8d+x z3J%Hg6G+OKRi>3vn#FW4q|ZHFhwybFM-Bd6SkC8y z8`grNK~+zL!3*v-8!!l#39YeMb`2J73pOU0dd1IvbPnu1*oPq(i3Epu2Q=i+d5?A+ z1O1%{MuPcVD+3nB!Xjj`GlGE~$A~urfV>MD!KTYar9)g7B*;A+5sZ;C_=vIuj@JlB zw|Tf=_~*QX_z`{>u^G0JX}}-~j`E$gXo+#wwGbinn=Q7tcewuUJG?O#u4!PF3!FZE ziYFhvz}ZJHaP;&k7H4NTIywdx3+xP|H-xPSdg9;<5U&fvCJ#oO^YLN{*KAr;y_Yy3 z*2yN?RFVEP0jdu)4C_ATpvUM_p+E%$*A=?nU%S>|*-p_*c~rVYYS5?j*tur((DUiI zv&YiP)9)wU`t9v40ALt~+}sk)`)f>1iqG=4g^BA4S zc01tmYK>Pf@9_3=i}iYhb3;Cwr_Z0@_~aChLImDod4zVc#B$N0=~g8HM5Ybe#GQU> z=_oXh0Ion$znRZ?v{dOr6RBh#Boe)2<5^Q;ndksMtsT+0eAdh&xcVcDFpr|sl zhCUXRr}whPC-^+oQuXut5xDxTz_uR8KMIj%ZV=r5LD0XAvyK*tR1?pEBLXiU|L)kJGK2hMh9xp%dMIrOw?++ZK%!T1dF-Kku3|w{*a)Ki>e*gwZ@tfKecke zE?V65|LQ}c`qn75Rdi-nMZccJYAU&jbkJeF#@mBq3$uVJwWXL1&m6;h2SPGCGc`(Gv+7@yT$=tHv`S z$J(VES!>66P~pb0nCV5Du!xT=4HdbiHgGNVNUxtVfhii~B?oWs1A9WG6r0L6VYcAh zr;$n>wK9o~kjZ9L^yIqOEYF*$q1MB~?$33o`7*$B8IcF+W5M zuvZz;oX=BY@DNcYl}WpS$tHME8Jy9dKruZiBA!`BK-$qb@>M2-l$5njdJ3;Mb~S~c zqJr8hgOmhB`yq&0W0Uv+F$xS5c8+BFVljC1Di$ZX_Xm~&L%hQZj{@@Rh9QAE|P#lj=Rx(P*hcnZ$&pcn%e zQ1dY|pcsHj>pUf$YtYM!uRpJp$Uq1Py~#~G<$HW|(J*T8@P5cy?#zs~=>qk)ZE;Ku zdhgMDkKMS#_U#?EH&^)j%irS*!)T6ALX6wlIaW_DaQ5N_&R#sn$>}M4+u_c+@ObeU zb`H+iEZkt`XjoNJ5t8X@8c>r|*c^CoZ~bAuMh9H31=njq+W<@{7rox=Rd8nf4EC8c zhs>U|sZ^qtKeVpQHR&3G=LrMBPuNt48tpV3xVgE>zh|wTZP4eQ&zQj6NO|PR;BL+! zZ;xpdspzS(w$=uN#RCrS)8<~EoSV3*W}TM;u5~@wWQkPlrDkI(VhPcHEB$7g7paQ^$jW4rC~_HvEO%Qd#!AvW#~+wB-+ zRJ6cm?6B<_P8gf5!+JYn@PWE7v0Bc1hD;iCs5A}DNIb+(t~x22*eBH@bczwVnmMKa zeg6y8-He-LwO2a=se3T>e_jpgDb!#A09y$fQD^^+m_Tk-}C}f3iVa zuFi@RcbyZgDBfzb^f98%Mt5q78;6I_+RS3qiRCyw4fv#zgc2 zCI6k&NL8pbgLzXT6oWcN<@C;}n^;l!JO}McGGobxQ3Q^$X(XI4cb|;*a-?3^ywi0Q zJPc|CDd>28xh9oBrq+>DKCY6xE%%}?l#>){(>rZcl^Pxqk6{>RhXhkc`yv(4&h>t> zLGKryVQrZ)$eBnhG-5Vow-mIMGBTZpQ02Ui7{{2uozdr7I)il1m3EP!^H8Ol1ec6> zsaOHwTHrFclakA;4g0F|nLIaUnv5wDH~UzGSThfohdVyyn#Uq8gu63fECe3?FodQ6 zI~XQ3#=shjwrPs-TsE8osO=zbgbYDowh=)qK4dTn-KLz1S94@0pOk4In|5Vc4RzoMY#l^BBhgL*L_W zyTxvMhptyWyoKDO^lHZjxL_y^rIIze*PS%AAgMV zPd>rP=^0#Oaq9$Y0eWJ%DEeV$j8TW127{zf&EVZZc`YKMKgHnvQPjDA`9g4du z?<A9G)0;bvS2{}JIJIng_IrM#uwDydm zqaM8LyyzmZQt23(0=nP1Kh(q#5sr^L{Pkx~@gM%f|BQeCkDuV^sL718sT;PA3l$OE z-0Z;I;PQHhFaB_iyR~4m^?3PujhC<17zW_Ud4ngXCNN|M7vF11Gf9%FY~tjLvwGER zc{PqrH7^(BTxL1L#T<^a!LFjLzf0q!fDzr!hytPXKwcZ(7QH{^w4G2c`)JNtYMf-0 z>J=k&I%v^gl?Wci@R@7MA8QczuG#8y(X&Oau^(e8kL;m!twmEAEzKY6p+5Xwk?)5n z@b5zwFy}io_04u$!0l?fHxXb~!1=!eF8)ridKT9NS6aKNClZvw>K>Cb)ol`_t&e?2 zrino-?_s}`X$0b)qk95LB==&aVGoSCM(>~2!ZyGlwZ!_p@6%JQj^c>!ZKj;fvI_DE zjW$mj`omLJ-6T&hAE{@TL=%%Zec?uPHf3^EyTd1E>ba?=WRy=($694dc@+?^gA0WAcEeF7!hdj&Py~lQ_*p$=+6;l zDs3Z9t4OgD0_|E9Hi!L8Qe`lf&0nm zgseG?jS$tSCZz-c7pTdsHu`+d#Aj;0Mw=_AVdCn3%yDT-0}J>WO4Z@bahjc;T+eex z`Q&+YJkk8dNos?Wiq3l<&2{>INV(yP8c(qA+@PuX7ohEHc&QXO!rJ;n51hfpKFQdcur$js{kgSe?so5`rPth0+ffM zOa$WKXCSVQ!_m=Mk^&&ffJ};d3`R>b?jV~@KqooGxP{#HKo?)M9oppzECPw9T3a__ z=SCP2(CEMj`RXk(T4F4i(Zwh?<2}eZbR3?qGmM32IAdT4g%;0c(2^+N5{Hd04!y$t zIA(v1wrS8cEsWueZY~xbM1qmt=>A{k-n2=QHtA z@Zo)YL;$UhaQ7=;!QJ=X!=3lu!>uoU8OxJXjHbiJItmi;D@fzmNT&`#sj$8*iZH=h$pE`B)@?etdjghpSL+&x|4pa1>`_@Do$-^cs! z-@$Te(AHhGn|7Hzbb1;BAdikUzVyzj8a{f@u$JMy0bsD*0S_OYW3zRz7O+mkI)e9v z(Gt$jws`t{gK_Y1E~*MZmCDfjVpWUNcTtpG=P$@T3d?{wPom*xo|UhN-t@dlReH^O zFs&2jno>lq#v&5TzaqGt_#U63zU(V71A0?PXLX_QO~KC;_*ZH3FTfP<``QE``(Sde zTYRK4_9}L@VbdF=JqNs7aQ!l}^f|!)0-@)Je@9GJ-}^?J!9;&c;f-%9oPHHpoFv5+ zVRJuZYUu^T^nmX745$wL9(JG4^G?p4S|trP-^8ec2d(oM9k84kNbzSpZ8xotxg->m z(At+pm;@u3<+?0&4YG^e&rD*e^ba?qj4WTL0(ioWSI5WYeq)Df!vgZ^;Mqn5yEJ$HIJIC4m2e6kH&~RXQXca@NNI@F|s|_~W9WKW)OD7%2 zZcdsqkHz*K!_*uX2^P`hj^-H5q==>o-=b3g!pRbRNleXPu5DAF-p&NY>2bDtZNO>El%3ITK{p@z*WDL1z%s4LZv z0hBkNi4AVk|J%*3+}uL6I~z@0{WjgU05!?96wnL?e3VQl02|h$k`}JCf`+LZ zB|sprP={a2hj{~>DA`*$+Z=NLY-(l5782xYHzuwg`a~4H)0|WP_cIK_(@(JrHwDPe zglmQD3k4{YO1TsSs3_z&SQht7YCWJhED9rW=Y3G}3?sJIh6HD&(M36YZ#r~Zq0lGgq zx7%U6-NHEsV+@Xtj`lWi$iH3J<+S$nKBPom4mk!_hIms-qW-t6V3Pq!h=EU?F7>$k zn{mQk?)Z3t?|kR$_+S5*Kg5^bzJ;zUA&NxvYz3MV7@iI$Aoi0J|G0c9s&i=MejQPjmG(#}f2GPykqPo*NR`v5*qt_d&Y$8#aI0tmmZ1oi7O<*(;WT(72#6tKLb@b(`l9KQ|dWta)ECkz*a zPyg1#Z$t7s>A-O71wm;-w+?{4TNAn?z^p=lx#}o67sGXR{qhdzo`Mhk6@YW_G{L>S zWJ3B%4Jb2vwV*Ud)BEyK(%p9K<^cLeGOOgnf_YY< z04lwjD*4>y#84!Cv+ztwNp+IED^`0ahe?taj;Vvu!Go+)-IcRBzWr47<&cxq z*&u{n^ipg`8B)dP*no8AnDs-aVo9H%-kmcIvC>67}1WyoEYRLX1E zm@urVDg+tcISej%wlB8ZP>p7y%-m=gt9iU-WF-hoHPFpe;0EQ%AY zV7d<4n2?hZ^C6tG<@)s=&W_k^Hc;AxdzBf>uET1*#L;qr2j>^~#&9WC#2{1wzZ7 z10gRY`R9{NK84N6*Ks~p9r9c|P1w&Ra)i14U2!c;&#xTEJOyH@Zq8bZi_0zkhkx~( z_#gl6@8aGYYcPc{IBtyYbAjh9@`C6(iRh6C(u!fU+Pfp?99J2i4L*b-dRA}_`10F5 zzWH0X!uenY>lBvp+9~m0FSw;YK92l{EQ#bCI@XbnAUk;O%-PQmfOqng`4;6yPr~%zMOp3(*xekJBCGPcHa9@IK+tEoP6d-gI zd+*T^&?|y=4i`_K;OyyBz~;MBvMNjfF!>&gO_ zKR>4j8|CEbiiPDGp>qWAa)L{8_|eW>sDv>oQlkEf&{`-<2#+aU)|m;^%`vPe=OmJk zGpN=H$mWSdNauFpJePpFq_k)yqb#mjAu|KVfkO$$OMzl#hEc$gqPo`{VvvxN&bdsw zJyH)mXTVO1qMAXMdq}n2i&KAdsbG^#&fyIpQ7x&K$2xS;r$vt{CMW~iIN+$l-e`XF z=sl(~wi(~zROTk7a6Z?s9onGpYj0rovp_%9^AV|vttH8w`;dm<{apF>gm&Po_ zg5jr-=wFBA6(vA^KkTbIrMBWxvPp6vScX_r@IXimxIACQc925j(mk9NOGsYLa>HB1 zy33?~iJ%5thY5|IG5Qf0$INsGAA11SOQWF?Sa72?v<60SX4i=wG-8b#fSwdOC@d7A zCx>1U7TRLj_vm#1=|)jbitm&P+hEdQ6~gc|f{i8&@dBgntj($$V+@!yymK%yQjkbt zv0Onb1?L@{9YY7Z_ZXc6QvmYt4jmY`*2g%#bqjZP1Ag`RF+O_o6hHghzrjy__(Qz& z_20y||HXIk)o*?ir*FRv3&PfUC}Uuq4Iz_)WoB7I`?>##wS`)P+2YxS!+-wKh`|A! z_E>j}Wyk0>W7RX39dNYRV2j)6yCrr4pa%)M4i+sMu~ZwpbF#x*#}@1^)IX7!AXK)oL~SJ%@f)4hoVKU%tOXHEr_q zkK>rx_w<=%#hO&cS%(<-Csc?Y)yA_(+Bvh3&Lb%FB7h&P%i*u-{b{Xna&m&><6|tB zOL*^beC%M%5)U73asU2@(1y_WAtS;Vg~h^PxiTlHw>%+FruC~m|RoMT*E0GF3t9B9O^gW$b_wZLX;vANWl zxwlqfvKkpUZI)=##`<#bi*BZ`98k%?i)D2^!Uf0pM`4TafjW-6R;h! zGUCpiV|?|i@8IM6Tm0;w&Yc>e)>FWQusT;Bv+A)$-&fw1Gq)B-io&MSx8c zred;ST-j48SjZ~vlbgW;RiSkh`-K-o;N2Eyk00Uk`LhswL?tlDC$?BAY)6Z&^Vl(C z@C?gk3MzqOEv+wuj=b4nuF_Sjqbd8^CG2eFl~OJ%lBBbbJ+D&r15|FBlC;|w)D~0` zRZvj9Sx`z=fJh*!MU7pZJsCon#C7W9!==qhh=8PC9KCqW0^Gb${cWm}^;h*^h35?C zKAxw%xgrr#CYX|GZ6Q^O?P*Ey&d*3C>B`kfZtiGC=3gJ)Si{mx1sN>gnV&qoSzlTXMRq_ePCQ1sM_bE$+JzOoaDL7oc! z^OWSRw9XR9wAoP}l}Eh-Y@YW%%;g>34j@w9PRh4XA{jp=xmW8#vH|%5Xi^;^vxiI3 zoS}Cs+jx{xQ2`Vx&(do;4#AezIVjKAT8DE4PkCU$Lnxe%{pVUm&p9(j7v$p`&wz6< zj?oc93cO=19Ajy8kjE>+QkhWgrb3H@24P_|JUmQHb!Q(u_KIToQnK)n4!_UZtjHmy z(8rL+(K%S};_xvX>+s%9Sht z_B-Fk?|t{Xc=zjH$KvD|tOD4{%@i^|l?Yz|g?oH{DUdRNvmsE5M;LEmM~A1EC0Hy~ zby?@}{(C1ly``|L6gA;F&?|?&+v3DL$DKtOOj2%T;8~V>4%D{bIeE}qaK4YFlk3Sa z3>e2Tr?tSw zFiAyn>N(ug-g!7z0J$Q@$%=rjg7qO7>G=26D1uv!`%pL96AwLrH}xOLp)BP%__;E+@xb5#6yR!Oo5 z_RMT`69&e-cf(#3XklG6+MzSRYT1GBc4gn17J;d9Qwxh~7@M@tw-11H-M>Wz~UJx!gT=q3mCz#4!?Ub zpw3YZ@uDcdtr?r!m9YoL3&!PrhFMZz&?SRxW$2_hEc0%RmNSFf-SBwE%C=X9)A?G# zhp0$oW?-{(*jb*boaEOM_G(HH5lz5B0>V;KDSeW>=V2RwxyM|BdVQTy1ss_J!->q; z7NA6EyXWF8koI13Rnj1#WiCZ>Wn2cO>zbPXTlc_+lcSY_VW0yrUR>bm!v`35Tl889 z|7(<&DviN=TpKh8Cv+*A3nS07o~xU>WJWFbC5QV zIo71zWFFeE$p>MwJhYqGs((3)DwOcHqe$|3p5c;m`gBY|i1O&^klPI9ji_bQMr0sfqCeC}uG8!&v9$G3HCb8B#`8cKkAx7+PeBKd>zeEE89nCBeZo`ydu z^Q$FXSV)*t@S02iJ^tIK=OuunPC?(+Fq` zp5QqE`DbTaILqQ(D)Dc^Fu2fC0s?u;!--H~N%6Unu6-q*%^u{V1YR`^ZBpCCYejb* zOmFhWnZ3(Fyf^WdUtPz>Sg#j2IWagn(O~rW+WSZN<%gHp4H_rwH}T|w#iRS@c>n#k z@WBUf;_lrg-hJm7=i74t+bYqWF>Nl8%HCqDltG1(L)~AicAeTaZZ3M-(~tgAY&ve5 z?tXQ12r*#KfhRv@bZcP!7D095esD#F;_W-sxlY` z=V4u|d_-NZ`dI?>EVqgmw~nxk6?4t)NQ-Ofvhbk4Y{x8t8Y!-LRhfnzL7G+s1IF`b&v5qWaqy%o0(%Fo!-7jn z1Il1OTnmABXnFxvuDzmPsDlJN}{oG|DB+tpSL?}JYRCT&XhBY#w zc{7;?7t&Le>cgZ3f`mstd3+;yEs+7W$K89E1J+t5v;aX-RYYa;CIKT=sqoWebQY^| zx_*z@nEkjw2;oFCMU~e!3ENTfP<-wfyE^eCrMI4dr8)26d_7Kq(WCcL{}bQM)o)8vwI5=(R?t;;_URXakTpU^~KF z3-S&ldu+VLnH#Yf2lPZ(5YQ`)h0;M%uN4+rW92(6vf~xt#uvqco(J8HxB9A$x1!)nPtWDMYl}Bl8yNo_ zc66cUiW%0IE_;st|9zE$>7GqMv<1}CzukU4G2Q98F$_Z;1R6h|%&6G6Cdxm%-44Sr zOoj;i0CoEpKn3vA`;?z2dB|HPTs{-hz(TIUl9g`MN36#S?EJImI<#ys1z)@izW32;IIr;0M^Ewe*#Kq@ z?=*Y@-Ld7v=jlu!%BX5^=5|9l1&~BIx_bw1)rCEicd)|-yNl=WF?`}C-RFncWoBTz z9pQbbCBAdJ$3N=`rzaZcmtlzfkM21>{KbgX%HY2wD^`Sv3SEaze2*%9h>2;31=UKI0d+mA)oPX@WPT{TJ1CHJa zAUQ1_W`R;)z|Dd7O&a>kK9%UzdeE=?ENq|7yCGPHsOgCG;MdZYYD5-VmQKP?y^@q= z?y9;#awVCRiBA}JDc39y*hyz_u@YM;U$U-M?snR+FjcWcW{nK$8EPKPHZ#n&UW)F6*^rSM2 zu*8yp8YKUzb6xb9OG^ZEPTBW99vh|eMn%O2gnS7KiTd=Koln>=0eMt`J-MlC7rJSe zr!V&tqms&}BzN|l(|lzJUF+ZeEE1`&`w*mT$0)MBwiA8QGdvgaBvb|YK9V^HN!{X# z0s%tlBGW&Ur662$elopIgUDHs!c&H=y%r`ubzyxeoBW2Ar`lE_ho(xEAiGLFOGV=1kDU>9ke1WNMT6|j1W4fbWjQ)3P4;8 zZ&N8GFS6>X3Bxh4*<8Rf!K_v=aVNj*dVKlzDUR1`9IaRQ!7qP-@BRCKhwbJPfBdI^ zig!Nv0FHdf8A)}HUodbkhZ7Ra&UI`P5gtBzf;ZM%{5N0guG#bI73VzYZID~Kha`hP_Zsc%q(Q-E zvk4n5V`hK0Jr?coA$iYJFxwn+-h!nN6i1mU=g4q-PU^8FZ)Z4P*!1*$&J~N62C!Nh zbm+m8Hj$gH;rlDvPC`q`T*h+OMk1! zt&;`1UgwON!njimWR(@a_4TDS%`~lGPm9VFaLA3PdV4xiqCj!*BOW3%t8>?8*i*}`}P{Aw-&f{vV>>CKm5a| zu)`KgYdB|vT}1(RPBnhxD+X`$OPq8A{CJ-0eyfe`wXRiQru-&?Ta@;V8-nda{_*+F z^%rN?5B~9pIR)1^78bbpwa0_M2fzx)?-H~DPTvLA|5}4b1-oU~3&3sxyI~AxjP03+ z8v>c&>tPg zd-MR~aH%4J;Hkqr<=S~+=ejf!p6*QaM?X`R0JAR)vX`>PcyX&# zyXK2eiU6%mRwii5u_yu{qXO3{6idava+T#M?ZYv7t_cu{_cCcUF~nMh%?$g>tsn1$ z0I~{;E~J(y$1a8Rsn~uHeus_~CO$U{B&l)>w2PF!ts|^A0%7wMMwnT0Nf6;bT)-sP zj7IK&_vLzS<)7(275UC|W1Kg&@%Q@Fv#JREil(RS1HENpAg+z{nW!lxCDGMBJ?3gs zS2n+qteYUp&=BRm@Uk18s}_g=OoO$d4FaUbmVyfCw-VfT5F#urlghgJs=o9Y6op2E zBx`3cWb#rjD>~OX(Q;a**+&U}^noXjdX;CwrCGy^`!6&qI9T==Vp9aEnAonPf8B)i zbsa&*82d%{`Y^6)zK0D z_)q^WPVU?V0kA%pzEqQ<{P|<_QpY)`l4(^vm%9O{3&QVwS>xUuu{7Z$Y&@ zR@MeEA=lsbv$Wv8wHYM#-CB#j@2>@dxJu$K9`iJmb2-I5CAycNaS^b)`11f^y*PqX zD)^rFbkSdRZm#@Zv4JCzry)U0xHNnNeuM-!t;+zkQP2wLI~@Y+I*r9bqwiJxUkzhI zC2D8Fe_Qk#S}UxNIvAtScj5cHPGf!4VbN)<*B!b}#{k=?8qI8UA)v~$UIe!ai{RvW z(+uU46;EdV$iUla&JN+kGdx?|yVK(vU%!>Z>s*xACkg%KrNi^HT?Fcc(T32wXP0ZJ z2e+_MC*TW(on?@txK|8@Ql&JM>99PxgU#7v>@J?b$12^IQPD9oe(-~j;GD--zxpQb z+&O|$8lQaf6hHmRhj{Y%IhM-~Po7-h(@&q`z4uPh_X=;nwFaFJ7=|I#QSBMz`_#5` z4bHBufxZ4`IIyhm`Qq!We7niEj4g2S5ugl%w8!zgAxC6!JG|*2cW1Dp7(hpW*YFl_ z191K+@c17+cF+AwJeMLD{5mV~K$9@I?JjhnD>aut^4Y&RQ$SE%haoq`9_1mMUD%ww z*ag&Q`JQAdrJuKA55+@`F)>}sday~`nqaFwdwK1o>jJ6g8{R`fVccx+{K;eZag6nJ zQ8LCpNEDQYV_+K@p@BVYtcgm#<`j4auwcWGtplh4YwZ`R)C6$~T0+UV$b7{pmgAyY zr4jnV$fe$8>l{o9ypf3^>~o5`l)2}h6)O<4k3E|ug+0p#A=7=))S&4`Iv2afl`gWi zD%G1Ol~pozJb&Jpbn3l_S4GyJK(~*b)hc>Z0|@2fZLWguA|vfRm{bIfQL1NjK2M$l zyQFmrvGO8OH!coURzo?4<#W!+Lo2|S4@ByS6 zO;yV8KJVGoqt2-MlxIRWqD-HDRX8pD96n2H2S)P*LC2 z_!}!JZoCgupBmTJ5RQHANY@C;b(h>W}f6TwsHwFfgs4vFuY08NaJ0=wR+u#qMc zo+lcyeZe`vIVfjAo}tG9z1m@^G?rRpX&sj1h_%uMdA(3!e3jfcU=ic-?*4 zesE7${*E%R0XEJ>1;J2N$|craMelmoh4n>i!eXI|#NLG9y5-WK?;?<2gy6g7(qOSL zA^fgWSReH`TKDMEGvBj__LW&kT+y+LsH&N3l(gbGFImN@O3r8o!=g6?qCP*v!{;yl zb!$~%)sfQa0cMTC-oo#0zm9*seH&~QwwJ&Ue{zZc_wSzIqx&1I`Va)E%>vr=Sw*&a z{;;SIUtj>A{(SPubBv?Ig9m50b!!D8!u|Va`1I3f*ltJky~eX=8~o@;A46-xSH5x& z{bB()h8-=qtMi)b6!OoWihYrnf1Pt$y5Tpw5jgu5hpzLUv3i4wB~VMCA)uQNfZZGg zzyISO5XS9INYsWse~kcL))tnDVXAGWqAt(GW1Cp;83FXnZgbh3a>H;->2K)Fqq@&L z-49ekxU&1F^;yaQI+7ji%}7+%uH}b){bj29Gq0Kv?W?TV6YAK8=Lu;6M_^!-hH{LH zr_XTq_z{%1fHJ{@7lW3V6qpo7@3C_ZTj#Ki8;R5%ot}&=L#CvRSTGni%CWNzU#a*R zYI(L2>K0-Fj)fEuA}JpY^Oq&#B!f4Q!^Be8a$*)LA7ea0N?Z>r2CdDF5M`xS@!A#X zZMuwP0)0(>?- zmQuAN2NG@TK>E{qNUKFD`O49RE=Jo%)+&mF!oJ;Lvk>|e@RU>vd6P=D5+t4J%osgmPz>cfI;}zEp#W&2ARCVCJ$Vme#z=%6GcK*ef*j1iSdqes)>xAY z-gOg7*LtI{=uFsDdk=C9Wi*znC5RL*E;j&$;hP^bUMnLX@zyO|y=uo*aR?vpYj zTu)jNyb43n!2y?}frG(nrSkJ20rRv*w#nqoJo!sRxy!uj{dNwU%_cMO`((6pAW?d} z6LWqD+_ye-39=L8Em?Tkfu6qBrnt{B`|WESs-SB>W0JV%&@5kUFJ3U~J{^;$UdywG zV*~WJp%$kYxr2m+`~o3W`|JrXqNchosLyL-NNSyZwm28g{dQ+-HhywUIIDoVPT}OZ z!|_pvqjiUS_m=28jg!+5bhqerOtKH^qOMcnzKDMMlv1x$@YZV`2LUn3zJT~Cd?*lK zKm$UpTtXcdo3n%nAaYnNfW<;LLmmRqgXj$q-2)L|E#u2yy2QJ0ukrUke1f0;@&Zqv z4=Jhzre9)pau)!wyL<-r?n<)kknO=3g-4Gr@#&}Md2gAN4yEqUTdz3Uj^Ky!lNHM@OS`c9r*pPTjI`Q)0oc7Xu~s~Ae(f;9{;t3#7!vs%&N*T ziDV#)p-Ga}X%=nOO#giJq?3&5j){_z9?xuH-Z&s8!B4AWr=cAr!sakL5V-LeiJAve z*@frN(J2KCJ3N2z0K2m@bOdPjxzZ>3GF|M)-8vswbnA+mK+2Tm1S!>l33fcCN3*Yg zR+FwO*N97CA2q{?$s|7yKd1_ILrNc~I`AbWwzicr6QF?>co)A{9tcRDFugB{d8F4n z0*##Nm}Pj`;Vx7MVd$Z9_zO)QcnO4u*DZ;RNopG;^)4pBE8$s>)l@#H0z8-AbQLT0 zq%1yteyue~t7=2n2AgH3m=sd+q#~M}JLiHK+B=u!^JqNCAsi-v=$wWxzb8uB({Lq# z@!*;7x-Jh4Z0eN;pp&A(l@LekTnG*$n(a-mHcxZ?9N;?RU;?Ch&%@0Z2{~jEeci@h zg`v?@YT8QLs&KhRj+)r8xlkviln8yOinZeJm{#Y}MDAQqWaagdR%Q7k^VLzWz zNcUpA(&8YdB>bkl2B|8jLl054On5jXU4tSDAf3fvAg03?_E9kU#8vk@`w|pNC8;TT zBN;k>X0S?_%eu=IAzy0Qe&=dwB4pKk$dT7z4_mt^Rz^nMOlq#kv-CZzW{ zj$>xL=hETj>+e$rl)93-2DbBRgKgLdIXmqA$$3vhP=v%DQD z_?l<+b%v+=1{^oOGWXQjUHAL1`kB1u%0RE-nJe@{^yT3OiOhNa|Nh1Jh~T zI_W~N-6BZj*Q*Z8r9szgtd}~5;Dzt+`vB52nC}!iqtSI5U9SV^r(iLZtUE}KbQ!Ic zuLXte|1Ss9p`J2WDc^tZ2yeczz*pWo#$Wu^1N_BbJ;d{iVj<~PM|mHzyL@`B<348z zN!LfH*;5CvBV!bHyAeP9;U{?G-d&s=VY;7fc(plb_$t!WUu8o3X9nE)#Q-|uW7u8* z&wlQqJB7QyP3VtBEAcF`2|x!hf9D&(xKlX$(8KO(p6tqxr#^>}xJj)c<9s_}JNPOy z!g~*AJ(xfHL>UvFt*k!EOvA>?hzGa&tj6a!Z^Ujk=vkYM`l22Vfz6n?kELIv)LI8;zMB7ih3fQ_@* z`2f&e?lSh_Q_mz&kYIGnVWpW6i@;#Xps*ZhK-6RdpbB0|3C?qqiCnKI7>=|#N*(28 z!{urgxb5VYp5Vxk=LXL>n#@wKiG(lT7U3bt)X2sPBbtC}2B4mybdm)7=HVp#en0_< zDAig?0;~-(tDl0uR4|)`O_g&|R^ACeuKpf;} z1jeaM=2iBz`*_jptiz~02CuMn4xKioZygF+8yFquBB?UVSuC8z+Gs3|4$1K2fNsO+ zm|@s~yhW!8cW$5J^wud9f@&p%er@4ZP(*9e73-5)NvTZ zRb|@ry2AvdYOS$YEYNiwoO78aPe6EIw|QGjCYkP}f=RzOg}AlX?cBXBtJX3Ywl@3U zW$4^KFx>)t`E_e8cDr5m-rGU=+?rTbs5yttc7(Ma=%}`_#Tz-v+0);&{&^;Na{^l2 z22?jm%)c)9o%`%J0nRVVw%^G2{sLfM{%p8}=U>A)#`(nv<^fNhY??Kl@?RZWCDOn9 zUSqxPaeUn2_UQt5ZZC0qy1?n_0(b5#(RZc{R+VUhQ8Mha>;Xf&uMS@)g?)`xtz|2> z(|E>Wq4ABcpW@^wDC+*}-#)?lrOksKZF=`QYen$uK zap8+$cO1dDW`<#p-Pvoejr9tGH=Z7=h4x?j1%K z>ct=>t6ac#rR(6*h9OhClLR&OQOiKAFzqhKE!z~T?J_dRNP&K`hg?>U6(GfX7vB^Z zCquhZcfIUtmW*Cmgjftxs0!k0AC$E>TIE`&ki?z>?Fj5spd4~tU|aWB7E+a`h4M%$ zBCtYan05AmJLfBJVe+J>JO&@Pyy-EgC}~B?q+T`>Ln3P&|PT!aJj-LUrX}3Dz^0KJx8So zfv_BKRG$DU4~g0UNYWZ$l|hEJVR*HL%WIcrKzWb#a)CEa?_kks@NNg*?XcZ$FpLAb z(P2Tr62P(6IMD|1DukBpHgHj9zgn!&DGkRy+Ka;GFr4dH4$BV8TNu_@X@z(0+`)(U z?_+m<39~-J!%siK|Mh2ohPU5&2fzKTZv{ob7l}j9wVT&_I0lKIcvLE6z_N7)pPU(d z{Jg`~PAk$9K$jimEs$nrESF0x7KJ$ACd$w`ksvh1c)xsI;yb(Gc@%bijpm0ATkzRF$d zrP;)L&Urd-y}81_`J?wRjD)}b{~qCdvk?}dO3OkOnbrnY1^@YG95Fh^ zZnWWq%Op^q%J{2|0%|#X4z5vkm4x>k>fMBwH7z^4ST2 zqofo~SZF3O%^pLC1MG*e}xwVLk?SZRGw>sH9bd~x% zq)V!ea1J^IofXOobvNTuZL%o=@wH&;98%yHUxPLQ;8%RA%{} zSPr@(yY595r}r*^P48hh9y@2T>C6OXA5T2wE+NK z*P-wGEJsh0@uUEmQ~b2x902;h$6~R_uakxZvbL-qcyYBBwiRr{FyQgy$CZS=?RDP= z@Y~Pavgo_rZo-_;t$A&VynIb-Z5S4KhtYgoa4#!<@xh5v+Y`k#u%+B_r;qS zerHVVjPG>lkna?ZVgmhgX>ha-GW(O01&-DRCnrlRmnOWn4p|a5HdGLm_KDlKdi-~P z@CJVNi)VOtVRK`R?s_aw?qYj+26oq{NhdZcx|s)+;;>YCl^wHt=1(`}=IUq70m|AR z=p&y4-1}JX&#GdLIRqwpk2+541rCng0FQp;@$6R-kn6DbAOk1^m>y6aLHCUQl(2pq zFg;=Y7US)2DG&osf9cU=KhK}tSffa<2?)toQ7H<5)MPnYFGVvBPRI;L{bB8P2XJ8Q!4#3tr?5qnQokN1Um&w*7Hu5F0Y;v>8sw~NR=9;aP z1V2-^lywh`88re#k9}e76WC5ygiqmTs+Rt?{n|=~WHk@0lA1g>4fG(^f;p=PJH86m zVkkya@xemYRFnY{Jceu5XMo{-EwCo$=6LzcE@pWdD5kWE2d$WfNYE8R7?XG3XQ{8O z!YSckR6QJ$%##5)XQ5Tu;M#G3B0YJ?m&9MntZJS9%`^37wbx&!2Fp!gVh&y2#MYgo za*$Nht~@(A-v?~lfyykHRy31lE5MzXe)3|!Xg9$mED-XJwMA`zGf@#p*W#Kwjk>de0u`yDiRlVY9hV3ddcC&#(cuSw_jmY>Z+ruP@SX2`fnYh^=-EjCMh6U*v(18;@Ze&BUq0>e z=rRnXK~4ma)z1kDnq}sL)*=5QG22PjE&+P$1D^{?TPzk>EEbb{N#-!j-Agj4G`*Mf zGjqXhbBy_1FM5*F&!xbhpPy%${66*0A=!KyIwU3^u^y4dl#qQbbuEn%sMa`R2%V-p zKtHqww;)uN?~=eRxX6Em2~>$(qOp^3H8gR!J^Z++*;Vtq3aC3{Hv!cF>n{O!M+G;Ap7kr=1o7ukdZMDyS`22b zhxLT6*<&x4YxogxpRpLuRP>`v+D#kFd@S>~4pnzRQww&kSWkLb_v*ogJ|m z2ke{;>8Z5;O>iUAserB*8wts}RvUQ|8|3oBB%a7EM$gQtd>^?Jo1s+Lu=u9(i>PJ* z>-11=61yQlo#<1RK_Mt?Vb~<7oOI7wpHyE81^iU2Wi@{AEW+>7H7AD#2?ThKY3MQV zMM&FILOc;?D+h}d`ot!Onld4s&p7}-gYrc3%CJ9?(OC6g*Y@lvCpYx1ibW|Uo-Y6h%8q0il0RQo(HL|_zMk6gAqGGMPgVehVzs1@EE7k&$yEO8Q~!FZ zt|K|L2v2&7De!a4Ibp`fCuTxQi*wBc)kn(<0ahtoIAHV+OJmS?Jvt^BKVs=dC}XhD zp`wkP2AqSBL7n}g$70cAH;&@Iau{|yFeucng;Hq{faB#7Z{9w|#csebI`jZO`PDD+ zU;h06#QR_U;0wi^6AlG_PEmw)jM0U)?8(O9=Z_co`QsjsH!2KIRIt753u{Y&S2E|a zdM$lV3()7D(Q*@Sj6v6R8T6&!F_(gVC}1x6-sSsAV0g3H%z|+FndG2UhRDrr;CH*- zEc@Pm-kjMW{v-x}7>0_;cUAX!c_d2Z;-t(mEGx4<MJ zLYiJDfV%2;-NY|{6Cj_@OH7)!@g+AKEB0s*3bU{$)0(i1HF902u-#hh29MjfPq19A z@a~sxL9apr{I`GmHa`6L0#AQ&iM~t2TZOJ$U~uE?&}<*re$krbOcc$%CLn@YUku#t z?=-Ipo!XP~h5D24e+RJRNzxD9fK8raB~0AMZirv-fL;>VmG9L(aQrUdM+LUP=HWF! zy81j0D^+{rVf3(0qi^h?VUOiMb9&#P={%NGC!Q=O(}`H|Gu9_xrUzGxc}e05X@C-y zPV^~U4YV3AF2418pm6x|+IPWGTrJyhb^X zDsArt3juPqSEpe(xk-?(*~RH50Tqao-stFc7ao@)KUPQ~a+tYp)6gWdpp*5 zq@gzewtbY6(jmCd#{>kCPklDYKosxB(@gnkR2qpqDLpFv=8FS(K1+Zm+p|SA<;|Xj> zEHz`<8H`{oyDoSeO;98`@8B5GwiIdwRrGDbdyK;ljzhnCeioSyw~mi+e0G7|W(OjL zXS*GK^5Y-j2S51!7mGa)(a_fdJOsdc#^sLj_@cv)?jPaD_j^3P06ctk5ARdTr28=` zgp#bi1;Z`i-N!7auXkOSed_Y(B}2cDbx-yWV@&qG%e686-EOxBhkeWpV+{Jfud7E9 zGIO)U>9^Hiq_(b&T`k+UIMD{KWgq z4ZFm-N={hj+J|8WN9TGUU)T? zDwc;vsgmS}@;%zfbeGO}RqQ7-pmFkGAWUlVBq*-HcJiJ(f}>FLRx$;O@`R)`y$M67^gyB7$Q%}JY=fLX?V5`H%GdbQtFT71;}#wvEjw;t~5p5*zY)%@R@ zFu|k5z%!u^W{zW?hJ{KKzT*o+Lojkh<@^Nw6k|$MSU~ z;Fe%oem#Nn6u2hetF&gcfJ44lV+@wdWgZkruy}cSIZ*`c1LiU-B7yK>7^-zqzDId% zoi9VKmaJf&-+T*k&Oz{Wn6Z2D9qZirzRqhJV=B*klFb`qDwch2INd&HTBXHj$)JB0 zp#MdB$lF|%1bG*W1&)u8ap(3DM{ARh4c*n?!F zNp)TGHILi=boTrl!(lV|A({JJs{4!1#twPadFK1#CPEtNt{#49KrblQspTwGABZ3C z#OqW2Sy+$_xn5fUz3vD&c@Nk=P}n^Sc8!_sXl^HX6#)G@ojIOsHFvruN0)lgCH|li zLj5{=&@*5W)9RG=NhyU|q`WE-;sa4(CFPJwwo8~YR|UB@-9c1u!X_6UP0N_LDyri7 zeu9>}yY4Zi`nRY^-GRjfPm>_DtV%DSi#%hh@WPfoC# zUUXb@#YV~pXO;kZ4^mz6opNG8IVOawJRWRQ-jzzJ)V=~lCGnakfF?=XQ<8m>W|t5= zA;XN*+TdA_o!C(+l0(ztjhsT`G8@X`9A;HXN~xxtw4M^_!NteUVi+O4`O^E_UeqZg zAOH)hs`2KSr|AQ+__ifD_gO6yz3|TG^COuOrRFy|ghT1R)NJhMeQfd}KNlucf4`dj zJu+Y|z1BWD*!!0d1{cJ5LZ2)QL zB}2O)Cf)hpbvnh&!daRkl42$d@=}{Zl&WKTjZHrbzvRP?tIwLPE$qT@EHdor9v{68 zZ{IoWm~m+xHp7Uu(y+`>T^9$x3ZyhhMSpZ>z`GqhMca=Hp`YG4fE_e@SU19g;fSD& zhV=o!r+~+w{p2V3BK^rRh6nn^<$XC~g-7&*Zv$1xfBn>2(z&Kj(j+`*#BQ^9kZ~C3rj( zh<6k4&7V^hW4iuMPfyYH9ZpUyx-s?b}CE-KvR7Csd8TnoH|SfS#nZxmpUC z^q!}#YK~{bH>^~taGFbHraGy2-_dCI3Nn1u9 zqLeunaj89kDu6%uPvdW?T?doJG;icVGqpG*z*wE~6drbZGBussfDsXlG1c%hG1fH` z8y6eKENFwMD4T5D73G0bmFym`?G!>+U#C=FkHj=JTQn4u3P3=44^MFr;tLhQGAxm} zss+m(=?LIT!NYM(;8x-FxpeSVm4`V5E)L8neohS~R0%RO04epc>h-M|XPU^;tMkX4 zuZMCi2qgm-KYbfA)UE|{5AAvbjG3VdO$GtX^;%Q0Xbod8r{VH<%~u=wNyV2`8P%!k z?E_KD#r;GXP(&Cd(2i)jQuztspo+B*X}?}1q%-8eTF1c>xK?T`sT3~h_vht2SSP@_?v>##F!x4dD(Dgl*s};_6BS;%)rSSOC zqc0SJPGZfz(mM-)R2M6`cDa^OrgiVz_@{fl>pGmCo@Ulus_^E1W^SXN*!QEOqX}z& zh>6_?tc@|VVR3WsrG2gR8hzha^89uXEnj!;v!x+H8Wc#SK?3M=z47(?VhpyaO%zKy z?>ndI8FkZP;|;y&FALyrng}md4Ew@4TR=?{-*Ei=92Zp;cHj*w;wv5 zDSzSa-Meu>1n8(}bk@U;9-|G6q9O&OseZ=F#N8KQ`fCLP0pR^ZX#l&O!=v2>jyJe> zD_W`MbjN&sHhnJxJEJZN&%77M{GTQNS|AYtQTcEkev$x~BjEJwg!R2#4iouQ6+;IV zyantf;5LNu0@ytB@H=34=5hJhm*XN-bi;GT4@;w|ctSmp;YFcbVm;vtl$4>`Q3Y(x<^qWh#L6)^X*H!J=uB?g=8 zLPMaEy@P6Q>hSGxy@y2Z`He~1M_q@DPeQ$#j?B6eA4F*bZwv-&acM0E?=kwYRhP`v z+#QpFH*v0$OH%3Nw@)WUUN|J!R%sU?844o&yArVEyJ^Oo>%E8ROg<;fA3w?_ z!39z1Gv`+JO_OV`&I;qoH%wJmbxJu_!i(dxygGyl`kco=Rb5>gn5YUE7tni^2d#Mh zTiN(5VCMQ-XK<)wsp|iHg*WS3v08o=Qp!uIolJ9=QupZwoU4ClTSGn}hFiLblhYclDkit@aEtNrf+v&^)fXp->B&Dcxt^!PI8s|M=$H+v*z(Mjg zAZ(GfkXS3F%5XxiZ+sPW^rf0Hb^cOmr$~c}5Y$N^t)NK5t6-O~q%eZ98AmLYLKm|| zM(4sB7*Dh^8jcy(xxnB^JC1W;9T;`*J(O1H`wniig`!X+_I$g+7wylSGUbq8cN}dF zOtaSF=;$c>$oD0FC-(gG^t1w@z*N$`k9|+ioYa%PFPVKG_>sfFzV9bs>rjB)93W1w zBLR4&I%q29e9@FsEcp%e~aDQxS~GjI-vZs zVt`-db#G#q*asL}FZ{m$P3-&J_qM+Hn}YedpLrS2di%3o*I~V0SHmjFCXUvJfv}r; z+1a~zy?MDCo*iy@RkNub4ebr z!m~;wa_Jn*zpH%hMFQduZS@kYqiD<`A}A&-NTKr~VB-l;wBZ?Ka9iMp#=|5T&&^e^Pexg)bBHz^6UXIZIdcp)h#kuQ*K6k>`jlh-+i zh@rZMvRof^m6?QR5+Hk?ZlGJ=XS$Y>^}?s{G|)kLEDMW(=a#LbDL9uPQe-mZ;RzL` zz}#XjyVvDg^1fIE5WU;d_QNzYuxmW|2?(Uu=ByAYQ>m<6N%jM=*;2{}s|b*L*7L?9 zcCP1E2QMr%xy7J;vJnWr1hOH?ac#V>o6WA&)|N3yrSQN@ZSGr1v``OJU_Y{@09YHu zfDAAxY=!}yXB;mUP>L{mhXn-?(vvPh>^@K; zf$Va*%<}qjt@w$IxqaWQPh8f*9Rkm7_qzZKGuc*_1e=-dH?_*07*naRATP}0M3rMeEuZL+i!j@x~{{wzV!j#`O;mS zT>}63iwlrhz^sn3dHw)y*yiJP@6FqI?<;TN*AE>&emLOHni$d?|O8_dI7Cndy_vrq8>7VT?g}mdnJL zD9!1CVUco%!z{ct4iG$j@&q4!^br~#L(_LX_WK=n+a0#M9rpV@_WM1$u1)i^M5yb= zv3@K~gxG^gA&ZW)a}9_iBVW z1~7fL%2{Vhz$$yqgxpt=@_uukG4?EWF89ynlw9P&hM7HS$e50gP0@q1534lFVQunH z2!0452ietszOc#w1*O?4q#1V`y)0~YJc2Zx$s1`ws&SCiJdEh{pBgDDs#C(K471xl z#}=kY#dv=FxtwIZ{B>XjyH}>eg?&||GR2OKE%?;>WoEE(uJ2|rIDc@3hvy3n>ua>e zz*G$e&!8JH3>cNxfOaN)OaLnjL%w;(47LUsdiNQsf*lO1XevHi{BD8Ib!{HF`oe?mYVGD!YIDl9g^LPqdsI|swwZi4)<>dM_ zrGSy(J^X)Q@q-y$o?0>87??ArE1Lu*m=9~}RHl5`?_i8ZMCc4)3{RX}&Q*GoHQDqM z^kbXEz0ZLD7?XY1?@e9%C95t??&PS*9MF%+J(xGYyKCR%?^RWW^Ye3@pP!Gt9Kf;B zISeLi{K*HnZEx}7W`ObA#3CKX3f^iox_;su{CybjNq3f0KIa|L>cl`uR6XU> zNQq{8;gmyjxR;YS+WJPjX&IYu887~`#pVwT+udU%;9Yk(m`3B#(V8byVTKXock>jl z7@3>c2r#28%1BCLODhsW>AzmOLnlz47u@+pn+Lb00#1UkG)o?nzImeMbJCR%OMP*r zrIwJ5`)i>I7!G^9`u;nZu0^w4I#{X5%N+^ijfQ&T^3w-v-JBu^sf|Ato>6wD?!Mb6 zB(rg>z!&am{}Zq+yIN7oUKAM?fn5-@tUQrbP9jc$fvVDAYw_gi6MXpbQz%6^bO*G3 zi?ihtR}Zgn_23HD8nj)H?Pi1RZimfwgWKC%?ArtOeT!Pxs45LjE<;dzC;Ra539$u4 zdZz0Ok>QXO11x`l%;9RpkjfMS#u&#_anVn*5JK3Y{JEBmo#>5VQ{)sYN^BitoJUEB zAV|9QFvZXZ?@y4%Jvd6?oylA(>fHWntzB++%py+`Y$rkI$%p#bbSSaN`FTm~cR3QF zloE=BvZxFlcpLNRDJV27!?N+WpmtGVoD>FOfg~Y6mq5M*3}vTYGQ8RPG}|)Iv)H32 z17x!yFPHg9 zRs{kL2CJsQ#rZjIu3uv?7F79B4OB28wNO`3x(1VSb7(|hMJ_Ad`vDkhLCnyLN<_wm z=7L4jEYURed&QtzrWnI_%3Q1jtaJCO`KbW**#Av6NbUl`vK}jA@uu#Psmyo@6x2YKqFMy35u-sxr7dXZ-xL z1uoAuZf*#>`U0=a4!7$K9zVXo=bt~p`FVxUeqzxMJ28sqYb@r`h#^n(qfXhpRQrq- zD4EJ`CL4XMz9|5o|KX1zhtEF4GGKEB*|GJ2w3nDGud-!~+qf)hWC+Es|D|rnSpSak z{r_#ztvSYOpUnJM?-rydW6gBzjP=3WG*;!kE1g6YWC+PJo<|*ZY1Ac^hzYhIU#N0f z(6MekM>9Gpi%wBRWlR%~Sn#)4w?rVT0953PxtbXJ%`Mi~uR+XcstPbB&P+lP3;~_7 zPU7AV7_4yyaR6*!$+LwlXCR_OsWlO=shI66?&552G=LX1-@y$`792yaX7oLQ{bDfs zzC%?hTwa}Hv1o9+y~Uwz0T9~0btWQ2Skw)wrow|q5Afj86}ql>;QVmFZnwvNf56c7 z82TO<;koE>=qG%thhfDU1M2EP80L2{n4seDI~LUO)60k$zSO%nx4 zX|(1SJtGa-;51Sk^5$LB$|VP|Ff$xq&t+^<$!?S&SVlq0^{8b1WL%t75yer7z~Y(# zO6j5~fhe@g!aha+88eI`tw>N;${Q1w+s4u#M2ugA*FaI$#0)@}RGv3FrJ9hDM6-n| z=ZPAj!KJd<`*3dDb?6!u$zW+@LI}!~1Yx~Lks>fZL&{koh@25*9|9}-a^B|wVkC&6 z6`}7t+-|n$hXKkM7`C9Q0sII6l!nq3NNHFGjQ>z$EqZI6B8doGRj4Y49R^scV2pA3 z*T((7QW}e<`IBQ5OAsrW>+)KeYWT?pRteB$(`@Rs@=I%tzVETy?P4=GED{nkGiNl`iCy&g?UwUCyXSAO;s3 zWP{7{5duX%_mpxmdTjr6LHAub=w;Jp%J}b;rqQX5iQ~x?^ELC7Gkv*_a{uK11|T2Q zCP7ACM$QE_$@%$tRD#R_Re4P?Gb-wF-gH>^H~8l3uVDsr=f3d_7(E<%m*NA)<#~mR zbA?Yn0$#kR@b&Na*jy8a0caY9)k>pj2%rD-3|(ii94gn$wa8SI9K3+!Tzd8pqdP(H z6p152`ccJBv6H7ZEK1SXTfs3w4SSl_8^eLot~ryf!^fU^8yiRT6^Ng`e4*blZhmL+ z-M_a^(*6dFxN7K)4fuW#Ko`yX!7zx@J;b6>b%#yI+XLwG#L0Ye$p$J#BEOlXbz3&K zJf6p#GPK~i%Xs!el@dq@Ch-T!A~XE;U9VSKOyy1{_J=!YI)pwboUrpDrIiHippfM*!muESx! z$L-A;+uIHHy93&`L*I6;sMi`zvvdV#Nfig>tVC%)BAxW-OnXTDF8TZT z&>nDT4vvcO&V^Sb-=kLwwHcsi z=1l*XU&mtn<{0$y-b(73c~GIX#&WrgYLXJzmO#4%IE%$1TR)~=Gsk)YK;QRx_3Bk* zv;!M{R|YmSqpB)AeE4uQ?_NfzO=YczyjHZj0fmr zK18rY#s9h3s(H!o+q>3|8=c+NXp!e?Dk3d3VWy((iX~Lq>STrkq{o5YrkXF#2GDXlXi(|TnzL%);fas@GKkVxwU*cGWb_eVaKEABLjKuvHKiTg%vX9kyME z*2~mK$TD`+Lqx*bH#bo%gD$e3N+IfNoAH5`anh^OA+0W8a&man0tojo>aY z_{ZevVZW79xV*fKO@`9pU4p{7^(oxE8OoSQ;eRm^ypS2}Msm%+cDL`b*)hO6 z#frWKF#fi{eYiI3y2jbr85Z6PM@qlL`JHkKpHn1+hDcaf!}T2$7Q-;ah`X}3I(0N- z?&qhDl$-*>@A|xOefNDonVN7c(#&%HY=80M2EYFGcd%?@Q+*16pYmml!QcJeAF$aR z@X041;K73xl+yVA`!&A$>U$jaEfx!nXV2F7>Z|9ty80=U0xGRhRSML@8{G=EBafXI zG6PZX7jz0BxB2AZkFo~80m*za);xOvoP7XvHzzg_tjj$&ErWIdt{wOe_E`attBRm% zXA-At_p^QvwATzaKX8ZMRZx7qZYeWHCxS~Y5Cwl+FRTIh-DvQu$cKxJXjy?}i;^&t z3x%dda`%-6JSZ5csY3Xej-O~;@E---TxPMqy(^r+sEDvs8r|zxxPAE&w(n6j4d7=@ z$pcH$8l5%R_X7^YfX*5WKGw^^ONGRP(uNt~s9KP%ywVsh<$0%AiJW07*)SFnMx$ch z7t-Mk{HTiinV0o07S7!>6u*j+BYcXC8s|70!!UM0H?+=3jSZ@*!fLg`aSkz>~nEv|2F(6$}6yDfIxz0XEg&`P7OnoQnrC6`B(zytBvy#jMqoq`$XabqTC zmx(oqFsym21s;3ho8#zp|SLrdESGRemrnXJYEBfaf%%s+(W+>)u}mw-ntT)`)v-YcF4Q{G z!Ca5y=8!YyQmUP4DJU>oxuINeIaf+SL4m4t&I8M@Lo8a5z*`qnM~WPP=Vabg0`Ia> zGc{Hq`**oHB%-+>aoXOX(#g-C9I+V#ADXy#A~TI^&T6bTO zP;905qw#Y=$n4{4>322&boL6U@|?zZWC!}1rh)DDZhMVI*ALhqT4!s`74`>ro;JHJ zI$yB&*0}t0?Pvs5DUeovcHMz=W34mgQwmDCxpvF%Q2?yCSCiZC-2i*etPZE(RmEzVC5393o%~5o>dx zL;}ObViDB?a`wIS#+W*m;eD#A!qwGP)*LAnNyanb0a%nEU4`=;<3}MBYd;)NbR8vJ&*Xz8@a)Ru&(QjSr20oecw+?(BCuy?!JKbO+Gf+@tFK<-#fuHj&T0UJ+uIhqUF*|86mD*I z_)q`o_tvSk#pAkP0^XRMz}$kU#Hqc?Yn13S53l*nLmv z4?Hf3=?G03a?ppOMD|LAAbSsf%WMEK4R|LKn-Q-oV6Ht8K;;*nwO(w4h3&d_&=V;5^-SV-NY6OjG729 zUp&Y9)hpD>)o#{02O(C7^XKhgT(p|8FdiIOW*G0P>||(!VjOcc^DOhr0~n41{5$eA zvj=SeE+I-u#7XIpQye0R{DWVqkXu{fe6@lKQ7C%F4wf(Tc9i-ucHSEdvJ z6ppzzA6c=|KOjWJaSp28-+kkOlC;|;G$_ziyO9|d7A#d2Vy=!kAH|3&92wEb`O}J- zvg;#X7rYrJxyD2?K1w4KuHZG8O8v-ED=2rY;X>&Y8U|AR5WPAk>JkE@(h5pBV@LPz zDrU%AKeogG1~b6;Xtj`hqO^vpDv(wfz!Le;F}V0`#_R?_|oS=8?nC>bj0D*=4r)F_0dvpWuxO5pbc~Di^U>)eYvgH8^pOJP9Bp|l#izRlEBZP6W-JS z=@>Ad+pnqXEnEwimzTJ>xWL)jS@bQCO_e!Az$u_U_3t^LD;uP;5u&wAMXBpLlg5WX z@0xc%*2Fo59Y6K>y)#Io=+5ilRMR+@?9gMs@8UeU*3QExymS~W{_ux2UccU=?}49x z@hL7F_iV8QXe<3=#*M<%G{Cz`$+{OF`LVwA0(kHm-74y_LrX4`{% zw8mftpIvRy^(}_JLrZSq(7r2PRW;7f&hYrr2e8)S>4#6S*=(`7y~SaFz~OMfVShl^ z50Tk)pk2FoCBM2DVMp5pV?q^iP zHYsuJ{0S9Glf=rW>~t2Ac*NQN{Js*gWkB>cU@i-UvMDfM7|a$iqEV-Xd%Y`IOI7HwupQB_lj4)+|SJzu70Gn01~!4oER%xl9p) zu@?;@7R{={CA*Zf5~avExt%1o$@*g{UHGlF(J-$34C6t*_EC;uCcc#RPB&8vrZuih z$gU|aM0!&uOxBtLxcPfR(TMT1)@09!0MOYhk>vPDipt~6XCXADWCKn<2Z$Mpv^M}H zurcWS7Buvz7H3{ItD&n3b+bU#)PAPdoud$KM@oUiy5re#9^5{t$}5hn%}hP<-g$5( z--lBe^eJF2&tW>&gvTp`kFI)b4;IgE0IjRB`QaTvH-Mn7>!R#fUaJ!Dmta7Sg_NxL zU94y6kUa(ZPhoCL<$(nG%jGgQCXTtdhXz4i*AWnQT^D~|Hhy@b>dF32X=Ej=U+&p| z|Kjs5Fn%gK%gngAxWJ=Fk8p8ukw<0oGer#rg4=(ehwUW456S1<;6{(OU<{+R`ul-^;BO=RQ~ zvC=i2h1>N>&i(;5&|SZT_Y3*^uf+qPJ|mnzCG>m7&^mz5*2&TBAig_bXo2D24C98D zF&q+rm+MCs%}5g=S~P#jOtu33In)i_o=F^^_B;7_Cj6}VIBvIY8uSCZKaIdrQ207?Nf~g+wn*z`fz}*2iFQ217 z9I#M?q3@wAgH+`f2vQgr*!Kh4A-T6Z#s!fLlR3%obIh?LFS5$RMHBIyF&JlnL&)Bf zIzi6;hFx@W+)!+D=5m=D2CjV>GB2CO0!kAMyE#hGOmQX@2P}Y!HO8^II?djamxG4= z8|;9g9ekXf!fv-kUDb{;Xcl<-^bsCEehA}>8<)3!z&j)9_k#m9v2&^rbHKqxOj*v@g{#7{NhXCJhzFUXo8NakW4*y$00&8u>)Fj{G!`F!cT#!JekRvC2_?%&b>3yo7Ll>?;vK8cL^^x7z;Ek-WF z@lJ)dbIVVWgQbL&lgs&NPMPCe`edPSCOl zlR%loT&OgSl+1QG|I($uyyvs%D*|{B*Da;2&#`&lJR21m#CWcxX(tPZ_^G7Sw7p8% zXo8j4DeKon@^Ne=ObvyX0tnU;m<=qGaF`{bJffJj9bnLCZN_DjaDEt zfcqX52u)Q%2LmcyLDw~uuE5kgGfh%%9?xG+c5tSF*0a$r>P2j@es(E~J_h#6|C9ILeH0bWP^*oN;jZiA9Cp549;{3d;Z!tYNV(^q zB7#=#`#uEv4{CW;ib#tHUsAepl01KA;;uWrbFNW65pAS2r+X4N~qT4gN z9iu-u{J=&?+1Y{m^fRIUHQrO%7P4>}D|&zg?sY?0K6EqgKNJI>>Ql#s(w3Rg_QtC@ z#B)w5G|duwWAH8zdKGU(k%b8neUqt#eLP^kFMWiQ7>Gl+j@3DX((1PBEnkh8A%1D$X%*-9^XpwQ%0j`S5-T1@Nk-`i#q|*yWrdGK{*Vwey*wd=&ZLp~bvHH! z^XJ3TBme*)07*naRPW~*ZRO7y3Xg=+Q=%+fGlms82un=?C*2IFu$0v%GrDP4@|4j{ zqvIagd(uL|G8OxjYra_c6(~|(ZDOVqs?OSVB#tgvnFB?kOUF zToQXNflI9w7K(trgR%@wYxj$0-5|b-jeu6)Y6G-YIOF zroo`xc9Pw3 z9o#Jl8m@-1ilCUGtZO1Ea${`Te>-{mX;s$`jUbba%et;{b#;Zuk00aXk3YuM)m3x} zm*Bh{N0`g0pL4&TdhLDRbLzZ>FBxqXKzeEVcWT4yKBjP|0OYrga9Bj){!pfW>N$9~ z<2`32UtrH|%tJ3W-=%FPBjoJqpO1Fk1=1&vJx!~2?~OnvqH2E(uph}#e-NxZ$=>l@ zUjYkwPFP{+7;Ffpa|UwU1GaN>?ZbgFbc~^+2-a;23t25s@q= z7&R}0j?qna1}q0=i3&HyAL9T~VIt)|Ni$FbxOw#&x38~VwlK5k0oFiA3F`M-34$B`LyF^3c9WhtElrE~<5)~{fpBN@*1 z*=mKe)md~hWlD^4On#dfYl!php%{t`bC^dKQdYrgE2Yyl6PZM(Krn5Gei$5JSI#(Y zu~^{p>H_EIXLve1Mc)rN91d8oH+cEtCHA`=_H7$Me_b`GtJ+E7<8eq$Ctofm_BYBw zB)ClGYe9M^4UgnZcASY7GyjYU8IZWIC`f)eIWLAhXB5{z&m|2~>Lg>tgrZ>RDKq8D zANX?iW4d~qG9^oxW1o=sOYwO=XuKt?C!OqiW;)WYb>fEnUN9u#s)_wyDZG7#w`MK8t&V`q?ZPB zQ)^PVw}xTJ=E0{x*fF{EFbvr5_i_HXRKpwt_@NO|vhT-?Mp!*)5&w@N+%ek74$H!mI zIJ)08ga1bRnIUQEMkEz;D3pD|#5$JI{DT4Zn=sm=-N015VW<;+tj_G+O}XH0L^VJa zLoI;nA}Db{FRmY-K@S&<5@5uG;t1dhb}p!$Gna7B#zpfm1Xi?cI3(ja z%Qgp}{7$X=a?OP}7%cX;a*ZWyuCH;}?K}W*ZJ)t1P*q^9!CIp?2CZdu%;>E*i3@UB zf1ntFC8Zea&cdk5Mcdg4*_;FRpfNjj$^u7$srGZ&$`=okId@S&11t|%t(K_k+Ap9g zHBq9ZR!t}m(mZYeoD|vWunl@5(>OTGDhwgoEX;iR?PYJ!FxUai1G>J$-p9OYU7@OL zTrIEg_{kIe;>$0v^)YTYH#gYs_Gk|+4*M2E-@^_Tm9Eeosk^?Ya9@l1-C3zrlN%cFwRsg)(SB1oYFy41&jpr5P9TDxO z%tJdc$JUw%`oj4fu`3=ZS~zpJoLL?hy<;Unkbmo0wmZ)=_xD=Z_n^XwbJ>(PFccM@ z6?9Tzk(~OK7>CGNhukF2#*B9-P1JD>O=gFZ5r>%BA2&9pjzMg=2nB`9kN3u$(L=#S zg;pTcq|hi03KzX%_QZNcYt(40pn|dT1}fYmY*jLxbo|J zdRxi{pJYe_Kng&)WZ#eNcW4NNST%J*l`QXJ$-W;Bho}TN#+1*g2&NPcb1c0}L-6v_ z;!CCBa~MCi64>-g6DoyKWA_-iyszP5*xrka3;g02zrg38e~#5^g<%-5-EOhnZn59* zT}pyy&m|)*XT3}Bfhl%dHgU^iJGBp|&afY2xuq$gQYzd2W5?`R6zFMd^V2JeVORB4yX3lmsDjrsmOucCKqu&LaHK9CZKtF`Hc!hX{(_)GgFtw3{tneD@vt z_JCzDEr|}x&LnOC&|5}t4Z2}SvK!=1fMJ{f36^H;A3*={c88#YJX|1qax~$cH=-qx$@+-)F2uLiPx%f%Pha&*%0ho2yfmW5f zCc@_%>)fS5;ttKt|H3f|y`;V$+^-A+?0yeL3X8=Om9A0M6+ZmrLp=HDF}kit+jiLR z_SoKTvE6L3+wL&*J-T7=25kzJt{m7`t`p8a<5>D70B~aq#>RO**MKmI-6cX53dRse z=Zm4xgvv$|D1i&%yf}(zOVaeDw6NAB$A6(>xvO?6na#x9&}n&@Y%{+%sKc+^_JnWNfrkMh=OQsy5rAoU81!_R@_<}ulqT9^VHnCWMhL#*_{l!uRFqb z9Jlh*cw|Ep%r)$Tyj>BBajpAu(QY<)_3RlG1C{o%RjH{0 zCcBdSS)b1I)j^cwV7wY^c*cmr)Q$zbe%421r=x5IRmF00XHZQ-OC5@nCSfzQuO4!Fqj*+w}%*+qz=v zut%jTESG1{x`M8h185wYB|h>@81^aU*g0!#^cj#`c4PoaVcIk?mHNS9K7m3+(=3qN z4yA&zA7%64LAjC|3NsI=Lh_t|6&;O9$t0oDAW*!gl3oR%D4`C;tt*mcB%9#Cg;aft zl}Jh(OisFFMRp+#FWEb}f5ACCfbViUWJdVhOkz^jAahCQ=rEqv!Ng`u5GrFnY&5Eq zg{F*G%42SVcSO4HlL?EL+*|8s$dQ5lux{L^Xe<3f84{S`oOjAa?O;wXVFIwR>%)71){x93#6A=PlxZ zj~nD=MQ;5uJ$h8=tbtWPbJoC+YuvD9RQf#w=nOAp09e;`S@yUr*n@mNxV@K6xN#$LIsz+z z^8lvuu^2vLj+ZwPLvFS-MVy$Pc;mr#eoDkrSRkBS9S!##7|IS1MxO1}G1& zZJGwZ`qi)S%U}KyPo6vhGh?&a;O6EA*Vorh>E>t8l@T;QTZ8WC(BTPt}%dc7zXUS7QHbT*rxcd z?7{2ZY*~0GhWIR-BG7o^p(=A~EthkbzWCn>Ns?2CAf zN;lA|a*RG~mRSt10tk%;cXQ^}j7mtd!-dXFnVDI3jrdDKLo`a_oNJQ9TRCr=d36z> zbZnX^?SP*d2Jm3fwg(U?)K!hTZqU>WkV`~it z54hY+EmHF*TUJhA`9fB;Od5zrg+ekO*zIh_87QK}kTqcfn3Hpv*+Y^1H53#iR>qg5 zA~G{l^Ky6V(=yQxjF7ZwcC$MNnOtBE0Gv3y61{xvq;Xy9O zu565y5Bz*PbHJhf{bx8_pEjylQukV&TzKZsaoHjp_erR5#x22-W5a@?Cjsib;Yy;x zr?LiRsr-;^PC8~u@-kS1T36vlasV8FCV<#NA(+EesI-p2eX*#a3Fvzd9DVnhMf4)a zZv`gpOyexj!{X5Q=&S*>b|yt00>6&}_tN~6juvb_x1I-lc-5e(fz6)LcHUuG5tL%z zfB}qU7$%U`P&Un>ONLt-z)hKZ-DR8=-m`66^nE{Z-6mGNTmz&cM$Qh)nQ^Irxr?C< zzZ=-zu)dU1>$_N30C8KwcAf%kG8RZGza)7=$OwUuMv`Jz>8*itYb{o*6~6f5i#TsS z3$pyxKMCGttXp}$-UMWouLzdhF4Gm9d_j3re~Q_skGr~P9_d*$yOS2ctS+(z;u8pLq|>foGF&tr6R0G^01 zn#HUq#jX9=Ed3uF%;N|OFBG~s2HM}7<^^R@ea13|fpO?1X`7lpc!wl^6(pt7U}wgz z070xd72iZzws~SI#xY14q@Qxknz=&w#M^;RK6;6r^vqLuXes5u7+Wj}psvHsi)XOy z0Tnrkr1Ie00rUzMghSus(Dmrd;O3~6n|G8eLo}!;<;B7|zjTJo9#Ayh^h$G=qKobc zTcs!h$+Z3mz)vaP*%Ha1kX177V^D<$Vjmat7!nm<+Km zHk=Qp)L6(CO5t`+sZD3$Wb+}XIGh6p(Dgm~e!vb4?Q@Qsx`x&j9(-_xhaWsZ-w$XH zE%t{4*6THHZ*H;Q?$Na^Y`2fw-PE<8r=>Vo8y&7WwS7zgvx=q!L75tbZt}aU3NJFI5FouKFZbS*9ZqP&mqVOXu+z z3C9#iW2U$BevcfQ)n(+5^zklm)(p}*H5Q4+&mCrYZz!SC2`LdaE4-sooS3|E)+!{Q zUM^-$0hIzY8z`?P7H!vJFhgpPksHGa<4sT+41)FFh8csk&W8jF zq&2jzaM&xT@Db)}8 z+jFX-ay>DY;`m7^Jq1Ix!3X%_i!boS7hmAw;sV##*Ld;b z1)e>7hVQ=n4x7y;HdW@D0&`}5_W|k0%>1O{AzTl^@J-6#r;h*B`)|AZe^)`oCO6#xn!7y(32I~VbSaM3-?7Dt;=dzNF zN|_y;L+QkNk^q_#yvJgzxQ~efulugsKJ&esV{vYw7$j@4s5Sci7T3?8V`y8{o;_e9 zP^Do5h*pHQ@6ir}lerrcPxw?fnv}}f&ZEW}!Vz1T_er;8c^<>5iLUHIUY|V3TqG31 zWiGQyveh6*)3ru#hGI}bj6bOC4PD{vb~|h~ z8yvd5FHAM+s`0F4%A5`(y<|ND%_Ocb5;(o|6Oc3gO1OFF*Jzfp&OCa2{E&x2#$Ex@ zU7p#(nqcmy^0vVdLnrNHsB#zO63B95mdl2f+%67LezwS@6--HRb&aDU-dxV|EDKGb zqsKum&`BYH*|kKn&DP!(os(y(GUnzK?>?siY~*SNJ;SoRiwAZQP3QN}N!=?D+05jQ zCZhrK_S_h}agv^hTOo{s5ZuU;W-o6C&=8=Fg|dJqg<5N9f9*P!-MO3%Lyx}igu;R1 z=zvxVtSc~S^wz7Uw3}HUtU*8YFsM*_S$5y|_{k@q;2(ecet~m_y2m+n#qqXH>yjcD z*A=W07#)}bOb#CR8KK*5~P;b!FIciO%!7cwAQ%2y}c8V%{44T z!$5A&v1jrW7z;lSEPiMdNLA64$y{k>7QmV`zAI(YQ}2<-&bj9%`ML6P#r4xz5IyZA zaes^DXQ(5-{PIiu&ENbD4u=DtKYxy2|N7VX`s=S_Y~7qOTlrp7BT7@hGq(;MGlrAR z4rxdi&P`QSXqqMi*vA0${20_&b#cr@?vxqtAHt&F#onhhpv0WpECB_X$ID#}lJdBP zXLwy}DD6T4oi8jWSFvJS-8}`oS_8|*qEg;`lyinNGpFVWcs;?Q=i51N7H1{j@{T~{ zpDMsZ$Met6mK$aqx&gm^*5c;iuE&uf;XB-&Dl!hjQG1F}$vW&rGmMGoF7myO z(T{XSIP2nYW+PD+#$jeF$hjG81}F`*n_FzIU%MPp4>$*7p=bbVAFIKP&Y1XZ*g7yO zT_ZqKy^qm$k7bF2`>KNHn)V$LRlbqd0VZh~I zX^~rxr{Z0W08*4NgQD9sPd;3v6TEnr_;2gR31R~vUCT^~@h0C!>-rX5-$p5RT|1}u zv(*E9@aO{!gMl3kw!1B^udlJ$Y;oAP=(`?$+k+SwxC4!O%Ikit)XDSF z$B}7)WsW)bp`pcN)+u*U#|T8ugJPcC*4PN+T>effS2>hL;hag`n|w*>WGwQPYs8HU z)gO0-o>wEd{Bt=6FR$hDT*PZwjt;SGYWVXD0+XC4%;*xQFz^PBP7P(D*rHJywbD?e z91Bbi#DkqVT$D!p(Wnp?$UZjHScAb>3vGKx*UVII`rI0N(!F|eItR}-=VNokvH-pe7XvK4 zc%8P9Ke{D*(sqO(oz z^TYhk#Q>G?`E?i3Y$2K^TgP)GWpvOa0)1z#CXUnPq3>{Pav&_2$t6yKK(7b6H;qtvx z%1PX!#9ZV*V&b7AN$ExB&<;>A6Ba>qzp6Mi^&;A}?o96#joaJ;N zT#@o_$tKRXTj*$YB_q$|;_6%>)9+AV9%s(CG(!)Cw)JL!irh$ovBno%jKd+hz1CHY zs;Z&1!o!DGc=+%N{V<^K4feY|Zf|a}+ibAC-8$F!ZjWIwNiL@<=&JHsST`*BQJG{p+P7mIWUO5#kN79uSrBe9r3h?jrfUxu_g8F_bYc$-Ec3LCR2E6&dzG_42=s&IIPd-N zEtlScp`3C~f1AxwS=>x9uivSP8 zwQC|91I>&|0hI^lN-5NJ1*IIjH3TM2yS2&&NhJ|17}k&A7-kr9KX)&2k#fXN{j+Zm zsG9~q`Sd668^__+VX?3tE8GZf&i>Gec|%GpI)QL~XzKbsnqW-#gITk``m4Xf)zuZg{q|ct zfBqb=U%$p~w~LLJQ^5EsjNFfDoK`k+!)Qjh4uh-y{P@uEd2FeW2-nfnT>85J>GR#V zBm+*Mh9|G@Q)1Q1ZNIoU!_R*96d!*42sc~8KYVq-L2I1r8k?8jpg(M38F={c93Or3 z7|YcPuQoOI9l;DXXUrkT?l>F48*eYN#2Pt^E(wW~4&9&F!1+Iw`S`bS95{JpW4-I~ zw_opYvsX}6-h^WW@2__W(91kPY21dAEyGO5bB^`;G53V#f6RH_F&8j$L}B|IRcRF; zTnfOdsiB4*H!q&!u-RZ4q-LbR3P7bnS~~}K!>~}Wq0j;O*>5`DRSWjVfsufi;pVB` zOWHa_uu2{gZw>}2%GhGgbM%y;Eb1*vh?U4? z7dEeHaZ^VcdJ~U|_*9(g>f5ZTC4D5KVggAiBF*ATv$x=sJ~^8%2RCV)xse-BA{J>W z|9qlwA&J{_Hhomgg+hTa*&rwzeB=I~yLuD2aod^|$KbcOM3>$KSrJs8<0N}ea%P57 zA-_7ruE=8x5g{mJ^sH!FB1J*U_D;BLeavH}6l$fRVL;YEfl>QtHLVru+8IeItye4xUBLSo`+N%HJ~s~Vra(P6xlEbt;X0jif1h&wpV}t*bLoLF#cUtT2tOvd zze|o^Hl-44m^Z5KYixJ4*++!S%Ox((7g#nD#>H{wy!6oGoV+T%n%)J0{Qj7sO}EqkIRbU56!RtJpav#uY-n+hXYCLw*Bj2d z?e7mmk zwFl?yS=>@`9)NL~r7YdEldlAiSY>%XPk|@^u>o4wb!tir^REz_HwDJRS`}DQsZI)J zVqqUbv!PsL=FIKN#)5RTpJLyqfYa1E6M$Xc_ZS8n*L|fJ%Eq=Oz`$UfH^8nX^oG$7 z7W-iVTc5$|9`{KB%twR>%jFWQ)d~Rc```Z_>-9PwD|xTqH&RQU<8WSsk|LaI8Ic*l zbBMVsBkxX?WX}O%=@k&JTPb~?YNX6HSfoNDG*rViHs{CjCLsNdR0KgHK5;$Yb*$(_ z>e(0zQWn5~MXm7BV~tuj04n@Wt?L?|Q;9W>l^JXcrGUswp=#QB>9s%?G1ai!;CTmeKV?n_B<{Gb`J%{Z( zkY2)C1IrebY5=9cMCgYBZQr>WL^FWd75&yYmc_9;X&#+0Wms}|?&e4YP%JKa_f{|# zN&(ifg(}KCDaz`h04Qg0qZFZ8G_Y*Y^=)(tkLGKVDW6bU$mo{%Ao6l{>*I|SDOWL6 z3LP`JuAt9X*!4ZG4+pd@VLw>33>Y7srke#6_oxXN+7_$D605}m7zUhajRg^wiy9a@ zaMz(BLgT@2T)dH_Pf4X?P7}B-T0Kvo#oqz&2#cS6DO) z)J=`Y=a2CC=_BV7+z(i<*SLQ98n^3P9Cim7W6^ak_qDE@D1~>$-;m#GalTmzQ=g=I z$;9z8q7G%=`Sb%_Hn|wi5;Xuj7IAXUW#3FRh}7u)rwY~-!6w1HaO&nHWe?k>C^xDE z@>%_mMiG1y^7UanS4zTa)rwf7F~Ba~J9`Xp1~$i^k?xhe376K@z{X3qf1LYX!c z&#S#0yKK1R?>*6PedC@f32zAiD6^x}`cNJt32=~&Q@GKzT zPb9!K(ue@#*z-y$R7yD(SOayXp@?8Y+}1F}JZ})iWDCnK#;zy8YK;K|L+;zMV~@!) zbX}nv3@j5q{>e}9^rQD|2Hhvam*$64fI_~)T42{Qx)pGia06rJP7VcXK*kl7Be9kf88-72?>jV2PudCbJ+sr`h7!xjM?Ypka zz<$`r!{IPGCR5C2xKGOM5A1!M>kjEB#3I|g#=a-q?19YzxNU*;4(N=9F+j&Ps;0-` zaCjqd9-1Oe(*OWozI++qtIUzVi}?;;fte2PyI3sHG))BP0SpIVTsCz|a2~#cQ-6rk z<2L}GC94+Bt85fVgTP}9zkJWqV0B7qaDNay&t}iGR{9)U>Jbs-@(^t;XX2`D}_%!ta0_A!9`mo&{ZTj1rHdW;TN;#pGXOo zBcVrg(NENg|8sM4f2SyrWgU>tYf>^MrExLw7r!kt4xPo<&wKpcA3Bh#XNVSzQjFdK zgFZ8tow0AZOR;3{{+LaplD(2lF^ZYpdCJI7tdojPzY4&zu0dwNtM9(U_U0Om(qLoU zyt8)FcB*PvBJ`$5YX(CA4CkveVCaFacZ~@sn0`RW3%4NxPdtDqPCH0tL2wCo8R%|a-J7LY~)Iys*B|k^`gRqhnINt=mCb#;IKd7us>jPyYcz!JKXMWQ0WSFRf7VXq_mSK z`lpHYa$VQ(@aJXp#G%Z|J2&XUIQFbKk5R4efn69;u(7BC05fv69Tnu@nSx?EibXaf zWRzJ1r%~FR1BXz{1Vh!Q)0Ads#1oD_8YZ*_EZ>CM(-8YzNgEZp>GaP%o~Qui<-Bnw>1%>aF31dF&ecHN|G-3yAS zaF7)#)LKCkdwIJ9>{@GYAP3Zy+upA2VlfYI1Zu2>fuA?G4CB`_!vJdqt5h5hA-Mgi zh_K)9p{oXe_Os9N@h6|WmkfH=WSwCFGb1+!4n5(;rpAB%eucmNuEwrsC>1;>D3g#& zAXLi11JEj&^;z?(8K5Uwc*(v?m-G@?l}#P3H5Q9S1oKi}A3&pwgqve}1Go%~d|=B1 z&@O@NUHR{GCUN6vIO)1mW1usvhYH``0AD>fcy(($s5dY+n0p=oIJ3OnzP~p(568Ff zd%S-AdUDSEE{FASo|>k?+1VME%cXm6E*4lWmpDH^$8x#Mnk-Wwx4g#WpJBY=a5!MU z-^Zp#-}g~faf*byYzmc(dT2Dw$=i?3sF$Nzb7p#P0^IMC+)p~_BR6(sz8j>UGK(Ib zd;5KdzyJF`fQazPClApyHLNwbzHagS*)_J?7DT{$y~WFyw|M&W3YQl(77L5!)be4~i%wIj21vQgTcyxh#=#6|y@Pvi9dn*$zg3oLo))cq zF#wm~h)2|Ux&Xs3DiGON5SA=uKL45yk};+TgmgYZ%VmwlqK0LQ!S+yE#|X11887Ba zlMAN*clagGHZi#)%WMHvp(R4E6k1*3y6y4&dJUr${_1X(}Uwnzh z)fHL*H93Aq`%kDm-?QKJ_`~nN#4AD?Z!5AB( z^;oD$#)Tw}z~*Fu9vgLtKyj|KICb;RIqr@h^0`w>U|~a|Lb^v-fH2H{&Nu??l*K>a zb{T^>E;x?60q1VLc49p&0gz25jw}HLMc|t5XM55UVlqcqjg6+>mU&&N3YcEVdGc7e zf<6_ct}%f)ho17}gB$*MtqW^rrYH)^D7GMLp=%x8+lhgS6q-t>u^AsdX^ipN=f>$r z*ria!e|u2Ne$bc6|J{!+8Jq6SVKCTkcX;~A1AO+`XIQPy-or`{6MiQ1MqWffZwbGB z)!_EoC7#{ZXnTet3o`@2Bx@}HT~!qpi$w&pZ(6vO4C)l9p8~=1xf}qZoHZ`TWbOiO zK?xvd-$MhUZCh-&+mo0@`4wE^%SLDblvyp~CBGIG2K^YX>__;Ams>o0af9uyhqWfH zH*aw7PaTJ_eRFYP$C`-&+y{pIgAYEyqeqXhTCGMIe*lb#?*Lx5Fb*=E-cWa!TeUG!V24`mtx(-l-MZ*@%O3b5E z9t}5Hm*hBR?#Tp{hOl?Tlpg}%{)>6r^fBQX^@F?T*n{x#Bh89fKxu9$uaDb3}X0pe$vXnBPt!|*U0dP=v4MkY-eTR%}iXK_s# z)1L!KDSPK4<|{NB%wQalgN0^`cDup)9tcC}ieZfbP>!9O@D znuVnt^*pzmRC4wvrJ^%?IS`?%21ZvnXoc%xz{~9x7a#uw|Lwo|ukrK0`fL31um2jC z%O!3Z*a27*urokw9Uxx-Py?{2ff~T-qQI?jh`R{Oh{R;o*|M9=$@BiQb zi1qVl*zK?J;o=PFJD_U;Yf;x4X7F-V<(zBdocYYL4)G%429^2knLN_JhfHP&?4crO zMghfOW3k^Ak4VKF@eE9KGH1%ib+7{P0Yuv6k*laeqS+8Bke;B|+kGg82 zT7saVwKJR}pEVztLk4mN8+3GjEdcPy+&cYtjGJK2o#Vr6Le6(-o>tzsiOJ6!0*P%; z_eF9SCf^(p57dHU&z)B#fSs4~&o$8Jn2tG_b{TnBGVfClmGpl$>jWnmKMV7xAQjeP zjksq)4bA|}bWGfv7Zb4|1d0y$LD7@sgES#8%!_Gv?(|sJ9@jUD27hU+gR)0cG{F>4 zVm21U?2Jcne=m!SqbZ{L&Twq8Si^XV0 zU4r#v+1O#d3e4(U0?O1jgwK)8djRESRAD(2JeBJl0KV2b1NdS4rex1k&4VDZm!B8p z+Oladt(@`F_vPnU*FV9pzkZJIUaWCAbT9%uPXRxvdYA)QtL=SW@GI6FJT!-o&iwkXywni3uZ>OY!IJsj7N33g7>^!5!V+>#p3d$`<4^O?&9r25^ed7w_Y$Pv^$cd~%V3F)PR*q!nrsqG zV#ar9cK63*&t+V%Wr7oo2DPd)ER|jWfpD`{#s#{6_l7YTpc{bo9{7L0YVo(*_lk>~N}6hsoX}=u^OCbHI>`%0%*K}SLvPsTr|j;ygVAR` z+U-c$*a`##zQKOIMjf2SD}}-I-u>BS%JhT5zVC5hM#~mG7@aj>&pc;_ z0)>hE96L99fXe|2aqO8L>I z?7JI;=z5o*yVv_DkvqFs;^M(26cM(YE!OJ|Zf@4t?e;K(1zU^Vc8j*%yPRMPR8{R& z6>g4}3w9+j;q!81DM==y_j>pYV=Ssl->=sm z*Bj25h1}8h{!e))HBU3+9HnJGHjSMMz{LrAPXs##2LTX4NUf)p3%RB(j`aAQN-UdK zm{{vfBmH>NvZ_&$0uR0O8mS#9uay5&D=39Hf6j*EXbH1yI9o6@pxo$=0lCo~r7-jZ zl+x}x7GU7w;sT51(y5Z(Lkj&aL8oL1m&*knJ${V!&HxxP=k!w<*t4@UoSmJas;Ufx zNS6IBV6K$PWY1F`6H_kjQ-*6(^W^1oc~X@kz`2}#4=lbk4!eti4~l{ykuK%(QW-FJ zzt)uoU3`w0-6Onyb%SRwuF-b=Nb)@gmgbZ}Q`;`(`^V1N7?2rUUS8tUPd~*^fBI8A zefktl(_~EiDRF93qZjh$^4ydvtFoyO-Y2l^tJNy9>cOf16re7TP2Z<+fi$kfN1INi z0xR58$4mr&82Fjbp)aeUXgJDm{&{oPhP6TY;-0Nqt2~Dqz;@fA>#ng}F7e>OL$DU2 zx@@laj)romg=vCj%tq~gfXw|Z)8Y4R%>PpX=W)%jgni$j?JKyauK}UMcGu${zU@&} z3X6rt<&tpL08LG(6mYX+-0T?F8{l>iY+J^rW!&z7Z3{eG11)Q)N@WDiX#M&B*?Y4l zS(5ZR?0oJX5t+5ut-E*M?&Y%^tE4E~ct4 zDErf8GKQZ9ffDCYYM`D~%b2_TYUVtP+2xvB<0a{G{rW#CixOp7qHDX}1=<_iMH14u zlSomcBR;R%7;BlV6f`k9B~X_NAFLY`j~?Tf{@vfe&;0VQ;N;O`d~AS^W;Gfjw8p@I ztb2PHBd{-|8EBk~yJBG8b&wsSfWd(T3K$$sDx4N2zWKL)8L!-bgg^M7{|SEd|Nb#5 zNIW__#`48;ObZ3Bo5(TT-NchA;3!BGQNFVS zyMkgsY0xz5@OfBSyMQExvZ!$X{ykh=T!b6hV!puqW`^192G`fu=yZ$qVhvT45F~A+ zl$8CLLTL7w0H$cbSc{_>@32t~sylcC+;QHN05;;ttPcVwuKGhwt6ri{Y1|m43Y$DW z&58$x7za*d)F~^zc^&1&UmDq#HqQF721?GE*%>o~5M3t-iNk&T+TQdnW-@Mbv-VMV zxs-fNv2z<>*Uy^w=g`NZ^+l$W$DxKiK-^bp?^TYmF4abH>`Pz#mu+A$& z8wfUFqamb1sU)OJrLgno0!mnBvycLXRFFi_T_hcj?iE2TW7rO?yCx*NeS%#k`l?>T zK%giK+$@$T$`WtC^AxYV`s(L+dw-eFayZP>2!+Y<73-c z%p~bK<2iN=N+}#39tIY4Ou{|}j&oP=VPnYcKr@!K$B&5{7Pz(@DN2&1etkkz&A*$jDX5rue-S?ij780>^I=e>88^u4i678pU(qO--ku^&)c?b zVA8$w{I;gkP%=;MpRf<8*>_*xhkfS()^=ZTwGX3i)rSMF*`Y>Cnc}YFaP#bO0VSqz z{azq86Q7dzGGYezviLenqYaAzY6AWS9&PNoXeN}`m2l7!hBn5}{96|h({R<*%=tub2}wA$ccQsVrKFv&(~#*W2& zt~ux%#r7uCoff}iH*iWA^YFJEMSN@p=P5|v&bHHFqaaDY^B{|;&)@DT$)nYUPI114BAHV{mt zn2@fKVBO#&nJgF`fR+fWu0<(;#cGXqGR3_@;L%s#!oT+)|33cNKl#V_zyJ9^gIG0q zcySNS^$U=9xn}1c9x>w&_)ismy!n+(unDL?q=V|9%{EXWM;444yo<4nwi;D|uOt)O3uC0pfw$W!ppV79syPnuDKH4*FnMIo308%mDIOUoBdg6o8CLmK@*WV;KVOo34Eu zuN^aejA&EKWc*%wO#}fezf@8{Xxp`D=5yRUe*x2JP*I?%?PkpGHIx+SjK-?1(dZ7X zHt0AKNpp{Bz56t~JYBLtUrQ3Ib22m@9=37Ym%f_6Gi=|MI`a z>uVBVe_FWT4gB$!|qq%E&b(0t4=w6d928>WFYt3i*nh z7>~sbr_h5D(dYnDfahGP+$=4^+G*Mb%s}1N;f7r(g;EtbJv+6MFJ^R|!D_k0)z!6~ zU%$G-a=Aj&v?1rYC`yz?0=mo(%oAnzl_{Csz6))U{D(+w<-{tJbWbH$Gv zY@0;~ZF~!YTc*S$k6}*AOJ~3K~#X5P*oLH zjRmi-zy3PzKe!KBC~(t!X@U8!Lf-#x*L7Gd78{P!yMRW_PJ5u^Kj+D0f~u-EnBsH~ zvA^?RDVA5q;3}3|4*?L*W|n1{$ep)=tfBYgn>zVuOm1d2#LUD1Ja2}^4bd2&54sC8 zqpB)Adh`hQ?%l)n^)+6+c#*`nZDY^Jnjm8!aOk=A0f7ex2e`Pnz-zC)hNn-T;_ltM zHhQ#aHURIg@rL|(b^-K#*Jdt>j~hZ>HR5IOtJMlC*8tfD&|}4cSAO_Wh+U7#bJF9+ z(=LhpI5^&(qn`deMd)_+moS|cxN~QUrqNE_wcqpme-=t$Iw>$M6(*HJRVgS*i4RcQ z8Z6fx=Bp0t#zZD?{XHmgS2#(jhVLbP8U)xL`HsmCP;SPFMfNSeK040QtQPT#qt1B#KH&Cj8Ac>~y zASFR4W#e=Jw8o&(8k!lMVYF@`gq|6tOue6Z7U-qA{XAxLBNw#c$nF6l5h6pbbS^yJ zK>DJZY>uSsLQ*ud>7%+B2C7t;OeY`#8%ZXj8)DpT^entFeM}c;UiluQXN!JUK4$>%aRCFuS?N|M|cDQyd@M!K9qP)a%e>AkQqbClcvbnoOiySPN#z|=i30P2Pxk0 zY#XQ@Tbo*ItX8Ygz-ikyk-O)wmjf0rt4>vINX+4euHE=}y|GyQyZpKvn)S{Z+C0w9 zU#EU%IXAD%zpARj-Me@3;K2htfBqbomzSvPIsoZy(P7(w@Yprqw(V%6U`U?r0q%nb z5Ae-zeiLuJ@dl2MkHZ>TE|)<`v8{11=GJ~227lXQhCpq;CcVmGGMQk#UgP=m=ON~9 zA67e_WA~r$zEbqDCeJ=9gKdc;+d*~Td?n}cLIhk~9O1Pm=lK4=`3Tdg*!i0A&k7}R zdNjes*#Qox3RNlXys+$JYlXuY>qg@zFIISVxyG{AsN1Xo9sza+ZBT~6Bo~`Taf$8q z*a&RYKxgy_Kk;K4=!3`OpSJxgZ@HW;v&($Twc21woTB1P)Xw#q$QGsV=kNyMo>~tk1gl=&8 z>=~Bx1twAkCO*tdDuoV=y6eywMr+^}35UFMMDwzoysn?=wv4SIvoXs`ksEX73^lawFx<+Li#AN==lss3|S%zB%4_`zii}fq!##gQZk}EUlRyC=7P=K-I<|880vQ zPV$Z&j4_dyy|a)YsnB?XDq^%+qi7@^9+dcp|LN}oWbjA-;(y1(s>DH2LK*EOuWZ}H zAu-+nQ4$?-|Jf#a?~!zu<8CvjJ9uCCiVV0?;*u&{%o9h~8fO=daBQZR+%pWAHB8r` z?N(SAh7gt=DvAPU7pJ&$_YMGouGLttYb+N_+}zyY`tlmf#A5mfJyP+-$@KSl_qMOF^dCd80{H6k?+Yw8!pe z^EvEW=}pS73bWx8k~avv6n-f3F8!=hAAxlLPlhj{ert2jA3L)~>~JN+dsi6}AzrLF5>bNpbODH;M8WmyKGmtPC} zG>E(bR}73isLhXSXtvxl^&Y%>Hhdp>yf+c^Ztby)`B;S3kgVN5Pk!Fw6pj2m~kDWE8M+vgwvx5N@?TM3JFLN zfm*j0NeLWH6%HO9;okWKAH7)Nhab%Q{Rxz@>OFOyxKt$>*^Werl#3=d!rgkG&(op$ zS@XfU{sPo>jtyu&rmPtn3fX=2q@_s zd;JSZiDq4+=`=bpS~hMrQlz3FqG&Xq1{g6b_l5Hx%jHs5Jt_hKq=kUbCBf>YLaHxhIHrKgXK7LJI-?SQBtYzgB#@#1j8+ss~VyfPM&AKC)EUZk58d5 zPH?}zz-qa|Y&OUB)eUB|8Ln@xv05*&uI&u1lnta*C{zI{Y?FtRIC4&$#)o2N_T2!s zu{pbo3%f|z@D6a1n$!8Y>|CO{T|U?|>coWo?PO>JWQ1lHvYU5e%$YVt*|>dR1JI=G zB}bsO|2B!4+CKBfqXkQ%0>}%Q{hF$23?~I+Ag{)-%ppTcBylHRNfO^UDUbH^V-;YO zMPbL1)+-3zp`4VMxJ-1gfl?M+HH`y(#*XoDq;?741Q-I0r+S=er!j!;tXc_zux=W( z+Tg*xdpN(ifG7&Ix0D8d-VA!wQQmr;8e>q`HI9#ulb_{9PaG>2U&mEdp|0z#fP6D8 zB9(=kjf4ssEWUCRFweew2EXe%OePadCKGgBH~6?1czLEiXU+G?N{>}6UVRV)Xb;ZE zSkw4C6h(noUwswl=jQ>Ouh;9)w8&k@_W`}zSk~B?ejiZgAN%_2uj5P&vDwVs0cts8*JB1fD($1_T~BOM z+P-_}%f3l&fOW%rk7sRbO6~&ZHkIb{O{!O3Ti?$~=XvMZg5(_q zXk?6r&$Qb>!)(5j7h+3{NMA@=@GFP_))2-(vBB#45{t`ApzT1)1Te$|bjH}6T;myZ zjTUU@&m*8@00<}`n_aQ;@brd3!p^}n(s?Q&dijM1_2`PY8-S(SS_!|$hJabK8;z(3v0ftlx4S*#xo_8Je(FuO_@BJ=b`_|9kM*x1b zHh5mQI5;~)=YWRM24qac3X0zN$-P72H`Qnsh@#KX^h+<0*9L@^Jl|;W;bH-SDem6A zhu{52zlT5gU;Zb2_`N@N@ih{xEx5C6aR>5JbAJwbREeS}F+Hqscyxe^yXUBD%WACG zYt;1`v)K&G#S&esQ8zlwq)Q>8gmQAy&5YD|voj{jtB!!^E(T!qwncrU8f^jh(>C~R}{9lwS@!OhDSIrf^BUi_o01RID<{8?0Y{sQTX|9zmD~)#ee(X{YxC56kA_^QdM~J=q{>)0MkK9LZJwS zBuHgJzo1^?P6>jxi5rtr;@he>-R~t&E^BE}VA&U@%Mf^;-uGKFJI34jDc=nnH2FEGEnL_q}M+<-}lo~Z<*)g9Jd zhuRplY~9;UQslTon0r7OOvhqFu;^;cjkn0Ty(jsNhEw*BDa;PW;sp}vc`#o3>Hf|{ zHzidHltmHPCZC-xh4evVQ6qqZ(H+RUFMGozYhG`v63?y|_{QJeAtvBZ3~#O!8{o0~aS>ovMgqc&D);R{VEq#YRvQFXoRxi6k1$-%qMwq~AJ zRrFozK4#5C%?aKZ4%(f?yQ?r80x=@YI`hU{_pZGv&5F-ij(85e2k|MOrsRFcO*!Km zXtDWQ*c+o6LMei`K+L$09dj<-8)}m7x(V)c<0XoXae6~Snv6$&%5`Nf)!2?a2jtyD^bR?jorl+wkpwOL0 zHJReclP7ra@PRd%LvI53W&PS)?l&SM9D8icFwbVQV1PCxE8hk};<@ZGrgNJzCoamy zzDKVI*O+MAHUal1Cnt&f{1`Cv#&ljz?;oEx^0omx?>@g+Eb#2vGyLEOKS<)q#z0am zrH%o5{i@l1EP{-EmntD{Yz;L9_F?vK3)1&dOvGlOg5bcpO~VjU;K?iJ`1xymg2@3P=DpEF9nFOFJB`!`X zNC`A`gHCoR0!cuFF7BLFuk4;THF3jE50$-~)RR%xPnShbgifC_^u?#Bw)o8Oc|a(A ztz-wnM&Tl4ZM<6iW zh9fZLVJ3TK)yGbGCMS-C=w-WkHgY1@PaN$1&nP+fz4Vnsqd>F9VL3%rmSKaIg0g&M zryxM=-tHyk_W0pq=W1fS_xuI!KK(lW_TT+`=%yv!TN%8+UPCJxV%*puG0E};wQzAo z{+E&g<+9I-Q+_jE2L2H`>b$b+o@$a{Rp7d5aa0tz1aR^A6+C(R4&ML%_i!?)AX)`# zJ4}iKnspe6^%5s`&79O(gfh?-tVlMllbksXH{s+ubALm9BnS}&#yGi}ocybgH{=in zVIQNd=e3Vtk*SeW-|-i zXLBrDsdkecH6hO z8I!1wfn4j6AV+7mcQpmZW_NczHWWV2q%OaPhrsgC`)!&g%zBq)IcVmVgKaNMFNz{z z@4Z8K4A{0Y)!tm~```aQmdhoos=~p+K>)l%3{ei?x6Q{7vD0IbYI(dJ5#jXo6i=Q! z!K<&niU$uKpsFfdUtb4szFMu4*s)#jcZ>*ILb9kbjV0S?+j8~-w~XY`UF^V8Y+zuaH(=jlHuZ44GG z#wSsp??W!IBSy6OLR{QmhW{R7y~dd^`YaYxk}4(=6RT|<@UZy(42fYBf-sR1dVYhO zk3R;tEy|*RfR(kwM{!97O#*A(pfLumVKkj~8R>v_avEP3vyBFK;4+GaN^Trhlf!}& zu;RhF-$1rWqJr#~B4F;~&r-)&VOeTpf*gN3oua5pbh?F*1ZL60;5czFZa{d`Ha37D zw5CI&N-U+sqMhOAe*Qan`1CEj&%g@+>#_i(f(9TRYo0RWGC*wtftXRU!GrflSTF(vNvMsGQEZhGkD#TdxL4?`ryfF7>RB@r-Gxob@$J631K9{{(M@o@A4^irG z5zpF>-`oU*;H^FuF?^bKMzN+);9|O0o^UN(w0Jh6x2i zr6iQFhJ4-}OuD!8H zW8dZszimB@HEZIgk&jRFBN*O1ZV03gDG`R6zGI4zeSA}P?aAAkB)&=7b_QK%f{Cfo z8baFr?C5xcpZ(SomuR5y-h0pS;&O%AtVU53czFK;kM7?=ThBqlpeiM*LZVc{N!u+z zmk#{*g|n^UbjKj)?i5t7f>1~UkOHxC#E}KvCI;%hiNg%Zo1_l&?m6_&8^n%FvHyCQ z!0oz0S#08wf>rx2Yx9Y+$@i1E8ynYV%;#zor*3gujkKdw zYVSujd$TS$mW2}edN{dp6jnSw!2R(HCX`a5SuAk<{25HwK~5^@*3I+^@7&91nX&3L zYQt!Z4s1!9n$$B`AtuaAbm4)T&DYI0%v{$JqLD_rcd?umTVm*9C4uce*$hi>db4iV zP6{8-wsLPCg#2YVNd7wjD`tFfGspQ?pW+vP?bp!&_-NVTs?*R)f(eiuvE_*Tw7FL^ z5CH`2PmS;Y2A2t)T%d4C97d%sZfFz$gXdW^4mU<3PzngTSOflJTN#Fj=p0 zFqz=VJMZHD>#yUZfAc*Y9v^{)K-)D?#x`68_l9-(sr76q#k;4Eo?{;uhsgOeWeX7` z{XKwY!#?EQ-SB&->hPxWh!OvsB6AN#AE_73Pz1?WUnoZ|=wVLWK7}?NbkkwotN^ke z1A^>a?sPK2*_|VtU7XQH90%q^V)c=GrzJ#3XI(8+3~sV{FXV3*=swq_ATkJjkNNY@3O)LUQS8x<90i zJ|d+18~4q>!5@{C6#5+odQS*r;O4rXWh6ML)P{>b|XO+pc6EaHHah8 z?*l@BJ013d&KRh&z$;H)#hrV1(HU*skYFXEUrO?vH^FzDCqDEwG`G!z&c)*_^$^$@ z1IO{Pje)pb%zYeTw(A&&KvXK*NV@bpU>xksV#~ku<47%0##Lo zYbJj`z8Mm;@NL_Ug48hsIsf?_A0MMA3RG2vlamu1A0OlJ@DOKbXE;4Q4ac=wt+q1S z`%2aK0iF9W^1GPweO_-L6^T*`r>CbNBFtv9L6Dv+5yqZx-|J}~nfpFUftWa2E?Yc% zwg90;QA+3zXc_}42?x^>2L}a;QsV8m@8RsM!XJI_$M~~9dxj4`y2j!32#+7!h2RE? z1e7T4+_@4c6gl-1LCHw*O7S^iXwnEitd7Mf3yFhig*z8hh-L}1vX0)df!j7n!GX|7 z4S$p2#X;k{EkFB|w)D@}g6yXdqen)`j88|5wyy%q7^{-o7XACF1N4`EsR#(9V0zmu zY2JyVh~*lY1BqvR5qFnOD14bs57faa(>vOU;V6R5G8@nu*Uz3~es%36!Y;SkZ-Bx^ z>eR-d)>hWu8iUSQ+n)f^z4RGzCy&DXcrQ24&IYA`Y*U|*GN{S9%7V}dX={+310h8l zurUTjS)iI!uKPITbkR3ntXW=fxZyw3jv1IJJinP?u~^|3zx%gv`pRQ`2w<)?j8ayC z&yVILk zWFV-&7C4Gh(D%nTNd56y42?Wt} z$OeOun)Ge6^fIh6WiECkI$29yxYGJbxbh62yj+#zhzU z#>M9Bd_OWngL}C*YB4U>v41YZCR)2uPAp@un;+t)AJW`lAGsDxxQN`?1OPGY+D}1+ zAW%pJ!2oH4Qc4t3g|Q|Q0!3LssRC_l^O(D~wVaK=cD)@Y^}Y|@TvQO*u^Lxocd&E* zZP%eZJjBDtuUL6IqR!}-k_sX8ekZqcjOOf~GNkkxV$ky$=xwhPGu^TC_ZTZY1dcs( z8_VN|uG6s@_*m890e*fj9{SEzF&-?B0sEo%P}eoCuC4<3n@lDEfYoY+#bN;|Wypok zf%#-I3A5$7WBi!o_%^ob&Ye4W`t&Kz&(DKAKbCp>hRw_7ln=4r+f3?qMZ=9f|GuF7 zwvO+9T^B`xlamtw2y*vrje|V8aBM9OvFN+hF1G_g{rUUh4`1NV{%m2L)}3<8`xyx- zP$+@PMB(J5!gNxgswVjQ*I&gqzxgT-rzNT<6YS{#03ZNKL_t(S;re=ku5PhjH84#J zVuqB2!liMDzBk*~xQ5X}r;vgyxIdUwm{b*3ix~>NL_ulN#vu0Kj6e^Z)$&W@EQ z3`eBBjD&r!b01Y~@$2?A+Fxgg9+3>6Qs~*fQFewunUwz1VbFITK;+aO3O!1Ss!d%e z!rV&yJUKuZmQ(gw>ha^KM;Rdl976_B`HddwJT?I!!%%|2O@phCe}ZHf zg?H_hST`-!E(5*M2AwmA3&op{qKYwcd}ByJQ}2FkT&z|&yVMtSlmWs7AVvy;q=|ue zwzD^V@=;^}qpAu>N$9!;%sO&E?wQ=!q$}?JdqXx&fF{Bc0M5?v>et?d5rk)ThbD=d zprkp&F-Qf$fS`y_GBDK|_oc$ujwX02fxBRo!ZrgImB6E-z>jo+_d4LcR^wx>u?En> z=Uh^VL}GUy4FjwcS^zf;oC0|LYhTCR*IvWrU;F?M3k4+=gwX)>*7@7Msmnny!8tpa zq8%4;6|X`hATX?R?oIrF-Ge4ElbU9Q4{Scnk&ApdT8LG?69;4#`xV==Rab61zwSS?pruWPJVE3DQARZ&@>?uu8x z-i%J0Z^6ZV0NCbD73S@%_%<_`c<%_^b$wuY{OBbA$4313Y~0bpPffW4`zH+qi>u<%_oi{r+P>Eo#!Pg2!)hZEAGr+ z2-Z-|Kd<*s0NVi#W&?&Cyh4c?WDI0cLJ9%uI*>7TjglRqVPj3`%Ax=fp>12NS8Fs) z15yG?NoY2)WGlUoxzEcOCj~XyHgMY(Ac04Z9^;KS-o*6a0PC*(L^8b3g`L>5F&Gy% zF%unwj4==ugOMR=p-qP1L0}lOjlIi1?JT%*dAm1i%bNq+W_si2P)Y@sdW`uWYZCa8 ziddbnt6;C|8jHmuG&SnF4ib4Uv-eGp{J8zBw|9*9*OEU6>-Bo8nb~T!f-wfKyz&Yj zJa~Y+ckklj;v$R*Y-eD1v)s4MH{S)ohvxqGackd)bsuXE42@>^&qOJOp(+N)9>&)BJ`sQ0?|bPv*IL`y)$1Fq*XyloR7yfsNtC5RRY_|iCxD`mm{ba7 zDWD{9bX4HMqf<;P3Daumx(~L1-xO&&z%4L&dLH;{aNip9F7GNKwbfX8xudiwEO|e6j9; zri&7Qb2`t6aSNnqlbP{`VSOq<4>W`jFuH?~0tbgvJ5OXRAeF-YJ5js#lzeC+gmpjy zq!iX#W1$V+{KcQg!>@i7GXOVr149bZDIEy3p`Y;o-#8;WG7M=LQwA=i#C;`kUjXM| zNT+5v0dOGfM%)#^ypXt>>)`NcBDlhlvLZ14=2~tXPMxYavKr0TGJ8q9`Fq;_&zYC#T1_|KJ|lro(JD!|Y~;`D}*O zVuhw|(6siGv&D&Y#lLXJ9vK$UW{V=o+@pqGIwwBvOF`RQVJNo$!^_>qcwA9ry#!3; zv`zt_=87LS2F5wD4;EgWy2z5C0C+m?0)rQ`k~t_(jr{uK=p&k38AO}surF3AY5>uO z3?GqFf+#Yi^qZB5qF-DCpwrq#@K6Bn8__TnOW&=rWGMv-A;4Ng5}*XRZ$K%5vMeBk zK+`l>t=8yVVuydf#w$7~a>Ga8{L^4`#-Q$6bVfrcg{EzxiUMEz`q%O1TW`WJqwP9K zRqPQ}`bAek9GUR!2OfuVtn+m-w)dnB#q_`9^*I)IwhNr(Yuq;#3fGj0-{%luj*r6w z{IV=J4A*usmvQcO=?q!-Q79N=f=v9*ojZ8(;zeM>^Lh2L_un*4@)`N2ik~0%KtE^f zo2J2czx!Q0e*72*2L}l=9M6)Efy~=V)b|DQyV&r3ne*Em*KPhL_arEa0!K$jU}juj zUvJGxk3Y+8vh-~u728Zz_W|d|7}Ry`=I863pigVYa@k?I>=M5d04NKA=~O`}!qIVo z*}TPr`^R{2{}AV|RA^T%X3ytXTrXj?J#K9bpegb65kjC)3e)KXg;eO6AiQdfHzCYE zs`EH8Yu~$in&R_0^2W6P_I*pQ)}Nj)<_#BjZGidO?3%9L`n78Y-Cti)Dino8V?M_m z^q1~sa0(8#nZw0%fk`)HgWbZQoRs4kS|ExD>H#)5j^?$oSRvazG1BU9XoijJ_7O?| z&Flt?%S#BuD3yfdNLnZDoMERmYOT>Sqt*tkvESO|r2A+zz_T>Y7{-B&c&0IAYQn{$ z_3j7#8S@3FW7cKjL~Z)_C5GqTdZVW(57nJ$DS^WS>pI#sR=VtC;e-@@6q^@58U`C3 zIto%sKuBm=V7{us(*yj{Z~P_>&(8540PT)dpa+m5ssV$HI)DrNYLX3#w#G>*alZu4 z02~BsWrM#89HJAhp*%?vcR)(Qq%LX61)G?tkjCIGDmKEOp`Zw{tfBpwx z){YevZoX9S-rgvk+9l#Gz%G|U`VTv9T8Tl>!#m;~QmHpZGIle_W~K#lfBhP#N)aSL z&RMl*-g|fKFiv9J_10%1fLWtyTh#T+-7u`dq7n+z$pl4F;^N{A_wQdoYmLQxiREI6 z`ON~e`5bj!qw6%*ZSB+u0+J+zl*!Gp&%ov=nZP0^DOEOKoil^|9x@~qOxcmmQGweQ zKx2#tvKzivS@>%=HF$HNQJbv*DxNRT9hT$A49&u(1^-Y)oQO>CI22Dq@7Fe~diQ+J zOalCjyqD7lM-gv88I@VO>+Dh^6Gg(r5tH7$&uW>70VRaZItS3{4uue?q_m)25~@Pt zU^;~m0_)WZZPVD9NF_m1pflPkgaBs%%E1BHUMsd4*mfG7XH*5DXXBfH4N=F&pXU zqlds{E-lVkO(H^7RRPfE;C>9?dr(%EC90}Q&POc0&%eA}TnLdEz~$h6%!Dj&cEsl; zeotN%uv)Dkguq*Gy@hXm>sxsI_%SAv3EH;BYPCYsG^4ZYy9~$nVcNF=<6R8;ZDj5H z9N%rg`B;>n|MCWUUDshgpKq+yvGW=K_fTrV(7gKA)RQef4gR}rTg+xN)OEerc^ET6 zwGQkCSJ!JWfRCRo@xccRJbbXkY;le^zH*L-_m6OVGR5UbSGak;KvTES8i^!bkU&{V zOePh|vVbuJGWK53N6^yVfHs~t=UBj)?S8jnqerGgKh3?FXuspy7o>ktj`5#}LC*+2 z!;Gf;q|Fc7>uvhOYm}bN?7oGfPbTa7Bnz69t8IeydxBlAV5e$Rh6hFWl})c2w#dK^&*#L zz_EQI#2b;YApLr|#_1bx;pxx*J6Hi&cK{r)GTe)WiPP?8?i)y82-Bh97N=E-L*+od zu||CWLvsgBr4M+s4*1$Qqcj)A6tCt4q_Ud@b0_s!We_At1GNlE3DV+!L*5e*x6lwyDQ`TlgyOg7JT0} zc5PQt@Bh9mOB^2`hepUyZhhWx$;UAAYazZy{QcoJz5@9#f%v{`?15`0@KQ{OHFw`1a2|!W*yO!NucqlvROeA6}zrSD_ZQ%?*WvNrkE` z!4PQC=iYLJLlF6&&>r{VT_5m#`1Fhb?qw+0s z-S?Nci)8fla{=hX-EtmT9K$m9^u6)GGl|&Lyf;FKv!7!C?tbaPPG2N*R1BsNFEElp z2H_b;(X$>AGeaaS8*B^?rV|`=E!MLeG^>?${Pl&u%j9MvXok%{Z#C9kht@g%rmhYS z3{nlDBsQ$kt_WN!R%CNdjH*lf!qWi!x;O=1=z z1wtrW3!v>x-}{U$3qop#L&??_9c-*D%db=^CCaLTne~gAvB@}6vV%u`lgt@C9;YDB ziiUM65}?eH@dU-f`HV42Zqz0+QbU#_of*DqZP3S-jCnlt3)nhai)5zT-YnxrLM#vK znSDV3WZ!@Y@4+~=iWD}rfGk*Fu3PYuA*DiDRw#=KQc4^iPH=Q|fbQ-c)ax2eU1K(z zVYyhjXtyQ0u0x?J6lH0fX-c9LMUZ40<7TCK(_9kql|WAAg1(vOo$Re+Cq*MVFUOpR z&rphuF`Yabt_KwqprFTgfj#pomylc#MT|vEat!SIwUEy9diQ^Uo=vy!zuza)WC_=# zquk(gv%xVaZT28R+iTi44cHiG$U`A-*G6FWBQ@UT-sk0t(1i8ZK8GftHX1|)3Z;Oq z1&o0b0)>=L#lw)o8FqPA5q6y#7Xzr7q1nI)=e6OQwJh8ijUeboLuk=*Y~+?rJ=%864OrOx0(U^V}m&1PX1I*vUXVzS3T-!?E9 zgO(viIR~}zjB4IIh+|F{iv{Ys-T>%1h>wlwV)yn~Zk{vRL&vmUuTj_a#`6!I2R~!) zA3J8I=MBq_j*bFQeCM5a@a=DZ8}GjRE)EV3uvjec;>C-=rj8xw7$AO`8S{PO*KPx- z_m#A7%N>8&pXET^8}^-?oP^PZeT)&~D8sxF>VFsijn;Z2Sz(`Mh;Lk7U0rQ7a&MD3 zupC6F+6Qpown-sk zMdIfP&_7#2LLB`>sXHw9(o_T%D4NN2zy^`jlah;{g0!aJ>}(0RcPn zyuO*?`9~k3ZEC2DK@oP82u! zBBsP6qtBmZrz%3UwsN=X{PlWiA_z{E7yYOY4UA3o<2<&BXuH^g0hXy<4;vfL zMy_)xh27tE*FllZKQE<#Bs+&LmGwE$U5B=9?ej{3uIqZ{+Y1V9

    g9)qK{ZP9hzhWmC7uKeG`5og!e*H|nT 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Π(u==)uk^@*P=uUM2d)%Iokl{R0BO>^DV+` zna(p0Jd=26^JNY#xfPrO@wba=n~zD6{bZ{IIDeE?UVL1VJ};UuC-2(X+U92-5v`eq ze`s#2?W}5fmfmsbR(96;&6H){%*H4#IC*!tPfe2{_AO@}Hi4TE=6l$H9do}vNk@UA z-z&FsWQDMQ+4aXWFJHd!sw$3Xq9ri#TuQ%Ph30yCqA?Viob&COwk=^%X&0=eW$_$a zd;=b8KNoc6|5L%XdI2^3d}=aezTTXriru8%VIPqGuyAur@@D3b|IRkYxi6&$$jX$=%*}w? zRRIMw1Oktwl0_Fr9_RGdm$wM`J{W_QZkyM728(Q|Y_^cWnPYXCa8yF?zPULVSVa6h z)w1(ccD;PvqAJH*GS3_Qc4z#NOs;Tjmi_&G^5kKMnio%=^~N-O$LBpcbwC-Q8?p>!Y2m7_(HfY2Y?0UsnN!{1peZoOk%i z@~9yuMtS(!jq8&i8<@vRawR?M1H8Rfl}mGYfjB@ zV=!(KpDtNy17h=@PgUA_CPFr-=A=T?CB=xGQW9(K$DEhpdRD&g{g8m7ayH)uqRB(K z2ne96>Fim8k-xB#SdTGRhjkiJ2-yy81tg+Jp}~vmGsd>J9Os3!S8kRcG#(8!-nnuk zL47NLckd#LAx=6~IM<%xE{hi$8~H#I6IWD2!`EmZ@awQ*r`}4|7)y>~Kf33;B^%)n z;e$Y8G5B{E)^Z_ll0JP3q^2{Cwh$=)zPtYM#7a!m{z zJ7vBS5bMa&QhJL-=D$R)DIf*RZfZ(aqKuyWJsYE_sIFz$6+8?EBg75vVyAuww5RsR z2gZeoGr|qEjRQ%;i&%I#5D$yOmd{h$0796?=^dw8BI@eO4%ip+_~EPq9C}0yP~$JA z`Kn}Fn-_X)mO7i}yR6ZkPEH?}W6EOIWP--9AzM!IX3xOf__m)O&t!qbCXGcc@5-L% z?g>T~@Um2TZBy>RxsL3NR~jbY9G2*$ZQio{^LGDy4YvSDSW*^ zJ!Hj~GOhy@VYI%n%GV(((B%@azVSNL%WzJH6&r{dnBG)29j$RGX^7s4P3TL##)1hf zja*Ix`cj9BHGk5yQbs$HvBKOQ z6pQ8eu)-Al&5BWqJm(x!@&v6ju3=d$?`VNI!W8>fC1091DVy(epMxVDgA><=zKh8Z z!lz@sn$Eb)P5NSn?f{||oSHb`>BXNA2t#FUBE3hDt)4!wg_9;W#hT*I+|Ro%KxHSF zzx0YKEjib=Wq9@JqQLPRwM|M=uf)f&`cPN06Tp~r;I7=FYV#F6cnUf*jZxyarj`VE zJvp_^wtj1>>4S$tkUwg$k#l-PsjG{scG+x7;ViZs1vaBhVVK|wBZmr2g_*|Th)T>c z)(f<;Db@zJQ;(bFwNn-Tut~g0)wz7)r`#N6I=h!84GK1^wba!IK(rFcLYVnWnNE=& zoy+>hJ5w}UplaS~7fQW8D!g<*{WuBH^Uvfy*z@MZba1AGBT5JfX3N1{x=R?@pAiHg zYeqovkgQmU$KwN>S0=#yEJbRVn3|p(S~pyJexe^@aejseR+0Ptw5_~0t=)PjC*W2K z5~Reb0m+(K;ee)=urozrYU%k1#zah>u|kP5P>KUk)BQCC$7fN3G>IgsgO#2R3_yT+ z>;?5vMa7OMS(rqCIfZ0(dUz}2S=wrDYQ%dCuJg^PGuHG2{OV?x7Sd_H(ymg+X4*|b^=3d;%qIz0Kjn&u=61p|xy|1g3KHorYboGvm zEqm62n*C+B?u~PqY)?xoK5Aal&4XE{YJ-hQRBj=@Dl%<&s5W&Q9jd?cz_lKhN^8l& z_w83NKUH9cl;Jv!3s5xel(Aw(AwrqmgIUV>zz_g{X58NzVG*Un-X?>gb96kp`3mLF zO5V%5U#~BI2=cFCmf2r`b3paP_T3(}FDyc1@Zxve|6=2u*nY9V3CCuWy@X6-(;~h% zUs67ny~HQdF?2K8^!m9H_qI-uQBZ&9Q6a+3Q(F9ol$tr69w~q#G~1F+xH3-YOkvV1 zWpb@*mJ>-}NjS++S{>JTpzTjprZcaNFfTyn1|IJL-G>mE*iR{IN43C}0wdl?4xA&0 zBnq{@Be|1D+_bD;_^o%Pb1#tCwye~yQQ1g~qKhyp;)2g=MXV;|S@3j2ba4GeY{fUE%2c+>aF_n(gsc6w^|rUT zq~xqf?DKOU zez(3s*OmZhz}AtC4aLJBzqX0p)E{kMPas%|Wpxpv%qbS+d29!1-1cdMu3Mo%RhB}FK!EI4 zT)(Rz)o$`IehwSHB%r|{6yu=%-JQtsEI$S0B$3n!4rQR~1ot1padbR8NY4(1(DI?!= z)^W;YwBoLV59N-&#ZxcO^&;2hw7T};b8`OP$~AY&xkO+giW|c8ezcZ5YTK||InwV6 zG)?XR+qzEZXq2S01M;M(CsNCNUzyvCNH&~sZ^gHLiyw>Nr9O+E*zgu(0SwdidM z=5Q4u*a9pPKD&-ir(RJ9Mii&ILxDOKC^GbiEdw7h(uB9Efy^ev3df}m_TE~>=`$M!->>!3FbmAKG=b0xvggjS!UG^W1 zG-WjS<5Ym;w^xwp>T3JKx}*X9*sj<1M^Pr_;JkJALsq%rD#=CHc|FNBm-*_pMv5{^ zk`18Lt5zqy@R#IZxKce6KlFRGhE`4H$*`GYV0?yIkoa=zv6_VZ^uggNrCC2simci) zyyx-ij$^C07r1^5*P`X`IVyBYVwG;J?-NSA6a}~YU!+m9?M8Lqr?_^^$mZ!JWqPdp zivv`EM63rL4uzGIQ-Lwfyo>=%(bSk{l_{aA$Ye&}KXru`(^z|=E4$W+*DPN|f#&$! zZEp35*Jq5XH!V$-ls%38o?za{%PX>S+5MN%w#0BTE8tW(pDK-PPb_`ibh-(;yT8AY z*7w^zzPb6EC}VDD8R1kGZnC^{<;l8eV-DzsXZ77d(^ot=kZ$oLM~a)04DDY98#SK^ zz>_L*?7DWlVEXTSq#X~`+6b(X(AX2Yrk+5WkSsvbYu z1RNMJ*c9jmh4i>4R9A~a-Rm_9n|5(lI&PI4W1cG$=zOsO-E)^S+oNf~=$`NZI|O#7 z%Dc4&L0J~#-Zn|p$XHdq-{(6Y2A7Fzm;dTFqQN$phE6ol=n2H?=n2d2O(rd-)*OOT z@n#Pd2cyqPn;vM}wFCC1Fh+}y-6NnGG9V{-u((?odpd9gt41^RrmlcP6916>tZE`|0 z`Ns9fL~)xWnfAMHa>!`)c^(1#`K{3??RE$w^r4ZHSx(7%v;D4&{ErVyQQWFdF3N{WZi7|x^8hJ0YeBd>#Ve*V1L^6?^Qd#c zgKj9+21`|$XS^k!Cc4)cIOt!~rA4N3BB|5mynk|k9ElC0gE6_}c2u{u#aC1Fl1t(k zC_dmJ3@QN$ry2cXN}?>W1Z-N`5>Ik&?g!j^Y4xuY>_hml{ASV3C9D`xjwD%MXI;Oz z5zOg^weC+6$JH@qQ5GKqom`^jzQLEHhczdjx>a-c{Tn2tiFb1vmTM62_>o-?fK?J` z+}J8Kk>vK;32JLRjgF1IevV=)ET=o~c)|x_!ev}`G-*Cma|?@bQ?lQC49hrpL_qE) zb_AQr@Qa45q03#oT!|FbG){@Mfq|eASfwnPHbu7An8nN6OL@5kwoENki(a8vC11bV zHS||GjcMIyPMZ~=^Xw}Slr~pEVlrsyM*#d$()hk~u?j^JEfOTJx|(?XnkEe>LUSO5 zK;`UDt#f_r7%FIM3mesG1Ylc_Kj*Di(z7==ewRv@vbDd=;WKbOn*jdk4a6eoab6bLzh=+*FOiG$N-skie5ES&1+^`ptZ`&*b6e1U2bhRvA{5Djzbcna^>F=lZt#(-v zZ(G_lY|tXGTNi#qG`CqV%0|CavNa~1^uOG@1&NK*WJIhoxchqBl$k|po#S}X#pN6d zvuyRYN=n5jZfVRpL^}VFAgD91Z_rcvX4T8A^7&Z;x3tws_N)TWZ2sM03|#o`(~zwv zR8y?=` z_q}~v|H=Fk^%k|)Q|!v9+83TguojwdOwA@B?Y8ZAbgfDA-5($*Aq+4w^`1<6n9Eo7 zMTg0WQvLF~g1)fNIek@>#_Q8eL4V?b8Cq$3pbnF3XO@zyv0e~RRm<<2-f1H0)y^tq zeSr^{7LzYxxrSI=vTM`DO=y#egp%47Q}%wpLNlsK5?hA}uudRY5c9i6Ki$r-r}X%| zE1qf1b>M%bb05Qq75Ch{%ip|^58~AKaUd1?f_x zEP0r2ZZD}#O#X0YJzF^@Oo{~>dyD6CA?Xw1n3~WG=c8bn{!I~o4^(5$<6yZhBR zvZpC5^e}FKXEUO8|5_388gPVKS~h2tFx<@QZu;bdF@S`XzyCHYwsqxfw;_H1JREF> z6y;<{Aa?M{=>B5DkW-P;MrF#^s+nT~9i8o=D!W$)(_oThAKkJI*!LBUt7WL0p`^rV zkpu_BsxAaob5{3vIN;86)k-yHxg@hf&vD^xZq8jNcy(n5yQq!_zmXrnT6Wxs2$I6x zY9*44Yad7%NvpL*R98PdKHeV+3L7$ItK>EW*Er8p06C(~B_NFpcs!k*emTBpo^sPR zm8JnQ#ebg8J6C1mZSE?n@NJgrTN=a_X@Kz8891&0YyuomB~Ism`WQcCI?0Ya?z&iO z&85?5x1YpT`q}>s9XK+@{NLUIE*X$AMh~r=CVqN+1oF$l!m?6}seONLI2vshWg4`< znt2`7{z?r2BOxQRw73(u=yujw0FB}RC3b>qMD9O35kO(K+<0neY8uUql%A7m>}mOa z{mxN0Y<3oNcz4U!+8Ka`UA?y1U(fs&wOOx?vR!U$a?;C`7ZC7Gyxt#Ub>D_P?|S>F z$mbcK-S)S}cYv`dnZ1%~K#*^E=GK}W9~t1$2I$YSZGVhP1f}d2YrI0piCE6U1ZHa< zamh;rb}I%Z+4x;-1$#H9*MY=Sy8k)c4yRy*p1wF4OB*aM-?QXF86(Ch$pyi$tXvBI z)}Z0rY5LAL(ddGtbv|3z$xOudvl`&Mel!xALCX;ejn~<4t;@%a;Eq*S^xmUloIT`ov*Pd=_hs?X1`g=F%wt6wc**Q-X z(~V8FIcBGq8^H%#5()>~RK@4Osg@@A?^GhQQb;z&7l(pk9O$4`5+t8iH{TdwGs76` z7&#isO~P3aT1Q_OQFLzzEdm4CHX!ew+`sbhmmAZfmO_s=hm?&49t|%_^NYaW@rAz6 z!Aep$wngU=_Qs}ON-pTtUy7~golUt;OPy|EDoXvuABG*bR>_N~serrgvDTo`y?;l( z8luyNiFTRAkr_4bFjBEl+@}$^Pv~nA_EB~B*yeO?D7ETTF0ESCDbgL$i+?CdG;9Jh zn{A}D#^<=Iy}+zcx^B@FXnb0G4Uk00_p6%BKW)o>mP7O<#RzuFlKtUK)pH)J#TQ#n zqm_EgyNKr`h$K#$PeUWJAsvAqY9X@G^u`!Wl24Nz6k`YU!5f9I#$uMJHK>{%nt=*Y zVeVDPU`|H&?xSL|xHW073-P%C&o(X5?1_JZCk^r1)=TG`-8Vsc1I1 z1&9IYq1o3=#^uBLRg9f;^8;<4J`pfr%$@2tuZH7>MwHWel!mEn^}6*BxBdp4S&S%W&FY817hE99Ww2;Q;EKor%qTZeYE| z67oaUBe1koEqj)*%L7{HZB?^qJPM@_NtT(}ZcR&@O^@Aom;A)>y~d7ir#YqrW2?F? zJ_+c=gx)8j%4+hE_CkJP@D}%9y=|d+9XO2Dlc226?^TA!-b)GN2slLL7tmyTPoYAL zDg^pR8$U$`8f99Px1RCGngHizdASh|Pv^P&*8bEIZ1FNnrxLIUm5>f$f>ALa6v)(kVZnO4p&fjU3_O$!4VSQlP{n--g`AP|AqJZ zcuvyeW4^U3Qer_yWh?AmYwEO(Z4gGK=yC8IBLOBL{t>0bAu?`xt`rZfmw$>sZH`PK zifd-KH^+B5)9T2@zDgXhlUz9Y>@PCI#LNx9_^4=56*Eub|_fxY(r{S$THnvc|0)khv25O+fWHQ(xbkyPH4h>U6L zOB9hDoU@9`U5+YwQ0tZj-P3KIt+VBw-B@9kc-B!p)$jrawhdqj;oT5p#n#bRXyGJMI>jXm_*qqPEaD>xWBIsWN~GuDU&Z z2~stSMdhB8Vc1ZeFvspzta8(D%(uEcaO)Kl7un|>8KeXI^1Et{*JSqCf8O)pBfwrk zbkzDWaAU0n`R+h`{jO~OJiF3&`UgL|nSZVuBB>M=dUR||(#Y;Yhq>UjGuwCmr^`|v z7KV!#NrBWSKd4HM+_1ZLxI3?P2bFW{w`GlIvF@b0vK=bL*;#hj6)66aYj3)8XX zDz&@Z1mvf}HFntkc=5jdEx)8ZC=JNtn$)r#r0W)Al zBtqlLmf?s#lbLfcTx%5@H}~M+0XM+NOV7mUaC(%&^lX#=W93>C8J==}cUvXmP-44D zqw@<$xSx69`$)nx@|ZeZdrP|*`8~o9aavlexn{ppgo;m}x*A46q*BFG(J{8&(HU}j zUBg4@1D2eblg`iT#3e@I4NgH<4XWIIA?s^wB|p*^iGHE;qDCrQUa`z6bgeCFJb1?_ zSyYYXWwLzV+T!n_%w6{}ENUH$wUt!dD_d)py6k!4?(2Ixd$pL=(b}37PbAA1C2q{`dO^p94sg zZZL-A5L8(vws}-;Yw4R*i{N0&Ge}bu@}u4ff>6B@P3OdnVnTPtFbT>39iS87B_WyN zt~G__sCVc9%blKaS;KD~(udYqV9Z;IwjG_Y5s8fyfVCME!^Eous!eQto)QsVQpeK>nusQc&SeIXoeTeO)N|6@%{+=+=8FWf z*eY6>Q8MI;SYjCrb#dW(nE&R#w~G-)1m`~ZJ~%(hWao~N}8TA=e>a+%=2`EeqG z$(2BuRQX4**3S|4CKG(K#LMsU_#|R zNP&zYE~?Ivtd&#MiIlUNr>qBoC-`m!&yhsA#vw)zLWSWTC5!P2k|O%wzww!c5joiA zh*Dc=%SK|oxfFdTeK2pCOn4F+8z?sTZv76_L(>fYcaY0jbdXd}_itpPR{&ajLCAD8 z`oBk04N`8||If;#NdCJ^vHyRzNEYzFK~OKh3P-hWj06Y)LghD9k7aGHGHwAvYj4SP zq8zviF$J`E6{BD2>^{)y^fe&&tg75f5zL2m(uTCfzJ!hwR&bbhZhih;Qt)r6{Bc#Z;RQlK- z-$@_Q+Nqge*s*oHM@Dpt3BDQK8C=|47#-Qg^gZfIDw&Sbk4Lw6*O8Aq8(z@5-JKO4 za%EKMijoL4d;_N9>Zo5ZPw?}gi0{XdCc6f~1jCIif1&Ywh!*1YJrJdX1u98r<$;3d z_#mQxq>?KhVp_b>MM$GCC}d{Ajnn7OzrcII=-Dh~@9Ng|PVEP**&VZ2N!mn1{O^~F zYLGm6gDpP)IA2tzlyNmZxgK_YIR%$($$4Lzkg@|}NUB4#FW)D;tn1|m2*Y~m<{XVy z1q#MEU@2X$D1kyWJYMv|fBq!Ol--YVAoSt=K1~WPD8z;TV;X8oC!wWNs7tpg-ngkM zHw>jdsTA_4BzhLg7em9qUbC;0^J&F7Zb!{pJNZ_z(olzg1Dw=|9l9;PG0 zPe13Lr?uevatfYK;bE+w90N1oibTwXO|TAKSojB?h;jf^rywQTy4{3sjs)mKlX9o* zMaF|bXwHj(7ti>!&Rfc3&#rfrh&ZVLr-I+xd#I5Tw?io5j8$mmPmNlAG@epyO03HRWiWa$I}F3~&F~$!XEoZgh}* zsm~thZ%+>cDJi92W&hG7`Ax?K>%$A2LzMVW{5tSjtNtS6<=za_!{gq$lgExH7Jk%E z&NRX6Izm*`%LORmydQX(R5dc6nq^XT>HXr=VxL$)HI*PgO%c0#bkz3pE=R2ph#h+XOHPQu|THZ^6_kj?8wdcP(>y# zj&!Sa3y(C2ynoGL#7xd`iw+rKjg;efWE_8@df1!ll!6osHC}J3|0$FYSmGgh|N=+3;^xXT{WHF_Dz$?t*X=l zc4%_-Aj2-W0053=UZ*)!RAjF}iN_`2<%%ipqGl=>8={N&u1r!Wk77jR+u|(hgTdUK zF)h~~v+5YD6fEt8{Hrl_JW&li$VTC*!$~+xp-8@XbpQfP#K{Lmn?6JgjlF^$n`wJi zrqa5%u1LZi?VPYr%Du2prHG5L`v6xGmT~S1yYpEVoW>FrMv=D zZqW{gGWdoXZm`eEqFh+9Jq@{mp`Gp8dhe+2AaY2`?tA_Ws3SsvU3}Z1>NVZj+WgG6 z`CL?2wx-gWn%A3J8ke@co4lkC*Vbm|V5JRMPzh2nfwd>FA{4-AM|P)c>ugBpS?M%t z*)tbzUQ`AamF$?9{Hx*{>|Y)?Bxm*+6Y*AuHh!OjLk08;qb;b99^8Ubk_1aRom0>B z#*>zP-c@T*AZh#JjG#>GwhnKF3HIq{17Ir=R0=OiptvVU3LTd*|CYG)hx!;M8XVZW zVb*W(qIj&SBJHvg*h`q5Uz$@m_ST=?kA{o@c5wy7 z&-{((!GSk~^)au1_FKtm6UMZ^baINU_noEIMPUU1*cZpIloZvj9@;;Jy@@+b zgaz*7pFBnZ(*`mT%Jl=NASnI}>ZTXwMP%=#Q%4|gG4m+#h5rRM-#m$EQDJ;1O6$|~ zKN$FXjg&R$b&9TAX)7*9<7x$RjFg)TEaR3`sYF)O&DE}apFCzn+Y?t7j&Eq zJHX)h+fzI`Wi~!bjrZ$kg^-BJ7c)P>UE1QCI}&;79Bhp359DP3{sI7=1;aC?(b@5j zb4rCC|EQH}{TQtyZOWLIB^C$H@2x0oknJ=TCCVB+?eaDk!Y96P=H!ENVHriEA5`RJ zEJ%HZt(@X>e+tWa+zio&-|2DS%EVnnS(A14`urajKyY_^Hi_@EL->BbzM;;zg2pK( zo_yonJG~9Y!`s4(=l!lcG;hsE)a< z+XpTO7WJh39kAbqO08@#3Wxz{w+ec92zTs*8;L3@yZ2+QxqGS10BXW{0|kfY+5TYh z?pEWwj`HNRC&p?Kk8kKM%3H+B90ZBzkw}j>7edQOriRS6993`#%rZ2cW-N=t{gaEW zf9A;^w8t!_Peo|*h7R(Ptm15yRXBV0>%#z;_cZ;B>p$^n=^mpYW<>%Asrym zI`P)q^kdw>?DB;e09D-xJlMkKKA5yigfvXs$7e3cz9p^q(=j@1Yrb*$)ybR(*fU?u zG!g3&{lHtSRGegcfNH?U29`zG{U}1v_zUfWt>QMvCk%mCj!(odY+iJVcH082ZUSLC zdc{Dol0CIV>*2t>c~@P?Y5VpKjvU~)u3M*O>-5$G{iglHayR!T`P2P-LfWfNv2h+l==rw zMyK@q^8&vwZBy~1xC2CWqY4|*kumf0K$w@bN$=J3S-%q%^RCH`RytW6;8G+;XY{F= z+)#N*ALB*}2NWfcSr*ZJ5kJyDB|SrvK4_Ji*Xz2fv!2;!ipR|@Ixjm91oyUup_WJD zMHS*OV5=W|p4nrn{dJ)YS65$u!iG4XtF-(@&EHqb<`FmZfs0sk zoY6v9FAqej)iBR^9eSI4T$Es$2QG7eL-AuR*rEA0U2`Q=SbezN&yISAuwwK94CMsJ19JwTu+-|@dJf+}+S@{+M6&cwq8g5y}US4IQ z`3WYbUo@AvOJ9-&DY}X=v)nCB2-NeAx`u@#$)^B+c=8zy6%{^sT@@yBFt}_ZN>;(qIfv~U zjR^EySUS>iQ0(H8>g+}FxlYAY6Kowfr*A;SW3BCEFHeXEnz!Gf9ZHMUrIyW*@ zDZC2Wf~!wyK*pi4azkwG-Km#kutyA9{&C(>|D)JvT(rkAh%Rq%{m0y*XPDf8iOSZ)F#3+@DD(xk3dCpwk6e2$_)O5 z$IXZc_wi2g-dl<3m`a;If@nM*CtYaV#a+J+;aaQjgUC8Gt)ooTOzHSk!zs8N)%A>+0OPvC5g4xVFFu{$RPae zH$?O8#utxm8Ys!@zoeD|-fTpG{7xfZKm+H%3DcY6_bsT5QGliGa-3*EL7WTd&8Ys; zS9f$bMf3xJ|96*Fp?Yx|s8Pusc*9f$sp@^b4D!$Oc^GUJ%Cd=qbk{msf4~yFN1Z(` zjqjZIBotC~ZE6fJ=ZP#Kx3I-lk6ti=|A2cB(+O0Hj1CV3mD?}Q^iC~tbptYpDL5LT zfuSm~B2eVO=eQ7i4Z&Ma#5=YZ{RWwhW|~WwNL=#zpKy`V9A;#CDAn36rH0DEfmKJ% zowBoxlD|X3!`I1%w^95&*WJZ}ZUvG|50qU;dh2mS%Z!c`VvdVH?U;B{WKur!6WhJpatH$qfH!?DeGBg_?F>se4&xmU07Dg8 z$9Iaph2{Xr^9*7izJLu*z*PmQQ}Z_>lCMr*an`@BoSg4nxxQn?N69M&!0iiO{7587 z3Hf05hry%R_P}r@{I}A>IE3DVBr|?5*hhtKOR4-!v?Y=C3Kj8dZ4S z1V#q@0?nun)~?CS?glH_=uMmbJ}_CH$~2#v8*QLIGDc#F%9<_f2Rf{>?Wc|0kMfwg zqe!^l1yPevcb^ao4THPZghJhOiEyWlkxD`@pyD!hV$8CEM-c%hJUKB+ACVqf(8tV9 zsBSv6V{)GpvifuD1D+S3G#`7|e<=Q-{Mvih& z7X635M*;9J`8snx10{85-zk#%o9c6k5DJ!TZ z3UQ&B5}0FL&)Y81NmmuKVF20;seb+}@}u|4w|N$-4^i?0uhOv2s&~j1 zaL2tdW|^g3P*k(p#CDg;{t-R&`n5fH#V&~AxNVh_ShfoaTi7RGz-p($nqcW6DN2Ynmrp34m(k}5(Z(=0&TDm zNnQ#k)7$6mgTulkzvmJQ`VkyfH{~;jV-Mg6J~1gPf1AevAz=>7t7B1wxwBjjcafdA zgLKr}`>&{=X*i)y&$=|ggEU2+*KBB_syptvB&naan~tIHnwE?G9`sfkK4&%wkn86Z z)x05Tu*y!@A_ac#5QqWT+p0#Vn_XkYJmJXA{Uoda@=^L&Bi&)|g za!!s0;kmY_U~WlDO3BG@F))H{_r<}mV+-7ulgeIobz-M;(5gtG%s8_0%qgpV4NI6j z!jfITIWpJD7+nvdo>`WAvr3!Xh&9^KH>>KN*&|8~uTRkP{yQx5?V`n9A{3M$(AREV=g?fl+QPTjI!Aumi!RQ$TIblcGu8e zY6fKNaRpsiLLzkUgkXkCr*u}q@1X*SAES#TGX5yk&gp!uH1H%L5~dA_q&Pcb?O5i5 z&vL*1NK>?q-&{Q}nXcR=>%Awt#D;xPxl+>QmE~cXcrr$QoD&K}42P8~MyF8*(>kr8 zVA#b&bigjq{w~9;!cLt}=d=jjMm2%7Q{V_tS&tg>YbAK4yn}x{py0v_l7W|Css~dxnM9HcZyLh6E(kWzk!N;mxFT+SiT|tph zff|@iJSZYR;q0nbvw%Sh-gPxZu4}bmyOVU|67~&YU(C&c@KDS)>zzJFQY#vjPR$6u zfb1v>LH~akRjfymd6M4hcDl1fNr_1HqIa04g>yDJT)C|^Lxsaiu z%`>CQWPfrGWO$`gRII)X2BpXg3-lKo<+{%IEl{GXKdZ_Ax30OF>bu?5Aml_oc*sIY z++gMP^06!Uc&&VEk_%YU`}NpW%x`-JXn%QwT0D*H{!A*iUv?=kxF@E>y~Pew`wI?+ zkVOA}APVPK!ryQ6j)t?31i1Kt_1ZMz@WjVfWdHRC9$p-zT?g`n5GKap!v7dp52tSwwwn>58tQzhe4c;PHs`(kDK* z_Q2q`o0G@3cr!fr43lKfIE>eG0Gdd~PP0Y_`a?q5S2 zip+JKG>DY_VY5~~cmWKXrB~8l!W@4(Y;%`ED@TOgX%8 z9S?PRPmOnK=n>fvlfr(cVC9WVT=m2Ve#kr1#x`5s)v34h<Q%qMR z0`$~bxMo?9EDc%$Q{)oXIzmzU@tG>r+D2bJDjuj_HzZ9KNx|ME^j{m zP5bCrd-Wl=(npNKwcI{t?`{2)GM7O^_+`gxv%S8wgnK&f^h zm@-ewkKLtBdU6ZWmJgILsqsG4v6p%-AU1T-23Z5z5MDKvSwhzw{ZIbg+kT43 z`B?7&VF8`~3HkpI<+cA~OaM6c#~Fjz`zM2jLjR%eFZ4w4C{Rb*vJ1qbOh6G+MGQ7F zv>66br%XM-5&f2OipHkaHL}eht+)R0+}P2#H&}v8DQoiyiJmu&5>(Td;^|X+J%k5-$^7Q& zR{7OR=VqU1RTFdROjKk=5cZ5xj>2SC0oCSwYFpu;U zv`2zuao4b}cc_&3&h`g-(euWCl-x4S$ASRe0-RJ!<31ZXNH?>|f&v;F0z5P^t&Q;^ z+Myg;J5~<1F%P`lHyVm?ks>!r8`4BnnhMb;cA?Mu zBnM3vv#E~a-_y|tBuI?EAV3zq{a~A<3zdtH54D1yT+;p(q!_OeiWjhR&Pkc$T&Iml z&O4YY8=I)$FN$6Zx6nZeREuoJq&A|wAk*ZE{O9vIJb$h(?)`lZnq&$ZU+&K81H1xR z{ol=+EaQlPLpN2MER#u*sGNCm70C0OQjj2@QAN|+|YH{{|QiQ^F@XL(=e*;dao!!5t8j$xz@*OCf^j~cYfJY^V z<$dAq$lcAF_2#1W7rw5Y`@O(P4(aaSF9OKhiz%`Q zAu5IlNkM%Om?`r{S2)eq@LT`0$UqmK(M|FJKn!=e$qpbKlEXMO)mul_GXyg!CT9D6 zY-$zq-g8!KcBO4dkV;&tgA2}czC{?m6Q=zh0S~}Ro3EWcDk@qT8iYJ_&FgBuBhgBN zVfDQD?UUZK)Navk4fS?Fhxk5reANFjO)vNY`(Zd1f+8WYm^HNVsd?(~LT@d4ni&w& zAdMy9549cOw0tjIy}bF@Pyt}j1cOY(f5+ZX02pVD)(QeT;$q^z2{ba7XuzJ5+9vzs zwv;Pt-1+E67U=j4WG>RKv-`a{O$zSu72eZ%|aPHX~r5+N0h4cR>CMuN!*gHbSl>O1%klt z15~hPtcv}t`LjJhpw^?F5{_F~F=fyN^TAawXQjz!MCwSuH@~hjRo>y0~J` zYG>zVf@R`DL)J<{q1X#!r7X5mPSd6C4L0_{=x8FpL-@($w%RhGX?4Z23S#h6Ke-tc zwR$%Te?d28{2XTpxk!`rfUOO|*jTK}A5-ajBEQnGwUdWKai~w70|rb?`QLD$L~U-F zZBAPAXZovhoL=l5*K0XT8#>>-8(!PsY#SEPKy?q?#xFR_87HG(iH=AYOQMq#Q+6p+ zv9N*uH}V`Qa42cl%V-vR*68ogAq!3nGG#F)D=*&HEGa5?!-$UdchgTtPX0^hl7#!O z=S1hoDt{W!m5lj@w_Bo8B?YUk7;kR9gEF zy82e=votj1!q>{@YAoN(-m+flhe_HV@w!*9-qWQO?{utHU_{ERmvG}z%}dNxjYzTC!%6}@#oN9KdcT0c1Dj8PQq8{3lt_(FiDz`{=#Z1gry+HK>&CJkZKbubdoTh&A2zuR6qd4_K`2hk!y z(Y8$5U0ZgdM2ZHxK0E);{Zrhjx0D2Kh#IR z+PP(Q?W%{E2zR$TKop<@@Yr-dx_yL(rORbasQ*Y&V0d_rqg7{EXZ}& z`xKGh)60443SnWELY;h+FofPtmMh`**`aCic|XE_*yhWqcb{nG3S?z@9%kY^w zIGCrRKSgpkN*7@`kLU?>>K0G_RqoD-U>`qcQu)J!e_lG$gzw{4DZy!ZeRWBi9B8^i zmQ?_`;k(mG;4UO92b??=}^mO6CK3lL-G=~1(Jf+3NpkG|Smd@vO%+vuO;qg;2)`ONFyRO zq(&zWbeYdyH_zCazzhFj{|s~sGG%W{ltSXsP3);ec|k*qoYRNw9OJv%r6YiLkkcPw zsSjkvbQyaNKyy@N^Ndw3Tf)XT6%~%#maa92qg+s72w5ul88SttLfgOX=*P<1BSj_* zaZONR&6Z=?;>MA2ESp}$nM6iLzJ5k51seN8LRxG;h%n~v?;x53FN^y=;ElpgqWAah zIC}zgkHYy{X0EOo&FJRquh439bQrRfz@`r9FR$9gLBitDqWZ!Mz|+4L07Z<1T9!56 zr+I*+j)jM_KZ>bCE?>#m(lLPKB4f?@n;aFSWnAF>dq5RNwba1a#wW1v;dAh}$y)ef z2zmDt{hx7u_8(5y9E$sY9gOcOpo9m`!NcFuHywO-D15sHM(13M62+8*g;;7$;1u|N z4_~p~dJ%pwb^aWi>ye{I*SDk{BF6)%UlDCu?u!@zxGqgRJ#k0aKR*ql0L=wItLVvt z4V|p0fhCV<;G=-Szj#w1f?8%l&S`v|2N5zvxQ>Y3UVvpHqP-qB$e=L8)y=gvq*>@7 zk4la-@Nev~U>U0z2pcLjxzWu{w{@~`Pw3$N1xUYmCKBfm6ehcB=^nG_hEHEdHrt8u zSZ;(Xtk|IOl{3+b)9V%a>~MVF!m)FG-=!xS`aYx#(yQVLgbXF8%r`y6=uFX@ zO~=9dX}uQ;iG^)n9u|sRkNHZHiaajVjYEu*)dr;!GZtjcj&NjXGr0tQN0;IVys#lW zDNN>c$?V)lh`g;`*t`e=3dT-01Tf9Avddl{&b)rFgnVeX!Zf!C*Afr}gR&mASyQ$a zF41?c#kEIat*tQ`z@3Uvn?o$MNw{cb6j)d+vKzNv&7HA=9+{TFVNj{@kf*OT>;6FPXv}n=fxyEd$f_Wf&*ShlYL5 z9Cxl;ABZ7KRsnhfFSD9n-&10y3?DUCjUQ=;G_5^T%Ft?PrY1~k9>u}w#KAle;-?A`d0i?OVYHGe6w-N|AMNif`G8#N5Mqzh~(GCR!g?)bLvHYjW@#+d~ z>WDh`%#oEgtIN|nwQ0PX z1oH$(rl3e0`yDB^9jC>e4;Gy-nq!iG1qyYfM)GwWP>h6X>f2ER8@o_62 zzE?^-yhIAIA(*y7<(tEz0|Qz__50N|e;;&kO8OS8{R5JSsgwx@Xk!yH78I}N_SME- zA}3CjxG&HOnO;6;l#$=0+LLt%tfuJHn{{>Ds|(8%?E4QdjJyG03-;`XPo|}DNm&94 z)_YJRT~GEvaw-H;9gnxz(D&P#GO0IGyuc2nOT*Xnw9qarZ<3_J1dTTr4zh5;NmFdm zpxypYy=9RXCLq>m5^9qaB@hW(WL=atjwaHiuZ|+{o89=VDiY8iX^b=@+JRJ2 zHDcT~u0FHPTa2xhXNCIG*%66Y%)JeAD_vnl%C_z=_fCf%zmzXfP@| zzG`@n0Ft#|9-@U{>D{nFMdN$n@eGd8%PWt}kroY^KdY*0%+CdM$AQf*g5SMbFCdx% zpf&sg-Ih;L@)Z?E;KlDv`YX;$o@Ai`1o83imR}l3b`B53$(W@6p0P-*RSC=}<~;ZR zlD|w`|J1PfcU73>lWQ)77uoOcFndN3GF0RucUe&kdR+}tfQpj6*UFa@Cm;9sg5k{_ z69w_EosUPFw2sHJGfW*}nmXMMXli2}5x9z*?p8a0v&r-`d&7$dPk01y?E1DSBDX#I zD1VA!HO-4maP(&V9~R(Uq4}Hn_mz#78Z^s4VtCUEhFUBt|j} zVq#a9ImFW#+$@OsdFP=nkCSHhpP4~oJ})h3{;!a1?#ACO*6K&LaVFl8C(9YjPN#lF zoKS>?QfR?f)&nX(Xv8F5yFYE+TCNK;+3m1_rbS>Gfrag&X=neiYN%ZxV|GLX>;;I% zhfpy(x!X+@6q0VJBY-v)D^zqkkjm}x!!M=~!LcbdOO8I<74_(0%h~5l%E!5_`|L zs1)@_<#4sga%_j%RWdaMuE+ye(rloexNX#Xmg7uEs%_V|@u9C?591{%_2E&If8m=o z!0n~R+SkV576F5vq>4Xh3G_xXgPI+-c`7xWH;&G3(=%G+yXM7Ti36U!e2GbLKU+?mWtE;`5=V4`}6Up18lBs?e zJcZ9HzNY5s6}z0cB0MSD-+o;9sKFNkhV7}ZQS}VAT)#$x54hobcEkUa(m%EfpM_$t z329{6awJ=)KDwPV`O`aRKE=#=RF>>F?~n4K=LNx$e?P!jRViU%#$N8HT5NDJsO^P1 zy>$9{Q;s)X#IPD)J1!}hXOo6A9q}#9Gj@^2hm9B=ML^Qoe zbjy7rO#08AH>9lWFqypC?qlACQ66 zZE=FXizrQHAMX@mwlN+e%P>WP)Ymc~LIza{hQVHXUZ;3Dkx5d!Qj{lcQO=|Y7t88i zF9JMrmxp5SlZGgm(ne0CsBmKjfY?M3hiF%ca~wMc7F%0>g{B7$HbKRMwE#O5MrBJ@ znkgDoWLmNgaB%cNwoEC`o#M4a)?tS!Sx7%R+zV@wNv7b zTsti|hx!Qg>C+zWrl)V_Bq!C!w;>H2RrSmG6*$0y5`{p5je@tim+^!L9RFb?j}+Ou zyyw@fGh*iC9CM~tOi(DLO&gIayT4R?3pT48D~`erF93}LsP%Z7$O~WMacB6#aG;&a zH;x9W#rX+qdmH^9*Dt%R#E}55X});Y1{?}~_k40fNLA|Q^!P`X;IkJJ?QB2mh_z<* zKdP)|XDejcLl@6Os_n0Zxf|8gRfjH1x~(1weIYH>XpD-+GofLU+)mFh54t%(wg7M~ zhOozK?B9g3_RP!FG%oq#NI(E{=#u~-GC#lk`;HG_9BB9@SGTxv5V5}iERU%9y}40* zpNCyfsJF`i>ra3m;PrO%Ck0VGt;^p(hf5*G@$rCp8vP5BsFJm(&&4jCAIWF;%CQ-( zQ1mC+Xp~|pZYq8zKNoR7?qVS@EbIF^Pa1xbfKd~laGzqksJO;!NGC=k) zSa|T%1r`Ec>5!L^A?u1m>IjQ09$OKg8{4NP@(Q`sd<)FeA(q>H;6K7%&*ygz`1>c# zv?Mlu)iZc!f+F-Q`Ue5O!oZuS!HH7G7xb+M%J5es*&TDBQbUl{>Ge!2ys~ z8I&bMxd0;cz}e>CKi=Pl#4?Zz>6eX@Yz%7ZW$(7!#2yN+%FbI@hui22peL8Y0_aF~ zmkNYv^cpzbB{l!1-qnqXjKrg3|GtcHHcA`X#$Rwer#)f;kwuCW7Mjx<6W8y{B=Q&h zwgqn>h#ACwoZ9K=8S7(Vm%3%jD8!jT za5{X>>4BR^SLH3aDl)wK&a+Jh%CW_oWJj0^sHh<*>wY4GU=Lw|CZ!`m{54 zy=1+^Z(*!1oC3kwIP;MWx=9y5xp$Rap1Q;k`dx80g2aPg8kUGezNMp8riMl8nDi@I zf%MXEI%ErtSE;1#4YYrywc36sVZdTdL@*vC zPGTj&Hp#c1aF5aDz*b(N$A?jlPBf$^Z4sd#W&S`des{c2p?VSD=MYne0d!#G$z7D0 zal#hQ6Y$T<)$Fir|0aT83P&}~dfg;77&i{*?C&WcffZrC(dmUQd(ozQt6_)#-uTmr z(9qb9g>|33pY4_Yz$TIF*)s?9Fv?{GPy6pz8Cs;bU3uyH=kWLKb!GLYb_(MX{Os!MgnRMzy(_u1Va&pOb@1cq!!k4qf`e( zvG3Ki<>!{$I$1D>BbR$~^~Jxbu95k3W2>2s10$J2+HSu_ud23>fRoVH`PMUIzZX@b3?MS>#67I)wV)XiHJP0a$id^x?6W`3dyw+=HFfBvz zziyjvvPu1yYA$FrBN#VsHDP3(nwp{S_ytf=N+pxOR{r{|OM8ZmGlZ1jKD1%E{*{o6 z56o4^UIeSd9RYhgGeoXIyJVLK@4%p-%GsXOz;I=oJWIwOh!HUo(cpQIv&1hYeEp-G zSy(0c_L}5qVz@GC)Ivzx82g=A*6gwhTy)(M-krRdXyhWBoJ<+bX5FsS^FP)Z zFeWL8*!{phm?t8Ae&#@v=f@9HZ&NevxY;Jb!Rw|AKSoO~508xn1RHY$kf}bCZ)F56 zj(MaA-f?b^5{F#Rx!z&hfm;RPa08q&N+hn9uRBR;xrMv_^rU}`1=w8pO2*gb#$8n$ zZnpYm#)he89}`AkiKodh1C$qCDlaRJ&qlQEx4HxjEB!*-sA!&n z>t6oEK+rP$8vIV8I=GjHki6EpuUaq4Jm~D<$lYDsxxQWKpHRua)K1wvzntqR<8PO zk!zE^O?L|(Elxq715lC{M=Sy)mP35E+7NZuavCEFQ6=1JfwkL87haAckm0ENRdZuZ z&?K{!0R-cVuct%{qOZyx_w83{<8!H$?P>=?W}%6NyRLWXmWXsVY4B!!_t>LuUO0nS z?4a@M*qo^?GYWp%!625 zX$Ykim$ZZipqv0|efMj7FV;fXAd-BHC~?d(LVsA0W*TLIn6l2*4rSsscQM-nx^Nax zarYaY7cbVJeF8iM-4Xja2DGH>g@b&mv3US;RTTq)i}#gQQ&B6%x>)Y9ptYr>E258h z@wZxEK$HHRLzUi9EbDN5y-flxl_f~O-07yumkW|VegOt`_p4GWzBkjAewm+?-rwVn z6y^n5an&M7uxwbMG1jqtJ_U(mITwS`{vChTUc7g&3&Y14b}1<7>?_MP`uR?hly;Gp2T4barnJIfoIN2k_*_2+jQt`J=^qoE>iyMqvhAMG%zt;F6 z3c(0cuW9;KGIx}ynHZC$9A6YE&i3jPT7j$lRL}0pU|T>kg(-_}iXFsCkjju+9M5c8 zK*63Bx9m+?8X_lQRq#uAO|Rk%uYjEnP7p}?CIK?nyv(f5&$2u1GD9g8)1E@s6PGyW z0-00-vce-hInx41a%}Ho<#8Lx<3wb=BkuIlw8e3-G9O&T+ zmULs_(toDCW>626RYIc47T3td9B~7oalC?0cBh;nvUId!(%iY|==BeV<;DeD&(#Tq z0y&UFP;xv9;G(Hr>X3YKt1g#(sYFN$sp^le8V8`0-rzv~fvzQoczS#8DooP_z;db` z-pfeBaj2Qf?Cd;qqc!n8TmpZszoAggW%0Ry*>Q4`C_jgi;YAgZ6(gz}v_H@6Y=^5A zdbwiT7!UW+WjFC28`f@^6E4X*aU_SUldCZl zxZ>M#null2mUkODqGGoZQUMN0XcA(L((?hR1HN9k)}M`Ff+u&!S&iv>TZhm^w@K9m zsT&US_x@qjWBDnsa2U$PO{y+N@83*05eWt*eUU#;$dFLxk|Klw%*OXy?e|eSMxCR? z8WJ~{LkcE+fG0Iv>#t_>KcRYp4pu(F!Ct%jxc(6}y}Q4ak>0_vej%30i!KrLQa9&Q z+#O>_;Q_IUuM@K8LQh@*^rxo>1YAF6^^EC!GLp^TZ(=#5Xl7FfWB?aUoEEP{pESPm zvQ7sqHbNs0>7hw@`sI}O7iA{Sr`zj+KRHPbQ2|%)2Y9;`d*KvOf4+ZA_GD2l)indW zwM_1g4kEfE3Q=(%jzTAcJsElcaY_UvNZiBmcqiZn7l2}M_BOoS-tQ;OwWh7bDXy5W zo}ke}f5?>J?#g>>v5dDV7W{*i{&yaRZ5KsnP;0@likF_6SS(1^jELZwf|(DItRD*{ z_h8s>3*pA1d_h|O^6swRNw(`NfFf8z(F&l)>)AaWzJBaudps_8-m!TdQfg(iM-$`x zgCTM(Lb|MWSvcfR;kLrQcVqVl_%DQ4q;Bka*w3h%B_=II(Eoa<`Y(>;WABf4^j7$S zrTlHO-{KCt`8@8pv5u@&7;ba1&2CQRzMnBMDniTM48AeXo;4}h!MRxpE+XQQX|+3C z@)sZ0oL&#O9ON!$pV-YCs?j{(^cgp=l+va%U%Qm*E`P>%|Lb0Q*69Hvdx^u)%`5#W zbpY&Tq%C>Ln)927TJrWi#aT|V_${3s;LfFBTIyAx{%o3}bgtU%ikc?gvHOdI06CV7zd-auG`%jQMV%mPN}`h2C*;NM`vqFu z0>BaS`;G<-2}=u)K#^yQ9g_ho>hZiu2cRCezOEC{`EL^j9Qot=`n;x!P1mcYyG_cH z7N5r&!G4;|wqTkzP9hxL!#pKaTPJ^!^vp5xNrKY2wb#vFYi)MN zB2!*Nvs;-eA37l-gKo(Lnp0=v?w7liC8rd@qR4@$_TcYnru|5~H=3-5YO4PUa0|(b zI>A9r<~2SnZ{RwZIPcn2Arb|`@8t_Uz_g^VONO z&1Xgma*wmne~S(#nq1=MLL1fjyUU&t&2gpnz~ho=mfoy=v|hZRXyhjVZR~5Gq$Ay}1BpnC-;e34{M6slL1<$*j%{6PpiBjwsXn|LS z^hGWwpWJZk*rqjAor!8HQs5V{Nbq1hMnD{BbxKo!qYc0Khpg&qmjc+zuktK95$A+g z)gd;Sz)UrZlWCp&Jimt#WK}C&Dgk)$47_$ceDswU>Us@16jAj81vXJ7GGhU*7hF6< zbE--9y1a*_f{#@+bmzvGVR(W@4-#m1mv@$4^ulxQIX1Og9~4C>k*vCQO@giGhKq@RXq<~FPTC`EC)tyt^oP;+mzNHvVBvr4?>*FC zqeNOtUi)wbYnsvo{az zUCul;9Z3u4bIS+1JY1td=LiX*p3sPtNrt=0hk%!Ti))N26_T4vL&iOCbQt#;B@J~eXqX|Fxi_SLs?gPlf9gM0FBP6y_>0V z7n#Kyi_oQ9ll32;$==5U=yV`I4+Hf|$K5Kuwxl6T%vuT4)G?_YW)HsB1WQ-mEGR++5YBK0^@|=}X-U3mg$%JNz2G4Z4~> zA5@i6*!sswD0NQG(un#ab+_cUQ7Lf-;Xl#P2(dwt?gaWilIMytN)G9DmcPz4Y3k|U-k948uy(Cv?r5+ptD;Nr`HUYVo3bn~^lR89l!YEU43bUAuA zVRx~eisIY5nTwSh(e3)HhN!pcY!k;IgJ*8VB(WPlQ1F!dJ^M=_;ymDL!P42zGSgW~ zHka3UDfl26#?mL^Fwt3%8|!}am&P6D9O|AX5D!pSPqP|{idTZr@2bk&C$D>iQI#x@N={CwOk zF4t^hi~jQ&+r$qvmueOPzfy-$WaKW!YDG0SXIv*?!?h^Db-%vm-s8?SjtQI%buc$x zL)}{jR$UojMIe2L4g7B!?JLCil&-o15|wiTvK;v9@n*G}I~?PBhk&Y^E<%Sh$*w z>}x%^2`fwEA(>MFDfi5RUM?JE$zq6SDaa?~FZlBMvt*gO+D3UwjQ;pR|DTcP|y?M4e_?iaTX~_fv%mBerj&k&1+I|1%d2Veaq^N zMcPEkHTlMCW=7+$y!uMc+XG;H-SSfnLZp^)o?Wf_*70&5{%R4Hf;-hkBZid@&LQy& z;k7yCs& zA>)JbKaHD$4023#IwTVMFLJBjg*c}5kBm7-nNtvFca2hLd{*;DN$b~Am6}{9R4w%$ zOz~wy!;%YhGWr0SY>6YxZ*FmawTY;SiX995^G1I-94W*BbZFdwkEfiLY!t85xl$pF zc}&S88XQE4N=3ihJs7u?!&28R347W+RCa{-9OoC>D`14B)BnjL29{+|uqVT`4h&(; z!^6>B++2Ues}X-=;#LS#@o0!{Y)>C|X>z4LG*5b-7Pj3l&imdh<9g9G~hG(?_ z96i12Nr`6J+B4`hMlR=l`43eE(i|0|4Tra%mV zudLPAt5)^k`#UU6>H4i&{hhZ%vxHAplnGfgAWBJ!`rn>QAnmwQTTuEvtjWC8@I}sK zwLV~_=6Yvz1SbHHP5w#K&nqmcEO|Acpop?s70MaI?$^vAOsT4?BE-{5p&8;H)T@aeUQBGUu2%i~^JUI7Krc8nWk_!FUkV*Z)8pn(e4aDj1I zO;dA2m3hwL-ZTP}Uaw3wi#q(lRL8!6q~ z6mSWTBwcQW)#&3Br=`Ut*j5D!0r+4nk81#=5dwl^&k9Nq&B$b&i04U)cS`aF;_VoT zuv;)>L+T543_DqRm~_X|egB7_0p(Y{tGW#;mGgca+nA;xUKPyM?_UBwYmw|WB52GK z5d9XCb`m{Bt72pPcEA*iG_*iw}D{GuFO0q<3?3I%IhL#Vz*QA(~1lnzRlqMSqUY zjbw5MEdco7F8z=``R3-}E)(dieo1+7<(>>UD}hmTT=gy0*0c$JJs>CPm zN9yD%peI-XO4`=e3)wxPX~2!=h+U1S7{uVkBW(Hp&&|2f<8@rgdhgUo`s8fSeXp~< zc@m%&K7Rrr=83N}>Mwm=lcp+c{wRg^Q~iIvH~^h^e73)!_E~G?Y-Go<)g60gZ>K1Z zW~7z}Fkl>MRQzeL?sx8RQ;#owJ+HSwaQ&^UaOAoAQZVgUT~{{{yEF4ud!|n0r*$qVgFxRu`+^dPV5ZPhH>F39 z$l4TTrL~-J+6R;53txa9xaxmFuLv-K@5$)TSuX*CH^5&93h#fNET9|q@KnAKJLrE@ z@l2;j^k2R0cijD}GkP*@#}9foA0-qc%l}m9QuOprsAi%>(H^ z(c;;n=-k&z3gD~8j9k$f9yXj3Ck5m#N0RZe0(s4Q$*^7F!TC%1zxQ2uTyjElxDy78 ztAyM2-pv-yJO2FWx6nNX{%sGi>WYCrZ~Bgpf&^KSb>rNFlpjEk8#ia41*l9~9H*&c zlIaW~Qld%M4_DBSa z8L{e=(b%#7IjgN{-wNc_iU-YwCgJzQ$6Y$Jk*deLD=mJGi%qI5iKecuQOk+dm44qm zS-LhaL^PGMFXU1*I~qS;;5SY09i|C8`@IF5 zWUU!L)Zu}s$KL#o{R`TjA52)UU+H$&#Iowu09an~8ul8(__eWe?z;3)s*+|Tr@Nwi zcCUubW5rJ|Kh0V}toGLT&vPX<5rPqq`{gNLY~Gh<;{I?G_9Gd|Ub@X2fz*D8m}t+_ zn+w_l*&0w*>|lfyTpSsO`rwjny)b^?LGhPEPM;!sey%_;%zozhi7C8ZAXtY}&hf|S zd9Bg$lR6CC`eT3hIqU1^BMdWATqQC1%)N|YFrg(i=|_GTzjM2SwsGo&^>9Cb)B-yy za+w$hfX>=3CWe)j8~7|0%bqKhYcGjb=-8>0Yok*qmn_Z9%$zYk^BLZ+&`^yAC{@lZ z%yiWL%G}D(Gk$SPlZ*ab&!$MmZ7eYc;FIaunHy6c#+GIUBU5V>I6d(2^_L=(NFeje5<_x`Sh?Nr4zIhCs_|B=lx@ z&%lsK<`MCwq?E1Ngex7sY46A8#T|`DV>5QXP1RjII@++<<@!WYV|w~RTar7@cMh~~ z;M{Hv7kv|CZxn+xqpA;G{4cKJzs}I!TrHTm>}(MIb~gaIfH5)DHz+KLHx*R1ct4TH zsGnw~d>XoT6WX8HLTOgfYxYCt_7oR=ci6RpJ{{*}o1gB}Z%|R0^x2|Si*5E33Z4jLIDQnu06mFUh82Iw|Bhg;3HP@AE$ z5|h;*8N#sWpfVlF0Q(ZVPp5+GjUGtqV+muxAf`gUXv0^Jk-$D{H5Mnjo}d^Q6J0W-1l%h|LT3%iWzI~vMQHC4fE(q$?#mE${S@Gr69HQu}*tmDS3HMq0y zQ{p9WJ_)K=3n}0X(~dC7{utwVaKr&*es#b5WkFS{92ZtDBB|0dGmB}k;)y`1N}Y-5 zxMeX0#=L9#tgI|kz-ekCH`~k~kqC?qy)lvnvrJ@zTk1KZN9i4xTAC*lailwsQSqx{ z#CZ#CT|-0ouqKyV0%I|+sEiCfq~j9Hp9%~KB}1ekNJjoRyKsc^t&f(pk|}GHXls2R z=LnmNhU>H4Lgh{i@L%hZ^qpnfkyGQmb0J}P>~ik_=-qsA8X7u}DB^mfjZC|^l)8Ny zw^!BBz%h-<+*`{4CM+Hph>nqV(MjB(LD8d5eZTqVz49j^rboE|YZj2*qX{yb%w0W8 z>)4o|w)G-j+v0S7cMzPP`lMLzTKsY6-5IVunk#yGd$IQ1vxFCYqa}DA1v`lAB4g2) zA{B2kCB6Hi(U*1lh01m8mt7e%Uh5|w8ZfT;{%U#&sm?jn^=}ev3d=!lJ!cP}i2OXu zZ~b@#sitVYTL}eDxz?4*Grt%et<`K|b6u@@;SHO~Kj??F&z zS9WtId{9$e-5}ufnTtq~OsWCjeTP!GXEX3Jmy9q3ytMKuUn4HOTq%l+nG;G! zSU3TRs_Fb_WP2*61UH;18n<8ezEchVv*Qkn0`xp{RKtxcap&nb{KZ?jhG%DI^R=D+ ziV*ME?O5owpvmOTm6XiY_09Fp4={3}d^wKcw&h`btafE(;>l!r@+do-KHvI&?cC#o zH;v7U2be#3@R7+OyPV>R`bZUZqN+MMiqJ1M9OPc1VBF_Su#|?Mb8~vRMRm_%t4M51 z4O4Yk`M5sGK2j?*|99tGyagCEZ7Dzo9%&9}HLGt!!_ibtKIgA)6u+NP`|FAKizH}QgM)27O{&tT9dGOMufMiqVq+%{&LdVL zICZ%Bgr&wvM%z^BQ1*`B4no5HI~0(XFeX*A?kbdpPt@<w;go*`t4T#d{)xMroZj&UIE(E~2|$_8XVE$#&;aObtPu zHJy-d2?aipKNb@%O<9(*=SVBt5!u#}vAbO!YNy7_5%G?dLXxF`-Kr??D+!ffo<17~ z=iE3Vp3^S+BW&Lf5PCF4MiL!ic6LJ&1u&zwZP4j2&~&~ut23Ws`2Gft3sS279pU*X z4g`6+(cnYVMbFdipU5 zY6Xz!e#?a89-s#_fK?vAD-g2*_Sd$i%%F>%W>MAHxQR1P5u}wENcY>!V_g-p;$VD4 z?y+9ua0pt1=HlCYk>fn1sA+2N=P*Islr3GUu*ff47gx6wo&J7LA6I;H!p6b~d!KtO zRD+)HK1^Uz;Kb(v8D@Jd4dR=cicGG|2={<`9~_nQ1&a^jGMMxBOPs3ytkkNiV~Z;I zoc?V8TC!mke0DAK+-Cvcij2v?RW#PtyaFw4q6%hzTj{|=(Jiy1x8#pjMLxq^>wby* z(E6@FeT6I%&&mHqvvlt9LREtT+a~jmaHF(c>`u$<{53wr{B@E=iI}N_Q@(}Xuh9=f zHPEa9ha2oQUA`$yJMI(bp7{Zr*BoUC$bw9mI6~ou7h@n`6wxf`%t}F@-{v34sf;(pS(4w&%(`?CDkOt2a$MnEp-*eHz2vrd6qC6X%0NWZ25@IM#}mt$@}7?qgdw`xtj% zhRA&Q(_H%_^cbCYK?AIQr8rp3y$qkzyR6=H80#%pT3KCgO`VM5hj&9Hbq&xtt(<=p z$?V5gi;_!pC64HB{o_5BE?M8aX*~DKZUCzPSv;MY$XAO9XW=~kXz5b{mvr34 zlUE?-$I`pVBDkgnlJ4E&CP=}CxF!sQS`3V0HN72+g1b0jh+)^B*rOM8fu zCd^YqS*fHBywXJ-GbnUjyVNs^B{m}2Ena|rDOvJ?Da~5U~1xdPMEe(`4EWU zse*_juHY@@{l{ba?lzv-ry*doO^KT-Hj1GN^-|$d9F^@6u?nTgf=V1L0+f@wouKmz zMwCl6y-G&On%=3{OMF(c!iz@$^Qz6L%Fuc{NS>K#4ktxwos73AVS4 z{mhpgwZ^BYv9Q`jiCp@kPf~TnurR`{$2SXCN1nWR&8d2k6?X#?oBxi9M>T;ki=a zgkc1)5%b$DSGPtCeT@qpFytQD~I~*YqCR~N~<^0l$5{ZVZ49b3tS}o);RqBzi zVV0H#LQ<9E;^k921*)Fy14`%DJK_Pw1jtYs#DtN!&-gle0jW`A%41u&|x zUUG*NEecUNJyRQk`qt>T^G2VQwS9S+AU(_d5~zMPXZK4?f3I69m@+dtWhnR+T|R!0 zCaege%neCF9r!&?=VBiDP)7y!Bv!IZnap4LouVg;+?ePl(E@i?(uUn*vN-16YB={2t!sAh^T?8*gAd?!)=w8;Hu07vm5 zSEesv@CokQ6Bix?Y$5^{`{g-fp&%==#`>}lCWxR^Dg-hmV)|IxxBNfV*aMZk<)X;9 zo=DW?v|3Z!Wrh|h@bA8Uc_H*BI>atZCt@N27T+}9F3+0j12sJq=tW0AB{gF zrsMvdeHlo6Z`H&E*2Bz6_{8*3Tqtk0a7dDfJX}t1NRsg34_G09MW)ag@US;Iff?sv zT1x!QFzPdf%l)fNM zK(a_Ppv?AoGOge9(mD9lzrQuF;&42cyEz04_{f#R_IqGif6<20qC~#!B9OPn$&}E4 z?@-$~xnmAt*qMZcxbgQ|DF&4%fwgvIi{=NuB1 z&|aSMP2NJHrl&6gdrE*If?PVnl{K|s!+i};#^=a(+Siz6uyM?Xj7;)x#d6;z$@#6= ziy*0KUcy6@EFK~!p@`jOdKA$_9;l&vC&~GEsHYO!nw+eUw1yz?p&XRof%o6x`ghdg zJnK+0wNs``w(3(i%zwP%27ZSz);*yq2fT_omx<}-yP@Hj0u`SNT@uN#*<;MS$`CFm z*&lHizE0I$o+F7~podg2N&$NnDqL79Q% zfk{qJ?Nh!O-sH!bYZiQ!l9^R7x8HC8Cxw&75-Vzt z=E?!nG73JIOpi@+DH-w*ci@SEtXTa#P9jY!Ll9R5U@wx3?V|~Gfo+;BX>-UH8s8ND(_)PO! zSxHPpK!zg(lkei{FgMu$<8tcbau^gEeu&Ks7)<;xR4;Qpvq!ea((CC;2al7h-P6S2 z%!dm1^E|PM!_C&tPwjqG#HV(=3wx*-(*RN0 p^!R^0xsadjoS*pLRGHnoe+=KuKoxtQZ#@Ej6y;Q9D_)rf{U6VZ^p5}l literal 0 HcmV?d00001 diff --git a/maixpy/static/image/maixpy-v1-square.png b/maixpy/static/image/maixpy-v1-square.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d54c57231d5214206d3c442f6acdbd576d45da GIT binary patch literal 25836 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 literal 0 HcmV?d00001 diff --git a/maixpy/static/image/maixpy-v1.png b/maixpy/static/image/maixpy-v1.png new file mode 100644 index 0000000000000000000000000000000000000000..2df0900a93414fb95626d9104bd073a78b06b7e9 GIT binary patch literal 24255 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 literal 0 HcmV?d00001 diff --git a/maixpy/static/image/maixpy_banner.png b/maixpy/static/image/maixpy_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..3b290144dab5ae512c719ddae669e751123ec19f GIT binary patch literal 593226 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≈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 z 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

    |99>nI1Ee!y1G#XV^eRz1dzP|39BSf;M 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%0AAH%Wd;tm-O*x6XrJL#BH@` zOh=1Fty-34RaeWZM1@*}R8R>dejhR6MHRsJPUodXSHq<5PNs{U0mIq40kKW+SRbS$ z&u$J#Q%WiT0=i{cK0le<*xe=z(Xdy82mk}9Au0)?88DGCGIJ2cAXW#dYjT9NQRp?n z83raIsw!mYfC7;-Bj=S^O(VI5VV(3xv2Q_)N`|-*#QHn3x0s0#*|8%46|KN1fB_l0 zq%ARQUBwatXMjki(Sex_0R&M{6b-@DqzcQ~ zQdJd0l+DCTb;G)=TZeWoWQy08cPxvE)>W_HTb@eB&S0%aUl+L6X6JSDXEv@eY|>K* z(UKby0HGSH5h7Y5e~Fo-Ng|M$sv!{NgW}hJ`|H2-<sPLjL;!EEOcVqZDe6U-oYaFcZe2Id0jXhuwG!=w_chQW zuU1uE2@{~1R10rn7BGSpvD|5l;-b>K&82MFJ*t+hsv9*Ipe8{@lSFv7)CNVZmq*Vm z$kD=9iedu9=X%;!ya8yIGY-dFZnOj3%HP|Z7KeU&c;i*&a`z|iolc(l-fnOn@vNUN zVsoxQ&2Y6^O(&;=(O{6}K<@Guq8(MJfgmUtt$pomT}VR9PyuYCW6atF&5oB>^K?os zy|D3e2Av?^Mxe6s+17sa?JOxa5@?N|SbY9D+dkWzBiajWgs|p!b)3ImXbyZCP;ZU9 zpos)x462#W>bi=HWNfp#?fixXUspTYIJK)P0}{CJ{?!kD1XkcBNWBVf5waN;L)RO+yzhL0#OTPpGh~YfQvhg2%o2nU z(M+NXuo{@4ny6yRE;Il@k%)GvikULP;n87LmpjAV(bg!>^2pGw4c~vVUkRY2Gq6O= zo{Cowwexxe00>~*XyOquSgq;=D9+F}7b{3Ul`7CC+XEnwA}cZ?3F7|A$@SCIp~x0H za^5)yrT|pcm4w<tyZd_(Gw#1jdVvQ-Bn!y5Tq(d@4j@quFBD9bZ~ki zA^h~+pQwcCWcup8```GJKYjS%!RJ5smYQC>cI}5h_}f=sc|{}?MLwTPOsr}rq#^=f z4<0^z^UcrxN*%8a_e3v9|NDTtN)BI{L4Q} z4UC`A>-?PRr$IeIHbRW84GiWFX)^NYp);-t-(9f~OXmior zBnroQCZ^n600IQ$V8O`0``&}R@RP~OqeqXn#(NeSM+9i9p`KOMWI79!AFpf$9w|m9 zOVh2i4cO%yX!6*P0n3wIM5;|S26e|X#F(`0@fu(vz!>dD zkfO%}5}~SLFr+BuZtxL;q==3iQ$w>+0x%?CNLpG>Y2Y=HGph+SN+$@>2o;TpkUTJ< zcO}&`UCp*e8X7>fgNpCCmRSR!tkZVlu8xtFV-h6W8s?4K0-1r*bqcX< z(AE&FE#eJZnX?*!Y0J)Oc-!YY3I;?q0z{4C<>*YHt&k;l3P4IgA3S`&41u#ADmHdr zjS2MmMcJ&E*^bkGy`)_NL(cj;zxdVSm0yH>2;`taSRiKJfYu*8_{;zJAC69*@L*Vz zZ*BvCb-ZFiRAat1D3;4|S*`{>ATte>mP>NcCC>~sU7YJFI)a*_8sMf%2e={7p-D{C z29u7LfF){EtUeWBF|ALJLT&pc)k)Z+?Ibuwpn#bHBgFWT+~=e1>)?73CSHdgM`(|F zxb^aK@{?D7;m-HIxv%BC22YO7KvamB+TI3Zr%6bxK^Bwge0)-jhlD<<~FR}(_)OK(86)8vzEnV%vMG(5l#UUGiicT6hQ$b za=>CUV^aR0(uw zX{xFwg7)aiqr51FqhZnO6?tx8bqJH`e7YzNGiz$`PQ;Y83d0y|Md^+r6EzhOMPxHm z5k(XO6Qo3oSRb-BPs^I?m=K82jD%Rpi_0gI)At_lzx){=j!(C@w?vf8jt-9&)6<(T zy`-igSXGKqwh-E%1x;{eRHtDpeKv&1P31V4RY8LBAb;!i`^;3=tHYzCFT8danX|Au zJ$znd*?aH(}WCp$D#;obqsKe;9@E=?21zQ;&kZ`X-v-O0I$f= zppV<|{Joy?+h*EYONITY?H62`L2|}G;0*ESQ+wjS>$d6dl3n)6KGX~hGxqaUd31FA z#;dQP;*$>^WtrRE*&dJk&av~(7lkVZ^OaPh;ON3_@!9LE0E^DRe?O z8qXw-hE1uRp}64dTKyjVv09roYo(MX@qHy3LpG}*Hj%}sN=S&z*!aMhA^;n5L*c2b zsx1BC;mJw$-tlB&W}Y%NrL`LS1?CYLqwpxt^OKVk2sLD5AZMxumr=i(ewXm-i_>Dy zWXVr04v7sB9RXf^zu;z!SnJlG$oSYq-eFS_8W>&dyNh^vfXM}Kt+5DBE&S%h22DW2 z(??IDr;Q6G*Sf2Umf;u|LM_> zA7Qlw-&bUUv!tNSj2M)l^Z9aE^ufSFrOPRe#}RH+ggA;c(F?ZQ-R&RTFcbH2J}Q*pxAPTCL3>Rm~y` z>d*h*Z~pGT|Gm@lL2pP~V_%o9UiG9e0rdOddHe3~|9V{?Goxc83!yAaF@d=ff$LG8 zBYWn||E32Ko|jQ{|3UC(EW?d{$Ea5xwY;-sk* z{owI_r3en~%9b&;EQCOu8pcpss1V|iM1q+b5HKYm^xQ^>sBse`RYgwoFQ=TL%Um&d z`={?u=8JnTf2Is7B8LYDBqmzk001BWNklrfKf?$#*J+=GV?@7}$=|Mc-IuiRhEtD84( z?(S}_maD~LVT!-^uYT{(zWwcg^RNH)v**um+_*8H&+|Nw@iIh2L`6}QWjQ%L_0E0i zi(mZS_rAX>SBX3xQvno|F`UIG%-1vfZvZ$ihbx8VI%?(1OAh5etWs9jhK8f z-rK!?V{h0mdV_x68-DlgpB~Lt;EFhwv`v4pj;3F=Ge^4!R*B=1NVY-h*vM|oyvfBO z{<4w}o*yBCcbqw&Ip;ll$KJCeazs%XZWe{d$ehyR$Phcz^egPS<3|PnN`&GFENCN* z-7LaQs48q2Q)zHkC5Af`aFA%YUc1a#mAQOKO9 z+_`=>4qUk@ENgZd5vhjQ_;3U9wTCpl10l6?o0wh~GwWh2BtgoRH$u)NERroMB6J+C zW6LELjgccB63JtVt>#3dh9&V~R22agkS%)O02sG84PtBR+NP1FXlhA_ z)>uS3R|yP3qu4(+!^jJav$|;p+FA}pzg<&8Q#EdA8mX*9SWPDzMVyDA{6cx|1QW(V(~c`r`D-FMRRU?|k#2m8a6% z(ZsmLZm*)IU;qLHP}eX!nGgGuVzfnyK>l2-KIVtIS$Ta_D#fXFAqxT+t z_bEMcYO*eDd_^ zbXfzrxCjd9dH(yM}3qYvW@; zLR2CK05djo?E2tWSPUOLJ9&Tqq}T5kdFI$VB65sOPv+0^e!m!OBNym%O}}eIs7kR} z1Ox(A4Zrf`U%G$iZiXmTUDc~lt?GKkj0h~E?09x^{MpxE{qFbvHqW!^^yJ#^_T=O! z1Th1t>eX_&ef#$Hot@L;BQiZXIT;KFWm(4X*63O`8jV(~RbAK9>Gb*YXA-Ih?>)Tz zncKA(kYfZzL~W_HiR=04Z zty1x&1_04biy9<>Q;0G)>_!j>kN^;k5nYTmi90GGBXJ|cBm#DnIiF?4wc+jY?#+BW zR^OxZ{7>v6D$#}dY*noY1f+yOh|HoQWf`iKt}4p1dNt*!C)q?)n(W17@J}y*+W

    U96$^Edah9#<|7+L8e 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 EQT1=Ifm=cRZ!B-|hak}vRlDhm->ztpCQ7~m9 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 z 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

    jse)Hj(#hx_>f}qJ=TaP52kWj{uy(Lom6pYu{!n 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

    1rkszQ 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�}CYZZmm^GRpy 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 JPDHLkV1h`)`Yr$f literal 0 HcmV?d00001 diff --git a/maixpy/static/image/maixvision.png b/maixpy/static/image/maixvision.png new file mode 100644 index 0000000000000000000000000000000000000000..9ebb6203425e13b7cc9d1ed9ddf49b2b951f9e76 GIT binary patch literal 296839 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

    ibqYpsM?u6k900Mry5Oqx4)nr#4VS%jfLgWp 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

    ??zBaAdmWZ?EzbW1%?(LNR&10DGbT`D(0 zu-oq-+dq+@)`r9ygK7!ah%!GJdlUvVn!Uu(e1+=K>;oIZs{#20kZ&-Wfd4WVIS_Zv zZ<$<@nH>WIraz7y{Nor)fjx30t7hptMV7roRBA&zqfUkj4ZkUdhTz%>7~ z=_gvNH?=>>qj&U}Vf@8Q&Zu0bwdk+VPz#zsQ_yEf5tbHR4>JyL4aN-+`}Vuo8bm!| z2h29?%mU$&k?I`biIpxI;_E^Y(e#TUX?`!{@IR=A?`8RGhcRciAXX;Q+#F|45Ov4g zuq7SdMcGM%ls?bCG>S>_&{(DTk(iWB-rqD2N?M8%H{h<5u2P_8tfJ@8p%m6`Z?W@^ z;@D5J*%?@~?nUnH?cK9Y4vyr$9*ULabs0(cAz7?Y{HI)L!}>5Wy;76+u6>55zQ}Xw zUj>ur0vmI);X$?itQ8Co{Oe^#sj?xjo$HCV)mcmC@kLY3QP_f0h2Yga1(o|wQh_Tf z4e8Mk)BgB-vM^SWVJRnHOWMzjt@kU-j@#1$yZh1!gFWb*6Q}dTkD&-Rl82ef^#3iI z{ipV=T=pFyVh}5Ufminu>6rQtIvkuY1AJHnB(q+PA#Lbj1O-E+H`1VDt9RN^PY4QV zXTtU`u0OS6)4oG?UxG)c0yXAqC~BOr62q;T7j_S>c)%pBDXhmlwEtz@4+KaZ5FzFC zafUu9Sdjg5IM13jkwQ^0?!G>l+8@q4m_}|_8Bzg?ta{kH;VhTf+g&3}3F|D$vTsOzT|7y2p1Dc4*yRj~Lg(9D zgP;xE^7irehIPM({_uP{->5u%8&2M_YHqw~@Cl!e?MWNy#t7(x{ND zQ_;c%)JvQ|jDr@Jq1niwMD7UB&jtoS?|Fg#xN|6?ixtni-sdkbyi+4PM}3X^fYo zeL8>0QaaoWl#9l}{s5zJ0Up>8O5T*X0b)n^XPkzhvxZ z4OjYiQL_K$p%J`$SG58j1b?ZEH6ulLq^2rNk;XcNJo4Si?jAZ@GW=Q){=dFb3+W97 zDnM}wiH$52AR!eqGz5Tzr$(Q!fC;sPiKypNnf)5v{1p<1iwMW8lk;PN^@utKifi2y zKZqVSc;z;(zHOO@P+B6eT%Uk|0CA}D%|8@ znteSHg$#li$bQ&GFa*Bl48cT7mXcmlB09Y~i3KVjNHK|sLtBy%x91}!$DHLsBu#hF zk$dJ#8`hi>y>30?8Vr%h*?fWkcg*N^dzQ$AU3)fCCfiQO+1QUHgoip=(v(oNUGC_J?}=FI^dFTR zaR0L1rcX{!Uk;dq+5_KT3_3l*(L*QPJH=rdS&yIFxx%$qg2(GK3h#!?p?GG{ji4F3;UCYzTR@g6*)}X&AzU^)Njf?ec@d#J8G8RJmecXipGT(OfO_zkgZJvfE z?n>i%+RCO70TD`&pP%pL4jUGr2{j~FGP}LHXi$X#fL?TM*FQhIJSSm{6>?Z1C1E^( z^Ygs8{0eiZ{5Jo$CN3^SjOy)0W8l5h%fmCx{~b=B3Dy1lwCa1-l*RtBxc27yW_@Mn zHVtg>sk8Ey72tXz+!SouPI(e~7!B}Z3>e1-07QM_**^;_x9Xi|;)p{n-0)U$u7rgu zriII}SOC4r@4sh0kqo$c2!{C8EWC_ZQT+aQLozRShRwW$p&Z~ea|2JXemxQ4&5on> z$O_V<$kN}&`@I;iU7HUQJ~)Cw(p?~AR~D;uUmOu2AelvJ#!8k?>FYD`{YbGQ>@%CI zo#Kl#Zbx7flOX4qAJSH09j@olt)vk#hWMMGAohoQzgR-?3X+25bO>UA6a!A~Iixln zAmUc5ifH*22ZyL`gk`OSCn`fs zh}`k1W2&i<3HNGk&2oG}cW_ss|Gh8pu`(EvI0GF)HJ3cGM!=QqK1jlw5xPi{pRy1D zq|8MyEB(npW`9KaomC8~(A=Lh>|eULEL3F6w7pvptM8ypE2fI9aduv;B!1EdK13oY zCAAz1SR^YZMg7-y@klERiG!V4yDq=E`C*vQ>0V$)=(6L|z-x1HYb$Uk9QX15z6$Io zTPOwV1nhxMb;ty`iveg?xqyq?jJKcUw?8LLRd=Jn*%k}S2I%mp@V%DYa`Lv{|L(-5 z+)dl-g4G!$Y(F7!As}8_A9LQITaPw^gzGQRye@v%P z!eOd8_xYRA;GbA*;yInQ21fV!`_8;IDqX!@1np*hR@xj91KL}Xy1A^jZ4Ml~9NOQt z0w42v(>|Tleyn&LE#1Cs0s#HkhW=U&JAWB|b)7)#Y%cnIa(3ypECw2Lk~aQb361=- z-*SREu6MQJdvq1RYO_K2$?9^sk$<-15cKKeBBRvt&kyrx3V3%(p!_^dC^XwFPbIXK z&bFZZ@h9bon5D#KCW1=1>(DBTKER%>MrUD!^K^o-bgF$7_*z`Td%CLUN#~HQ@aH7YUosOvh``V^7c4 zpUSnvo&&e5ZfDKPp4-Q>K%YG@#&z<^|MZ<^+DX65AFkhe^Mm$@f5+ge{okMZ-$zc% zMgaqYn@+F8Xh#nJ9+yA=c z+;TfRa4`DlU2gSTbwB;TN!){LDo(8Jq;(=aAc0(+NqPhl-J_Bku@1j(=^&b1;T;8g zI>wkHWOcNlS}GG?!rZ&~?z@9qUFof@UbGq4+?-)QjqRPE_y7aqchhB6xww9(6yhySjTGbODczs=43Bdb0iET zg&hT-dAyCccblp^=yc+v*IAU4vkekP4p#)g6E_NI13#FU zq}f(7TCgtj3mXc;_M2jUlNk;hCJ-Hhwb7T#H8>AW1AXp%wNbuA)ynEf#{ReY*iXeQ zE)Dt=?yeI>r=Zt$FehuvIWH8DBdI|#3tu$e@uN@Sdhe(y(B1GlOZvw_rsz|)+oN6g z%Ld(54({7JGv7GoTA=q%7&ECp_b;WD)T{kGvcs>VsgTkK56=AveSEV3>oK z82%+YM^%;@o7=XCdhww^s?5@MC~iTYsiSd4nx>g7)Mpwl!@E=iJ^FcKj{}hL#;O{w z()LHz!jkayN*LwLQ!!o?#%2JjN6V-Al$Wrkqd<+vWAd>0S3JEQyLZm3)%H%0VV$%N zmRX+xE58>{kN1y#>`xylrWY8%;COFbXVAlt+l=2)hw)|o2+1hz$fXyH@b#5b!1j~# zr&sQ8=c)w`o4$V^%KEoUc>=tb(P+7g>UOmwWL*eJM?yD|K>_Q_A069tG>jrVFVXQ= zM(ua=cVCTEvOW9oN5Gzv+qtKlx*ac4o>%ctHLqC<8WOIX^w!*f1npO5(wE89^I|UE zpBdDx9&^0ENUzhJ^gsGYnFUWAoQyb1?+)`mR`t9OPOS7j|G7WaL~5F|c`(#=-BvCO zt5Zed1;6)vz8Q79@0Bvi_xSa*js(8J*~#RyGkc9y#pS(s6qx6r!`N%?G+JoM7AxNTS7@?fal#7Hk81Kx+52Po2MfQ!4wT4*9cEu2&N@o2_QRg3#Xj#> zJ!StFKRj}}oa{kX?51{=cm%z@ui!aaRK&1!g(`i@_>d}!a*Vbaa0n+pJaZF>Y1{4; z7N~eu6E)pj$1@*b2MeMs=O%+h#L7J)S2d`~O~IfAi-#p(b0nZ?6GGJUdySbIyG15T zRL7nwRio{>C`;gzm1Std-HA^+I;1&Ch$Z#)@~2`$!e?iaRONaQ!;@9l=73^taeHZW zG}PwoQ>z{Nz26O_|L`8eOW+bmQ3wTk(vcHT2#WUCS))=x;^{h4`M71#!pupzw*Z%< z1nnHNLJ)!h4?P{s+`K6RPzwRmtY%+hKbc@A*BCdb>G8+YXoB*`T0sc6rf@C9E`&0v7RejckH}45RTNk zcS}GMHlB|>S1q2v1dx`{hPuuYr2o1u zl|lRKhr!1Zz_Go4?>Ne1gmmMD1 zGoXhrU0lMQ8uVhE%#A6ocD8TE+R@j@TD_GBA<^Ts7hw0@rLNu0>*`;*nwN^n z0Q-7*iNgg{Wkj5yyXt@wcd{+cFK=h-*N6wGeNQy`U%dPWbx`X^=C%JeNo$?iGTtzi zTPAJugdEqJ;@{qo0nBh+)q4c%gj|l^&Q9f5xqf*(fu0NSZ)eLFo&OSe8;=4%w2%vH z#_~8_{?#*~fjwIJm0tySmz>@v)H)G>5~V{ws5tpEQez|}yl#`rzW@P;R}34(yH_y3 zzAoXOYqi&os*R*TIXa`$6JEWnNdZO_j{^R0mCO7}EY0T4E!IIxk;=I=WMj=iDU3t= zt+g9+m;xk5S&cV0E;|@H7l>jsl6n@37lzUmKxqdCE`EjItce0aHeV%Q*h*1+>o)qj zf0rWH+kDwwwEZ+#ycz~v-pm}3Mqee46hTpRuNpfwfs8)un5siaoLYqV7GRKL3MoQo zFfeYLFBOfII1P!4h5kJinvzcyS^*^1Q>itkg@F3dW8f)5|4N=H!2|kh)CT*bDWq*BW=+}w z6ieX_or434I-%AvanRCA8i1TF2}@LKErz%+t0suJ=m?u-RaTW5Er}eY!D6h9OB`Vo zw(FQNAnR1hm~AZuePSRTaSJp66rHbKc7AbDp8O-)Fo3sLbsXHDOy=-&XHCJ*arGtCu=P}eFow_S}m2+wi#0JHISEaH1l@QKKxYsp>e zufPWe&y8yXp~Au^UPyonwgqgu_93vcSS&;xZ&?%RkH+hemcd%xePvpp@mOb%_mp|p zVdfZzNN?DDInsAPZ@HVkX}>}ZD!phhpqGL>(7&{`GH=q?YEcV5?gRNzKIK-t$A7&w zb*WP%OuKa(rs8UDCUBoHCs$eyVbbunfSrgu3RJSUYkg$+)$2n4V@lcIgQi`SOrKRJ zpWngX?ujI5sUXr^les*G+CrpL1_cDbkJkWD1$XRo+k@jW`kSFE&M&q0^v+bRs{X5F zyQEO6vj_E3D9o8qCRqM0Gr|==GezN}-8#(#w9mMF5>dgkBbkGaz6|v!qS$`do>if^ z9{p?Aa;zmhjF_H~eEXjNjS&_?lqrp8t(E%=m#qu_FiF$bWpbowE=wA)NX&Ayz=DOP zE`cp;itQQfs-+f7?x*efM)uRw0MasFgsy~E-H(z5euoDm3LmJyEJ+@K4PGp{WFWvG zlADc99CCfx!bF~omO-x!PF5|T#A8pN-TQYdLY zwz>`|7H6yCj;m3LKwEj%V+QM70q&<1Vn^ge(ul$h(mKi4 z8-f0LnSaqrMeAHfd}8J!?Mx2vjHjiRnS|eX9M1xkxby-}4^203FmdzdSze1>UYUF$ z4u^Pt+XW27n2k(o^X&Y&+n?4$dM0x17TD*Q=5GnSC0ag6q|rm*Sz!4nYupN2DQIl| zD!FtK^l>o4Eb#af%F?_=s4J1Y^|O#N&amwtaT<}l@^)8qvWZ5f%hFNz>kulfuAO7zO^5Zi+%TZ%7#2~eZ;~Z zx^B}Rzh9mkOaE9wBU-in+RpJ_F@c-PV-cS6|t)i;e2EX8}6h~ zm69)5oEt9Fw)@>2r8cVdO(xnFi!prCl1&cg!Go6qhHS-so`7St__OxeXlSPa0AN8U zLnN>0HbU_iNl+yNl#3vq@YP^ZaI8aGl1UaPgZB;4^xwwcijol_x&AKW`67_#T$`J= ztHte+fnt(!X8Fvv$B?WPg}h(>!Fa45b|@qrSpp;n@u0*NSsIn5#5#9_$Am`f76^NV z3gC1=Urr4DWD9+uDQ+c^77vNodmtwstOqQYnpnTl+Qz-xGxac?TH1Zb@v*?9gPreQ z8dRVkTme86(Gn1mOyj~DXqmgUN4&5y3;VsiZT{@OV%BNcKL&rw)3PGOaIt!AMkTr?%kL>mm3!+lk5A{5vBKA3m`Z$>N}F+3eEv5WTQUbbvHW-Zq-E+) zs5O4}b$-NJFR=VvaM6HG*QXb;?O^tg*)f`~+OPcSSsowBMM~~%`aPe|3voKfPcM5) z-rH>%7y5?v54Am5NlJJ@vpZt5GVoI=xgj}vkftIkYmMD2!s>>vkvV6+>o`W~#NAHs zOs(|^Wb&I{`Z=}2j`O=}>=|pAF4^7N?|)kZl4gGYZ5#74`uxGk4-1&PGQ5%S+3}&7 z)^~YNyWGShL#y#^u)DFbQoihbw-ff2;e`xeZgm+lQ?5BZ#SQ*`n?snprEfff0?Snu zP?~ni1y+77Z+1Q@{>pWm{8(6J_W6Bw%IyDe^EaP;hR0_+%CULBw)?;<$PgShhVM8#=qg=)SC-6n&v5cr|eW0!Z7DzXENKR z*vxG7g3?B>FJA}HcV?mvPp%Ol<_>2av*z|?BZa0-MiUKdMV6-iuo`qdb{4Wc!Bcn= z^{0HVlgt!T2|YQn=nOWq&%Y3`GKQ2)G~r;yW?1YifQab50n4x-Xo7UMC&b0Yh5v!4 z`PZSO0=RNGrdz*#e&u*(o^|*=T~?d;Hm=(1>8+P4W;y=88CJEqXWT0-Ed}pbkA#W5 zCb#52vjh9PQ7cRq0=5Q>e71y>R1aO-ZJS?$az_ih%iD$aD&)F@%0!&X60-4Wi~<(l zK40#iya)yu1@@wq&(#9&!C{5hc}=-E$&G3L2YyGB@vgP?D-V^VK@X23FCX!Gmfr(# zxdWfy6t~|sU&jp*0O#Y%flFE4j!!fnETx&_Fw1HVoF>+tQL5?WM$iM$N z(S4lbcH6w@_HpF69@}C2YC#N&S@a2&tp~$EW;T%^Q~HoYNJ<-wvam>+FKsZg%Bg2?^!H1#^h`KVFuzJTK4Z+QNDJS7sW> zj8!r~#M$;pf9O#e=&B_DSf^^c;ldY~!JDNizBi*~ffi(RFuiZhhZg??oLn*`p zeB~1!_pbrGF&b?O$qJPCLQBSiJisDOVu?q6w8Fl? z+oiAZl)X**q*+;O-TD7ofa6>jNo1(Et$GLFj~$S9^Gk1@cG&s5|i> z_{>(;tup?5AToPZ92w)_7VV@Qb&3Bb43SztT=^_8Q*DUGf&!bv+4vnf7#^!`bce1& zFgp?tM5o%}k-0j1(tXrkbLCTWg!ALzotU@_${^01T4Ov7*6-E#wexd+#?-)Iv$wa` zuAAp~#iTlgZcpI*a4g|3WpFRH(dJEp0cfjv1p~io47+?+u8iap8T`D;hUtPAKf1YX zS%aOCRvI5jUu)Fyj+x#*`KXv83=oH|x8EEl=n67KLFjpQ; zFLP5}7HAHQj(=j9?Aq(}6nrkUE}Im-tX60?S7=n*5?|5~eTl2@L^e@EhBfF}>%r|8 zTGlR0+?k??M2iU^Jbf2s&E!@6774&ayHE|UZ<*uCj`FBR4V53Ji3*7-S7%Ia`KRD5J2&AZM@?%jeV#>DkgGh zI=L?xD z2(maDqO_7WoM1nGeB~&0rrE{P0E!vUhta@Xrp%Y!d}$&wkm0U&TT}hFA0?cUS3{GN zkYpgKd6Zr}N3rW6tOZ%OziW!o+H@7_Zyz6hTbHOdZuA*n5AI6Dy4AnF?+H&VRq89D zy&q0xaXW4KkHUPw9^(Sk%O9hh#4P{hJz7>S5f;3$Jv#ZCIW#1z!teNO5jr)k=e}M} z*{v7-{$ltM$!}En(Q_s}T29Q{{dm=U`$~EXz*rmidy;#yW5Cq7*Q>VGsMKBb6--8_ zJc|s3;+~r|C-TLDN!23o1;JxPGW7Ox@Lf0T<_mjUkF!Kv4_*-g6`Jm)0Z24!oq4=E@lXf`{ECfn2B%rnBCU1V@K+QbuCMW~KJ^yRM zD$UTOf)E{ygn7TQ2M%qa#WSLvEt@JCCgKDnx=kf#Um3pE0fXc?ju;#)di^an#m`$# zhY5w2CMKI-7-O#ORW@73eBV=!mHgsgg$od{Cd5_R!)=L@og?A#>vleY3uf{F~>9TLPzWroRKUNvD9 z)GO1J$eGZY82R?%stP?0hHNEcSZ$s9qrnx+K0vRwlR>@!1<_%V!M^#UkJEL3G$JAb zy#MRE;o6*V*vkF!X_{}hE%E@;1b>MCJw6YuU-$NYh(lM0c3u0Tgnk&o8vKA8AWDUwx;&qqbDA)V#8@7_P?cU|qH0u2X&iCab(Mz{ zlh$;oxW|5dscwnpz_+HUm@EV&mzWIx_ha?nf#rx}vOJbN`01-!-Ai0ZSgB3v8PMeU zSFbfk_$FKc40_`d8C{&hS!tbm`hB+pRfJ#_`1Se=iSO>FEEHs!|H#=7Oi<-`tolrB zu|G3-)2@5T(QZ)U#kb)N;NW7#@0_6}k&$W1FbJSUbqX%n8^=nc&$H1{%Hp^<5SJ0d zmkRXBR_G|GVPP#H7}2pH*>NTUje=^t^0z$%L-K$7cYk9{V?d59aG9$xoB&@%&Z%ck zY>`PeBuR7^SG2QPs>8vW7o(b;ZbtDHxvc;B!8NKs(IA|GP?&A#l0LtAVr&j*k?~^h zoQbdquQ7o3lQBd!B4pwc43QYtYz=lvZD9}vc=2Pbx!R-RKLbo<7=Yg*1Er%^?^3qc zmuulo{mBM^onK=FTKkP;(br6hfFSso7$GvK#@^AzsQ!EXVE~YwJxLSp2N^s90A>YY z|7%3GPh5oH$Jr#tl7w14!9~CguSbV*Sh`^sTCS&5~IQAq!9^S-g z!;goVfXQHj@C_uU-7=sc_l!qGhFV?h{-?3Yetk}W8(p59owIpNJwidB1)Z)W?CSME zPV!lZVc5FmODQKwse7!6O41S`=_$)!?(@x|<34P&jwcyXVp*Uwc z6=4hSxt|3fG5F4o5L*O2_%GM0D-ZwYZmL+yYE;O#OV}YSSq2CAAVGM~%7|Glf`HC9 zz-vqsbt&Y4q=D-%WJ~fAI-(E{@_?!V2lu}Ypo9TN;!szGJ1gYzhLbibsa@y2l-oD4 zn$i0F+_s(Tx@~JrD>{i@4obwF)h`OiN+N(z{4l&IVq+tewBCQ*S!KpzIH?CbC(#q- z?$H@|V-3}_N!sWTbwEZKNLD&i$~Q@J3HlU*xs7CnFAFCzNv_(E1r3;7i0X2yN)$=c z@X5VpISDDh!s-|&8tf-r>?az)^qX<`I$NbAgoN;LS{P^^HDyJ3lenm>=M>ixeZ~~T za8n`a@mAvX<4BiLG7?j7DD-wqqp@$Jb9Irw@^rqwb+N+6`aH*6aX>mf$m6FS@2{l(Wr?!0HLtd+tRcIi_RGGcFbcU96ZOH@!5Y> zcy35zXzMlw^bX8D=~@I=K3LLb*lT;gA*e|&-e2mr+7Cti3|g_zKO2d;^8Y{!vY%MT z5cwj-{in>G7|S=m6v6d^I6$&)zDO#*LRLnC;GA!E>q)n&^Czbwr5=HUb0^>96RyCo zQkQ*@lyuogP0OVy^SVF{H5HRnZ}TZpkCV}BuV^Er_Od|S?|IN6-?+#5=_G`4i;ufq zKt=YM(Clh0Ubg*0*&!_9dv{HMATOH8QgaMJV#-ih#sySFqO|!}VXJKiZp(X#wGZM! zTnnfEX}inXB3s;`|CApZXNuYp$FU*WEW7jGy$o;-%OU~xpgoof>d9af$RF-WEK*k( zGNnEsc&;UCqPBa2x4|2b>3iJG>}v2LvS17l$XOi?nKAaH!J0=yL0#Ir_B7iF$ZW%b zj5#MnhY1GK;^BcnSeT)p1Y8OjCx^ml{9XYiyic0OSa@q$h7_4LN1;R+>t*YS1`0wJ zNR%9W5Eh*zqDg_Hg}g7JfOMC@VYB zU!Kdyxfne!6J82GLTTml(@k;iSt;yGw!ZJDMj8>gBAELe9vEq}jO#P3=XM^nlo+Jq z`G!|zJ(X87G^0)fY#nGLSs31 zYpw!39GqN7tL3Sg-;bQE`12HF@lKrd-Y$$7r>6rxg^j$;#~Vbka|4dG&;)~wmu#+t zoVEs&5B`;02>09^_BS;O-)*TeY8*3gTRNjbVfA&q>}`ce9~AjHNCN<6-#d0jqV&4c zc@L-_%=I{bwf^_fF7?~(rFEtKo(GEyN3acALIJoXq=rGn<2yT|6Iw%0!xF=! zHrQ&Zt0o4yv`+`5?blce-v@FON1gqhNEK$b?l>e*O=N6}F}dbG-m5}EZQ(vL`32y= zO=*-eP9?c7li`dZ22aN%K~|Ei+N)mP)_wI;brK!_f}td>u^3Ctd6okSSwg50@x=rk z4_a51fR3NtJ68+b(?9FC>o+itAtQ{idXA+6Rr8x-R6JKW2*c6BFEw@dCqv-CVB~FQ zYar#l05r=;YIH+GZ#GORF88Rwu80Mgo#AmU_qW$Rn^)Cgq~!Fl6_S>3PeF#or7kB|=0;L1lg{vmh@Jj}h&1Y^>n5ubcbnJDRc=>HBFA)7QeG?jK?fewX!~T-4zj zPc;+5oF3U&-K~yuXd}7r7mqaEYF@WJ@dO!$>-^bJ)4G4!Z+7^Dns5^XYEN>m_`wn2 zL039w(*h5IG^G4jPs~jYfroQ_9tbBK-LDPt3Is`I{GMR>*e;=Ckm-hw(et=9AUKtG z+NJQRDBj8*eUobQa=s?+rJdb3*E(tOBl`bey(-8UyFiw2Z23km@W~4j_3#^cVZ*GG z)R$W64<<4W5kxGeqj#dknQ@XdFz-Ec^53}>t7)Xf?^z{6szZWsrQ3Nk<6%RplC>DI z1(vN!(=`cD8%)eDNa$4G0r2A1tSr=AWAfsxT$-|7R+R>H3Y_P$7_QJeuRs zf;KF{)CUmwZU71&oq188rRDYc2z@1lVFxBtpjoE7H{0qOv9?hh@U= zDBz2T#`Xni-J6xGLwvsC`^k^CsWlb{&f)fT5h9d=E#B`#JY z2_`qV<+NfdDKjyv~kntq+pO^0F~-A)LIPry!NM zmZ*|oAuW&x^%VDX&!a{R{a1;wAUnD5T`wllg5C;!4}LaD zSq#yeESBVK#gQocz4d=B*98xMgU9*NTjrx^9y2g+w$P4 z1nbbS2|^eUhZkYQ#a?o-A43d}J_(YZI6-uThK^baDWtu&^C);FbLL1_SDK5nwRpj% z$w3Mh2m&YIq&kRW36_+c*spT|R$7?C{=62g2a-nzK!$)I9Y*GI#w|rcJXXNV`5X}l zF`0FW62L4sQ}<8teY_?KY5(6R_lM%b62nm|>AJlunlMUBSXVWug)uDmZ&I@^5)j9+ zO7wyz5TgIs(#;?y?TLnXxnz6m>C#r(hwD>au-6=5g!DxuM6ivp84mp0^~t|kc0faj zuCXO5tdZS5+oCyx+pSDT$pDA5-03U%_4Mq2sVbg%KmPGy{)JT~4|>W8vVL7U3VcYd z*_3zu94l3wy3RtHkHD6P{a$zRmYdD#4iPfc@?O$NL%N)-y(=eAyPfI2|5m!|vHfow z^=Nd)=(XM1WuCpJFMOQ9dnEuXn}qhzvS{%UjiLU-nK|3$hZ>>^mpmglzc z83pR|qdDv4>@eViL5pJ6crHhGolJ!z9zO>g8}`~Ch;b3>IHC%`&`kPW2_Ce7yLTtK zYddEcSL+qR`L^IbCrB$=t__w*G^osdWb<*pENnB_DcDZv?HJ-DNqpdm*Ox{?@O{aKEg?JY#hTuZCbi{65Dh_78PbeXNB?=Y9~n> zPjRjPt2rJm1MxELym4NFj(;0tcR8qUc z`<>rjW0klU4Aa>G+~tPPL%7lNQ_|>6t^Qjt6gcYrKJIhy=(D+!+34sHFB}yMxtkKQ zjy_&!XI{DM*QK9cs&K2Y$=CM2%nOMp(o22Usn?p9Tm3wGLFTU=pYeVzSH;g-fhXJG zutXj1nckTi{h;$9D}z@jC;Z}Jj4SEj>duv(FeSO?nHO{!Tu8kJQ)#V+H3R1cem!Z57!y>@ zIf+0;UdwjMilzgKFABqfKf}wW{vbk()6iY?w*LqT!8%jdBYPA$U@$cfwMPehqoYql zI#5-1Qhu7g(36g_wjo|!`?H~|rf0X_0-oBHY!OQ$!XVN$N2O7OgVxqEAt0cG&Ec^( z!7cHj9=b>{n1-kO6N|MTMWI+`odC%MAp{aeq%LyQC6yn#t#=?SRQ#gBv~PCc`Delg z8b!Gas5a$tQgc#53OL2*4DU0l2@o-E4~M1B%D}**D3fyFBgrNZhh8u4>X$hpfncEx zk4~3OI8tp_{hIPS8Yvp2QeUUS!)1;U)zlQNZds9O3_hK;<=HRwPQvd^j8Be+PrDIc zuUMj-RIpl^1CRTX{o#Y#=lQ+!uOjlC@U3UIuNxh@a-IntSGjmDF0?o=e?KhC!wRGa z%!kwDx%5Zy=Y1q`XNaf$y*zUIxXisN%52Pv?g|~3s-X#rm=xXfTgaBwB_yvA!m(=7RL0)VUSq46J~=x+tU5Mc-_&n+GCCXCYCS43;`Z+A z^4yqPby4KM^e!oo``^;-Kd;jywhnt1i3(*nSHEfK4^DIf0PKaqP)G#MoPs7CcaS-8 zSSTMR?capRzcZi*q@u8!zfD`(-En=Y02v9$a8@{25o5ahSNenJXa9Ef8y-2o*ewoi za@b>T%S{*vQALrETjU2+01LywE3D!;)~nA-h4u&p(#e;3fWDRy93U6Ta~@SSGMHnt zawoNg9 znonlCz_qnWL=XzIH9^D$0k>-gUtRm%s;)N$KO+H@LV@Z~71|ibOZ1`L+QCaqOW_ww zrA4M8awlIsNWD9nw^4S?`7#tdq178L;?qsvnNoPB=`RK##{(2ou^}*I$?1yGmXwYE zr#Pp;*UzgP9yAK^zx0MQC8V78kW;CjJ7S&EHnzlCFP#kbyqnl*pvw7s}Z z^3K0p?`9DBQI7@ys6TC0Z)Rp)LV^jC9S@OPRh4!^?*1oMGrypF%Zjp@duX1{i8+~3 z0#zDu6QicjDB;Qp9Wk{lUXf4gFiHAi5QMNMz2!rTj`GQ8bfeO78rw^@1E}@3ll+J94Fc?&JSAhrU~ce zp;iY$HL#a@a2?9@eZvz<+GE%UO6y@@juqF+MVYILTTXZaInp_xS&w;)B?l4H@0TF! zfc-5Fk~LyUi9g^Ks<7H?vStp_pAKN*Y;D=1Bvf@%uNWw#k~0C=s&W&i)Qx5!F`0`$ zL%oCQbZM@kp;c-r>6}NExR_#fsUK`ef!rag@nNbTx*n+q0PUElJ+*PKVu#%EJ6dnA{uB?%(n&(qN9S&y67b7-IA;quY(1EG35t*UVQ|ND>H?+S%w5Ew4$df0$Q6DPC3 z)W=WfrPqvziZ!!tQ)Zd4H8WLg zrDd<((ZB%q8#>*3g9^6++`2e$g^3lS5eqU_L?50!U;#k=r2(u^N)|hIl1f!P_x;*N zau-nb0U1`RZ6ctW{zMq|(ElyR-My*EaVHoiE~Y4|S+wP2_|S>yG@Fu+JtAPm zychy_-B;$&(jPOOFkzh{rByAb^|MykBZ=m`AD%`8M*zM<;b_CdV8b1-K`-DHL1HezTRBSab zzPxIj^g21cy`go!3MAUw+g8c`-l4*~$eBZ#oVr`{f7ny|@1xJIMRe=hdzuMr9CPPW zaOZ?|UO^le+m0?h)z12XlP)U3jJh5su8xIo<}!PS-w;Z)COaa+C6U-=f~RD^kO9&D zZM3~+0wOMkm)&Ky9BE*wvMVJ+$BP#Zq~6MHr!NirKFp_KhPVa%?LxGQK$lb=c7;8k zK>$sL)BiJu+Ky&WD`qgiuha#By)*86(=l!cMEL9|nC8H^`C+#zCP!Y}(k2$OKO*<6 zJH!YKnfs}VFce}zi=HBPAXWg~JKsRGF8gI6HK$l4FBVb<=BEiecSv7GZ%Ddeb{@}h z)oyyMP90VeLJ&!X`%zsQu9=z5G=S2Ni|=M7zmMgZ|J?fYY57R4&iqRtmlcY1q`P&h z8p{zRmTwl_P|cBF%@Lid1SC(EX9Hb^YzY&2RDtRZ_Hzv4$IenYxYKc>NvU>$UemeU z>>_6lpH$-YHC@jH3uZ={otV5hN&Va(57N9COcXP@I=!AIHbZ$Eem-!@0sx-;@)>hQ z1RAIiy$lDp7Ckni;b(Ms z3Ot>6)X?MVSNH5mf6XA~Gb$RWujW$S?=X`_>P!Lw}yCNi%XJ*?~le|z)wZp3j-Lz9cN zwFfjtI)0#gl(L3Kv6(9VW6Nh*8ST}?!w@BGDvpR4#q;8Z6`{lQ?0>o~H%COK`pSyj zGCOZ(3`t$xY5^;vT8vWTAm1TI8=`6pr3&VYwNN?e>82iN$2rK-K_#934WFfV-9OK{h_ZLOiQNKw2-U4nVM@pgK~b-NTK@w zYXOXR-w>Ek9KF0oE}IDvr$!Vo33JDlhz-gWGJj6-H6H#c@881Jyxiz`Lk~Kw%56cR zjLQza;ODPOopT&{dFSn<->zEPKIM`fQ)BL-xO0P-nEqa3+RbN$ARY%jK!zAyOOr^#GCj6Jx>p zz=yGfD&l-hL|9vAR0aUp`IG$=ch@TL*{KLeA9-{9TKMpWX2|Dc@B7-oANcTxM2~3q z&6%M)$sN#JL+r7$uB`X?Z}S!Ilb!+Im7$$vxkBD*K9WH7P&KGK*$PmFpW|V8P)3u< z+(6u1Y7mWt53k zuXbpOi36)lmS`^!MaovK041#GzGQT2m9bxR^jleeYzuq;OaXukM;=Ma!@Va zL5b*;nX0KWmfla3m!BeZUm#`3ODuF!sY=3WnQY{3?DW`jwg*kfuvysA@y;t7{ljwm z6U2UTW1^!&uzUwXDmMH~#*zV{@DTOa!FtZT{2N}qtPAp!S@z~>09pk+T!$kJ`;wzW zUuK@bIP@d;2J1d6C{)D`M3D65KMQzT^HS_Za#S>`h!TG25_(C>@FHrmaj=JoxML?2 z$_+7K{dhK2QEBg9!rxq5Sz|*5(mM`$F&wDM8Vf&fne-XdHu8hV*;CA2O^sg0+YIZE zXvp~J$*cATW?VKpnl0VkH7!dm=4@(t)#U}bQ_6zv<{o+$#xr-yOh%8B!vT&Xr6uxt zz81=khhgimb>)KL`B7oNxO)A7FSv^XjYPPQVrxFhFcVBgtX)(>bX*6PvO9egsnjWde} z4M?b1eg3ojck1$d&1P8MmRmUR8pClxoMymM)Z{(4XXoijdfFj|f_VhiUL8Na>%iW%bD{JD&<(qsTcfzmJO!7572VF_v<`Tszb~?Dw*xl4g6?_U9E)gZU!rCbV(N#< zIIt*~b|ejI#gQms{2=j3If>RjlawBUGOM<&w$|zW}6&Ad2xYA$8Ml_6u_WGE(eROQi1a^aZO=ZEe`9c zInLP<{i!Wfj7Z@U6pj?4IQ6V##mqSz(B_cyQ zUhr`VykxqfBt%wjgP^hNbA{sjd5L1TwB~hoRtA6tW0#r9w1fz9?u5c$y001=A*$`? zJ}p?BW5p6m)K$YT9q1^ru^uSR%^s=A-B*1(Z74lkUuLz1T~C|pA2_G0Y}ys=p6(@P zJUusKC@rbgPV6x(r)r>j6&w_E+}zKMKRZ0^q9^^99Pzr01Kpk~Qe~O^JZq}SD9RP> z3`^IF%61pyvwTjWe{tC{36v*>csi}jvh9u9(_3(It&}Hg8AY3f}z_B}SAwWyaN zh8kV9=Bc0Ew@&8Gi3Fg1HN2#Eww2Cve#Go`}Vyz ztfCaO4(C^}+>GBUC(GwRYq63;^wTB%{*IbR_eEHzW8WDkE8i=#tHTo6#q(scBHD6J z+ttQlmM|+)=lJLE%ev^7aTY%Ne{ZdYrn-vf7af<;WR*fjWRFvi-Ck2IALnxRold2e z+MJ4l<`UGrju*hWjDlTC*eDU0S8xNux#NPyVn#JKQN_H|=YQq1Q` ztp=2n66liOvdi{|+GnVJX07FZwH@eJNDiS-?<=ct*}`hwS#vY%T2d@IVX=YZzxJYr zqE}a@_hZ%{Id5@j+3(3Ki+!ewzon)V9@nq;f>DkCS+X{(Rp05q+9>2hZH7KC>3Q4b zf32}j0^~Z6>rM$cjU6Q)OtRXhb{Q=O!}&Zt{YY=wK0{K>Nl{plu-X^edfF`#ff87$ zjubrDNXcx?mE2nr_Im7}K07?nPU!^SW#uLUZS#6&^zKNK^KfYt_e#BF4(*DHnRlM6wk8Odx6>&T&~3P}FbVjr+G4 z0yvxPbIZYrG;oBM^4vru zl?inNZ*?-lc9?AB}AWg|83ULz*Nl_VJ726q1Eyy!Vw5iPc+lOQ7B`gaRaNg5-w zxY2^bL^}de>3|&qd@ahnSmcpNX)s}zJWM>7R2hpr$cVf)F}b1O!x2-FGOmXC4~2PZ z4pECHoL7xFxizJ>@<_+&nIS#bm?SoM=99%HM=xNzMGTi;t3-~hN4fh>0#D4dD;W}( zpO4*Q1^2~E^vb$OL^O>(ObA-0@A{hsszj~{8ZDv8XG~vN8pQXSQ?Ypthk|9)!4pYo zGXIT{DWrfv2CpLU)Mqk%4|fYLx87!y<>xTg?GdM6ay`LBSZiXY6vZ5SL>oVRVzuxM zLchPicX4qMf74$!l?wOlog`asaj-Y^ypd?>WbJ%9lhZ}JyI5;;e!eNr0ofTI_5^E; z8|rm79Z>;Pk9!_a-FkJWe}X0F(0)FoG8R&DwsgMo*ss=j-)4)~I*kXTfLr=b#txfp zH(OjM$E$5tlMc;Pk*jp?XID{9n=jT6e}MM@xqBnY^L|+Zj^+UXsmL^ji1zH?p4TUv zXY5kZ%FbGRBs+f(y>4=*Hkxm)qk`hdI(OGYuzlzQ^zp7-=!FWVdXh= zw-pFEA7jH(55l*1i+gXayU@1-39K(iGR)H=*GFBebKMVvPMF>f3kht54d zK3a41XGP5h*MFQIy6%pK-b$3bk0|BbSMph2&xRE*wVL137Bbpyh3_xjPr?RmHwtlL zw%k7ZW6m!Eo-bQ>0){P;g=$;)?&IwZTr$7lvpa0URkcXl=(qhm4)+S^Hx>XTtz3RS z))(XD7<`PCluB9HFkAs_Pz|m^SK|O53?;#VOir??mkQdU3R*ShC`97 zU4CA{75!b5%3c+`gfe^^S?AzG$$6T$ED`{v2;Z-7MjKE^l&3JS)cbr6;gNP9ZiXzK zU3~X_S=>|Eh4X1=S~vm#w7k|xy__*DEt|N$_-d2^XZwN@c+W}&KKrnEY?_tYj?UWJ z!tk=3hKdeJ*K|h04W%t$0hGXTWG}0|4mN~o;qTF)yD#rl5msRsHt4CVAoUm zVKghslB}-OB=9Hby4AKbXp*%8XL4?Cs)jSjc6d}i{chCW@V3=@Dr^0uBONX5{L+1= zmNp?OU#A`wO6z{E`}h9$hits$itDZS=jxor)io}Uu}Fel<~>!bvvpI8#qwD;ErXTj zgVICI$8&qol^=-A<7O~^dcyHQ#(w4cEdTYq6|d{k^DtM<@`K;-_s_oxFPYtsnuh7& zLB>isrTG?3xQkVuwKcXIixN#m|IjHdh@BRLXd{=~teV|z`)aL<$lim9s-Gt`ileHq z4k#RzuH!W8?1iZ9HL73!OPv}pZ$beei2Y$hf6F6d`XY-JLqvsA2${j6YU!Z^`jpd& z{jDUwz&kL)pz4}U1UW~l+&M>*r&9l{g%O8OO%!vl|Y2RrpNxVcZI_QgX|ym#80k! zUxh#sn;Il4Cp+B4tSf7*olF&o{S(0$ArZ3hFHe9Sbo4`1gF+fLvw-nRbS$O1hP4@U zVC?LyO--ySl#K=Qc`Q5mJ<2_yQ_k#sI{@CZE6P_pcZ!(9cw}g8Y}xwTyhK#*G0v3H zk>O7@TL7%G%@r+1LYy0s91{TY3nV2EM6cftzx=hi$vGM+KR*;X43DWFeCFsS-4)h$=JBXtIvP$cNOz0_9E@(kM=(IA;tUnmy!0_ zAbBXtnZ;r|uf5}0qq&L4sZ9F8aPilNM$l=@HQguxkksp!N$jxhuN`smdF}+Fyz5z0LpYN~; z7dJf46BvhzEOMM7P2bnCqODbQi!&b{fXnl#SzPXKHwuiaNL_{(+T9k+2o3eS#R@rD z7tK>7-+h^fyY5q81=6Krl)K+YNvzwMzWhXxEXOBJMd3T2>j zWmpG_w0Ip($x^4v8WGYp+3IAhf#f%mQJ{v21@dSFrbg9ys=bZZLg!+v=8dV##Wu3S2l%^71RBh_jVjLYt!o;|u*83r6riMw?~e^V6NCI_R}VBM;XeU+V- zNBz6r@k9OB#zVe$%PSE_hr_A&s^Y&qF`0bay2r08`Emjt-g8{HAG=CI7h%03kF9j~ z7ncNA3`toTOD=e6t*~*A%%2PTN*98P@@dX}T2lT*IiKG_3#Lomr_n4~apzysr54SD zD>;%X{rWB-bLreO8#sP2$wL7EgqEaU2ZEndr?}i+4-!B2Rf7b62)W%pq%i6^jp3x| zIeZ`X@dR;yfhMom+SPY9`ASW3s99b9->miFNdXD?t~ffxDHDL}C#GXBF#}{QjCDc= z(eOJ*9V|0K<`Rky`f44pX^kj*A55F+rBIMRG%!0Y6Gr-p3)rCG4wbCDWrd|VzP~3q zrqNsBzKgJ&{C)Qed8ZML^Si~no+;4;K~X@>ET;pGcIz50Q^X-nlqFQ*u_+UUsVLd00%6DdDSdYlMvbpj zQb|#a?Q27Id|f{I2r&Q@R8Z`YNWDy2&ygctN@B2_XfmcIWl z$wGv~lw#)FPu%6TTb@}=D?Wkwxc7m>{8q#e7%Pehz{YsX8bGMdQ>D)c=dUZcW61tx zWdq1n{bPcl^56*(!ge}({`)0F#5TvL?>Oh_6vy2mAN52n=!Da!yj!lupi!_>WF4PmO#&#mbt7YT$=`y=RS#< zV#Y?Jx3c*@?E9=N zgP3q_joQA6%zRPY%Ka_N9~d#>e(ThEdQi4%A2^2rk7NW7U^yK2eokp-`dM?YHe9yW z{a_e#M#7=rm&h3IKoF5;E6{uNQXoRFD*NEl%{pgfNJ`%QQ+q8_eK&o+|+`hZ`qf4)E)-%XAfMB~`#AhEaS`Gju`scFn@?+e`Hspyv zvhYK&V2;3u7npyVl9cAsZ2PZ0Tt*?S{i?)tX!7M;@ZT4b`&Ol$%ZpZfDIa?XzQ^S{ zC|Uy^hVmc#qJSPz(i7t0s+a$&7ZzUREIS+ZZ~{=}XME*f86g}4q54BfQEh(*DJnq1 z(3y0pmp~|!he*PQiKCbx^owq59n@^5!n1rgm}NIS0*DX_F%!HpZ!qcLPq8py`&77t`>qtO%01L$WXlU{T{zXD! zrwQwE-(7NZ8K-t}K&iBYU1nRqFT)}O6zZZlK-wab{ce~tT;UBljri{^6XBzH4FP^I z^FET@WshiKW;3&~z)u6ZKqrJ(^3q8SLG)D2#~s;lfM&SCwUK zCw&1l_4WBCXnLzHcxIj-_)4K&`w#{NVStXyPI!&$Bca}fgtx6Gd zU7muXF5lNRc3+daIP&)W^%E2x|zQ&MuD>AVysTOPgndLuq0c% zBIr8ute2uDeRZ4Eyn#M$_U?KK_sjLC8AVeKj_)`=)}_uLx?3D>TQ~3dH1iFWTly9Z zYI&u#RePqLQQ6AR-ssv%Vk}UQzK#)I-hQF)V@6v>t=HR8Os=kXc#58D?zU?`KHmPN zVD`cK%D%5#SN%Q>7x*|0s!9*2@=bDCyR{_wY)a6y-BSHoGL60V>ZYj&+MIA$bC_B? zm_K*_#ofyk+M?A%d3x_=3j5~>&YCwHz>ps=)j4Zkn-8!`*Sir(+~f{c3OES zIJr(7ao_YXPF9btj>hJVMw4zm_sjEBQgMsa_kT*AjgM1X>s#6)R(htBJ=r{`4GB^x zHU>gQGVko=a=W>w?tALh`Tr9-QQs^K5DhsH1z=#A5|a{HDKrOI#Y&*pb)fGA10o6e zog=5sCAn@^W4Q-Y6KcYi!|dgIsDi6zJO&|r+1Kd%f>jG+9pAlhn)Cjw#DAK-nY<@ z;nXACF8Hbu354}@ti;dO1!9X!(+B*}-*ua~uAzn95VlD#p$}eTmz7%dcZKx><4slb zr~`XuFcg$52R3PBR|fH4%q9KVFwzL}T8!%Hj~JYckd3zbU*Dx{6~!gU4uK-)0{rvAJI@z zAMWpku6m%5@K`#o{E@(4vvl6gs^m+)EAY^5)!q)`l&>Pe_nZqXu^4{bwN-9F`|7Q9 z0_Ae>WiCH5j8# zCCLFOe{(ATk@Kv?`+g+S{Y#?0dCw2DwEK3s^-vyBeDOJmc6mZ0_gr;Y`bUp(fh(Fw zgE6&Nwk2lkVGhc4>v4|ElWMNJxjIKppV98+nu<#Cb0@~@L z<p?egXPw9Nt(RZROCQuq5p%)w;NM``uv&cUT;L$J`&eVXU= zeHi$~zM{3YEchI{Lfd`Y&uj1)rg8)+`i?Q2(^k{C?ll5Wxq7v2>sC34_P#dB>vK4M zIAyH@)$a4&qb6ne)@bN+xEo|?_q;z#Oh4@;1dD#A$xsCe0T{d0GkhOqWcqrZk+W`? ze*K;Uj?^zRtmAIC11Ebjb{y#%QZQpO;wqubvbhyN)ik>OG|#c2Iafw-YBmqFND2WyRTQtlv4$ zZy0$uy*D)QmX^2Ms}4CK>GnZYZok?Iu>2GFi~g?`!0Ff2FsZl+I)C%^-&fww`!Z`5 zq1KNTsgy)+Z98h+^wWD=-ws)NLzaEn!a8001EH9Bs-ce4vGT6_fEbd0m94u|wnwS7 z6I8TgP@T_pWd@S}6?}JEK~KaX@*@)Mq*n3bvSIZxFXDFDyk%+28R1i%9#RBr!UsHo;BdAU`d_|6#1ohlW4{Pu(SHw@uP)Y( zUjF49r`hm;{KHtT1c<(Wwe{~3jRio@mWDl1wfiMB6k(=L6q;|mMHH*{A=~0y$o97j ztdVM0F;qBuP$GCI1_3Dsj}7_VH=ckVo&|Mik?T7WGILTtW(mK30ugcv8V!O3Fx3cy ziz+{M_6rk?)fF4!S3uiO`AR@YUCszOASgNxaV@*?o&!SdXM4rc&;c>|`}YyQNgk|( zSz3~xpu?UhB$r#()E_4`K>~LJ98#2-S@1e(`GH?h75eY4VJX?1NJ&*jHQrmr4egr^ zN#)lv<-xl~{-#7+O6joVM1VRA-YcvJ;yz~oKcLWHZ*OmgUE6U{hTYe_9HHsg5h>w# zd7A3(j~8_Y7yvkVj)coZo`=Ku0~-;B608aG`C$LKI5+3Cr0*u<{!?UOb#)c|7boBA zb^2vx(_{#!wd$UPZ=GGGxPTV>77k&18K8rtkV+=kM8+xbjogY%( z)Hgy8+UBi0kYktD7F3!}2su=B=!eDkaY1b$y*L{?D_Jlg)WF_S3d35mX~h~iDO6WD8dvgISe}o?5k+-k1zo2}cy>lAz1YlSfd!wtu1atg z$tm%D2h}zCtmtdMq9ZW3z8o-#qTQ4kX$zs|om z2T`K#+1c53D8_dMFF7yR2pH)lQTpjpLMB%?(%ae`Lt%&O1;Y=Q;^ys_kgChpTy9-l@E`j5#GIo8i&AamS!u%W?cLiJ}Gr*VqYMpi&ssk_8buU>7ej3tb} zp^aNs-0{-hjJ>0;HMqMMh(S}W>T3Sg6lkV>!k8?ZX(L@YyZSWB|8Cgjb+LV(^YpiD zb>Pp}x{kMxXyNb3q1-4`gx2w*20lufiqtxiTr^)Ge}VDWe>JUa?ED=!s6TINgAybI z8C8>ZX4|_PZQAd~1J3o|(~9CyfWzaDpwX8Gn2L3iAdcfbYj=P~*^Jtk;nGq$=sY%t zyY|u-GtZZZvBGfqLK`F1!cCJ_|I#9L*+WIn-==eJUR8G^(;MxJn)h68D@pDpa2i-*8l6WQ%UplK_o-&{q8ZsZfXjl{9sX|N6rst9{ zIW91oCH%J`&)ABQs~~hcAMzU^I;pYq-WA%<#3@44=Y78wk=MVhe|=gy%ZsgNZaZU1 z1MwLwh3V>-o`9pjyMGQK!*;0zgCZegC#*xXZI2rf2IOftcSE&<#6Q=2$zc8;g1;YGs$74q{mbS`ME!Cpe3=~x@(_&C(FrVF4455H| zUl7kVUx`jA88xeKY%G-@sU32f1_whdHaeGFn)Oc*A*L)LFhRa(dcE~M z+iCOB-PEg7Nrbo+bKg^54r{P+t4kfJ zbr`ArH^o&A6JRn2^51G!AKrm+GILy=HG9~c6sII7R3PC@|7fnZYI41of0=B=%;LmU zBjcvDFHdiA#uoD9k%agPi(8X{%5>$I)rWFF9{M#H4%<0;yWYDIVfMC6AHOwZ zb;6E?5?lq-U;)wv5P*1Qf@v3%H0_X_-{GmQN5U=tQgk`sU-sL*8y5(aK7d%|Y*-}s z!&p&8O~(q2Q4OlSJmUvb+a>Uf$Myv*F+z@y%&haPR&jSvE#{C$OdITs>nqM2PZ@Ek z59z1Jf##M)YYENkim5Ik&D`9rJWHU9qEB!7rJN?W&dZ-gZ6H;(=Ru`)78qv(y6;WAI#C@QZ1c< zo$Kukj=$O2cUHjNkQ_R}+qIJ@R@y&tUdyRNTn9c+2UzhPp?MbXfgar~uO5f#yBzY} z;WdnTtd2Osu_ba8xC6dla;x5O#8a{EAA{F=+u4pC3yL3H$}tQok+#CkCcvCWQIJNn zPAQw(jJ+VWmf)_)U z)r!tU*9hM7VV)Rpa^Mdp0Zg7K_N-{4{6{p*VgIL0A-6jzy@EvO8K1_I6Z6~`8iiF_ zTYei4#I~$H(@5bUGL<@G5A|3FYKeKwDCDlojQ%mb995kA31LOaAvIk1zI^Os=um%O z27oAy$SWZ_*B_dh)nc0!%k6wdDx(vsezu?;$nc#a?w7&^VtQ2k6WJDj+MW?TVm)cX zWwkSRh8)(IXv-`|b_?0@hD=!u82ln*d`t}LJPA>YC5KxqtP+IJyxGbndsnA?>Oie7 zPxr4`!aJcgc?b|IH`j=GOj{a zKMDTU+5*#XA=o3xsUy?g*=$5bXW-MJNcd|E51|1Q>5z_?{RT#cu}p8jEy&ohpcs|- zt8`gXA_gIW@vt;lGGuC435TtFz$)vR!BD)Q+_$k5jaLa?iAGUm%ph!WLJp(LepK2a zoj(|o>_3QCdWzSn&aBL-bPVCy9b?xbyGYZup&WCqX)I`LsTS<*vcP+3XA;`Dd-3p!X(?y@Q43t?wk>;loN3PrOY5eV4g_+4%5TqwrUCRJY- zuEP)j%W6Y&8=NSrW8i(A`|SaS3PTbDHsVA@BMWZCsM)LtX+S^#${qL-pSgC#xo8@^ z~u##&a?9=4nvzP0g+}`hB^B$_;hZHHilxYgv@=Y4R_XPa`oL4pW%^ z7^@U6EYf$z?!=DgXQ{}PVO~i{uqXf+VozRzjWB+`M(g~1ZNe0* zTh?aO@jqsHPzoDN5XhnPP(gm7V%D(YMqjQ_dc+aw{m0hZ&{-uY%&w#mAx0*27z-1N zJ7f!Wn6Md=!cV_8*)|vGa56LN0EbH{^8tQzWl42EWD`*Jwj#-cx*IUgU5+p$d;MV` z@_$6qiHCtm`p55)FvWDzM8BAbxPEO>&qF=>+P5z9A@1t~gmHXov&t`-;r;bSnLtxW zcXuj@u!XMeeyRikx94b7Xd$AX>6hB~bV{B?D6ygRtJ5}B`&;Q*)M0p%DmwvZd@VE( z&KKodY7zE_jvs}XFDyd}xWrYZpOkTP1qEPn@O*nn20E(+=TA8mZowdLpG(jdXi?h| zfns%S?Xvw+7_i*s^@>2789RO0Y`+y9g}X7t70jSc0%3!3eRq0gbGBb^(8gV>rY-L+ zUZ}IW;6Fye(tK>MuR|OV6-^%}Gex`kz0W65c-Y5kq2=B^WIeVBNIH zqc8h@dq8HVyu&vK+*|pLQOKLYvrG1zd~aL!Xd*b3H9Os{Cl}XHrtL=!NX#qyS5ik) z(PIoPDG8eh8TQNaf}P{y;>JkgU5HrL@h>ZM1!LCzc}07PSebU%yQ-iWkQ`!ghn^zn zA(3l>Er=eSAMSZlVqmozFJ7F@*WUQv8ub1tM_+)hDm#}5s7O5ACz)20b+0<*k3Rif zg)T`M7dg07S!t`UKX-%GD%&cq0|BOWTaB582YD9iJtX2KA3$OdVM5oDl?TC31TxJ` z^CLMpyyw9=3c1AmaY*SG+~4*<5VP^J)yVy@Kn>>_{G!64s1td08XE@TImZoiJb`W1 zKvnt`?u_O2@ATglX(O;FiX%##tCVUnX-3o>`iHpni_;fI3%?wB3j17kJ|a?pWeV-v&w0k{3KE;w z9pwxS$tXA753{OHNnPeuB%&a}!#N~R=KUAK&||M>`pt63XNzSl9kdA=weR{0SC;U( zlIF7*FS zLvLO?TONF&E?ynvCmDX|Fj93|$XNdUNAz3a7ET%HIrQ38l9*u(vqE)Oy%252{jZ9JS|b?8W@=y4WOa+E zQRoXqG0fB)_J(kK#d6txr$Ge9L_)pj29hZJ-3cOtj)wlo5rrrD4uVqpTGCarxuhRJ z20bZ;qZTWR0@k8fZGJ;U=IH7RiXn$3OhpLw;@KVAg!qO)Bpn86V zg%MX=veSaq`nEjsi#sPud$!4RVD(mylKBf^@ISdelzwz3!RhgRL>+hdj^fa{jS!tF$_J|xx-QVOl3Ns%ZI zR0x}+Z(9>;qdMi)ePhc+PY4oa?gz6$=bKKfl}pfo3U;R%3b;g%oDDv$4JWe5=%MF1 zv`il7T~Nqyg%QqD2Do9&qL_^t0N|d=Ls-YKkQ-QaHEu9w*dMNg*_d64SLRYlaUJ77ubQIzG>EU~W~k@P6zl7TC{GK@RV9OeQz`Q(}oY5=Y8x0BAubQ|L4D z?d@2MH%wCG$xQs`AgVrs)3P+S_zlP95oo`z1xqp%DD%fnQ1MVip=Yb2Ckor(8~;M8 z4w4yS;-*+YEc}suq+=5$#1+dD7Nr1F9=a>jf%_N-3WS~mF_2oDD&NRNw3|fQ^vHNW zbhQA$OId?XSNI=!6CzgHJzTun@mFwxXjos}jw_Sh3cJxrbPNt6*7fgMu5;Pay{{UT zVSbznlk97=V;03#@N|LO1Asu$i4loCDY>*@R>wyrI1DQvAZ6%d^jSN;j?cUQk@9q; zUxi*^>kPoJipUF|c)?_WOf@IqiwVs`d)eFhoDLitAEwM}eL+Rx%RB&X6!u6Hd&(i#HtW|ryQ9k)~C`;Phf`NO23voekHZ10!j zC9zMNFA*W0nU(6hBoC891uFcDPAMJ6tmLbBq+SycBwWG_4xO;*wM|qhB!4mFQ1>f@ zV12d6JB4dMN9|*p&1T73ZC|283_6|>BUv*Y-iE(gy8Qr=t-fq4EO^!)&s(qFqJ;(( z7f-w`ioC52h`Nu>H8B5POA)^LcyF6@iTSvwv;Itl;h8va@_q>UJi8)oJ5O0!f6vo$ zo+4SwB<9@NkJ9XZOA_H*RD5`y_!lAU>dmlk+j(nknjr-^C$M~9-078{wz0peopjSX z{;kFWR{PP-JvkwM%l|HzyaFnG zn2XeWV(8To3Cl}0)->X=lwXu+gLD_Zlu=wph{ZaqpGFu{*#QRKnB^=g7O<9p72kSr zV5OlbwOso+&Ip_inDL2nMlAG|77Rqzi@!z+X$%q5r((e5O8m30g^z(EpEqdkVgsf~ zsmo&2o38$CBH;wAt742LWtOEEP15zm8Z;gyBku16F3M_-?`e#x^?XrgXSA@W)V5Z@ zfI)=xg9h&kU(T2*@__gs##{<>b;y*C3`veMX+@JAlEVX&An~Bua-7Nsg^Xx{{RH zG?GgT*{8Bl1aAwZ6e#qCfNj}@@%=gqyiQAtM+4!?`$^s{&;2CLqB-Ck7i-&5-tk;< zMiD{GaQExRCFKtHl3s#hG0N_J4NRVy0LnxZ?;`IbJi-GJ5i3=>SBwa|XOI8!zsv6S z`yd=s5XoE{ZAwt#rsv?vc+M6$F>=xVc8g`FqeGHKo3oYJeOf3-X3Kvuz7djLcl?o| zGL(UP*7&daFr^$=Fs7KJTk8fc(VZPD7k)Tjr)6!sQY-GbyH7%IUNdaFAMXw{?RJ6g%PpwUO?P--D7VuQy2VPlV`{VA zJqdeJBHQQgzV%14c+hwHcr^50dj51=6bSBq$Idth?c2Yew05UG?)!XP{k2})e19V$ z6Fd!nw)8v)NfCZbft~Zu;KEY&-Sjk>m(gKOye~QO#n#pAP%SZ69pJz99z6AeJkoX3 zQ;2KKG{x#$%x{yIW}qS|yd#A7t+Xdpm}@=_OBU|`8qB~<0OgfbTTU0((_vm5w=vWCnNg5ke@W&ib1&?yA3SXW~8GX%BW_Q&q zkhlRj?iuewc)ih(jtYz@|H@6gxHQjOi?Q*k(u>4a6$)oV`xy5d5)Ri7jiWq@RKCb9IGW0Oq%=ZA}VW-N~=`z znh2@he_|urv96MO-+BPVJOCtPrn$`_c<%*_0;B_%021zz`W+2ZUUQ=|ip%|ZlUqNcU4PkN9@%jeK$E>iT#W6=2PW_X`2 zstD$ugKVTU-TIJMEEbi78xLxnL_W$1KwB=4okZ`5pn&YwYuaf5myQO}|Js~qe3*oi z(j!YZH_z7>!t5H?p>0-BZ2k}s z@Mp9(Vn0KIM(=C@N~b*@(Ec^BAa~WwWOVWwhfFOF_r0~~^i84Nq!a^Ee0*m;O?t{g zFWnM*QWSD5BNBYn95AmK4sh+% z7J_gKT6#GnBs~Z47r{wND#h#oUwcZ_-6AS;0Zw#wO_HQ> zi}4_Y@x(9*$kc|zpXV>-5LLTYCTxMm($MPJQwrF`!+t`tZXf0i%$$Zk@Aq;kEE=+v zI*ny<&+FizKs)mST|0Q69g7e)4sp{``cnp4!F(8}$QHcQ<`7d{39_J&pPQK|ic(x~ zS9thsK?75B+Q;q8U>;r=&!1;D5w9@~WdvO1!H|pc%|1MTi}X@5{2a9;6?*r&d>vNu zS?zk_L_^^=?uP>3?SC=|yh(^uc8xY^MKRq0N2N0(3;>8i<6PkH z;2veSNX#Hx{Jt7d_SG**#`tth*nJH)l`bqf)j!74`Ecu1MJ7A26c zCHig!r*D-9O6l~98PHYWQK9>NBf&8cU7;BKSUK*EU85@4)*6`R!0$%qHLkwg^eKYF zBKm|9>hxcrVWm}}J*yYLk~>1+OC$D*?XoDJTR}WnC-kvG_@=`Agv11dhlS#o;Hn4V ze-VPy`T3nZ4qK9wCX^$RWNQcUd_%*akZ&3jmw>o z3lhC{mv77k+LruIoP)E*!l*}{PAr5=iM7V@@16)tcM3AAhGAP z1qGxOTsXU}tW~JEX1m|+YrV9dd`sGV=gPNXj5+f+6GhI`y2;FPL~@(~y4i#cUoH+5 zpiIwQPo05;k{;0;(HB||)Ap7V`cA{UNikke)&dt^_myx{UeC{`@~J_kgT-Bkxmur@ zY5EUd&35S?ufC4QDwZzV`76DD$})pU0iyrENin`)OE%boQUFifhfT1^E7+x2-zLk5 z_Ba=I*L|<{YRG8oelHT3yq}qo89ftx{|KN-I+;J$`MsoEpA}4@rTiGFQm&Y~d)BWI zEk8N|k1og6*xc}7tKaT2*Oq*cEbrtbbt(uv3s98>LW-AaO&mIbwkh99!v)8xci7Cx(IaWu!$|nc~~M&%pmT0bB^)M z%u{ZD12DaDvT9$-j}4N#*;aZSJ)Ii~0)7_VL4YN&qAmJCkNlxvI}n8_kS&M;GmHyS zn+eBH8xbM*J)Mjq%7oppGMSs6(uh(NT^tce?z`1l(P&{oX^a%>TOb6~nXOxQq{tzX zGFsySLu5!I5URJ6cFQuW6_IfyZLs4JR8sr6f}kZ3=rB~^!?x@9jTaIuV3SpU>x7a2 zBT5rxCkiIFAaP|t@atjvF8W7~&@W@}|7rmsWHEpW1u|;tKnb0EQ8RMNPe^JKb+czL z4RO&D#O>`HgpEG${)9_bSkb(;@@xWlt-M8LhxNExn<`~41!-DUSlQu9y7Ssa;h?i0 zB*UdfN0zQamS$$kSPKIypq=2_zlYB{lJIZE-;a|rZqV>(T|j<*xxewY2SgdcvJ%#k za{?wwa?SF2^A9JoOn*)$O$8Zo3>SCan|P%uu7=Hb`%E#F1mi$ryrP4NF-=)ro4aMu z_Dt=-sQl5b+#4*zt&{9Ehn~8V2N6`^NBmr8*A6z7w5No%uwTPbnj`g7eAgw~jP}nf z3amftZP)sJI#k@q8ku(WeZWL~kH-unSLXAtM{EfB*R8a!OQ!zeuAQbP1t64jL-SOZs+hB|Qzp-HvaS+UmN7S=WUR zt!U#T6m%)qTpTaO*k$`;-m$Gh|GVz6lq7UrqSyuA zFW=1f1qcXoXm~#d-6E_XU3p%!`iSU|jSpHN*jTPfi3!-s4XZ(?POS;mSqTbia2ijV zI)OY;b*zqgE;d_NBO6nExoDpqBF;7qQ_MQ3Cw&C30VK!3GlewUk!)A{S>Z0Ec)85oDibl({U!L9d<2bq7;uv^47t3UuFDiVV|7&K_L|1W;DTu&I_I1 zzFSS~Y&4$@^s;gves~{L3X|4PaP!v-wBM##wZ;nV$slApl$;+6O#=5N>eg>b+O zbA?v+{Uf7TGKU^q z$gRP+Z?!;=3l^Sj1-IqMf=ifo)Jc{c%ARM zquG$0uj#PtaZDbI$_GQyYV;0O3}_C3 zN0Hf5-EJ^fVImz$e>f0wt_gXL3pwm(Ggq@#vOXQI-qM1O(@a|+z$_O!OxBvbQjfzH zDJ@A&rXT~FCX^xj@aKM$32HP>K`NcX1-gGeITXWdMBa&Oy^qtbk>{K1)Nc1w8>D zFZ6>H@bkc=ON$PVmY$Lb`6|O?y=d8GJpC~PXG>tkV}ayUM36z);jQ60KOe91re|P{ zb*1J~n6s-<>0`q!u`R{ffV1-I0mOigx5Za?n`#GvEIxAZu&gxAh7E!7?)p5_`L&h2 zFsE$b(>P}!9>~UQyO}QA(LwVXF!_|7FYp-Uo)n&$QV@zg763I zr8_6)ukR}_AdB&^E%8vF_-2)5-R3v2*|=)RmdgH>q)p%;(R3dxRUb1*=JLzgrG_Rf zYLK6cS0$u@APi2DAKJav62xfUsr}8AEk9)H%0w#XY!*NFRY&3f0oXt%ztb`eTN)+` zp@}QiYNb-CI+bd*>bM>-n3mPtoM~-oajT`FZR-cOZ5kgPBOn`_qD>C5Q}S z2GW`|APK|Bq?6T&JTRdE1Tql}DN#saNJbz8B+oDqL6BErbU`8zD3T)CBFva=r3%G7 zf=VUhEzK?EN=3O&wOkTHFexUIhKY#rn4z^t)iNm~v!COIpta9MGX)(+LbK2R2DV=S zzrq)lMgqx%nu5L}BELv0G!iq1_?QFT0m#6m&EzYci4`*_Gkih0|39KkwxbhkBxooXycjZ z#-At(%R~!7N(2Kf05-5$f)JQ7u|uLj1QRXd-@h=nez@(drTW_YM_ht*N9$RKzzuhg zKVL8}c>lD$^mu0fmeFVW?kKjsXKwk5$BLsB8g}^8&y*g28z1)v@Af(TUw@c5=OgiF z9?m{iX$VaJTCWW$wbpO!OF-_4J8#{Pvfa{HUw^?6|0g@fwEBs=MmD5XCAXu0sA2DI zOk*0;n8y4aPrdoAX6i)@yN7}{BLDyqRQLvuL=ojQbC7}@B`W)17JTxLk+H5}i3I=? z0w4s!Vemz)p*xllM6_`sy$f}r&%53YAHoxX22@1aEeS8z(UfdSTFjud@;t3HX|1&; z*Yh0L^E|DUDpnoRpmeS12?Pis4AV@;%y`UB#^W)|vh0{?S#jI8EZd63Ogm=UmT6is z%SvZbLK@6SOs-ShzNv3wbZC5ZXgpge79GhwWKRKta!u zf6|2r8Gm8`(11h%7#2*-j2xvvQ)pwyu)Y|XNci94K$!0*Y+;bz1po}hrUXq)tN}D3 z`BrZbC|Kb`Kz3+ zuC9TBfj4+ni?aQ_+5huhD~|VX7;l{6#x$lejcH5+{npZ$eH(5NrW`sN{Q@8#k`P3F zKXp^9VD*tj)QIFimVpDhn4<|O;6=u8Tm7%6L`8=KHL+$;L`rGLQ=TGEX~*$Ar2*MdUNK+c2~ETj zP@+H~3`0sOY{RfD!^gsg6|?P_Wf~F%09UK!QlT(WC}t~qyx>$7OCexK!PP*30ud0h zAkG>e?HwyVYM5Gk03Z!Rdn~1prjeAwEmns|3frn2v+Yze5wne03@q|Y^bCoHM1ewU zj|sFyDWpZz#)mafrnR-by{omOvslb$NBhxZQzFP9(iw%+%8SPmmLXj2N&rcS zinXI%cEhM@0A?A`v=m$#e!i8@^FkE7?4x1|_ANZp#4Mx;7Be_1$3huoW(Uz~{%b{5 zMFHdQKU74QC8J;o0DuC35Q!LqE-u#E?@6j%dx4VQUz&m7seSXh@HdgD9fz&IF4xm;Jbo{cDyWTO+eCUP3?NzRS zQ``_X+k{lM5c=GYIOb<+#lKhs|N_LG%~Dj5hBr7l}j`T6m!ywP~OGj`fb8W60J z!v9;&A37#=@V-soIi?e&nY2@V`}5$AiEqDR{_xavLf{t{H6?6Z^I=ko$Bv%90)Jr0H53ZvLeiqEQ;glIyQ=OjEg4w>aXJ zCV=W5@5^JuhMX`l2@rq?n2Csqm;#Y4Ya-I*mj-cw{wT;7_CcKAk>vkPpgRfj0h^|2vS7wV`xO51uAXIbdS)sWvz+(; zeq2#qru5(WClF~xU>d$5m9pk&AAWaJCH}v78YO3*{7+x# zx%7f>^g?Wp{I1MB^x)Qsq370bi!Ru*Coi~w)Dx9!*Tkks`Hgt%2S0k@Q#W7u==y5? zZWxKKliqpOQ#XBg?a1rDiPe0^`@Z)KSkq1wuveEKPC@45Af&Dq!gB4%gaA!nX(cn52!Z?0khW4`~TzF@7T8|T^xAzj@xe95AKXc}VA6?Rsa`VGaJ$Tc-&kUjzR@(a1 zd&~FVEMCdK+20Hs)0n@`8$tF-vXBGei0=*2Xoz(~hzxa9n-3&VM0{~wIdAv`LH8;G za`<9(N@=JiY9U6FYCp^Tm;snG$DegNh$3roiCKf$4ZVv zMB!=z2>?LD2;{t)YnfdF0r4@@e%3TPZOf3RX09qlL>>_^+eCs%=L=QDB!XlDA)P|0 z!ca6sGH$wQR~Ot&!i)(vJ<_g|C|2AuV=9%>ERmX6raU$aWgZ=~a@lw}AFG;a0<&6n zsudNBl?zm$2(5!2pbOnmhz@zpbC zv_CZRSf97X3EuH+11*52&_7%O0Dx&JdHj;jgPNRg{(k(F<7V7&qWZ~-(u)gh&i3fT>mSNKC!ysy@?Nym2RIum!7!u-W}B#fM}gH zBcbh-T^gyRy5hz4n+G+B_L=jiwZsj9R2+C|Y#S{B0Gi2}vt~6XO();~>Xz}=IrEP=?5OzA%PN-Y-?C{W z?*PJkK46`a9RBR46e0k~mKk%p+mh9Z9b2}K`Ky3tdiLVQX7HRSrq5p3(PX^%=v{sJ zUDY3(nSJ)kY}?RV0kdb;?A*}SLUs4tX)H5sPEVI~b6d7f&_r;+# z>=TQ~OR{_@3P%=GMSm$p6mIjJNd6>`vQQ9O>ISIKcq%%(U4(T`>~@-0f@Ej5^pnZO*LDw38d! zx_!vqDSO|Xe&~Pv>$yhn@_Qa!+0@bj!2j^kPakBz^v5R)r=0QmWa+}oRy5DwZ}C{F z;sapP^5{?f$NT5^-E`Lzi%&S?Bj9}Z9&g`8%`30DWk=f~?>_e%PT{kUY@D(mIIE{; zV9gz?$ETnDvCqrlbACI}+0)(p+_hH^I+BZhWy~ztcTWHBezDeAeCkKO-kScw4UcT` zN?ukcFF2#`pRerj8mpy^Y0T@r^c7VJaab-Cq(BGVv;=@m!QCM}fNZ2Eh4+30*FN_H4%k020VVEG1b6`T5gChU10FXZ{I9Wg-{? zQJ@qkBmhEffSmVh)Df^rQJ}d71_XhEf}_O5paTv+q;bOo?>_|v2KLam3+Q886v%*@*>Mzu zj$1a?mUS4J5I`#;U`51C28VTD%z!||(yw>&s9dNjS4A&ecQG{p@L&D7EIxi@$GkNE zUV&@dSHGiWzYgoJ?F0bRniA(7XkT(q|7HLS{HSvP02KIQeXX>6Ejaf|6djjY)J0C*Vy{4tqU@@{>N8Wc75RUA6QZ<;k-rrW}ms@Uw?AX6lrk# zlDB{Mz00VQ%k#7}?qGl=$DeuH0qui>ZYCq1yD^1Z)A3kr;Mw0j!TTQ< z@4snB^A|pT*!7>gu>FEh+1GvO*K6A9k0I}M?7x2O;FZ1o$>!FvHMjlxwlxQzeAcl` z=L#XyvFaZ${kP?VsT0rs)Ut(XN3%D$;)jtaJLB4GF7r=NSm5~WetcK@UQebp0eG&LV_>^mvZ+8!Ud`kUWaRqZ(Nh?AGj zP0a3^cEeA<_{bz?7yy8p_Il4JJ~DCt#W!p}{!`~H`t8qtuyR{zHw#$lnIAsy{7%c0 zhE$vX_{HyR7AO~;bWRsEXKZ!bRX=-j?fBk@pYry(u^Iax@a%UEz52yjQ(iOKwfJKn zKk4R6E`E7i_VD*#bb`L(;>%b5d3CnKGe7kCe_CKvJl56hmaDG1jfrO+di=ZRn{6#^ z+n>AUSGTR*=is*;v+tZ)^E;pT#doiMy3d?+0h@1q&qo)%a@{@cXMXvVmLGob;sZbX znUNo#erMmTKL-J=*0VnHv4tHm4Tg;aSAY8(0J6Jhzf(?|-O-*YuKLZzSFdcJv+(%S zmbIt4WNF2Jef!4pP8g2~XC8UxnTyO!OH2Q%-(G&xle=47;v{jzd0s!CBjeHW`^t zr}v(p|N1F!Qra7vi{A6)GY>HQ8-mjMU;OOG!3s^r?Q-5B%g#7rv9tY&|N6a!EF`4fj9 zdBcNS82Iwr;iUg)`S9bF%QwVj0|PgvF|Xs)5v~|!5BbK+uxeF6sEQ8SZUF#+2vDF1 z`jRkm^!gAu^zvfxFCkqV20qtft&nRRb0ABt@qm&3I-qbNc>bDaGa`-y_(BZKq+KUJ ztjh%f!q>3+vf2Q_qO=)@;;~2GG9N>pQuv`=f`u>8)da*W1xkU;f(QkGGyno3v0Qe` zrE33RVS9fzTX6-NECAyOVUZO2@k&I&9tl7x(U20PAy7zxQlb!sX&KT$L?Uu3W!B`^ z0WpB5$&$h{48t-}8jQeN6KUVS8rCOai_&LKWP7C8xc|ag6S*0~BP$jy7@9uAjKveF zjMCmjcEoWiY1e)KA08O(YG1kc9A#Qg%qpi6S{lMI(q(7A^{=`X_O&+?>3RJl-8)8C z9=dqEtr?`0hG`fk2-I2^o05J9FA9v{z3`K%1p4@p!-O>dd85p~Uw)OP04BbB&H}}cD{9GGH zE0Bfq75A102mtZr-jVP0v45N2pDkW~XK_oF@&p3FQtJDU49&H%?2`HSeiHP+y5}c` zW*@$An*UB-8sENt90220r7iX5=EnzLUjBp4#y5U+Qn)N<3_kO#?2I3Gyzt8no!?$G zqv{-SLSp0h{^gfjKlz1kc`v`X6ZFDE4qQ^&wEPFZzNdZJm%e$n|1KC$75jdD`L$&& zkWA$Kiu?btsmW^J@9poJJ@=Z&3h#TXJQu4PcwRLgI^dRAw%+<4EG ze|$**AVJH*#LW1{=hw9(0La+!haa$G)gP|7^ZBkN=Y0M{ADQ{wm46!CeHviz?uNp`m@q_Q4@t#{QW{`s`ul&({e8%U#blib+9^R0B`o`}s z&rZAWhVSk2H48&)M=Nh%G;ih;BTJSY=sx+4I~4T%`Iqfl_MYQfUj5>ie^qRm|E14= zcAGjtQ@3CH)E`?v_0X z?EAI@_lmvp@P;->{5c@nI&8Wck`}W!aIO{7vedj5Q?=C=LY{zv!{psk;voHVh zsRvxUeC^gJFa6dd`@Q{B?>gj9eEOi&+aCSyC6DiY^asyA<}C^1$=si>8dIhHjyP40 zJ^6#n?yjQ2PGzrC{_%+Ts(=2<^t~zq`BTxi!zxwEqBkB0RXYnzKC?| z>?2P-=#b3tBdfAfKlue-p%eE0rSN zAmnx_2~pazg<+}o%1XT~qzlN56qFHx5KSs*|FFiNbgZ4mjH zRS;0M5Ii_!gZQ34^m83FcWqa0L?r5)*^)8=PvQ zZSalBlfu4y-8F@)J-)LYfr%>BYT0pgAOnY5lw5-Wesiq-0c*OddA%XTOD$Ev0c;qz6AR+p!~?QX8thadd?j&gSrB(iRs zy>FKqe6-*D8)7^Vz%3SB$8$RM+a2&|GQ$2Kh=E}wmz z{m3`(%5w8=mWEh6scGF};)QHQSNk^)a@VZcirF3MdqsJ3`?Ky_n_?cpE&&6P-vtls zW*^#6KJTsb9!)FIH)pY{D?>wT)|a^5m?#l-r4o5i!viB#!u)u@R{PnO zfD-R&S2dtSgmr6s<3}u*v(0#JNV6|a&lx#W(GjAR#fbRmMujcgq*F_Wiuar`J|Nh{!urd$Y#-R2Erf`vlJgu#RL4-W5c=pdK7Ck^TXv{B(^M7+)vQBpP3f^@ zB2%djY0)&J)tJ8D38&8mfzZEYHHDpt5y_$znZm05s=BU1(=Z5tA!Z>t?qoeaDMctP z!3#V$&=t;FI(PC6hxZNvRPy=`keo`#8`jn`iM z#h3FoD9;poMGs8a7JI5h01~8xm$smN7_~4I8Xwz@Y0T^Ssm!(8c0~3eYm~+u0#~d@ zo)DHB1!`HJ*%f}uZdf7|wHXCXO2iS!4Pt_WyyuAa4f2M<#G#Ny1c)N0>)$wG5+;U- zC1lqv7smSBN+BRiG03I{@NK8)*VXzcUK#>1ppy~7AU$VCc7FdDc>4dd_ucW9R8`h{ zpHo#gzMMnn9D#12o16tvKoJoTP{%l?QAfuy;F!kG8N)c@=;(|AR6xn1jbxfkN4n{p zyI;;X-&l`be$tzzqG}N8l-yQ3Y=IW~%(brmQEtq4TvbAbV z4dWp%Qu2lyYPZavnyIM*i714Q#HA%`bH(Y0hNkcC@~YyQ+G@6Jv?L<30FVNdkd~o* zQR}cjHgpL`BvWAk1~SU$;G`iN@)W^P*UW^<1Zar>YibBgvIqc$F{r{|o`iEHP#}-1 zeE>+)kIUg(3?hWDU~HnpM^6q_*kKul!+z%RP@MuK%*L7vgY;^B3by@W{(;+>6M?$=hk!`Df-Z%Z-KfUEk z_Ws)*S)Vd5x6eEIH7n+udvYdUtgdQuq->kkSuI0xeYgbHr70(#*;;t!zy9+(k8SN$ zAgta4d#jpT8yW^TJ)4lJqSfaYBMq^87 zvm6=hpRn^Y(z@t%uRWy>jq$#ocH$Ks(Y=orPy5*0X9x8>l%2EYHYO(k!ziPn^dy46-1$QRDlcth$2hQ zz3k-qbqHYZ+iw1Ug>xcw^c+2!fGwLR)o??}F`f^!ztYpOuUBhG`9Xqq>xbHXx{kkQoWa8>)F znwTAlSH>&@~|1=g&@JvavOxyzZlJF_(Y$Z)iLhLV;&Z{emU4_CESw-~QkGM)Mv3I-^gl-Gm?f z<^!*tQ+)V053)*k4|$_o@BGF$zV?l8|L6bS^R#9F;2FoAefsf+Ru+f4`=-oVGP|`V z;zZ(!YA3a2I9)$)$%06<{>+o+y1UnQlR!ivIe$%AAb zG|MmhNdp73C4>|Lgg_ys5R#!GQ(Um^P^l`m=7d?T!|9c4cF*0>`}C~Nt(HCG$?d6U zc5T=>;1%_STD{(PUyLVyQB~tR&ZS;yu~OP|YkY6HR?U`(MWcyiRYN?nNXlu7Y(-Ox z#pT)TqmkGT6IDM-R_~BPDv!0cl>gdX=Ing-MJMuDG}hsHm*=z7l&?t-0X!3pZFHP0 zFli#qM8FIj_*82qvWbA$SLAuBQ1sJ9B9A>SQCN;Gqn2<4IufNN@`>n{#WS8;HfP(S z=`E@3(!IS^B~Ky>A%tb4v?7XXQ`unu8aC0_bU?mB{R5;Jb|g0xAn;03x8k${E7xBn3*r0$B)S z&=puW6EHDr4!Srgq~DAm7KQ%@&Sv4P2ttWN23QkoV$Dn%NHdcOZ02I2sC>nTm0%2O)*G*$eej9rcY4Uruiv=xnv1^h zg%zW@NRCItwwF*LB_lmAuF0PC+RuLeX1zbw)D@rdg`W|ySJB0bp>y1BK$jU z5dh?8pIY<$W#_*8_=`j-JN(E`zwl)Dmgm>)Is58=I#-B7-?KM<>+Uh3cI_R0%b9Qa z@^Po%fBP*@Z6E5}<>fDo&aB~$Sp;$)cxuyoUU$jAoOC%7ZCiC?kB2$1=AQBPFI-%m zkZXVbK)0BHTE!{LU-P!>X5^o{Z*{uKnSJ5=u0HOCn?Cldfph-(gYP+Y``1_R9CNBV z-uDlm+H~6uzj&tmNH{8@1Do#Mw&K0-{q&b?rlH5~UbQc|95dBR-u3B|8k3m0bHo1V z1oW@2Zav}JcV2P#@YYqE1_VHS@ZsNXd)vF_^nBy?o`?Vd(1p}F@BHEg^uvGt>O)79 zkz-HX{lJMI_~7Th3`CjUZ7&=cJB_n`(}|zH;oRCp^uU^11`87$@lv7v(zm@Wz9GG7 z*OL*odEf9qFK_r&|L8zn)Ow-25S0KBJNF$Qxx!j?<)`kCCyv-|Om%HrfAHitzvole z2=t22{p`0}>{BQbZ@lg!pRKJsMFDjBGEUBLc>i z-Gygf|K4-)hR=Ot_~>1=;#;0xwetE)KmOU%CFj@P`OTj`aLekY@B8TIzXGKDwyfDQ zT%3FU-@WzBIc*(nSA6)NPu%q6kM7&Jad7F|KlB+Xu#|oJ=Eu9BY331Ol}CDkm_DsB?tSK;r#yE1H_)^}m48hlbzpD*Id8sU?r^{KBm(GyZtUnR zqz^%2>iOrMwdTkKbp7e@$n%@`E5?nhAKI|s zZSVQ$XNV~`c<_#!zqR_YHJ4xV@#8O6pby>lUr&L3e7w5p@(+FMB8|}Z%;&yw=Ph@w z|M2Vo@yq9WzVAPB-#rA)LLjhO|MPF1{>2+Ef9;Fk|JBAL=PV)stzUKD+LJ!_{&%1E zuRr0M#;I@n)Ym;i?tA7FU)v(A+H>Cbt;GeGOR0N){-`NTc)mDiiPygcQvxEBw}{Cx zIsRDK*E9s72pW9H_gsn)2A74%5K^h3av4I;q%t#HMgpdtIONs<1D$j^2`5~A;6QD@ z&lJ4JWg3|w#8{PH<#8DJu!tsLX65GcBRy_D2LwjtM24RXI7t8i9e}IAYN^awBcLF5 zl*%?#AL?l6Zmnxf<(9m#?}dh%Rp|nx3UA4}b8LPtk!(ghtwfuus&1>Q&NAkNyec(% zy2@>H97Iq8Be7T_QAJWZz86(G2FObHg52dq&MXx{2oLb7Xl#?^Xy&=fzc8PzC7P%7 zT%;O+Q;LO+PV|5f`-J#LvYG+Baoy1XqTCG)%!*M1C`DRom;IvW=M@j-IA4to31LZL z&Vv#O_XkQklJ%Xf^)Wty1^}_@rpBn(HJCQnlbWXXrfMfMn&P+^?HRVJ z>Z+wTlnV9IXf?KV)lDrn#99`%RFA)DrnheyXl`=4 z`o=2zChYp=w)&*wm$Lo6{VpL|vF6s6s;K4VhPwLG41iX=t-Uoaz5d?5oU5gS|N8Mn z-*cn?@rWZ3j9qY3P0Y^?^$es5MQuZykXW0r^CP_j>7X&dO0@jr$3FYqFFw9{mkR(Q zS~sQH>Fw(G8PTbk+H7@q4{MZ-O|8ZBK;HGLJI?>~KV5q3S3b6BVB!ZPCS z?Hefi*f6CT3sha3bTdQ!BUwYL6~|gXe(Tq=|9#fYo2LQ*%4l1A!)RY`$>)$-Nx)KI{yQgos|35 zzu#IQ01$O8?J;+-C*>hvvZ*ba?;k3V1^ z?M>B#gTpUh%psiij`n!OMqtwZQ13xbPUXxYsP2SpHzqqF*Ikme?QMW-uOTFY}4`S?|Szc_kI2gtA{yR+tSjIL{%Ib7|50s03_?$sxaF(nhV#HY;A3h zJHjtydiw_yMw?pOs-u`0=^soL0qoWp)2mFKxj3??dz3-ewX`=>*@eu=z))I&)6rQs z+C5NWNY=H+omfYE?RcJPtb5;>PI6%&Q`A;eWenzbHa6(|16nrGa;$`>f z@^XS!WaJ87!m_0_2b)md6=Eip>fb$baGRUYNEQ<2y%%M!p%L>}TOiol2aumN$v>k7Gf z#lo)|8aKq^Er{lXm`kSgchQK)p?JtfAHKBN{(YOFWlcZdw2K7 zWplgQ8YMtfv5Ghvff<^IQ!Ad?ymk5fzL^~yiTa*q0NZgGm^29?m`Q6UMM8!%2L%Fh z*iTEu#OAOYNxLvbXAydr1>RR8m?{j+I#5vqAOo4{Vyv5uRyi<*#vq&8u*w+PKNFEA zB4R~M3|h0&ph;^E5qVIe2~4_8@Rbf)guw(Z86sK}F|*QIYgXEH_!_nu1qu%5@>tg0 zyT3P`&V=N)nUf-jgR*~bMz*G=CY?^d?2E%+83U~HRnPxGcbpg)>P?PUXo<8qW^cXa zPra7H;GT#2cUe*b%6-q@x#MXH8BW`=UcvJxH`={tblktwJpcd$JpcfM-EQ)PY01)~ zd!B!Eqjlx+ulL+B^QmHHsH;+9qV!OA+N9==0RZUi*kKvEtcH6J439fweyZzG3IJfV zzYB$P%IOy`pITuQSsxgF;U|as4(AxjAMHOhS}BVItKvZSfq}!;Q|LXkuR^4H{G&(w zPre?m>n{ClR}_J=!#&yZb}*%edjO!k_ZX|Kp?=+VTvgJ`=7TB;mBtPp3fJhR4|bcf zE)5U%23HYM>z})8*8m->Th+^t9^5w?K4b7`cRv7(j1C6Z#8`EbQnYZv^hoy6q4E(Z z^>&4nBTCPjb?*5~2A=!kkQc1Ns*CrozxAOf<*}}*+RJtys5E2dM@I7iW0~Oep@<}s zTo8?o(fIzN7d!$XjrJTUKMWOy4;W8?zV4pzTYlGbtDo7@A34T+XFosw_$xOxJOltE z;oGvhDKXYF);V*w%s&#EZ_(I5_gJXG%MJDB01!ZXxxt~FIV+s6_WxEfK>r^GLcVPGrtHF7_T?Y<(#XST7FwzYGFxm|O z0I7rfQsMcPi#nQVZ2x1AJUZ*VcUsynX$Igzs(=6CPsq8kzT9E!$@Lz}jU$KL!JY$^ zJqN#k|L*?7C&Ji3*VsV$3tn&6K={M&apzwC-q$Z3|KUAP|N53kH=F68GQH+E-o0n{ z_$3Y=+CO+iwWZqr;HB;Zzw#f;MeRxWJ2@uDA9a|f*vgHMLgG~frbNNVLa(Yy%x^iN zXj}#jGaGSD#kILiTUK1M009D1s)>}&SP2d)zZ(GUa(A#i2}(qHVYGPLx|dvz9kDD?H?QE{e!a$UMd-lCX)#v9AKf9 z6LC^fKAlWnH8ga+uQq79#CQ8F>xo2CM53e8x>tycGwExIcG&hMxomAy>tdm*q1Kz>~I<5u#68X(@?$u2%2QWdbekp8RE>Fdf=HXCWUP%N7018_K0!1_e0ue!>=z5+C z8wJV%T7R)H;J-ErG+X=bxAxsXd4-)EF9BzxC1n}(MqV9Gr%rbBkM3Uj?oZ!wU4r{} zt-0;ztN!>uLh@GK^p&HQ`^P!HJD+zy+vVtym!NkcuXe#DU-{65F@NZZyMC~x_a(A{ zve5VB?YF|qzNALyp8vV`y|F2hT6^CQALyBKluv@LpZ=N~K6iC-?Hymeub0Ea5>Y#U z`n{cCy}WobPBhK?@IQTgL1S_A6L&wed*~$|Yc7r4e(!Hye!a2eT=>qfUb;9jxcAu~ zfA>N6r5#|jA{&17ZGgY2AU2fn+%JE$?EUY3@bOQ%BYPhC)h{-rSp3;H!ry)Gm%eoG zkuU%LOVT;@{U7njVAUl0og9pG*(ww^SN^C(Btbf}k8ka~Ni3W)n6GWh$A2^$`FNXys)_`_rRCrMwrl z86^vWmXuN$d~Aq89qLq31kF@fmUk187C2BHPi2d1_Y7=LxsATqT2+&&u8l`y0${J! z;QK|ug6FOB{b3YWy2Wc44my!Ls;ax3h(u8W_^lJs$*R}ovrCJGopxkb(%C7k5_1VL zEyRbinK%(4tdGW4MdKMn#qgU*v3_*F-9n z8{LsBr{>T7L;mZMKu?ZW+4w^w(0|!TV(o0Jbe08=|%l$O4Uj6e~@diHQJk{zzu_j)SYt zJkHp0F|$$%85Hs0Kx*&4;UO)-wj-8RMO;AP0T5Bt_m%GsmE3%>;CsFUFb|+jh=b8c zzmPP}S|rXqO{pfWc3XA{pafVzB;Y#W#Y)u?l>qnJ_CXeQrjEELMGxI#9Ms52*B%&-!TGFwsS%_0DE8Er-Z**ok`l3hH zJ->2cqF5?Kow3?#Kk5*mkWwJnzOKvWtMVlQkd8;kY7(v`r5!;OLP+0JLQ2cF5m76R zh(dr;8p0SV!=i`ASEhhLL`+&sAy5baBxVE%VwNkpQxH^Jn9CF}mkp*(T}A}aTxG7c zY%~r53>S!C$?PJK&9{i|V5MWm%;>Ysb9!f9-s z^1HSQt;UXyKl-j#HB9;Qn;$sImMO`}pHy%TV%5!4swa=b?~-L~Bwku|Q@kdqw=tt>fGmmF%YA!bG)gRxRNvm9p(bYRX}iDNVO5Xn|Gu@V8N(a00Xi%ow)=c0tab8l=IFBZTNdU6ezUOp^$}@2O6yT?{EKWQJFh=$RxM7LlXC{8frInL))Bf?Yvv0U?W)0D?K18Itie7I?O=K_5wGGp*UO6?6M{e7^ z`ODriFY?kZ>te~mMW1=YneSQA8UJJ62e`4J<4wz_#tvU*$!>h-YZgusnwf@+UQfv{ z$1oK;hST8l+TF0*dRf)Acpqv@~cN1?SID)~d6E^jQOeb%yN zpL@fZ?_Jg+0P>#7sv`v+1<&_*@`^G!CdaFzP6iNyfpLD%WvaHULS_uZRs$Bz^mH09 z8<<3!9!(bJ>0bZ}6ejHV|2xLSGl7Y+7MNnx5E^jQCEr*$j z+(I@#HV8@^m98T&BGE#Fj7;DTGlLKUQ6fr2fo2N{jO$U(=Y4~P-V|9*A`*#!6wE|Q zD_<$!_gt@7$Y;}O&vl)sQ(aS2SJzNe*HB$s8%ZQ%$z(Jd1t6^y1b$phM2ae{q-DrT z%-Z-5hje23U1C+L5j)Ozyt)AB`wR6C=oy)5ozUnV2&(ngXIm93`FoD zbTuq>5QW4Q&@L((bgYCBnT}tgkk>6AoFGXU#syECeq2OhDl8^IDagX&idZ2uj5ZrV zK+Ft83oBOfzTjk5W z^q~-YcWrrQNOji6CI-OLp4rx1|GRQvu#oQk`3u9-TB>8m*l;Gb@WczB{=`-Hf8c^M z;_gvzb39QuyS>K2BU2VjuA6b`rR^N;-n)C%_DpkIT?GG_cLJqUrsy95GmA1gZ)#&L z`qMfW{_G=HJ^Ya?-@gz5z*W_sc-!S)d(FH?`}bQ*eSPP@Tyx3y&aTQIg@Hv?{i60N zc@(JjeQ&JzR}@mq5V`n_vu^vqmA}01^mE&T{cmiW^2V8wht_X>{6NaHYX0S_i@$!! zl36hxfAT+b-4$=2H<>gvIVQ)e2?iT`sW1Shd=UxzFhi=6k4Wt;CkXMl_Y4Fwkuw2A zhVpW8+=s$&;V|2V84kO@AP^uOwg9X|7loHBAYfmWikV(r%-9IFM90F2jg}Nr3S=Zk zMNDL9R{*s@O1}^Sgn%;ttTekmrwe>&M2{6ENE<+qX05dEDX-*d&sVNjEaVHhf|OQW zLtTAiV|7hkB9V;6Vhmu}b}SK(S0y8{I9h_s(YHMQ(mKK4L)64aym+iH9{tZs8H3BY zxvaHTN-O32%J-FDDwXp2+*m4`%4!8h2^<{IfcHcLih+r>)?v3aApmI-h@dqPBQa@h z04ga>ngpQ9nL=Y^6|~U`01%-(UI;`1#?`rk^Ra|Z3sHu{A}qB4kLv&r&vuX? zTn7IT7_)I15SLSa!&KrxBM%IM%>*>rz(FB}h=@TED`E|xjWu)_N*n@Q&7g@$Ypsct zuicX8c|KQ2{Bk9T$4&P?FNm1DkWG$P;@v0Fw&2udv#b5F`yP4H(_GUw@3^@wj=)F^ zw?Fyto)o<@VK8&mN$GGZ@%K9Wf3*J_Mv-zvt~b& zecrVnICEjMBS7~)^TqG{+CKvGc)7vhl)*f)cw>F-;Y9(~iN$aF)D@@BsjrKjf6dgr z58tq9KM2VAT6o2ju6(w!bNX2|sZZazafB@b`_-o10n zP1{oO+A05d=DZWy?N7dWs-N2b)rSvwAWmPt?A)pGzV5xh*wB+9WN@P*7yl~#^fucHVafhAX z|J_Fq<&TodluCuHuQ{}hiX<8?T{de$U36^Zz|GGbC;~8xY4ev~+~jQE`ohn57aW9^ zmZ?`SpOK)^d!E_4B|}91p1fi%Uko`}H}$%eGn#CF&%u57yf~02K)^jap8Cv#11ur} z027VZpE7S+%wMx%eHynRL?Y`d*DH&9nlGmOz{n_glpLzB2sg5^t@3ULB zXTguQziT;m6`D_{Q|ELz-r5Zte%+&O1ZL-TryZByzj1Zn1i+iE zm~?x-cI&g#7oB|0qM1+j?KyGT;)`as*HpvBCokN#ee15#(SN<`vG-qm!5K65?%P%j zzvmV`;VWaxE|iN z9CEv5v>dhqBQS*v3eYo$_FUt>7=D%+5i}{cI943%v9v9uW>?>Bj)>><=w9;BD-&e}_T-Q^|jmBe%WR-2%hJIAO=ax!JX+=8d zUj-D>Vm9v70obb~-X5zYeGF`jp`#caQI;^JfFPNQQJ7O?l82!DA1e^7nKVlam~**I zo=Fk-ilvRffWnj#FmU%4fhRX#X9~_h%$k6ai8yE)=CXMfhXz`PYSyH*>y}JXX{F_vp`361r?$?Sa7;45 zljD^*WK)BEaMzw}fW79((w)r~6fMT9ZYuR7E0Fv}MVP6Slrky71aJZr_kv zdFAUH^t{WjId9jaxBhzdhQX``@>(zY*cFS$ZoB!Og44Wn%Z8(#{)&DFCQ7p>|OQ4@Biq&HRdwl<}*9Hhes+YgkVXbOQm6r z0$}N)MQ@sh_pjeuGp(~x5TJO|%HwA6;O!fF=AL-^yJl)H+kem2{zAI%XOFJCd2O%9 zJa5_AukR@QYVA(Db>W*A)p=T;|C;kJZ1W!8wClO9TvqY+eY;j2ER7EA{PCmf@7tLN zX}|5vWeugCyEl)lIOEJKTNR_2J!|&WOPt5nz4+L!ROuxc;-ZAiVAtJicepJlynngF z0I}MtIWTb7meG}Go_<+FDH3bA_LSLscW-@sF#e&}&TlwM_U!txt1diV^u2iZ3kMG7 zs4|z39f1NsSh2r9=lFQ~z};KZXPtNUrA}n||D<>ygyZyoKef@=rG{?wpHucbkt=n|#hfZtCd1}F;la5P_-nn+i z_Q7J2pybEja{kidq0RShKGdC`aLUu}Jv)EBB~#bhVA$!V#*V9(w5-{(Gh5ZvYNK(7 zj7l-CT!f%hQIjJo4-mp~rZ&~q+Q%lQ8HB`=TaXAu;`L{rIURcLdvV~jlTJ9V2{l8a zZVCdgF@^?HNlc4Zx=!ck(5( z?I$;Hf9lX!x&%}`<9!#*JFx4;=Y}J1J!5H&1kbKsvE;Zpa_G+Ix2@}UIa2qD3l~t& z&bxOM&N=tIbL)-DPPR8SwjDzcFH~yP`u&Frx=?cSni2Jj+jstIYxm$l-%XEid}wc) z0V3?BiwdP2f4uf|^><|^HPDk|a=dy*8JdiPSbXF|yeMl`gLcP?ZhBl?5thG%XizeY zi!`cmw-sS)*gVN$bFV=?fjdzd@C5-h!S;pF1OS+oR~+ki$1<#0AV?V`v6_uEiAZ%SnfzFYD<*Y!Q+d7kTfuIIX*S8_}FLcuG!@nm&XO^uM2ly)Q% z^?fg&%NC18rCjBETKin~U!pQSS?SarKgPdU`RGKSA)-KYPKKD&z=TLB7?Gp|Awh`n zYz2y4O$PTek zK|lm0rShJq%aUstFH(Rbl@x!jG06Z=j#uJP`!{b)w9cE}9^Q@!=PX}2tGO2Zffst! zE7=$si(c23=XdtJ5qCU);Iuc)ONjKyhlmk(^}mB=&a%`R@cY5mro6ZgN7 zr8w%c!4KW~`J2BzYHrcdM00a>^vF-RV|)5@M1E@Du6;U)O0n|;Uw#bYq4}-r>$YUn z(}wlK#m!aQ_icZ+dvG)MEj}Aj#AkPQG`ZhQWTTnvE)B2#J1C#~HBqd7v3M4Q@b*i=yJ|@w-N@=vuWiE}UgYEUc=nlHgG;w|aNa3%&jWa~7b9-j zJ2NWQIs4*8&07yp-{{bD`-Zk0+<(E_=A4w+`b-HAj;gqKtPWRs*8Il)?Q3s*G21A^ zR-GfBu(bB=#OZU|BhhG`lS~5Sa~Z3;{gjUU-RrtCBrKr@MvKd4&KcOU{jOaZTTW2T zEV-qTqQ@q(h^e)y!_D_RwSQ>;NY4ecn=QsfI_2a}_ugA}t}Dc=XU=`iy!fhaDCWCXZ5m3~ir36uFe8e?In|ZQ zaosW7f4x#M#nH1DwLi3e$LayL*_t!0W%G;oJiadwO)Xq7yLouS&$f<4lJJ^&3y)85 z7lZ5NpW3ulI#<8q(yVZ<&GNQq&jQGlW`;EyXJW*l!9gk>vU2*EBg0-~`CMg|Tor~|UMg1{LB zvP1?_Zf-O;Jm7l1V<9NAZ5hf}8JV;utq96SO$4lUkk12eyLDYzOJpSiN<22ITE!ZQ71E&$!9Y}zSb%{IuZ|8FCWeQ9*YVN-!(vsjygG1 zIi3Ny5(r?hu|Z`Nm@iW~j)yVG%w@*lqYR4Jb^XyyDP9wEBnlw|oQCev2UY^oP*(uV>cZ{r~)M48J6Wb&!6)vq6a(a55tKt(J7 zgs&7^2$FU2`7K*_W)NU|F`pIVgBAc7EeG9g+cvKrbr7IbNLAbIF>uqaEpS|r!?-IS zqGV*njEJtMu*#7Dq^PJ#jI%KW#JGh;e_VpZzO`K?Mp&b|GVvp?iBjGF_)~j3J1#!)jQ=-#?>8UVK0-&#J&TZuK_L2` z7I7N^h&2PmlwV@$$cdqyl+t4D5&)tjDdXxY31VVcPgABWebeH^FII2LG%TLK7y-q; zJulptYB=w>MK`>;^E>yg*;(*^_2`qkrc8O=iDw-@W5<6yx;OWK7)r6Qq=^o6ls=|! z6P4~=-~Wm8FZ#i>U0-=%OG*I%R@ui)Ca$S(`_d(+H_#2zRu{h_E2>nqbmejt_ z0)bfx5fwlhiQS?fOhZecn;p4t-ENl}nXr~F|0p@09y+HR5nAcdT~AWx3T@#+D;futEIz?;Tlh)f@^DbkI* z%wd?m!w85byHyB8L?SloR+C9XL8y{2I@lxOGeU?u#$S=jS0=NHa!_!^kt=K(W+Y%> zBAp)WE@o3Gk$`|vP$053ANPGlnotA{$IOh#0#Vpjp{NfIdt*7*EqTiKmC{Nntu-+z zt=*FAl}gG}iRzkoRTXKHQb-|3hDY1TFet?J z92~>SKaH=F0eZwJ1O?_=Z0PoY7Y)!ER;mqV6#`KpDOL=cNhzJp7IXPTeN_~QO&%`+ zlV%|VTBsSAj2RgUTX2YxNi!g5tpE@N1_cIUDNqR1nt)NDFc#v6%`Y>bFo@m_jzbW8 zM9cySP#_=>X+#7ri|(<4hXo@D1NZ?!7}u+?eL6_!3jCsjH;nGutX}|16qaC3%%F`6 z7U-Z++uVjJkn)#XvVk-)vmzp6BhCy05J4-gJkRz0vS4A{DGScUqzTsKm>e(np2Rvg zHr%~$+oqxT(gm%WUeSug!#6%QbM7pA-Ky{1`RJC8wwWlbp{?sjlMBy2`-JVk`SSfQ z`bU5LvD?4?&UajQ{oAj<{_WR)^fNzvY3TQ`Vaw93zk28=FQ!+_Y9|I@IFv5U>1eLE zoHG};)(9rb4W- z>rS245|7MotgW#T5j;;>@wzGj5ledBXgZI_ch+0+mWyXP2M+eT6Kz}P^!cB-V@Bciu&5yS>9!Z~LzBp3y?Pcv%c2&puGpzlG1~g!E zRb6Y8X3T7>FZAxnPGpHB>^Gdc;*+N}x*CA>=3aN<{P|}#It|s;)9WJ$Q1JYcVrI^} z$|a7*VxThz#{4C1H4y>K(A?7K6o-ENvAfLJu%Q6-*!VdJfP)zay80B+YnVZprlopEPMb6rOSwjJp8nirql2(vm` zJhHZ@%*utSUwIcQm z+BQ)H0Yw3t00IC*4_0KNhcUk6xZ)#$vo!8Z41fYqQ0S;6C0dpxZHpL+J`HExQpxju-&e|4N-M3E@?Fm@7QIr@_dRJ@ z(U{|VzLCjhGMPdyMapN*+Sf#Y!U9td9p}mXJ59RT>{NO1Z@7V1n36KA!4mr8zDNg)~t0QU(6R>ATUl<%q)-*K_asz!DLw|1quPu zl0e85CI%5G6+%-40Mwc^kw6vzq_x(%Qll7`Q4DDEsIbx^&gIZ(0AWnVK>!E_i69Uw zkdg@z49u2N3Mo+_NCDEsPzxc1kU|8e(kO%|TdRp6<_d*COQJ1>B|>>T1wLh(NmEFX z8=1Lc*2XN_gaGTZX%-W+X052?YE6V8FCR?HagJ{I7f3;xWPm5f-@=`U+UKvRqoF*- z=1+@sZyCi`tOgp%D-}H=zf^RI{Zg@{W!(jD{?I2rR-NzPe*4Y0Gt15?^)>ZvGaFlu zUw-1ODL=UJj^~ep6Q*Zl0yJG&5vyX+{T(K}`KKttzd;j6= zbAGsZ^f%iM*;NQk`v=CH87qFXGO~O7n%fRI9(Mh5ee#;K&VNh9-??kkx;1C_J(DnV;w6Cog^N zajmh4r0=|U>gv_2?(Evxv*5IEUO)BOZ9NC`z65G*p8f8NSH^|EW#^WSqdsx;#1mHh z!$k>Q8hh~hH3ROEr&>6P&s=)p;?_h&(0{-EH~h2!03ZNKL_t)y{mCbO`_ujVpYCh; z=v5c@9PHkji%vK-7-fy^@9a&dRbUGyEPF~*?KZot^gHr7u$W8j8!4`gIs)>xDBQhz z!{42K>i3rOx-FaTIiMp`Ro|iB73aO-nndy8XV>%}gL-y^m5c=UBRf`o=~>G@Rd0=r z^!@mep_nb6SpR&}X(xXE+65{<@PqrF?e5+3(~ZYnci9`F-q5{IuJ86hI=bjpLaMy% z;J2SlzVr0czjcP_?K$|rk9L9S0dB0%4OaY6J>fJa&}RVVMCYs(9aYe_V)-(_{Grd@ zy8e&?O}gac_??Y9&hYSP+Na6u?&O#pufl=lw#krA3`C`9u8@L*m|ufu0w`<(X&A=o zPXokE5DK4-9@dbTlM3}6^2&Bk!*;iC3d7zY1%J+Ot8Z`O7>y|vv^8i6wB3@M`q(xc_ z3Hd_NE#?Ih0Q*WKfV6BBeJX`*bq zZH}Y>21Y)tra?q#gvQK7u3O3!iY1*CER0~-mKG3O(gHw64pW;25@=!xAS^40;WcEn zH0jBpeGMptEf`sA2GRlr5ewt&9BPpT011=R8=O(3ko*tJDJX=AHVTllFaTQzhT1UB zGd#$qF1tKqSvAcDlp1jY01DKk5dnqJKw1bXQ4(uOK;{TC0czH!{t&b|6B&36M$3&H z+CrOoDU{-(>z6yryz#~xZ@lqOx|-_h>P#jxdFh-SM?wNA zW3ia$y&Ml!JJ~d+t$OF4y_&do%ECo6S{$K=x_58c+y63_*3r>XTU)zz>()PHciP+A z`}+F+AUiu&xwKByT7{G!ueA#)FJ2odq=rVbu9K*1tgX^ji~jA)Z+h&jAN|SN>MC;&_1b5j z{>eVCL^OVxO6y^t;+B-eF-IcPV6OCzE3cb==+5tM1px3w;)`!Sam}Mo-9My5ij%WG z9kT}*07##{^8B+B+dub6Uqm1P=Y5^l5S&D&lm?r0j$@lc=_WC%wF{QW~OC)`j!LQ)f0Whq$8yJGfTnSVa274ITA`-yQJLW1!^=%9zQ;tXBx>a4uaz^qAUhW2NAcTh18On@wf5K^F# z)`pq8VUiOAGY86H%#>8ip24Zx_WVo7H1s{sS4wNs_Ujf)e#vDZ%eI8&#FI(ewuKa> ze8F=|2rMP|zV>_)LYBLFL&Q{3L5ECd$bwG93YK}!@%*r9pcNs(&dkIR+G}w|xfC?{ z!Z?_HH0~;|ABDi<1%9xQ|5`^&!_?*_Gh32zC#*s^L@X^~(uYw5;YAGWy4sFdk!aMU zT@{NZ%a*od1GC8;76NU@ay_jTO9Urk8@p!~7+R?T2*Z$T(m`Bs;9~`d0#JxhFdV|i zFha>#R6&5e1AVx$Gcz!_43$IoH7<+E%d&B8l+2oxCZEXlRLRqx?<-BdB4zkr6Z#vR zN!FTF;QXv9AnS>Zn>b@CT^tx5DS2Mm;k+z!;7Uh3VD$G+6RfGJNvG2<`{M9tVt^4* z%1Oc4lU5*pVyxE-CsYpJue;0YBv{*;HQjH z+iJ6qtZ1~1`=#55{}TYBw$*<4SE9DvT6qN%jy>L!Dte>`6(EX+il!TDB6iK;@0VXO z8*312)H-YlH4#z%mSx%PhhGRINA4FA)ATuK{_H&?Kf3*)HH8QuCLKFDZh>(N07SLH zgBV#hvmpxBNwea^J4VVhyJJb`u*okQqLsai+jji$BNMajm<<3B4L{!$J?6peKD6V1 zM#t|Yr!rLM9C?Meq-?F65pHjr_qEq9s+a2NeFkJ!|HF0XRHb)rOpO=#{;nQi001F( z?%#94g)6^#=A$22ovD_Xu&qRSUr^Lq03gECD(7@GHbvyD1+`;++ec8CSty097L@~f z#54c^$FkbS?TtWDA02=7!0IEstqwm&>ipNljGGp%tJhsqlrQa5OI7s5>5oJIP4HEyFDXTf?)z!#-U|adHGo8IV-5` zFij2z(q|Lm%Hy{*+*b1QrPKfw^G5TEMg|**UyXTh2q!5(m4qY&`kF>_elqK7BBd25 zrIltTFai)MGg?pR znO*r}T4H3gL*0x!g0LZzQM~0T$fjH34KtwU`)zdNWPHU@P!U=RMab0}2}GDtSn^}f z=1bOM=x3kY70}FCSX}qqtck?J$~DG_$e3W>i>M zGm)84MHWUx&6vz^GUaH;Wvw08wOEU2SG$huFbEQnrIc-Dom>FKaX>U{t$lxN+{w-g zb|>iF>29*iAx9(xQlu1!5Sy@F1L}a3N!Hbx*~6K>#S(UdUMZM&7Tg(JOP*QxS{8nC z5aj80MQEXM(k4M+7C@y)2n7VpmY8@F0RT2wmk>3uWv4ha9mJOKtL3EjU4vF zrHrNwSP;>K2WxaKLQOyMXqH~Vp`IF~I7eESDu+QNC z*Q15|8X6!AQwx-?X^>Vtc-IdSw zGIBFr+v@8&Qn^q5joLGx^@CNcVil`cAEmHBZkvym$#+Qe_CDU%lF!}o;IbDu>y70S z0Qq`i5cEBPJV7XQXaD3!fD3P5W}enV(OwplhwVHlNF*puI?T5IhZ zn`GB0N6l#E1;A`s7L@%p|X_-I*tZmU=1b?mxa9yBw!X{ zE#d+)C_qIf3d@gX5)js!nME_3L!I}%HvJSMv_%$i83hOl%{Mg*dqz~=>g@KoX7T;A z%_%VNNS;u=huIi=_TS!eBSa*$EwU65l4wBjSZEQ^%$mj3p71xnt?0Xtvv4-&XvYCy z1RyCy@W{cnJLL{Zpmf+ZH{LO!?-F;62)f1-dyYG}K<33WR=cw``RsTye(1W|@I>q;Hp12tc|AsHMQv z3VqU#y$Nf{n{1g3qdaCY*qc4KUIqd|5s_S~BiGr8;)oxdi-;_sSscxdqg~AmjD$o4 z1gHoJm4&1LP%=3u>o^9FF>BE*%p#&Ji!4RTQe+X3ZP_B=x;n3O-U<5l!0jKW*8qr$ z$RcG0>|i*Eh_0(qKoKFZ)-G!oL?f^_^Gs-xa=mx+02wgu25J{3(27qM8>W>AkT4Lo zqa`6CWCm9o!zxgUh?F@4h6yzhLrReVxLVl2U0@;rVM0WOo_d^(MixOpyA0^#Y9h0! z45no*>}oU4jeaz=__V9>ATuNDB7@C&HNe~J6$lliezAa~F`IEs`jzLtO}^=~u`LtqmeT*% zs~Ce+tk35Chuw;SlScJ&<}X^|`qr)Ciow%HRlN7!hiUy8ejpX?Hg9_GFHg1Br^5i? zbfp|}Qf@FF$hPN#z2YGR$R%4_+LNvpiudkUw(F3xIH}I2wvMWSWZ4!1u#p(Le!DqA;-){$IS3Q9|`txKxPV}#&lI-6P& z7>rhwmj)C9yB%%KiF8gxl~wlsm#=9)2B}1AYa$met*j^sB7mDoG_@vz@yha&AVT)F z8QqE449l4x7@$iwR|y5^E9r!^-*ciX&M?*EHB;p}gpR(IuB9`1|= z0081czI^4E2inOlj)YftS}a|4dK>N^K+ zUbow+&g&X z0oh0Im)Z42m&ali>vQxBlFuK4LTzuJzQqDh=R9gQS-t+$vX4W2J839%coG84+d+YG zMat`XLBN~R#li_vG1yqV|9kpOc5=xUo#|9Y6bo!7U=ctwOSecF*~2O1@r2%-EI5vv zb8^CtFuPh?-VnGbr9?B5HwaGTedSqPu@?rr6P}eq4BV5^?vaIS_C`EL+71LP%MOHt znM@{^%b9L~@f;TRIs@2^_B{Wp{H!_@oSYtzH}B>RKm{R82uJ{gporonk%wuCxBKyf0tcH3xGmpe7lI0umFL${y>3g zmmnetkzsKmfBJ~oFyesZ`#Agd<0!&_n5l01rF#i}zf7ddOLK>o>1j*4gjeTdo_@85-E9b-|X( zX#*Q>zV43A!M(4z_G|kN?-ehJWY<1-$@d@GiQ%;>YA^oYr3a6QFZ-ZQK^6d}oq5TG za)=JzZ){(9`SwenT+!!C-}~8769!BBroTRMU(0|aCg7GoZY;n5vT^r)?FZG@|GwWV zU;ORDD%EX6p$u-N`Ge(#QZF`-Mx}W=R2*k%Wt~pz!8y9u64$* zR=&M%XDV9;9sB5S4tW07AHS2D@co~j{m#?3yt$(FpI=AOE;;q5m5{yJOZrCD{WIan+gK2`dcp&))y^YpdMQz)P;V<)G1h zN=u@8>l;^H_uJUmL zSbX=YpFWlCyYJ7wd;ESiGv72SB>zcs=(wpPgU!FZ_3j<1$OYfM_3*>?nJ2ts&7xcH zcsOvt)wiE@c+KyZHd{N*8bGpR^}{#boSJ;rPfs0PYQG>N9UEV~@yD|H(!uXM@pkLNSJSW6l%0ND-CGZo>mmk?qI9T^MhTSL>0YMZgrR+$wq@*O0$z;1ayV!LR4FRe1EWA$@dsbk( zX4dx@v&HTWA_PI8?lXrVKm-bj2m+B{uj=whD5#lHdAnnRg8cMfaC1zS0)?*2O2BZU zL_h#a5d*l)ti@7f6KN3J3Nx_gERkZ(2pS0p6e&ayC+C`_MT7{bwH5{zv609k5o8wh z*B@(*pcuTVWCSK66ai!)WM+T21X#e&LlR~vI9Ez31mFTGx#!0QOaux584w^~K|E}U zXm%y#<^9H>3; zfKintQn)_F*}VAW#alTO9{H_n&W5cYuHE4xVy6DX$6j~8|KrQy^&dYpM{_1{(s#dK z+xoXhmW;UknCeAM!M<%T-v8H?!zUa#Vn8_n04I}aB1-^3p{idxYuPqu*KLT$_Y+7>Qcn9XL37x@46>e}@7+{W>>HQsW<;676)##$D4lvjV&_iWwl z$4{NTe1puvz@gu_z-to;}HAhO>ChmCWg~$JV^IPN3yXnlSQ*T@3 z9A6t7)?aOD?=x=P;CM~_g0;~eOseSFk6*J!Km4QGzn^}^A4_`mFDr?jc)|(Ivu`=# z&xspm-161q-~Gv7UYxsh{7EOCQXikR`0o#Ym`Nj;( ziQoL_^jpHiZvM&7mD(M!UHiA+y)yQ^i@r6$8Kky6y09d;XU;&bg0NB-lRZs>`3a;F_yX*l+lqFRpm@$0y(0TKn_oXV|-WG1akSnUgzc z*ud)L+xs1KVBd|ue?AM*f6=fB_O0sp+l!k{Ka^(uWzAvZ2KRnBe(>=_>%V>Kmy#on ztZ>^UTz%$|doOtCdsn*0{o(Smhp+u>wx;}_zh+8Cp8MsqQ?K8B*=y_L@mNzTaKzUx zm`wAozUccSPyOCWXPvv@w%@j93imxXWXj104bA-WnhVvWORxFL1)Hz zmaBfti7atUuedghR`r3?#%a%RW zQ99=G=_6jd{i5I3kD2ky@0_}2;p6jqENY$WJ+!v(x|uJuBy#}ZWW%F|Rx~W0yCo~p zy3L!oa^xWOde6H{ugc2S_U%oHoa-j)>+8n#8-jHptQ(tBM-QoTn%5-A+TBwvr?xhf zP4AV>q%$lLfU=>d{NlD_P%`hm{G^EpXYD4N7q4EsWANZH`1V@@@Zv&!-i5K@wyew* zP3?3?bg|$&-6=Z)jDD<+`MCjgM4nt2y+9a0qDMR+ifE`}$>Tv^r0EGZ z{crl{8uOk<-KI_khPX~P-Pz!z63Bk8yD!aU7T*Nfn@<(+=5kGjt1vTzX3jaTI0@fFMLf@Um&E8QVWhpxls;KH!T2Y?rXm8%p zq;okGk7?{izbNS6`~Q)cbSJz`koSegf_Fp#AOHnm5mJD{WcRL&n^ALNASA=?YZeq_ zmtB_?AhHOvLKG2Ki>t*|F4@YqEbX%EaL~5U6Yxqpn+@1RAOt{2#>^Q-&`a-S6|z+h zM1&L>EiizHXr;Zmd1h~r-B93W-dg~K8JUTQ6p*3mMLhmkdDGn_h>C<60T@7wu-4=^ zPzuG@WN^6Y3J@@XQW&-=V-dM1S_ByLQw3U^tuR6)(SllZR%_NM-40{|JIS!|Qxp(= zY5>^DMD{=a%;|$mdr}%up$p;w03ZNKL_t)%AotqB%{*k%z7vKH;vpjsicuz=OSK#{ zdg}7%;6YptED)PG{iJ6`e^Ur`BU0!@ZROpHg9d$^r^i+^S4(kP!qAb-RmK_ zy{<8tO!3x+WGYl1Q1MvQY1=*fUVieV-Uxue_3PHm zuXil$NCK$Xz=MuGbJ|r`2E!$R4NV)iG*=u@F(esZv1H5SeWwJQH$Bu5#GVtKDo_zr zh-CHe+g~iCVDAB=_Z~j(r$>AdFc@m8>rcGng=e1K_qJ;%w7hif>=iZ=L`#TBS;77T zstG_`=~Wwub>=p9#()5=K>v7r*}KcL;w*aYjp_TH)F<{ruA^=B`nA-!XiKzQ}bk8GXr^P|h(yW+;T()2GbXyPU-hK;kDUR~FaYhCl!#!G)T zX>5i$yKdn#UCALU>N=0BDNVajT2fQ(ME=n*wN5oHXv`cmcF;^1F;UO^?i>aG%E%lc zv%MkF8BNyJCDH?}pt9UWFT7O$z3U%(WX|g^zxL)@Q~_I{IfIhw%BbGKl7D?=&JGzr zD!%rXKfaj=l_t6p5U3v0M?QS^gC?+X@!KblJ0V_TwPtdK`(8D0RBGFw>)YLqXJ4;7 z_eW!g=(XT%Ygn~OK{Al0%xr+2e+CDl=dc@IeBmM!nM4#>4^ zU)tUW?NB7rXYwH@9D4a>;ZQK#x|)beV-csVNtHuaB2#IHDr;)0hfcisCy!nvpp>*% z_D0y!)2Jk*Y;d#bd~4cPpdE)0P}l{s752Qkh$3agS^y}*L>34Rop!>^zaNvXpMTq} zFJ*Q!X)R^d2i!5|UCwNI_|}_Ku2cdfw#|R~nH561adTaC+~j;igW1iq)Z4ajSDeRH z=w%JTqNb==#rhmnclNBGRa>AV704rC0YU1-M*KFTiRmw8rQDJvKqJY-O5Sw&-GQ{Com*=$;T%ccS= z?ry_pkRC!Q`DZs}@W;_TT<;kpBN7P^*+CVF1g)$aP%39y0}QCVAS!V|6BD9#wNeTM zwPwpAKoZo(joQ_s2oTBD91fFZlap~t0lN->g=oShh_#Sq8X0T=FtRA}XnH0>(podS zz$l8mRcDNx0e}(7PZ;u=0Rq6}w^PKJIeVgL&#@c|bG1Z-k^F___W{IMK>MQsf=W@q z0uERK7c8w^?Km#`a&-X#&7u&zP%cY^wUf;;Yctc}E!OMwWwL8QEQX~`i|C(4GuU-eq#uCI*w+XH`CU3&OcM-SctkOM?zpK1$ z+O%niICt*czJ2>Dr4TWlPN!0-2@@tvnlx$Nym`fI{GQeD;ls~8_uRYgx~smvK9|d# zbka$qMvc1n-g`5d%qR4Y8hcILcU(Nvd}P(Y(pY%^L#EApWL`u}sUWfX9|>jzmM z&U)pv%P#-y;;8clB7*TQ=2I4y|tKyL|rJ>5C75#qYHs*}HCrxq6uk8E2CX^}m1W+cTGR zigv_`1QZURG_JgTLn{m)KB%N=Z3+O`+*15YT+jk>!S%ac4rhZ_kXdsuZb>TZprtIO zl&}PYD%+9T?WK{e_|QIT zCOZ@}>oC)n)Ftt#z1x#03;=FEgg)rj-+$eg-<)>hsi&NEaXR?I0f6WxfcB==LWHL(?W$_Nl#+gNFC#kJi1RZ8&g*0lddFOpkC9pD1AjwE+ zgi>8e@E>3P(b}^IkDGGnh`s~>AT8@ZT)(+4?S7Ocn|Eb_ilZ+$eRTVGFZ)Jj{3Sm+ zZ2}-Hnf+Sp)fe1;%Mr<3-RsY;%T?Bh`>6zaa;PR+R;{OtL|6PUvD6Ub~Meq?R&4B_Pt9ht4h3UOS*2}+w&=+5OJh;B6TWT zGibmXGptRd;c$XWA>;(Dq|G=GT+PpQFf43q_*(LGP zk)uYHl$6wMty{lrrG_jE8?mva&~?pLd&X6?%ZujQ1BGBXA8eH8%y%;FMgT%m76k&q zU^qtEb^=0Q?rq?uiTU+CqR7j^BGlS5VkQI;t&Qy#igAAyA*0PT0ZByQWiM;A2=gIC zh$z~eO$0ka(TSyjv z@%p7<)Yd<(dok!gG77Z6Qr$DioPQzG| z%Jw&VZ+a5gV5aLnI--}^-&<(s2-;Tfdjecrh| z)=*|Yr&W80(a~&qwc+67J>H+O;1A{TzBgH++9&fhu`R#*sYzln<}LcD6aa(d<0Wd9 zzA7m6)^^$gm)7h(>CF539KZkbA}%GY9>@}EiE{dx*Q3~?s zm57G+=w;eM#`c@J1+8?q;f8W1{Y9+ca_xMs4KvdTuj0 z8h>+<=Cb3^*&Doc^%poU<3tHrc(QVx3{GoKOswmOxMcaZ6V{+*dOgFv9X06}+R1>W z6_a&jJN!70*ex5H$1k_~(%@P1 z-Yi}zdwH1(5Jy#{-W(j&t4c?89NwPSwR`WAMU4gear=%d{7Qf8t8g9r%_C#nbL{I? zwB29R?xWjCE5O=p+LK+H8m(l~RtO5>X*uY85^zSnI zsanq&&!~`bpC$t@*CT3p0E+4mXb8QZr;OL@ab zA)Ac)NclS18H8QzsbMJicZJ*##TxuSRE#G(~#Ul|*0>PPq!~-15*y(OV`*P%S03VguWk$TWQB+Ks=fW; zu$6^V?2X|Zj!eQ);_t!iDTT}j^H1Lmv|VMgz=y~h-I)83naFNQc|y|y+5;Nus`~)# zEYI7f6yKkJGl0LyeK!|%T&vyWDJ;{7^~~LG%843P>@~MNEcLf<&FY_kE){LJ#YIKd z*4DZ$9`=7d>fbZx{Cr5y-^a&C5MX^^%`kI@Y zU&q!j*FUT9xyg4Zy5`zch+kY^a)%l{71JttNbRT6MrbTGc^o(5L@~S4d|9&HgrIyz zTC7?BiUF`gni)$YC@aG8`;B3{+zt09oXp_utYk!Rd7ef0JZO8m%4ckz3>jcmz{BD^ zEE7dC<#oE6qF+B>QM|H@;FUnPk#hAnL@fV(i~U2%LYafr$-y<#loV}2%xb;);UdJD z8p&uSH9;STDUl`cOJ08jDd9Lb%cIkeX74ROofn0V?Jagn3U5HTXgB&HcMAg zFYZnBas^^TuTNwK9nW)0EUbWh_v~5wWKQ2t1SP6(RdFV^Kh^;2Gx+7fpwkzz?D;k~-=shAsVMyg$$FDPCWKn@V)B z0IP~aKP^d5Ti*t^$O-_1sXh1~U!08frx5_=?!T>iXMwk96K%^eaDYKN&#ddYE32-x zii*J#hq8Xoo8u!+aD&guZkX%VV~&yX6m?FHRlodA3NZE(6nZBx#8gx;=p(lDXs; z#(rE+5q$3Y@{8Pgb?`OD0RQp!IBl)oXm^=~L@+RpP6bl`v3cL00H;uc^0y0y?L7B$ z+~lF}>>96V_(C|}QF0!*P*djd_Oy)WXCpUsC9z!Trj7)^LirYjYt-waZcp|!zbY_Q zmegn27*C=KTKxJ+T7^WH^Q~>EqP?bk0Wy?_sI4$CFEuj%rw%k2B){dZ zudKyif~h1Mqebx;aW?xW0r_d zvF7_AYU|;=Ob(sAPNl&nVZG-2--ru`_9654jk~I zCeE==wbgdWV`BBI&yVA3fj@ReUq5qe6+8FMM;^6>pdXRh>OCAeT0G~32JZ16{R<4F zt~||b=rL%$CU{TGrsjj_t7Kc%_FfZuS4iaEd_d29TGgMV%hV`7#TdfQOxT_wW8?#& zi!TT{ZZ#&aD$hWpjYX8Ju6L^arxS~5@5YP|a+h><>AjH{={8dE7C3Ws$YLQlxZ=LB zE1Y(SIE!eKR!dL_I$RNg0M62FWO-MShWmJi_0sU1Jfp@BhL3`_KHr+J6$>^H8$HNg z%&88!#-2Kv6-J@6Ublvl%@3~I&oL!A@{Xriqmqv71|K$z;qN3h8G*)pgHMG!fp{v&! zRSiU{3KrMFHY_Sv?1x0WH0GU2BY0*WJbXa#dt3~+W59j+#EPcP z!8teo{G@>=%Sp^gVd&qgtEhfPWMYJ{rJcv^++DjJ(n!U_63flU*UP`!+J$1zm&X>Q z+`kWF{v1yb&T$9|yDuB1p)lh?O-I%`9{-XsHN%|VUu?fO)90rv4HKEdEdxC4SA8}F}wlbIWDQFSqovwYsEq<3s||4D+* zf8FY+9AD!2^y1stP}ZGf;I&~~_YekzwruSaJb&khfAxVLA8>XPpf5U~`cy>}Mg21w z#>_4mmNsyIFn1KW&G^Q{N0H;d86PEdSMAz;w|4JT@>_V>XGB`=qLO0$DsZfU>~%I3 zrsePzj{N)3$0!Zo=cRKIwv}06vd6wX(%ZwZErILvcE_Kymb)Q>OyO()tc|JU9Ju!D zE9#z!Rkye9#7+NiFPZZ^h}>#9mNg0{;Ans2o`no78D zz9K}G2GalB|Lsag08g+l@cOzK5jC;?>io6XyP{KtbtWuRPV~|^`}^*HoWh0T=4Q`< zNU|0m*icE(>FMeFe&?sIsGny`JaIDH*q)!q&2T&RvbM|%@w1ITHDLp?osB`g4ulq8 z;yffmAi?T#Kr!$l*_G`H(n>N@I-4c7QpSx!ml7&kORBDrBbf1@;%yaVXb1+z{-?i? z?bikK)1%Wevg2bC%tG5j`@=^YK6OxGJZLV0K}xcvv`G-S_QzG2*Ls^7;fIkH+o|H3 zQx+_Ypw_Z&mQVlLT*t=aOYyKdX8D{VZub?NHt(&uW{@viIW z3*s8m!U_#Y9g@#rWXf!#nIOeva^deknNq^j=C&xgz!PhT;{z|b)0~RTVm_MOHH8%l zPnx953C6|8*MRr;E3i{&*=iIZ#cb3qV=mB*#=>jT9jD=x7iY5zvw+cnE-rFVgR(88 z9S>5;lG=2b@bNJM65knUJG76WT!sSNn4yC)3cQ+JbSFAV(B%_jCVh>rkDe_|g|6xB z03f`*sewOJuO?J)oWCh@TtmUDSUAPmh1C|(*FF@0#;4nsSCGetE3!jXUuNzT*>rj~Pz))4F%whegk=Ylru6@W_{^(^b~7 z*`}i#dIAq}my?t{r@2HPd!gYe! ze@8$wmAgs2vvANy2Xr?-F3!+fs0&|42nY(MG?kW?wzjqw6!evTSa6q#AjU(6cWGM9 z6t6ac@!RGbAon`CKAdsvc)1;lqyOr2GuN=@q5n7i!S_Ti)!l<$h5WDE?b}0WjR4QY zlI)+K$G<)hvY8&mfey(_!eiffQU0K&}U_tu_(nF89R^9=hdxBsu&>P3c^>MAj{2qv&?flYS`ut5=&^0*1B8R&k_|Hcd-=$nE;yGq%BxQjXZOOD7ni%HMxqc< zTLreb5K6^G4DjG0t`DFJV!Z&?TTyWs*PE^I1T!R!?73jNiobgY9x02ud3^gTDSar9 ziz4HBcc?Gu;>L!hci&ZAXRBQhTNaW|r%{iGm8AQ=EIdtRa*0uf&|7}FA@I_*xKng| zZAkOA0V_s~u@(Yb4`xBpOb9laQk7#fqQ-^=R>wSe%85hZI|F3Mz{D( zkmAi5LGO!oG>|(>aRI0`OvG?tKfgrv;akiAt9b^=UOj4{uDlMGDkH2|S+LsZ2|pVf zS`7nG1O8;mGt5eweH$fHHwjRq^?vaoOyYAmFV(rR~~yV^=1;2`spapSaEhyFO(>ef$5o&-CZWWcmKB9X9uE z{3*vtjtKyae0dlNlOgrIKTK+W?sALg_XGHw!>B1?2en_#F$5 zBoo9GILLl)8>GVUfm0U)6ckYdp@n5-EHSdU|BbqE=#_V6N`XyvFLSm@EX8vbSR+?>lLzvbc1)!;tW@sj$M7rgo~opA z@OQctHnM0~vX3BSHcnXBoHB^6jGds>QkTwbZX&iq%t$vgY&beJ+7E`h%E{WgwWOqk zDaMWLw9RClVpJ?M^XMx@d93+LjFsEJ?3_HADAh#n#X`@v~r&$oyRUCJAMLGMh81)Q*B+(Ze4^ z!uajr^=ttkN3JgbRqsEXH7P+>%)-?EMpA@^1TM=;VN9b8U((>jNEe)IS$iAWKhzSe zXif(IYvIcx0E8EN7|lICOgx*<41V-Bc2fG0jY4C@EqXVQbSF~c*s1{p7Edm)wwP%+ z^i`1ie)@$8y;~~bFseJ56~+EGPjVH-zr(cPV{2tlu@a4;yGf^iw8#8?r={aTFfrn_ z+ZqWo&AWRxHX-6vc-4s`Wpt}AOeTuF&Er(B2hp--$%su>vdO?N0YbU#q;{44IzRWF}`Z?OyW5-mx#oLMN zw_HvPclWo81|@pEBOI2jsF_ro)lBdg@HZlE?HV3j$xre5MBG)lNK)v50g!ErII;+VI2dCo%2D!mqYI0QK0c5? zLG!jTJq(QnB2ePf3k+qopS@`-ja8jqK7$oCa%1`TsajU*>iN~FOvpe^Z7CONq#JGX z^kMjM^B0StL1jVnNVpt{Tq8CO-K7$hx1R+U)fmSOr3Q7s^YYY=OObIH3z*?OYKQ=$ z(e>}Re5Te~E5C8hOQNX$nTk&suY07~R*_JXqb`?@7Ira1ge0{%hY|*mGjDvf$zZ%@ z<#IX@L5dnR%wlE@3!Bn>FBmu^4e#cvCuqb-sbUhwj8&`JVu#ZV(z7)UAJvl$-A7Uu zL+zD(FCdJonFYm~(rpnmB6a;H2BzEIiYN8Qy?1RwyqCE#PQOGqX77pBVNTqVVDK`<7E%Dbf6 zI^GS|Gsui)US7Q%BY)x$o*7|`oWJ@$W;XPmdQB!pCW{Eq*6r5K9YbJ;@O+ye@R`B`no0BFzygeGHbr;(SWVpEehWW$W>ajvbt8L(YeWbl- zXTNeW7$}(7e)A=+#Ky*^6w)^FlRmP<>g5Seh1VKExLK;vdWH_TWSQmj&cAw>m;*YU z(+ybfUZ2hh<~rV#Q>-mV_9aONbgNAI_6xYvWjZ{(M<*}2OL+I;#iXPo58B-4`gbzf z3?&MB`e$oD8qR?lk$4XSFw?*!Jh{aVbIa)4na@9}-mmlj&_$_hCNTz)qu}o3JR!*& zRY)i?$C1GhX9KyY-X<>%f(q8O(mx3i0lYCgS7XnzYqtJaZ;*3w9%GV~xHH}lR(Vjk z>L#-iLoQlO&95Km8t-xj*uIdD(v^W)%w|ZR5(^lxYYi;0-0DIXfEF0crA>JeWCJWr zAIl0$75~hnxY1>d?~o2yCO3)2g+a`g677+|;Ng;DFiY+nlQu86or)#SX!(!;D!d(b zhN}UVcsy*D(I~yl&7e`g(7+d~vRxRq87VeGHJ~009tPrwNzSxRp%6YMLYbdERra=( zG1Ui?nxSs@)`k=1Cn|XAB6EsfD6JkRXjz;Vw!RNJw@xd+HpU9gwk%>T(Q2NUd1Tm} z>|#itl2Ss#Ny-mK4%sgrTg;-;PB44Py{_Tcs|%HSf4ibiypkjhdbb@%;~eI8iY^vNwznHZ*MuBgAoxlC5>p=pfM(O=Pv?knnC_CY(1{SLhMBpJS}Yqp z!yL7~>UmrpJpX|01PCNe0gk^moyXJr!dSh7I+e)c>1N$9ehU<>hq_AQ87M*9P==M) zS6*d4W~9Gg+7$3CC|YhVY5Kw4iTn;LBHnu?mKy}j6_LyLMUhIl6<20wmM6|Q^o6Nf%^-QGM`&a z1NN%pd3v}qbb#WNu}nJKVF3mckEKW~ACC_4{T{*Rk1zg-wV$1<-h=KxK@k+;wbQCA zuZ6z;T32Eta%m(Zr!~9b7aRvFrI+bMwDvC4n7uD;1?{sU}CGkvdi|tvl7}H<~`u ztS2bqZYR-hM!!0u0|*fSmafZ2V(?0q5bvd~^8eXzj!LclM7wtDxzz=H1;ezM#baBJ@2&!t5Y4S(MHM zvIcYm;$;&0?c^_U@^!HE&8jV>P{pc{WTrk;_zM{!WK{<`M4#rZKTp;X_Vyo+)A7!s zZdEgND<0tde84rh;IzPS91=s7)3x}C2hc%x!I{WYkOU&wGZEI>>n8*S5{>z>`th-b zAp@(ChLYXKjT_d+Jlqj_a%9;^(RJ#B5E5eTv2@PQ zw^qErKpIA;RBU~m+dU&W(Y>^ET^NvX(X*oAadq4sH(J# zl?Kpk39!~gvzJ=1rRa>lb_&8lthA{)IBR4nt#E7>+!fzCD@#U8qh(VL?TlFDA2j$v zv2j&%+X`}1VuYlVA<5j3?=j=3 zelw+rCc~nFzYS~}b@L^M3v(1_$vUbrpK8g|$&!0saqK-Z19GGX2*^VaxMt5Y7kDmwO+i{2EsJh5Ay%6-3o#uQ$_3Vl0+pJUauYwY7x)+ z@-Iv4F;#&Btf@D$R`*02ci+7_!p6y)4!em+SOsg&qso0vMu)0=tmeupG;3f145xx- zNB%Q1vs=R2hIP4QGMV=gS4dOW3j?XwgS zBqC*Pn>rLXzLU@ThasB1o&PT$Cwy{3m!)vbQP&6&;e(^mZD?a0aG06>oKHgSd=!3X zqHa3qGksjgziL+|*E`GE!vUDVa2}pmd_EkP9;9WNwo4Yhw$D?-#>hn`;k61}K>!RM zXte#+!Dff6T@PWiVOhq*LPmt!-K8ZPg&nnX>qOikR4M`hYS2pSj`ujM=ZfO(sj0#$ zkD>G3=&x*ioDe`-yb%qP5jCO668ErKPYrSV8gHrej9K;>wKn0tS)uKPY2IW#13rdU zqLk^BYG=KCH_Qk}RdWC=JcI$Cib@9`>Ss+2y2@IjM;bULci0w z)xu-hqrps3n;HTg#bE*|9~13hjnu=2MyCVCr`Kuxkz-O~EibpdB52O3zmKVvs8-zCTYCBk4jhu!5gaK@s?+R316cDVhYINi={ZjL@ z^SH|T>8d|d8RsbIs9He$y`RyPNBGB_@YQvET!+hW{>zs&wS|sW-$_izs37_e2XpF4 z)<#dwf%*hO#8#AC+v6A`>#g5x{|)d`>={A`TjnRc+ntAXQwUyXg&t?Ad}QwUNA=ua zK2q2|_s@yi8#c)!13Dc>U#!hZ<@RJrPsbdv)zZDytUI`HCfjUbR%qNYj7vQ8m)#_6PTQkpAat=~MQ6?zuq zhi^fK0QghCxSQ-2%a$F%AG^YBLiF_F9vGQtnUuc*gtn9sY|50YBk^sibL<)lYgXoE zAFt8NXf3ZzCt+D$M*KBbOiW!;+=vF2&K%cPoJtnK$llD}MF}oh7cW_t_7Lnbt{$>o zWr08=0r~m?goW%EZH&sNPNf>S1MY-EIks&4`U$vabD?-8k`P%x`3o=Sh=1}y4imjs zQ^;UcKgE3Tk#~lvj5RIIC%RZ!aj_VbP*q%6m=r+(Q(dK3r4@{lz$S;3pWcLSdDv!t zo9{h!@HZQ@+JP$pJSW_U$;L+ewb(S?3RN4v`$Z|43GWBr%!9v%8>8jR>+JGgSqH_G zcOT+Q3NkeL(q2h^-iJk{xBVN9>X4~_J^Us5Jm!aZc0BPi2GjZL?C~XeX2bV#DQgf< z+vgnV4G638xZsXgr;d>@#Z@1!gt2-jp~h8L@GX1SuRlo}|HD~&Y9?Ew*+@S1pPN>V zg9a8MZo}s}H2&ACuS|a@#aIZmLLP%CjR+4&2E&(&_%rRCEH z*LiHVWda&Rt57uzKV;phW~}$KxN#rg59o$Zg=VN-V~S5qHIFb`L;f}m5p5}a#zA~@v`CQh`k#}*+t-?sCDWp zHl>!}nVV>eg8;Ou8W^@Q#>zyfea)CZ;Ec+!a{P$%C<#Nl6_4bvZirpXGB|3rASwLF zB|vyF_|bf=vIwMaz_p-qy0KH`0vz>hY;Z4uNceH87MA)yLED7QAua>t$)+iqo4x zeUT(pbzC5E1ye)6{=;!&huvN{P@kvWz$(r4`?`qp+RW8Q0h4L_53B>Kw$O+4xkrlm zMT9QyCUgQ<+Se94t+m^cGe_^g%M^}ZJkM|LM1^%I@Q3%sB*LFz{ueMRCgnTV@tiX1 z5i(3T-}V|A7@(5wd8L1gEw_Lf8bRDsL9yRu1{xS zuzKgUdrPqhd`xxUZ&*LDyyOXURID~VfD(XSNI4Jd2hdaNG1H8<`egeW5*G!iQo~JT znrrVec{6f$s?-1n@wlyxm8YY~l~!?Tt9PEJ8XnJmC7XX$rZ}wR=?998C-;H}xM3|z zPd(y5ut?%ON!H`MT)gJXdNre?h?@Qoaro_U`cRe}u?VUvSlE87fd@4|WX7IejS^{) z5w(UmPI5L?Ubq#)nvR`N59$7ny859d9MmRxRm>R|1qU&NTSLrcAavv!gF~8{$~4(; zFDJ9IFFi5?6fd6EaTOY4`9?F*&smd^+Oy4%z%R(!1)$(A18@pBx4&1 z;DK3EEf!B!!eN*LsliV5db8An7apZ@*Q^5T!r<9B-$Amsw!k|fignuCRRkjXFhb zSSCZ-YL3-F8{>JXFm04 z-yl>^4pU6Ul4`hC`>vE!e>J-KFM)|VhAK3nisiC$ARUA8s8G_$=1VUqR`?9(-KW8G zoc=HkC8;JRh9?3&(xZsfM^0UQz!fO6aRFEDsd+8;9VK$U4KNgCu8E)CeuCAX0Jl`r zLNfByXxrJG$yu5d9E2R2N{yjWcotqUS2d3dd##}14o&l zpEP&SI0{XygcN|d+)^PP$r3X1U^aF&m5C}s1U$@V7`-W3JGwqpVqGR=$^1~))Cl+p zHh;;)WW28CL+80(cT!*{TR_0__d$~QEfvngbONBs{xZVRUc?%qlfi`+iJUiEvF!=L zg59Q2l?EOWp`2!NG?AuUX=83X*nGO{pgtr%#|{-kFORBFYIZO{2aC7LAPaR}gwv}5 z9%g%UbMqZ8CiwW}IZ;H()%9v~Gy84*`o!CuCT?ifrf$J`FxD=v@iBU)d*=HItTwnrD+0}Zvcr3Oux80~qKD?-I}RK>WO1q~Il7lm07-%oTf#wU>T`YMrbBHYpnlOHpE3@mVmX!tm>+Lzjzf)znHCmp) zVuw>KMfPn7Fr(ZJ4P5YZIsWbbu>jsEatt_q#BPnJgT$@+vN_~sOo!LQfd$_y+X$6w zcEC=mbOYD#RWZ2&-x10>UgB7Do8%M_+RnnuwkND687jE=CK57|w!$0F9|-vT_^;C!Tr+$&kP%YxB0zZ zYn$L#ZxB9ZG5-pSiK%)&8)wbaAV4gI9|c~EKxenL9|9q?ry(BkqF3Y2P$KCu<}VF4 zLC;tBM|J5`GfOe~b*5+4lR9RGUMO8GwkZi_SIDoE$IT}sDuc)oh1xaYhG<1lNt$_Z z&Tei6H z5_%Q){lW)l;}vQ2Y8);LOwMsmYBOMHcIz?390Rd5HN9!4Yy+>4qZ8ra;3}R* zj0rUT+wI!>SX% zb56hB8ae)`{PyeX^XpkTFp90QK*+mJ))sE~ULM13P&Ivld(3)7; zP{i=I;aBdJof|mm5XS-I7>n+PEqk_1Mz*^-_GxN1RhG3jtEt3U<~go-YbIv}836 za|XFpRmDeh)H6bO;buO8T@97Y`5Y|RA z6dR36Oic>tMgTCuVb)Zm51qnDEol+@Tdo1&+^^npv1DxD`-_Q(*ONNp0v_c0t>ooe zUed5AsB=U@O3bWj%WX^Tl%ktT<8>-+eqiY*?8O2Z9pYnBkG?c)rv8SxdjIv)orP=g z!oSm4BJazAj?{;uis#$aQajIEmA40qZ;0?7Y|pPBjI%qYO8)PkEp7G1(xc!e_T=B7 zO=}Eg|5$;Xev!bH32{>!T}q+qori~mG!}h-cyeSfaH``Xu@F$NzDoBA4&5*Io+?jT z{o8MKcn}>eWbVqzkXW({+US{WjIA9)OCzOb>2Mk!lU*%NDQ#O8KnwU3Bo4hI%~y|T zvQzk6rc;iNKhl>Y-=rP^LitpOU*HfF+xuYvsLE%DR{v=>?yA~l&e2ry6J3I%EH}4B z>SaoQh@vUa`;o5#gA{v%cv^xI;TC*f=Syq?4(&d%;xxXnslv1Ud|Y@x$3kAT;#m1J z6{~s=%__{?=x8Z z8G{(IhE;{L&Vvi90gFFaz#fNs8Bt%5$i$vPX5*O zW6#r>hn0)2NCtU02m?d>lfc?+vc2^%_x}4F3knQnH)lW|lvwR3K~ZqdAjlQb8%rC+EIuh)bpn z79awt3!zqKEV;!HO{D@tEM`bu>JVa(jW`EUUhaHxM5(bf0MFb4A$%6Q3L}pVY7msb zl!j>63+80AfttjzLr&*4av|YV7K%Vh#Q9>Ad{)_HTrT<8B%ruPDTtFeP?k`N_zst{ zzkd3xOKn?#*DtMDOOw7n#h^%s=8)Nmz;U%z0E}e}HsUaYb+8@wh_qQ1V5=?ga?;79-Xo_pW_{k5@4kT`I4gd5h!01Z(X zKIckKTj6+R`}bbRPOQNFX*`-6C!0M#7R{P9wl&vuE9-Oio*G28H#ktt^^k@?>s9Kg z!k^9WT6*9TU!&rc!-y0v-l{Z4=<`HY(l|LTPC$wXipE9GFurnFm=vKOM*DgG%CCAlUA z0MQ7-Acp4sg57E)A&tj~J?=-~O)DNp3d2&}!relS4@FkPqFEQ;WW|TTLM#0M(oo4! zcu+3QaDFzAo0kCso4S<6+&fi*{S%ECWsXkm;J6w(G7O{)gi~zNMwFSH!XM5|1p@~g zEvH+8t!wL#4sEnH2=89(OaZ8M!b^s9v%#9*5upMg@+J!8y2ewBd*KlQ#dEb(P;QoJ zY#R6Pwg|v7DK!ge02Wa3R)!QVcoVU9&EHCs9rLuWahqQRBrdu2Nkvl=3s+6fkO?M# znwfFbf};tMvzUKIRCRsY@PLFFGXY$uY7;}(y^3Z8kn~z!`+(=m%=|AG| zeyRx3gPPKen3x_2J25UK-(=_d%=&rJ6@u5t>}*e9&dc+g>QiNhk%^tV01SVNS3>;*VMgph76!G5Lkt2Sx_OjVORR zJ1cFgJoJ=75v6?lZ15O_DU?vv(rPs`4W?XdT{b#Oo;n*PtVN|ou(*MUc?1o#mk_S^ zh*g2XkJGAN3oBHt)IIa_sF|OQaZotC7`o)}83$rqONAHQcnrqsNfV#1rK%AEQ?a6~ zB(9)WUO33w> z#j(PcJ7L{aMRkQ~;Q1}M?D7)$P=4m0xt`PIQl=L-cvK#>vMLPQSX6`pIBK6fbQ5?l z_-}6JI^+W=b?R*9SQ=Jg0k#X}!h6Z4$wa_EDp_B^35m?Q9G5MFeVR>Z!vNaQcR zB0jf|B`WO>eT2NW#?lkdvq_@OMjNX~NDj|`Z|)MK0bEu~=Qv+qXVsp#OTGVfyuE#0 zpVPkaWxnNr1p3tyOAi_Mh=Yx$^$Kj>*EIZB5(=FgtrusCYoGK1Z@xs>Hp($OwPrNK zd`=3_cV6QtQUQUWu!W7aB+k5;zh1!MPAC!@@Y8$>a%#BZNJyTQ(~gS>kNuCySW9fM z^bfq)yu;Wqemc&dI*?@*6`h~e&A89%rEr1!?m?(Q7x2Y=Ys?pRWlXQ^C`8?hV~aza zc){<5x>=_xVkn1JZ!s|}34fq>0+hxOl3JG>j8O+r2QJ6{&5l+ zvf&3-Y#6F&4soGU68%q93@E6S*wj=YxJDt$$n6N^_!ulX01-kAdTOdPd_KN?p`WCp zWMMgiK^Y_$7W|GQN|yhVqr;@A-mK+-V=I9an&Z{N#^Bl78$Ju{nv~JP4dP>om+G+f zNB2j-n#tl(O9fh~<>|4=BJjk@(w@0}Gdy!v3G|!($It++J9=J(#L2QWd^1R{)D$-+ zAl~&nCrZCafk1Vn;qe+)G7iim1HCoHO0fbVIHOx%Li(G(0Ojy#S*HW3K-suyZs0-7 z&!=TeWo^4-!hM;qE>)_G+TU(MpBxIk^=$XY(!Tu-CaABi1^7YIz0R8G-^J(SKPn;L zU*Dt3^YBl|yeYM|=U06&9 zq9_)oh~Cy3$Q>F-&=8;tl@03&=_5TY9 zjb4go$AY(l#g|0In&M!pDb}-4`lF+PfQvziii5?N3qq!nG|qP(jt1qxhRV|9Qi_4K zI>9K*sqqS$Rk`EB^0LfD*NjURmg0x zP~eCMb_DaHtY$n=oe?Mhvz1Qgkaj|T+(w^r5jKb#8vvrUoO4iL>aUtU)4>bv$%5&m z6%T{p0aewecJArnwJqto{rKaQx%Y{GhufzK`#g(3MP>XroAR=449maoLT64ShZR6|fWfJeIQ%?l%`u83TUW0cs_W;?q z)x|2);}yGuuv>n+Gt#re^p1nhz0BA0-G#3gSNmuQe}#t*8OshW7g|-9-S&Gv?pTaw zBB81^`Sin>dM3V>Tdsse1O}4j34$v8?uyY`QgHD-y?S<1<)VlFRL(DmPHqV5)ct(> zUu=(q*-cYJw_HwuMSs=G;m)ivQ}-FULv74 zoOC9rlSBn4bd}YwMpeOZH125aJJ8HGPgm)r@m=?OD4Ap+hsYwtq<8!C%vUB^M>hw6sd@n zmPe!{L4dGgtO1RpIxQ*45V+CB26su1R$Z+s7sPNzh)okw5!cvmu4(~-hgPT;)|8ph zC4DP^{FOiyw`{$EG)9*=4n`<+$hD93X%}2!(K4-23 zU%j1uec!%yJgxor6A309^3H8;y_wgi@H(k_9RB^A4p?-j39zBvIjeSB_TM_xeS7KMi~3mU1OoPVRGN zfMWA>OOfTEX9L&&Fbp9_R#0*y(Wlio^mzCu5O(jUjvK1Y#=I1)W92FLmepqY$d%9B zM3?SEypSFN!EqLKvG__34Wg5rLd2s?tkoX*lZ_KeW(XQBA^^dewcq(hnUHU2Yi`k; zDe^>9^&LUdFp+ej6{2&Ajf7+nBC4VR{Q|5EGBw0N;WExFICEvKCe$3fx244=&|xsD zB2)q&ouijrnb7N745ypN?{38C?Tkc-Q-EwnDIz?jz11KkZT-rSsb66+7ML?A2T)03 zrn!J0nT&3Q1N1{sMJ5a$42gk_1%uhx0ic!!M$l1e2{oD?jxApF90D;AswS-w;WMr( zUWQH0LEo+O*;<_~2m%Swl=?&>V@X9Ni65=jrD>!oUIw5BO2^2X#Vo2$-(lv;S^giQ zzB(?d?)!Qu8AVD`T0lT4QBt}~Qo50nF6k7J4r%G`&Y?k+?(UH8?wa?g&-eY^znuBV zy=TtdXP>q9-e+xZ;&)Dy%23F1&S|X)2~>o&isyAnIAz2uV`=!Y;tY$| z!+Z4gzzcqJ;4jRn2Fwu8cadH<67D<=~Il(;AvCH@>S+|8k)@b=g%P zX5r|e+j8V%de8vnevA|2@7e%Ew;la1SsdEbj&Mev_ZP&ZaNx=GS!?%CglD>ZEp!aS`t!6$Wq)5>_PJFdC=ZX9)g}W%$E3e zO{P5BmaA-FShe^`ItxQVcYk?(Adcm7NVZzux6#&@kgh%vLpdv{wAfrX${ zg!t=$tke-tQIux)y*M?BLN@0kx?*3ep0`%ZVT_q8Jw?g_&y7V2MS`-tW#iv!(org@ z;5|ePTb3|b@)ltEq#*GKArru_bP*qkkB@zxP_T$A;C|Kr_B!w5JcTm}LUsh+Ymyd8 zL~Jxft1yDV_JW}A-s)<&kG~+`D-f%r*nGgK>p3@DmPEBll$^7gA981iYD+ zY8*)JclfY+DvRCvhpK>1PhuxhZHpSSb8~Y;f38&qPVY4F;!FU`x!5oZyMe#xNSY(vf0sAT`)39g~wkQd)?hF-ra7> zrC#@!njUnF%N1#CY=~W$6@^AqI2!*$B4D=&7|%m%kfd~7VMwSIdI8NUZ-~L7O#5}k zvb|gMq+z30osEfLa@1?(Wkm;i<}T~k!s7gim%=eZ;Zu)%G?XVtL!h{{kk2P#5w#PA z-CoN{+A@)rMFBhbVTCZ;D_QL)3{>qd(!K$P?LjYzGi_0DEvWNZ8#-|dp=RH`DJn8D zd_T`B1SA-)*6xznQ9jj<#H6BpjfD7$YNqxVvD<6)=OQS0Ls^@_8I<@G=RWwN)Et+O zmaiQQl%G1GcDky5#vOXaQeIH&!~8683>~1oZ+J?X1=SfU(N7r)@E{7J%0u3dA@ooP zk(m6e&(A1{CB31`Zxgf;bc$;SF_alth-efzoMm20{jxF$aYKq0c#I>!b0OVPCPb)C zFA$*OjT}&?5i9`_2vk6MKG5G*e;lT5{IM)2G%pH zk4{LxUqXvSJ~Gx0QMPj`6DFZ0AinPCtm$Cesvjnxqci=8CyI!J6&aNHk-+=c&%I4c1IPOynIeto@Q(LmJ27N*5;9S zfOFW%*t7?C<9g^;L zr?BshQbOfvkau0kA`pQLBFtOF0=j4QoOI=B0s3^56arRh-ya8r?%d_IA^Sak`K0_2 z7B-8R{>b!>j*Sddz4(cDb&$j_Iy3FpG1dD%z5&&Sh#a3}d;!5gmEz`R6R5%u@u~er zE1;ww=i8na_%i`9(x>4#BIE&mhq#*iW!(;abe0o#JJZ_43|$psm*3-#l~pDj$)du= zC^xmNDV16EuSk%{j^sh8Kv&2kH3sD&Atp<$V7K{6bnFm8M7`)KipQ+`p;M%keY^3C zuPzq7;H6%7JF3og9aS*cffCDv5WFUWAH#CTaq*q-7uzaD7d=fEie@f`^V;gQAC_x^ zaEE5ths^C(J)Rl8!uEd6^!#VjOJ#>BMo0P9)7WArntN7C(|u;SRGD9Jl4^Nv~q z-^cwT8zUL1#Bik4iNFaJ$lDf^Ap|N>8q2seE1w(A=7#0Z&Zvj!p zv_zZ-cCWz^!{!iTEf( zpGFAV0kboN=ozF8p?q7&3j!fjLXi)Y6jVaSLdxl?r#1;&OqMRfGZdCW45U>L;(BGp zt=~q6h@upXtT%)zVsfZ=@ z2tOl;X#bw}FzbF?5|k#T*BT^hXj1>UoJYp&%Ax&5iS&cf2sRe(M&Z=h%m_%N&<_bk1EVzk;)Z{+(r?i+8!y2p$V z<)0D)xEE1W2rnqHeas9D_^#31IGxB+Jh-8H#$-U42<~{^IOCv3jPKWWEmv)qo~z~j zCH(4vSMnd8xN@|MP5ZDQKtjZ8KrdH~p*hU|?kK#OLlGU583V4XyY+MjX6;36m?QcGJrnD;38s;8c zz}*}kK|UJ54R(v=DkHm42o%=PfL8Vu`@#GX@@^L_x>2z0x6@Nh>rOI*z?G?hn6VLG-HR%K6G#{e0q0 zrN01Aaxj(CWdLy`jQx0uq`Z7WJV5`_((=OasOr@(gH}o`u_uIC*nvRq9qWgxYx~z8 z-K3?Fv9VKj+*Yzdt7lQ&m&r?iDy#-)y+6IxzIgYQpQ`X)@zGa=76aZC)m);ztL_r;0oE1iS9gn~l960gx3Kva$nJX$lNS2jcc`ik%ny#@sl0 zt)&C#68m4DXu3kx&3o65cg&w2?xu@}Eu#Fr)gNwUazL3Z+mgLa0Kpn2GzejS>Wa|V zNkJ(rEc{g{U8DGVaO6*1=nubNPcrmdEAXh!&{cc-L>G6ic=xsTwMwtWUY9$p>)iqCET8kCajbze=tPd+sf zHDzY`;&DvQzSmN0gOvk6ti~xM*`uv4cfduz7av*1DA6K&Nvi8RaTCRxtrBrB#9h=# zr>%UKV*Ce!W@^HDDlf-B(R_iXDKg=k2hqd~WWV=RnnPRST~CxS9LrPKNU|RY_qttq zE*-m@_SwEJsennRu{JZ4Dn=^VVM6_V&O2Lz{hW94uT2J$z>!j$ENjhXgYBZbT$?(R ztqQ!Mw+<5_-JDfMSEGY?Wkv%m?_I| z@!0)NF?W6%B^_+scY3Fps$27x*Aw17RqamSpU9iZm|A>ptyX^;|KqIpzDq%!W&W+_ zz~@mSL%ppE6OEj{_?h^f1C5(gd){Qg3wub8_q94lj0(xUPRsW*vb8#srcqfFj}vm^ ztaeMQWRl&6R%-+bcP1G$8(g|n{dxb{sw0A7hPbE8l^-f?|95tl);Sh0`>7R<#Yz?t z-;bj}3#QgH+1SMEV8SaoUX^0>+j_bby54=mz@<1ufbsTzLv@Y?(q0XOaF(wi|Za=UEH1b1e3ei zrde)hSZjaMp~X0})^Y1)zQ0Q`x$ZJwn$Nv-{5U`F($6gcd2@n<$ul%Pebp`Jc?__Q z=k->uxY<%fFG%ssn3opIAl-jOeroY2PBl89B7?;>i0Lm7r&udC5gZZp!! z7gOr^zGf>RALj0{mNn?UnYN+xGAzZ8#*ueayEjb3dDlzJ<7y7mUC&iTI*GrDP3ufZ zcgNQh=%C)#)8?k0r^oZVt&fDQ@Es!DuL#S9T=k)1YTb?K)tua&(7NAnXo8c+NZDsV z=OPi)%k@)1%j+`JpVB+DyG~2H`FqKv;v8CDi~_D>t6TOyrycz<7pZpVjFT;#C#xst z=CMy$8?A>!r1{*op6TB1X80*X&e?C_7drWV)U;RKnd(WVH$FKCrzi~LyZsW^Xg!7kU&PB^WkpB$H8Wtafv~Ah z>v5WC(lS}(=G^C5X>wpMzcSH4-tsebU=IT;AfJhVmEpi`$_*U7RR&q1e*y`FYO%Nckn4Xp9g{MusEcD?Rn8Rv`D z*tn9G+Xe!->l#8Q+3S8oMd3ll=1us$vHC|>c-dv=B)XDaawc(w>CI`X)%D2WeOKt6 zljlvw&c4PZi<={nlJZ<(JtdhA^=!@JSV z8y@I7J6??#^}^H>IO|c;8qdSwCwt`Z$qpZ7Wve7kgTA~)_#|e_-5GhYCI3;Dli;@= zi_1|bCiqrpL>N%7K5fDK&*3*ApRRA3}zG}nnD7mJ~;|V(KvL}A}xY@5e zKCE|%(vD5T>hRlHxCF)R*Zs(~jujo@6XiE-lPQh21*wy_I`cRsR)(0|zw`PS;kI5k zENGY*QV=Y|gmp64%RXE5MA&KN(b?j>aJd=@x8p8B%VoQt-vi}jAlkywe1xuCJigGj znAp^cY(7_OD^BLJ3JwMbw=eH_JWf|)dj4fR0WYvCOFd{jVP2)=CGlir1|(Y%g{bla z74bvcMw1N1=Z5U~W^0l1kBp!c{f+Z6JPLUjF=m1TciZ2(Ux`+0&>C`10)&x$cllK>;ZAY89uV})4@&cs#(tL^b;GE z+?A-RRAU|uqHwgvxYpAEzec)AdZmxR=ed>qYDXkQ7r}LF=fA}+t?(+7cAwj9?D9H6 zX@aN8wV|?KGIMs4$MXaa?!pgIDqLZ%-%oXQV@sh3{q^xGC-wf+`@*9({UATvJVld# zh|{#E`Rz1pa-ZEpR79ZeD{6T6p8e1ntc5lPqlVGh+EG~7`l4P}+siWlWFCIIR(F%* z*&uZ6>9mKh<9W3f%v8UbxOltHHmP;eiiCN)gvt-~Sz`3);MIU=nuC3CdVJhr-eGdD z$P?`=B80@gkA+*+k5)E`j*_bFb9sg3)!_Y|s+Ys=T>jQle0I3D(|qau^^{B5QMl@Y zs}~Lb#e#ToRgEM6MXo=GW$esQWG<`YxQ zEqeJ}oZ!-*m9A5rj|1ai%8d`s|HCOUPilEsImcA<;7R7);S#&@UjuLUxE=0fRO{c5 zzM7m9yOXo-r>S&W14BJM;P;GlWSrMp8n7)6UvRqV&|4N?cfl#r##Ee*4!^&f6#9`u zYd!I4ucs9LGcwNq7$>au(BQzVm-n^t@elZEs26=qkT&LGb^SychyTz0v&ZP@+K$sk z{$#G3AahWQww!EhV`FplxAxOhIyDCf_u1GSo{%H@Sm4D&L&DDwM zfbdcMR?e(d1A0^bRSNnWpeg{X>RtQ`MhCgS0S8@DQliR(*SBVOcX!8K3S)n}o`i-$ zKJIjf?lfuMES~JTZ>WCs#r#0ecz9{ZzU3a~Z+$n}(&DTgjpDsMCCY!Z?bFNeb=32% zll)>B&7{|)#mi%3H6N9X)%u6N|6oeA=Te8c=d{OA_+lLIfjR#fi-a}PmHWN2+!@Q{ zR5S(@%d!qjNIpMW3E`XF^t)=sUbZ!KACc$B%aO zk$;>`>cYQ}-!9=bxbd&I$jPk-DPkc_im6UUfqrJYiRc7jBc5w!@ZF%vKQJ;*u;>PEfekA0@c*c!k3e5P|EOyGZ%ho`|;)hRsP-Cp_*RhBK}>1f&A9?gx^Frx%b>e0=4 zf38L`U_yJBRFwLJ*G+ehZGc++4Hbc{u`*7-n3RafRXVt}fJk)MTuS@Q8KJS)hU_$8 z6Fv1m1j>`*gh9ES7{z-)flyTN#<-7jzjj42A4sMXTLZ-w)$)-47T%vlH3%-nUb zg;<-NjRMgb&J$2>IgTl{m?}$G%qRIYBnXa>_r@_hIV`<;oC@Nhc6GM|d+!E9;$4=$ zZ^SXuPjhUHVk=M{`{(}~;~<%{A0SHSVhd?)Gnpu5)sFjfb;0y%Z4^{t2Wx2l;Mx8!o1=?dK&!6l@DsG_{s)XjP zrO74LZ7#s?k7lfN$d5@q0YE=jCq{H2fqmSpMtbaL0+( zeMAAiRNW@mv*&SIPms$G+%+|4<63Ul*4Niv&!5<>^r4(|vKdKvB;I7(zBA7;KYQOh zd1n09gp|#VN6Afv=jd0>=eQJSN}^Rs)In<($E_Zg8&cmUW(WJuq^IwRL+6i|k8>wx zgu~-&_J51l2>$$xN^*KUlY8C!2$B{_%nxs^k&!FjG)u4>!kwzhzWOGYg)+fs-ERTz91zL*}zjhUKa{q6_xxnb5j?t?E(NE{A# z-w*P*%}m`kw(y-r8*J=(Ej7NmKkqdmpR=2b-)Ql2l(QN`09*5^mdoXLQuo?t0k5Eh8ACHLsqTDAojOLc}&)s#z38mN%)X zOr9Tp=G+sI-OO-U&yBoYNt0aDxR}8!R4LYIZq`qoM$aoCI_I-JiP9WwUTT}@Z)vi2 zaiWnXj$L%?HqwQ+|NNbPknA~lr+LABpQP{}bFileT{B8uzvsN9u7z;_jqS+h){9Du zz3cn9iK4xeK>hz4)C$U>`2%eJ^YZXL*rKPZmaV9q+#s`Tgt_K7gSO-9{`+rn}I3-jZdx`3+e-w^chK|wNOC!JW=m=nta;33uUI#Ui}&<0^VbJD4l)Z4|lxa3j(eS z5B+8E``;yV-SoWy2Mz;qCi!puQ}*$89<4Xs@HmY!^1fPL`^b6ezjhZa%Nwc!zqm%k z;LrY_zW`=+{`mYO4g;kt!0jNnHIh8e46#^fyaM7Q;FEN`i+^GUokpFVQM!B{zhZUS z{t+sC>^*|o`RdS8$3*Op-2FNj%xMdWzwvA})8yT1dgs2g;jF;Xk^em_WLi0V@p8WHT5P(cSKfmPa@_;`j zhpsEjqayu<$T$?@9T9939VYKM*}Yqd9lpSAeJeg)MEjD&9Wl)4FB3 z$#_qUCK}t)uIHPLcl$QxDi(~FJlNqI#aCa?8e0E70&LmZbZjzwy8$Rs;%wi{VJdy= zig&~*F3W-0NJGtwSu6!JJZDQU_8i9}J2_%UZ{$*aGy30eyfejAWpZ&h;IeN$m82Nq zF&bE%uvv?wU1r<9DDGTA`Ip4_;|5SaD>7O*drprg2A$#YGV@frYOCt%IxV(hp^81@ z*4JvTxT=%kz1v~8z|feP<$7ZazHvDNl^71hFy!LBy`*H$=KPAax_(}d9d<{Q;!Lsf zUAk&z<#FblHCX@g{&n`5OymDn_~1_VOoM)=rRB_T3!P{4T+Nx~CjD>pUZW$R<2~}0 zFI2*-Ko5=A5)l6K#aoS06|W*RH2%RC;V&oxMX~gcraOwxAOHRph_fB;y!08hU|WV` zer#;)({dnf!8ULhWXOUZ@$rjy`%Xx$7&`!WJfuz1D{fi|;~v>M1^-Sf03w02U2E@X zDnAZqT)V>DZ}wmfXOtB`?bs8wYi)khGcjvab!oWGTEf^^SsAoy4+j~=6;5v!;m!H^ zTbC>0PCLZJ#7=5q8Jp*`)`J@-piV^#R}|DG9Q+Xk+DS}E2;)7UQq>(Wd`+9;oS|uD zWyJ@o?8KP-^_{{0t*QcAyQjlvYnfqhUj}86PQYqv$Q;HLxS3(q)uf)+OV0J=OOoT_>w-b_cf(A>+Lc zpbE3u0g8j+>jCfI&@O_aGL2=+FO0&HtM)M!wQZr$rAZ6O#?Fg%^%*gYp|* zzS3B+o+nL)%!AIPUt#U0eHgv}q*H#n(!E01fK7tcRC{{LQfnr(NNt$+Ib3qfDT z{lEH?C7Zd zQ9A(#2S>P8YPX@%I7-B>`(kWtELAv91uzBWnrVFxaJFnKH+5lj^o`wJA#*sG;FDB% zBa5;B8Fx#~^>K!1@E>JxU~DG_^_@>$bYVPzCJJM4{qn%)wn*(=+nx>A(y975?E4U> zsM;zqV)npY_oC4s;2`i`&xv48z58c>kX&w(T~A`f%t;))ZNG^{qM#mre?#tddz7za z2Hp$MJ(DJER)KkIRQKgGtT>v#d%44S;mE@Gp!=^28Pxp26e_4_%C$6gWtm8JxiW)= z{fcwxTc$=Ex*U^Rb534Dvd0|DRX^sPtwVQ}jE-|x?b-#y7SHumhYTifW4+-_4g-(j zZiQQH2=DcjUmUrsvrKoDoI0mh-?1Cnf?0R>Bwdg!*IKk$_4OZS+}m>7tJ-osZdUyW zB8Ua?=0>2&z>(!l2U5V-JEd~Dqi1JUiHw>xx9c1&bxS^Ij%qC@6)eW^y9@rS)u@)U zVr#DA<8AQTP6oKG_hzawc@80ze)<6c9fYucdM1KLU;l)rwY9Y`=ACqLMd3T=`h-LV zd?)dPJRm&Z8_Vd%I7_u$V>w&Wa(@kId!80kOYB}K3($!BQ_$GYvAC<~sMG8A&}T_= z@p?j>?>J&$U|_PsgV3+ixc}|_<%-vFRI1WFx!VRQp>oXK(ap?hyy1u&=0j2;x`$a1 z#VooYMEtkgAExmTL?=bH=kb2{^wgK2Bje&8qk= z7krU_om>ga?a$rpyInLtU2xg(JSd;evI{9UAepHW4kkjfsfB z#=$uOU(~%%%`p|kN&#WsVolik+M1-(Jlh~x4*lO*GHYuuLBF8=F{gd=+sh-VY&)Po zKT_6}@x}Dp{S?OGOtm?Xa4l9bS5uq%{nLLiiHmAp*~P_0rLelmFRSM!-JhI(>h69Z zs`}U3lT?55lvLQxov!S-587jlSCBu~62xs2LX{Ot^8JZ08NX{|JXKj&CBwlaZ*i&D zigioMr0>P%`gr4xK#6YnDW4~L%e|ux!7$arP)3$XW3%mKy8FA^`yt>n>7hcBl7Sk< zRtGQQGUy_yXVIXh)f$!4yRmKpSdYF69hc9Gq{~YbzMi*kdlf<#RFOc3`zUP1&{Uj_ zD75`U1Y7*$pS9#lCq=+N5c)-&L3Um3X3d2ZqKkB*rJnazRET}oCmd8+QN$I+@-@L; z(&WM{qYI*zd<&Pv@?G&~prZ?*?gpU(31EH)i(cDf`M`aC)A7c`$1l;UQ%sk?U5I6y zmMl)7K@MB{)lr`BlbzJOd(s$;{m!bRA2Mz2NDtj{#lrXahAbyX(9IW98a2=stu1bP(a^9>hEKfVAd$3KTh?`SI7(cP9uW5Uk`B^=;w8|#ZK zhYN1Gxu=KZH%pb~&9^Os3-0MowFhG_-uO|w?qvA$Tn)lFEU%YA56Sa$%K)-U=ao2J z%d6``j+A)3-{}8Y9As$b>N)Z8`2nB&FKlE%sHnK-)$a{$^}pA&|8dcG0e6Feat}A4 zwtYd`EN?CfeOB^2M5zKULHyi7wcQy-aC4!lf!a&E{DWwsY$gR1C_%OWk2xFCK0Y?) zetXopul1;d^VzfCAdeS;H=4-pWF;o%cM~BTYjgml%KQ4>sh9jP2BnLqS2$9SyJ}=iTy7!z<6HPoDyplzQ`9E5ueztYfau z-l%SEkmux`kdV*K2_3X;EdPB}RMeWMfrvum-TCZ6{Z0vS212t7sh$F^OG+w-wGRCL zj-|tXV?ahif{vNl`p8ERw;k+W;iTN`OiWDde=i=M+tuzUG<;AyukuW}XYPx?@6>O7 zodmsX>!WsQYDuim+I+vwML=hBFkykJ|lJvU6m7n$myVa-3?3P&r^tHcN z;p@ERRf5E`Fik9rDwKaFT(xEc^>KdQ5=?i9fqWDsO!)|rnbRd^Kl*n6gRVNt7Ny~K zqhduh_iA&)bBj&!#NpPnFG8HxUd@vRJ-yd{-i|Q1(}^ zY_>+Snb;qg$#{6&0kUXx_MuuMj!Bz{kZ{v8s?uaIh1*Fs_TJ@Sp$S<~Vm7gkD;z8# zUYjLvhVW101v&lXad z^3C2<)z{DTH&dgR6^&ME6x(rxRm|?$B?2!~*Bl%C+s>BJF0pG*bOZvUJ3T^s41HvI zknO$GZHbezv8E$!Z(liwT{F8^!E+U+HJsXp5bM4KHhKoln%$9XX~qRH2?NX5@nIxf z8IwC~s`B|t!hVmZ!B16YE)hBR|04SG_ZUofO^<<{gJarx+*f_jtJ&DdyLz)LKDfVM zhMl{?W4=C9E7gcT78&2`=)4}s(cHkGl9XzAZp@k(|~ZDc9ufW+2n7FyzEm$0xjZyc4Vj>KcLBv1#dq6-2zszHHB?|L0RAkCGj z5vQu6f=@uu0uTsebLxmDy=ii*@?zDBE)QoS2T?V$+3jF~>PIm~lB9drH@Raj#H>9@ z%J2+4vxGdj`&HY;JIBx;dCJ$g7B2Vdg2nG6cNR1x>7rS)9zOUt!g`V+h}%Rk>ah|g zYb&*+qgHaEd>#XSrBJ?5f9Rg}O@BVZKFBQ~HOqL-@w7speH9vZHQ)$g>8;>+nT64X zcnm@MbEBcBpG?V?WIMoKCzV|>ZLwEJNiA7JplHvpT8yf0#w+nadbBD_Cwd%h@T4M1 zfWS0LJL&seS=O8m^`3b!-cn%G17v>@+|`tNHCNgF)fy-MKkGKR4mCcO_q(`1fp-bR zR!nbk66$3_83S4~&cDIin6C^$IM~^1U^tPhBsBzE4*woktWr2P@4e^PFo%^rZWhx} zSQ%W^%_RHI%1)!MDIjC&?QEH1{yIvEnaO*)zuQu*kn@-WE#;U;Ib7n-0@`(3N9>C-usY6#Mh z7RB1yN=`cTze$}dAkxcLoL-RSC^5>|-%;WPFN*?sj|jaCt-C51CyF>WdR97-Xem8@ z1xu{IKa|#Mp4Q2Zx0ZZnRW1X;5Bd)}K_GLxd}Ub(j@XLJE(`5UW&0ZimT#ns&37Fe zv~q{P(5MtDmt?MePF(#VTW{wU!P=@?_lx=kG$TMHD1-O=+|Kx~FYkIuyO9_;uuspH zC!D+=`UC_85%D-5rU`y=cXwYx#r^j}Hb42}t$^j55<~GRnY9)0hxA0+eL=D%F8lSl zB%-AldR52I51fHoGHD;uyC>9bl=#2SRZ!e=5MmQiYlGQZL1%Fvp4Jqqpbu_nLr92- zpvHP+ZjND(2xjwJsFRo=D8tY)eoe!I$ELAHm6f zUZW~UM}I`j$giIhHeq^+=$dtg#=y)pjx73~tp;qgZl7ry|3?NdvAiI6hOt!~l>?0r8%N=iy zGN+46htK}3sIGB{TUtd9os>q>!H?hvb*igNa>=M_LRiSLM!;q}Pi}$Oi018xBvW~` z`A#uxK}uSB^dswtIOsan-Q6uJDmq|Q**ab97^Ywvja#E(iI~A^h9{{vUn4NQ%4Z3S$w@o7Tw0;kmgYdAb=lYJAc1re6i1d5YEgKNIJXc+gu>G)DulrWF}j zf;s0SG!3=*b={@_9|Tc$+73`L1o_OH{iL)SjQYe|x5xIIQ&t5B^EIQ}tMDh0Ci}LK zI;y!x7_T}m6Rn%|)z5$XlizP`KjLoDS0lv#6lpo^s3hc+ zs;A~`9UcO1=${JU?P9aXz?y=B!rnCD3dnc@O>_?sOLZXi)2F1O(wsuYAh|ppl~XO% zv4qW%uK7^l;^9@B+}zyArSNdk)6>(^il@tqh=@q6G3^3SR%gEd5juKAPxdv>pty*Ludgr3+fPsf zEiJ7g#r(Fmwyd|7Gr-7!6Q6Hzf`j)Q6dVjf2bs*>>zpN7S-+-L@|C1x8KwaPxxc#s zWH3`Ja~RyE$`lm^B|AGinaiGrmNr+EG}Z`k-D(X>kOMZ?%p89A{nZaEm>0lT+NBar zqPS($l7QKVe|dl|B_;LN^)zp8l3g_{quIkfr{J{ns&to98M%}6c6LB{A(NoR&4j!( zwFj}0xwz5e<=v*+o9h&hb!#_r^;3z#OPkVkQ;`Lj6LbCHvOn`;^7Vdp>(H&WG4pKL zQ$+Ymd1-Iv0sJ^7M2FnNp5*FB3+lhM2Wv(O>HqrGNOJyxv7b#qT8v?(zzD0LnhP0r z7TqIg6sz!XK$#5>rGx?&b`DeAA&*cr9h6Xk^((fZ@7J&C^p6&XhU7Dc>55ZiBqgy$ z%hS@l^$ENA+|C&!BY`b}H=33v066s8)zuYvFN};bh2tMWG^3>*b#zidedq4noK_?? z5R>tL{4_E(wN#~$^z6ANmhbJYd#Koog}<-w$Lg8VmV1y`mRbW*g1zat$yS>~=`1WP zATnrA@`jmNu5>atE9;PFv5lSZu_EaU{`Y{eWZN+_Gv~`%S(Q|Rjy{ajz?{-d-?Fid zTd;4euM>rKL`UO>tsEa8Cs~q{llvDBfBaxz0P-oo?|FE5kgi4cS6F}%rlzJ=CMP7A zy&`QgMF!{)JIlo2u0KQvUbb{NR6_UzlD-szld(cbz zy?$wT2TpuDOe!}X?sXLS@T|1y^6m}|u2^lYxfvjiDrU|lD3alPSXsCBVrRuG@w_9v zz_-thjF6jpNII8IrG?vaUmq6=C#!n+@gFAId~9VwrWd5JJr+VkQQ|}av)7eO?Nh3E zp8QQ2#_AhNNaDeMGub+p{^@tg&vue6JU%;lL)mj{!F=Ht;@wMKNxbTDQ@!-kEFHiw zGU#+_Z9Zqv#Tq5s=e@Ovq<$V_5p35DRzIK!(-YG)P@#1BL!N^SSv1XbdA*S5(`DRe zFM=XP%EFAA_D`Qnie+y&atzAkD@j%8bL_a;?6Jy>vhJ-ce~GuV(f+6K1V1SgIi zZVO2c3?jY3)9`&tsh$Rst#h3zt)=!G?OYM9igYWXo%?z zzIKOyzc>)bP5!j{ombbPyJdg1Mb$(2>S^M@#9X`&mQa8aCRx&y`=@!TgHdv8QgJLo z{Yw+*zina=ad3txg67$;(t=%1<^*%%D>b-$PM*Y$5ye!8M&Va0+z&`X-zMjb&WRsY zZ*RpjsL6nzPry+snjjODL9*t{>PmmIr{ZCt5-Jg7Zp zst-#M=a`k61$r##hm09A{oUOzAngB#uOE0j94(6`?W2_it7h?{dp)23JI|X; zpeh7w5Tg4rqBd*z{M*Nc=Djkl=@n{U^OF4Z5sz5YX=_au59v>8r|S^7UCan~ao zm(6@|nQ@agPRk{cB3;{2RAXYNC69#exn#-XSSj*VE#%w3zUF=ryPmr7*cRyl^;yuv z0y@S@Zr)KT7w?so6_9VKFzTJ@MPkSfvSh|QL?w4$nwU07`u6P*?1;THsV<-jVry%w z;ur!l2#i!zKkt}$dXa7?G_4%~z=kcjN&|ocSY}m>aa1c58~O9hqje)g!*_}7GAd+C zr>CDVk0G=)G(9~?JVrgZT}bXoSjhUI1DfSNzZjN?t?d!VqB{;Y_VD#62&|FvI1kk& zRmBzQ9-X?;&}VXNKRp`WgB!UBrJudd>oy_lnQ%r)TiMZlE0Q;Ux(!==_7p`pqq>)% z_ zn6#fRjC8Kw)=?bkq>guNZn?)3&Yd+bL#{%W%P?FAW%MY;GwQFf$;QR6ogg0sv6s-onsip*!WDyF)cstG$LT$}MOTOaFCGp^-Ix{u`XOjA!_UFHrzweayPjwb z*wy8qw8FOsga!#Yq72Ku5ew`Ib5%r3U_-e7&Dy&3k6J}`MQ4M@w(LgJj?3=mRT1i{7ty^Ia0VzdCW^MiJR6ad`r9Ak)aWyicNI<05 zo%xa3Zl_sx{0(}U*0a3mp}fkq945bBQD(bIY38RCC@3EbcEx^=`0qzT*{vP6FDd6>P9pW7|07CK9Cra)eE z(Xqk-)5mW6EZ*^7_~-Baid({g#)P3l|Iz8G0W^x4qi3Mx&H=D!yHZwoj{Jzj=fwj15I|Y|s{oR?MarS+Fv} z&QE)~GW5{Yp~d}!yWZ%00ds6Ix4vajB}D=yv~LzgQSztMiR1q<-{Jx=p8BS=c=PzY zo43lCRheW^!3Hs;T|ibrnN=}aa zm7ajUe)>;K<_9~O&!cyALCSZTt_-A z7P;rqo!4DOJs8S)4_Ci6>T9L$PnSCt{ES_Wc~Adrtt-DHCyL*C>Q1wRs_;6N8NN7J zhCul5?JU({GTcoXR}O!g#XOAM8Cgd(_5IfVL7%XrzgaET(ktGO_>hO0BW*(vCv0V= zq5j;4MT<$csM75Rp{@g?njzuWKx=`$PEl>S64VRf#I9tg!S!KV*F1BBffnvPSO;?( zi0J1LJ}2(-$5)x^NA6@6-Hb z*~Zg7f8dO#@L4?9YroZ(U&#H&xZ62^dwLzT_n{h7Cu_hCv*GUA79-aW{GIc$@OL}e znYB*)xN{l#OeGc0LhlqGT(RPA{48bv?}t7G5vyC!UZ~+p3s^oU6;);>TPxsy+2iaulTGDxw7JOn!cWdY z`R@ln4x>xPAejTf#&&9iHe>g++E<8BIGO60_SLR3VJ_7nxQrFu2i<+i_1Pjc6bG<`DJBCU|e>9%Lj zPnXLN@6g>?ZLHavPi>KMcATy}InWtfmgre7ZQ-`zS@YjcC_&d| zklDAkvCTjxra~99F!_ z1Gfa6O`O@RTDCC*6~BBchdC-aSqAHuvbkz0Tln6dzwd(A$DWLmz{NBJv}e~H$9M5LweVC>9lxrfL8hb z(Xsgl|4_w^jqk$Z9u-&Bg07mGk}Mwv`1vjm3cGb;XivIL(RA+?6T`0(2i9?;ejPXw z3qcjk_5#UUR-f)g+zO$8{rAef`JebU%N;M#d1advpMAD{A^f0S6xn4b8mga#LH2Eq znSqm{L{;%aE%vi_dBP7K?-JvaU`?6}^hPcqJ!xyyBpFIaa4d(a;EED(t8$H`)qa_~ zEhnS?0x~vVqATq@80#K}X6vl7N6eyiOw|#5fnoN}Jhw&+rj%5K>I0Opa7S^W!PE75 z_Xp2g*})Ts2GSM$Ku9W|$6F94C@3gsCq|2;X4a||7(M-o$v?M@CX6KlCI)m7O-@+a ze$TBlI4u)FjnAbs*K|mrxb$`R=i+M5@N6$Aa#>&E1Be}V@Xv?({ad4 zQ*ZTHkP-e<6bO<{Gc)!8P5uhN78DdDX1DlA+E|>QKMgw4zo zzQ_H_V#e|fWJAHQK*q}c4V1yu+rYqJvPgZUS-c*UURlo8fFj;{u5cd;fRu~#@-{bz zGwqrdZC5&8#Pk44;pBmJsS*G|^C<(#Q1ULBbpWeHIbNweDUSM|&-+0Rd`==}WsGJ6w||L}}eglb1!*h&2a`)p0waEy%WeCdIE|h{-l$AlIAQ1I^bu+c-6&*g>3cf9oM}~%=j-7tP~c@^(%_ZZTH)fuNjR; z`(2`y7b|@wCzCa)5qE_y=>H#GZyiamTph@`orYgR%Get~J*)KhHBm)_^2fKSf$YICptT?1w7f-ty|- zwdGCnjQzpWO9@c`370pS|EgeZL4mw6nyiTR9f|0-byQRa#Vtya`21wVu8hlg`r_#soZX7=fiw5tO-|ZE~yqDQxw|>041TxZkPvkZ`$c%9UY7#ORC8a4ag+ zW=e@kNc6$Ik~PJuBLFEXDvDG%%+yLmNC=6LSF`-D#za8C>vpyg{*FypM8w3{SiN`( z{Jy)h)6mdRwRj2~IV7B%b9z0UouC1HwKKX7CLsec2HaDzLO1*ATEfD^r6eRQta`e- zklwKl=$GMfyVBFr{uT3#E8NC&rA|*zksCB>tU+~dTya}i(i{>QDI+Dtk|YUEkE5yL zl#Gn!ze!61%&ij@!@M4UDWgCX7jri8oH1YWn^qbWv1r7O-njo7uC>C2lgWcytSa`5 zhz?etsWXF*acrpiKiI_P!*xl@N|GsgZH?HtDPalmdj{?5$MJH9nNm{O2>OkoVjL-G zxr5a&x(B@!}tXo$Aj)i#0I}V?1x0pUd#w17pLy{ym zttL?A04TV93&geLWL&@R9r3X_Z-H)IRTW_$=mnbdto`Kkb;Vq){6XvNA{;$-o12?X zPEOHUa&n{ThnmZFczxDddHw(+JJh5N$#MYtvBnJe2S8|=c8TSh9|GEFJyw21#iFrB z!{Qh44e##UdYKoymkIM}Autc@uG7xI! z)Tyx|*=*$V74hw8fH5@Ls ziYlw7Hk%7oG-`^Ai~IXB?11ZN$!;@{^-B&=`eb4T_}OhcrKo>s4wz}oQP za^3+OcdsMKzF`~{{TEfbV^Xe2*c@aO=Er!aa`m?pG{t$VBSRQ%0)eos;7bMS_!CyD zG99Zr5vA+?7bar&9zYzYrAHVoPPG)oxxtqI! z%3qx;f&Fn{1}X0=k)H(lTL!QC9)E>ih?x35RWTk_0mAVjY1>aZSdqj+1YEQpETw?U zqaS#$|*5;0Lc(NB$JobYltUg`KPd&#v0#n!Z z_4T1YQ_|3oiNl+T--c{{D>MQB32)o83R!rpabJq!7JiW9tbxmqA-MPxt9JXYtRsW4n%jM=UgZ z-U4gw-#(^xo0GmN^%;rlpMQTOZ)MSBJEH!3fM@v-iS1G8_z;OklchzH#-Y+mpz^Dn zz3A!bDO4-~v0lqo^^`tDhQ`LypcWW})0UDN1Ygyu!SfEoKt~54FWEf*@dv)shr>_9+5*DeE6%N*q0npe#|QV3_;-CgVoXOBKo045dO<7}9S zEj%2LmmcZ7Z{Ku)c`?>$o;-aFq-UP2d zCo&p|+uN7JE**mtg4b+}Y??sry6OpNN%9F zHxZoNfD-~>l6HwVsOgYkpt@&TyP#UR2dA zyLhHN6?06w>jZF{CbT@Ud@3ZPx2c##D^~nq`ifXix0p5Fuu{O7$AfL|vG#D2qgnH*y0wx9tPu zMwnx&&NT`q`FCg`Wxta!O}q(!{Pa{$1BQ{0%kTkq?iXbUIEM*w`Zg_c~{p_%S4 z7sp`G%^p7oS^pIq&2D0M0g3xmCI5vY%JL)IXZf`rB_|Sjy zUN*nh=!x~bSyu8K@bl`aJwI9^BUVln*V<=sR_+Vk3VC{P0_0r>$ z;B9eB=l{SkD(KI)Xj2Zvy|LuSu^$gEKEchgNC7~yln9`xWs}v0Bv@tvZE(xq(e{(Y zqQ0}5y+SH|p9-#306G4P?1_mb(d+$X{8~W$vA1Ww-6jO+MG?S-8v{zgMpF+wDn>>| zKn?>YQ6fwX$@9v7PQ9bFq=g{NKg7Ja$NR?+da8Gk9c8ogL(GNf}iF805Y_Ur!21t)Xs^WAjI z-1rNy!fQufv|KNFSl5%o!@~nbDz@;Yw2TbU5Wuf4EpLXITS43JPO9K#I-iaWz5asz zcQKz%xJ+fSQm{?uNu^LoK&8gVQ>Z{S+OD>PwF+=VEbun+%S{aPJr^lb{S9TQnFsx2 zubmO%ZT!ifwGZEk1rQJrzy$IMy8?nqt*XUz_M zgxu8q52ZpLd9h5%Eh_s{-mG+{{4L#yHWf=dNfvZBGpwF0DS?4UPNkt;qJzC^- z(};qAaWO2nq+Yd3eUN?tsEBDxLbjLA#LOi8p;zOW-{1<$3hFm5PK|857Kx|?zd^1| zb3f;in6XT&%Bh+@pH#VoN|Di^o1NdGz(vBzKN#!9;?eCqUZ^85khKLvj{c*6evryy z#-*fug!36RzVG3C8qF;Mn+E2t858dTPzZnvx%O5wEg>NxBZJOD>KKqtR2CeC^7#+o zdS!?NOb~>gC*P>~n23m0{&K35KbxDMKq(e82>=A%^8qGM%O0@-K!n5VZsNy;oX-g3 zQ?O7}?(Wq4?{RVD;VJh|a>~le&d$~MCPL908a7Sj76czc<|@r%U~8DgqWK<9p!k3J z`@$fXHZH&3tu{T?B8O|YWMx7e2k;_RT?=TJMdxZ9{RJL!?|_@p9o#e84!vf4m@KD#x+c%$pX`Rj-CVLGk) z%BoK)sD5aq!qBj=z=gV9>|4Xa!t##I`Y$!SXqSYJfdK-FpMi^^fe<>K#X?z6Z#A9A zW5F@w!1*2+Z2t83=fK6Mpo9YqzaMxC`uglD#DEhjnZ-ieb@er{+ZbbHkN&-rgA4HF z^mN0qMI-R?0oMTn9Gq>180bHbkB^7^!QJ0C_bU`Cg{=QrDYaTIA{F~n$IZjT!_Mvs z{1DbK-x#{V`3EX~V3M(0zSjaC5@2@#iqvAN$Y)fbF)0Ih>S9N(F8!+3Zar3fa|@*C zz`c5&b@|o|ursH=X!2q$>S!`RQ=Gf+I%~&iUe=rws;E3X()}M6ngZ*}*_8i%K_XcW z&dTZ~c@T-vD7{e{`%{f4sF9Ms{YSZ_wG}7BLX5AbK4IPlUk}tdX4ZDmgfLuPzFBxY zXX74jqpT8vC2jql{~rYL;>C}B*?ea1`RdS6H0692dcibU_SSz_zzf^7R#EKa#AH^_ z39Ia}z>D+oQGoTDVcg|KKsXqgoOFX~%G1!b);6OzbdL)i(}&!?>bPybWjlYdf3ZYW zrCe@dZVpVUn^U|0bnqq=Wcong4ZKLSy-*Lmq>;UYP>r6z3GMb3JY1i_Cx98!vZ0&^ zpz!&Wjogv?d?Fdf5bXZ|w#5uir-CBxR&b>P?~eU*k)WLCUVh%j*2`wFk@5^dd2WOA z^*i_ftFz5%GenQxle*J$vAvSfWFnINt8IK>`ine4enKIq3?R;X1J) z90O_^*xFnvP+~?O&08G^9}twjxwr(z4gj!-#bhc{0dE7Hb|W0`f1BhA?^9Hhd$<30 z&Bx$Ialv<$%x2cC#6G%K)ZJ9Y()pS25{1zpoeunS2;%<70ze8Y%{8qkva++uU}sF3 zVPIjecgIbD%!Jqhke`Ua;mnR z&63amZ3Z4kP-TerOqeo*@GdlHJ#dZ>RRb!9$KBCFBX2w$m*r1Y@$|k;!(sK6W%_oF z^&)^%gd^}~+n36XLThTSgV0Dd=RvUvuE)iIZOH)Efr#~L>&3ZrpjD(qMUBo~ou5m{ z$k_aqC-QP~%Bb(bU9QRm78)Ay9c!4;Y;?K0pRJ%PI~^QQ^YkGU?ChY&Cy_vlMmAca zlhJ7%HD6+lNOSPx#}6QbO*sQq0-Udwtn(oH@c1vdgGj(VQw8z`I88^0 z3McP?uE{>Hr>6%6i)?8X7#R5e{d*1Sc)-$rpr#(s17ARa(Eq5yM?;H>jWuLV0b89( z-%_(z!-la7Ln-u~%Z2+R-}CLTNrsp6e{mXr^+p;ER`ZEpLwhnCuiPUEndnb&k5PoG z%l>}!8Dr~4{QD4Ff7$yJDxJ}1)2(ecN^HfmRHZN`J@DE94^(mc`x4O`Ezgg~tOiUz zMBpVT0-QX=z~>XS1@`Ng#0UG>WM1ymS}tO1dcYUeW?-R#*)=mW0~nmEJ@$;aj-$y! z6;;(lQtichy-+?Oxr6b%VW3Q$zWqIm{TVfq=So#mGgVOa`l<_C#}JZx zc{*=lK@W+Jj)nx79VZrB1?W*or>bgb?B98!^82*9?5F>fHE(Ka>WO?8-c_wofWR#y z>lk_lG!IbeOc4)Q+bpDpYl9quy~+J#ht&l#05=T}%j|WfSzrs5c|Sh^s?6TbrjjFX zEGqyWgJJ;{iJtn~QyQ2=_xCjf+bvKgz)fT`L5G%#N?c4#t-<;58x-ts4?M{HN0^~S z+k~?YZ_m{6BMPW27Amh*hl&_DIZEE9$26A~Gc22YTW0ES|I|A_m}=q2i1Y+ZBZ9i05Av`{vZh%iqPVIJ5MTZ9vay#l0+G5d?l9G6QUmgG(fr;?i-lpyV zr0Nc3@MXls0ecnKC7`#!UFkmoSu;Z7A1OUGEe+hvK5Q(VEdnzvi^UZ8^8={+CI>g0 z!7~ChxA|(Tm?Kn|A*oE+M&P{o@7U8??xE8?8JRy|)vyv;t%Y|v;RX+&az4=|WB+3c9$s0LuedGCJ!P{Au9Yf$_Wr1Z*`n za+?uoP4_@5sPBOx5fd95fR%z%=%#X*AeJjnk&4Y`iMn_%K?pYClP{EK9Mr=#Sd?|! z>EQSvfztmq&`FUr$+hg*$ z787tOgSv;{Y?KisO+bd3&aI}5G4}kM{a&W3YLG?T*x{adN)-b7}W zCN9F1FUwZJm?T+a#=|XaPuC4F4(=_rVZj)Wipc|VyF4Vm6hp~8zhzJ}k<-pLvQ{$_ z9u=*0OJ1T@zn<1#-#!TN*O zfGZdqN6O-~ry)R`CPcGMn9HfJcLygCXwRC`3{i-VSr;zXxeZ=1N!hJFVTpg%cr)E} zezlb`?0$Jr;sD1bY9!V6rI3Z0lapTXrvsf@w67zd)wBJfxAxtt=82WTo#;`ej(+aT zjHk767CM`uU}eN5M3nxzob?vx zT+a_XMaG?!tNQ|!ZWoZ{qes#|$Tnqd+SmW?^=xpj%EMPFf|UfFFSp5VUvd1SiA3cvQQHv( z6qpr&61(Lt1K=XyQ>}P&_5xf{I_%G1v|PsBXLZsz=OQg!9%|{&0UKx+ca%ld_HxSZ2%c;oQC>QPobM9t?NF3vT{d6lbca|Xx z{G$0|ws@ha-x%6SlqnSnitvt-6`Gv1Ju6w-!}uowszcl%Y*xvcY%C~O+xQM^SPokF zFzhR32x7J@r4oI68uZW4XFFITotq7scYLe0+wgwBn;(VxRhBazR|u~$t<~g}6+DU> z-6m?yqI~n0%8Zta_$Ik4KjZTVE|fJyx!TU9x)ro0J`_pa22^l)fB0f&eiGOpG9kHQ zr6A&;AE(~Jo_Y6ul78isL!id%5`XMIXUSQnq%3oB7V0C4#Yf*}6N-myj{QjkpBlEt z@qgd`TK^xERBUW2sL&~cS6~ZmlF|vy`o-gMr5h#|tysvSlKN3{v{JnI^8DNbc$*j1 zR>V;SwY9YYDO@yJ3Yv`ZtlIV!AZp;BJ8vBT&l`bH6ST#lp{dm?MW_5Hrl(6ZYNVCv zz@23@O9-@biuuM&FR9|X%^8Hc$+W3CN@OWHrf69{P*U33Ne)?`pI+Kn7dfPg0sB_B zYQAFq@plsw6N&lgx>-N6J}_QHV2WEF^AeoH?$xFbz-j;8-timML*Q5D>8+zV>*DI@ zi&LFy^FJ2}RIFaZ`Ziu#t51Y2+tg%2V%IN)L6V7rfx}_u;k>loL6z6xUUwMrs`f;8 z%@p2mc*R4tb1#S3{H=pMmUjww-J#pfOBKg{3Ei@_CX29BJK5V7ru+&@awdou1w2oS zxd%L#j-A0e-o-U~hAc``EawYlD9v+PMHi>?yEEk#e1ue2`nt~l)l^0%GhJ(jW+htT zLqytgCvuoMlQ?@8AI*}Ty_G5)@zkEe7F-RcnWLO0r)#jo%0_oS!o9Mnv8ZydQtzk4 zv?fsN)E8BC9IeCq^MOzvJ4|(2GNeN&;mQ~a_C~n9ylBw4VLRR9XWAw?hzS-F@~?c; zXwb|qaXVUM?}tjoUH*<3L2IrWn>eI=GIiP zgN6@L7=(d@o&5$hE>#Mh+T%bUW>EL!cR|6!S-+G#F4?qh7zPH$d&$I7{Vs%SgFL`+ z1NwWR!Xz@K?GxxzfSMmL=|x4<*F4XlTVVtuF*Y`8XMdKLp8;jk3k*UkQnt7c%n@ie zc(+%W@@^lMzxm4(NW=hTjD&z!Q%V!i9}=|P&9(-TfEc4P3`dBzIA~oFqRQ-g?~3zS z`_WBi!rTd1?*U{!=kPp`yVbfvU!~qt&YDm5|GCVAA{smp&gcAsa+?2t*Lk%XN7!+q zZ&03#ze-A$%Z(&JwOi2urnLRjSjW^Zrt&(TeUJZ}daW2MUbawaH`UUgDRC8}iTXY7BL*2-|`hAabuKc#lWi*r0|Tr`@H8Q*oswtQ!*BWOqm z$-4fUd!nRNPo(jD@mAu^616f6jL7u#Bs%nm!jgD$xQ~;2Te-r1rGw_-VG%WnQb&Y? z`qs#Z@GY{ME2lwvVV_|Zu1@#~bXQZ zE_0_d7|J(rPGK>VP42SPKddIbclnNas740~g+p8Pcn=HX&&D?C!MaNoH)UzfX=iDp z5>dL~CW0@Df6%tev7<|%8}xs0CLt7dmU5pHF`Rrh3*5u84{uC92P11)!5PW6bMNQh zj>>!LzZWKaDezUc_Yk|69s_<&CJWpHsrJ4({yZ%bu{@jtZfg|&9-`HN=| zBw|U2QW{GYFGq=_y%a${0!N%~fTMo8SNKtsEz3%tUC5x3w9dA2JDFgh359S6e2C+{r=hU|i2+9_36vqA5dR76s(@&UG;#ad6Ncje+V!6ZbpPGNUcBIjHdrWp zMy<%N^S?J|Wg*~G`oZK{=bb9eGhF)1)yGf~w@JP5xKSHC>|%1wPi-)Cgnr+NPV}P6 zoEzedtYGMl)0<*aN}$c$(j7Eeddj}MY%34YIx|)>mr^yf)RKBTY=@60fMyV`EW(5k z`5x#bhf5G|7$D%ojdc%!kcp#u=N}3$|Ia5#lmC+T!w2A`;rT$<%}$$XBdBO;Akaj* zwfiaW+Wc1ukDX-+*XQY>sTV-=KtPJ*hkJB3EXki;to!bvEFQ;6O+w3<`wmOUhpb=x zO(9kP9g1X0NwK|G0ht)dtG5}$<2#7rIR!VG$USAhy^zf0NwP4q^f5Tg&u*z;|Ma`k z9&h+ZpGPboEh*be9`n3s-gMk4A>wb(BFS0@p6cm~*Yv_*aq>QTxu%oC@fRy++#TwAsED9K57Mh* z!uykd}1*3}j`t;AcmthRuB;8q*aOUAd zJ#0h_#Ob*ocC)(!>gV>vQzV{&VGgYE5R!e1LfkzI$-(g4EsCbLU$O;pR8o<=P#7La z-<1_&$ll__%)I}=;4sz-0beV)ECXGm=0>O$0%Rf;6_pmC z2}6Gdda^NyVwX<_ol^i|0k8(h!}DhmWs^cE^#-o%Q5}JgKE52-@47#>--i=uwruq; zQ$qa*;k{@T2>QCS1RvF``Pda>GOWSwcKX&Pn@?zzY_~nHox3N%Peds`LHu{Z8@@b+ zb$e(rIcD%(9Ld1AhsnzkSZ}O2xGs$JKU!AgKHWCOfRKN?F}HdkNaig)VAmvP^WIIEbp~TD)EC z#)8UDzZHxr@DWflhSgfhehny~=4`%iHB03_ek{AZezx*j*fC35Y_gnmoBu*9)=)8= zWYf|hc>5C>H`;qGp}-jJWD_bb_EWHyCk4`J{7tj8kV!VYOVI=}r5 z?D|tp-m<2C`T1=*@5OK%y*MJs>8oe0CY2I~HUT~TO3x3ixv@LBw$WNS9!n7uJcD@I zi}Fjs4ED)zO>K$Mto6C|K3S&OI<1k*zeS+kx{xT~{2IMpDVoz{%YuCxx6yMQ!<_-a zNXzPScOCW;=J=$SJ;WGy-+~59!O)SrTXaRuw?@XxD!gX2rYtjl+f6uAP&M}I#U4AE zn7I>7`Zk$}V)o=Nl5oo8!i;Jp=WOWsZWC>6D!?(r8H6D*nB?2(?GS^y^PO+tu_oID zg0sj6Dk^tC8UK7cGz5mJ=vke{*j?hqK)oNXEr~o+mG&=*6885|5j+c$t6tm6jA5*5 zc~lR9KfsUS<)*oqSdIS4z{C%hwghP;nvj0OBtaa*HQk>$%e%_nPz$zrBniSawUma6 z0-PtL|8O=L<`wp;!=Fl+Kvgoj_AQIOCQ$?x`ac5DnKeHN_+;NV~Noa2!M zjhvW1f0d0`2QM}xhl)4T#X+H1K8IWkoz#$#CEkvrJDIg@xZ!#+u7* z(8Z@3sJWw`x)JnRjc(ra+MZ#aY4SaTgKSr9NBrOoB%Ikh&Vfb}fwiyN`s9RRbFD)%aW5*^Y z2EmILvPsuFtObOp#EQQb?zLpafHQM)_qp-DI^yE~z0QewGq6yNG+(w8ii`>k_f^S~ zL`a-O$x;lHTnLO;_TRHVP~B7u#^-x)x7JC+aE`9h7oEdiU9V*Mwy^x`Pu124=?i2_ zx|)GTzIaXA(OOkhGNFuR!UtsI?f52-U=$ORA^bJbVKULl{Y&82EUR-W%W6@jhT{kK z0xvI~9Ofkg#GA3P0SXmiq7{_DS6O6rj1{T7I4o}xa1jH(@_jtUt z;|A;UBX%=?Ug^kO>Fxb0J=Spk22%(h5AR1TXDV&_x}jQrY7HEQB)y!X|2lgZy;1DC zt5Vck4s}gUbhsNM|0Uag?EKs=`8A&`^zOtSrglhHGCvDhKcjH3DKkmuSX%Yd)0cG8 zAkrvXqAP-M;cV)DI6XPc@06(#Xd!}GKtcuyy&yrTJd7cNhsiV~alQ88;UPUeU6d?Z z@_B}|9Qc%xC#D_z$i{V0q2(~~kwrvA@`z4?4-tvU37B#zLvpFqW;rP>YN6yAzu))c78`(J(XH1=G9g!IcUi%3d&U@EN)x!>4fXk6wD9JRYem zY)W94G~TZsEI0e2w!@JMvvf=I;`ei1*S}|_TdFwJ6`lGneXwwuTyqxRUt)Xp<%EzI zW|r=swVa5)>gtzW5P+(OYZPRQCjbEyM5p#KuqRWMq-z-Qc@|YUO2=^w`k}sq;PD3; z)iOeqxaMSnUgZt{apaH;ml}j#Z#+Qnp6RQtG%PLQ!Gs7SrU7nHS8^YBj{>i6h*D3| z!qReV_tLsXqi4Lkn<5<>7}p^Npd9x5o|VPl9ae00DBh`}sH!`L zBO;LuC_POT9Mv>A_9hxkJ$4|!B6ciyD;tj(Sd$e`Jpw#PrC{ z8k(kPGAYa&@o2*_H6@m@>3JK*BunK&w;{Ypx>kr2`#6gd=sdp_O6xMuNoHhZD(Ljf>XPly9H~xO;HI+=a#+DKx~AW{*k>sV?1l zAPj+v`LZl4C$8TflrE&=bEJ zU>Xj)MR;j|cmJi`yea}mFVd^dz8epn2^|E~i({j~)%r$>=$d4Rz2fefa=!(fqF;TgRk=D~GqULuVMXkNyde| z+wc3IKYu{1y_VDb`~4U&iit(4A~78NKm`Te@nesUGFnB-Zsn?|ezGIeAlRc|Pw~+u zBLd~%*%7pn?ynD5*{z3<(oU~F=z~cb&JB@x9OWL<5w7=`4E&V9IAF-wv z`a@*dbIZi*W8oRTz`VDI=kYI**{dx=#TFSpcKx@NNBA~RvoW__x~{girZ=5sTJz5M z5(@L)SN5&UwTC^!e%SGb-!oCJSn+QK6yv^jq z{nYfn!fGv2>`Daw?evG#?V^?hKdEk=VTNfe;#kk;8JV(k&bTt^kUtM3X(a-e$)?Q{gvu{j zofqy{b=~~9xBnTO_Rz0UtUTTk`;GKy!J_d~##UVQEY~wETx>r-t^7ca7yh@@GLiZU ze`s#`M?=2ewoHLO*9Bpu@Yu6!wYH7!PLHv1Qk|Na%Du4 z3>s;|q;dnHBq+Pbvu%u`e>dAiq>M77@2LE6ViY3vlRtzTeLHx=rBdnHQ-@YF+u#Y( zLd&%C*4=m^h_ak*{YgnUP>+uaB_Z!p9Qw~2`wY)qn>IEk4KNN-yS8^2yCo@NvM9>} zIiyY{S58v|jgrWkf@dv}{rSN%m46=wk@oS$`5y~lq|k`no*18g1eoWLmMXDGd-s<{ z#>~mDzO~M>ip{)Y2xRgywWYUv`%8?_8eIQ^NK@N%+2io^d`1N`B-V((|Fzh^PoL>L z=2#8De*F#G?-Nl_UUO&JAS63Xt$6Aa(GN4+^s{Wfs;<6axp*TXx!mUVb(wixdQ=~% zZ!0(+LSi%vi2X!q+ct=`Og&*eq|wNG|N2T=F9e}Fw7#wOX&WIXrQUAF`9pGi;JjH(}D00zx$^!JwUpcXHc`bTqYLvAb$=F;xl8 zFr%msI)N3tW9jm?0Ng2zhn(HFas4$Cjd;LvsdDNA0^+OyjXwVzp% zrrhM$B@*Qv?mS&(((@}y{~|D!RADaB+~!huXp>ER7W&7)0v=~l*aH_=gdfYr$jGcM_y`I&hm;2?oRqk*!Q5Kxi^p{v zCFi+f664I$$jY1K@@*x|xa$jVb84!-DYvVGIT^5g#yB3K8iYIG#fXH(b!%@;y+ynI z<5-NWHHKGTYL6&QP5cyUco)HZ3zZ2^2eXCb(0`VQ?s0=2>JIxZ@TyQMJFzP_&NO~oL$%mjQ3F^(BeZMJVm5RMl4`GS0c$heVmyy5Cy zJw9#LK;+>J^G_;{QT{*X-PcESe>ta8Rj-Q5zgu?#(N#rPQ z^suf=b3U4zO^H{~mQ$SJafFzSrf&(5z9g@3{i63pdstLq4I3vc*de}XU`oM$??}Hs zm7_}y3aR1V@c!XXdE-(uD|ucPyT!`Q5$_~#OF45%-m#!97IrlG$^O64{@2iV=NDCg z=X0PG?0FBQh4l3g2Fd8*g0Y>SdH>)XaxSrr;2;LN!#4U%T6Y`7Fb!n+F7`MdScjSC zY3qY2@?c@2BMEKT#mJZK9h)6OPGDa(e}YCEU@E$6nCFCf`1X|z^)udT_n-k%aTcpAKeg5{5?}-WUc?YkthO6nQZu=K zUG3ySrV?*;@U|oC>suuOMR*YsDx)9<4qRjrLys@tct^%Yj!X<%=!iIS$j@~5%i?Jx z=`h~~kZ0AEk4#OD;K`o|9t(sDw(BL;ztOb6&a6g5k~8|TeiI>s;=d969$rByLa@CJ zF5z&9;K=%_KWv?&JrNJyza1@Hnw|#-1DO~LDe&RjFMc!uL=5RpNh8&$?5JOiSK+9A zx!6!pTFthGuC`xy$Emr`uBu%w!l7SjdlQAhu^ny2-p{>rIWiAR{o{?4Gz-HzGRd=t zvx6`1mn!K?Oe!)AQ|~U!^VlR%9-C$)sZYR6*81;Lty%wSY4ww8+J;aOdYSD}^haeK z?f5k3?&UjkU3UIMHzNu$lUPCOllB{GxO{;{DB}2=TJ3a$@*LaQy($ZHiL?bWU%SNd zw_7tJ_3luKsn&f};f|Lur=4mr>sD_a$~$}yiPg>n+H)mc0>qdhG>xD9;JY2{+{G^6 z7OEKTW=Y|bLd!V_#}h%eN@~vvl=>0U#-P=r`*^0MI3ozSc;NbeeXwZ*rs22mM3QkE z-uHgxAi+75Q2yQQDW;VC>6hu410^ORv0r;8eYbEEGwaK(U+sA+T4lzEXLId0r5tET z)(y5<`5FY*!j#7Ym8b3+t8<0FwaZEuC{a6q(G-dXAv(IpehAi5bTrtL!&nd1`1;a^SPI{NB1dKMRIUPvOK^|;EgoW9a38X1_J@LRLlUhVY} z-yDl1gK;@Y9Ia-V^I%B1g#dMShpepzRqUc;2==}-{meAc5@#=urSU2D}GofmbkzG zSynX_f7gw$00@{_KJmuLc03wK(&x(ZHa zpYf{sqR3U_^|njRq16VSLxH$u8H=5hSrYo2>$|M=8vQKoR>xoaJIzocBms>=aY?ut z+N!$vrWUa{0&p@9CzQhDsn)o-_~GV#O9-k|y;ZM0)P*s9P)RtmBNAX?VBU&LDF=!{ zJj@$^jqADn@SvwA%_i;FZ>8Q_YW*qMdRCShwD4MmS_X1enNm**CFCVdGp$6<0z$h==aMI?15Ms`;Mds8Ly(tOHi-AUDhu02UMxh-Z z*Z6PpPvZ+z`~9FM!=f7h2;oGVJTJwoy3tShgnQIf*$O7`x|sRT5-L;lvTUC8>Z*LN z&}5+N7f;4iQo?Vh|5|0gUa8*S@uD-s-GE#SnI{F@fC=7)gbx8r0{UjS3_Q*tF5GHH-t174E zSEuE6smSCnawZ8R7oo}E^u*#nj7Hz0cq0QXj{0=8bsY>tXtRgvPxeS89ivq}W*eI_ z4$c{l1|AYzjOW^YrPRj+Tm?;RaZRTg_=w?%qvcdB73P+C++PJhh63Ex#h!H0ynVee zpM@y{1qsj0TwboH@vTJ#Q?WoXK^TL+_;%UW!oq9giV;FyrblJ&KxeN3hZ(urA5=Vh z(+~lEJEdYw%jXN*8uzKVaC!t70rq}MJ5l2-x%ReISy}j1YTr(Vq+p6*zW{-Xq-Sk( zc>3;{L+9(Os|X#bK!(2t1u$ykaIqm_`}Xf-Ogg&ZA%EnPKT3&kW*Ow}GA<<^ zI`1YU6UebQX%BCRLL#k#!_@l3B!wPI%) zJVmgvmtRs-TBLsL5GN(o>lV4c7Y}hr#VXMsq92vD_(~ydnqz)5k~i<#j+&jMRLDe9 z%%k0fqMM20i+CIsRSm*9=C%q$O)M;d{zlx z3uxVnlhA3i@y20i%GqCEl~aqFVKEVg%V#sOg$r@{{7L-Kk%$onlg+}@@UwMnu~a0d zH&!Jr1B<&fFD2%JGgp}OPi(du`@%Fnb^d@$-ZfRVBk|nCJA^{5wrKGht|pl>E`L!2 z8#sYi+$<66)^(flzykf(Q$DamYcR0uh>VQ<<+@?H3sR!h;0zqx(T?_5VBdDVnl<@5 zAVQ&OQp={rk)4yuE|n}8?{jh%efv3d-{>!KoYmK2sEN6PM*hTtu5#$Eoxey#6hqjx zF`*;!?Hw(Jcm?2gsfDRCgQ%GTUdz3=6;;YA7iU-{6Kj_Y7xc1ee2{l_{o0d=Eg1E_ z06j_xg7mM&2;O@!!h*zIqb=2kIZDOITccyOS(Klu>(_@8cd>76$N1KqwKXPWoL#@y z9b|)P2es6V8G;p&QJnD(agZW8VB3&moPk*VZb#Ubc?r zG@!9slyroipw?PoQzB(i}a5~(;uqtzUXau0({aGb69209C13F65G!u(P2!fxXO!kEa= zihh0!8RKL)uQ13+l}P{e709qIxc`)5t8qUSZ;y?7s-9Y9fU0!;S(87^S>xV^5b-A) zs%PHa*N42tP&!y`ZR1zV~mB^xD5{C7EQ6jz5>NNHwg5d<1jFZ-86mggX*d9+UjZ zV?FqN`p)t3Uq?`1-@Ur(^@vKp2cMf=<=QbTbthgt6e)pPZ)x&epyZF-jfboTr!CZ;6eYt?QP19l~T*o4O|IdHz6L@AHfCORct>9$_rc)4D+O z`X<4#R}H+LSDRK#4TPSJtTK33%g^IFPu52)*P2Z~Nh_e_RM8n=HB@jY1ws@H9H z_n)WcUPXR6y?$2U`%?atslnKYtq--?sHr&w%sg;H9?) zv1K!c+T5!a7|o0@In>QdGM<61YkQxCG0b5Yh+Tc+;bj<3orFK6T)@Gnq>jFya-F*F zpcH^M@PmXZ%}75fuZa-D!|H`exm)MCB-x^e$qVKtYxBW>b$iKug{XWM`SqY}SR#T|yyW+Tg+Zv-O${qgBuz<^84LOhY z1k;3N^gZM4d%|VQ2Q7}HcuvB)Ve&InYVmwBv9Pkv)n)J&Uel~%KoRV1C^NO)U0>BI^kAc-L^BT`6b)CztZEUn~9c(7O@W;BaM$>EjIpzq#pzMBI?F zRFcid+Xwu2v@&eFR{E}7$j@iDY|XaUTi$A8k8=)mM1H7SX|Jpg_7Xl!8u}4G|2HGz zh3Hp|K@iXe#?$=GGu82abmBKQQcW2*!7@zIzMFOFoJ65f*^R+C6mtWQxdK}NUunkmgC5)z{OD>TlLj(bP$`_YmwHcR%$*)l`|>bfZ<2GbQK+tzjah2ApUQY{a+!_EYIu?Ai9 ziA+xT9FXSQXHS!--e9ekhtpxsn`Bal4oNM)}HaY=Uth3>`i1> zs5Y0Ud+dPw=9|m+D&d}Y3o-u>U2h#0)&E5c46+H0>RQWQ=1$^UO__zZb9 zA?4HO=L*-P3oj! z{VQU!m;E;1dHI&f6e&vb-NWY#i_iHK+RoPT0`&%xdXGSr`-1~9ZT`*D{44heYGj0v z&x7>O4^*E=J0GtF74c=0T0QQQ@|#?SuI+$|mh&$E0Ocg(FXi@p1xj=eF{JsN`negR z6noQ1?P6O|o_}Dv^CxZg2bBf;Cs*}PS!YSx(hj}v7|7eP$wiS3m{Y~SvKQa`+ZKwr zPWj}oyAFKoKOF7<@9s>7-BuakE;#3;3Y zJBTYSE4u+cT2G#!gwOF)fD4TJNYzu5r{ zG-$BlgBmu7g*NY))zdz-0QI|(6`!B!K{Sz{sv39SZ+I^XMoQ7`S@Mzl!ma`SM~n}( zpVQw`b06Qkv9aBwUmw3j;Z!-{GT?QFY&G(^G-31a_^>v^%oB$vCmTF=Oyve#SHH3I zM7I%BXN{~3^!NLo?xd-ysxCR#sv|*?$I{XgEZF2fb!wW+x<6|XeMK7eyiF!{?|b9A zB0pg$rf23y1Ac%MgK6zoxmz@l!%xm1Z{hsfS`wG~bu`JX!RRR!u&_(6I8x zgAZrec==DWMnX^xE%^u^GmFRn{3RLrAfFuPfiW@V--c^A3BBR$dtgtOmtSi!z##UC zG0mHxXxk)={_(NWLp(|$;xmWQQj@1t$x~M%hi#AhkFuSz%}1ORM7q#BD%?(Yw{In; z`JQHyH9Gp;!6irjTon9Ti}S*10DahVCM8$*TZ8Y;$m3p_xCWcvvu$P&J)A134xnZF zxrBH1UAJhso!?On9xVvf9L}8`>$mCM)qHJcsA4<4H6bEgu~;e>F;SZF%@jZLna$Z@ z^o`1wVwe8tw<8c`D+C^wpc%c+ZG)1WoaOfI?3f%+_K)9>3#N3MPR9KX_I=idf|zHW-$8fN>AKgR98ko4e}G5%3y}nwqMPLyQ|_l7e*62=Rw1N6=FK#$ zYk%yg)-IGRX7Deioi+)ct??rJuj^XOkr-hbw1hrwI@_>2?Pgv6tj6k^^mt;cCPSy` zs6G1Zxa{6g`qf$CzfvClqrK#;FRLPBWA{MdC^X{$9AzEJtJgo-XRad&kSP^Y&ETGovB@K@zad3cP@UOczw!ix}7GeM}OAUww19ipSlmqd@PXF?75OmGb4Hr{^V|=;8 zLFAwX4|Iq+>Pfx0xTxuLe+r%sMYAnZP4T83DIQ$LQzJ6LR({LG+Qg@T>&VEcm^8j3 zvR0=!wmW#{+aF;sRZ-Ymap-rLd8Y2TXnLWIQPV1z`Xj!P`_pvuP&P5`lP5-zApPJr zlqPVwAN$q+bqJjXVM9Yh6e7Of-g`2b7It=w0q0WqbG*(q+UE*jDa2PxeuUzz5G^9T za8FDZTN*KT^rmZOBl~mo&g^vj-0beRVKknooq^)N?cqB+mg^B~hm)MFjSa}3wEH4k zZkl;Wypznx)5a%#Z+h_8Hde`B(mZ!Rs`YB^djuAkYy@j78@ta5pDnK~|BS}jRXFLe zYjWSePO1JG6X(_?3CviAzjMNW^tq4l^zQ(3Qs7+>dr~(9oR6JmJ_hN$?0mA=o0b+C z$=>*^V{Ww0&CXkuE&x9}KVM0fFLja4C_kU=%a)JGnhGv`IdwR zG@C+(q^$w^vZ~j1gd}ALm^vI1a~#NX6<^}x(&pTZv8YW-J?Ow0A}Ou%LDqpXc+V-* z$>oMKzVLyS-BOlTKZ)~IC0YDV+`FbGzYk4#I2dpYPh`-W&0^XNw>%q|?R-N95el&< zGyzQ6pd~2hC=#%l;qIARZ@+!fyS9+nsUH9AiG6+i=EGIGPn{LP4h5u#^G$Tacsr;; z=nHt$e)GI7OpL^`40kVPHvL_~*pTkk=-1I16IP?J3jeK~$-L-y{_bz*%jo~(F03jt zSr~kcF<08-l|0**8~?3{&GfGjg5=?#WTnm$>&`II-@m=x#Tv08&HZ`HxO6c7s)W3< ziDVcmPLI24hB==sU5e<;Vb9-p+m{@CQFwB$A2w+#;yC}QFY^KTO@n?^HFR?V!SH3T zz1rkXb6lYookIM$W4mBu`9i+Lp~;BtVUkuX@^wN=w0`48Ux%H>>hR3JvFZP!-OLyL zn{5>U8I8NcS^@Z=5CsM4(^)*fYB2WV5BEARPY+*g7syn+F)xXMAPAON?K(Kh7n>C(m_@{KLB2G*x3LLg~8eu7+1l!>UAEdsHzc;14m5$FDPnQ+g zkZ(TZVE^EM^Vw`$=euu)` zCQ~P0t40Q^6W!{!cczEv*Mk&q+im6eje2LRu6gVv`1!58+4xm&L8IfdFHTmdZk;7w zw^tE2I7}=i*L1k$wuf=)#?cQy);lv1HeR#2XLU}q3o=2=Vk;Zo?)HltQivv}vqB{xofJ_vcc@z(a?O3(B(@|(iw_qz20ioC`pt2hnZ)3l~T zVdiQ_iPy9xTMR|6kRRLc>(aOAxG;)kYJoutH-(mzQ9=t`mU@js=?%FT6}Kz9mZ&q&v& z`+B<7;@a{$MMt>k)7|}?wBtoLq8LGKA}7P%jP25}CzA?(Y~K{m%zE?YA1VkMJqY_u zI_Z|x8r0esJ~j7XoJ*#*Q`2=Ma~jzlLCM+~?u0S?*niIWEiQ*GfK4n|DL}owbUfc>SIf4} zPOlYTke}w|qOM;DLCN~2zr)FPjc*DvlzWFF-tc46s^l};5tilp76_bb89gCLwUE+rn!1KK`ph= z@kQjTFH9!MOFNe@3%f79KJ&Ct=v(B~RejXp(0XK;Da$wa`F8JdlbxT(!2uGfB{aEl zdWyJ7zo=iYw@TZW1BZaha9Kx6PRo)J$HYzEe=hfgk22H&TdMo#S$kn!4#IfG-1 z&zhB0A@zl*jpG&ce-aD`Dk`J25d_AN}6JKg@^PUZjl{%XpRGn=$NLn6VuK$1U z7$OGuUJYRXf3}R%1iwqapnLtCyAEC6bUXxNx}Hnf?5~@Xnc94RI9IAu{gho2P(C(! zM?xKdZECeDQPv#-JeA8Ye>poRlc#0(-LvG_M5hhtCc>f)2sUS<3V79H9I+ugxCG6k zJ@|qYncczorRwhayC+LaX2-4aanBxv1wIfUi#VLRTV8js44)YB-_H9hLBZc`^_!xa zS{#@we)~2(edDDhqc`Djxk1l(`AK(sv_eQbF>TaQy~76yGPmKB`qlV=qvh!paZKt@ ze?>qcv6v~#jtQU&sI9B(C{IgTwSHCud|Yfes5l-{k~UU zDgCw7_Q_ov@!%?zp0qeyf_MT8LEUL#Lb3X6OW%rtkDT-qo~!yD_LxwxxG*GdRFK_h z#D}d$TR;)n!+oOFMSj8YHuCq<=K6zEWrf@MNq7zxq` zd`aSsVBhPPVa0lCzthdj*{msyFi13&J$1B;e1?ET{v?h)pAU^JQQf95I$Y~c zAf%_f0U-^C1DSRDOQ`TWW>mHx?Hb-fP!z42$scx`B*dq||)H zh%PAFX@SCD`~jZdfw->j6o^NIoeK*ziD^J$3)V`Lw)@bH+0g-xLvcE;=TAbr0MHB} zF%?VyN@iCNzBt9kol#p3pp*pa3|Hs$*$%)kf#}+`+Zv_wa2m0LSesS+i2o=UAZ8}? zr9KrgNuE6L^tmKP%>J3!2$MQY;q=)Rqu>;4QDOr^vLy*jBX3U;Lh8VbK65V8m-lJF z1WF*K2kJ%w$P?eD=?M1l4v=G;taixkU6irLLq{bxdT1deZ+&Bc5eiIq@A{OUbnJ8H z=%@~zp9V%oGuazrQpeTNZRe(>Ha2VVJLG;Wasve84Z3!6a&o{fFSuK2!@*7st)Wru zJf>-LbD~t6yG4EtU?|iGYRp&H%RpBnCx@W~=$auXSD^*ynEk}4B!kK5sACTnB`^rO zf{oETCgN(Nb4Lw&=h%qp0zM*TiHyR)(+K*#mGw;mRP1YEY7XnR!p(#{(QkR+!EWNKKN~a>7sbLV}(ue zdbE*mpGLK3qt#g&o^heJ2}Rzx>#?)U@aLge0NlfoZND;xDtb;fMsNnAX;t&{eb=4R zqD>B=&ufA2PHbj|GL{odVL?GM^nMljomizVULB8)I9JeVX=wqq8j;v(hMM;|79+Y| z@8xs7)+$CYsRsnsN5JS61Oq@5*GY4c1QVSSEFPhoa2`~l2RuO}8vKdx!mOAA#nGOz zvrYgUVDRDH5Ej}Mwz9H<_Sc=v8z)SiPQklpTM>TV+wJ^XXD|#w{Y3cW*Fa3a@lo9C z*SEE+H=keE4esSit@ZQuJq2+SUEjlnZ+df`dJ1Ku$AJC_gUA3+((UKSmr9;+Y><6_ zzE!k&T%Jn@);UEZm$BH+Q7gF3pfWaJnspWk(GSCC&eMLgQ%P>U%ysRK-u!Slr7in> zPv2;K-_jo&O(k3RpY=@u($a)F~vUHi766_NwKt~63Gn^8!>0GM@ro%Y*QZ-y4`24LfD2SGV!*v z6uKWc$O6Tv8+84KQ)84gVqFAuq8QmGPfIj46bYj@MBb0qkaQYEn zO|gzi>xRJCwSse7*glb>Z=-5`JI}J9i}UfDnSoBV>VV?aLNPu zUc_!%y2#io+VqR(C<2Kldr+3Om?xz zccEy}*Nviv!)w_VPzrd5==S0xW#t_}Z5Tvc@4{dPGikv?1MqC=*RrjlKfIz-HQwMb zCn+7JbWl5QceZB-4IRpLqfFVbUN68`yWO+&pJo1fKE4o$FI*RYY##6s*tN#nPms_m zbe7XGV3*wd%FJ;|ZoqUKx5qQssWCmrg4vqb3tRQlA&*g*QsR7Iem?uv2OPV4w-%DtJ4n4E2A0#d+XlIAKiBxVxEU^YB64dG@$53DI> zjZz`X@XD@aCi`<7kg-#KhXUf*Z|UV>LUm$KTgn4Jr-w(38B@%9EssvFO5|J=(nWK> zv)uMs!XN@RpzitK1C;+CJW%aUuYu+bnY8XJ(izy;-}FfL4=n6=jx#rLkPQx>aAn2j)jUbX8}qhh={OC;jsN1N7{pTwn=9O zaedfF5L#R*Z>aBI`C#U;G4OsVWr%c!&@wO`!@W`zhb0IKQK?n;3Hu}{R25ROWaN%ow2x0EI4&o zgyLGGy;y?*umNMjEE$D`x{-2LBl}aTYVE>#1*+$#AO{X-!`aGT`4&Y7aoyy4!i3$U zKNd0a%5R6?rQpI2zw#!01p_*F^ZA&I$AK%Wla@|8 zBSl9e-Cr<_nA4j0Zo;owr{J^9cgaH8*x|Ys&SpU&S@NgFoo?fW_usCg{C9}NxBmXt z)KP1BVRjjStic=4Qco$1?U0Ci-dVt`4kO+u;5nh}=AiPM-}1Fmr|3E3(A@-P*4}4J zu}^ye0P5_Vk7g%*`R`+!&6KPeEIvf2sH)yJ@MTq1=x0hQ=sk#yr?c|61MWbAiprGx z+)GfD@vsD!DQzb?_yZEYiR+JB^zA{2u}lXoSxcA2f#!qzvbDujy$5VVelS&abbR1+ zD!juu04Q75SG_SSYraegt=@HQ?6NA_msVDm^HYLAC|Sd7uzU*VWH`wj zeHh`{&rd&p=J95+G1Oe{&un<0CFn`2DY(0I=N7@vPD-w3E%wqKGJc~+;fseaDls6` z&U%cN92x15YUK}2ZBZn`SNQK=8FmOxyQx!)Y2}~mLS|1MH)ivU{SFgTeCLTN7pZcc zjcK^ob|)j)+<+12y2jlwI_W-hLf;2ZOPaL7c5POy+wc5hHD`YYO~7X@SRF^`_aOOR z{K-fB_B1_RaVj$H{eG2Oc)qr#qJwTZQYr%Pt(4k)5B6S#hliPiZ|%@>adybPBHmCr z33`vn!qx_qEJGhfT~mAePpKQiqfdWHcqBY&d|V`!ET7w=&qj<5%AmGYns(^+A4T|OE<%x-j>PTY;&^86f;+tKLt0(Q_Mh?(*WM@~@X85+SFuV=)_Q6HT ztH2LBe=SpJAiGI_^iym4Xn1DkP1geWDO8MF!}N3#NHH=5ITi+2K5~$p8WU5`xVYOOZ_rdT|2}- z_yP3g+y9S75{CuC1g*01ryk2e`uL z+B;&P3wX}KP_V-RHY`p~<$-ebw2X`l_7W=0EuZ%Nt4U|8jx~l3hG|%H-!cTZh^Yz3 zoAUEBnA(k`qjJov)LCNs)yc;rU5(qQz?CfyMaVB*`lJWiH9(;G~IiZfo3J#@27-C*Sh_)bS(Cj|s zKe%z3yLkrn=^p{_FM&I?xNMojp{keH?!uxHS@PC(_ma=z13}G^gnZ!gUa@Ccw~lUOGYHA4RzNr|GBI@1sq(nug%hNR(rIFb zPN^hDCC+&j72J;tNs!~r>_q7I6y;;{<%b!8)M$ivNj}U7?FYs)gHYkC?aKMIx zBf_W?a)Qnqw}^tos9&@_WltUU;Ar<2PSY()I}-S4*lNTbyy#FX{A=Lk7|WydG)Adu z+K!Fb5UEB;?^}Rn^zd!(A}8s~&i%CYQ?w`k@UH9=#&*b`D#I1)Q}93Rct<%f5k}E1 zJsm`}{tJHj)H?0$_3syc`ovqwOJ@C;d=IxXz+UKH3{6J#{hYU?IJjXrH2Br@3REUT+V|a4~iK=p5%6cW@3Z;#F?_$$|4s?hfz{H zPcT*x&zkQ4+57xQ?RBmE%``Yx5FH%ZmrHT&KVPneTq{LBZcLyVeEy0JN>>n0>hA7$ z35XJBwQ=SC}sDUaJHayMgg1`vKG3}xt5gP4+GpA52#|D8t!ck=*! z7e|K!d@pCaQhc=csg=Lc%C)q+HghGLQuO_7@>lTuNUjvhD zkI`0L>!Lr=mh>4cTtHzDq{EdHR&+a$BB#9U{zQ=gOvpnN38avC$Q_bwYq97HOqR50ZCD^+PuCzO<2wam>XDw2m}HaMX0(LBh4_Dut~es!6p+3(P9#q;0UW zNv3%ICUpozb@`T1@6PcccQbfqFa$x8w%CNB4jJ{{nxrLvQrE)6QjB>0r}&b=CBcD? z40mJcqzCesQf&Pc2_b*WbxD(5;faUyWnsbmCkuiAtEWUAXLGQZ{3a`F)8UUKGmgtg zpjCAY*$o&$&pKBn!eF6rn}}4wVUr{Z(!swFaHXF((Yw+GLWOcmelJ=|B>-TWjs*C@{%LYHVoA-byOJX_M_`_ns6&uULBwPNOJBN(^lON*U_X5Lk z-R{Mz?&6iZ?%g7!{wRynNmi z-2cVGZO;hRZWn467k}ZI>|@WlPm`_>jWZU>%z~4FS7qQnH<81VQ^HG8(NVhTWncbQ80Z zlauEa^lMKf6oKXdTbeD-rZY0FQH&TMtnOkAzKZc5-UL6dh(QZy+h)+Cu_HHUgF@$QAiQiC2F0Jrm5-5N|ND{LvLqES3>mrTy0$sEJ_PL z`B3V_e{hL#)`=LR^iZXW3jK$LKW{v7Fbfs^bk zbKRPsceUN#h{tK97^RxlFt-y^`?x-rxxTteVw&6+*?xE?;Cxuwj!-X97ZZGhd-*qZmN4@%84Vp?mhrum zjJwbw`0VC~Epyqqf?CGm(Lx&Xh;}S9mrJC{sRt$+kK^jWoay9}Y1ybX&wj-&{a5g` zAop9}TMAqxjKKdqR{QhU-099(Ee1s5NwPTwXZ4k>vtO_E@wc1V+}-Fm^Y6XNO8Nw! zDxig!8NK{;4vV_>hwJ8wVOUuuWl?YW{w|*JN*uA05cT~uwUHB_h?DB~9V;>gP9eQx zM`IRM z5d|;;z$yt<)mW43Eb8YKl>G{~wXxlEgceM%8(_{~lbGd`-(UGK(_*6$d*PnG27o>{ zLuoKSJiTz)wswg@BNjxiCKv)hGP>QGXBsy5C^`~sj7h(68!pn`5@5rerEGYcftr;@ zQ>XFr2v1UXZAz!{7t7<3zSXVZzkSC`F z6cHU)#6Y5?flm6ug$o*fpse0hnV(NQr%`4KLZ>P!Y@=D%%$~p$W4w0we|egU8(RNsY2#?&8Pq= zp8n`gWuG~?+9k*`bQ~1i?sDWvC?8*|O*0^l=!kxCJJe81D=Ej~*+=t4BHSS47)uuh z>Jycl*RU}zhB(wsCI-{E9Z#kA!X(#DcQc+h zj*F2pdM$oX-eiZ35X-BqbOp)A^ZE+^>Amj&Z6AVDM#`KTVYXf!xM*$9cY;OEDiyoW z8u){5&2_LssgAsfrR!u2hCj$YYScO}QL&$l!TM*Vha3~fyE|{shc6aIXJT|zf%2v( zMLw5|lob7*I=n7d1WWdRE7bzmHysso{`$EMEj-|+VLx~Jp`*~CrUA84v>2qZLIDmly#ypZfz z;B%IKmE;;Ccv4SCWA#-g<35G$>!bZ-X&%S7XazDJJL@G1O}O?nk@ynq5w~)bnD61= zF{GG5eR9?>MIie`);>~E*Fj9{DtX?x@>>-i z(f4Tmg@W-nZ9eDg=KnUKg>Cu{fo6cDs$X$uLyD0E)@hV3{@@-Jt4A>drk+$00?nZI z0XCnXi*Pr=JtaYzLLXbVDdM_20zpK(qwjL=%F;41{`KqEO(>%LNaY$H9Gr0Ipr}!Z z0zuO$*hs|lf5(msY8Ma4rVrZTvNr;3W=`?nR`|T%?}L2_cXMdQ{Ckw1js8Pv4-sI= zp?pP?*1Yf>yMOJv7TPhhdEi@&gA7sb<`~~}(!cM${_HaIGv}JEw-)~F?H<;hNRmMW z^1}L#%h%ga9==jj*>}z_s>B{#J1Zug0kABnHFDp*E`U^D08RGyCJf7m_HZ%ShOSb9 z@=LFmQ0nEHfUX6Oq;3y#^Ah##aqPEQSs%^0eryT6DK2JfO77m+UyPci#VC=aqz1LL zSNB|>5TR4&at~d{-`F{Hj2N*x!?n=HVLp|;{@c1iC?}lN8_qcw%6}u}j-KNnV%o9m z_Vv;nXDFU}Sos&#t=9@UrXx3+{8qn}h~K@LAbVb-?NUJV1~Jz8SidOL+=!9ffr^&T zRNz2#uBu*Bm7bnH3uL7OYjc0t=8N-N+i^ZEn(<=AUi|h%`jgre zOaGl`mj3_NT*8NE_T;?P7$7}#8LBZXu|l}@bnux|Gk8t z8KpQ9$bW{2h-6!>Q+?Td+H9EhIUy_yA5sNkITjkko6e<}EL4Q4N91Dg&1}w6VU&Fb z1)}gde6fI6u#DWpC&%r0ZhYZRoQz_O%1!P;G&rH{e3TJ*yUkF^1hk^lIPgf|O&CIBHx$Ejb>6slWPRaVB?fq~7fi;o`H^%{vJ4W9!~ z)b*Y4^VQ^3_9C?kpvth@OvE|)DYgFikdDQ+Kp>8p&e{Cu;tAhU;L*SR){3drAl5`` zxp{rf<}OKdPl=iWLBHZ_(VNcZJ5O9c@;?ZFSGDEOwR><%@!$j2Omb%Xkd}vN;#jF) zN8e_`l9djm(f#1%a`7`SAWzVX0lt;V9fXBFz%~#R5O`dm&Yl$`sTlKCITv&S)%1K^ z@@l?<>*_h34-hHr-J$mLH0aMRi?bw}x_C|>wjM17-@?>=Eo?%o1&$6L5U>X`gPpgzsh=H&9KhFdzB3wZg-6NLVgbDaFR>;d$B<9sqN6@x zR?cD3sddgPqISjsL#n$m({#m!P$4$}^(~JG^~C=T={QpKt-aQ9@z8?V?b-SMj3aj93whd$ZS(47kGB{C_>PskYtDl^9 zPGrJ(uL)qorp5dq`Xc7%V3wm4jc2`^(qVHki*gl}S5^Lh(VR>guLrahEHm2D6NIzsC5{fE>^!rvzX}2gL zlynW-dNn4E3BFzI39_Cya0wz-3UXM(sDq3G@Y(c@Mf>sGq@!Z)DhxkXt$6pY%eE?Q z?#8DcT492a`0gJCH;h1mK(sQ)qR$*$p>Ua}j5%-!IA1{|Z&IR;FXllmgDFi%@RaHi z4%_e5<$Psqn=2xpe55L>G`qH@12GN4e)nq5h$&6CU{zW$76wK(fwZW4ES;G9GikP& zf(Hx%yrHCY@%aX=zpmD57ec}S&hrpq1uP!I()|Lz)VP!29=>hUiL2Nrpsaz?8U$!> zkrIl7Cq8S}b={%%WNee!=ML2vtHerpF*spAXZ5}}P`;Sv*H|=d%mF-?N2)`OdzV@3 z^-I)CD?8>AAfaLDT0D6F*s7_r+f=LCK0Sj8Y^(dZ*1*e7jnD)fid^e-_VJ9HHa}bj zxU46cAF&BWgkb7iFumY-{)w>*^fIx(Dkg2KrYhl{yHF||?yVI06`Mu~IZICq)^?ipG@;UxqiA7xk@RMge^jM}j$^}x{%7&)dK2|(&0A|f(f6QwGK zqMN(WDKrCIzjjT>shfMr`M1T=oja-ELfo+i%hl3AE+at*6o>ioF~Mp6_UnfY;5-C{ z6y;p`lWHAZU16KCa&?wHp!vka#_9q)4nh=gLb`qH76dS%w&2gG2lYI766kO+We3*I zr7B_F2g~lSYXBQcM>8zBN=USQ47n;|3sH)EJR5bSRQ*;v8Mu_F>9`Dy+co(}=SW$g z{tFXoSiUj}?Myvh+)kf!-^oeU*Vx@0o26fIC8ymovWlgUtT#ExYfqdtu}KmqMSS2x z8gQ!)$dBg=k)n$IdRc%)4QvyZuF9&a6)l73tp+~gz*Tdu%gHeX#pK%BilU~Xm+Zqf zaszBoUNMEgLX;7{HBN?N>92Aujy#;}iXeG_AqTK2FkW_d@eFT;W{jUR2m*1);6?fQ z8fR2It!$wgH>dz`Z=Gk|>{xtN@Z66+YO->ol<+Wh^v;S@!KacTP83@p`v%mEJn7It#o6 zyah^yr^pSz-66GI*Bqs{_Iyy8Wp4+MaI2M5m7A|&-JppC%#+jfOEn#-el2>UBXjz{ z=>I2QihNM(6a3KoG!zsR*Eht{J`ns=#%q?KWl-IIH?sO=oz<8*FG1TzyRP=_@v=ov zp`6veB)URddEdItEmuO>l=YwAei=9g>_3*ju`pKaXvE7;U#z0)0y8Iy4w#gVR6{1P z-p8{WogOcWET+g$fYL=uO3HbN`-rzC5oRP)s9odXk4MwmLPtL{$)NwR++yHW_(O*1 z2;rlj;7#&vVnQejjXzuq{2)HRzNMw9*%M9mk}cx+^!DwQJw_#Ie74Q|zLt2ua-%6= z<%9u>97sFm>fi|@PVXciN|#2(;4adN!;ATJbIht}f!&aGlPCu^Xh&K93-`WG zb1pb3iP1?c@So_?lxDG!2SwU;#m|wTBkn74rM5(6IFi3WsPI1{mXG9?|H>=yH7l&W zG%?g2_o~EashbA;Ps}2tB1xV+5LMBLBE%`HZ)Qilc}sAQ{Mi+RBHi=ZniegELD@X< z=|Nq4FA5e6<}2&rOHH-~-5;1fS+hGLsOV`e*h($06Zl}@zD|!#`~Ud@(|aD-v747+P9hMnwd*Zoy1<1`$pcFY3Bg?F{tzEyC-iN=p3) zA3`nT#=v>$ij~1zi5Cp2>BSkJ-=}C-9Qs#y_Xk|6Z(1sTTiu>nQ8?-P?Xj?hHorje ze(?D-m4%bOgkKZxWVrYv9s5=g5o`{6#1eau-nwIxe^S_Za;o$ga@372$raec&0d*! zK+V4+oMOD*!-=x4A1l@1G6S|&nWKlABw7pS*|0R@l%Jbh#8Zil?kc^3x}}$R5hi?E zohesk9@`4C8*LZAyip*Kz$Mpk7=F-l^4e(9O3$-O*@&wv@41^hZuw{z%|^XXy?)OZ zX_R;P0*xMrp*H9dup|JS^y&Io)01t$4s;lrwD*VW(M^DMx?0vYuRh zwwBGv`RpW-P{BvPvq^Y{kfY_9R;=*ZsvueT#LX^cv*+ zC$@GOgDh@Huv{+BxgmsnBD8%CxehfVl7* zzpsr3FnV4Rvx`mRKJa5)cddhRB8G$_VASAp?`-lun8E+T3orF2NgbNyWi}nBM(Frv zrK%YD5|SaVL9Xi}7?=+tHu#vr3vG#MJI3}`g>f+-gm3T}^DT@{dXx8@ekJcP2)kH> z28)H4m)DMM&G_15Liz|750C54u)4o!GhA}^%(IgP)!xiLbI4RLU%m_qF*9YEO#1o^ zL|eg;zXZ-90XD=51zl)H?_!rv%ZKyC!@h13Zv5>|D3y)jVPAhHIWH8uSdZ`U5+;&ycjXI`N&&CVyjF+zzx|UpOO}c5>G2&H>5x>BP zy?98$u8w_IYbud_B`0?ps|Wer?{@q=f&KRrdXZ|=<#LOvv=R(c>nuWwXjWv z-E<>BTW|yW$zOYW(7Za=3I+0L2DxRyNT6&3*~ML&!wh{pB56QA3?BPK4Dkv=MnY*&J zH*NTUc|DtXCXJ*8YlMfP5*B{8~PUK!ewQ}o2kKZ0m2c!}_zoAe9#vbI~ z(*x#e!moC87Gt%M-@M6cg_naZDa-Y~*j#<%lzYuu+-3HyLBuOh=egxq4*g+D9+O8W zmy)dQY^tus(GK%usE>^hqNDo{t``QpudbZ1liF?PMo@_sa6hly48M&WP&#VPd2Qop z@y7omv&W`rp5rpNFZGBBf|LraXw@CL_|DBmg;yRuz&+Dxwc4Q~JN0goTN_$-*(J_L z4qe3=v|7VA1a|8**sT{6O#YM5juT-;Ces;^9Hva*c9Y}zvwLeL+*X<#nD{mv4JHQx-T zj2$H`&-#`ggcmG+DdQEx?s8<|j9)B2J9hC8(qyZgR^e%)R3=$YEd*-q>1`PzWul>N1qR6R4*Px88?Z>i7MYwz@%pBTIL>oY?{NX{@rvg$VT4y#CMm4PFW-G5D%z-1Juh(Qxo_FDQgt zGZh~ea}#NdWD=nw-drV{b{AncnE&>cc7Aj0+HC}ayf;c#@?JCQs~8%zE)G(E(#cV0 zL(7xA4C>R+SF#MxG$N^#C#yY9KN}+}s~Y!LOzhVD=6_sxiPc)MnsdW$xkMffAu7}% zy`;V;ipVisMvLHjRcK@ovY=sfSO5o7*+3u!YXHqyaP7QFSi0GJkJg$;XS z;G?4FHt7PA2Ip+}wy$`41Z?fd{f&{T`;<(kz>NbAeLX(TCU|0{1!2USj6#)~RfK&J z$T_V-T+Nc1TV^82(O2Bf=!Akh@9$rf@B7Q=ml0kekgIb z9{{-5sfFg9&P#Ywk*ysFxk3V`8KscBJv1zcdoxS$#kRdc*NTW4#J;>faV5^=p7Dvx zF3P);F+s|v{9(1#+dmWS7cWcO6)HfR9_G1Ro7{}P zZ|AwufOoZhmYxzFk+TG-0&i5olgtgWCN5f)V^jp2^-1NEE*WDbR`o4?OS1{`3a?u(cKK=? zfs%pRA568G8;FlWg%(b)NC;gxPIeNMThJm<(*dUCSq9Ce1s!vpbEfw&xw*LJ9p334 z6rW=!oWU$zkk{OWHfOkIKyyiDc>QpJD~AN-3O^C(?4KY7<)uQiNW=C@u6<86@zXrc z6**aItD>#XoB$o^=6ljHH>M;TLaKkA4U^3x?km!{?G~8VzL&GB8o{H5c^)c zGgcQleYUZb>vxcbH#O#eMa$>J@A#Ne;p6~0ouXlv{_J#b@Nkf;*}N3(dwx+~JRWx9yc4l|fyv-< z)aL?>cm#GidTn9hI&hh~8%RJr{9AT+H2vQu;>o0osyPL|Ay)4mo|xz9!-7ny`dj)rj7-}Tbg z{2`zm$%XNipk?9KwsC5^JuOkNb0U)I`Nl({*Gdn2j)dV-z1&IF=A4`TNP zUb_>lNmnHiXE9_a43tI{nhTm2;~kkv@^I~mQWtL%$xMq_UoRbg`UlW7kL{iJhEBy{~9( zXQ$WXd(u`tAyJ5S+$p|-NE3(fEkR3Wbj$ZP!#gd(@~Q|lPEpj=nd+bw>N{4UfxEoS zEEs69ev|0z+0(X7{VNDO=0?_XT(;+qim&J_^2YVGnZab5_+`7o&9n!Y73JmLkCCD0 z-=1c(w=sPqq5}s*d>E?A@~J}7UJNpKT>K$LRZviviraJ-DrH$zy!g$u%peTe*z_qf zG&B?(JRVTYh*IH)+z;g94z(5vd5F#S$aIJfH4ueBpNKjP)4$mvG@n4sA7AR`n_p+m zrfkHQE?t5z4DTkk1nd;3i~ARaQWt?9y?!g2Kir9r9OPu6fP#aA!@oW-#p+r|K^@ak zTw`wzxPmq+bgxv~8{E6s!WjSCFBNtN$~CRuyR`#TDBvKDJ<}h1ryl;e>|vdkpASsP zuj%4wE;1187#Yn$r^`)f^f8yi(4z;5;4@S4s%5&d0`>2`NoN>I3m#?rN&TYwTvx1`*UaKiMz zAaT|B%h7$dUsXRzQIKER=DDd~;-gwlTh?MCbU1MADH9FyQG|Q(GoYT4-Hmo}I5i;%zhq13~)&OtxOPpHtF_QLA=NS6pVGAK(}bbv~0oQ&7>_5 z7Cgw+6%`|`ZpIIPLk8|d3^!Zg*st?bBdExNgfOU@9fY#DwMV8qjPXM{U#a-Fz|@>b zpvOXEeF7zWaK@^sGS1t|V1h2o1xg@*y$VF>Z~!_(lRz`=gYbHMX1%FDX#0N{<`VUN zWkL_(E5HD3Xmb9|4MOjZ2>mE|%` zrj`G@{Cvj-SZ02H7D}_lDHj{hvfhF% zJFLQ;C$u9&LzB?gcV5$j9v|GdxSIgTJEc7atS42_&DPh&ziIn*k+u}Y3?TD8@$Aor z|5y1s{XbNF1ymeM*X`g03GVLh?(Xgu+}#-*LU0Z4kl-5JWe6HPxVr}rGB|JU{r>NN z@Ac|6GhNfGSFft>s&mfXXCDfQPor1KI#A`aYrWN#9em!h!~u_vp*LN(=-hqtZ)iLJ z2(I-X=qhmRQzD_6ILaO?!#L3{1=Shb0!{!5ZhPFa$LA6pIG^R?OYos4+yQy z^FQba1nLo^43DOPlI!g0C}r_F*3Uh@=f5^U{_a;GRtMky?c28G>eY#3C?sq-Y2(S7 z{A&P){5Rq*2jVhUO*9byXFqft0I-~7&5i#(^mDesFJn{5)szys*)7^D;wVJ&@?XYe zfOrW_3W_GnpqC>#H{|N(R@l4?v*bNB7VSmE7$$b{MrU?>2(`iU{g+e%o=gLTg9?6t z*qOl~F)`Gu3XS3)kU%*EW$&m-4)|jHYp?C@#z9>H2psk+97jj;zI8_yEv%)QKfmgz zucC|`4VNM)-oA`{OEoEffACv1n2# zAk>ag0wqQAJL%LZ&;mf|9p0I|bb0*IXE`XiW-R&uGhbr(BFah~D@azCrjI^*GtH(k z8y?fx?z`FY{(Y`kaFWBQ8ULT_$KvngmcZQS;F8a8HHEpjA&8^ z7kcb1h%Wh!_6rF|+xYTIso!gB@H;zZrO-Uf!z(R7J#{BBeDd-HOv4ltDfMfo#qFVn zHz0^uHi!5F(6Vs4X!uKh|)A?DjVuzBJeu_fLWNpL0&mq6q>ov|ee4Fn?L?v$M$lyKY)QPY_NB zC(2R6N(g2z_StcKy`VlGjW4r@c*7gk)GO!FBUIvFS6pZSF`J0&zbsmzp|C8fUk;4E zAfQWLUm#i}4>`fXHrQd?n|bJe5EsUjKs1=pMNO4<#YW^5s*(R<#~j9I8~}jfVcE~p0T5h)Mgi| zfhC{8g2OeKz?CG&jiW@J_{cOK9^b~ylB_gYY#kcHiX3@giWtlujs7O(&lu@h z3bLQSI=KsmeuWf31{Byd3|eSRaM~0b$QW`GGO>63 zsgiXPY-hquvdG}boj{sNY2Y6)D;`Cu!c`h15T}ikfnvdl38=ltuwGb8s(}ZEkKWxR$Bt18q-Jx~Fy3rV>L6H&9g_t{G6Ja+hACIA5JSuI)Qjo|+ z$ZIsoIis13KhOl9s-QJ5O*utw<8^>|#G(H*OH%BevV(w=zs_?6uciU05AD2&$Ml3c^P@lu9W?V#PiS)#kCj77P-e1l3GO&ilM8QiT z&xe_0e*4LCy|)K)E)M!Vl{YcAAjj2~Nq(C!CS1_nQAkIE=^f>I%V9cM)>`gQGvy(w z6eRHyg1F$@SA;r~9-E$${ISAAk-y_1@8zp#i%uHw!G$z8JYs(4qhcMrEF0?s9DxJz zMB@uob{BP~@7D>Fb!@1L%8whjgyhG~M+EtEMZz9S!$)rpQeJ=}t zu&m=*oQ~y8J8qWMi&NAFH!)h-4cwW-&!cafVr`$@9e z^8?z~zic3m)@~fvhcQR7UhBQt1CjWLj*#ccHX8v`!;L|60Lw}5eL%?bb=byb?_6y? z!0bMqcYYxaHa1_9aXnQQ(ZES{^X%`6LBrt<$nUVwXtBG17vWPFp%N1!(fcF9v?#Y? zz(MhVFuX4Nic?rx3cTN>Jm>e}kYGr9S&hj%IKe$kUu)*7Doh`ksTe)V_XLg$nTF$w zf8A9J_L4L3RB!ljB2O*#q;%~c)&eqoAG;ent-e>N99!G;I~d8xpYHRXetmHL0o_x=_x+v5ulio{{3u$^F z1*@5^oAc)7GE+5di-kPi*!L&nOd3BCAvCznUk2ZCi(b#XrT!dVD}1`J+r)cO<7oirRZ0h1+uV*|s2{hPU})fR`&S#rz1kr5{}U zaIt!b{Z)Cg1@iQSZ1gyu$Np$tE}nMn<*Rom%XwPYdiOUwMcCO)v@d+$dk+rYe}a^u zXN0!uxFa&HQ6ya@Qsv@?gD{5*HKaAV*9(+B@MfgpjP88-$xoSA%DH{vEHYco4&nEO zkw+Kd$H-vr<%JDU$AmW#IS-L;+UxT7^Cu)qCT(-e`3i*5NPRYT%fZR0|DhGE06XPS z4=3C`SA!VtiBA$ix@fJ*zwIPz)JMfX(J0R!rO{gNPL=GJ&_v)&Lpt;0S>;|5?TC{p zZ+J!J-Xdw6T>;w7C$(pJyh|BLP80W67W*Z;68v@zd_dp0kP0V4-uN;771GCIW}8=8 z8NifzGoHU+W&_Ov#*vj$gOOJjH3onAjK=ZKI&H+#+98g!tN~!k`ZjmHr7QflQ`a#* zyC#j$klG%&?4e!Nl#w}D`)BGa&oEAUS~PEJUb2cj{!hG*LX>5TdG%x(vJ&nRN;a%v|R4G@rtcv9h8piYJkcfSIyv#PNmg(%_|>a%jd0&@b0G2=&Z%iXi>zl7>o7 z;8rJLehx1~-aT%`;^nDYJO*>bZU962(cb@tF33 z2YuDpKnw!@-y9!>U@M}}h}}oMziuZi2(w)=r||uF36 zc&1_=F=AF1b!so6P{;bdNX1N-Rl7J=wZjP|O}>I9JcA)XcVeN1u(jd8E9UyRDCG=t z;Zc3*4_b11U5LE=VYukN#D^RFCfcad0nW(zopI@^hTKih$=?$+L?k_sNA89KZL-ZD z=(OYjtuB&!)Di3|ZsCQ4#&n;JBHPvG=v33}=w!UVmH*6|i@+f3!#r6z(0 z`3o$&0?;m(gZ8_*`m%PUcW&<^2J+jaNkvKA+p(Ftf-F-?O<)N+ja{?SycadpQk<}cJ>6h{~!nb+iEOk9gfzFfp zFqR^UNGw>=Vy*J{D8trfvWPjZzG$A!$E&t(W2X0d-s`IYPsmJ?=tETJ|F9DvTM2p{ z+I1OeR-oz*@QIQ^0r*aIKa=Irygd9QBi=`SMZc`862)E5nt~oyu?%L?~g^9`l1?k3be|!^Q44gTD3F z+etoMq5Vv>WwMu}t`@X+Fqq<3H)N_d?Yb!tIvZIM?#gJp@7lBj52OBk20fIrIlqj5 zG~a=}Yz1BN7(BnuVz41bTQ`1DNwz{~rb3zsS=Qt`|C6liP6Th}E3t3z8$cn84vTAP z#;<{mU$Vs<2EmVO>?~r&t=I{rXUGZR1oF*QgYd+)6Yx-kqbz%ja~Ak4okrdFZi&hk z@v)rCpI}n2da)b~i~iz6q9l*n8e9ws(XudKQN}$H6-H6uB_Uy-5L%lJR)9D$d}w_M z1puAh?)P^)z&5j2M=TOJuo;;O78)L!q|t|wRD!;k0uaQsS6@Q`-DfF|K4llGnm;FK zp)Z(zA-sr$D9A}T^9tJ^8;N*)gkn4G*NGY~Wxa4bZw!lT=3@bp8EH->-RIBlZ}*UykaX)r}R>l<*FV@Q`paBv+sKoH7tIy3W%jM3Uru78XvtKK$!(P*DHV@1U)qr=%iG z$Ib4SCD5zX0975y+Vj#EmhUJ~vkmSm-@A@f*c?@Cu@mZ<<9H~Q>*BLFEy+O}!uJdwu z!3Q6zF$0fEO<&$#Ny|IW-V3fpJT76>rao^}7rt-SEqU&GG34v=^f8x@rsR#%Gg4?q zrt^dwNNdYvP_LWHcr$SL%wWCqfWGc^n7_YtG2G~_ziy-Py*>tjj>sO@`9kikKj*E3 zXSmdao7jFTW;fSJvJxHJSLIFR7! zyuykL1!!!4u`VsrNJqqf8aL8W`dM=M^3tUv8#(m(J;>(IAJg@>*EW-v^DX8$+~A`{ zx#i8pAlJ9+m^*}BK80))UH$@s{Rk*{mE`p5i(r2*!I_ttMl$9%t>v@6fUTE3qFw~D z=LIQRKX7MeNJ|qQV50R9xV6sxywg|6#~TpwHf<;Nc!8xB(EGC877|q6x%cG=4>V_W z@-CMtpB-OQvC>2@BKO|v1YRP2oRkBe2RJV*{v@Tz6TS4Xf@znOP=wA+$4O3bkV)8*Djz^iKZ;$bb zDy|pHr+QLP)_wPX4!+hg$Fj?Cy2n`b9`&-%bm+soFoV#Do#zn-!M@XT&Tx&RV z>W#@&%#vy@TdWchqVYkB1z*3Xe7C90 zU!OnzYS>w52KZ=>u;eP7HRT|6KY$$ejj4%!SYMch#uD9fIEa(@@OBPiZ1G`ctB(t% zn5^LL$Zk&*xqYfRRjQ9X?ez@iZb9Ihw{>g!`Pz5T(hQ@uvD5DCX^*f0mxI1@c=>)!@e)=2?w!6x zZ)*h|P8}dM6aU8L05%*_2C`3etY>I}gtC8_q4{uTS4)73EUg2v)r~j=dcPuFN8U?w0Y<=4>(X?^-Jv)0a$>zc3I%PB~TSxeJizc%_L;EmNskw61f6M z$3+e(Km%&VPY>DARX#>^0s8i@*kckato}Z-d>fR?cLzA}G-*ukw;_cJBqyIOy@9#F zM7=kCdT1q2g{_kX2`%mGw6C4iBp>d|ASzBDlMMLpm?}#;g{Z2QE(xwOQ|N!H+uoaY z&t2|Iq-yQ321SXV-TL~%TT^}~-Mv~vVDl;Wh8yq)Q+=6q6iWAS^x#~_fde>s_^BoF zsa$*jT6>jVgsRN#yS2vw+;B6;xqs(QCE15UaWmjvr~*Pa%oFdcNDEo;P~AQ!HzNo= z7pxxt&7J8WG;166d&UE)V+TGPg`ft%mxC%|-X2YZA8c{}fD@!h{PO9kIk?~0NC#Zw z2kpq*=;+-E3Es4_GSST!TkibWWV6>kT@b}PGYHD;$4tLaSyQ82J_o7kE9J;X0g>QC z86Xz%_o~n%=5c@o`;BaEkG>|(ay#E1&p;>v$0sKQv!C(zR##Ucq-k2rm>YOV;bT%k zujB5$!4oe?f*3^o?eL8U!ml`AZlD4;7;0Py}!K*3`3GC#mU{a z`=C_jBImQi$hmoWAsj|tFyYXVx~67-;~4~{yTNb3^F^M6ED!>8eJ|@F?{|A#N;uE~ zh3{ixuZ^Qrfn#U~%SO8Ayx&AY6!MDABm$%qh00R+rhe(CXL&p%u0o51la^{C)a}({ zJt(&#Xy+f6+T80<7jhtb>v9GQPC-irQBisiA#VOVFYOf8m+Mr)=>OSCrk_gIVBAyp$&}zt~Ay( zB}4wiFNb&2B637wDjKbD4C!Q{rZP3vVNKf*Jj4%08fFcY<#PlP0zD*X{WUYxR=Y88 zy&lwrDu%QaCxxiyGiIDb4|XNxu9xPz>>ub0kvUMJDO)89x?#*c!2$I*~SX4b*^J}KssdA{fBfuDFr0xJ7-K%R~u*Fz2oen=b zGoy=l&%|RAExK~!CeYul=|@^pc$+=TIXAo&V#4Ze%wG?k=%<7d3bx;ft5-TXF>^L% z9gr_{1j%VB|6xlXTCdO1FzNdBSGYvT$7O|JCcFxxSeQ5Yz)#-$Y`u}I=>EM%9+8!p zx3RVJc<_+#qZeoRReC}~1U!5bu|j0)`En+Isy9`Dy^2%}5ukziBiY(QV2P0s*hyLA z?$_#Am}Tyk@chs*Ly&^ERE&}K!9#Dp%0|$>C*difkV|{aPv((w!6cWp0PX%C!|nqK zLBh6l+c~v%w-179jLGoot2wR2=gH0ycg0mb-!Q0wu3MdSKB^wk%l%`k9w40N+iT;s zM0+^B1lB!tXov_fk(Y~UYb8#;0VLuGNA-tE7$RK^<2-5f(MKK;3VqUu$Nf`+_w<+! z3q#AL78KMzQ(YaI?($}H)uR=BD1R&wA>&3kx;)Tnqm!@l4^>JfKG3^|spZe>B*$GI zE|N8sEGkngpKD+nOKd}}lVnh+RJ3`AmGApu4_$az=P(i-G$5XZ*YT(Thm1r8jZ(j> z&nOE5v}W=^(y-cQT-s;*cE39O)?odBcysFr$-Yfv;(5hcPo+!bCC~n%M4?$IDg0UQQLq)Q36QO#fV; zd~L&z=k@~U4A(s8qLp{xs?bVev7Yr3yK*3-guILM=1SQwa{ZA+*Q>0=!GO6Hq=eB6 zGcBMJGmAmoNIWyMkVkjdB`o7imN`}(1J5r;yOr=|4Z*6hk+aQ?Vxapl5_8<(j?a`;8H8=$taldR-K>!9>^1 z0L@C0HGLxslMwpFa!r_qr)s%0eYCSxjMx%u1Iz9G3>6C4zU-boIUQmF^f1v%>Y4VU zzq8WMWg;x@uIKxm=5JIxxTqA1A{Nrw5>r;cModW4c$I729Z$|i;EZH+%)vV<&jWVz z4-GA!EproTIV2O!iL+H@|(5l_+rulciw^&Wjz>tXar2I4%4VG>=7k6}Z+ma)} z2h_Y(%~&@aE>6hQ4$GI%(-$UyU=-Q$C+zSJ)*UD-s0x7`DH&r7%s_4i{Ii=)4JG(5 z5;RFSj@fyHWwc>Gzxn?>r_+>U&m#BI|2Ln@!(CkSw(lZok*~!X?>8lbzuS@=q$;j; zIhLQTLWh(jLdfX$FPRr0}=)6I~RL;YH^{|Y)u9KD`$ln@F)S)NiE9}b5M<6x*e zBR-9n?PZvvpBh7x?W;KM&)*b7b0S^!jvx^}e?QQ*^kXemvxTc%kwz+^qoIV^+Dc|F+Gonp3v%X{uEigYiiH<`I6_hB0sSLBE#9)Tvm<14^V*#08QMRs zG;jCkO&bZJDH#@m8(ea#W6uAFT%)u z5gBdXJd)PImdVJIN%z>_AIkwy-%b!17A8XwB?IF!)9k3o;!*O2HL!SCjQ_} zO>K~YgTtMG4k%)XE&8P_;cjkgr1YtyT`d`sKpBXOK3?bNIg|@t%sxDu5U2)kZc zj`m;Vy-cGQXEqjZyy_7D`4#9ZH6rT&9G9oKfEni86XtTO77TA(a&3 z1E3p{e_&Wkab6KTczHu4r=bU*-kFGk0t!N|@qHjEOdBf`j;aAAQd;TZ5Nf3~!6XFY z-@q3bs|EVZXV7bZzoRKlCXb#I5`MF*wrZ`~?<^J#kNf9Pe%z|{@1HxNuE8;G3c-9< zZtVf}Wydz(%h-ix?&<|95~H%~*1v{oFazoKGFE&0=tc`V@5X#;h{8T`m#taft$o)2 z%LRzy{!XEZO}NzxN!%mJEoZ#UUeC&KFarKrq-5zgG2T50e`0aISoe5_s_#>1aX%OI zK3Qf|86!`Y9t)kmlmjfE9wcj1bU63pNf1|QapgqELrQS@*yj>ZcU^NJ7e!~eRX#qo zbp7Qidia}CJ(gvY)asgB@fXLq(F`f` z;#aIfhvJnUd2$?Qd5d%<-0)!vnD)e$R@&ROG|q6q3*mY^#YFW`vrfM&>`jvg(30vd zyK);Q$QI9>c^X1^x0S)Qnd12^y&{Xin;rE&8)lK<{al>tBx5i;BET(w)b17$z-Jgq zL@W=z477a5EgZ1oCY%(87v1JwT*t59wQinnv$ta5+ddirH`!!@6Wdc2w^ksO@w-ZCykdkBz(cxLAb>;=XD{c zwGwQqO||>`KhjM@fR(z&pdqVS)IyF@+q6*#aa;r}7S@;Z2dr~i8Il->-yl7q4uC%8 zB&>ygZLafG&*A)cEPX7x}nwh{j0TH@dJs-l6{Ca{vdk` zEX?nC-CDCMhrGKEB8}#QzYSC)(}o(_bMftKv=;qH#-9`+o2F(x@t-lZ^UapMwym2# zS@pNeW>7GQXQiGHH;5H?{yL#ZyUm)HQJ*X|FE1qpzdU6Y8>c-5c=m7-r@zEcCGiE| z;w0etA!=jUV=olCHcmlNK|w(^T0e!g-fr`x0 z4}rJFDjACpha@x+bVw7Q%vVrQD1ZGMr{W8Jv>+e zldiKEuqw)qQ-pStRhOY{*!@je6|q@l*30H;C>l^RhLCj6zpWoWM)vG;+sWL>n@yCg{pf&bwS;gl2;w)CKrpP%vWC1Nx=Bi8ToJ_?-P*@tF5OQ zvL9EE(3ZUdqTfn$?({`_niutL?C9x=Vz%<4Qx?j?VSVzv?$5BhyjRk2gnr1j9>4E6 z!Za48TgyCy4BH>PI*bT!e#Ms-8%ckFle=-jCeljnoj%`CJ^|_m1={yKc0vJ)ngS+? zIHn0rWv9HC*#~s} ziEl%z<~FR`+2NF8>>=IT3^a~=u}o{i1H$^Kn4=|&O2WnuKK4!Ci+sN8aA0Chk7!Xq z!kW`FxRB-aNy`@rCRx~$gMyCy?prtM1f*jqg@#9hIs&gv;0#~=!mq`&JgR*qsKdz} zM+e~gLILJueC;=&vOmvoI8P!m)>Ak}U`1EP293dgIZ@5-021V!?; z^c*`~V&h{`G!YLjjQBM06;e2JmDZP3jVpG^%pyp6w~sg;jCq0LP96_)I-K#>`3X1t z+n(8sN>s%IU$l!f5uyOkL9ANV_S#;)^*Icl9&I3EiX04yZ&MELP00=nj$V%xnw8SJ zLbbZlzL|3{$4R^sq0?;Qedo9H-;v_@7!4Vq&ZK6e*=6!8+do!xshWKAPKGZ%nNN;2 zv^v~RDwAPk%HLu9Fm;gwD^G1PyXtL|bjjm?frp8qcl5WIJtDr*J>KxA8*7(7S#@${ zj(0E;AV%7&`aZiO>gM#Su(_!ydT`j>Vr{fL?!u^c3R9;9Qx7la>itI21nrGE<|PLm zjqY=K`k#5N>fU3lBJzf^7SF)rF@C6!zLp3&$QINjP z|8SjDZWi34JAhZSu17Fy=uCp=X^a+j7sKnQ4f{7$N(y)^t8$3cV z;NRO(-qgd~I70JCxTKfZOxD?&%urYF>gu0{|SZ--w!e zjehD4*32~Nc~&*n@^^iL1BhN+gK2LYF7h`{A2A}752NwAo?X18M#k=`BEj+x_CtS# z(G)}N<>fzsSUEo1veEJ4TeX`_&bdv8@ zZ0QE*?2+y5h(YodqKu-H%X@C{7ZV6q}P^BndoB{K)FCLSgxNiI6I&AB&o>5FBY z?!>Awu*4Ll@wkM)hjkD=6}_^kmd9mS%lHJn2#X5^gX8+AvQEUoy_ZUZZd^WElF~<{ zSvq_x7o`L|dUS=bq3)sG4zMilHE9xAMC6D=3x)d*;aN5EvLXb$18(6SZdmrauts6 z>@7n>rRT_9^)&T}*&!Jgh>P%qw$7b`Yqq;H^p|Hz6>ns@VzsL0-q1FSxqbI+ljZ_5 zf>pHe{bb|Dw?N;-2Unb)opP$OsTS^ zV$m0W?Gt=9Za11PdtLqkYyn#PrzxWiY3KsMx;da6JdS-1uX9Z@SJ*bapnof__*FyM zpE&RDJPQ|wZ6l-Mu>)GOmdSV3l0bi1<&$(K5h3dF1$Tpn-7r^O6ZcTI%ZV$woDKPD z(#*PxMDGQk_x6(IZwhL<={o*`$Nkn}eZ05waW{(w>rfxJG`L4f&qv0jxG`*WF-WG| zmSBf3eazd`+MUBAr}y?g-}y~`#PbH3zVF8?f9djlY8%;z_cGl~FW5*$B}NX#w_k6L z!GKfp3>Gw`puEl`hpZTHG2-!XiF+LD7)}BgvMAVjIJU9W1PP6l46T0*&1F=ifC5>1 zves53iVhR$<M&xpkp*q*`+b+K|~9H{6k1U*4q;Ks43l;Kj8I;LKQlVRuo^XGi+FSXY)hRjNF{Mp_lAtiGq!wHDj0C zXy6FSX!Ne)^nnr)pUcXpeeTSHUOO4=-zYHXZoY&yZ=FhTG6_WG&9PS9ynER%Ou^`V zmk0n@s0?J-Kq#m!p=*LezaMWVMBl{~W(@38hqDvDJ*_@6@epr6k%Xd~t%#FvyKbk- z>2C{M4C@P|%Z~nzz0Gh30MwH~)xQua8}OgkS>MDsVi-U44GthtFh9VUux$g@A69*p?afkUs<33ls((oN0osL=H%9wiXngb_laLciNlCj|O$qm#nOw%7a(&nhDb*9YN= z4_^y!Kfh#YtscpCr{bI;!}`XUpdLP1h|wo{TZTR@o`5_HEI42S`zE!be+FmBX}^BL z{e~LLXHt&2)~s`GXiEp;`gcx6Gh?9%xHpgde$fOcRLw?K)lLrh%{}K|m> zRb&?{dB;%E%-*(N6AGn)t+Ev&Kq!5knRL+^jsG+}^U!!h_XGEJhzR38eV?q08WA5| zWe!^s`;vZ4=#$%8Mx<-C?^c9X)YJ_$x%2`^`3k2{(Cgx!1uQ3Ze!U^YkRyRezo`2) zK)w%^RD-=hthZLZ-8%(kPMislP&?vtS+zw3c*tL%L({p!Kh9n7MZT=zcW+llXP3lQ znM3^SHk~1KIub;2dF3Yoc-Sk^S3A!x4)8-kT|_&r6bK01vPWsF$_LLAuL8p@2wgx| zt4yjdCbWq78n=^ZXaK z_xOW)WGh+{94OF$@s3&$_KQY#e6-{?Z~9r~Fv@G;ae=anattKfVC#B3bGDnrcAdlf zP*CQS!&D8eoE{L4pB!y&2OC{P5Tg&v%tW7y64($jGtKofIgA!keEe$t4Bc;fK>`Tf z3#5$EmZY+G8mG^9du>%XghHo+kW0hRx7kBOKVvBDE7C|=b`2z8u;6m&OH+trqf#bE zTN>0KPG@@;l%WGI!My8ugZc&sw>szV{=*qc7r&27)UBFUmtzIxC(kNgd+2#Y6&W+3 z0OYdFMI2HT;?Wtg(%f>kR(z;poUXsX9Yx=7di^rWWDp5IRhUp)U~@+RD3X<#F&~NE zo=2jG(xNNbK$6rJ{24Iu9P$TMcIk>^>NVphU3})I4AobTU0!xYFQwY^{JhO&Pu&84X1CB6{g`6UM)H_`=V7a5^{( z@mk`1Y~G9J47I5K=7+Xweu^2&Z^voI{^w&0F4HKF%pK+DV?VPCf825V+3!T(N9zvT zOCcz4{?)HNSVNO5XoW|3=@kmmWC({SG(ZLgtEZrg=lx|- zMT{i>ZZ}+JRA-p*8(bok?qc9_|B?|*X)Nj@i2p9?BBKh2jIG0KW#z6Etkso9kWi{! z?($kF(BlBSHl`z3FF6|2EBK%}J`jfbYV#wIQ@zt^o;aL7Ts?>lH&#;q%5Js0XM5pL z+;LZOAWGHfwYkA*WkhRw@zZ$M{yDF|L6hNgdOu5C##wdo#SdxIi&obV*Xy(J=|VF& zl(XSGP+SQjq{Gj8p4Oi7^XaSu?SiE&R^+`WgCb@3U0ap~$lCN~}|@Q9BWS?oz_TNI8P znwT6Mu#+oTNm@ihuPDn#$eQ?ftg|IK2|Tk1#YW2itIw)5xgiq#54S zSWVRn2DF z*hKw~2^j=5#y);5Puf3V}^bRdjOmCTMsx|BqThTOZSRSUb@Ie}RsQFSkjq`y_kZ)ZJ^}6tMfp9v&r=vL0pB|r>f#j@6|CN> zZ*Zw%Jr}Y_Tt2>;aPWh;dlhbO@d^I#T`WS;k}lqk`*)%gF4f5h5{U}k$b5Qz#>3LZ zg_Gf%B$y9=zF+_G#ncX)n)vDZ73*!Jz_C=n-O1Y+AfBGa)j8eaZR*5yy@6xOadauT z|N3in^8O)M%}TcO1~*ARrB3%W0L`yODU}|g+);|Gr~5>3CFGHG_EGV4Q~7ShXrpMK zZ_~fSySr?6eX}mJwh4)|ApJh@{G4=!!)31HjtL}e!~od-y8n?4^(40@BBlF04zzI! z*Ebve#)fu2&)@HJcU2Tot&(?Kz#fDD+j&z$Lydh{qWa;d3U` zng8dH923yIkrw0M7ZCPZET$QNg~l)_KV2wb)!0!-veIlmkOV5INsB{|8yaOXLJ0}- zQlE@54c^dk6EVB-E; zgYjy99IMc^c%{RyNuc|=D9Hrr?=uuY1ABe(&sbb>c@Qsn#csTetSu%Ng;cCl>`O=U zch9Xr&5-S*1YPGSzAaxF$uH>WJ^UV;^^d<-3xnsphy`1_hA02Nn&d9GWqUmj7dl!7 zuoZyAGEmn8GIYf@&SqFiq#6M22B)ek995W6uvMxq>sL44_L??fiz6@qc!ND)Suc^3 zP=~p##Nv(CCK>*@YlUNT@9WoTy4#k*m&bCL(j?H+&estt*D_Q2KkR3vqUU3*`4lJr z8tjN+4}~&@p)pasP+G$&O01yj&i(m}4O$#24MbSie3D!Lkr%wOm#Uc)oILsS=h=5?gkFE&dOPzuyo1E+wV&d zb|_Y9Gv<|o5`EoGYZlo)4<542CDoGEJG}bwGq1FqlqOapx21<~w7ffZj35O~-}x~H zpU#f6G;%7%wx$PQ{54tbsAVn#=O+9yrGC&kf8t#<$?w>0!lF%PI=KcH`ty3+K{HWx zIJ!C;Levj0a$jFvHT`WJd``<$);@rU0RV+xSeLz9yZo`}Ey#iCHjDt+-JEp}sebcOwN^FM-oK7mMd8N4P;pJzJsX6zaN$&LfnO z@PM-s3d5d1Gs%u*A+>KI8&%u#pfE8Dm#almH?arIF$F4u(-<^Eb^tajLT)l{8DYeaeUDi5J@1|RIuZVHSe_p;& zh1B$2rUgRv@h)=)}`l-nE%y$m} z&agf@JHQN3fES9fQpIE-C|d_KuGOWMK7||kX$Zo%0v3LsJV%PvdC-@TY#?lzwf9y> z1Z?ltU7ja{L_PktSAF1OT^Jp0i~V=`2>Z7OSeK7D0tP1oPzW&`B()drTM&r(H23mN zEn2w1ecx?qMVnj?<2ft;_Fi910b}+TI-;gg{G0~0F1D;k)o#aHCw&hlZ$8ljaIT(t z%p>Un?zz(o#0 f;FI1?t9unY67J8PwSE&sK$WefDWj7t=j|>?&lUJCx-e<@#yA8o*vVOg)7T z+P8PlM=*-n^4S}e-tCGQmAI9+DhMKYIsxWe4VI_V`gr#wyc7>r#~t@YFynj#Lzveh z&w^erw|yf81#cdY0=%Uu{6|qGGpDoXYoN!V+q6A>0SG zd%V&4eS}K@pc|ih$qknBDX672w%8&ee>@XqO>mw2;YVmYVccR-x}Xzq7)#e+FcMGi ze>AqRxZT`LKG(3mms$7BY2-cOgzY@_yfc8~mloZt?lwl2He2bfmHxcWcOy0h9AlVw z;{+n7soH!3PhJ=%?%ErJ-+I=pc~d$Pcm*jLC?w3Mh5XhUZ>_qvbN|5oPu<5Zxu;w=K|5Oy{+G<3dt? zcDJWEv|iy~7Mhj++8i$g|DXBODUS8tM&W1Yb3@xg*K61th!nyAYCZZX_cjZndFj8xzZ&O0{)q2&{2CQa%ASG zrJ)i%GhL-9qPABtI^o#``DSxAdY_`O+`aqk>endPWn|O$KAwC?>vWIH&=?B|l0$po zjOTdUYe~~jPhOFxDjoG!{Kw>m{ntn%iXPB}?-6eIPD^_S(wQ+MCai8!_P_XrXT*|JNK<8)s85RBYX1(HbA%R<(M z4a1?w(W7VY(L}#*;uAtetG&X0FXI}GPbnJN(y@#m-yiVU_RzU#{Lp9H->Y)f7)sIj}DpQI{>KB`h9qnUsRDi+3GTSPWA-JWU zH0k_o3{#y?cK4e-!kD;3Io1vh-*EiuRx0fB=e5#IVSmQB|9p5U)szT*pmqM41)N06 zY-PnaeK^i}401Ur{Wf?=A}E4`HsX-aD5s!{~ZNYI+)zjem;BROsKw*!FFJYdXNCmk+VR&#ke#*V` zPvPR5TLT0F7E>%zRaHUNQd(b}Eka&`K|K;s9z{)f42o1d3@#Zgs#N>OaEza08(WC z?yQ!@fCn&GFK|Zl{iLEF3+tf3kXBfiu1&|3vDe|y7dwA}SHW?m-sKbygbQVcvZJyp zHhbZoo42=c&7=1hnTZ%t92Yw~gSgykd8~R!FP;^aT$6xv787UNi(Mbxg?lV^zTr!u zox8=}h>?;sB@!Ss1HQD34@raFXRc+JDIF>?cFL);K6AVuOS>8Tw?nd+sZSnNq|mon z#YZQT4n6ezEV)Tl8Okh~vrI!1# zP@${v^Q4iha8LQxB@euZ{eL{zuK;Cq;7F_CE0&h6m^aT-+PeOyG*hgF_R(vaSHA4E z9-%{-eV-Y|p7q}6jhVPA>70GuB(Qz{a*6wIU@?U4(nnLaZ;*sWFyHP!{HsCxXo(I* z`PpNbS}PlEBRLcfC=CYNh`G~D=cLHu;VxVJAGZE7D9)~H0);Omc#uGFm*DO$3GNWw z-95N_Ahz}%qA^qpQ8XNFeB)I-%6mCXQ`tSEp)1zc5Gb8xjphvd zEkEPMZn)D>`gs@M|0_(?6Vr%;3}NDao1++hqN?-l2};tzJsxkZJXv)=S`1ZUq0f_7 zKcm?;*b7Wwf$ZjvrB%K(0T!&Bv3wt5jV=)H8yLlkTxx3_0{|V^2+xl8jq@#M7}@tm zyUBH3+K$3>8vswN?WLP6M>jng86lUGE~|#V5tGT(dyT+7HHq(GBt^ed1&`E}*+f9o zdHXn#aI%xT$|<9FD;XL#6~&wH=0wCnEc(Ied0Gy(6i&J2##BDtbt94MxE*E1lE6g8 z)cse$;W71Z^SArk16TQ@mR#aKYMbY$TUYS?j0wh@X;)`X;a_=}nI6s~5@CNf>g?Az zJ*7|;Qu*~#=a_E~pRBrDQtatp=G&-W5SPZpv)x(PSz4JNy2HwOkC6h1W_a&pWaTbt zT0}VzwO1^7RdoL<3`S&d@oVTF?1_>{y)<65w=AZyUEaC2YTn4u3zn~dsr@rb^Ett8?zQvUH% zGkW5vBP+uaVwjTT2QZc5OJ5E~|mZA1sh`Jvb3O@2W1DKDt)qJW65 zh(X|LCn)0zu>&*=?`LlMa!qX~_p$6{R`CNvR1qVW3IO_;vDNk~xgCaKDr!3kTd}`n z{gt@j``doL$XF2Jd5}3yS;8ZD4ZYcP@Lcaql*Q@N6A|f70TBb! zNO#}w3j23Jgg44zB|Ao$6xL9g(bV;-s;&-iuMS3(attMkW}L&;O_}POmg`<8Y!}HF zoxBEK6XJrpu|uS-d@Dz%6^xW^tfmvkJ#*)kCMRtk^+O4rHZy$=7vs92M!alMYL;3q zN3r`lZyQ>(`*a;jXE|tY*Blk2`7OvEI#42|w$YS}nUBYXmd_h{xMKtxb+7BiwSQ>a z8XK;#cfZVrOdiN&u{XvcS|wme4@2@|%6f0j61Y4>?oC)wzrLTnZkMWra?lg7+P=;Z z1b?~2u6b^VLhpDp?n!9`EguZyJ}TKIaumpljV)XVq&=R`wX0F%^Z)2#1RtKqLyeS}}E zbf8ssyiM%(A8@k+K%BaCv`?q$O+NxBB(N!Gr`fO>TI-ScPx6E^fO_%?ArB4!c1yOE z3rBipR?N+76xjahJAIymFUY6!6x{OE;u&dI-$e9zHT_5WMy5+jEeCp z)$Uv)+qEDVO7_kVIknk~Cz9-zcKD1TZ1FIT!YhSz11SfPkR3P6!F~`%bX9cHQ2G-% z2`QFv@HiYMSF`|WxjKm*ZW$HYANBbD-=EZu@<;vYz+wT!?wp)5tIqUNU(x_v3h_}o ztmrHwsGN#+&;%&FAD6sWy{MGVzGms-HtGU}>C!PiP2cPnPO)#{6Koey)q`ok!Iy7HP z>`N0vV8N}$mTuGIjpdx>z-b5EI^$mv&G-V{RcFbboy>HbWzWx`3upCB;BmF!q2CV` z7)S^~>jq^Ig*zsmJv;xAnjkKszcEB0>4JoV1bjpdEo84{4!P= zZ|oW!)bR%L=jr@VRp!QAbLLnq&a|3TeS$zWJqedS?5K>y%Q$NHtescJn{XV@JJjjRx)B9ZEfSYN`zHpKx^~Ykz$+B_BYn zPdJZt7_tsQJ_NsObEeZ`3hkceZTi|5b`5TZ#5|xXjk+?$XLm~ zCdg2KhCW~K)GSSWEb;j;Nhd4Pu>KK~kaJ?2@B zIRgU+33r~33tuiy>$12;OaPlHIo79qznA1xma@;SU#D5a=_6M{5U?yPM(Zd=ts_I zb$Kb6%#xIw#98V1b#rOOFQwLQ&d+*;K0@BW}yQT6x z>pUAThI~z5TPX5)@L#tETP_Ph*jG#K^KN&S4duxyP7Rr9Gb%NEi@ntAA)V_pBL=9W zval{$NFLXD^y$7?Gs^o14qXR#Pf(55IQ#sx$-WlICmpso(MH*DJk3U-sr|ezrxntt zuFpf^KMrE~gPp&Jw10877!}teuw*lTf4$OSz{+xTbAtx_qKO#nC7M_T8H)GuPJhu4 z1*A`EJ&g{qkJc!QWDz~|FI*(^t#V}Cc&_UT%0lROAKX1^Fg(X9f-0BWT)Y3USZp7v zgmT)YEMrNe;vY%&z%i?2$%Flcpl?p!{ts*cNC?Y}$D^|a7*ELXAD ztZI##elFp189N1Uu1vT$si5Pcl!U&iXL(g0o0AA`tNLhJt@dBGL1#;9>2l^cm*8d7 z2>>Z~t?Rm3IS}?+QFpBoinAT+JkGaHk-f*f={JU9nnakS$qLwjxynhwFpbUWDC^>T z6*yq+4itHuq}yq!l-c2$Y`xt7U9eda@qZjIYM<}d{}&MBf&D)qM$#GGwNN`PNrIdZ zOz3^|LgWn>upX|9}u)Pg@0H;bZPIr<44s z{7TXl&~Ka+e4IGOPj3enc60Y2@gz@^PviWZ7?SG!`DM3)xmg`3R;5__l&|Y-^o#O- zS;j>W5GvZ}BJT3)GA{lEpjshyvutLFoe-EQe$=$i&0||c`d@3k{fx=D=6cOVt;b-p zW7T*C0G3SM?_>b#saP$FP}vNOHen`7%Kj<%bF}bBw=msmT03xngfmZZzhSbKv*l6y zdT4dy!Y=r|x*UWB&69;gBoCT zOwwEcv20m85F(+QXT`?h@vBE50$1bkG2~x%sR92zm_(ThgrlqDe?IVPAh$QC)?I-e zIwm`|^=f^`7`e$RkliG2OX?p@$SQyt7gk94lFUeyuwbmO=okx-`ewA%USf zk4Ov%H(9YpF(Mk#uGUCQjGqI=X(lV++q>O0_bvJY!#P#U z?Y!BIFKvlCTy@T+f9FO+ET+TCGv8+^>d{e9mWxa?Ee8*s2}sv zDKY_~sC}LBKaDb0TYFoH7mfmtLRl_yPCAiKYc!o}DPFS$((-PHHU$Jj*UTyYZw?}U zPY2%%fZGP)KPA8fUgt0nqnk3l!lH3>vupd#Gx|0_~I!Zu{a)*z6K>jYdm#z!b4)sSAx=vj*J7QniVcp@^6E zucEjH4IBIc&F_|$bpzT)t?s^2fq5*Njbk!0693ijXiUT?+|bILIAIAHOPASiVbeSl zMy?(j04nV-*)(=}`EV5l-9PJr!trksC&Z^UJbV)IGtDYA7e!O#b)ymb73rtI%zzDV z(2TR{;QCHB`_{0=)e22*`MU(Ex9RGDaFP^lIg2sJsGNLwtpDovC5N_=(8=~}nu#fS zzi6?jb@@0204X#rIsQX8??F#{5!;BT#Ug1&V{iNYaD?u2)P!YHVj3#FXqIN{ApXr* zjx1|1)aYbuqVEg{hk4|R=>763^dbW1F5q7Q@kRL8^#ka+*y8b87IdS}q#G8lPwonA zHj5l&6x1aDmDqNphPDs1-zS;^i&f+DLG_)tbezc86V}@FLdrp_d@q~w_(4A^NiPqV z+JR!UoNFGfa(Ud@9Fv6dHH;!Xx3n*XW*mu+HpoP!QI^ftPhXCor=`Un&dkVX*q^UU zCx0ffimEWA#ZvSay6Gf6Z(guVZ!9}Lep-(LO}zI{xk_QCO|#MFDT)+@JIu}1U_1<``EK zKtSBz-;t}p@v+${k=nYKgGwMNcZlg6K45nuvvyEA6F?9ywpi zb$HuLNBve@)PR6J8fcVm!YLgV9TWJlF?y!=){h`>xzHx*A>)RsrKWta10jTio1D2$ z$IT!@(^M|U2ryl5-hLa$E&L`PQVfYKy`G)XFZc$lOR(G^8dq2{@@M$aDWECvCk@3z zKA3y^nxy2$?{AANj7v*>YH_aKhtz2bcMM5ru?ZAdfbdK1B+?&+j(4&?_3llH8Y?1B-rD#6>D%2DY+zgE3sUA zF?NPQ-30Yl<%x5gpuHic(>3X6sG+^^^F=ogKK_@`5DDKmkNp-XwMf(6f0LA7>5gB= zNv48=hJRoH9n8z@62G4RKF78=bC8wKRo7#pz$k>^BqR*~%jU4KeyXF~CxDU4Ly0FL zDO;~gB{QU8NY*Qhgc7y2d1GN{?CzLL$+~m{0&-A=mtc)}k4v&<{Df$-xVhpa}NYO+NqRQi^ z?UP>Ehx|YL?bj2G8|li@4sv<(WD9r!7p}FFo>ue%`6LoZem17@bn26NhheoFcKHsg z{0STqE|=-t(k|JS9QxgT0%7NxtrF!|*;<17;&Yy?E8Z&)!<>6mWzqO(y92j##Rpuy{XCbs)+U1WYO4{hvw`sD1af^zY7q{Z@ z(iHxe-Zr6|F+bk>6skH?LuO7Yz^IRxW+1is;E1>>+${tUL2I zc4p=D9G5=H{rfP0^KV@S5ujusD6VKM3?vJYa<31Hq`-2W(phFrDyfn1f-F|wBX5$EuG0BqVc#T9yZ9k z@P36+m!18H*I?i1z3mIH2%Joz+<_k3Rk5;ZdosCW6BN}?`ZCXtGudSBec_(Js7z@m zJxJXcz)89Db+|tF*SFn&so&F{EUgoMlGNbi34#gpqTwbDWkc%p&^%`vm%BPet;(GD z%5g82L>D(mLz||i{Y}_-LFyf2!t~)I*nd+}Z7z~kx*?Eae<;ULe?UC0vlA-7QvU#! zl#Lu~0OEzq5?`|`@%9#*hLE^(-Tz1~#pqXAazaOmE}zRU z$Zoju_+zGPiM89M-t~BY&l1G!`?eNKjqdngeQRqqU0wF{Jh@)F92x2`D2Ut{jKJfy zsTNI~tB3zw9(reiSLZx^=)fJ{m~aBy$;~xG$(3pQ-ODRH#{#r)UYd_jyr~_9z>}{h z?)=ihzpIjb9OQY?H$9w3Sr+%GOVH;-2-(sw$q}Em*0!?X&^J4th}VhDYI^$bY<@Zr z1l}v)*0eOn)9YijCS+1yC;BAg8}aEBVS}50Wj35@UHv*~y3)hM+#|rglOc=vB>I|1 z-?Bv9bGxZM@3y-y~@Mb z(65m2VxCOe!F}Zse&?IqhL-jsUnx8QdSL>8!kIcN_Uvn<*zjGPQg%F6} z$m3@SG-VP4fPR!2Hw2>Z7lD+h=(?Y3r#ONJum5nIN{UiWZ+}dcB(^;zH$yo&4n$A7 zyNCuzxaaCzrzJ?908_tW#3Xadkzwtnwm&E$Hxidv~BrhJEXq6+U;Be!IA^@TtNmcNcuj?S9RqwLXFuirq!TO$ z_sk#`t4ToD(dkH$KH6pl%{zPDra$ z`%7-(v9aU5K38#+Qp6-i;4)HIG5H|c_aqaiwvk9MnknCMtwS{9B=iB~bj&a&Wj;1~@Tk_Dfy9bG_ou_gr zvX4@B3iw=yQt}J0xAb`eM#5cpYRLanb(Aw9fl02e=~*-6i>J-{3eE7|U%LtQotXIR z9s0+k#W^$2&pDsV&B~XPU9S&IaPl6`v~GR|AV3jo&e*Oz4Bkwfzqxp5R{eh94V}=L z7A!sTYlaOEpRmbXX&E2`fD4X;veqW=X>9J#0CDUvwq1Wov+}^+?ygKq%l;xH#Gg8; zFnZtd7_=S7frE$-^T_c*OWxZFgmPULi@qjT0qP&j>qLL5VF`Dmxk- zm**g`5o?+zoH|yW_is}{u3oE+HW+|dZqcL<7xQy)^5WSDJsn-zqVzTvamkUgp7rC| zSTU=o&tsDoI=eoY$Dlg+@OWyK^yWqaist`@l?rC&)@QrUyAN&8{{MORD_?Z_M(oi! zc$-iZ9~#L)hVy}4u=_wJ*n#OczncBG-1(_84&mfdE9N!z zQMJvklj>|vo=;*7No;ON5zrOeni?7w;8$w0)#gGhimWvb1AnWTXYuMm3E$N~t+ybr z`eKU>ZP?3gb>RF)%gFf4L>SqMvDkIlV(R3#j-}S}irniqC{&f9{6_8JE9hkhp%HfWww)I^JjP*o57hT z;RjjXUl9F*{aCvM7HX}=JLL6z45oJHu_%Uaw#@!8q>e7gpT3UOdKZ*YfBo~LSh4!+ z0Yg@83%}gx%#qzL-9{KdCPqZfkox*u+NmXy<q1011f}S%A~pz0Y}$VELe(fN4sjYVzR+;_fAzhe58c=eSvkrbPB|K5a&jSvT)V zpkahc0%vGU8YjJ56UqB(b*gi)2)Q9KgjOc zzB!&n{ZN2}lostovUcnF4g|n0E#LOo^OvBog3Gv=KCORFMX$stkw8;SC7b@3&$N3` zS$rlbU{tk|)AeLQdu#8LAcGz_oiWy7Cu=mP2KM+goGRSl2SzZ{Tw~7+96qRx|B^kj z%UDw3-FKo$NWDykT+j{36?oFDt|zpNP&l7BH9qx95`jr2D@ zO{h@NGKM?u>maP?P}Wu_&emE_(|tj7bf-2xh5UOHGyv`j`u)d(KQ$}nPnbLGSsjyJ z6JDQZ9tO&Tsl`fU+~=N%d3Y%_7{KqJL~?eTmin;@24XNIl2o2=`8 zWH7#vXsff;B7@%Rm7fbP06%!d&Hvo#T>3@n3z4sXA#taY#N7F_PzE_X90UN@3y(ht zH&bOj_7|SkE=f}%-88mtI_6?4J-U6>>XH{e@poKlotK)AZayk&!m)KGOeaUKyp{ZY zhz2^SRRh{nP_Tqu(C9e@Yq1akH)NBp2MCFW-fDMX3g~jk$TvuT@BNN{0CL-#@8u4N z?S+McMl-UX2@rIiUf9qh#nM)um#sdLnezicbe#1e-N%f$nRNm6)`!#@lG zV&|hDE`Q3`qw`Z3 zqSTg4b{%1(P8fcK22iI>79T2y*biC$NCzu1_Y?cYQ17UNe5{Y&?5ZRwL8vWtg# z_?;sE{bDb42PfyGR?{z?>O6*4JOi(C5!SoWY?SwV=ig-SL%|r#5dD_rF{pJ%oLhGS z{#w5LMT7A*PW)+`Dd(AzB>PzSs9oEM-@roh)(qP;6QVWppnsAvq&NGCw0oPnYpF_^ zPykr#>PZzMny_l>)YJy4)5k<1`4WHq>mV*XR%8d|6ach~TAJQ>Dh(S|n{pm}5)q0f zjC@;s>{aYEMk>||t?Bf>k-zc^%A00!xvz3ruB-{ut8|Hf#U<3l==2@k*r^-pR4j^n zMwgDbB9Ge~;BPn;eAr80zsOkjp4{xR4^ySye-VqweAe~jc6dwWBf=-ms#;CibB&LW ze;9*9GyMHYI8sX~aam}!BXA`l>jc?qH8$wCBX=et3_mIbSx=)$)9Xg!_eR<^&I(-` zMpq9{Qog9TQgPQK$J!ZL+kDOAT(pyWrr$2D{HCqrXQqU|>?M%PpD$nZqFXcopbNqX z1|gQ)VA9{|`e5Vr@D1K81BDM$>NwrrQq8M+`;6Nu?^QA>#>!iiRCbmVl=f|+`SON4 zzUkdlPuO3C@Lqci9BF0Rxpa6M3-yTsT9T+-gzC!fY66@sa2%G+z!ltNb2cOY0J=kR zJG&vHoTz;BlJWC{hgZNd-56$XMn@(ZqU*Kvx@Ly_b{eVU%GK&ncwe_phZ)8U4H#Ms zWH`U<4%AwReRl|s?EfU&D?%PDnuM&gs(f_iB04x=zy)@vJs$^oSDAi%wo@8s5<1PJ zaFBZ*?f$Q>s4`$uc6{MO8FpU%?+SfhqRgi}-vgSB20G)KSbP*}0i@6GcZWj$8JCH! zN|(q0u-5N-VbVvL!5bKf^Xp?Li_)h8ggDMG~bi87-i?)h3MxU8IX1_*Y;zBNQW%KuGeQ8 z%GfaO?%y6kr{TaSTdm;!-d8Ty9{+EddfAsFkNzQ(oNqIER&*pP&v5!-ZOadVTCgkk zDvxt~Uh=#&G#VM?*;(70e>F{F2Xk3l8wY({eDw0rc0gXfBR6?wHV|LBH;0L$!e(@r zJIqg>to<=Cb}_ECel#{{w;L$`_z`rit%3PsB#0=2FA`!(0u9FmS3S?8N_b=@%w_`% z@bN(rDcn0!l1f0r0>nuyX@`$chyx(YDYL#l$yu{q-{-*fUiAy>)R!H26?>)h3Xrp9 z*@WeXl;?e4jQrxNioisOHx^RFv*ULbg)7wW&3s6D#9dkTchlcL+68l#Rc-D6;$^q< zRx7S{%nr0O^HB2N=gOf?J?BM(Zd?oLKCW;0YEdEKs2A_}Z<1{%>z=QCLx__zgPmkF9FrFI5|i*+jv$}WJh~#94o$BwYr8g=KV1t z9I+}Y?C@FxB0_+BePkz`9(U*giuV6IIOPNJAod@#{cARB zIX5)9maFxCmV(p5F+d4dL?7j)1m5@m5ORC}aZvy}$XnEtLV-j`c#m6c}4TNhSJB)1X; zA?lcL6yY!k%{_~1NE$RGytGx$gZ|^MZ*`vs##26?(%-tXQ}iS;^)$IIcECAWzK_H5 zsZD@>z+%T*oA)$1S`C)*x1%$m^4n>b>;~5xSE%%o-4VYbq2R)`pJHGB2@xkqIUoVQ zZ$u#pks*NJE*#$P>y5g;)5#zIm=$*IXa7lH{_r68*<#5@0qey2`x__eEOr8uu?`B7 zcoN=m{pY8jpHg=`KH0oql|~j`yOBanpeG)fjpDJh4ixIn{?Tl-g1gmFg&}+Lit8c? z!WO%9CpX6LHx)PE3E48#RWNrFOvG?2Y=;T~pJ3_*3eS>H^45+TBO9iDp~?eDNilH1 zKxhB&ywGSQ>u;P#waQ90_RX49_8Ss&h$6hVwj^qwpsAmJ<}dG6X<$nV{lTQk`AJZ+ z-D+dX8U^9UPWbp7;C@l3vXb?SC#1ka;t}DA?e;SQ%GWKp82_7wEX@ZOyG<68d{C{B zq+exMh`7wtC9Ct^G9y-{RP`f*dz0GpsN0xFJ45Z*L=B)Xl$@;kGp+r8^(mV{v*qnE z_$1kGs>{=x2_T6=_agLnm-+Nf%|71rov%i*H-sgd^5SbGD&pgp)aXj>tpmz_!hdD! zMgoL_Wwa0w0M)vC^;C1Cc#%_Q^T;XmO@? zoq~VHxSPz67`f#>W%mKV?|#i_FV~F>PFzVH`I3Oa9RvFu%?PqAB|L1Zu9(op+rfCX zG8CE7S;7H!B*Aw5h9t#OYBdLEO9+zSqjrhKn}VETgWHn-P#LRnl<4*RcW>Y3QX z=!t6T^D8hk#Z-T7qG2pCi8ozZaYV{uMTjqF&EK9-o8L%1>X2GmUv^LgUXCqW2;&}B z!P3LmH|kz>*A|Aw7%!92Hur1>jne#@KqhdzD>#OwzX267Es8hSB`?PAz;V_ zQX8Ud=7fX&uR^hGp}|KhjM6cm=i#PSWt8r9uUkY8KjG>!foGbSw_1|-e&2As3oc7r z*+L*pCl}Qa5=l_knafrgwjpXDm?UOKs`AS%ox~3jE^qb0TEz#tcw|F;JO+`kE?uSt z%MN#CC0Q6RJ`C>|CVQVSqO=<6wbrj^7Y`VYBA^QRF4h)bZV?U!#wpW3XV*1x>RV{7 z9Ot)|=L%rMkN^pz-8Fy+QXn9V6d04UhGa+rvxPorxmh2SuoyCVtNn3knS+nuK(n=Y zc94#gTH^)?)!m(^E%D0GUOpOuOciJ8cU3j_L{LEIc(rLp?M2s2*{>4+HsqRea2!)oz*45cziOytgf~Sr96GV zYz>4Nu(h4L%a4sb*XF5e?a?vH8vdr&nYHS@JE^sZwZD&WhyZ6WlKNKIGLiBA!~(}0 z;f&8~&okLLxTq`!y-i^Rdhww1L(*wDicgt~)6OcBH%vN@DBq2b<^NJiaSg>Y_HM0O zgbfY-i5m2FEULUw0@jkc9Ew!B>Z!Lkm^m0QS7|wb%?CLX^G^uCKUiIl^+L9K=WXGu z6q4a(H$`vNi#xJWHOIx(wLOTn5Sge^v57?R+)(qD*3SEi27(&1KyO7?{}*1vyI1bf zX>?KrDPYRF#vP}SV7l&D);neaD(fenXo|q|Z7#bd0k(MUhhhi=lm)RiH{mS`MpJyr zMmf9|;?7&v3Y-HGi#>_NH5>q4}o+z2vhL6BBArG}YF=%E@< z8b7R@cAkYf)mSNUXj`K`cM##o8CQc<_PQ=+vL=tyA*>*Bj(IqJySMQHfz@h?Yl!m{ z<`dG3OFtsuH?mq<=;aNM75tg#%Il=&&ME>Mb<4&A*ADePd@MutE^Y(s90P@ z-Pub;`%BLl(aRnpS-e^vDyPR1CsY?& zzfZ*PNik~3wdyobMC4XBmQ)c@*d9U*c z#0NOI9*+(l&oQ7_VsmGQ({wlq?U}X~q+!wJaL(WJzy2Kp9QSJdU!8(Ha8qSWtJRxE z$FJbHqHdnNLi6^=xzV;etIT&!>}{gCljkAR3{m}>w2Ku-`mu9u3Ru1eiy9T zEwpG%G}sm#4~}uHu%Hd}y{Bl|)vy9U?3n!TW|Qu5w%pJexln3a?(v~7J%9fSwUDZr zwP*Y8@KuYIVxo0vSFolX#q85VlB0}67mR;$IPxg29FZsKhA`qx#v7sE_-g;dF|t!C z9J{1P!Lr5^E|x{%Bv6r~z56upv)}!8E=zKsIK6(k3CabN%D*dBWVWCWVP@sj#eSsawQfdrz9{&!{!a2UBrvRo@t(guBm3$1tS~7(x%D z(+IvCzx1H%mGNXe2gNGL{JT_s8G)0~qKy!X&lL4TrFot2@WNlB7yI6vXbLau_Pfn8 zi&ezbJF0sGGAPLB^PGsMV)fSW$@?aPv!9X}&$t*aI=8HeD(82&UCl@(A(6&|wxrBd0ji;@r3I3gWVem^!_KMdQFObBf`*reWoUJaC-@j;9DMta)e+c85{`-po#>m?$CDmuN%*)scS&P zsoW5CJRP17$Qw<5<#Qjxi7^BLk&JT7pA#9Xv2ky|!fh($Yv#uYE!fbo{#4g#niG^E zD<0{@wsLSO{=NnBJD_6HG=~-y&Y@8@sL1Sg{}S9ek{lG#+*UVsI^Y)9wFwB^Z$2w5 zv_TS3M4o~u`cje)Zf$BWBMCu1dk<<*ao_-kpU@VG;C4*) zd-2u#FOTMioD`0vq;gV zrA9xYnM&=V5ASyUcD(63Vxg^+OT2s*<5+Sr)T?oq5p^Sr*P2mT6{G~!PuzT&Aak`~ zVKYYsK2iIk;|Kf|BbqVJ7W*vqaz$xqt}~YeoLf~aDB|<@5^ zvt9wbf@JKd_Lh*>E?e5^1Ch*1#bP>!rtg}flKC&{pZ-%8WpyeiG(8e}i3@5Yg*vM3 zav%D>c11`L#Halp@ve-9+4{bMxyO|k#bXnUM$Kx-u!B&$j?K%~`xQ{IgT6Ot`(MDM z8V>|vhxraHK~)Be>wfnqBJ0t(*pH&N&(+&LJGyp9p(^o~B2GvB<*RnhSDiuvety3; zn-%MpMnAFFP*&y2=-{pi>@3ob9k8`=b&Bu>;Ain1J5S$>j1uf&q81?<@#=M+Z zo#pu9%ngz%5TlKUgH!fzjKX3$*cOb^?!L#yc1w-iwu*0oiVUjk*ipb;STf-Bn*2o{ z@SEafno@%!t~+s(rekYt8U3J}68~D3a6^2382+c6;k^9a^_xbJ5Cc})2yJ%zXZycP z;(1qz#484KM>Zcbg9Ico5>Hh#)^BPRe%ZdiTXUz5_d|@hx!$wMyWr41^N0nb7R*SA z;o+MPM|Q^R?7t06bDYg}__r}poZDu_URunx8`--X#0q^4xTS8Kk%9w>@$*3A{R#h3 zf~uPBMO&WmljD3tU`YKZxl$-o{;&fM&pBg%_mwMO&wmI_>VSq~hRW6EXlyI~NAF)L zBjNnmR^$(8y0a2GSN`-y|8}KhH{ktZZ~yw){sxts>;I`^cxh#zmzW_&651slJpU03()EF2 zlK1|C&AzrsiI`34Ijc~emQLvyRDK5`pqbKg)}T76pV2Ygq5bjdOQ|30GE7-F6>s`U zq7MNCSU$eISk-HS#qpO8tF3wKL<6r{93ck2Ipx#l#|ArGx}NDK%RK#phUn0W(pu%J zACl?h!<|#A#XsRl2%{fDU37Myyxz$;!2i5GAF^ZG9Z#lQA#1IC+ISfD`o-b8Jk}k_ z%HLUjbyhGswL;VWiS`H<{R{Phck)TMl+^D#>~@C0r?67m>WUI6?6Hc%p8<|(Z3Y|{ z$1`;KrBNHmK#joejC-3jz)W~i&!owJXd!szBTI9N0r)v433@SQ#(U4ate$1 z_`yx{3;g|NB`w%0cbvQzqnv0rn~lk<>V4~V|HB48+AqEeL9^Rbe${jgM*^z1|L#lW zmMJ_4y@l?O2eFAlz^R8oz)`wG!;|b4pLa|8O=Ell^etc@GRRT=m`)+U$sdGl<_e$= zZ=8^Bhc-JcvxYRMTbTsAULa+jJsVy>YX#6WgFkQ5{o8$n~`Qz#OU9- z%FWArxjp(m%a%P^IgJSit-E^W;(EHo{OwzTe6|3FD15L;-Fe(I_JX* zhG^K2TwI%K_0xK=qqaKT`D)|ENo6M?1_pVoMBCu48=vkf9$BK4Roz#Fez3ds^TWl( zm76h(Mq+0Ree!5tUY_UOF}v+r)6kGaPPkZG3${4i68{*IU)V5dD9Fr_Z-XJ9n_q&_Da3VPM3> z#lfuC+0p&sbY5O=uKK;+6tn}bew1%~p`~A}y!nB}Y~e2(LhD7!3+;!q32BNYqZb%> zyj%5FW1lJ%LsTPr+KwjQ-eaBQHU#A)lhTXRK*X<+t0-@qz03}@dK&IMNPrUO5%118 zJOQ2+zR6K&W7&$^En#su{>MOskD@Fz!&^VUmD*X8b!gl~udb(!Tcv$u5uKp(MH2f9 z!@=LdIJuHNt-{5KgI4XjK@GQy8?4pkQ2JK0RoOt-*xEs7t>p8lk z{ZLepgnTO13ZjXYX%&7uqRUt4bkJ=0Js$7x6w2VdYLjclb{r(zHR@4)n;WN;%fenS z&c{fJx6ORsJBYL}3FycJ;dB0zjzLk(NUZXHJ4O%VvF*Y9Z+IT89n)(^V4M3Bm$7pO&yxLA6CA72UyUIUjEPr@JHkEEjIw*?ih0?|W6B zL`vaVierDuCcA?w&*TZLRtNk+2mq-U37746!O>_kBX1@+??-|h5^(GM+vWn+ue{u! zxt^^A8>l<`o}Hznq+DNLqf^QW!Ii%B8#0R=N;dQx;;3udRKX{JBYqz~@Mrm-E3rLv}`rut%koVQ*Oa@iA8 zQVx0&SVmN@o}I1K|A~sytu_pvJ-U6?Nb(L}Z?IVfuhv9bHC2Lxqbqu?hKTU+l{WX< zb=yHE87d5qH~AW{$ssuF{QzvgsZqYL(ia*W?0m8D*5wZcPW$1wQsIz{b2^v+JFG&12|AMI!Fw2AD-zkePl!hYhR)ST}d`Mh11H*5)zX8X;o^4b|Ut0y~+g;vWR zIo)7+Wy7q>6Ry&~JceA7WOu9~zc_3S4%YTFws9z?_!7ha(tN#=rtb8y)VN?mN#{g>VN@v_k(fjr7Nzr&B(8l4wq2$U%S@6IQef^2q@{4QkFRZi1| zAx!Jjp2>UiCYVkhQ6-n{mGRcW==0TPrLN09dz4F?iQj zzivAnrBPK_SUy~@3(ucG)*UP6LvtkE4=x!DJz?UkgQc1W`e-xHgV5#LpUz@PED&{)+`TZt3eafuTc$Vw$a155)gvvXeM#f+ijhii<_&KIQf z%=bGT2OZugZx<+3*`8a$1xpL@lH`r6RR4QwSR;gpA5S`@(JIWR3c|p+qDyruBp?!Z zLAxDq7_40oGh!@4xJ5O3C(+ABDlc3unTw2|I(3xV-$e71{u)E|2DOB#eo95%FwQ(6 zaPOB#QdS5mIKjYBV_|V|(Xt*B6Vu}XrjV-S_-5G32z!7@#@3cWcC=^S8GPsil0Srh z&d$HpH$HiFbn6#^%SwYV+KeOp&!0ah9=gRp)3USe*lp<%8oT%(*xJNRM1{3BYqs0KQJ z&vp-L7OmpSQp~u&AJ?){<|MqeSfcvqiWEZ3Ff;bEEwN^{!b? z@^D*ztF)N8*9ePbvD8A4UNp+003pkZWIRsNQIosPE3es=A{x<7M=w5DaH2y1&4)=0 zhuW(aBK{-c8LSWh43i%!@W3>N1L5L=vOAM7(!?x($EELRHS>1yG!0Sn}234J( zL%h0NWGXmqRo1FXTm*J>@u}S zz^Kpv8pL;2;vkFO-r%y-3%r>jEaH)jWV5DZ$Hf<2+c^#?g;X7Dqw2A>DY?j%hS(dg zIup?_xd`f^A;hz}B3V3ckhs;Y2aD5p9uC{tfzXRmX3RAQ)lmfEAQKZ4q+UJ>m8lbO zdxzY6%xKr<{o=weWq_@kI5GeA!rUpd7At_u_uY#hp@z=$YP%m7aeD?%`^zCUH{#~o z?&0NDZ#}mtI2^#i!QqTnSzBBC=g*%nZkcjwnwpv~k2N(cdDH4IZt=svZuZALv}K|P zYrzVSIP#N+!cf$Lf&!0=Y~T0lz5nK`+u-d02&qr$MwXnOSEskmwe*;4YG09rL_b#& z77^C#_oJru!?!&y4C8rFA_G+NIvu}AjObLa|9@n?byQUU_dPr`NQZQnbST{+-67qb zLwAj&g0zIB2uQbdN_Tg6cf%0R_5Jz&{(3HJvDO5aJ9A%g&ffd%14thAuE6hL>V@}n ztlPKE1pJXk&W^=S+A>Y7HsIx^+z&yv~~MSLOcN;ye+ zq(goQgE|aqDn|bPLbOspox2E-Y&qp%J4*Q4-Nm!0YNkoHIFc4s_nU{bJts`)7}GH` z2H+r=Am^yGk&O9#lQX|P4{B^cp2;HRMZ}v+;O zjp7Cq>yb8U+Ht32gRnsM`7ex1E$2}ctVWt(M%Rnh2PSjo;To#&Lw?WMtHWV*=CQ3{ zEA`qSXU(8!jr9`rurMTimZvhlcez+M$5ZX?Zy&zc2ACGwwvgbtImjT-&#z=l`Wv3(!xrVB$u zLxY2Z1>SbM_>cb-uLrM89#O1(Gn~9fkkc9aRVGNKa&+^Jg!gnZU*X{)sM0+s1QA`p z^SHshFGg>cikkYDWCTWSEG9a-6H&frqO-qTgD6=*61FT4j2M z4bC}sVhzd2VVxISeeA|<29#LSC40z#JJ46!0U&UBz2fHpavPysc04p62I4pCS-QAq zdYAo}5tJoEMs5tnEp>j(v(~NzhvS=PJbFR^$){SE7kUKhWQw;}a(s_J{_9ontVR6y ziEiaB4$jwd(v{hqlXs%0&Gzh#0q>?duJ|m<9u>V~+C5K?YY=Ynp9_X5cr1oK+Y88` zJ7Vpyh_-I+8N{kI2UdIwx;tq;^Z#*#FCNPYxS|R1@k$^=s;{6tDcrHdvv&_!nK4ey z>KGs!yqQ*n!H0F{__!7dIj9HOnv9Rf&Y}?IHjpmDhQ7Pl2B)r>?e|l$$L_nk^*DYM zS~ODqp6)&VHX`0%Bs>GGGD0w7=puNkcT)oUFepM((8|f;Iu@xCYl)rug+Bi3w6?Y6 z?wtbhw|mcv{aYo^FGy%t%mRWpQENI9BF{BWNH-_(#LFiBBv((26m;`n_Iih(&mRJh zFzMh#>YK>_H|XH&ghX4PP+qmPGW2iKYPIoxYvE}HyLo39?*w`Hi; z*y|=oi&LgGRPE3@g#y?^C6UgZ+|`t3XB$6P|6E^R@9gYsO8&*b#KFPA%v@5A;6jRt zjC?+rPI1-`A%q#1{ILh*Z7=7ku8l%`d=0lAaRU}W(uUQE)Jhu!(PTnLMlK8(3)W!) za+uYxQ?*|SzJ6S7_cO#bNucfO>H_k~R$P;O^?|*s*I_b!r-n1l7;8MvtkjfPSmJud z;o)KA{drZp(V@aBTnt#Tw{(U-n!PirxU7!Hckj+@vq~k$Rx>+$9A@-JS%#L4hX|?g zVIZ(e7+H6#gnebT*(^^*%LA~GZS}vkYxwR*O9ew6*sh z5B@kMjp)CK=)as;60*GDax^ddgWgcEw=~5+KauJ0@qWW zMSGJMT4VyIKpOJLaWU@?rQp&7G%yJJL@%PD2E#DNhY-X<=LbHl?$ManhkBJiKP3wH zj6l)RB}e;65;GFaUJ*^(Fpzd!gn5snRaU)U#7?NHqhMF^XC_%{h4;9i;i4iar)XFg2r1)ARZ)KyW5U7x)|cvZ>1}|Y zB14IDiB*sD-x7q>XZ+Y2V+!muJ3Bina-oBRgYVzJe^F$MPfGfvs;WAtW`NcOGjtM~Pu8rW8Cc1dp zL$4ZfWFQrGb9HTC9494h?@IhpktHN(-~ESo;-o`4WI@0ER7DGRBaxg&QP1C|udVz; zcJ}mk=koXWZyveR`L90Q4HQKL4o@S4Xq+A{f9}G^73R}cJfP-=zU9TB@V}@fa^0JW z;%VPV{9Q?I-5J)(kawW30j(GHi&>*>ihu4u+>**qXdbx5{veX-Py2VdL7^h}7**PO z#PN-syg=+d!#AAJ+5>i;Rato&keQIk$|}^mb0_J?(CrS)mrs0!1Gz>Km(n~&&e^~3 zi=yNJldvin7?`A{sTpEPJmS3Sl$4zbEFf!LPWZvQn z6akeMy^UPO0kQO6V5hnZXL2v7tMk9($zxg?&VhsQ+V?qI?%n3*=3#vI3laMHK;pYs zQ}pwEg%mrM{z*0nx%~TBQvORX8^{syD~mnE3&_x{xjODnSKwX~5L5LL(ze#N8B4_A zWbv%&3FDe9x3H#K&7;gQ7c0}Y^W#+ItMbz8J=j#$^|o`>mTGWZmADXHl42P|ALLzg z5<5UAOPf1XnIT*vvy(!4`vu>lP;nB&Hca7ZrRO=3z2YB0!W9cf5bQ=Oqhk$O+35%0y^ zBk1u4*4oPd7u!$M8jf0q=gZqOtxVUM28$N{z58g=?2djh1izd0v^9)XaY6vL75a+y z-8i~=&xfP;o464qSTVLeRd3J?bn%?db(694{M`2& zc`Uhbn&m=M%#N>6Ry>W2K;~!@I5cGIK8{Lq*s5mbrLb5TZ#k;s8&_YS#O6!f?)}Bq zh}9KE7B#Tz2fe;9GBVbdN*ZoSN=i0+93^K0jjqMFIyyQ=GX?#$KbI@D=#~A88ca=1 z4ez$zz6ncwr_$#C;3~|+35&_q0X(e|U;7#m%fSoCZ_&Eu*-xMklWj=4R!UUvQnP9E zz#KvZ874PAMkoTpBbdtFSG;CIPzQi^#A*AUMvaXMtMgnyeJ}-O(fFK5SG~8KXI^1J zE-jm+ z)MD?8bWU+~5TZ~SiK083nVFp&tw&e1BF@`z0nz@f99%|xyxKc-XKCr)_IwziP~7+j zEc*YSe7%j@!geOzyLtfX+MDtIr~V>+MRRRzDX+19HN=uYC+0FC+&$RJS0SP(-_boZ zYzeeH3g~Tb`RP>8PMfoGImi3i-_cM-ZEo${krsPX+p{@u_ zOcazNdvVgf2n@2~2^+h6-Y@3n?=j(YYHa0fUVY)nk3>dn=cVI_BfsfDQ zzCXT*nTUvpczZNgal52jG;;_bRKEM(VG|-XJ5^T5I1M=rzF0Z>i#R0sBA(4Ai0v!17U>j%6HmuoM_OW zI4US`$W<&+#WJ5tUe8vcrdXTpygpwnb*`Oz?1Vyihy4nX3ZP_YeWt8$R_`iVB-V56 zmfJ-zp9l2}C@}szVtj*8XXN34g8P@Z=#}b4PsVc~IArW!R4=L#oojjj4W~rJ`L(sz zA2Xn41GXGhop$}SDS$7SesXRYWC{a&cgZ-Z*pN_C-9|HYu{@ zX9(Ysiq0VYP#H4s*isqv@H?@Gi%96GICYlUK z(n&@jM1*lBdt$Qc6FxAP<9Orn!TItYdjp4l=W>){HoE|s0mBb`8Om8ENw?#3u@tC> zuPqPz<`1!m$K}=7*ZoNieS)(FyB-ew`#(Rp?Om6|0vDr&?RiN*Oz?T_{olSB=FQ!K zC-q!LygodvSTduBiSBG<1hnKV>2sLx?(PoKfdd-)sq5$$d%UaC>aY*&~`1=**ykx$XM-0dd1*p?diRk8n3;R{;bx1eG?o2-=qX{qbTNh0g` zY{j$3q(0n+7WU@Qef0xdHG)jiZ~aaZFATw?%Q;s^ye^fG%UP&@;R=R>XaqL)Z;udf z<_8kPe44jLqEp!P=QEnx4ooD5_TG7+aTtCX@+qZ8Bb)T)wveXXg6sMj`?N zuRCyY&hV7q=%JTioL}9sNheavGTnXmk0Wy36!!M#RHfCR>vHq$ybBnFi1O{J*x2pI zKSZ^56Bcm+haZ2Htto85s`V}`@%JWVNJO-FxvlP^3xeO#(-#n=E)!xE`rYjpJMSgy zVZ*cJ96$BUQD}H!l17#g@@fA&&sL^#nmZK9Br)GiGK5l@(Q98<@fLqQm{SfC+UyjX8#Fm(_G_ zcn>BBcs92d7VeMb;R3Pq+qZ9T`Yi^BfXeFtVVw2jW1v3(e=DPxuvVNn@>@K->H7i# zZo=Laq#tMHu*emM7~cN%d3{xSWeW=nwXY{0(e+Cw9>la>e55@+JsyMR|3F91fK1cW z@87>ao_vNUcW^X3%Pe`_rWv+{@MozJ%Fh>mvajAAcItayRbZ)!1=2Qp>Isp#b((J+ zV$4mL zN5&NmQvSnWf$Ebzih9!Jn~`ICsY%Ee#K8EGv^VmB_jWfExq@}4!Xy*-{3sQ>gX7h3&ayY{xgh1aNoBlJN;_X^K2Q~o+SdLU6DjZ|a777E z*bFkSA!%$lMs7F|T=QYKbfN7f-AVgN%L2Bk^d46xrgukk+;i#%kfV|cW|~t|g38wm zV?}g1it792;2>Cd^6G3(`n9_$&-U%}>7CMCwxKnIFocG3k6#n}zYGV!{At?w%gy7TMH^HCnm>0E{J zGgrq{fy(O#;&tUr0gt2E=zr_CW;6H0Z067|O{~kl;B)p1JWL1bA)#BaBKAOeL)1_diE*N%o~8kfXmP3_V~^pqdkAL*^fh-0DmFEIKmi5g)sqX>RJAxuN-$yZV69K?d&NdaO=~67 zo*C7f^;t%YM8noPCRqe$Ybt($qX}Lx=Se3)EP>^wRqc1~M+L9KCV22pl9KfO3Op!K=92hFEC$*%q}&D_AC>wtmqeR2nTu&i<%_RRIw6OpS` z2TkzfWBFl{zdGy&=V=pAdtJorDAXLc^n&ZV#|m=L7JC5icE!`&Y2T;w_pN8?_6dE3 z_^cy1cUP!k?l9{v<{kfIuFKBwb0m7*w9?K{>%6IdD6)us?{cV`0OHX&*dhZalNHaz znGM6tT*O#arWB#=qCxx@V><{O92}6s9_dB?Duh5FK(^b2-_0?+w$^Ti&JhmR4Ke`j zL*f1vr_@e^kPr}N+Av-ri1Sdd(pE&BGOalkI8tKbM$?A>qI|&MBc)nLn9XqxHg|Y5gWp({+i$d(hCioM=0yIVjW-rFv<-X+R9MQ71urr$ zaE)7?pNGhn##mA-ZS1{j@`u;|+Tf!UH5d|9<16VmIR=lEdVTm}sis71j%Kdgt;NmC z0#eaSdh@~hrHKmR-Ti$CPei^qwqx^0?kQgf@Mp!yizH5Vba~O1>oT&7G9&+>Mf)>4 z`mqM@U5D#q#`dS#9<3rbSqA1I2{h`^H&ftjAv#`=C`7pB>wj1mAP!m&31i2!n`#OR z9cc09PY;Huesp&rQfwyWGv1yoSQ}*t^H*9@9+6uNOB9lv&HQ7A>%C4To5gmd>|2F$ zUh62x(|k6dD9c`@Iks$<3!|){Q1U#!wq;>uHET{`LfY4AHVOpTM_k5psM%vG^74=N z+#UUnlBGxl2sNkf75^*(Yx%>J3!u&19se>U3VK#{b`=$se=)bk`}~3e;8y!@^+t;p z!MxPp!u+RXf+k)1K>^Q6Zc*{V%kDv`z8T!WX9gzO?Qnp80!br=!i$$EJDIOxOK@7G7W zJD~of#$7MYR$x0;eX*wichQkDTahNRf8Q(2Xa|v#p#EN0jguY)a5NI+!Y&siaG#b^ z0=>^Y`Q^ldiyJ&PoL$w!ksu{5j1_eb$9;VY;FD+SXG)d+57p+t6^%FQ44y`RiXGnQ$f%oE4@q^5Uj0%PX0 zSf>{Kcc(ULRD9fba_nj~)sy-qO};h}gA2@dfoIs7#EJo4mKM~zW`UG|Ksz?-;KKX%ctJA3q7`=?0MmQ`c=aJ78Q2qqYS{4@)NKEV zWBXHOQ+^E8i~iW}XT~x_tjxX?u)^u^%TFd_YaoLt>p%>)n4EHuR z)IUc)SM4h;$Hi?l;#lskJR-VGUa7Hj16Y&T=1@6(H2(U-9}n2OPi z4|D?ka?)r=Ypm=iY0<@vQy3w6PO2%rN=q%*t`rC*6_qBS%J0T!D(#Q{7QAP_4;>=@ zCjLfOJ=S@=*fEnhsYpil3H^QZhaXiWb)2R}ZHWNsmV;miU!X`jWbM(Smm@2Jh|3=$ zOmpB$7k(k}uI)~)A{^Fq8&Y+${O&gU;+*_!Q%c*(sEfvLESvL>!dZNc6~L6!ugi5+ zWkCuNP*W5SSg$KVl=66_+ySFcE|S@(b~xOHnZ1TaW*$4=Q*!s3WT3LO0extnd|WT1 zNJYw!`~~(#r2Xwp#^&^pI8ZLU-hd6|dehskUiRr(n_8E1FEYCYzx35I{cli_QJOPG zwg+;K+>4>1VDIEO$0r~WCdf>J>yaXB+wxXa*Yg$z<#BNapYN%o*=^?t1Z?Ymb;5s) zgpx~sPPAfXV)`tbvk6qf0^QBNn5O>xNeL);io=2!B8&ATr|tc?JJ?c=umO>VNWdeI zfBr7F)J+B&ahuPT8w!)F7!LVzcX*T)%-E5M_%~?()Gw%B4S;-Nn%Uw6fs*rK!nGe- ziPuGierr!buL(m{lU6ECyHZmL&%W4uw9l2F-YpuTS9-zU%W=*)o{4miP<(U3z7An=2u6z%Kv8}T3zT4!8#5V>>U z-Y+_mEeaobtdlyOQnoa@(E0dQec!PF4;zhxaClTqntYre>9HS>LEU;ZGROM(G`*DJ zG}pV4<(!W*HPGzkyF_{ZtCI>dQ{Bm?u{|S(?=AQ03i(V9mwWBXh#=~|M&Y5hhlkDG zvc27w=iAt4!>`ssMi)nnh^E}`=4#4_^7QNmUGEirRx@X=+C{a0!pBL)y-Sk&xSA1X zNllaXSlGGtWH*%#60;Dj0y=7?kFpw42-!cC&d>~GWcL$Jck&GFgJGvjV z)`+sKt$)O7npDn=^s_&H`dfH>9&UN$#KHahNB*4G$V1Qziv9o70w{C1O&(n#y+_%r zdu}-WQZJRef>AT0tW6>z!)HvN^wk@g3gq0z82B7}lV27p!olV{* zEsez+y!=<$dXXLMqE}kFc{ic=Q$+>ibhgo6nXJuRXeT^sO&8r9K*XK=>YsUhk=I1!o)-@8rU*-wzc)aVVsmaEWH|-w-6f698Z& z7xuk>e0;eaVz;aH1xQOgDaVzjPi3=zP!irsR$<_Xh={-;VdOC|F);Lxjj;n)PLexg zhlECW{-qW8uwfDt<%WWhzW_zj?%CN|dr%NSf;%qN0byI<^P@0$Xy+1G(*3r8hz?No zt$^=}DL(Iua8G@DR1nT@2J{{h2MT(6Lz- zRnQ%{2?Ny=L<%OP`I&asEHLig`nal+)OJEm01i5hq8;X!!)pIoUBsqE!n z><)kOgF&)Ii`w7BK_EYmxrAr?U7)%m&<;k;Eg1zS(Z%zGSrESlbZ#k6G4brf=<_aU zzcG5!#^MtZhv=PiHhKG-?|Napp&r?5FE`~$6mX!QVmVsKlw$c`BdotY&V+$FLYb0C zBS7YZo@_pDHwL_*Q1ufTGmx0hkHBM~t5YKuC0$z^4)}rjANCgW%7e_%MH3p+IlcVG z(!|EuTPLUL3k;~s1%lPh0n!aOJ@W$v1F-+lBnuoU#vBAf<^&Y3pFug1k#C&BO*jY* z*ir^8Iyt^sE`0lj7OLt21#Cdh?hF6ffGk%FFIXfh@w86(VbW^a=AZ;4;Hjz}M?TJ1 zYENqikiTt?y@5eBkz$cOL!k|&&AV$#ci>qXa=dzRNu&#>JqC-Z?LjYMyDo;87t;OC zPJcAE^GoMe6&A{3!G~hWB?yg0y|D50xvbV1wcG4%Zv+17YTtQ(y9vo9unc7#rO4-h z`t%8_^Y?FhCqN@-=n!uDQNJ{Zaj~qd?B?c%Ek)tlE9SymsC6EQE~0x!1M8PoqDHQS zq|`7Xwg89~cn_XbqXApR+K%VZh;r<*(l}F!B>STyPr6YB66g!3a={eIS*>jv*v?KM z@W~tC9#aS-x~OL7PRx#O9=G~pQ&LjAE|yMivo>q0tGi!%2rry0Y8IMmd+v*inIeCc zYL)E2lba*~q9E(`zb07FyGNq%1GA{w;O2R>E>c0y(qF$Mj{6*VQj(K>g~*-0^=(lh zcOHq(jSdVPm~WIrK5LbDO#N4g+*BBWf`M_G?@Y8yfhw1vUc?2F2NR+phWs_*_?)9v z0>>b_WIxFqik2myHRXLS8-|1!otY)Ac`B^ih5ffGC7<Y#5E4m!>lzpz`M@;t8ig z<$$dZXe$UeyHkaIs65u!Sgs=Kb2H9Xz63NJwx5`Iv-QsMsPm4S14^$~Y(0B-J;~k!brG_0mSZ z6qWGEFA7(cCtH0mv9s5s`|m|W+CG8w^by$O4BPJBUO+2+ciCnG=tZQZrHzY=M>F`{ zhEq9VreU%;Ogq0bYQTD@+$`ExkO4Z;_A&zzB8*_rwNTt&9=#n-Q2Q;Y)}&wQ+ak}e7@r2A39vttFa_37zp z1!XuztWcl>7%!s?P#Stwpvlz>%$NV}$qOEQ@&yOL-bj@1UZV_DVoS=zZjd=zD-$eW z!4Rtu3`%1h^QP9$?xjq_Ad{VBiI>(=RpgP2?c4Af(vorhe5IV7jMLVeYrI8}07MQq zMo2m=prt;6j?a!|0E`Y>0!K4V6384J23>}hKp~?kEZ5SL9AQ&;#%nx$L z7}!Akhl{%fCH%-*Z|ni_5Ln6AMdA|?X*=_Puv4LP$R$inO#B;4@bf30yxiQ+j0-~l zjVRzlT*<(p*gsUkeW64_28m^~((b9|KqzSi3?$5bJOjRhkc07XHEFq$t>==E&r2hm z7{{S7sKlCz=1LZJeVp4 zI(&S5fH%MJZ1a@^yKu8W2NnnhSqNf1whHjK0sNsx6`~%8-_OjkwgSc;(GVp8mEu`c zlo`KG`yq&cfB*@&A;3fqD1u{olLUOCO05!f6cm((sk%Cz+=+QhPk4I>=ZXlI-vmff zUBsk&{)IEAwDmw!E9Ng_2GoMiBJIx~Ia6^wQ1Fr!)96q+XH)Zu5>6h;2e3tGf!tY~d;WMU$5ZmqMhyE!ST!8(VP-Oj(u9=iwp zqhxr@dcRwE^j+tfj666xmFaT^&Snr=HdlyP?|s#afvli?#Ls#kc-^7OXjjOWslQxE z!eM&7Zi52~1%5zv&aW}*s1MNJUy#Y(2OUCU3Ph@Tc1Zh6C9B8dbNjmOlQ1+^if{`Q z(cqC8&BOCBRMbG$K7Xq=eF-4Q@}0eTF;Q9?thERW58N!BOD3kkDBexj?X-umzYj`9 zB!p+$K?rh0=g7}|p!nfg$sZI|w!U?{W~>9}FY?kvY~tD#jt&q7z>z6~OHNMS(Y&7N z_Q-ZnuE}(R&(>u!`nv+23XC|vVz@(8Yw|3~I~s+CN%7ug^yzD4h^R&5L3v6(i|OW- z%IXrkW=^yc;rrd{#;x2~vH{mhWXiwu4$cbSU2yZhLaILqY=puKDWQW@cJf< zBTs-A{_^`An5#JIkf`76)Q2fv&ikmWw6p0F;LnMAOmx~hKCFHEgUI?gcjaY;hK>;> zms!OjKIy%wC^@Gq*j*D+5wQ1={zv`2fNlS=R1{K9u4s1MBrW`x84^8)9|-{X3c>B@ zuw^Fq-#1o}VQOFXNqq~#NloR)bZT)^wy^2mFLFa7Ry#6%>;3gocP{n8jXUdqL%5WXlAj|}lz=Dzr0Y)M zWNLtj;`X(Z-!PY6xm@6OF^YoR3$0}XnzC1L6XavvTHY+NW&MkF)&n=qwam)* z`^(Vz9h-%h!^3BExvQ+l%eo&aVS(525!AvHB{9d1FX#I8&wERDkolw8_V)Mar^22> zc4E-7QCaEbM*7+pXfyd^we5K5k1okl+KI;#680cWD%fpquXfq#?D-|dcy)BVMbDO+ zQ>YobxGEO%3cf^|NYE*V)PtcH*x_7t2pnkBKaQ=x_Dt(X5YGiIS7N4lZ8en)5j$@Q zhIAxVa~=id8wCVDxyueAS@B9hohsSdYL_pF z5&nx-Qc=U%iA{jaOXk1jnuY(>-WD=8Qz{__g2$4G%M-LtXd{)FzJ3%57Zrmmow0kK z1Oeq|r7*Xza3Dy~i5c5de$gABv(|;Bk7BNdlmrN}*bvZj96P;X8cge;gICH}YPy}LE_nDda}bu!+f(Wj4w!=_ ztcm#e7l3SKF%6wPT%E5*FQpBKw<+}%e)!JnpG7a<`cyGl`2YF#hlBLklTg_N^N^Q5 zxpaiJUY?N=o;FuBF~zvV3&0}t>f1c-mQ;8~4DOcmU=DBhGzTH#nk$|gk@c%2M__^5 zfu&a|5J-F-TL!Hma2I~0e#~J9OJYzp>6@Z{v(FEnhR5!?ik8~0)sZ=pV}e8rh81H| zPh700vmNNNSaE_n=@2S1OelP^r5bc-?0XHr=$U(__)h^QmUAIYY&2eCv&< z>Cz|+>*ErJd~Vi1eL!+UN4nveN$np8=50^?>zYnrP}^TFCIKtRJ2fzaJ+TY4Io3vG zWucUe40p_h6=np%?7wj4fYD8`0*{;`TYd*gaS**3kL+QA%yC?P8sgUSd+|%{O?$puN84(*&lRT8pbC_AKy)7)VTi zpoCormaksDrI(6~xcqbReG+dO1rjRxQUVEW{w}NTX0hP)U!x@rdl)gH2#}nDoY&-s zCDBxJF#pr@D+WO`?Urp8E`*v-oq%nF@FTW-F;tG?lkD=A@vd-iT)u#xLY)!YXIO~l z(ce7^{!z}Xn5s+Djm1$4iG1~h$c?Gq)576bf@qz=qBbzzTw(h)Y&%b8`3k`*Sl>T_mL;z=@UZg2~ z@huSpW9FdqX9kxJyhJsZ(&1A>*NNT0Rmw+3GV+%I6FxqNsRCOODjuIE7JPV&@-9gcP`dv z@NL~yC-Zp0K5-Jw=l;O@ci*3ui_5G0vTuTR8<9IHO0xP*mRG2_W}SV8cZ+aQ8ho)m z2*t+w?T0aaqRBBv0bQRG4V8KG=zh~sD5W>F#C?|x=dD_?_QG&`Za+(HHrr7;JN7d6 zI>Vj9?Rk(|HLa-<9>e6%V1qCAY`F{)rI@d=>|3pz4-`NV1IZ#O8_lmhuFS4vgu=&# zdQh-tyg#{6S_)iwS^TgRWv>1~-KMXxRrka*U!Lx?j1G0C_haZCpl9|>pINbOi}kun zOlF9H7{?>eYVRZDT^laYp>sc#i4k z`Lwy@l!bG-F*N3|p#3XusGqz-YuiQ7v+ZWm^r-R(+^WkIjzG8UeJ9DQJmu>R0;$kwq|<``8Snyf#WoHl^D| zrj>E<(dIS&o@Bt(7jU$Bg@L1wAzWNEFn4wlru9}8lU+B6zOl+14}}M`02Smxd*SFQ z(c|ty+WD?w|ExVxei*Rj%lTQ#RY`H0f}7Yh6LARs3OG2DhJw&Y-;0@+E@&|3P=a7d zxDHm!me#U(g(PqVeHY_wQmTH>&P^uQYP@D|6*c(+Z*)gye?QRn%y}_H|>BArta6E@l zh4i6+L9Hk(XW-Ycc|%fpc^MBEftJB3RM%8m8rCa_`d{+sMupAYA)jBJLaULlZd<$9 zM%$rR#>2(M1=%*pod^vJLvZdcEMx#0_54fyfRqkl8UzPqe4w1s3bDTK?)yTRn3$Mb zVDW7^8_HrzVggjs5P^=iy{cb;!YWa2%H6;qW9bCrJ^=$A9UT=FYHtIff}e48&(!6l znth(I-C392`$K!j8|Dhj{%FF+09Lr}+|iZ_tzEvpC*g(ZXmnV6*=sr}*jX`5#FC)Q zA#Qu#JW820Zgf6hWk)@BcRpU`S6H^`Q)uTtLjFuq@4D0SSGn~mslEUNatt>F#B4NY zdE`_b@z3}dr@x`yeCvjOtiP7kL&EpO&q0(9(x9 zETO$WfZEhgp+?j7bS3?2igyXR=C|_9UQQRcp!4wHC%ELKctPqBJaKKz6=Z9B)tpU^ z?E;zoqSRMUSYneA{?4vqnble)P=V!U|(x ze(>2CV_QyNe)S1_jc#w8!S;D{c98Y#EM@D7;D2#aWFd@|Zk-ppv#IGu_OE|52U;nH zv$C?X3Gq50wLmI`;rXE`{F^@$XB`O9?_IwDEBEoS!&=|Zxucqz8X#`k+uMVRR7^}x zs_W?Nryw=};vSU=khYfAi!Sjx_z*-Bii3lbH(7q9zy%Xb$6z#qf~>RL9ZnS8sB~CW zwfin8%CQpLa8wpR8muwP;l3Rlh_xN6I}F$wY2Y4C?&|Ti6nq}g-s#0nuX3t7gb{N9M8JiFT!$fsfceD zNLS76KP;?(#H5^UDkVC7NFA-x8)y}VG{tfLS_u1DF%-T3NcK_uuPyHqsiF#|vh09_ z#PoX{{u3*E8A5U9&S2Tx0nfU(R1@K0zNLsIUYI_z5n%{|ie;xUD#&tjl>#5xsJv$# zx%GvFU_o&>ma?)~=sG2hBLm20UF+kjVem~SRzS}kV4kcB!x!g|giATd-Vt&)hs2I*G zNuP-eV<^-BK?2_9$u2(BCw#*We5j1@SxCBT;XpEWYI$3z{wJxcp3>-Akmjr-@AFGO z&gd2gkKky~ET30;)zJ|H?2*I4`xQnGR@U&f`eXOoMNwXJPHr!srt@#PwL=_O_T1cC z53K)zT5LGK5K}D|jOG?Pm8^E+q;+=k-`)czS;lYS~zG`tI5t-XdFd zLXy2@j+t?jcUh|?D;jh?|F_%z3#8&3y16?5PJ}p`9zr86C53>51YIg-Cte3Q3@|Pa zJUobscB~ELr^emU)@SU1UI~Q3n3#RU>!;z!5VkKL8Z9cwwAo2$bw9M3ZM}RZKUG<% zBmOt7|KWp;4Mgwys$l;W0@KPFPomHwBjcP@NKuPpVZmbIkdZ^;D3OuHf`zgR+?btq zJpumnugQMyzvZr5SoKRv#Ur>LxTYHEQ^lzDX6yp*7~ePWh3>p z?(%i8iAIK5SC)Y$G5j_PQ*E5BB&YIc<;-6giDV%Qiv+gRdJ@zzJgy}jv3~XN7{zbL z+f+M@lG0D3QwMzjIs=C`woowD7fzrmgjPg(a&67{V{yU2YIJe`jOwL|*d%KYn$Y(0 zmDnVEv@I0=PKgKqKoSoJY$tjYp*yjlgg45-K|s;n#Nyj(wC1quTf7$%YRb$5Ua1R! z&ZZPd4KxpX$(g-tdD;xg<-*CSfWu~C^|dZoMOdBsHFtC){W~`X3y06G#;9U0y>%uc ze!aTx@Wway#=o{Y-UK|`EO0Z{R0f>e>Ca^_Z>XdF?9q*HRMhjc+js8$n^PmJM=U4% z8GsVdO4rYD#uJimO~ELt>i9q(0-R6~sPK1B)xY))D9QY*um2ymmJP?MA)DbL2y{0Y z`n*-9DrkGWZq#P^b^RU%x9^>8Qr^7=xp94LBTXY>B^LX%f30I+qh~ z*cR4dP{hOz^VGhY`kS5(_}1@ZPk*J6QVG!)@fH&jYghOIq-p*|aLXyh#WmJr`h^YH={KYuRG7^XQB z@(jrMCIiAq^IY*;^0dqzemO|o+r|7ul>u-550%ZnVh*)lT2zz{FpnBQEHauzVelqJ zPxA4J_N>Uw|5cbLy=G-+Tf--tCM`xzfO|Zd!d3TYW}15<$8@9Tx9-6I(*oqN@Cfv; z(E47x+vpH7#zvud^1kJ*`}1k;;9&gRS$#i)l_5zUFnbAji%+$!#3u#FEKWD?R)Ds7 zS6Vwatz`_m(>7c%q}tOUsGxFeU+&bwclrGG?5Zfl290kGC|Z6*v=aa|PZL@0clLpS zfdSyM?>GxJnS%a7c>=~Lt$oaRk>}^mPQd}I-fD2iN|gbk*<4C}y}dv+Pe*yZ8+*C} z8w@@cgDo9Dyf-`{j3^Fg5PZv2%le~VI5RV^h&L29-3@7^+0*rX2*hH#b7}QqKMH6) zv(>xsRVWGsI{lq+{2p#7D^tu2;baiq3HdkcMIt3F8{bkpUiFB0HB;_ybI zyQ#e4>PEj@|Ke#Wz25(Ra3(jTxwS3?an%3j26NW<_O_A` z7`5F;GAFaNzQXbT9f)8vu5#|qs(-Bocj?;^l)Cqh|5R59h1kI9}V9If>lbbsW z1=@sf-@XCH!!)7AB_)>cbqPert^g?H4}Z+jtccI0g@#7r9DCwGQ|*qckG0=IwI!fs zFDjC|9!ukn+Tsh7a52)Sj`tSIf`LPHCN0opY7HzhAR@yi$0vRxtCz2CX<;#(!T;gI zhbgnFF97AdIUqU*wzvO~KJtrE(OV7U@Gh)HWA6YES6s}qsadJy>|6<$T>Pv(XK_4jfb5B3-bB$;wAj}z5HaH`7DSc z+hs^&2*(j4h0V5mb3rmN@M@qUvdhW$J_hEv5g`&%Lw{73LLPWNaCbC(vPqGJInqz) zDEMNT?yFh7d_PcNJlmYp;xQMVuHAkY;3?_h6B35a5G-}E$RVeD%O0)tDP8no1}96v z--P#)%5P_bmq+BfBawnfXK9VfG#E*VnMM^JRxGZ&B4C|o-~zLx6b-a8mOX(Eef2nEtqAlf&B;+;TMWnA7MHcb`s+No z;I=oGAtcQlA#0*}!Dv^vfB$#NV_~U%q?%48gIHNAtWfOl0NjXDk8#jTy5RfTAR%SQ zKf3w~6GozdiuuTUc0glhq+DDwqG(_>xA{e#-ZD*XOFC|MGEy29t6;n*j2)=5CLonU z68mY0f+DCHZyn?(DK^EWG==lEd&Bw5QOD-%TY}IY?+Gv%JUTLR^GFq%=@=$KRreP7 zJ+UB-j19lx+SrY-J^I4NY4{|ck0YUDXb5z?_GaPyJ>=5-=VlR5@VqBPTe)3}0^~dZ zCWnRyCzsHA7mI~s-eO*-SBCTT<27^Apr@$#Bu?5dN=mw4#zmTdtxzmbuSr5fezz<# zV&!IUf7JMrC=)m3cc4)`d1t)LGJJ~W*d9U#q z*ocm_8Suzs_W(<-Rkun0tltOVrO3dF5f=j&my7J`qW2!00#f&ea*EmP)Y^HB`m6e|wI!V?BQ`{}|z>SoE>l?6oJ2M7dgzq`FlNf+xICd_4Bd>Bs7 zt(BZ$S9r$?kNo!{Mde$u&+TvRATa#zzgKIETPvjvWm2q)b|oxmH_HajW9F! zCy>wlX3MMU8(!0M*Qx3UR!!7gY@&TGuMh5*5x4m#Er+)(g=^owecWTRuq?B<|RhCuLqW|kHSJ46-dHzgaApc2K?(KCvvl5xuy2wh4 zI}!CR=>7Pax++-`%gK&DG*C^}Kcij^7A1CS-SO=G{?*&qzIE3|FWtPM{gD6kJP^pl zMT(wlYL6kG``;W1>U9s_!WSieRyZqNn` zjUmE_@O#~=wUa*bED|}Q5^`Q>jbXb>FH_xu4TK^f4gPoJsv#O>(`0jEz73wrZo*3Vy7&tEPvs` zE5van4xEFph#}jz9XEp1yhtFiOU3}Xab|TNNx?ts>)=!34W`+1D>OAUcsyp>CJt{k z^!4_(pGoCU9-i7X)z`Zp1C46duHVC%blUgy^z@FW@x~s*zY80>!J9ivF&>usFR{aykKcay{!85i zWV?(FszaAaaHU$+tuT#oAYx3peP&;o#NR{aDp?CY;ga#t+U^6nzQ{8e8SxgAxOkzYWvuQcF}@V>34 zOtCc6_gGvQ2=eoE>l>$*63?%Cf=+HiE0!DFY|nZ|ncPGNO%W-})1TTN5>17|l3V=r zIs`%;rES|Y>Y6EGV3MqM^*=9OU8r_?T*Mpv^pH(#v{2UGT(OO;l2Mmq81_Gu!Xsm{ zb#~^Zl2mHHi@#!4QSxqIuUl4E!N1w-wC2ok{2CI7cjDM z>9MFEoaFe*={dJl)h}Es%vuUk zGYDytN`-*q(NbU~g;|?#FfCM(nW}fIqfQfP(@V4f+a#zyBl0}M_m@GaM~<eRWGyU|u;<-7k$-lIn zk?4?L7ThW&mpG+xpq#Kw1A&=OCmd|Zfn#Q%?6|23-zWL7J<3wHvl%+}`S{_a$a{0! zZRrK2ttBVJ-O&5@J!Yzs5+Q=6Bz%8vNsy?5a~3}t1t$?kPfd}&#GzLG2@@RM&=8#* z!8A%ISdufzEVot;Ey2p$e~KdI%F~UxV1E&<40yX z+0G^Riy4-5dGWXYy`~R~u~mHPY9#eH6%#}FFTXb&mWyAh z^wWqD^tp59b@AsH+_eZs#^!36O-W7NAE6>9Apx_+_wNaTY(fz{@tP@`Jp_H=vF3l* zzEMYNuC9(V{phFkePmm}Y3seg0YpLZt2Q)S6SPMDXX5F=&T6=`;%AcypO#w{1E?(X0oicVY%ec`U9x# z{q1a!3pO&wo{#6-1{EcKi_SIPXs74n^T5|R#P4Is!#<`1b#0V;AC4~{`sv=` zyd2A{L_v*ELkw~(I|;WDZ1uU1rSPfQ+IC?VN-@+#kFNjPo;DE&XV-e$8jkPPWHrRv zWlZYOn0fnD2FI9hrrTomGgtSqc)!o7tC@MIGCu2bpK@B#z~`dkuVUJgaROJ@ZAN3E zoexGA$$jZ|UPlP?oRYu$XWE0h-cSy&rO)W|H10LoDwmYm$sxEJuVAj8+(W03U?7Sd zThYhwDnx~!Mi?6|Gf0RuneyL{3g zvbp5^Les6IGW!Wa-U93az3)O-OXjyUg~S4uPo^U(m;{Te?1w3j!wV`!88m;tgo7RF zTbJnf1Jy-hRAeBAgPr)ibo(3S{WrN-a(`GPDtPbdVV{QTM{^OtI8z#qnb*c9&`7*r z8>q!9za1UE@DMP40kF6YVnd~OV5~7KE31#P8bC&gZwylK#kDjv5Mi12T0v4Qx!^bC z_FSpjIyye0g&Jj7AoLRE;aDsA5d>TcRPEh)%_k)%2fjUoK(YUStro!*2iRqolF))~ zmoGvn86pmR7f=%JBH9zo-Uw(9>HO?``a57dM2g|#Vb>vC<0p!4are}b;+p(c)|;|< z;UF{NTk{^)*AK2tqR<~bFA2#h@O8bsy*^cNiZ=cF*>+xASBU+H<1E&Yx@a(;AtO^* zFVwH)Qd>SQMX9Zjs$`0v+EPixgpZdg;%j5_t-YbLm!>%IYmNYYQ_22iiHeT5Q$oLT z%kAd#4o^$rdX0<|(mMtVtw-ycQap)M_S}zOD^%nUb*lwuAsI zD){&uQ=2CKtQG6?SU7ZLQTGrF zV$QFUb6`H@t z$bt59g66Bcun?5Yn@lM5g=DAu!s{lGW5V?HXKQO~7ETDT--BqygoFeL*SmPo^MW)D zpmptX!pYjDSIn5JG7wdUJ($JTtkh*h7MGKYGyu}pmYpa6dDuo409N z^n)fQYLq0HL1-x73NX7xp!{8Eux5QZ;(<8{z&wN(FSoY0Z}|{8ML=ld&`m)>0q9Rt zzJ9%J?k6N50HS0Kb@gpyZxfTPt>Hv#D=TjUlb6a2culLm_W^K7up&B{|NV6F_3}va{)VoS!S3 zKjY)s0D<3w&%x5ux{Tq{*{U1x3RH~SRteo*A4<2m#>#j3-kwyMPk^}xZ!+eeuTvk% zd;s%g&$RlqZhf2`GWdVQfFH)j(*#;ySns5ru>`tf;tX{99zm_`P;cF^q_PHdt~+Q@0`^kPQHXd1rsbIs^vm^-Y~$ zT&XN9EKxKvF`EyW3Sr^lj%~}!nMwxiB#zQ2qE8{c%-!Ea6IV3;>q)^$#|G=8D{`m$ zp={c74EoVGpt3dz(*vX{sTRtX-e^Y?-BiX=u+4 z2}O74@itGu3!Kw|Aywxd_VmuxUUwyu|Gg4GPJc^c1vfW0gCJr3J88SA`Jy1ZYMwzkS=Ye;1LL%%-=nO!5O@ zac?1zErl51HcR;rBL^0pYR@aH)gj8kdjOBq)3fWf{(-{tv9Z~KJm3EzeXO z+``Z$+`rVx#V{bNSlgg-&cBD)aMS>YrW<>Tjo#XKxZ?Qa5vkuxizeQAr9tLzGtp@f z5l+1t;6mYJO!=}XEz{_{Jo6d6=Q2h@EOQKnZXQ>p5N`#QXdR;7{=y63ss9J#^%%mA zz687F&}K_9@fs*v{M^KGhF$`?_ZuP~kOV-`IffiTx(vYwI5ZSu*(Co47#RPUDH42q z7e)(zurX?sb<7d3L6WBi1iHy%rE@>PyUIKR0;UuikML_VyEc_)CmYc^|7CfnX00H7 zQ{&0fmKLGcP?7a?)zXy%BPzaLWiYeIynA#A%|Hcuxk4Lx+u7L5Wqxz+Tva;UFd^W}q)4{CP*-(8YgbWCX4Z&Kr<@D+UKAjOHW5!zh3(x3fEGaq-8- z!PDJt@+wyI6|w9jn>P<-w(qz!y3R`v#$93sjiyxVyBQrfjV5{HAU}Anj18fJz$bCIT*0}mxDL6<4WUs0p|#L*pDFX- zlZB&WFW<$w-6rAC*K(sAwhNbA`K#?u1H6kT?w7c#m*r6<>p{QS44!|$5xr7PKvL>( z=~E?wv)M2dNP$R1eEY(??DLpJNspEYJb@}H86;2Yx2ir49JBqARx>oLx6AjW{zAAgC0ih5^# zToKv=PjS`qg~!nIch28>=4@T9HgjBDqM>hY^fBM$>$e_PUsQ3Qqw`oy0r=ox@{?ByNf_xqn#G~8kOL*3=fZ|A4QkS|QJRt;Yayc{GxznJGGReD zpRbCt+jZp=$;}3OJb0`hdZ>3?B>Fv(#VS#}p@t%mk z41~O2I>)4j6@y2Cf&5z7apn**(H26B`}L>Ap6wmZ(c;5?1oR|b@Rk)?T=SJSl-U** zOmFXX*a(e{g-c8Bj`1RSrv0B$=@L7T5|r9}F^Ai{jrvs+6BEz77XCiids*rH*#a)5 z4GmXItCkzs^z7a!TR(?i8E+c<%SU@}#lL=I$k*{fy4W@Jz8X&+F1p|RG6l%;~ z>AXs5WdIom-dF}^Yhhu*jtp%f;e_Nwy*u20AgmB!k%SNTJIGi+7q3Z2T0JkLbbiIn zj;V()=w$(g zQ&TeuWf@;}_bXi1f;)QAjKQ&kBN3eRgM4}L<&sKLK zl!c-=utPo@JDA$iNa`T?&mR=yO>WTh<0SkDs2hqU5%pcVsp$)qR1S?Hv;J1QHSY1+ zO!&Nip?IdRi>z|Lgg0gvTV;T5-&r6UPywQkD&rwSROud^@QR#fGeg%8K`q8qIL_8jT z(RfJz%n7%J{uuWRDJWDT=jE1>avfXR*xda0DLz?h@vBC>0VW1y@b^Z(ZFVqmTY)QzYn(;a8r;~ zw^biM3Umjh(FkM_HbRk` zJzvx7SMs;|xG5$^nZo$Dj~H?DYlTCNLb`1o&o}Kojb4HEVzg>Ko54`mCbY!^?W7S& z*P98MJ^grjCCDDK7HYZS74a6&Fm2NP9=3a)=Yqom zVzIuF=HFg5>7trG#Bs?dTrD$>1qniN`3&6!_n z4J)+8-ZCAg19AXknu(|cOTX2W>4VfyMq~(O^Ntd^-jhAa3x73|66H{-(RQnk#b=i< zLMxnpr$5Tpt#&#cTu2171w#BO6(;of55!K6s6hC=DR-y(e=?$5ub{BFqyR@M^_I|) z^yN7Jw>g{l1Lq+RuLl&IUZjes5vW;&9TD`AoTEmfJ2CTkgt6_(*Rjzi^JK6YE`RCy ze_8;RHw@)!cUXEK9D^#1xA$WwAq04M4?X{a;YPc;yMbtnKm}BZ@8iHmCril~5Jzb- zKbe2;!!H3s3eC*EpBh`(*npqCl!NmI%8$sRf4W2j1O&fi#BVgia(Zw_hApu_i8Gew zaZ3wIYOt*yGWvAO%T&p8zrsNvjF?lyi>CzPToSXL^aexZo&_pJ$6TLY&AM>!`JdQL z2s5aD*%x38MUkyMxhc|J<|mg;`n2Kbq3AOJM?$bCpWSh57ewOXJBR!G?>Lfj@FCt! zRoH*Ti73;f#B_zHuY*V53YS@DSg(HlB zUnS~J4T06OB-k*SuJqK-R9rnfbm~m_5D3+l10NWe);MW_x4Ljl zyQ51&rKYY9dW*hwtXRne6A&r92OR)fP5J*Gmz-HN!~OjdVpzb8Papq2Au$m_thlrk zWKmO5t+%^6In@Fj$I>#_vNgp$YqzYd%rY$|HkQCPkTOcj*utWCz-a#{G%klBElE}= zBa|j51F@aysOhvbp~MKxTOS|{m%ssObd|PTsRxILxHveT;rzTJz~cG+yA;z`;5Tz3 zosG0@0LYNe=Eg?r4PegYt6L1E7WeT?RZ@S))w>Ii|wMh=M--UR_@O zU70Qs9s$wL8uw>AzZ>_RaNxO!op`7W}7>PqK1yq39%yHuJR`8%8yLRiYrL zR>y0u`je)nJ7h2Fe*BP_hU?c~x3LR^3(to<5ft5h~`M1bc%f67*9q-SNFI12zW z3&0Vr4X<9kl3X<8So%C63~o{8BSvU`ZLLbtRJbc}*qMVQ4JKCBF}o&BP0d5+R_4lP zYC%CSklyf*`U0y7jLQc41=XT(=A^hd%CEA5L)cjDqNa0q`I0e;%-u|Bp092H{(QXE z(+>ck1#lN;3Im=^qYPgZn^P}QCIJYDU|#&+k}-Uctk3|Fu#tcGacJIsSD50a5Y;t$ z6=ZBK|DJ{4Nj5!AQT=$N)GT~$ZbT(90%KP~QMQN)YN}orEMT`29Nhb^$k}pVVtWO5 znlv{iJvHrv`*Sx@6vT}@5Yvy;f*4j&hqdn1 z*X9p*Q8?iyV3`4Wjfde zl!Dnp{U5a#3E^pKbJi${W@rtx++(Lu3dDY|6upjLvbZtiB2ma?NO@BsTsXUiju3JM{Y? z00LX3rS=En#Y`2>m>6aO6qR5Ri($1Zj7RS;p8yMB2dhj1(7AFec)1jHHVK1J1_g!a zu1y-`-ZGf$GS(qSa99C+UC)>jhLH$N#zdv+_bLyje%Ol-^6YqO_lY208xP&{5)%Jm z4gBugTU%ko%i~X3N1*!$uN3mhJIdbHc5Gq->MkS#MxLdNH26LHo~|xeHBtl7qhGW@ z_ny%6pdp(@M0i0Yubqc`+ROoVL}$C(mDiVb6@$cvwf=DE^I@g(u(qtj!}+N?`?2c} z_Ps~^-}VPV(B(HmR8eckf(D%jt4Q$kw5f3E#$2v`UEYg&a!r4N>y;=eV-)qz`o>B6 zEE(;`d>yXFzErMdJ;A~%#booxS_s9fFB}P9h0!C8YjJ#7sWzXLp@)4-953SIcOh&(zep^J z!}Sy?rOfBG=ZL<-xX(IEY@zc9YkaZuHlI9#;a4_Y1GEcRBT(+1AmBY&$NfHty&b#a zxa?vLRE0F`uOLHnM2d!bZ&b@BeWroU(~FN&I8va+gk*Mfog_n#tdy-8Pi z*`@=0j}aA5W@FoRl`A(SaN$|m0`GCsnjbm|vOR1b^BCWKQGE4+xMMH(3cB3t`U!9S zlWq@lw)=LB={_7%thUDx?(7(OFRGKCxRH}Ac>MHN20r=*%H-Mx`o5?EBR43Q{f=X% z@GVH0Ug7FS6J*7G>hZ4_TTE68|k9 zIoKIUR%~mTHgV5k z=GHk~hX3_!#>U28^TK@m{2r5el0GG+X+UQ9sW%w#Y~XCS1kpr(CS+^Yl`VrQ)E#;` z3GDF-GDKXizi1d(72&=pYd0Lky?U6@>+M8(&h99SsoI!(0^_MxmYE$1aFCNX zR5HW^j95=j6a#*5{NBK{2vCWr|4^>w*tCHmmbiw3BmN*&S$;Zt8XJs7nHzTvU4X7U z`pV*l%%|49GT$AoK|m_Zf$ zz286zea>BzP{d2A_!y5-qf5mxdsNlHPvBU*Vo*5b+EQ<6;^=+M!g*i0ttQ!~rY=LT z5a!jiUUQaio9Emx`jp?2V^goW4^pGO)}M4aUnlFSQVJ!B!p>XA9{uAt6r_K*&L4k% z?Hkx4vF^-ty`f60y$o};9dsjkb*bJZz(?!t`&_BnAJGwtZmrSL{?XjWeRK36TO$hz zB0*r^cGDdwU}x2vZ2Gw=!wX(Ql?S0KdJ}7qP{ij97HS?^xpbLF#f!ivcGvA|YpvIX zb1P#CfxH{j$ox4hhjg`iF=qiOLxNMqA%8L21WfV!fn_02(u~%U0KGu z5u>*r0h@CVj5?J>gsQ9aq7A>Ziv^wCQr7c5-&CEP2I7$G>s?GmTyPTEpK}j(+|;Hf zp6Indh~?82J~scb&8I8((!J=UXd;*SnY@(T1K~G z(?P;}H}Wv{k?dZ=&~JCgtrvwp<7Ps*1Nmb~&Bv0eWSRjp+K!Ik3E8MI*-=exj#T+t zmM&V%>Pd^s%gcw?AJv70gr1(QCu5FD>IgHz*$K?HF3zs^y#2|- zYd2~P=)s>#+xs4!(@v&GSV&&+q0TEK7xjZC$KPdH{k?z-?!O_^}#Sy@IbP#r3K@mVezL0r(y46V&O8& zn=|H3OZ8i1j?S!uitr%MQ$K&=H#hIS=tY9mo_e-cqT75LMya|?aGVG8~OS9O3RTB$M0;cqO}Eu>UZUSG9LD) zjoAu!w|J8zmVwdw>*!@E^E^#{7blzJLPf&Mlj-&)3#t>VawU3IsOG94p*f{gB17X# z=jE%GY7n_W5*ULH9@yGLK5 z-;qbF?vo;xN5(F6I-4g6J53cuYrF10UGZ!r`DQx&TjTDMPI90wmzDMOBLC+V6WvrM z0%9Q&5*_5Atx!ygl{U93tj6+rk?zxbydg);Dt%U6@-@&v>?R_8Gweo%zy!i@zU72C zJT0XH8GxwG1(-&b!lvixMqGQ?rTO2Fc7aQ8ZEb<8yLJ8eaSg);t^j6~Jf#YCW0DIs zgGfKoWu&>c{Iq)XPi9z>Bl4Zbnzs9DAwSxv(+aV)R4N!T#OezAwI$;H1H=;gt|rK+2^T|56^TPsb= znB88~Cq*0{cV_IHW^6=+&+jVxn<@UjE~Wb;0$2&vns8I@RO#{_n>R+BFZP$^@#r84 zq;nUU*6He9FmOvS^tMfV+7tFl;G#EV)J!_^xu zE9${m_9H#Vqs|m^2={6Zhdr;r%!jmjyNqX^1mi05t@m61?(OP9;$vbe{Uy>J z94GGlXzuO*;><8Wq}v~55`vs(A#sR30B*+Vy&EUnvxi7G7@P~xl+$fEZy+7+y@h}r z%4elJ2!Y-F0|KwCV%A2#AI3crC8`A~7J_vP7d4d@6@)1O+SV?9N7BSL)tP(6tYM3l z(cm^jv{5P@M$K+Q5Xd2ZS|?VWVA-^NpjorCV*U`N;W7e$bMKM%ErX!j>dhnZOl{B) zDoAitKrR(vVLQtoFSq5I{pG~u!=xl2IoL44A24!h%uQ;s-E8_br=Y9yj_BpTy!w+A zqkC%+!o8_dT=jDB+^RyEFuhTcOa3s^6t%bD7TsI z^GB{B`jVu7H02QC9 z{Zuu9#^re7s_GJkF4z#w-`@}dk-%0U7x3&A?Llgm2*)84aCUcN*HzPA< z&j)GBf*ar>I}dhNX%+gi0ej|7#kZY*NJ|YjUxykWs~vt+zaSGP?(?) zy+&cs8I`j~wY?TA_Bv1WTJYldoIuYZpj`47Q?^x_T&vn)`UH;%tHRh(q}HH!ir%tR z_-rHjv{R>k_s?|tq~i?ijsI|WGV*g6Ctj7N$TvT4`uIFkNmovf^U_@H?Sx8hi2p3o zm6zX^oA1!X#m+<*K0U~#?-aa^Wh4J4Y7L6{sT3PgrB{%*0)VD9!IqrFGv;>Sj&EYg z6maeRLp0U-V>?5{QFmT zrM5_#Z&vi%F5CD?#?!?k@YE|jC(bLEAesduI)FA66;&a0>|KsJ4GJ{5$#nb2 zDJ(5*YJwUZz(oZVgQ@}15G`y5_bc=Q)7y>0aIh{=q`If=*WXT&?s<`pQ#K9~v=Hd| z{x;uuUthk1NH-WLH-DRm+Eh@NGPb$_H;U(6*IR3oOTv1o1-2jxPx^)QAOL?pEg0zaNVp{xX-HDV;tv+8W@&_`s+@ z52L$&rpLuBwc(tV5BybE-#pQ6{j7TY%jrk41?XjxQtZwzN6$0y@0}laW_u95?&?ND zn_fy(6jN3G^wD%<9X{hEc}f12A857+7ksy}h{>u}hTjkPa`)DX?_)xe$bCyXn9=O(p8Jzzu&?^$c}asQeUPQ=6}|ES8ah_GFKo|h$PKh zE{})G@hun4k{3#6ZOc4he|H?nYYMbK+G&-}&}@yAPup7+BkW$^)bMph4mdlOIr1&! zTI%f=S%X3q6X9fMQag)Jl zkngUj(KF-j;pu>kKo|{yC0&zV>%CX~@!s~h?V#OB-#p9k?1asC3!pibw^S{IH^06# z6OTDPOm;fBe}iPOkg)yGJN>Q2$(gZk<;d8im2Liyicp8uT0;KyeaiTf{U6(bR&7hh zSm1GBA@Sih*_g4+UMg571i-L=vp(9mu_Z?`}Y`_U|>MZy?Xn9{%yuR(iE2 z!wIx<=g9}otpN28`LyE3Xim=u7?_Fl9YTn%o*tNWm*~fTMmJ^hv61ouMSO1N_3V|j z=q!=j;A(LR@h2@@6*6KYm-q2JvQ_VD#kI&1Ornil@@VQZ^s#B9A(DqzXxOv}5Q}`b zXyWPiD332}tY?l}4T5LzoOHNl$n6i}({h}iF;l7%iSWuZ&fAAPY&&;9E55xFJ{Y|n z(waD6VA+<*c*p5U_M1j>M8|0DQbJWiW*aSo2_<+ZtQR+}Fgy=OTN+nJ1BO9(XrBnR ztd?OopwLR4Wj(V=PVz@P@iEVRimz9vje`IuggJqd5#o?qF_B zfe~3H+r6{tX>!-az}v3~oJG>$ceYG3l*FTnj?0)dyTYT6VCkGWJv=q#m`v;5oe|?U zUn4|yk}8MnX{3E5TIrlGEb|Z5$8hWq-!@Dqm9S;OoK8wNQ zii0V!+zMb$k(XSi=)Q6|CtEP)-|T(use19|^QU2?)ud*^*a+V%dZyHxa)Ymb!lqZI z@2CPdU0q=2??S;WIc`q=f)SLjN=m|<$rim7Ged-3ZGWJhS9QB*9XlI7hh0KBOtMrq zMb8QN_w-F1s=x00hlWU^2gUhPUIhM4yF3iW^$XecnkDtwSqr;g9K!tgc@>Tn0*SLV z_OJ5`!vRFFEQAu3e+Ee_aX=R)bh53*%QNkw(serC=q)6;7~`IK1iy^SKIOCIo4WMS zq9JB^=^|omtn!~#^ZZ*n8}5^Mrw$NEvG<#G?JNq2*2`N0J)EH7>8YvL?62cI3>n`d z!?^MtT?<9M!@bGqD)k=Mv546EaE>L;F%j8v83uW)Mpu7ad+O;?W2O=AIr2lUz2dD7 z2Fpe72pdh$nYMyL{0bgz&4xpJA9_AZX9nblMv8S>pWVc!e3WTG$||X?x^D_TElQQ= zA&$ZpncwI(?OAm4xgsgVp9$rfH)M4E2T}MEEu+AZk#BIv3>fm`M#}Z?Z2}ub+5a{Q z0IR(a$O!%N)%+!i34_={qYT9G1IrlK3rDf)HcG8`qwC)ro83v;6?7sKH624R$7vp$AivhM@?w)rGck$_&(~!*5{qaZN;jJ@&-W0av z4Rh@#rBw8yVCm^89%RNu%;Ax~3g(%4o%z}6Fx=7lx-v5DO!hF` z!zq|ocz*sf<ZyRsb4N&e4#?!e!r2Lf5BF#r!TI4Mf#S-=ePkPUn+H5&Yu_1M`{&^4C&9e zCD8iXx5vW`)sw+gi0S9656u#)f4XAcVM&57Xs8`$KX3drxZU`#7E$DbAsu=g%9I;3 ztDCk`kda}0|MEAt0#Ebxim^j>=H%5Q3J9?Pw6{;aZ4(L z$?<`d?Nz@dkv*=DQdxEznyCe#8{gLsw0;)wxy^L&P13-xxjWNbi~U(_qvVq_a5WKN zvzkTIsyS1dz`4R)q4i2zG5Yyr=99I%y1dTc_6WLcH#`;|g+!YD<-=V)R>)saT#D-~ z@3N(fm(Pi|d?5l`h#yBa(^;TA6D=*!bcI8kwKZI`@7= znR%3l=qy)EeJ@EdzCtQC(K1fDq+4XwlzUl&C11AEbJ-OSy}^ zCcJv~A$C%C!Wt~jfA(5IE31X&9>KHN`(i4V%a?p>z~M$&OT*;}cV%!{S;~SFGTm_| zn?`M!q@TSiOQ#jD9x*+&7L0pJX<}w-+98ZtJzyjwCwKo^q#NWue;I*$0L#3W|8thG zSEGZ6KhP|z?Fn^Pku2dT>=M7PMubQ-a-PttEvgp0&T6~Tm602X?o4}b3qtOspo0^~ zi?$&9CzWX# zmvMtc5g%6B^J4%BgM#1l5_;;HJRY~YX@yD@bQhyj|9N#X=-w5r!W!?{3W1A@fQ;L6 zxbjgN^JrP5n2z>Y75`7W(lLHnm+i^WrjQCX?t<%M4;a2cdh2pq!0|}2l*N>g(;kl| zo9LmhW{_nn89HV+fh!hKTx(dTLl$_MB4MvGJ-cCsEr|mpyzj6YmR`uQ+)b0-P1Uv( zF0YPwzlg+W<3V~Od0)3>q~JPN;VPZw{|R0$aM{ewBsP{QQZ`GBO6w~P0tE7+kl3fj zre}+Cs*KxEI(5+ar98!2E@(T#zB91XzbW*)6%vBHbEi`Ei zeC4jvE5FRsnC6c)LMgZLKBW@qH?PXIU%oL$`0ezo++Ny+WiOj2-17FSbpWofe-@cO zO_xs&Jukc+{N_JAUPgTnyMB1{{reWm3n+a~36pPwrNUP-*YvURUCvD^&nBGL1XZ@T zxzG3G@ugv|ZP6)DhE6;s4lLRK?%ce)vhT1a_rRy7?Gp=0hbfsAd{ zg`~!kDnBLxg^zssaxL<-=}#$9Fx*~Wl5q)qmq()6`c-K2gxzWcYeQc$x0H`s`JE~B zmL63v9<>+qzuJE+TFvRuAz#y|(0)uUF9m}n*#Vvfd@8(P?i_&19`CO1d3Rw>{*+8v zd-$WoU)tpc8$y2Fs4?CWE7JxSKV^!tDxbp*=A+@+%-Jxkq|k~(%oACm41;0CqA&gX z`uaeE4OHL5A4DeJoWNRHSnPGNV*YJ*+(gYrA}pgN@m9~>w`` zKg^Yy32C^5{l<&`z+#cdz=*eN^oPnFJ0f-Rb9t5+B(2w2o{`W|faV9WIma&s>5N3Y za%1%JO3IKgv|@Qg+DSCp_S}1xkPrAU7BRV4SPFPNGda=___91oi(oT!P?OQjG`x?e z#OxR|8xoMRH@rgTwCde&Nz6kxy&pXwGAzJ{ynBLT*4OBceSa4Uts~XpGrcNFfyovA z>GQbk#uL5Uwa0mzYf`@OX)dSnDzfUezoS#&Ro2<6VgBO>=Wq znT=AL%fsv~a||kX;rn)4&Yi)AOZjk5s#d{%f}*#XE8R7tk=L|Qgm6QXcm?SsHY;yh z3yMP1156f<%>8c7e(zY9|1=JnHc_Un@9D?H_CaZv3{K1EE)5}LXDuz&r$5W|1t4SExmSUl6_=_~ zN>K_f1wwufhu_C5bA;s7e&MxEF0=D}s4DXR!DyNeIvEbrgW_x(fuMltPeJAu7I829 z`|R>B5#LoNf3tAa=O$D@VERBbHFS*R@?5VG7b?PfwtmtO>1rVF-@RZgbzO-|EaW4qw=AU7FzqfVk#CnD|6P7Otu!6S#N*y)2~qJ*+WP0ZNGX9>l};=?6GT5{jl zF8QUr4xUo4Q;0-7e+=PAw(QmaDVpVdxLJg;U6+XTi?IrCOGjv^;`$$9e z$vAy!IDaPox8`{tCteDNy4a`<&qm>7udLKNot^zqt8|~LdDW`^;$rruAZ(SFO{;;o zdG~-~vB-DDc~n@yxxeb(dL?toZd^eVL+vAu>DL)Y{yW`3gq5>PvHDc6geFxntbk7+ zi8+4dP{sQHq8v4yCuNc&K_gY5qO^*q>l@TeYLmYWm?qJUYC*zNaQNYwpPO?#O?cY) zDD7&ewGuR)HK4CoXLLJ&^b*Qt+etjr;uMx*I6A;1$Z zg=EexTVDZ35&>?6=n@S9qLm-&BmA+o#k?mu(kwB&FpTOZpIz#@M1|=Gq_@t?T!U5D zfk$0hZ9X}k)MHatw=|BqU>h-1I%=iA1{ns6MJ}+Q(}IFolqDrBqIeh1Q{90myaU5lUsvbOK(Wz&B(rrUbW{CMzO$lM-)&B%P~?l zcwwGSwc6yA#ocagU7O0eN~JxHU=W^p1j$Mg@gF{YeO!$Z<=N^-+&po`-4+pyKuz|33^3;gY=ULZ%)q5@@nps|3W^WF|EzbX9 zqJCgduNDkjF&v%7!Oc4lG~<5BMb1xhM2TJhS<^# zs$|5>2+0?lIB1s?n7w|9nAKffez`vWFnC+agD;k8zjb#lV+@wSxNcBj6od_9&z=g8 ze5mf5^f>=+Z|3*BcsFqDrTAcbI4F`0A2Mqv?0Qf@+hv!|UEDWEyXcp-vN}y`^E+Xz zE~Mew3DaWHers-0c%<2JAsuN&Wm(f!TUnG61;P!3IKKE`I*aO$#v}Ou0U<%&zK{KN z+x~r9ejeN`jO3@!(YR96R&4pYe{&D_A{_>d8v8}}a1*0yYS+=rK5t)R;LKn4A3nDJ z%c@x-HU?H4`|a9&`}ePyH6WBDSVg@j|2lczicPELwHYvD>*h5bYWV_S>{V^tf?p5p z+q-ab??6Mo?$DUHHJZ12<-jjz@7Z_orx|_xXhMJl)fJIB4;Ttxrm{!7EV60}WP*ppP->~h-z8!17=u*XiNQO^?Wy|L``Y3$d zqQl2_uWD5-AYBgc)xR^ow76gQ?q9FFT%!6%6}>F9$#2q~7<~*lXUtvHq`VKtLa~pAFPt~Z&%ieC*}H+) z!^P)L#q%r2_8;+0ELWz-r(usX`Jg~|MZ%h@VU>3a2m;}e zWG+2t<+0Us2GuAZZqnrl0ztKVtlYR~*Tz*PJt>tS0J>`brPD{Xu2rM^Z%2-YuEPeeXAE3-P*lql|G+Uy}Wf+kN%(k{@Cl&4jtX} zhEMzUujh7e#;9Hsmh3C_QOi1^Zq_P2hjb`^YWe8?UoGH6KN3%&}MzxRS|z0->du3Nmu!RX7x&l zl3c0j@Lgw)jOtK3Jj4wF0B98&588V4SoUNd+_||&Z59YIm;7|@&sz`d*)jX`re=^4 zt&9A1Vy|J-A`>lVmJjYW`iG}BS*|#A-7lkiemQUF-u+7^bS}VG0at51a?ZGZdJ3?t z8!>mwz{bA*RU7wj9D3-d2|b65k8%`i@o5vJy0#rUxDs5LFs$c{jaO^8Y*Wn*2)vT# z86hA5w0rpQ>C5-;JFsf*@G!GV0Ng9KTD$eo^wC`_mkfDvz#^rZk6gcf-};4Lb{#l& zLjR^Yjp)LcuHL$D+p6x3!wFXOl?Ht`s$IDzolYPB{mA<9L4dP^v@pT#)@)tdv9@nP zgCA78{lKPy2bPTMJz`osU8e0PwH#KD_QQsha2)+=XzzJ@VjFjASBVk`fGRM}hJP8x zS_GMT_fs>`l+e1pmv7v8c;AlMpSSeVW0fbZzggYBVWUn%W}Z5BWM1!j4u_>e>p|6h zV`q)%(R<9o=k8UT)C~q;+l-jAbLYBVpH?p7V*mg^`WBzh*mopnv+i5Fs75h85Y<$y z(TrtV5AEGP{qr{NdSbT~@Bh`1VC&IIqera0Ds>$)pf-~f(rE0m`9uA5*pXS}%hg+l z*H>tlpoMGaH!U98>-%#@5AC1OCjV1rN@%NJH_WSJNCL#Q_-gL_0kx7+!n%Ln&-8HJ z;6eSCoprSD+wp_6l<>v_>J;O@8{dD}oIO5``gH4X{pnNHJusXGqG=j1reGI3E-tNH z`!RcWZW+>}Wtm`i31^RwRHn(W^*i>j|8ayz_NvREdd^zjsOrc4r~h>3*x|2R6}Kq> z0E9Ajo3&=&o~=_mSIkjt6RBjK!P|bFS2n;<-~@Pk>cz*42i0ibp?$mdy?;5EXdskX z4;MFm*`Y)G_8r>woPEsIWUbn~Z$+=9nWOuBvEcV2%?Gxs=?um44+lYpz^WfsDiY*h zs(jVb!S1g~ZV3qqNl8g>&jWn(=FLA7P&YC%^5MgWh06nc=gyr%cyeC2aN)_5C-3_d z$8lG#Tq#^0;Hy`!rlqC5`Vqi7*Wg#xyhwE6ha>l;5~yW{i8&@xvD>_MYo6*j{J!a@@Kf=Eb!9ym`^YMZfIV zi1_?DW+;{BxQ{!HPQP>T`}ubi>k}89(!Ar~vgr2g*-_obPntRWcDt!(gG+{cM=rSM zF{nd{ZAb3<)~xr*&gkp27EUepbjS2*ciIjg`^8}UgvGnxFjXUjaw}fG0(X1v@Gtg# zId8_aArbu+J@oM}g5!-qFlF=#E)rm5Bz=WmvwD`@yl}!bA*@&50gdn9Tl1WN&Z|cC zfVGRi`*`4l9vxa;Ua*bI8PT^5x+XkbK4YXUEo11^?_FQ2B$Xl`52z8&{&p;GQa1pA zvK7kvXWg29hiz2P``oq1&6|f6rPtoL68mA<2HkoTGZ!tAdN(Qt8xai{E3Dbo&DE?c z_?XSs>N~S*=ufl0y05Fyr|WownCNA(xWF#(xgUQC5vE*>=qA{uOpC z{wCVcY~+AhDJfqby`7nrmTHqR!Ae?8g3a521=XWS>3V_jGv|L9)cWfYgWDhMuu%1S zojX%HLqK4VyGc)o!nyhe1?gByJoLk))0D%KB^NPCvZRU{Hb?*3tIG~C!=^GGnY@Tq zN zV&;)Z$Ap>{O^YJISO15*7Mn^=8P~~iY}HriEKT~1?AZ0*cfUm3+P>&e$f8Qx!R5bQ zF-_MJv;71>tWvq_++aE==+y;&3t-}Ms%rW zLk8Bx@sCsVK~2A%IZ(Lt%haF6zF&meWcdLsY=z?Nw_dsw5$jWhP7*BtkGtF$xm*-!hGYqW3OvOA@^4C&M9~`}D4zlYhB8!|~kxWu8ZTF#=9&`Hm1wrR^YVFudn+Wd^g{%~Zia`?r zT%Bi%f3En8si4x~EdTgi#A9x7ko-4NhN*~}eXU@C zhu00UzVkoe?Rrb7{;EpBYp31ZR}#m+8ZKm9)hiMXUz`tSWMr zqyPZXWW7&WDe(j#7Epl_R!T}rVqzl0ysHTI|Lp^8x7!Qt1AO4Xfx`O$(#{)0XafK-z5>_S3ZLQ+;zYH~bcT_{AQ#iv9iq(E}q#d|3Z0C$$eJ&Mk- z+CJ8G4GIce6K3zs7z?xjI78^OmnU zd+fJ;H`0BIm3Eb7Bq`70u2~Wjo~0(IT2l0!*|*$>6^)6D|MlIuh+{i{KVQ6L#r(s< z5Re`AYZnh@JUhARd~!(5hCymRcXc!XX8kJHsBE%cocQJE`>$mI0??#OTfX@H>XnG7 zdv4xd1v-LJgymR+fz|1=wGc{DT)gAeY`&=2r(-&YUs*T#L5?B;xwsmzT?qcD<*;F$ zTrzF6*&JYWBtCymc@_x{3JUh~uw~ipfB=9t_(g2_X2#qVkL?ADPYfZ13#wYP5}j~# z?3l04-nApmo)DidC~ErisOY;fR#9^`-dVYDZJfF8kSPl`ZCp2~`3H&yK=AX}TTc@* zv|MF1!Ku$;VxFcoZP!{CwSM}d^9p5ZRHM}M(;H@QymEZ+ntQ3ZYIt!8=l_LFy1nb_ zgXF{4o}z%@lFBh7S5nOtI=beEi9~ zT@oWuh%v0fhb6tGpQjFA`0I5Ii2eDEOuHh98F!Xi*R0-R{H*R?^e6+6?(&*T$u_J)iE{yZJuN z+8*AI&dRmo1}I&olqofG@#Y)1jx4Yt{>m{ z{n!n{>0H9wG%LS%^LG1tGGhu6mAIDru$B*w{d&xpUFYH`L^2beiK1-FN{+l8{Wz7U zIL})<79P4GH|aTg<(iEP#&z_eL;zweJFw$&e61Q4z{{H>841q-0MMhv42|~m4aj$4-%qeeM6x`+6n*D* zV#Yfgb0QG3Qr#Pj*}7%Jn8xNUD>lS>x)W7$*ac+pn>?|vYxMSw$06hCW6c;CR;^i$ zYNaX_^VO+Ze5RFHQ|{b*%*!vsR8*`}E7*2s{i5G*oI8H!X#xfSidd3U6j@47iMx3_ zIxa&+06<8}liS-4pW6NXo;!+H(J++#b$WDl+tis$?j{!KS;x9?2AzMEY9EA_sMvSR zHzOJs$x?j{E-3hen#GHSHSRQO!8aWYHW@1-?~rJ>5;Lau(qG@W{k&89{b!$XD3h-T zV^4{fF=S5G)fchlLew)vBec@UN8@ zP+!VZE@ziFZ{Dm%^=bsaUjFK{62UUOtRrcvSi5$uh7B8FP0CyTM>I$TOa1%zuTY`< zt9|89+skK(BJvsCx^*ocR*d8+C;8C^L zm+j#D=_a=-qllVJa^6J&qQ0O_1T2PsP-Z~?et<>5QZ`|)j*kpPB_wy;)Dk6%ck0v; zfd)h+FW)8my>jcnEDsGW(z0a>nj(4n%^e>(XL9q5iNC*Zi_bn|Xn4_%l&6mJX8SMN zk&Fg*+_-UeYif2oFYCOhkmq;d1r0L6VotdxF-U1pulk?yT6b!Io%ml+1q0C}O|%hB zRul;nKmZ7^D$AG+#p-$9&Kg`P1aDfvzGn3Jf>%n<;!}Al=hB`Ked+2A+c)~c--V?(Pk4YRKtz?X z%o9zLRha-m2uz%Tb}KjYw}|Q4&83`jrHNh3C*Yu>VY@vQD3im%BZJwH!>L~(PKeq$ zdcJO0_cpVa^-GJn@beFg4vGk{-ImTW6r~Xi1r7(Q)_&C3Ud>$?NIbW;$BZp{8eXqV z>3Vc&hBA{475aAY^=6G~?Rph2OB$uqUHEz0XWLkhdc%pVW>Af$_NgE9OT(%Ab$rp* zhn98e68`;$7=H>Od;Hxff~bN6zw%dBk6xe+?b>C2t3e5OPA>g^>8*Gr&tPZ&pkmK$ zoThURP5=NP07*naRCRT`o-ck<|=WtF32r!P&HO`@bRtbWzV-ur#%u2rB zMwgze9Ih;S?JAmJI=JD$zOC;ZU$8wQgQJ1f>vhGduiSZ(002VPyGLk*@-;lennQE| z0-|9+hz1}4DEkEvMZd8ja!4dtl~i)}(8~0um0Ndg)3#-kh#&Thy>xNHeaYPzT4Ttt;pN#oGiR<%(RmsY zV+E>eh3cW#uEkUj4+L4Cn&qJ2HExN_CL^)OXCNcOs#TS<`3!ooiSsC}up-+DrgWew z7^s}^IY_o8+=_miGR^(cqQ*^^BCKkJZ9Z}NsCEq&tzS8aMP?uc;9KaU?Q&4p9z40z|2@LWqvj zV^HYQrAh$+A%tf1C~QETQiCj(EFhYfw;utpq$VMT^Y(DT1lt`_no(DGKo^8iTIzGe z7`#1P2|!v}CL)TLZvY|0l9q-j%FEM@5IWtGjDUFh1OQen>6r*og0DAQgf8V9j{rP< z0sth7#Y$1Mr-vIMl*N*S5as3V4Oq3LTM=MSFCPNPlA0*Hd+SYXouYj#={C?LZ(n~* zkR>INVpva4H^A7Eo{2#9@(IA0q^GALM0dli41uC_o*r%r#br7W50CM2a<8NJEV!(9bkdKORV%rUIt!+tF@GtwBOdAV~~l~OHP zG(~y%6rq&NR7)m9gSVHvhEYmd2Fo&5FTa{Snxv+sGD!3C4bn6%Ej5J!?BO2<8lRT@ zjAnG+K7k6+TausXSxyWHs@Cn()a2(ngSUsL55_3Nl0@r`p00YL3aOb2jTCQBR~hRv zGP3lnQSkMy(!Fzf$}@(cJiLp7nrX=p7!bWY-4#rwr6%hb@bU>zG|G~etmE7~+}#uv zY__bMLSW;Ohq3CgWb!(~dw2&Zn90aU*Rv*fvtHGd46DFU;N}^qD55nziP5ue?%p6} zSZs=(QcNDK-lqS1cAHbGa^k;1HC!lpI_}oZSkk6rvk!e7aX((nGP8!v)Ku4iK$;?& z{YhySZyA8BdnQdab`&xfAK zpmloIK!a7zKiod2qrH5K;i$B*U|*bmB?B=U#th98qPPY4nrQ$4lW(wl(y<}kmiw2k zGiKtr`gJQFIQFh%czyRzgO2@5Ay6e-PF9XQq!I!^NW#O|q;R)@fB?qZh0`fMUM?{) zak6jS2HwvPr3Zdg)Z6mx!ClV4>Oq$6n7H$*MkBpm4+MZ1JF@4QF*hkuYs}v?bdtBq|nE|jb4BL?(K)=t1Yco zI_Sqk@ja$Z?@%`Dr>{rvi?$jVMBje+7l*9e~^c4lKqDk#59`b z+)M^lP<)Gp=^-`y=!~;(f(XF`3clR|>>1wjqvB649lD*I?+V6&T|vxt&9F`Z8nZn}1OOH5Y&t~(U#Qqp8uFt+<#W0CGdCpT)^YTua!nG#?GfPetO1Q2rXF>^-6 z_@4$Wjh2P8D~~^}-zz*A+wKFKGXuG_yM&LQ(BJj`#yM-wC^UxvWn`v19$lF-Zt^3W zs?(eFv}lzGK(132!8q5#DZj}ygf;%8Lc)#XcjN5M+zk2x6{XDG$Pyj$vtq)Heze|Tz8={p2pp+-c zPg0`yfBw^X&|a<@n>2{G+%lid&DV^V;}7SupKiC+|x-3IS2MuvTM6b$xzp$%LPdsjMF9O~TXj z(SBzC02dc`v%!pfecW_Fcufnd-{nKEtW!shq>A}(RlR#ih!#1z=dYe&)xMlEsbTHP z`=gGUvfnOyeF8{g(3lmoO{YfB*_rX|?3zs0;#vLa!?IYi+t8TjJwNA=I<|R|)x0#XwUC zW+Jb^qFmNpLwJzMJ^P}F01yP^#rPC#fQQY2Rq9prIDhg?mYBa{q)5F! z{VS);owG|ZF#v!RlIdM#(u7t~>qec8_mwH2u|_bML#ls0wx4`^_q1hepUcMVp&*)C zv3c)e>b=9KuSwef%qfA8(9qDlCD~@8|12u8rUIcE8h{|0LVz_50U^oBIi|VE$*IN^ zR{+BE0wUOEasfcR!wM8*GjITeXc~55(|L>lczYJ2bv6SB0K7v0&}{Lp1VFIc5u$8H zjsPV%YzT<;nHvy|=XnGao#v)!kdkHr0NXP+0F~!Ogea>ayS^0=vYE_4G@cg`5Ua@y z1bDj@d${p>CetDDya+_K#k*#gBZ{#a4L}Ib^9Zo@nJXb6@OFeKtHA(3`MA*OnKlb! z1fuc|0a3Ko$Pz*c4jUk_nOp&@ydWS%TMZll;vF`Gkkx4RcV{gYn;=ToXD)<*;IJY} zmu2JtV_uLDQLScILO`%*0%-Pl4*2jc=D@ zVszGLo=B4%4hIFA!^Nm!%I4sWdRk}kO34uH_ACk!Tf8SG;BeS!z*&irfEC`Bjwr?& z?~Z{HY!;5y(dk}kS$2mllh&EDjAlZRz*{L=pT*ID6}zC)fNdsD!?YlXtX_{&+|sgm z!Ipt&D$DE%s)Oex8WgM9q+!H6>=XsocsC6r!Jdh9=1hYDV^C$mo%er|Yy~Xyf<%Ly zWpdLnCD<(tg)+@<8YZG3(}b5eK|nqZL1vKZFd&ua93sVlo&ICT<`Jj1J+W(uHe9)Ks?G2=qlXhKTcVOj z>@NpT;`}2dzuM8OdW4+YWt?eAlZsYqK6XNr;zkwuSFG0{EZd*?1!V{!ut%TV|EP7p zNfS%m$?`2;&L!#0xJ8@ukBq>Xsy67$R4~`8&RqF*Um6SX@z0x9`m9gS(tZ^Jd8{Br zJi|X8+oxK?>$iEr_;4g5E)GH2*9ap8YA?mi3^C84+pTH0-X%Rqv0y(lSAX=-kn_Lq zJ+W)~Nd%zUJU?4fHCWuU`>be>-S)6q-`Ok6#_;7U1s>bD#!I}j<9Pg#Zohn4BE}e8 zR*OBhFVdUVf#yi7)bfijDn1;0{bW>TzN3nKDttPzQ?dFH_a%yRA^+Fjc?U*SWsm>f z_ulkAlVoPnI|+mYLg*b-R74a+v4DsT#a`C7u5EQ)*Nz3du42Izl-_#{Nk~X9Gm}YX zGQIbC<^KMd5CS9!uI$g<@B93dnVa|Sz3_uX^ux#z^YtTqhb@mP1563wZ~(VD8iN-g#JKW2EK7bJl$D{Mu&O-FMC@DAe**Ne{jLmxkRx ze7W8R`>*l$$;am!JMYn3(~szmA2S3X74&qw<5Mr2k7Z3Q7@ZWQy^smkbw%di@bJ5t zwP9ZJ(B$aqrk?EC4?i}4Xw$YeLoZ!id>N!n2mba!qsgfnDi#=xowSIP7c(}u0nMzr z^Czcq<%LPgq`9}=XX|R;u(wU;C2qa_-jYk=Lkh@91Oos-4$s}wqZoJD@<-I9zvufO zf3cog6$Y?hK&C*!ZdM;Ij+3znLjo#@qXas))no?Sjk z>0BGrEL`>=gz>r!-)vm_)wX$WEqm>~HaB-nitD5I8+(ow*NKiqVRL-4#&$5z+Lu+B_;;HFqTWiMR`yT;xtnuikJ#|%e;VU0~ z`2Jc`G^413YFqu+4>qJuz3qkxxmu}Mb;$!SWww0!`I_Kq{u%)Gnn{?5Z0voH+l0ALoAQ9Nt%?YA!S3$oGxGC{1f%Yx<3dECxUo>aQ?bFoNn`=j0zIfyn(A%>2gI^qv{`vkwtiD59de7r! z00j?zzjDVH@9lyB066}(=Z6flz4P%-0S^mBvTt6#Y`E>q-MLQ&7r4me&dD0`Vdfz94Bd9yUxwen0NC$ zt&m7bR+LV<=Kg%^&MiA8-?5|wbgmba-+pg7Bt5$}ZK&G0dh^2f?tSI2Rfc#@>4@mz z&mUa5@r&=T|MT3JpI0}e6qI&u{o+TXB3)G<7G5)d@$FLyt(f9MhyVawtJxF~U%Kqg zRCBPW^YGer$72BS6j`_4^Mw0f=Di)qBsk!7G&Xo|xop|9GGil9egLFZ;{G6Lfoj_~)+eCl){X;Cru~u<+7UA{vJP0V)!-2Sk@IT&kHA zBF%f>`EnEN_a-?t)}Uxk=@ox^Aph}}W0i*BfUmJmTP%C}U4K&)nZn}HW&HIY?WX-9 zOjB|9pT8L0;>s)?>pJ@Nx+-w>YY&#F!aIOw-m)hE9d9}GuN}2+Uu@LU2kvHey|`uf z|1lr3(_e+ZAzaf%?;#cON0}6b3Yr`Okq|OLUjzdHc)i}fV|*w6)%V%k?_6KPH9#(B zG#X2DbKljSeazYA{XZ+2+*mB;Gn>zG{MqFQAz4-yjbWCP;jGT5t;FZ#($bjK>~guz zv#pa04oq@cS+vLG^?1DJ(N1GjVu!(yNZ!-`7`G>I#^>_#@<1?RGM`E`=sI;w z#O3z))`|0i!AM)XuJ;&s;+T%X`UB^NJVfj$d`LIsmyZ*Nb;**Z-ogPfZoy8qOp~t!;N(|Cd_MF4<)Q|ob~Po1jfg!F4aert~rgLFJj(afpyCw>r>?C#Q8LdKRFlZUYxn{{Tt z-)89O)K~647~-d{&O^*GINfxoV%!%1Q^fsI|GtZ>-(d;!DwLd5n9{y03TEm>DQ9 zDb0cYo`!ZS$xv2(liuxz9KzaM*=D5>4T!MmSc@rwV~|5IxX@>;scF#183?Fwquwe? z)=Dwo*0tNr9&2+`M`!h+dMl|?%9*fb$B$oasqPX=6-3Y(qzMeeFo+|6XLU<^nC98q z_f;NmbJ3)$sd`t3U7Ar^mZxH3ZiAs4U^p3YH`iAmYUt!ClDJXRnl=0EE>lx$7X<|_ zV~Y=nq+H;&8XDU==_tde>{T^7KZ7wCbhMq&TZ1?R1P%CcdsXELlW$-Jh7Q>d9B+qW zm6V4J$G3j{&+qIpu0l*W-4P7OF$}{n#?o4E4%+ID)m}7`M5jq1|Mw+jXof zDw8V+CS14Yhj&&TL4=@a^eDB6@S2*fJ_^T>!_;K)^AQz7I8NX=jv1F;Ix>#9QFB$DF$@5}fw{4!(@tU#;xxm7 zz7xlebvxq#K$ppAiSkpE#lDtZ+iUGz9kqs*rhO+&T$xHl#G4MS|K`U{AtX>qfzug< zC*{-KSZnkVjHk7#(L@pm5zyXT-QE+`HPqN?Nm`O5*nQ-y_djh9^E2|waKHTnCCMPrYqgIqF3b*X4YDGBVYO88BMH%qMqBvDGZZhhrvAAZ#wf#T#0CSaozKRE=xo`z<<8=!dY!QCD9 z4nM;)H|?oy_ZAcnPnPrD-5uS2nnU1jL%pf1zNWz{Q6-b^hRp|Rt?i9^YY-;`jh#-e zOwOS~J-QRk<`@I;h@-u}y$9n`IFHuVoG|$?05O_|RM1>m-4q%m#XM%OK6Jt^Q>r*| z->#oO`+mPsAc)i*u8i@NGCtE@xpBoO+rm6TsLG&%P6lE)hGB?tb~os(5pv9eM=z87 z`1)hb9`XOF`G!WL>Hjqvjr#rmKb8Uvs4y+b&dcC1AT=w8admY#0vA*RpU)SI#ZIU5 zH>>vwg@UH(Kp=3TC(7k=2w{I+{X9{t)qy}D5{X>slDRb|uq`yt!+;BJ?nM~$( zyDv0>7C{iHsi|FEUB7t=S0B+TN8EDbM5$`Tr6Yn*FS?^K!bV16xq$m8x%BcE7SDY9 zZ_l*3NLC!bjVMv{@(0glx~h(wz=$y;_kZ>H*Sjo#jIP1LYajhfh5y#aR?<8+Oy>XI z}`Sc3xUkety2mWQs-BnuVGu&+x=w@;0wS?UtxhrM4X5^X4HUg3(Ip6>Kp@a+wVj=viJJs5r{akWdaETg zXMz}3Qc_)Ab9%stb8XS;pT!y>q}6J195VVJkxdTZmxjprZ5n}y|q-vf|r+O=lwa4nC^!7=cgGrLDkH7`82H+Gt` z3k5(!mA}hO z002M`Ts+XQ_NTUAVeo+4{xfgn-RJ8u!Ga&vQJT(Y^LE->Jl8RTUb56?;x`W>B3?REeFUy)v1 zkR#;-caN?`Zy^WrMSvJFq;#BC-a8|r!rp+(io|IJ`I!xTS4(kQXLGyBGeB?)jGvy9m!TF}>Z{sq z)U;{Sh?BC2yIKy{Sx~<_3L^x$MJ1^UUck{=-)hq9^$ER{D^ZsX&+4kKvc}H*=@1YU zmzTx5s|`*P0Dy7Dc|%LYA}}Oft~(_?Bu>dM%jO@iY6_p7(vzDqazw7V;gBPY0YGSS zhvcRu!I+N>*zNwfAgy$4fvWFdx9)IlSM1`2>O0?gJVjA+=gz(J&Ts3-TmS$d07*na zR6C1{i{E(TjqdL5C!c(B-n@Bh*REZ^e*JIG0mZ^{PMD58t2_3b9OZxWbPQqwkxcNL zPUQ$?a^ZjUnsI_Jlkv|oKDDp=XFCADORPMM@z#C5qOPw&_C8~|pvTGI({`|jmBYU& zMJ#5mUHwIE-`79R{JZ=3;chlZ;{PmEa==<>a4=NoD_v1$^ifX#Bh{JGQZVG3DkMTr9uBud#F!3m^!Z@T|$|< zP0IBA;ib&cn)cI700>Go*@byI$#PzZlUP~@9I>W+g+a!PEWCjFiDaEw{`1z zs_bDUCBCCIK_p3%V|^vwBgZ4BEz%$kUksz3)=nD&bTGs~gryH1oh}J<+CtewhQ~vP z4IZ-pFGBE@rK3j3u|RjX$rWL6xh5%qf zZSk-ICFVM7gu#?)d4+k|ashG>004w17Zjz7t!5)fl|7=gc<-STF?V-cs|x^t@uY?M zX|X7MQTOSemjWD%#U6e1(Z!1wZ`rb?wzl^A>#uKaZocWJo9?^szL#ElDI+7}!w)}X zmx5VXSXfwCSXfwC{sSPKuat3Z7PB~wI9Vb%qlDoll?}~}bXC^0x#&SWpc!1Ar4~7w z_jj3r7n6_A(Fj^?uC`+i03pPMvShK4k5FJhFJZsi;zIz6)29rDrrNp?$pm#xCIAqP z;YsOQsRV-90PcGTU|cRk`fL_!96<;HhSB<(N&q1wtg@sDLLLW!0asng_U7XNK$>wY zQYT0y9N;J0`bxADq*4wD&;u#?K&()PtR}xCuQzNY7VD@!3LwO|PG!;<5f?|HK9!Pj zw4ZR$6ayG*SU9FYPT-)w0*nw4%M}4jH&2{M-VG4V$sSt52^kI^?}#&J${C}aHAn3b zLavKU8I{MyF)Vso2@l626y0AwIENFDI&4-8jUa@8;b}9~ysnzPIv0VY6LPXtdY9#t zqcURDc_m`XcDSk`OeNxBhOIpz0FW$o7$@$o(s}!M z6qS~i7L7(HPMqj+xt1EzVOU+P7F=a^lx!0M|3+&g*V$LfX1d2sYtBRpw0lzO0iqMFCR#{kBSXh2%U@riY{-*lI zZg-^bZ39VPQ+;E%=hQALX|h_v@w=nqjO+}Rlm`c@2tyQ!5Kkb*ARyx;5b%Wn0finYNNn+aU@Sd?E*w+UDAcS~&Rx0l4Y;`aI00@CVl{utzWTr4^G&<2hr$K;lE=Ryu z4Jj_nP|FgPL!3~mGmD0niICsskDT7sQ#*qpAQb62!$%F3Mth9b_^FbLQzZkmh#^aB zO{2lxe@+5%PLejOsCYP!^xA^4{w*SgMi2tXO;)R@u$Q7vuN6Z*tu;-Zp1$cBBhqFl zIKeU(*VjgcunKmR{ zo1Ue_940#jAy1~s7RMS}?E_4XAar)tH@4eOPJ0n9l?y;P5TYQ8yZsbTuHXSAQ)kF1 zZ<9HM&d%lu>8|GL_MSk$2`x?05CR}mC_yBUuv$O}0auf*5%rk5nTz}!ov)V@LTLBy z-EY46W=ToOmtTHaR8&-5UH$gkZyz{tfE|oj{*&r&qletzl5QA3i$)CDLa2=FId|EE=Jw`~6Y!^KlIoz_1iZ#x?h^T=n;b8Bq$M z%o$&P{pPF`YH$k^zj(x$+;qiY|MshfEnad%MUwyYOMzG3vh>EQM_#Co#?aWvd4KwP z&CacBSN&VvK-`VLh=2t9vW5rdOR&+``Wk$_^V%3_h8^8bLwo7sc^;*G1 zw?4dVc16~&8TJrImjCjHpDmr7lTiKXIB(|C7uKxbw)UG93&zS=A43)v78aJ@5kj6m ze$v!w)2ENjOF54>I1~!GkikVVsZ5z#R$i`__U%|igsN!T^l8(kO&yUzb#$18Ib)|y zpFW`^lLMH9GQ!~rL;@bcA;f%M|F&dlLncj~HhtQpyks!~0ODM=T-@E`=v65YAb27X zp9cXUmhw-%2NA8zA2WUWw5e04WXe(0X=pQ8DNIsOIw~hwn5ds85D54j4$cvA`y0fu z^un^K)22J-qxdNvLv?cHp zEfU<*TkKU6wS^-Jl;QSP-LD2C8D=W@B+GYt%w->TD_oQSI!I&xHo4974W0-9zZ0Dz_$fStA}5D8>r9w7K4iBwro zGO9F7lu%-EWp0`{*kf{?)fwQiSuueuEi+dm#@xObM2sdQC*(5u&Tr04;5Y;{Lqh-o zO)~)JU`UXjmFBYO&r!iy|3Lyx(XcF;u|wDECxDP5J6}v$EUt^5Ip_lXmLY^c{q)lh zKm4$I_3BtGwsh%Ik|fK^%h~aW~^Vn;a-G0YC^-sTU6Ia}Rbs5LmS<~ha5)c4Dqtv;# zU7;ahB8Z*y#Lqt+brBqK`Q#a;*-0UL%hqiNeIy!wLtjCLfcMS5c9LZ`*w=W8#8YGq2EqMvkz^(N?{Ff9(JUGlWJ=ozHXbJ=)|% z^3rQ(rXE_iK4`9nz~f8O(zG%zgAfoV=S`bBUL#`kb^CYKc4H7^l}?>Hx_~hq)tNjehkGou zV)~Slj8IoqH<^yRYqkaeLWq+xec|MhoS<>{&fOM2D!63fC6g}YxRa#XQI`7s8;-U? z01!i^ja@h;)4y%qW;Z$DVk|7W`u-P|jN0_&n=Pp1?j=w89glpp!Mxzbw-)5Iee~YS zF$)&mcxBrYD-JJv^B*(ehUcGtD|6O84?n%Uj~!JHmPCS1npLeNukh@T0yv z7WKM3{up9_s%X;8F@+)&ZmimIti_EOP<-i)8TN&pWl$Vlv&V;p;E-LM;1VRkgF6IC zkl;bX;*#J_a9bQg&;Wtp4haO;V8MdxqQQgjLV!i@KF@n^-MXJ{f0(H{)pe?-s!z{! zPuKrf#q;Y7VyI%;TbVs(_t34bx;KS~d2R(xh>>L%%gQpm37Pe8%iQx#fZQu7f?3m}nG^ z)DFsxsa?wRuQ=gP)hBFa6>~d%yMDEyr2D1pe2SS@o(iR-2b?gb~dXfo=?( zZkh3gbNEz4q{U2D4s`Le!XI>8?Y-n+Md)wgr_=%Vuk#BVSyJ>?$+k(NqOm`Pa2*g@ z3xCgyhvkuP5C{~`+FX=<=w>R$k*g7JuAf!?^-D(%LN=IPfw|g;8Uaf z$QJF1oT1jn`>|D0SkAmmjGwLQ=5KwzyRK_{okVP0D1wk;8`34XDbC~zGpF=LdUW9P z_3#CB5WlVvN|JsG84*t+kB->##_m%dX}dVDI3=XBkqkPEO-{L3xf4rg9~~cR&fjDu zrz2=>`T%)B?)J)TruZzUwQTB4VckOiS!wQjYh3nObU zX>sB^g2S5~jNt>Cqt@%8xPI&ck0qqxR=xxSD$im`@H$%EIjByWeUrXNtn$AM>vGN8y1#4JGp#yTT$(JV{u^Ee)epK?cPIOa&$cWjKO=Lt#~JCw^=Fj* z-l+Hc-W!+xttkQ1H&?!NKPX@7l^50`-xVdnHpCgwTFGwbs)@^H_NCw6I(N8wtRRR& zxECRey`&Uec8w1Rcst8wiF2y`@s7MxXpt&u4^vT>y6tJRW#4u;9)8QpU~yUOE6+6IJfAek&5hyuJ$e zd)Z_qZ?ANkmS_rv7HPGXq{={Z(p|sS#Sg#jLSx>!xH^YNqGDR;lBSX;viDCkMPVf| zk3ZlsfqEF1$BYu!16!Bp(ouMO}teRV5ROM5K2ocppfyE4lTa9;~0POIAa)xKWc&u58Hu1DGnd= z)+!7DsIY8Ro+8LWwDOte!E=AC-SnQ6)kkU#H!+nw!{)n5X*nR$%rJNYlKa?&VfF%B zF8EZCWMt-#+1e*93J4noGK7UhDe9YFx9rnRb1&saYBxpsxG;0t4p~_HF1vZ zMyF?S-Uk_DJNmC*OCtwZ5@qf#|7oXkqzrGNDa=`DRmx%B&Jm>$n`T_EQ5Ws^(usn{ zD<^O2nKF}q#134Bq}{d}9eplczTMP$m!bj!=qDLg7ewz9(pMPfrfmcp7?#?(CD`z(hr zqb#ghvgr~{H}M|J_>Fo1n)<0+?p~YzWWcQdhBwI96_<3}@p3OLjc2jJxg+zkmrkbA z7-Z&g>|L|}wGPwg`IE})%Y}<+mSP*-pv%Uw&!X7CCU28R{`^-|$WCY4;Kw^;B6;$# zvP0E`VWqI5FEXoUxvr6g7`&eFDD3i_+u3Qr^gi2n(X#jkzSQPWO8K2``J3Ymjo#W7 zw~UnFH!dS%noEnGJDQp?vG04|jy)dX0&J6PFMZzpG||QjnSfM`$w;c>QB7Z5pBMkx zC@7C#%_^Y~Ik>#rSU$u8q7SB;bPd~oI~q+}CdvY4y^E+{L*98D0o_6YHr-9^Wcs$7 z+YlOaZJ0sY#~ju;{@`KQf(@GGXpUOG^xSGZzQ<5)l=7P%nAi$b`NGW1ZW8F@rH6~q zLE=x52^7V7{DJ?H4!(S_)l(Q;jGP)WU;sz9M;r2Oh2|885-j&xca{ zGhrs5Og05*CEUp&^0)w|LeGJ&&$<&y(-KB2`$+sv5sKWOn{z{XPvi26 z<}u&qp>PXqJ7K*v-;Lbd;V6$U${i(7yu3xnm?qFa?^pTzfT?j)A=V`In$u)Vt{>-m5fj9gjo!N-v_7gSjUwnoum_qt7ckK?M85B9sh;iqYH#fA z@@4}e39I5)MQKZZL=YfixV_x z$rcR<lM(_R{9pYia^Uj+thM|s%ghNMCGB3vwQjPFOw1rba4eqG3quVO0uvx zczY6aDpx-c6C;t$ZX_-bK%yHd$=xL02o8qdNHcx`cRkS3@cSULbDVofh7@xvD}~`; z$C^c$$y|%LV+bonxf5OA&xG)S7_4dp@N1y$P9wQTSLUalOs%62LHzjNDmwptV^TgG za&~q+Rk{*u)($jQ&0^OI<-cpO)GN!hqTfDxdx(JHjO-BX`f%-fo_RDhNy=d{g}cU1 zkflev${LGj9p7TbR(@~#rM}?G@O=Yt}#S=eL)BeW2@4p`VwQ#Z5H%OZA+M7?|RylN`|`u4j-8ByPz_N z3IMcMMtKs{dLzH>vBZR(_G)&G!)ael!+zv!7ZkGTbw|$f zRP=ZoIjW7%Ev)dPQ~D5J#ClRQ0T_)Nd~8jY8GgDf>8A{Y`; z5D-{f7}NWXJV9QMO+k=4gwvi=IxE#mlR1@Mo-mz-@oV6xUl6#C3^*1FZGkwa-DVDByqlnRyV zbYtl|lm6JS$D8Y`!A>h~>w%I4qP~o6cnP(mcIH~_c|t!#W2s4Eh}L&!&nE)wy4gK_ z)ZvUQ;KA^T2%=tIzNq^2e4= zaSePePV@ZyxiR-EPtUBaggmr@gHi}~&HX_ueQrx$tq^jp@<#1Dn#*X<4k3+8)`sw^ zF+nI}e0(@)+4%sltVedS`6}>>(W9kPx6o{qpmF3wJ8FdP9aljR>h9YV%omFa76OF& zO#ewF`lW&&VHXmU`-C*>9UWlx#k7EpZPSG$P@coQNFmCcs#rrh3Q|JB?tZh(X6zj0 zG(Bb%3IsTj%2hEdZf`T@T{=?r|23vqkzLR z?}bq=equO~-{w_!QTfi>u+=0?wcqj3EBCc>WyzwzK~TTRHfG<$;KG zLAI3A&I0)d^W?{p87ACs-n5g%ws^KY>(fxYd6RTM9_DU7=tm7hp&uS{(>a*+uGmcC(r20Mxta9$KQRdsn`gkv7&VOw#tKpIDWLq>m>htt z&7aNI5)(EPRO%a13y+YdyC&+Qxa;8!)n+27e@D9*dneEv5YK&^THY%S4!NH%X1jOS z>E8+J;B8u4@%!#sBYhL0lahC$bkiIiWQxz)15q)bHm}!eG!=S1O8O!N3ji*|%rgZ2;hr1G_OzlE z340>+Z=23Wi)vQLXYooBG=FwhI$=qj=*B@(Q_^&?W{f)A zhgT?~o{L-My6tNae4iPUI#uz;4HM-RdiIHOD!%AZ%_7vZXA^e! zjT#H15A_mUU`_wk`EKHX>91d+8CCtxI6sMt2}ZdGd}hv6;MK6}q0|!C5|E8+aX7!^ zLXL0ea%(|?n`TJq0v6)EO(m)wS4~w|oaY;ypz$HE9=R?P5!e#z&o~&O5RH+n5v0`_ znmL&=$Vo%}kxWlir8Xk%7dw7QLZ5_}Q_Tfr@{F1s-g3AovDEOoAPBkixY1N1;_dQD zKcyeD!Ec@8HoxmO!$+J0965r1+diA(9gh22+Rxtq<`yZsy4dXzi#t5&5cXJ@KZDU3 zFUp%Z${Aw+Uh*o%z>H(*E^9i2SCr_pvP_+aRS{xEC6pw7l2JKa?R3my5&p6c6W`xk z%5Qr|vE(t>Iz1sOrQ;At7Ug zI0`wM@9Iz!^uCPaY;x-9C^qPRyKh%L+0#bjWGw9$?lI?GbN5wej8R2PG$7;qyPu=5 zl~UZ8woiTY2}E=~JiNjOCh8B{VXMuK8wnKZeKU>RZOki(;ccF+$H~=vv&Vmp7P-}C z4=Q#vs;EM7vMS!T{vwKmZ+y}p{R~Z_SUo|l&eHBd6pZ8ZD&IM`93%1nOc>R1j5l-) zaVS7&xO4qyLZ7my4i;2p5qqvVm3;m#=7|swt+4u(xYEpjSEZ!&r#<2 zg1+f;bur2cQsZBCyTaCDtt^-lLJY=th(5o65*|Z_7x`U6GJvOoHc5q(4Un}G-2JQU zlJkP?uqrn%Um6`2 zY|?+nZ{8d)f7|;qyc5s*)~wVZqr1-^1O!t(S^KMCuf~|9`iiGcz_muCTW=tI$DpQY zuypm9om!qN8NWH2KpElEMH7Qi5Gdn=oKp3%U_co|PkRNT!3_Sl>4Ytu9opk#so{AR z(z)rO{-4x_`j`MfD^E6#o&2*TuGR{`lI+I30_d|nfIRHeJHaC(YP#j;NF5YY8>i_b z*M?wYJXe%l0Wh0M%2LLDyt?ZM#3vmnvUrsrD87fdVq&5=l_Ny*J@htKj zsj(XUC;0`{z~hh6sOUxJ&3c^c22MyfYY|pta7={%9bpr5Rg;$X+8Raki8p8$!)eSb}Iini`v+S&T-+StiXSlEOK3%;(r}AaW zdGwz=S_wjLgzT&W>au(c4eq>ysXT9fc8=Yj*^{^w32-Kw)kFX3@c+lqo0_AbGa-06 zCaK*+Arb#$TMqLNnE%J=-}^tF|HsJx{Za70KL4LX+Px@N_=i*w0osO9!Qd+m;h!CO z|2>`(X#2ni9rtLEG#WLXFHDMy#p6ZFbss-2s6Hj==lu2SjXon8{wWf9XDQAX{+I_0=YqQAO7q)59ry$QTW$#lQ1huhTs4?nabDC@7s0Dgx5d-ElZ{pF>NB(hUMCigY(3NJ@*OG)hV%4U*pm z;41hyA#q=(Nx^i~V@m+_XWb0&-3Q=j zfiEV)UvE)UdlMK$$-*9C54W&)fQXAjm^Cf!OzmCaHvw)=ZeAfy9w8o1$VGfxh*J=( zjPercN4w|e0Pqs|7k#AZmngr|z!`{l5zvuPe)5R^_kJK<`>P*FH~!uaWTam-kl2xb z(Oe{=XEG%3i z9BdpSG6Gy&0y0Vx5;77JN+R6L@bmQ}^RF=y9u5v3J{}=HJ|QVSK0fJ1girdT3eo?B zzPalpa< zXCV@RjPk3H5I{mjLP17FM#DhIL_@*l0Sk#xQ0a)d&_tDuN$4H@xY0>tUX_Y5Fp{Y> znegyB`S*)sT#r@VoY{iH`N-4D0&YBrQ!|xlevRO#7*L;uZI=hO3_8#4NHWD|1XU!w zADZ9ItZe5}cS-)i(Tf|F)E-x$EPk?CSQB#RDP$85!gj^^zwHbTqz87U;N$ zQ9%wI=}FMI{bEQjIA~Jo-{fI5nQ`)u6;~yL!g;r@qhBz9af7dU0A%7dg{g!(KLR%U zn}z?J1E#-NI3EXaQ7+pg0z`m<55hg41bEftsJ{}ZMHEIsp_T_cM=NfJ@5J)CuSQr~ zl-!0_O_c5fE1$dazNn{V7VZt71J=pQN7D86a)svkW;+!gg{HSZi#+q)=Q{_6_I)Ng z936$^6)^HLP`UKZe_c-mbWY)26 z$UiG!puHue!Al!pMc{w>U1Bb`DBd>UX+s|4{XI7q_a(B2VP3nYp z=^T(S-!W7iq*}R(8T=SGTRX@8U9e)m*|6XTpMkS4J3g5;nw>q%`{a=?CIV6vb64I7 zw7p3DBI(rwx7{PkQKvc^BKD*&zt$vEptkQ;6DV+U4!E0Y8?f1UMO2LLSIa&e-aiiV zoILQTJxlfBvpE}rUpcaHxH>g+4tR?f=v(fswzRh8wbUHkt(7@b{!;b6e+tI1 z$!ZEjF=`{vzNf2tH*u1c@j1+`Y7)q}m>mDqlh|TSI-ir-c5tx5o z?C`=k?fY#$*xX1=bUTHvD$R)P=zhi1;MRuTPv)5$6Gzx(wC8|Q@Y=&TqkQ_jRYwSS z6I9;r`RA45+=GGj`m_e;ikvn%Mm@yjttm~j$JK+*A7KjpA6Sj7Yr8*Vm7k2<3ZTtW zVkIkU7@&m*7@T5!JucWk2b5Kdf`y6)X6GNC1HxK2fOFvO#|h}OFGoJh(O$w@4^{i` zLWq+mLX7J(l#4O`?N#n}@^MU=Yix1Tfb*`%va;^ydm)a(ej-xv#ZTuzR#XJ+A&RZD zy7w3N!a@s?I?*Fr`~6`atF9X^^`0$8>E*N#TF+~`vu@IsN3ydn>=nYsaBWA+sr)8Z zh{a(^<-|FV6J)z9uwIsO;FljcoVGJj^`5$v#U%odDVAP6dqkBbm9F%7T=9G75P`b3 zRfWmuCMEuvxC|r8mQ%%vd1axq?LigJ?Uoc85#c4Tt6!GyJ{ZDv+86A@sm!danWmho zOa%opTk8!C;4iBV`Bo8lINFbN-q+o3+gqRAukBiyUba(5?uQG1A$59i4xngor45x9 zcD?m8Soa;jhSCT%RDEh)xG`nEe3zidC-;oFLRS~IUs)|YfXZ7tNc?qqqu5hK>Wkgb zL!F7bPuA;sS)H&53(v4;I;?xV)}N;$%Xb>MG>8V)z5Uk)tqSZ5SqBGj&H5m`S1E5D z3?EF6@K05$eKW{^XP<398OrYc?UoG@%d5&^&xYXApGk&84y5W`j?pA7jE5;n6 zakIDTj&S<`EAU~pdZ_wfGJSm0D`UdKks3qw&1So>W`q6Ci`u(sGc391z>JTi{mb&b z{`(|3k!kNZKDC^<`%LnU-h{r2+-+OBk5~rY ze4mC>`g_W|y-Rk^0aHSPr5F<%aH~DnbAUec#qqj`Oq*~_Zq$6#N5yt5l9wpQpI@B= zPPtc^H`|W`rbKq$z3~a-w{0ovmM|+@Oxv`5^yVBGUN+A^2SoKwgDNnzLzW`j>AvMW zN{w@-{l0G4Sv-(2r)-_`9`Vd8kz5ll!o4`&lV(*0ZgYYwUN|BWM|{22w+9|!kJ2(? zpo>>1@^GQ(Fzvpkbci_}lNvk+f?2u9MY#v%?^1u4o3g*1^+^k_S}+1-M;9DdTklo{ z37_2ofx9e-TJA+fvw;JGW5+R8*E8hY$k)+3cu>W?fQGPGDtEn_1aF43lllI*`n0K> z?lV{F2U2ONu4`V5PpRnRwlrU4edInz&h7Sz zH;<&=J=micY4Z0*_4yLbGa}AWOmI3YMX(XD=zI?F)t{xxKu+@#g#^F2odd7cuaKrb z4pX|8rC!y`nx0g94xsfMGmyKj*sTqx-FQrUys3PeZI=#wr#n)SgeXOr5gDX_~OXzvb_A5S!m-GhxG(hPI$cp z!}1KrT4d#vaVa7SE5UoWVZ)2Lyfj8+y5($Z!cMD5Uf>O)Vuy_Q+p+hAzU%iyjli>4 zQNm~l4Lzy8&x?w28&#*ZiFeI!4KyAVUgFo(d2+W0PdJhh z&fLOJZA2DjeWqLAMY8gVZ|^VU!R0*Nf=B3i}Mlq)}oCmhr1lB(5wfZsD#{}9B&4eF>o;Ds= zE2Lpck(U52e$(`_;&(P$qjG8I95Sp#V$AKemiM0do=_K3PE+01eK){(22VW){6^zE z9?Lsg7H8G8&U`E^?!Mx}H9>P)2~}FJ1^2#SQMY#YB*3$s*3rISt;LF57>e>#)Dl{0 zX(@cVc0?;T`GNA2)Pc9pk+)6TK2a?(NnsC|Ov9N_QuITRUS)zsOtUZ);|1|^c@znI3g z^GcJcpU-Qc_or2+>#?+{d{249JNg{Rz5lh%Gwqv4!}1n=ul`9u)mhTOHnZ)awsYm% zilc)Oa>0g=G%OZhR{5*EW80>}q%sW;6|-{Y5#70P@s|A0H_E1Qu8DZ0E>Eeiodcoj zy3g80yoQGDV!bTb$_?S~_G$-wL}n~COOMiC$xTR8aJ9fUi+o4kSg$#<7Z06w`$(Bk zgzt{D_n!kVGu%?P&e&8RN8ez9w?~+}&YuGfd`OM{rcKiuedoXcj#b0hnBNzZ(l;ah z)t|C&4eEB5wpIj-@C@1=*q&MYoR~@Fmxk!?ubEIKXj?>}t@}!Cv$|HE10#7uUL}a| z`p3>zG#d4N*NeUfYK$2ZK0FZ_uP`TT-;L*s+#1I`2Rd(tZlz1`y>Y8h{BoT87`HaJ z2W@@Cam!cTFJ9{_e?F}n(^P#)$60}{%YqGmou8YF##L9>+RLFEv^mJ z=fJM_?%bTx2vnXe!E3fQtjDM;7VbUIn~Fj9pJkDsNq|FXBEm)a#f~3YNUQWP41{OzdT&!O|jr zwx!!H*Q(=l`m8sP4!D-8bVuxq2UtTt$XyY&U^wRcw5z_8V82}tv~NCSgVzciuAa4u z)Fc)3_JL#FuiY#xke#{5F5$A%Sp@NUkvuB+0hKRmop|)Dx(}W>gZ~tM4RfA$Kj+w` z!{$jcGD6u?S#Mf9B93tB8h3kCyQO-!ovEk!2jQr-nnHb!@mod*80%Lja=`5h+L5%UvD%DkyeoHYke%_-y?jxW>dId8Qj7kyq0NZ2^74XKf{3TH(_In)JE<1@ zYT)d&(WuBHvWPZ<5K$pdc8a2Wnbjodf}U81aEz$s&p}S^t!1kKh+-G zrl-@T-aI7}#{IDOa$#Bov+?xS^z6Yok&_-<_Yo zDE%m()i#;&nLR-rq(UmzJpQ>3e zM3E_EKZ`maYTY zTz4Ej)}iOMWT&op4XqDPnTQ@us_F5>Kw4w)e7wyzIYHv~#`ms|jPjsj=}>kdH0EAV zxT^yVjR^VchP+u$z6mzFZ=Z3&HOTZi_cm3kT-7QO(QL4zU!`C3!-$MC2ilZHFOD4* zoaY4NTHNCAOm=eZhK25&1JACgDJr!w>^e_=?OjCY?LB?7_pq|I!x@(DjO&Q*1ODl_ zuAEoaE;tkJKCVM$zRW9 z-pNn$AA`w{gpE$QO=A`+&Vf&K6#f|3z~j{8F}wDI(38a2&puimL>L24j_~YTmdUli zwRmt0eq)&-dmR@nm+Yfj+GB}lnU^&7uFwLif7JTs*sH#Gz;pO^&c^u3V3K6^2JM=B zdrya!!25ZZ*>m8Xj?J1h;!Em)HQhvcQPgKIH3GIP20Fz)>g^o(ZRF6>w}f{5#AdD@ zskct1>f3k*)x}dD+=Dh+cnjr{C_e#SG^6G&ywKwl5Tl*!hiFuJXL9xS)Rc5nVtf<8 zxU<|+7>FXD(NhfX4aSheHm2IigNQ!#`o_9D(Y`KDJ(V~D)&nD&jTBhy2R%EG4R z>fjUuAH?#R<$higA~ofUj^Dua<(VRKTaw3F}r(_3ECe$B18bOz&g+`IR`AeTE24#@ImHJ)OP6kp12{ z@Nf19cAqERH{Z<1NiKzrV@|vp?C`0SDIXU+(Ik$I_tHk0yoUJ7yLcA0cthlY-CQ-x z6B+4yxt_ru<;B!exhEomiiSPW8`Gk+O%5S9jjIjw0wxWY)=rJeyInU=7Gk0~UC%;3 zqI&{TvkSe9FVfF}^Re@Fnu5Rdggoq=fPk2cJnHpJwH4uI{I}?`Oz09Y0>&5R7kWDY zz;ST0v_mL5BOII&VD>_>2`Ir4swVdKHkTMOb_f{E&e`^&;39qbwl#-%dsx8#pSi-e)L}$gaOEGVDwiXiT~C|MF)hX zy&W7Zr?|ircR<+vVjB>*F>(5xQ895$Kt)PS9OULg#SEyJLLjF0&L;Qmr!TUXLCVSQKfuIn{v)24 zlc}1z9YT^p#pYr(e+MxeQ^>!AtH5m#mvALFoBLY7(Xm}%P=vkH17n2oMGr2SR5DkB z|C$FE=?i4=eZe;H5N7s+%)d0N25PYXU9+lCn;&o`C+L0c3ksKk5b9*_plJaE2N#@^ zmUia9#D{-TpaSwFW{*JF+uGRMng6VU`>W)Fg}=e^e!*2N%`N_3fb**WtNUUIN^36%yo%*?pJ)=8%5K1NDOI3%)OA8p>r| z%uC46HH>^8tO!0oDP6lrUD_pni~;pU7DX3~e)Rkz3tZSdkfy;miD8lAjL9vHGr$nw z1~|co7mRtp59iM}HwY5|F@G*bF!fjX8|;$WFH6dAjK3lLhW%vwB5&txbFn90bRONr z-r3F+{x2&Zir@mvE+!Cgv0Q%7NihE}a~cr)YwlmNq4IlbU$TY{x3Pr6;2Jg$FBT`# zKiWaNECa#B;Dd3Qk$Ld9wlK_{?42F{0YbNTvNX5+z3)n>UQk!Ogn=~hjGYnoQZPH1 zlQ9Bj3IYH%cZXjG1@;f*3&=%@%#Y*Z|91aToSkg`aok)A|DOWU{F0Cg2@YfcI`3w9HWGoANCl65@OY>inBKXmH>0e+_02rn)Gh^q= zEg8!N=7jh+=o-Jk|3t?zF&DSDv3L5LaEX4<7nAy3a3Ny_d%Fu+V}U zZ3AwO{{f0?a=DrQ2RIHm#1{XGez_)@FB$@H!3SAn^D_No{SjTJf34*UJLiuHje1$@ z0v{j=1*40l@)CU1f2_0IJ{v>g_;N9v}*s z0``Cj00SU^5?}$Q5#R&AOgVrU#QzNj1P}*57fQZM`ad-B7~qWq@MrT#!1)ZJvIPR+ zAjH982WL0FxaGhOwYTMPGj`zMV&~)l?ufWK7(=aL2#5&`)H>g#|5n>T53w}8ORvc% z&nfR94zsY7_Hcr!dMKztJ*=UErt~8BAa~q^+-x0eVF+W0o2`uqvUs$e~|uNd^s4uDuJSvm;d(_evO;0?e8Yw z2niRk8~@cP!!Oj>94auly|WV(CgB3I$?&T&I6?*XmpuQ$-LJ;}Ssg^btn45p?gTRi z&6R4Psq)t-|798f`wg0lwtk|+K;tItF8#%o8a7TIHXcs3iz_wU;N2P)P5~iK&L61q z_NJC*?*A6`;`YryP{G+|3K~rRTVzwHkeR)ctuZJoOIu@e7>AVu%$y$bdkBOs_4;7T zAbUKQY{<(C$=JaW#&%Gc%!9l1U?12mElq_41bK|1{3cK~K^~|88$TB>ADf_nfC-!F zZJ05asi2veARqKs{Rj3?=ZjhKtG+2%pO2g0n49k8VH|I6|Ifd;oXL%13{!9>kLY5g~|iQ_+G9d7LMUo&pP z#Rucz;^Sm95j5jw;}Zaf&e)V2$_6#&5ikQc5H22mzF!^xw~YUN_Wi$S{HI8v7RGkw zFmQ|Ip#M+10=2ihuvq=o9S374@Mj$em=pXiy_u7}E#$`}cCa&tAnbo;E@$+AO41bO zWcfGw{GH(M)*$~o(*LdC|7UCFznC%qHw4ddaSHrc2^{~rNPgrW{1BPsg}g5}N}+$Z z9R8=X3fwt`O#jy#!jJZU7>EB4HiV1maoO>|9f!X_;2C?7{C&9J`*jHadH<2X9|`=C zz#j?xk-#4b{QpP-f2jvxcHkFQSMZO2(7gcNPxk`%FZ2#503ix8$`8E*n7;^@9tV(r z2NW=cf(pjq4SCdyfQF8C8PL%&FfcJN(6O+vu|dxS{|rbdC@5&CXjtgzSa{f2*mwjN z9tQ|OzXf3U`NI8?`)9r1x%1`=j{|2&(1vq zU_+oc0u(fK6z~HQMnghIAwoq1i0Qb{L2m%`B#wSD+@u(<#289dOn4Z{nm~61v1Q`C zsznOdC5$F_y<4&-6CB4V65Yj%L;yO zrd}m;RiU_}q_Hs}cbitcnv>?vJ+;cE+rs!7iBRetw&Z6+dU_8Y$jDuVa}T?g`t%7@ z=s>tz)f#2j650h+i=WrSHx&2yR`umA=b_Gcj(AGh z=@6*gtD>>O0)2gjqx__yeEI8g8zWW=ex+gC3Urbiq&K$|C2CnE!H|rvv{T@ ze?A9dG9L+=g_3=K%r-D)mPv|R7WJX%Rpk59x`1t@{t&AkS$rQ^ zEs@zvjjFgx_KfCzk@I=uhuuuO40G-+eW=w)Y-c6s2-x;r(#KjGtB};BhJHAHG3&B3 zwO{DX@KHTYvV^=Xm8-lhBQ6Q`dq~_QIq!mHe5i<63OPpY(v{$>f}M%QwVN8BRM~9q zN!Q7X^9X8IC0eg%;(kdkz**n#R{~-1&SK5B2FL29*nAVzg+`4>_L$G304pIX@zMjmIJ#Jg4oaFJWYiqQYb&(_}bYscF086~I zA{&~A4%(TqYvw77-U*xONf1nn^mE+^JQ${ur?F&=CL*N$2& zHq5CkQ_{1qrupX^}Ocw@SNwC9_P?erV&&Xr8Qd;{kkQW7$J@rtgX;Yvlp6=n2KOlu16{Fj#QV|BKk5|_=k@Y?iTZpX+Gyk_;B*lcm$&+V6swp zUiBNwbADUmVo46s_QE6GyHDaqZPMX(`Jm3KY1}aJCEJ_PwvIaQ#1vJn;a5X|r?VWb zexG=W9(C11f95&BwlJb@BRcW0vsXB6u?zL4)uRojqNUZ-Qn;d|AxAa7(T#8?$GS7u zk8}M;W5Ii$L%mMvHur{I++0Mi*H3*|(%s#n)Yc?ns>zQ{lJDzHA|tO#P7Nkhd#1NT ztWqN_piJo)?Wnze<)x`oDYnk4XbPFukv0EGuLKqQ+s}9&Jy)M>G+s?cvO+1~30A;( z9?i650>kl<;ILl8;T@_mYhS6hH6ZZYsVY*}bar8MLDVqkCrYLx8(C zV%k*+c@~Abor~S^A-0je4hu;gNt!oJ$CXi5UAodJpROoVhNAIkIU6CLmXw#77XejC zFSud67u@km?w+eqYWr6X?&Bpdn4(Cos(wu?^zKA=?ok6}joii;xeXsYXO=#P9Ga^> zeBTphzFF8SsNoTyNH}V}VNVQXn9xBF!lDcyISjcK8=ZAc<$>$~HkYkbG&=HihBzKn zec4QAuehg38lHMpDihwR#`VoeeQ$p4rAo)YwaMsp0MI@Oc_Kl8p9Uh%vvGH3TGXs9(VXOtVu3ofJgAjag3JYY4wLar@L?CG<$KlkrML9QU}CJ z4$bXvxC2}TG2x95>Gp^}u$S^lk`fM;`L^i!4C~$tF8Knp+tG;4?_EUdUCdcJ6|8)w zOW0CCXi38x_yjV29~E5@lWKkg*Rj=~GKrRLYRE$XwldRQp&qmAq|Y^Fw=*Tir!KxU zpY6U;7N~#QqiSuZiqYfK5kI?zdX?@rtRw%{^)8iZ(`16k_gXK9DLTm%I1K_E7=&8X zWrjRese^4E4}~mzB|d*cikf(jD-PYN5vs*PVh*M|3J|YIH`QySZ2`*IrFM6DB0uDGY%xYVJvy zq++n-tBx)4ut(v?1yJQu7>90ByQsWo1vq82$s+I5iIN4Akw4k2EFEPCo6BG4c(^xm zv(n~;YLDvMb3m=scAI?7Whv4ooGO66c)`ALwr*uRW#y|vv?;5P)jSexsXq8Xs(XRz0*IdLUlw~<85gz7~nXS zEGerr2*Z`$_8RdKhLU-EJhK>mfr1#9OU8`3@<~xgNz$X}p&9TXOzqYey+n~W?<4FN z*|ynwJ*SRuct6WATK0PJ&R*yYx=4Y{!lKQU=&YGgI#gB(MO`*U?P83THdPAOorQAL zaonq}9qX^C59--Nly~8uIUki9t3S$g;OeM~Nrn##g;b8d(!3H^L8l$qCc$O8s5p56>KGp@~p0FX!yu6PT2rFLoloqp?`vkk+)?Mh=oMc8EYQbSmOV zrkDw`s6;Ru2=;qzyhmNL#T2(vGi3Ad0g~ur%bs5(HhYb(^Nz6HIV0tMz5irLJ|n6+3{Yq_*)c6r)F8zb$ex_jr64B zrxcb!4>Vocotf-<%eD^!8sZeP;|CHup7!y48SlpKn*B(lW$KbO(0~0&*-@smP~WXE zvp|FN_{6IyLgJ5E17Bcu?wN+&6lSzBr@b>V`X^sgKkpd3QWJokn9`obT|xwFLg;q!{TEg+-E%ot@&+O zFiWcYFrpyLzDSw)XiP;SC4>TthPuw9a-LI(7gL0F)^{c8n%IQ=%Wru0FN|^9+eg{8 zPm64X)NUiGHNf2gfc~byp@9uUAx9D+h#${OU&jd;ZbExZY}Y-?-_LehM)=Lu8SJ)Zfz zgzMX*!JmewqxdZ?7{0yLois>rBTF-1`pTVpQC3|!(LQF*G1@lj)@j*T-;8a^5JIJj zJEFwH;ap+n%9IDpU%aCh3zBeT?z4tzz_kmM%}{1N)f?^(YUhkldeD*9WC<}M?Aug6 zs7TY_m-e+2sYCH;SM3Xl=C5T9 z{UvuF@0XR!c*!RTX^-FOp$H0Y+`k6%>&T(WZ8QD!UPB|A`cB-wH(R zcH-I~$5WJi(9PwSwbR+8a4!sxQ5Iki;Hdde;#}g5G1%YeM06(BzQiiEPsh z<3ZU8-*IntlQw~CCK|nItk&7CZ2eRs-mrry@6d;U&zsAH=A~XTQ!jfIO~y~AOj@v@ zH{*?Ja!F^=Z&4Kq3Nk*aT495mWKTU_cC)-@u71Z1wvrDO9pFYhCa{-u#Kp~#)>>&> zFl4l{OTy-3yM_5MzfqPxjs2PXQARgVED+-sw(y~8ve9_T=32J67wjF*U9np$`o3t- zO?BJ4aRPf1AA5Q_QMsEJbvoZ(&A`=?evis+9?o2lAV5au_qfcZ>5+EE=Rodauj z;TH|nZ^wwR~U1Fb1-vI-O5VPs||92M@jH2G?HIgp@L@VQ_CMT%UVWGNbz zS~>H9P6PP2q=RXiximxbgaS_q_<2*(%h`z4!Xp|oGqu`QYrAC}-&aPw>n&@3+F^2d zy|O{;E|G4?y6P?lMaf2U#nW7eV*2pT6wVAJ)GHXtU(*~*^zy!MpsZH7R=5$jZTHi@ zjkuM^IxOJNJFHt;GJaE22cm~(N@!lDwYWy@oS z4AeN6?YdZ@4n#FBYC!>5PLUnU$(h#YIl4g^X-5}>9nMTFQ*{$rc#d& zs42h%bsk7)0717ORvAz~$?>l6#wh#gurC`jwA}aj+AUoLI7+eD zsg!7+cm+pM1kgAUcSS-PNuKUM6J}tpq>R)h(k*AOw2|y;^>*4z5>2ebXlpqpB0DBx zuwtVBns8GP<*U@2;P0<2UwSt(eu;SbC5nC!n;#pNjba9+CvbVNfmP*iQ{V)ZyvF$& z)qk?M7_&9-N<6)z0<;;|kv*dER6*(ebbT3tFY}0t!NAbSVey+dvP9I07{VqJxfklz z-0oD;BwEHI4$QL1*E1iHqKLI<#v4&^b$D40h$m`2Vd`j)MRvd{mwG(&${Bb)x5wd{1aVlubsW^4lZO5zC(~Lqo|F-f;HmUC zLK3bZDm+Qang?66V|R4F&R&@(wDvEh7=7p_(9DKef~MP1`#wOu?Y6>qy#v0F^3Y~> z3le=ih5Fg&R$>t$6mgRQda2QzVKQ_d4L!&2HE%)!$VNZ`@Y=d-s0O&=dtm-9vdv9@Wmyt*Gmt@jz(+^Foxb2^7x?66xJGB z!t`V^`6hOwP5SVguae}P$FT#vE43i>!|DlWZX2U!| zW3_@PYEMYNEsm|QIlw;7)73g$cW+rmj!rpQE+i(mO)QXIsRDVwTExg9)F`8@_4+{F zi@812eK&sc>9=C|PRlgN?>g65b+R>cgW}JDvFXC{;g+&|>%`<{Y%|QUd0boQRmcuJ zUA45(f=a=@(U1;<;RaSJ&OT>E=CKre(#^pdZu5AQ6qIM0FHj0N(RD24s~WQ^dh@Vo zW|8jGzAr55)VFLBTcnVl{iNTr)`56=!mSal*BHP6FCeFjz4J&j)=VknqkMKOpHuvl z-YXtC6Lktf6S0pfDh&hUsFMZC{6cgy@n7aw6bbkw(Olfx^$Q66isTC^+5I8)Z~C|@ z1-D4Qjog|Lbv^YXG3K|SU(0GUDB#C#-19IK*gKNErLpwcJlvS82jiZs`%IwTgbKdh z$J7LC(hP*U@rP4|(DJ!81UsiezK~PbCNRgGgeq6Y9rl?-F4WZSW{k003B6We8h3|| zDTF_a<}g_SdV8f#$aWCNe3CeFTx_&z;63Xxfj;s%uq@QhbbQ5t%&u44W?*E^E~KJr z?g|du%eMU^SE||wRyoj_nx)=hRVq$t!^^Sel~X*G@2+nT1m87WQNKO+BbJsINr`~eojWH=BYA~$Sfk}AU&bC#eeG$lGhJ<&O<+S@fno%7vRuWV1tyKP}& zgV#^#eTN@mtalO?i>e3px&v!0Kf$;Ozix~t*09dZA~6M~Vcop_-76oNCs+<>BAz8F zXs*SEzkf}qkcv5qBx8}Y)}aUaZXf%E@HwWT+(>^sedAG+RbZ%u-x*;rPr7A!@!(Y1kE>E6?#p z7*~o;KS^KsTBaFeAT8()dOu0yy;k2B-gJc(Yj~8ThzEU6j6$cufzBp&6~F!SY-UsJ6DTcFPpTK%ZkS0^N*u>mw(M6?h`YO)%Lh}hJ9kBhKog#{_Q7FWuw?Z`b?20IR}6hnG$9wT)eUky$oy;E{0YL1q6zdOu7oH(j^$G{jX zl!p}NXlN`c7S@G-9a#f=)5ZIx@)M36Izsudc`E~{EtQ}XwLl-do8rox3IkoLd)$(* z^VgbnHwSyk+ZAdPA)5Di+ILC+CQT z=nMvO<%nsvNl!I=$EzTwivE}^LI&Ot;YpG&nBUThrSs{afo$S+o<%5hE5%?exRZ{+jA;r^zH{8+D2ZRBNuCT}5E27V zsGH0RUvr9$B@l$H$SIpX!t&2_miTm%Q~5$(9B|)g>@9s1-yhW;{osu2u#13>Uz5%# zkQFA!3YTD_c;%j*m9OmONQBDeduTA+tzTAUKq3d*dov~B$Y1qr^Bl+=@)J&sRaHzF z><8V>rXwD@+s(Gh@YhN+YlWV=e}HCbxDpOB}Rj4aNDko22Kw~5t71`4V?rCQ($ueSt8=r+1p3WJfEz!9@L1o%=bAXqQ zMRptWE|r*baL}sxfW&gobgdKy>wd{lKsUp**s+ryYn(YBp>L7 zFrEZbFPsClY^SlhD%#RFpE4!7my;ET5p+T3AECudO$V9LGLFnhZ!5WD)@66hf1eEO z?RXkolElP^>A#6Yn{W;oHNZwkY`Vj~J;rpQ)v2k11sf#4j2#w7ec>okj#_Tir)?@o z@%<*$w7@RkI9-SBx$PWM7bNIR87k}Spqh_*)Wfo?qq!BsWKGX>I2t|jAPBRW>}fcj z7=IvjUkM?Lr^Dcg<#H&(cH}tOp#AfJx10v&6Y&#oM)O!tImIq^16ji@Dl|&}Cq5I? z#M}*yaPB%3B`0rA1F_TgQk?DR?pV(H!41KKd0hW3sLpWgzA4s?@TT%aK0{lYkTSkG zSRMtfb#}RaN>74*f+j9~Xcw!cBRS5f;v zVzaPdl1d|O6Ocfh7)kF-5K711!Sutk78Q+n5H2V=azicV{W4n&?QL%uEs;aDb+@7z zEiM!86F-wgu?4E;h&eVFsV0RGAz~6kR?F1v3e^e8InRXGPQ9P{tZ{^e9Nz-0l3%0m zpCtM}Cx&C508b1>d__?Cn&W%>1YagKXhIYRV^{VW9}SKm%Q*A+F4km5dF#)szK$t^ z>tQlx^EEw6*CTlEE8l7;q-g?{01p{!h6SuK09ua)W~aD~PtgdB#zu%6*_@h#z=i9Y&nD2=wsTl|W$ zMMI3$ifG2&7>gUBJG>fj9HP8hRQG&+qG$aXFGd4O#rhGS|Jn#ED_T%cpcwegjhmtijg;_a(bmJd z`=g&C=WNDp^K_0r=94_VW*T)fzI&)L!`RyCMKhAgRx_>>C)52vButWg808(!;pfCg zF53HqkoW-9m)_<5IkLRiw#X5DM_Q7v42vO#51ZViqn>JCr&*}Er6t}f{S+;a=#9L5 zkCN^qE0#=tBP9svJ1+uXL_sYkF&$IEOgX%mENEVtnTCV0{V>Ml4guQUW0b_SlI-^* z6dDS7)5*G>Qu?h~we`s?v{=hAY$+;Iw^!f1l4!+-kT*64=#XosY(H24$`3`tU;12k ztEAM8Bheg*AC3-dGTeI~|JoxZZdT#>2X%XXu>mDPCBFri#=Jp@sqzE|qF_tv#Qi3e zVN=-wvj#aVX)I_leoR`vH0S_1aQZbjELh-fOf06=F(&N{hA9OE+;NNvOG?iHlC&lk z7LjNTr4xd{nS^Z;10qKUXO|ke0-%Lw-0#qOQx7HPyQvc9hi}&xj1}JRM?;Nbw@tPyp{m@EvZS#w zX9Qs+hrQFZO(>gv<$*LQ=Rowl_B_qNP~YP@MrLzVg46KCJ2w`x*AIyUN06Vj#WPqP zi7Gs9Mdv8wXQaa%?&5NLNlg+!0Rre2GV(S8p`DubJdKi46FXy->dcY&9(?1J!;vW0o4S!G7h&OW}T2k*`Z`Y0dN z#MNsO>oh%LY*DqSZ!%I&jg|(}b#g7K;vhzhm~z>CVQ4aD4a(!^bF080ik&9(*v9#Q zdL0dBOkO}b7_@NMK8M4?OiVKAa6tMYcC;+*8cx}unAz9bmSnp(!D0@64+;tr&ZN4G zB%&0IPfC-y2Q7?InTU(HT7{U9&7nHS>)3MlU}ZB{lR-(SHZ&p95AofLi{RZ1rZREQ zgfvNQ2vhGVCl{(rnp#fKymsso#=mv*qb{fD^s9t~plyoSk3Ms=&#B~}%oF=^#EM}T zeJdPd+73|LvMmbf7bH4t6!lrisPx)kS-+0aM)Cs7u^AtNar60>i+KQVtiZcSmepol z13@Cm7n5}Opj}i-W0;$B2}z+ytUc86mL)RzGm^T`8K!0_u@2lvpj*u&l>5yI|mwd_@7L04d zvO?L6f{9CBySPTj--H$W9o!Mxq~=auZ3ZMYJzy;;NT0<)`anXRxm_(%VQP)9`iv0k zJ=)iRG6pxy8Nz_gu%xJ#NQ&{k%(prPiiv5&4ZAa~5ei#48`y;$rCBd65QSEciXD8C zADZE$##4*g$wtixJw#WKWvtH$V!fwZxZ6M1y3Fo$8%G3iu%MimIPqQM_`I= zf+~g5KuIM_d3UU`K!Y%UGz<<#Y0)m_1gb4bF&TI$=rp_m$QHz4dX(NvCD;oy z!zymxMl&MS%6RI_*fpYM6uh1#4K2ph5SM#mz|!PaKo^uSpMqpSNA7zC@*$R&HGQ5Y ztj}Y|&{$%%$16vGRFBZ%=6ir9gpw9>0fTJe&@f zea74bigP=-A2i-)V0r&4A>QFtF`NHqlSBKX)&m^1#k@x{5_yGBQ%0fw&gPotAFSBp zoi(1`^C#883oLLIDYrHa)@l@`jn@x4Q<6Y0CN9yyKI)Dxq_?Xw86Qup>=`N(WLsT+ zkU#aQjL9~)Efbms3BeRY;I%&AD5LNxUDZ5he{;+8xox)WA-!52j?CL~hO{mlsOEJT zPhqTnVAAUPs*Fm}c7Of{8w1$Fq`slwI~KD!`}-^PwWB)xUXBvN!$QTB-`_DJ4+#ma zz3$&3Gqf(9v0e)VZ!-WVBwbF}l7exr5$o zq#EI_e0rzB-nnUlB{FIO@OSOPDilQEdj!|M2-BzHxF+wJlnm9kQ+i&W5R+P7BeKt^ zVHR4esGMVYmF@Pcs&}D-_I6Y?Q@aj6x$4o@IX0AmhSHJy4g4;ZkE#eFhm@7dvCDfU z9FKC-3T$p`Q;oWMTCT3$K4yzYRIA;re3ukDW;q1VZs%D*=2jh5rCm@Uj*{ zb{F|h3&jSYMhRc|#!0|I@55vvY_~Oa>>Ew3(f+j*&!tj(0>1~poxi|psHbjpH4e|S z-Ck$`t}9UsCbfTK`pk+iAlM62nn7!cS@;=2$hj9F0eK0I=OSVgJO{D_J$<$V}JAQ#dXjuTv( z?4lRSA$Z|z_I35qL8zNyCc8skI{Qwx-Pl&xO zod&yLzt+t0!%e;}sa?zXyG}z@vB>WUwnCv$BAc4u#KL+Ab^uOu8l;efn?C1>%4 zViM;zwn?vr3@Vfjd!Fz_jsUV>Co(*v5pUtc<>%rl9M@LZScz48_9D~~wcm`DoTKu9 z{9$2Wqm_cNmRq6kEx87Zwz zYWmOsCxD*NjCoFJY9-B4wLUK-$V_G_JPV~RCHO@a0t{fLvkAUTaM)J9Zgcl5Ga(O^ zg@S=Vu=Qu&dKP4~_h{`Sb1t0N}6DILN;mZYTw-f6mo~E;A zEmoSOpy&P>LCZN!{NwYK4pvbssbPMi2MHp==k}Ff2IEa{Q9t0IR#sP<$_pb78BUKY z=?Xa9)LPB^1|{>B_E%`ADk>< z2Vr?-2N>N~b$(~b9I%LqcpriJ55f)~@d063uN{cs)7+*e8?frMt-30431qjc5VedU zMh;dM5da`@_&+Pi1Re@61qWdgp7lIGYBZXSMz7ZikN|&NAr=vC7l^{{UmKva(Sp@*F}A$^a}O`EyBMN%C!%fW{WS zSseF&gx3UL;)HmKVZm|Cdvr=0(6VZE6Ea?f8a1y5epe!D<32NVadQb3gOA|nA2RN z8CWeu{xF_!AYgN9YK52o0IS5&dr&zLd%m|Vm6xe19aXdr-#avE@i$I4y7d!1#* zFu%%$_)UI6E6HVLWn}`gkL0Z7c!hwl0>)Mf!omLlnEVBWg$yO-?JXeu<#~i25NIfb zSiBdC@LyUj!uSg$Co{R$u zAhpLCK>i5)kQNp{7+x#K@NkNDa=cI&M6ZQ3Ut>nCN3M(}(TE{lHlZ5<$U`Lr9rNT6 zE6Eppc_33XETTdu@&5pTyh6ZOD1J}M0XfC1 z$b{!7oc<5N^2%#+gMLJ5j75QXA~1?53?}@iFro08;JykWG=6jV!ou-h3&5fgSXo5n zf0RBK!g0!wV7XE&I6(|21l5#I5GyOmc`q!Z@U!@OD+qvs%Rn*(=9=t~;J((cwW!Du zmnp=dl;4yJ&Q<~}2n-<6j}ea_#uxZrL+}satSl!iBlyA+1@;1-L0JJp1AiV^UST=Q z{{R8_MCAea3mN64}|0K^^&{}TGG5q!A&0@fO3c93&$%s zUP~kK{#S+;KtQao^Z58)D76s0Q3#=wbL8A8vG{smMLYZeKLr*40Dy{j=i~5klZ5mD zP5%H6&Im*=j2s|_a1i_-@G^&*{{XsgmH|J9WqhWWBjmsDoRl(wC}kh`lyJZQ+5iXv z0RRC70Mu%B9JeiVZFswo?DlnL>n&I`eRI{(^|!EP{?usoJsyMmU&Qm4^dH#YMrb;& zWBV7(^Za(3+#app)3?}xhe1aocU8cj9*gQJAdT{lx`!ydiSD=N)CzAHN>IxSV5 zOScd9MTL8|YxCaTP}ak+=%=Yc`v{$5m*{G5t9nYtHTx*EmMe9#UcFD(T*I_{ z{Po-W9NnuGZEmYW4S!qh^?aAHJ&Dk9{>Xm;?Cm!p%4_|J>Wcapy~D&>i%;yoQ)>6s z{jt*TF^^U}Hk~$)R_i{;y_tQ1)km#P%{xnWR^fd6=CMd%m67fu@^h=1KR5$xhKW$Zy;8?HguERh}t8}mEb%C?&F2OW6Zn{o$>U$~DiR^x= z^V8|=nI!$5hCyrC9ON=p=qv2twY}P9`sy#((O$*=DM+zN8u2pu{rFi%)(3e;E_dDhAd<$R{Z`|o*YsSj z_D$v1IBqQ$Qr!kygL~&M@)o9&DrQFg_d%JPDbUo&WRG9s`f)fv=qxpi23>Hf_fV?@ zjCQH574`FZ(v9pQtn#aoK~`JWb@e3YbhkF}(x+ysir8Z|eKZgaj{Yg^Z1%glmtALt z4rO?^5$v`VwYTqdjdXDJTZt8Y<^KS_&f`fF^%br3ceZB6n(ZBhn{JC$vQ{9aB+RoN zSg&8+IoeJuwCZFW-!D?m=ep*(`h6F)x4T%~1^F1-{{W<6yAicM*4yC{8xq>m>8!)e z_I!(ZTH5~r>-RUaKG1cD*7XW4K+!F8=^b zyKY^l6MTsMf6z#*@O=$yNFl z@|7t%pX*j`r(q?_Fu^3P{R`|C_cZ7?Vc0TOXf0~D_BtM;Ppj#*GjIA-dF}Bw`D?+> z=C%TUCvUg0$IE5XNzFf#tsh$?v2)&n8hd{5wNut?>a;qY-K}>A>>Y1Gv)W0mvt|un zsWz4W0Inw2+oo#P81W9GDCGVp?)_)q znxC&bjf8M|U)&oRUFkn)>g#KIsOr^^yT39WzgqEQbKlP4A7f@Z{NGbKkB`|lHgQo# z+Z>-P#M&H{XF|?iq^;I+PmB2OdLv>U)*DRPcT8<>AvC%dTgw zY{J;RZTkZLk4vDIZQnUuP101B9cIsOrF31#RAH5!ZtgmqpG|gpo`LOR*=oP3-Hqv? z{<8YxMGJjhHp5+K`tk3k7=0PkQ8QJoPiwmEXMMjtY{x;f+|ZwGYR1cEYu0-s*FhVZ z&#~@rF>=DE!1K)>GzbHjA$8Cf@0~4P8imcc+dnGf%+oHTyHfQ0qF)=M}Kj z%PyUXo6Ws<4uhg1r+3@7NTuqnwr+OqwBAN$x%w@=W>k&SSk?OP+MB3m{<6 z^RX#?8|giGt^I!Vmeq{@tXyo{59`0O^h$40`&y)14L3)nmDGBh0O|dV(LT4>Z8mi~ zyC<7PE550e|^Euwt=(bJQ_I|Zt+G_s* ztK0RitNmH$VUyZktJF(BzqUHfL$R?swz(2-xWA{XpE2 zwPO7Uja{`7KNqT(c~$(Cr_IgtT8g!LZB2VLxzVE4Z++3l)Qi}hkEp$4ekuJUsiEs` zr_|o7EQi*7g`TIE;W=%_m%C}9>{~O>X|68vhMwlp{{UFtNL$NUV6mdtMrWzbMwxe; zWZc)Pz4z0_U;6pc!udF_>yJ42dVlKOA^!l=eHYGMzx|f?jo7w+(DttJu9oH2{TpDR zzt}?im%3{S`adzF*>t?~X?qXb+Q~J3_xJw2ulHBB_HJjkJ(C-w_wT#)p#K16zpx8o z?Z15VE!t={8@VFp8vq)5VSg1EFVjd%Im+aYZ%ES)i=K#nzK#a|%_a#iQ3?APg8lN~ zF33Y{NK2*-7k9cXTCv;fV^=%*+&RvpWp`*K=XCH}p-rfEcPZ4TxtDdc+U)rESN>md zYP%q9bv3GyT#m-%rr+rwbnCYQcGuCw;k1e|{MELbJto1XZS3k!iz-dz(jQ!U`nLB? zZ{58I4G(MGdpEh8S*6p;)@Zcx3YKV7hQ7~u+TX`nB(ev~*3Nb+vE?M|g3Lt5aD zwpW+x2^GnKfP2v4J7RC;5lI_oZ!)!f!xU}~)JISKNuVLn?(%EhOyD-xCaX}D^v9Anc zY|$0wZl#RBb7;dh+RH@Soq=D;I#3_9CR>~O=3T!>^lQ4m312i<)p4q{=G*;J&9z^$ zZl`EuX7_y~rL^N4Hu0FO>}x2k!)cbU7PcLP)!gmNY#DZD2Tjy4FZRukjGaEw;Pg9i z_;wpxQrqnyqq28TsEs$P(^zGWrh^*?Wu&@mZ#nX~`<%a9cBX@0PAQt>J!*5!dXspb zR-KAld-p5HD`;$J$+ZKXmG6sl*u}M%dA8HgpR4NRlTq#;aB2m3dtHPU4eoPiS8>;B zsCL~if81Hw+rPWNvuhs77+fTQ;YQOFxL&W8_m?lx^Bu1M{oiR$O-AcO+F8A_)^;_8 zS`tqabeo1My36rcuT(jwUrEWrtp)d02l!28mrKl%YUZi%yz6{ZApZcj>AjAdWwnq) zB!z;6uXNBy2=F*ESOPb?NhPTp+|64o2()Z4)Y82p4{+463ip7!3(E)&-g@wY@TduM`SB{{<^*lXmm3vE}9 z&g1n(4bj_J*n2CU*T(N)2i54kO_Tbu?WiTO{W158r@8$;_k~Dz zezDr~QVuEp&bkaD&Cth8X6R!_Vw4HtI9>gn~_kOi<6Od6#Ds9}e~J zdp9J!baw)eX=Y}fluTj29zTAJ{K^YwEk-{{Yz6McI4L+x04X+xrjfy~d}b{^NgO zISSMN0Cu}OkF)*j?KP2af4jcQ-rU=NV7X4k+$XpBEuOaLwl{sV^xYp#uUen%C%iSa z_WuCc?h-k9?!Wq*L!kC2_3M|EDd zv06v9@yn$3=ApGGb8Oq+S=Wmi+WOG@?7h_LD89dQqLLy6Sw@M!>{rW9lq09YM&X}Y^T)w7iTuf zb1czx-G6J*-k;c8P1c`9r05~LvD*3{a~A&q+PZ#@N?yz``tN4<>b1L#pR_o>?x5#C zv|DZc>;BC3zoE8!FYUK+*Hfv=`di#9uJuQG!O^bw#QQSU*)`mU8D+A1qhT{`@%!ph zNkeZCl3^J#SD452_?TGL3oH<8&mx8=v_~aoHPXSCJr)_4@uowl=C8?W-M<@FHWHTm zD?0f!6PM{UGBNIwcTBYuqhv5v@hz_A7Pa}41}n9G_w}5_tRJ={XO)Rq%0#Imlg2Ge z^Cq@Nnmpy%+fzk)5e*NZGM2tZ!xcXry*dqp_&8>-W0bn4=b@*tw_9mTYrN$sc2fI8 zVb*n#aQba$06A@y2`K7z+bFkI_FsPF`%9<3-M-hA?6;8r097o@R<4HkHpry01l%9E zc0BgSaqB)GtaihZ_H_;A{eIg^W-DJ?>2>=^M0@^b`W()eVI7VuNhp7=GzB--x{#ae zU1@pszL_)D`d=gKO&^%xv{9CEx*!?K=@=QMr5K8wkyzSW@w3R#{%fb|tjWCH=%YHj zdYw7f+Su=ecJ#X#og^Tj`3U#)o*B+&6R#;)G}GqTCO$qvlWU} zV}gy1T(Vi%TV;5*v&QCaY&p)cJkAr-iQ@ed<5o-ZSlK^ZIvs=;-XALz6S?WKy|Bwx z%K^Ks)G`TTtvrJDdoJjvYOB1dE34Zsmak>Ff*l^qi0B!y)Z5oG_qP84`LX4_v)4xb z_LHghrQ7gDTWv17QcITaqyr#uu;M1v12C ze)ANzrNj-H)-JwTZu;7Pr@6Cjwe0d*syn*xS1({QL`C}(%?z5UEm@wN@y$jHvBxv^#YWhOn#qnfc{$9v zYDkXOrHSXWumWlun{OIDinpWKYax-YF`3-d_Sc=Pnh?fAVePT1e9XJ9`phy-3n1Fa z3pNoJ>H6J|KVzo7&wCSJ&**zjDnILI_6J7;-~Gh(2eI}s`g_#rry|2Z#_L|K) zvTB(tB&T{6TE&`HA?bDwQVxG&rqo^5MH`uicof({KryJn9Et4$Th5lX=kJY2zh$cS zTs)T2ajxZf?`n3C>i+<*U8J^pEr<2*o|hlcxcLiQtsbLgdsW`@yBBP>a;=kXy#D|d zY7t@?Ae4B3?LBJ_ug~Sva?F{tbHW+_0A5JT;d7nz)BCSjt6DuQdfV;)08iwr)|RiS zX$@1oF!*WoUX#?xAGkQ(1NvR93$(3nS{ycJSsk!zUfY8W**+%?lirNXkk2)96{IZ8 z3vSHz*1sipRo%k%t=eAFE!cl z*Fmc~cCxdJ^>Tql+YL*bYLx5v`!co*5xpO)24;P6x#rf^nSHzPK+&t3{-bHn``?E) zVBPu~*jo;2=YOT?eRCPvS?f(F?yB};)udL{ANj{eJlYgt* z`nGz_R5r}CqLL^XJ7&4Fpqaa<=|7WfqyZvmIeGCLN#!ik?asN@`a;=f>-LedZntwI zM!&P#Q-hD~Hc(aN_P>43Pg2O|<~4OK@-O1_k+Zi8UWKc_nkztQ~-sGaF4=XmtSyhZ;2#kBeV0ONfA52`uZuAkSO;%}|_ z_+LM+D3{Ia9iWx|wd)vV;yQ}Whnng2>uIH)$o>t=o`Y~L?dopepO*F&-d0_gMa4@( zDJt2cuJ(ri0AWv4&H9IY^T-MS#P&N=e`%n;ea)`zq&}j5OCFZ=^KA9H9Ybqdisq#l z_1gyAq5E}qe1oHW-24*Ro1ca@*w)fvv#yI4^=}TBNnC@kjGk|KqN`Px`O|(m+pv19G=JH`e#We0eZE|I%-f>+i7q2zP{!t_FZ2O!_VAs+Kwmre^&M$ztHns zzqvhO#c6Cq#))Njsx_6}SDEHD?iVUmGHs`EI|sQ*uzp6yK#kd4U1CzCl4l?L64(iI zYr+HJs8m%N#~S1h)_a;OS!-ja9B0t#=Xm7#g6TbFQtS6zR>w%rkC?xt+3Nj;9=~O( z_7^wV*4OqKx2^Up^rx@2(e#naP_#`8!+oi-=r!DrrvCu8KE(D@cJ*0LyY&A6tT>q+ z+;KEHD`#VNq&g6F!;O*vd8)t?5yo9%F@ZF>cZ0fJvrt~bp)al@Qnn-{*;e^Ar zrz)*}go*B`<>M1ewh=MRxlTvNB}ksm&+OLk__l0p?YM5AMDCZK)-kj7cii4%*liS> z(faX=PteP?jn-rfZ&FKebbhbb-FDZ7>~;ITuh|`cX`u9epLeHJ<#RyS*R?L@-HnB( zb2Dz?^@W%#Z1c({ofL6ZPO=JRn(j`92_E>~*T+(;&7OZ*akVsG$FHri32|-q zG`h)?x#~_Z^ST)wCpWGSc8g9OHkVja^%2C4Ulsau%7035M!wtJG`34ytpW1t?Nozl z$#ohkxA_~|=wGUey#D~l!XK#EY2>pWw*88`ZgY93PGx%rO(aq~W2@f7Ec;HX2U+en zaygwX*&P>6Wr9wNV)u@>ZpAN8x0O3>JDn$#&)Dl|-D|XZ$XPzt&mAt4ujUy)8STn< zHSyZk>}ZH7*<*R?(v!}#p{ui1e<4=HZL7PXusaDU?(5UBHJZC?41YQAkJ_3$`W}ug z-lRmCMqpx!MmXDSjgZ9GvNne{%vILIVQ$0Wni-Vz>amfwLo4NJXOU}~`CivTUcW|J z6Lpa=QPewiYfZ~o-0Wok07=tqt9u{T5H^RnXjY@5_LpB$&&rH8U`DFvQtA z9kegkcDo0&QKa^k>Dx|<-Ag*&>hS#wm!k$SCC)WY+lAN zx;94S*q+wxc2149cak*4&`igFum?%}=*u@X-rG#q>|1k{t@miDU)J4=e(7fCdyTf9 zr!BVE^!nOwt9m;Yb_ZK0H1LQtT=c2>&Fdm;b#W=z{dT$g7M(VVNLjS3`tI`x%H$_G zZKpLywUwjxW3ty;u_NNx-HuBA71|q^J(<&O>eaB#^JLdrjcVYAE4ynO4Mx*Xa@@5z zDmD8lclK%xs5lUb7_iE5|;^dA1WlMX|S2 zSUMI{inoToB?jYN62EcQBHLNFEb&P4=QYKxbHXirf>>=vt3hflg`Ur56L&TwdD!i| zT`tB!WL%Cn>@PX?HXA7#$=b*nxcgMDeYjwykDz+KIQD zJ6^r*;%uDu%T#8b%!QV$8LR48`&(W|);nDwpvyBJEpr#s`WE51qo zSz*pbX<8(E0Ccjnv959gC``6xk*|hE$p*fgnJ%8bDr)tW%v2dFY!$1pY$L4uH=Qd* zrbwc*ZGs2J_cHyTt+gLzul>63hh>vzn$Yg!+Ipgt%WLb-k6PsDuD z$y})GI%(oBW7voZv%WNKJc~eBk5^}BuC;Pm?QGqx)ZVYdTCZE!vg~X>qO;JRgPf;o z7?mo_o~;%|S{W-cdtw+|&4ptdx#?Wy^cwwLxgenw5wfR{mPlCLe9jhc{r9E2t$@tR z`U=YAYzi{@6ov2?>?LVzv%SCii-+<4PoA|_veRW@rGLsQ@U$7Es-<;lTMXrbYqp-F zj5J1R6wj@#l1pz8%M^0CjBGJIk_c;Ejkaj(WR6``qWGeF8!g*#&fAhp8*5l5M_sQa zd)FituE8jhC?=0%$ZIb(*r(l-k3#t0Se`NMxGjxg&nYyOnFSsT(uXGdfvZ!FO#e&x^%VtFN&Z z)s}0?F4({%XtgwP%E;XLWtEK$l1h;|-VnlE$khJ;toOsOj%Z@8$lWbmhg7=9G+SX7 zKj_-_93%aQIq*d*VXFj0N>~`@zDB|1BWIf;42T+*qY!~%J+syk3r989f!|)Lrj?eVZEvyAw970GEM<5K z6{TXY9Nuz484NTv})8-ssN1kop|Jncu0RjRBKL96Y zDun{*mD-#?LStT)hs%P>s&FU#ZzTM zWZ;rYAQoiK>Bvfsue|tBNbHPI;STEhc25bvB-8=uq}cQ zi>BFMVqgoW0oDr*q3{Y##W+RfP1`D}Qw2qe#bdI&A7(y+s+(xA1>t1GRX9wURWMX3-BnRhRHr3Vl*=#)h}%t-8yIqE77Ct% zfmf3m-?@??(dy@dKbIyzaSVtCrIQva61IFG*NZH>gLk51hsn@j_3l}wep{6)PtLP$ zbwxzUz)nLdx_8(>*;Rt3$wD!d%xNYL#YzvzLL9X$ri2%%#JL2)SeNH8iZrkqn5UTs-R^?R18)L@G7dbDz4iLph6&~ zB~^Gu7CR`Nao7VX-m!Zu3(F`BUxsde#W-prFI)PUXO9mS_2yoMtA-?aFqU4O>=1ieguW2eEsF zQY@N@jDpN>MHA+NKvhgISeDqtI$?(^il{`!fnu4}c2Q>3U4@~>auN2FVGEPIc-pr+ zgP=$TJw-L?T(W=aTDcDPA!gFuh2i%kB;6z49bsUwR0V!5$UuGRMn2MuYOM5mkos5u z0A|nokor>%Rib&P6YMMAcizRiU7NLJxvRDa=Q0DBn1aYgI@>?I!@ZZ`U4+jxfjxk} z*EsBOs;Revso6xs6an6;iu^!xb|)U|D4YN<*n?7vhKYejPeF;m4zol>%}gJJNtx_` zlBMaBz+1Ra@~4!p0lb@67UL0JB-Na{Z|^A^X!|*uN6(i2nep3G9d{ z+`W1^M(`*904i_JS_hs@?PXnUqTCK|U@I@?7;zxw`g@n1@cl5%r#^K4j%=_rSXT?92UP{qc(YJscu<%I%w<{FC{UXmrrIB7M+pf;p}JS{EfL9p*)X zCfC789B%3|$FAJ1<}1v(`CATs%Nj^um>;iqc;3-H2p@=iS5XPIhce5i_<_A+j;BU%j;YEJxCcoqG_UF<1B7&XSn1*W#2KEP&WwH|rTDGrzdXR{ ziMbrzi#5AH!Tn<(b7Bh%5m%NSwAQ)9x;Hj zIz9Qzt@@U4{{S`xi;VYfn)8UrMD!Xgntdjk*uszp+mBizeq2G_3s&GeqW$P<1&d44k!y2Y{l>pvL)XMNe{^U4p%|?=GlY~ zI5U(Obs;N13evy|ipY=!>-b+6Rjmk}u11EMgG zw3O#jsV9lL{{Y!pwEDeVPc`|0*%lqiu8Vqz66QCp!swStlyh~0pI7jUCWK{;yFxuN zkc?*@(!9+#!R-UOQX=G|&k-WWA3ETjn?sGe5R5Iq48VcG32HTWWJUl8 zMkAm`AO+&TbpF$P$%N#8T27pRPeNh=9RYZ)K=j0Y3B`+lxgVi4VgTjTdR!!yf2>yhiND30;{U(1hh;)JWei5&kk(T_v+W)fpf< zWWYBL8v9|znMTa>uj7;W38Qqb)GuJl&b4DO6qMa1>CnuAN z#bU8o?8Rf~nPRb6s%)U-*KIb}WAHZTsQ6o@$x(}lKyIXBIt2o3?so|Ik6=$~(E!ora`y_Xv$>au zh;H*#2!JK=H9h-Ac;*m{ri!_+#-8yuZAc8aFMu=Zu8*&j%O;*a z>>?ZoCCPUsRX9{DA3;@$uOl8_D!Xt@oCSixP$nZ|%VjormK!iqxpG1Q`!-{ft2~}(s3Scll$oEeFL?gk-d&8dO5leu8N15y z+?=_eDDF}w6^Uy2pPsA3PKqj&kmqg3nnH(|tEW+(S{s)oD_8yK+7}LQ z%j!t2nc9@H!gBm8w%Eo|%0d!>1Q6l3>~XTAkkM7z!4Q2La)JYbs8}aYv5zASqUGXh za>g+kr*dCn5#D=-^&LmVz-ZRqoL1elx>ry5w||Bx+O!@+5`EZo@jN0InJ1mkwJM&W zgnG7BIxaCxHq>%F%Q9nuz{XME3B>qk1A&Zz3VOeRYAt9klJn8uf62~U<)@hZO+I6c zMreaZ0ZPZkTSI&w4s)MRcb?X&0NVYVnGZXx^43o?VH;vi*BM9=&grGAx*va(!{<#M zVUg#QZT|o?Svc21JTn+e`3s(q5w$&BBu4n#zbN*LL>{8Nug=z<2HrcX=hy$A`4bm6=rlVD+94+1^FU772Rb{*JEo`E39%N$UhG@V@brcSt zOKvhBSd8=O&pgHX(?*>XLPQ4`7OJynHPd3@BIZ&jmMuada-C5z=0X;3$5U!#G~rCS zgNRN90~z8B2_zf|qLsLx9C3*TGU>}Iw>Y9;#PFl`VyF|utQHEslnG#iH)_NVv|}6w z&<$auv?K=MdhsnU){U`F4@DTm-!_M-ZOvsL1`IJVCffc!yC?v++$dZdjya ze7KO@A#(IQP>}kvyBS798M^aympscRq1!w;rqqz(at{-|imIqoN0DDafnFC|&@$M? zU)LOUH>Dx|UBAP&I{`gv!RL_cBA$i#CJDI@vjN;m5su=WP^uEDT`{6~msa%_=PMe!CpDc! zKfSdv{O~wV+@3OvglF+R0gUlC^nZzBd}Tc;Yqkl-Suc)|@PDq6V8?Tgd*r($N&n_y=V;E^0mT<;}* z9!-6h-bIZ_9Paj}+(uaxE$d-(Ni$EzfrLrsxm$n4h09WmqHrL)_9i}d*yhfPg-J1ucc`O;cr4S#TkNyP+-mJ^0g2L06}g!OQWTp5}{-*i5USv zPAs}MFf5szapX44796Y<0&J>*GO1N6g;eatI8;usSaMoP#R_mROlq23q8_8t(`7ck z{g^CS6TxQ!s7f`caH7qYMK{%Nm3CD*SSk-shRSjntOBJ%c1?j#va2`*x$Fo@@u~oX z{CzeH1w_R-RNjbs9hIvp`pp$~)GW{}R#^--)n!iT9k1)I)b$qR;pkYdWaHIns#!59 zg;olIG-6X^AyhK)Tmg9QVT#Ebk5j2s~&JHQM%3odv@J;A_5`6M4N;^1>(9#TCCkZ z$5{HM6P3qfrX@_A09m8%%eeX+795PxJ7}D$`6%|NKBo#{Vg+*RNvZtz17fvuVOzI$)F$_6%8FT`EW#F@LkJOjYzqq;klKK~l)WGM79@NBFzq1vZ8fmu@GWI(< z&G~DT=6_?a9AzGmM1@3$G`^rghQ|&5$suQ zej)pyp7H_@rnp~#e`0Ia?nM6pmvH+aR!bU9M2FfoXBc&vi1woh=nR|d8Rd_3Pjc|- z^s)VIP=j?!B3;YzZ)o5*<-BHl8Y8`Uej%rb;gm@B=42;qT)z{(0swTqdlp$~wFI6r zw-)a9r}E9Q#(IlD4xt%IHSdYe2ZgxYxIcO}LU?N6ZWDcdve+zGW;)z+?~Ja-L-n;8-q$Ex|uwz&L{2K zj-td*?6DnevfI+#pWmIk`i{t)kv+j@&}r_l`om2NE&DRfaGrS4F!RqmV=?`JQ^Ggc z{i&FHSobPS2=JB3$@*GBJ?lDS{_nRk2JV{KBZRJx?Vv`M+l}&-$@fZYD7s@F5by!n zUi58B^vorUOo<1i7v#3lTv6sN>_mZz02Pk?&A|d>;l5w-LOYpwTy!duiM@6(1MNr; zX-)ZoFV&2v-w;>e+P`%D+fw$+C{8{fa1Xt5+z(+XwE8=JcO`I+k!mNg(A4}xS7$|J zmJ$|;l#cNMGGt}UB3pVFF4~^0u>9tvTM|5fCtylIeUWfKGV=7_4boeP;3WV$=aC=H zUD4Z+`k+d3AGlD(Lq~to!(wN+rY5G-5?Zq); z)EB!R!SpOvD;0@VSf5Myp6ad~%fTLnSgJ*d*kou1B+z!6BMmHWYNRN9nC5^y4Z_gx zC<0@mx6IeCo@$RS9POB|#nkFkO6)quS{^2>x6qk14Hot06JV_ZdZSZ<{hO8 zd{X_L1+n!>jPH@c7A-k{)*x|B8+y%A`_qP=J&_WU&7}BNn%VnTO!YDx?J^_Wt-xK8 zy?U0k_G23{WA)}B1sc90(T|Ep0CL@k)@ma|a&kUQ3HPCDBC-JDNdTSOlM*2xvj~fE z{u-a!C1#OS{TW4@Q*tnT1Nf!-upTLO1P+$OY`~gazlj`UWVRbb0F{-fZ=KT{Fpo^G7@#%(01=F)F}J0GzInmB zES7~hW>2H|e6L7UPgQd;{{UvzSalLY$#+#a+h+3Z{td7=2wTfemruO!-`lbxV>DwK zOpmpYW)bKo9%S~UC8*THHS2)ZFp)WIL+pkRaEwa~8H0NMJgRyLT)80_L^+Wy5IB-o z{yR=?L;9BwlWX=|d6OLx0P$a!jp<5E=H8kj*aM93Op_S%lOAQ8RjktK=f5eIvr*d@ zukD4F){g$HjAwf9k|cSpS_Ov(lks2nUk}n)``Hco{`JyF@TiGvZbmY~HrmWXb6XKl zesZ}XzEU#&Vst~XBacX3BaWJgP+-D1eg5(XY*{rjhhkz#7ffs<^Z!9Ofrv~tXE`HvCI zg};c}ow>J$^gKiLWkPy0gG?l)b4Pv`;~l}{bN3I;j|2_t!r9*(lPA4`Xlj5zdepM@ zkV)=eg{jiZr_7JEGIrC>JY#qd<_Z4*2!E|_=|IBRoBf%>Uc$29jBWnBgng?m&14L? zTa50W&;(N$Uzz9dcV#31oj_v0Ch~O_`TQ~+lFC+VH^Dq76CU`PAur3BM~q93@DsFR zUkS=Fmtj5YIkO`kF=>zCB{YGF=LCCw6MBiga2ZraF^y$%a`#~Y#z(L@EAzV6ma0L3 z6^5P%{5yYp`j;`0=27^s#KY;Gty=o}yOG>DSc(4f<_FymzFM73vs{-{V-fDc1M0#! z0oH1LH7JDOOk^-3gme*9-g%heIL2f6f+plGIpJ(a`B`r4`cue`z!Mf(ph!H_Sz~@| zIG6Ui@m`;49l?;CWYTwX0sdfJf81KJc=4663vhU4PYoWJOL5C0-9}8Z-oG+F$T?&C zv0%!zPXc0ji5|r$`G!TPCP^N`p6msQieOqqZ*WLsxa4G8PCARSkpBQKABS(a6V|>hY04QMdB&F9B|4>lXye1&=fH%vsW{iu;Bw-+0a zs%kF`V{SxrvkvmCSRYc{M_X6Dd6S2kX5?jV^gi90``~@yNk{Jn-l8EtH&1ps>|GdK zws`Ql4|e2n2D|-kyu3E%w^$!~2i=hQj{-W}Ec!cw&C`v$o*2me*y$mO$l z`fr7c+}o|(z>f(`LaG`aZJ6q`fRh*!VRFen^tAUwm_8;9U{35*wOT!PVNA9zLSLB# zn#N=gEXE?D;H0o;P8EF(d0rKYVs=qrhbEqkN(6#8g2%K~N*9Q~6F@GE(vLi6NkzD3 zAnyyr5g;E;D_3GC2?mr+K^*@8CmWVc9=33R_hEJ-^anO#*D~<&QDn=exzFRa{az;R zS+Bw{ooNXfhTT#HR#S@4n!G(qiw{FjLh7l)ZV1Jl(U1)OpEAl;WaO&yK;nq?&{Ks} z;Z~~;S#X@~ZMb^QEV;H(SCUD`asos})?qgQx5zIs+!NRT0HNLbMT(-LX$_Ca68k0l z6o`&fF2rIWIxRh0^arUaLh>>h$H1s&?R<4_T_GBql$l-2gE=A7ClRsMl?OLDOj1eO1|EwyK9^6E`Kj zU6XRD>dxxFq4D%}pvjq-!143!TT}{+|F!|oA%4aMvb|OxtxV%>8-BR!Um+aq@s-&W6UJ*2ailhU1RzMs<|jw!S* zy05F_!u70i_0mCe)*o*nTPv&%R{oMT+;=f#y?6R)WMJ{Qq_EZ1e6$+qY;HFLnCd>O z=zgKcW%_#Ssb;d99fXF`Sthu!!d}4;y*Bg1C)0@TUA6!ian?5L?cYZAi(~TrX^QIJ zw}(G{YjY|=hL&mI$70eV5bl=XlPs(ls0*li4)+s!dgj}yt@1a$bkF|)`%GpwJD73N z-tpYm5JPYw-%2u|B-cu&;ncV0QpZM1oP?ME zm~Q%HS8DR73TUfMcPQa5s zt1qa?)a?ub95mLyRTY_%f;(J<^1$t0A>*i_9{na(-zj~2duoXD;#bNEKe*)WJUIet zbt6f0bp^sZM{{X)8^J6tyf(TwFAn`I*7p(`@Dy?Z{B-fOvPMr3UH-DKDw@%bmJ1%Dx3&_Ycb|Nq06)!LOFUh5VQ{gjGDepZG@c*@ zO+kBkoR;D_lX*yEc4{8Mxc>l#p|{3GcqJS~+uCk@-P`1T1Kp|QzR1A_Qi`_i=_4^( zik9Gb(@Hvfr{t3AB?_18X3W9qMrGgQsD8UCnM-=sNZJUaAb$?-750rz_PMP80M%WS zCCrz%c5C{C@gN`?jqyEIHYUMg+i`gv`GVSeS>mm1rFuIWmw4&{V?NqYfL*t5&`>u7+DOZ1EWRnn908x0Y$H z#7(kUA%-OK#TyW;?p1erMNYB#Bx@{&I`h>wMl@B`>3o$6Hz!mU&1gWN4rkBm!xyZeI88^`*WqH1`qVaxZNvLw44Uvfx0? z!Ng8>u^cPISj)?PfVX>0=0M_bw=vo~rPe?NCe{K?8d1G`qr7W1lj;tcxBkh}*Kyc& zW!$*ejy!eL%+bYfbuw^?+0=j!G7hlT5_J8xJarZ>eD)66F?UFpIIDQfvfn8u&lE@t zJcEEF>FFfTRNSgH@V(?ZvfTIA}6XY}KiBGMm385d_Y^K#cyT4#RTUqKH?#|6hy zWMWH!1(mhe{XF*$%eFL@hiPsGhf8Oe=}d+i`QV1?J6o->$Y8iZBr=6?Jdz;{r?hd< zA`9zq1qlWw9|28lFL^r==G_H7+#69`TU{m{;E+o@-s7d7IVt%Eq`{WGr%3Vjt|=m5 zOc>~GFC#%ulx=aucbeByx`g}4{Mz;R7)aU_y7i~@+zfkGILB!D|kuJE|7hsNVF zSevGT{{T6fSnsYy#3qc;TSZHCp&U0C)K*<>Xqo7VSl2g&5n`_uepE-dj4ialR)V`v zj;Da8UVE6s3;YeX^p?B@nu;do&Wm zC2rPX%dMMAq9DWn0G1RFZl2pAEFd%a5(Sph=Tz#g^hR)sg zK;6z#r_4JKW{O_CH+4fE`5YGjic~i`)3;XgTTOVP+CwZ+$#U|bVkk`;!&|?(+=E($ z-YM**IcS!-nnrV0ryWsexg2=};i*>oTlkyOV{Pee+R~0fO~g@rM;!trB#s37r}pmC zOEwc9bXe7-kwX%D%Wl@oJZ-(a1LPLsh<)O`wX)A28#dv&i)xCrXVBO3o`A1GJIt8YvuC5e4F1 zh%x(Wbu{*JdeKI9&gn{f>8+E*5>LuN;qN+jw5(32$s%wd_k*ji@4Yi7Up08ezr4tv zw48ZWo$Ep2t&fO_qoD;P$00uAAD*%Hm|3nbRvD5%O5s{IwU2P}#7nmi4P-4ZdT%p> z%HL$~ayjeHpt-iY$mOr@n|%2hUeTU45+5ojA z%}FG9tOijpZ>5P0vMgyEsoIOhi7W*NX0g3dE>eD+%Ef_u89F{IGbTFD>crB{ENKKR z7Po4}ok%7(sXME#hr(R+{tGd8hU@vW`KdEF(|Rni?;Wrc}GC!v@u;xX>osR)4d7(qoDHZ zZdOZ7t=<{&IXf2|{*vaYAZ|+QURwKS)mfa!{lV3k2xYYDZmYGz&te6OVP72-7gmjM z>2Weh!3?kn>ky%)y6WGjq_gU4KCZgJLzKZhCSl(MfUBYl*|-F(2Gw^zMpdtdiSoirh(El&^0+P~+oM+Ea$Vr;00JdC4ed zKI$Dx68(K3DkQI_E7&S{Y1;NLrf9!VUB_@4xF0Fpr2I8$X(n&#CcBa}v|px)*;ugU zAzF_eb)klM-YGKENRr0ek(I)=RfhsN_GvRvVQ^hZuzfq?dWy(oEF@VN0$LJR&b-xu zs5;GJI$sNq$Kvho089IO4eu(+5;;Ds#GnUtICg6nYhxv}O&F1`?WdTAGD{(Iw~1ce zQtHCeIUAKHdKLjiJWBD=OMD%jy*Wt9>XG7k z4G|secH^_rg%+O5*F-l_U8wF|gZ}_7h?}VL4d5js{u*ctjJ@;M=6|V@zkwR`=jt2R zc*RJPM{~!zt*XP7cPHgnEDyhqwoN2=us8gZBNg|6bjyy6*s_{5DJz6NAxjbXYjw=~ zT5=MrETDS|hNg*+CV?A@!Z(rllc4cRCqeT(TnO>d*>!Tt=aVykw?aAc7f_DY4CH(P z(3;;nRj=}0zGK}($3_`lwy4I-=`96jIS-^5%}x+JIL9Wng~M=h&uXr+ZZRzODY08dw6K3<#`C9 z5wpp+#FgQwkmc>+RvaUeQ@DE;rkax9BY$Ia8&ns2Msj%aEw-moCMNx2o?{zgWKhnsx@zQHKe|!p&pv-eTJQeGhQACPv~OY%Rlo( zajGxDfdk#9INML6hF&ruZrd%4OJ@)k7Gma7xaymU4WKbMA|>D57}4a-sR zI*KE2jkqF3s?BDNQBlo-Q>VMP>l|J6yv3d-w4ND^f~0v06JK_jBet`-VB`@TPbEq1 zpiN19*qa*+d~z5P`u>)QB)|qSLB57Z0D?k}9lDNdxiRZuG(vbXcA>7Vq>8j>Nn%zF zwY;s`4?SEFv?eb^j}>(__v+&2Ua7l+Ta^IYM6t5Q2M!9LX=VC`Y2g6e7`2p}X@zYyly1xX_txQ&aovV~y>eQ3%)#MTNcyFOaW^84xmeTBa0Pd_fcGFNK z_jh-OB@6vj^;RRas!?mJ8+(f@CHk%2l+;F(bYisHO?da}G_r;W5x9Dc${xM6QKHl2 zWSJaP#v}@(-JtC}iU(~~hPJftAsjrQaL{P3WsRGGLZJT5AE&)e9F^(`_-kxW64RS* zAd}!Jp&!)!IULxKp#K1<>6#>t>^}o12VvvoItJ!V()NTDARQU+`hO{HkC8XSdnKge zGN+E<`zcCx^3n8V_2QGw>QJ{o;u=?%d3E_KU&Bm^Ey_s0%R>_sBmC6WCAE@J{{X$f zQ@)y(6LRsiWP=*3Y^dfdO*xUTQLFs4UBr(7bXVyz7c4k=yruk zMx)zp3^9N67$euX)S6REvgR)19ATZuw}mu#&ozEv?y-aTk~Cf{eTqG5OHC&JJ*2HF zbgK$1N;_bPAB#y+b+uw^&}v;J0SCWe8b3*nv$T=9vPM{g-ggo-7UuePZ_I#*r%@T2hByG1ZqN7j4vbStXX=FOYeyx_SjLv~1VPu)K;movj-AT&q)tzTw#PN8aPp z9e33!({GRao75QxxV1}LFH!P+J!8~TT8EN5c^xHL3~JI3A!AK_iN|&H*sj0ozLx7w zslLwr#Y~0Wy5Z9H@J$|5(S;RmQt?lyrbVX@lxyuy79Y4cOL+Qn3`pv}pPw^z9l(+d z@6=4Kh8C?9^n|O48f733Tm^8~P4|zd@cjvg>Tb2T`BxN9ul;mp^dVHox2QqIsiiL{_Z~#t63Vl+FkW zPSZhNkGSbvRZ*swJ1Q^HToD!w-w;| z3(|s}n~_Kwq_;RsXdjj+%Pc|(#OKSm%(d(sYh6In+Ql9|*}X{eg&G%(jvqW= z2ObAPTy?xRnJ9^A@=P8z741|6DLy)u+S2A3@;glor^-)qf!*V&WSbpfcY55e+kW)_ z04oE-N%fZI8?Du8gE2-w!qhbQYtvhsxEY4#iPk%XEBngPvbY}A*Ql&o(!b3~MLp_B zBi=O29o(?UIF?qg$Fo>G?f(GYueTiuE_wrXhrxB8PWKIWaR74}l_oZiY|FS2<&d3S z^(G%9)4y@BxTp=zO8)@u{{T_ibrVAhioL_y+p^pU(0tA5ns(_fAHE9eE7)H0 z38G!zy|gSAXN-#ZRPZE@8n%wlt@B@RE~ZoH^xkGyTy)N&g=6*prrwRqYP5P=ezNJ@ z=Rst05w!Mk;_T8Sdr)?Z)TC0Qpr~i_fJZH4Fn8B8NY)aSNkamYMtH|E8c?gP2-OSR z8vauu1MoT|CC=_(iJXe~)a!mzAA5OeMiW7Aap_6Ka4O^wD0{}4B#L+rUwDMFB81e@j5C!V$y z^YRrVpMlYV?PHc;XoGI@$HJO2GtkujoNN}J6w@jPk(f zYncU%GJ*OsBo7ojsy6@}6Wyz*Gg$20*?tmS#~rd;JJ*17B(h3e8hpT!rE4yky9lDQ zK2H6VQ@7+Q0Ms$ZkLks={Yc`5p!~*P!Wg(aWQgn?cUE4zofRS6+*hGj`O*Wxv z4*+;-NiDA5D$YNup8k3k9pNG%06A$aaJ?{@>*j(<#jUGLaVuNfuIXEg{IRbV?i!yL zbB?#^tNS_Rx4Ol=0y$!yBeqE0YhB8C9Zzd-l8QL@{{U1`S&EUwhG5(ehL(AeA&P~P zOY4w@)b^?dW})_IpYLsowng(=+gb~mB!1npNWoNlMw$yLFY*w-n&La-6lITcJ+M*~ z>8^1loK;M)qDGO1bt(c$;pm`V2I6eJTFE03~3be{)aG;9Y*Zgk{ZV=K zQ)9lLcQ|qJIgQ+d$J5wPw_QEfe{Q;WtiILtZZc(`CDeFWvbNT@NAn~$(#0`S{6SY6 zO=xwNpQwJ>b>~ICQX?_zKA*U`u?>DfseC)YVLYWiFG?;!e6{{TuZ zWOWknw__j73XlsBI37CcpZkODW;3n2=c%$OkzS?Bu=LeceK{eL*eRnju{(eUw63bK zwWM)hZAbM)A*~z|<;Wvw2ZcLEk{pzH$y11t9^yF^*OO8}XnmSt)4y=8I(AKlAoe*X zS1>ot5iG=P{t?5&P%XxC%O)*iSfZX=wJcEu03)+Vs`#6Un1GPScBVuAlca_yVU^HQ zV+6=3dx0cZOd+tjkPg8jAK1pa0^=2WJHSBTdrH=t63JPbO3gT>!R{!C%cgtp~VjuQD@#4`;JqsUqzBtizATNM*i`Ery|!a=7*ps*JKA zuO>!6j)T4Moe$@Md3$*1IJkM+v`PLN3OG}94g#Q4Fn*D5~GBWV=qkZl8YE`z!+|0!e$61yaukf)}r-rPg>zmnd_O^E_ zqTS{%G>{QiCP>qXuYRo8?Tq<*EH1}PqRVk3K`}f5E9I#7YFP2*<9KM(OK%IxqP?xO z(QBfuoCNZ4$ikicE24kALpyejjKAV_3oOyfM2X%j#A@pcadVlo#NxBrb+NF>%Fcwn z%eM4V$IhQ4w`*3MG~ty zC{e7;0x3xoiE5iS0l~Odn){b0-u!K~pGH4Ubl9{@OKzXGonakD>nxD3Ps=L$CaLuW zSX>)@+$pcVnC_>=bQeWrhFbpY{ny0X^!`Jq+ZP5qc0Ushh10Fgt(57s+gw_MDU^{S zmj_?|GY+o8bTVT)gQL2usJ`Phr%vKvxj8IX*F}v++=`*rBto#c3o8Ify+OllZdIiw_L`C8UfI4XJA-Ix0(88aEb-MQ-Z!)b(Hw+Cul|1wsN3e(iRD@2g z$GVl%%8=VUk{(0NT6hZa)opApr(xv_ZDVsVBz|8cXO5zu3(!4Nl=b+mM?ubx z>NE)ZP1HM#Z6s}b1Xi2E{!nI-c=&VG=0_*?F6Nd!c0t0adzd9)6Eoir_6f=b#EQL%$AUBs?81?BXp8Cawrk)KjzVn+-4aO zg8fJKMS{L6Cb_G7>814UvjrRT@ z%!>ecdRY6QMLYr2(^w3xg`>GJBfOEQUdpT1p2MOfx{^XUvlKi#jYg1P*jQYm^J!s= zdH(=XfOHm2O^HF+9m9MF4OG}NG5m^2_-e4)&as2fVW9V&1cvFQWB&juKQj+-uD4#@ zTG|pTOUt-ma68Jo0zKnftu8IH3O;Y5yM}t6>IVk8DV4Fy+0RloJ-4JA{H-HxHSp0? z>3p5lK39?AP<^!1$8XV*#ZY#;lFeTFja+>!IV&cfQzrW>vk3Ec7@1ug;ipgUeMGVf z)I)_!%8%k}V1#>VsID&YdF+Z2Sm&C`=@j_-ZoXYb41GI)AFkpwmRo0zFwAH-I{*}T zompDv=ErpXwfffIEUx)j7r06NwP$p%it2kyn;xNijlQNgC2NN%g}9IR-um_Jj3S@B zoHY&q09o}qK_v*d>0D*pokfr=4>fFHw~9LVJGP%6_QURG8yx@@Jw4R8d!Cq>!gwh9 zxAmfyMLY=M?b5S!-IhW+5^imCn8^@#Zeu!9yvCSypIUSuKuJJ;pEuMt@?3HM0OVPT zkK?P0C^8n=h-~i6Fy-v`{Wa2~P)!f06}C4qxC5)jlcoe^q;P+#UK~#z5$T)MbaUpC zGED*P74)@nZPM4d7MkD*E-}_{{aU`>0!M+ZuAj?H?xe28Xg437i}Upf55uoNf1NUao-#Hh%zzS6s2 z<{Lom?bh6VoUb9Rq|^n`KDuOhW7 z1FHKq9o}p1HaZrT0W=A146}qgcLkN(fHmM~HG7ci?A}iud22XJY(0!ofpHgW8Dt(( zd^KSBJVowLrC?M!D@*AsEYDN9Rz#r+1vvArt}*>P&^FkcnHfHhA?i$Ki9?2PUCG_J z0;au(Qb}d@bD%L(h1h43e1++94Md)ti~w%>9ZGF+eIsC(1Q{Z>!lMAghUGG|5u>{$ zZ3$)#>RRLNAaKjbhFIz;q93iZq2#3!%5iF0fS@#i1x+<1uXEJ%n}#nl&z8H2CU4$l zGNAYkD7ml`kaq)fdeVS<>m;pB2_nJcq$+9yJW??}(s<~z#n53U$F{})ZI5b+dX?;TRG$_?IT`}52!i^s*n7r>@zm-+%Wztd&3){@F!lJ zpKWq?NPm|uHrn3y7XJV&kVxzCIubA2EXA^ZSGt8EMfQ*yntM##m`pY7Ks2^@*Y9lV z8N1wM7+WMyQs(mh)+-od zLCn3)?9ib11EUXF{oG8>LLPWtlbT$#%xUtq#7iBlN3)BOr<0&Q#DCnku`v1!$69q7 zT|!6iK04j@li*kZuTKGsz;tb@e_DSWOiS}K!>?JYBsjcJ^U%EJhC7DwakzB z79;S~wkIgxMLLC^$JKU60Mr7UM+3)O&h>n9GXI zUt_LhmgwKc^F;hw3#t!NG6Cr7%o(fRHtsbcNf$dnYw49ayVJ@T}9M3H(yJ1 zx5nVW(~v0FV%^msTXD!SetdOtCR{|4V7i8ECK~YF3+st2gbg{hmhd0y*4XT1l+=MH z+R}hwuMbb-y0*<{ST4GIEYgchpQvSuu5H~U20h!Bjq?Fs8ta^YM*X{or8+~PGRLRh z=NTQt+siBdrM%a2+&liXqN<@y2wqj!+Uxu4*x}4)e$?di`A&~(3yBjeeGFHIJd~H~ zC|Fu1jYyAe4$<;VoJcR1kS}RIm2ur_%&_ zGyCU6V4n@t0(e?H&(OQ&aNd z(h1$JL}ZoRdrp8@0970ZWpq6lmtj6q0VnVptc=OSk!4@nMuE7yiY^sx@{jN*M9rLm z4`^8AdV9do50k#RV0fjqpaHxCJ8<}DTiIZ*vbS~NZ#}_guXm+vg^rSLko!@P#8_Mb zvn3^><73!=H`Qbr8lB{7y?^(AqdHKlQSGD4K4$cf%}6aH0;87~)5X*uczVOCZenUl z{hm7fdv0AVaL*;S#2{{X47 zcbP~Lha(lG%auL#Wv;%P32_feSOP$^>Dw4=*VtYt!QtVlPE$FW%R==R9<}AnirwLW zlnQ&a%)K#SYJXBwX%_mP((mR!9SJScYZp!nBo~GPzQ80J^ey_1@g7e%pCCTQ4^9(7 z(-r~O*jf??!%o-#0Dkip@k}<$XN&_Hl;lE-SfizU4!wN;08`|8l3_!?DS2^tYwVre zei|WURZhhO0jf!P60q+&qF$)(Wi89VjZ^BTBfK-}vP}GW(!b-Xxx04lpin;@SLrS$ zJi%!ZK=%bY;b8oJQf3B+*|Stwl7o=ps(mWg{G&iDAOXk))kFk=+66Q=+c^iH5HedkW~JF_>5PxK!%N zDeA`4AYfD;8;6FT!x4i1*<}kzE$yO;D3Us{Cu%96;%mcKPZn|?s3GM@CILlM79)9T zR-A`v)b=fHYn!pTx%F*vnVVQ9jv3fd<+rS=@iPhr*l5(^4zbhbKAsG2HW3w$7Qz_e zwzrJEUORYVB~rXg9%S)jT|K`|VO2e4201|6^yCnC8D(H=>>4(+^;vTxESC|Odgrn!!)%BS-zaqTAv zp@af%E>8%+pfv=EFn?+KLjlni@C}l_7TF3$K>k_2ks9jp*YnEkp_`KEOV)i`mCHpL zs@hL=EOzL8A`Az{y5Dz{wT;27kf5xDd;b8(L9K(zyw#*&qMpUn_V0$pUNp4y?k;WK zX=48X>Av*?-VUX+waQ6nXCW-`K^zHM@TTD&;5~;`-77O6n|oCJ4v98vG5p7Oo8QOw z=-->%|CZ+ zU+mQjARW7mNPl70>2EFK9loX1YyJaUMrzFg{Hu1P{u--hA))OTCy&JIbh&6v2O7=0 z<3<{2zwR3(k}+8$W)&Xt+;mg^;Il1S5P(*`-Z~qyQch27K(PM+!ZopFyPiNQAxPLU z@D-rYDTTk>Pns!cwD;~H>Z1oWX~WFA5B;pdd2M$MUwGH_@j-6?0KF%h@YkAqG(vuH z5aaPW-nlr0VDeN%{{RgEagvr}`>V_1plH3pjmYC!Nn$=apjg}vR6(FDqGF`dn?WD5 zOEt_33?T6|p+4+m~(%Yq-?*gUeWaU5-`yX6G%0mot*2wn zD#GYlT*_x6D4A|{Nw;ILVmA4Jrn;Awqn2q`O59%uAa>FZ$sreO9j*! z$LP1a>U{b=kj`C0zRBX28-HAgY5ME1rsAtmb&u(67%J0L&SE0vcCY#?A7dUC%cN{#z~C$(C)2XPEgIH4X5b0EP%bBwadu#&`E-bgrj!%| zkkO7&wb&B16a;u3Ok)J?BAjVM;h?K>@wfmm-bcV|h2uCpDZYegDal+Y9Ck+|H@bsN z%YTp&KL?Clv`6+GZEMTaKt5)bnEwE&)PjBbQyyY+fcbXZ%DgMUQ*hSlq?y5>TFe=b zxm=wG7P1(J118o+0-wAdr{S+pA$M^Vy3`2NO5S7J!GZjB^$mG?Z6O8PH2S!k{M8J@ zN7TB=NmEGGZ{|lI{^KA&9X+B;l^oe8^_oRr16fbtbfD)ip)n3ABgm$s*(s>^Xo#-v zXNgaeNabKpxIKRjdXhd$NL%Km%WhwBAZyo>d$|-JFp^gX@H(iT=W6pvE?ggdbk`Bv zUED}G6p~`kPkE&^xM9mE`GkNs#Arnp9@&LCkgHE{3p+jBU5ypk%hs z-4ZHS`yN2>9M2es0jrBVEz6ngz-x7d#dyMWcC zdq7WBDoODgmkZMZJ39opns$vuvb)PO67oqTg`L=*)+F|7V{hsD1*$F>upD~{rwxB( z%iP%JE$!Lb%0E_gn%~qRofbq;9yVdS(|Um3VMD81bz5sZWs!EW#;d%5Ni97|rItd^ zEU&Zz?05haP-+0P+a$2MwZEnfcOwQ;IB_6=b$^zht*&h{xm>-jeS*L3zuo!h0*CtgKChO~ktZ^bJ3-v#$0OPyitLe^O_Gz+^U0dX@ zWI(TR4fKAM%El=lKsU^T$;qs?5hPAi4irww9ObWHkGk~tILPa;ziQ%ku?^^XnOD`@VPxhHE zl_G-Nvj=G*TUA(tyC^L5+{AG@zs+WI5@$16SnBF*^T2M0%4z5AkLE;G1lVSRO@)lecDWJWzm6(CWwuT0t?SJkaGjVK3 z=XF(YaWvC?OfP9T919gE-VJr?MG8)gJdVl~@bMb;uB@1q?~z?kxat1B)crJ+p^Xu? z{0N}aEC~LbW~cJdceil%=^_5vX?Dyi#iQP7+2$NISg`^Q`bfkB;2OGTxPn;>hN=VX z+E1_==`En!>#?Ls>aq?awDQx#b8jSa#Awm9n~3oQaHfvgrBHt(?qAuaSmcRh2jqSm zhk+wPK_15(cP@&p#E=4^TV((scZzFcBgt`E{ZmaKH0~%or$yzzF&@q&4G-(l>&%BW z8V>^*KY6zkUv`wNrY2FzR5AQP(URhM!=43@?LP1+uTWjgTECnh+AF38Q zPK~cpec8xgK>k_nUm0r%kakt0q1X0~mHWS*#Ny>*_ZAV_+Wj$O+xnrZbSyJJc{A5G zBA`NGvsD0!9uX+))z!~Tec0-(1X-2AdP{I$P=7+Cgz&p+_I9JwGxh?)aT8%B-_oFUu^5BxSGe*MRp8Hr#!q z#KNj>BCGq&MwMSO`1@jO1+}-U3|st6N@zRDI!4Xq>@Vy=AE1+5U9sW$eM(c?q_y>> zu`xJ!rM6&_B|C`?O?^3#-9xY=8K}(k6sr zunf5Tb80*d4j90M#0K(-? zt9699NSo!BD7{tT{85(H*Hzp(q@si#;tdYCq`Iqy5`fF?$^f4X=GW2?QXc;jVG1HFqm>wg* zifH;a?QDbdhV$_61BQdXV&qVHYg*_#WbPJ4{#>Pv2fIQek(NQ(A{A5bAZyQ>l2QKv zr!Wo2+pV(PtmKXWj$X|+%6mZKecB4O1NgXCK^A!@7#0zVB~lx3ljDPL&ktCaPDVI%(2q9boNWi+^}Ns`u)$#H#q7sT#x?%m2`U$f6I%Kj(l{vJi{!OVE+I|Ww>s; zkaltWgS6@IZ|*nEF9WxVqK-&_a#7edy%u?Z`H4f%!n%@6yexM&6MrPmLj?qL+n|ce z8umnhC>|6XGzc}*Gc9}A>uSeC`@O@zO(Ab6;ZdU;mYD^h3@)vZIv)W;ULBx~ZTj@7 z=MC+=v7h&XjWnXl5j83G78hQeg!??dj)Rq*yBJ+tB*)w9TkUGuVu`Fb)>BQJ-N zXQ1qUA%hRcP~O?xUf5n+5Z2dGpH67V?O7LT zA02w1_kG>Oln46AZLWBZ+PDV3HPYHx{n5F52-DJAJIsBR+#xvx+c=YjI8#p^Kki&u zsASs`B+?x36?YfiiS5@7XP4eO3$jM}8Ue!?mjTXI?;j8&(`;FFJD#rd% zX=J&J*u;?z2o}pB?yI9oJ^8-b3Uu=3W0!<2DVzCj*`#*G>)|&uMIgP+x~&s*DN<8k|}Zliah{{S|+rxVtH zX+GX(I{4kJFvtj(L-LP5Tsv9Ej6(um1pxy+w2P6Q`i6^#@F2Z#X*7@?J)n7) z@Y6MhPtlUKNHP)mPlv4qY42S$uZfm;6Xv_JD|Z*RvDJsYMwt{T+r*9=hr5{3mI_a5@4xhntj7!N1mpaONaST@An@(i zsfPQjgzE{*fYD>@)}E0h7T#Zj4(e*vq`49|s+A*$XzbP10VmaZAN3s_f{o8pg%rE% zjKf>p$fL~I++wR3tIuoB;E*}fSF&8%l*eLVH#rADOSl9Ci9BR(8e54XhSz8j#Q+<< z7>CM;H~uuyn038YBm|I0}MiC0}@B=^=-$6ok=33WOAb^K;L8Ub$ylD_E z8XnW*rQXAPppsL@wLD0#aL^YnUNuAHkDEWYUZ59#m~y0s+(-IP9R~WxjT_}@7K7M9 z&=TB4_23CaHPVl(iEH^*qeJ?{VfjMLPXSaptHwWmkE?$YiqO^g>-92m4jgGK{{Vo| z^s+ZpJiR$*rmB+VCL@s#Ej}%+w-DY`a|~RcjdV!IT|Wwk0m=C8(%M?bAV|lW+=3i0 z`KW(xlyy!<>gw+uESC1KIuZRaYQz-Ast5vuSPQ&L+)ivVQORYy0o!zv8~lTMs|r;Xi&UK ztxmIF+`6aJ&s*Et++#4J;i1dJ1PzmV&fyeFaM5OAXsyiZ zersvhX_Zt`yN5o_bpHTMUgU!GpVhVH^@5@+E5bL`o|Gy`^8?wgx3-TEZ@OFpD)TlpGW3v1<#&PcY5E=;1m` ztMQpgeHktWTO}&t<35cyr=@h}P{y@E`MWh^m%;tHxyk0RT}N%5pRS~Wb%*Hf?Y$+i zV#yhJC3RM&?Yzw^tTrzZ_Ga6zI`5~fayHG-eNnOT@!~QgZd}>kBP^MJ{U*&W=M8-(h&HDHR)O6?|q5v!N!41;}%>);+~`b#S$xlWtDPyuJN zofKSKQ;91=0Q|kWi#e9CwaoO5%WSmk&YrnkrWQu7(vNcxtPT$ivnm?sOB2a&GM_B5 zF-PIbgi!0#%;Rjcsb8AzEt8M(+{3a!edkq%?<3Q}?m#~=Q=+EEUF+JU@H!@wMn}wDf5dBO zo;sdef&IE6n({h?9F&v$Gz}K3<4pp~?K;}X8NIqRfY9>euhWZZ?;^US zkfWZ;sQ&Fmdqiq1x@<($VbHrL`)gR=%<6eDUK#*KiV2~w z3J)6SG?&rIUSR=mc7&W(LGwo_C{OxWXsjx<{K05xr&EuP;rNjJ6xYU@6SgkczaP<8 zV8h&b=+2Nvw#nvZRvuphr;d{=jk;?*f-sURnAnDm*O5{?Mxw}E<>i`u<>DqwCeuk2 zu2^gaM~}=@4tnWp%=b~+Pn+pW80;*bIRmkZ2{*u|R$e}s;Jw3EG2~;CXfd}$<1WLb zuz?~f5ClF|p&ZDs9cJ=TW#P$Xa`x_mu>#i2=v9^`9j3hXeQ$oZme+SEvD#%~Dp0cX z4k`#W?bcjJdTya56Y6=hZ4{xecCEcgqPPhWGkS@;cN&WJig+DkZ1R0klF8z+J48J@ zmbjk#8u2gui6D6aX#6*D?9^8|7;Jvh!}PORf81RKjc1);xKB=Hk{M^-L#d&oAC8*y z?9blJr`&Fzg?(8uHu)(mE>+lh#I`pMD&3ws{?m|x>dyWGMbsCH(apb+EFX_%qMiw) zf_NA_7ZEW>MjV+KP=Y(gmg(=`3zWZ)>2rBPg6j>Kh^avydl1x$;1wlI$w>g>4x-6) zUS}Ql`#G94wflLVxZ8xfyDCqo)BQrbp(!c;To(Zx6SsinH&0}K&-I2MC2w#oriS9u zH>(ptBwm{zRx`{p76fq`mdi0=bBw)&{-veVZw#yLNdldEiMd>HSrLjbJ(OkRp%v7z zWuQ?(Z;*^iK>it*Y=h&imv(dFWTgv_>Y(=2Qb0Y&Pc}R0a&a|xNoh$){{T9G9ev|Y zuV$yPlqE=~SxZRNYQfuqy&bzg#aay@i&avp}`Y(H+6* zt-@QT9Oz!Z;h;ZUQ@!<1)Zl-7=n(}-?I%@=FtqU047Uog`m0#!LrRWEvs0>`KD2=U z0K9e6SlK}IZ*q3&I6R664&Q>Ebp}oR!y%ElnOpb_gdq1Q15GM6 zHRG~Dz#n1Mz>hE*icWiwR+?40h)OuG9%^~30yu&-C7rWKkhK6u6k-1W^wEqz)FN?? zQSzT|w@w70{#848`;M6flT5&T%y9c-1LGUvC{Ll6~ZkAe#Q&4^hM|N|p^u z(?BT>{{ZsqR;l=DWRUseM$?Qp0iu52nU8_HI%R zmMi8NXcK{o_x0MH!Q7V~6gu>-x|&{#%BVh-zCy|Faq^zQ^)R=o5k4qJl4)KG+etV> zlCqFbZuIBo99R87YZqv7F!eSMta348vz}Oitn|$4~kgaamUZk}$vbqATZ7gh2!4&X|{?yE7`oAe{b^ieUC)v)v zy2j)B>l5gTyqMdE2@YD?N)ob1C4NvrYJru)WbLQLX7HDfWt7F-M%MQ*N}gaPg}`Mc zNIXS5v|0!CI97w6sUo_!E+ax{-Qb-KR(P1k zvtk_bOQ_878uw2K+&|Qs`nX%yv;wVrWLEAPcd<&9{{T=Ls$W}_Jd4K3$JzlJ@|bP_ z?TM71fHl$e6oJ|(YBWS;%MNv_>YGR>wz{jn(mOO2RINLC=!JS$mu8@OUaRUYNj@W2 zETW)IC;UfU9qNh(%E1{m95>Ym;&qU+lx}-_x#5%%L%KOxO-C`yO7J(P(VeVH)K^m> zx=EtjR1p4~tqpvnntXJ=t?ZIa++z|U;={0x&wholE50%U(}DMCW0lItD7%}H(2hp| zACWzpD!?>uIFIqyqdbFYs>Lf10aM5m-=PKc%L2qrBxB8c#XB_XjmklPDC6nE)iqwt zCC8-E%EF>y!`dsYyUVYCEh@BX^x_F&QgnWob)=D+GRO)mf2nK7LRlHDk;j_k&eAYp z*|E;r9WvP82p#;pL;0V+i^)mw)0?}?#+3*PrftLA7erep)J8>Q7gJCl1H!sSD3DG0 z#7f0$+o83KZs14*a2?Xc1-p)g-Y+F{h@2W1iTsQYFv`HG2ec8VwCcPCn4Vw+nVd{(YVK=M zBfy8#-CorLP|4A^_8)aRdlHRthsHJ8w9esW3t#Dk+a-9zP_#pO8dXA`I?r^^{{WM{ zM46k6MbXG~$5HhPNp+IM-GctGibYqQcNS8ls{yo+D5koHrM~9$#s{q-uy}1cN3XAJ z?jV~lXB2?jyg3UP()!$@mMt90XvVvnkvD&6zV05KziLyY`l*IS%sD?Sd0Qn}qfx+C zczAZ5T8^*jCxQ#m&1aRc5@oC6)a=wZnSP$g;;nAolFt6>%6oWb zE6l|5B8D2@X)?I{qP+e3t3dl#^A02M(%jljEsfG~7Z5Rx{pConzeTbTL6%ZDyC}Du zc!^;EAN48H0O@IQA+F4l7--#rZ!PM+!s@;{NgwKx))o^Gz2pe8X2+nEH5KFd;xpY(acR?Okc1GAHMOPm=I7H5z!pGHVA9Lh z*vo#C>3Ilb>nFaqy0(rbB%80KjfD3wJvOhTRjNlCS6E9wxt%fB9S=HO-N!B8Pue6& zl!DEV{^4b9e-OGcNErY|H5IPne7foGro`gKrCl z1(mTMtBJ^4Nesb%c`7LD{7OjFmiJh>=Tpo%3amUganxb4tF|==g{~FMYTfC>fbh}0 zj>Z;bqB}uB#P*TSheS-~KH65GSHnO{FbiG+w62BA2-YFTV>u08$`PlY*-P)>#J>~n ztu^}OB{G{hM{N<8(w6xx%&uhwey9k- ziC-?#JZr1@zN#TKk~HaVuC)ZUNKiWkbXV6k?&dYM3Whw1;iisSsZMm_J~~4T(Z23W zxCZzg4^?CwI28ql{vB0hH0~!vwE^c{2-%d=k<)Dfz~o0gZ7f3eXvZPl5FaTVG(9IE zQ{=5ikj!>T8LB_#9w74?lG8cUcn+_(1WOZS?G>-0brc30)GI2AaG@-|8V!JkE|kj4 zUrQN$tMtz&VncL*0sgQxe|>*vbBxI1V0((L_-68of{wH#Hx3}uoOInk(}{P}7l~nY zk()hzlanKk{*onQ>f1;MI#YqANIa{g$94Yz+3uX`8yl-nUfU^;l6-x&%vWAnB!+u; zy0w>juqx`Ht8gN^Ot;%B?6=##v7daGT_4tV(l#Rb%Cvzj`i9ySw@0G+1nLV`ot4-2 z?zZV{pG#hDDH`M;WrkiftQRY~8A0qQ=Tvw>J-wQ&Rgc288mf@PyTeT;KI&^Gei9^2 z`ffW!k(#3qXwdr1VYQIdz3wpW74K_jJ3YHf>(#~;&BCIx{UAS6AO8SS)#)Jis3S#H z{L8`6f(Sjt9w6wN)b|Z+jp^U0Hb}(!i&giHU6$inr2hbj>6MfQtpU}pXAP8>6_&*Mk^@3L5&aNMWFa3Js_fz{=|-9D1GTU)0Wm-()oiQ<~)ArRXQ!`Sazbdc1Bk}afy zcxqmqz*+U5MdWQSuR5v>oVJ#ip1-GUNiC73o75168<96{R#Wl{@2-BXi^>U<49Ziu+Z+1W?=mH=EIjR@4%>3=RlWi&p5jto0I-1H&4w2k*vg}O;C<^Xns z=0bh?2GGb9@-5S}2c zq4l;&qj0~Gs0}~IL9N&=56eNLTS#OoYJEl_y`q|AFsQbhjD(t%_8l>_fn5RMUy1i> zk+gQ?{{YMpf=9HS6>Ocvh}_l?KfrL+&O*Y%{_e)jL)=g61=9vpQKt(cjlkcE+wAOhF4ajDT48EcErOjSJyl~|6> zCsSM;&DE`%wLKZ(-t_jV)7#B;CDqY8lI>KhsP3rY@z85byNh*Qrr%*Zz4hU#r;_T* zS~UbKFQqA7%2ZOLL14bLRwAnbnOXgZRgU7yRv*kmC?$Q`dfMACA0(?KQN4s|l57f1 zu=$-!5yRQ7l40Yv9poDOIOr>56{J6zSg81D%W;Cd5D)qAsgXytjzdw+X(5G);Kc1C z+o)jbENs?>;18y{k|MFpDPJi*R^i9WPMZ;Va5J4XI+*3aTui}2Hv%D$hG>lsXAccY zllxzq`iuO6$raZ`bybo+#gqji&gL-a%mAPyP_G7EeY(LtrO(g(!nE*2>KlR#Y&ks5_*K|!nQTy`@J9yaRd>ZZi~RoYn_sO8=3TR{_@kxms|;Bd&T z@=~W+C%sH|Z=;xxniE1pD}1hpfu}tQpmvUA;}ptDvYz#I zAdL_2_G{D&7}~esh%yMgg(p!-DcvAG-8jVGt=!+28FU4;=r4I_->)Dfa3N zwVGpd!UUc)#$|2HkszE=*$R-#z;GTK%i?T0M%K?Gk;dI)A*q2mM83a( zW59COPWz{VB)Su(RmQo$cdfZzaVi{{YHk zx!NT)5vw&$(ZE-Rqp|9Y-%;OVrzEY6cg*&msK!PD04kun6F_@)0KxR)$7~eF*XaW+ zgaOBU%1Ny`>t=teE_znMTq7;DyItQ*I1RS8!^+3_oP`~_7_OMjSasdxpHp)-0~IpQ zlEzrW=1Fp;KcQAZai!6Gt zAEXkQrKf+G0xPdl()F^|>^Msp1&w?G)jb*HbHqio0tb(qTP-?%?T7xVs5P&!>H@e7 zly?!(ULj{?lBakHxh{&q#ZjVO9O7PfYd6@Kit# zw^bPvKqz-a7yb%qrH3}w@;A-38I+G^8GnFQoGg*h(0xMz zEgik}gl%l=P9R8&xlMb)8ue@=w=p*rdqq%(#)<&tt*yYXc&4Mu^!{4^0H?CCIFdY$ zF6LWFw<)M4p=GTPeRci6@1IB5^nq%k-b2^0??8=;QO&^4Uvq zNkmK`hT$W1ZR8D)LV5Dl-M#PJ{4?h9(xf>&d*g5ITGm;AlN|elDwhNWVdZXXqxG>Q z&{%|NhpuuswHYT32E8e!%@U~YRFzhsHt$f{WG+2EQY46c-FeO%H1_?BAr9}N7P~vNd>&r z{{YvHAgthXp)}Q$oke7ccW9#D8!E(Y?D5bs3* zd2$jS1VtKC(_ix%fvg-hok@qh(M=NWng(E{ z%We)29l(J~4m#*wtHyoLgQ@ZTOK}~qRAXbdiLY^z5xQ26Bz@#13hi|Snh<#Fr`w`B z^53qod5cqU(+^MTt))UM9IGG792&0W3=Ki$sV(uTwg#a|uVaawE6g)fhzFLMT#j

    lyMIAK)R@sMLqUeh>4gXRqV+g_jHGS$16@h|uKgrdTCKI}gkXDv ztwz7LWh_$X63k!w7G58&$FV%jFHrCk-xII1Q)K#D&f^tecC>aWaMy_gFFlgD4pO{> zf=4QyN1wT|ev;~I5)rz;r$XayTew|9Rjp?Sv`C(91nQ1}i#L@c)E#^F{!4zJ%M}NV zw|EPNY<1Zj*uc=a)b^MzqW=K6+R>SRwq>oJ$0mw7dX{q?)u%m-!?@_jb7U>$=GNel zq<<7`L!%|2YisD2boS4}qrDI28mvd!r=E)yJG(}&@A_Wu=N+EM&2M#Mm9dqr?=4JH z1~S{v84nw+IjOF&-*5i@#ew_V&N{%-+5qLAq?Z@hF`e)^1QaBpp{E^99y6@*J#&SMNTZ86jkt;AjpkCx9l(j1R!=Fe z(@quFo^y3>Pc{{Gr-&q;RV_9!iiD*S4op8EphYK5JfM!1m~%SB6zSc5jxWK|i=63UMkpk8$U( zS}Xfo)nEBDM##h8#A=h{VOIohlG=cucB)mOnSNHGRtK|)*8FB(;#gOLr>IK-;7=VB z{r+c_MH(px5|04Xsn_$`}8X@xg8w@k?ts$Yw;idWmNQxVu0o_@`LFP~h(I1ERP>Q) z+D&!EV?HB>s9{n&IP3nMPqgceu&1|NZT+KP^#0oG`6YZtxDp3_G!Li+JN5Igwz?ap zQQuuv9VVyDpzCWad%L&~!(Ko&xH5t}E3Lk&5!^`E9kuP{p(IK-cN4(ru@_c0?P^e{ zS5%Qti4G6psje~8+vA!}Arx(lp6$J!?M;=2%&(}1JFJbgFs@MZVu z?=iSRg3GOB^>GrF$H@J@rHrJs1oy)Ge}_@pXP_B4VxWv%F6m;Y{+!=B{B;IC8{B7C zV#gQhKDoDNFp+P5VEy=4xTxpB0*7Fay~kAXya(4;Pf29@Y7yFXfd~t zNE*`e&aljmrmEnr1wrBtpv+oaUFIgoPaVWJXbN3!iceQ^n$W)Lo)oFl^ySVItK+v> zmRlKL84EFQ-I@3AU9hL4FNDHN9OO; zR}jGk)QIXz7ic8lN6RFAzR|0zxSmU#rGR(6w{9X^Som&^pP2_19ixto{x&aLa)u#D z^A6xO9t$CF6`ao?j87^8LH*NFsN_p~Orl5USdbMg2eO()v$bnQRogA2oyAyl0G>3^ zKANc0cIEVSH%x}%=I>KJ&MAKRfN)RA1c0Rxm+*r?@Fw62Q_ZIXBH-Cu~&c2-`( zDhT)yp}yug7=C6>ANX}&P&!wELTE?7N)Gh{n%0%~=|!VFAb#_1(QV=TwZK=yN7J@x zDcUtd5e?jGG%00JPX^tpn8MeX<4t;Ic$PqDV`%_t`wty`RmG*mcANmbFiGffG#{(C zXA|S7FY~=8mBeCh-BRB*JRsS*aaE+TyNVIUr&gCY6JsuHuf=WdvG?#@fN5Q_tZlwC zPR1HYWt|o`rEZk(jC?riXi{pJRJ?a1&2J}Y0oJ4w;xzH(+vz7*dOkP3pM*~39(nUR;UihOh)Y1*~y zCskS46U>95B3{U}?m8dT?>(gINZ%I(R2{{XAILU@)-huYrN2AXM1pptlk zcWGq}krmw2qTnyknV zIPNXmdODxpjj8O^m-u-ux(_2G86=Ac=1g3(4oN;bazX>%wD8c6tnisnMh_!()&@WB zR$FQ1`n-6h)D+}h42$8U$zpPLnXE*HiIB6IWskr(9%#>aa1MhitcZI?w<=S%gGuE+ zU(8Q_gtqFJAxD}CJfze2SaQ=rJac1i0N|7G9y?rlPN9<3=4j-Z4NVQ9u+~M={;17WN$i4?gZ%EP$B^{K)2`kM7{vOgLW zPpJwEj@2|Y;x&JS>rc2Co{7oX6lh-B89Ij6<~ID%+~e7l5O@%ElCsU>`rk1$Gcsa& zm!+Y%j>_UXd0n8t2_lergRA^Z-)!UR7_Ovs#`Pvndz&1UsBQ?wElb39o-`ni&0X}} z+FcEFHqA9wgIJ<1*O0t9*^Cw0E#fip_5_8Zxk8 zO+oHD6Ifo&1E-cLAd%x>y~Gk$o)psCb!HbC)DWW$;l&#N7XKiG@jgp@=zCzdn2l>?LVvi}2vzk4@B(P;@&vEk#Fg_zpY_k6VRc^+E z>fnoY4`C_*Ix{qCOYvome5cq2b^6OBN3<@f6wGPZ+AJEpIO%{iBZoa27AL<))HDY~ zth~=Hae9-?YOY0l^h1c`sN_c-3Em&8g$bf7dNXbAS(F|lvY_bQ^sZv*uPMh9JAEbc zj?e%;mB9Z1A^!kQq-(n)jmlK5)$N!zlCyS+QD_^+qe|CyarG7@K5496E#yFc^bJka z@Y7|we&#%_v?7;~M1QHbVa!i#e^n{oR-QT`3~4G3LDU8VxSc($m+;$M#%T8Qx~CJ$ zhO|E8qSv<;$qC@B(jy_SaRh^?qQ%{BCS@LyHDj*f$bYj@TBFudB{7rF^yFZ}-K(2x zn2eA*q*uy>sgm8v4v52uJ)r2@$6Lz*65Lr&N*S!&(Io!>GJLKFA~cg@a#4bwSGRG- zzCEK&@@<@lh4Mv$~z~06j@no4DN3)i$gMoQSciH?oX$ z1~aDbVwn%gc_`vL#@dZLM`vwfQ~7?XZa(ANq+^k?j+_Fl3J#rbHeL|ieIv1{>>M;M zY%g+{Nz?fkmQppe=y`c&iGvD_OL3DKPN2NFKn3|KOysGmv6Hd)8J}Dx^+(A%G zNUWsz@ZfY5X3PvZO0WVO{OWmowTr^p&mGm?YT_$9C7R^x-@Z>JPz(&&2(>5b$8r#z~ef!$ZxV1F<9MM;lj$$ zguj+a)nD!? z0JOTVGaZGwTxV5XTuFChk)LSuHKMd~M^bCV0okk)ba&WHQb~co$K2iJ?xKr!O5IhL zBWWa4`o5TdDUGT}4j>&_V=x^b(-s#o%_+-eCANx2$XmNfvKbL0Q5i&K8Ue$dqC} zDs;d14ZV+86x+8yh(*O^fbYAuQRrNe+Tbf4AE3W^Tvz%z<1tLW4IA;Vvbq9E7{~dd zsoP%x%DS|4Ql%zO_=cpnvWDMn)x^(Y(b4FAL%O7VynFO7E+T7dxh=qOIR}mF$KA`r zRygbX^{`wl&3zrgW!<#MqTPh5&q5HQ5P34!w_dB=nPdEs8u2HP(p*h@ab{#+ z)Q$-ZVE8uDDm)IS5ySNtF^$3<#Buj&ZS8FSfrk{FleiJwPc0jVw2tapR#`3ws7V}% z2ftrSEOyrRQYaGJLl{67z5Kz@wUHTODg%}#weUKuaz4;}vIij3#+ngLcC%KSBz7B= zcWBlnxHYLEyFJ=i?Jl8$Kzz#T7?Ikhzu}}1DDsMpufn<_MWIdrc4(}SZf?d=$3P25 zZu;m14FfMNt;a^Hg^vPVL9dC?^TtPFs?%1Nhx&-%f7Z5o?PNT_?m8e`3NiL=! zfGI)?apA*FCB3b@Zq+R8n~ASFgWsTuA|j8KQ9^<2173OeSMt`C_UN+P2{!R!8~ijq z8#0vsVz&@|nkL%ZZC~axpD^}=rj~H!hZ4s@poyL^XxnOZzLajP-!UNQFhJs*$kGGC zybVP_(T%PVP>u~vG=Er3^9{nXa*L!z=Ebzw$QDhSjzj|@3%WM|2YzXnu{AN?6WnH@ic zso|w-C6>?{A5KQ~HXh)@gpT8+`lTh}^G9_Pm6Z>Au;LDpB*R(t^@MaX*`(tao`x~= zG#4Z^Gm-m}Cm#JspKa#6>I?jETb##4WNm(jscd5e7G|=kOQ_fX08-hXhc#VfZ=i-d zNG*5G=k!dqmi`?Crphq6Ek`L*Rr_l*WI)oEItQl9~(C2C2aG}gl(8hJ;L zW}4pRSTuhjHR3e)#Y;Ol^<*Zr2bFZTSnCg|o`y}RE9D)!FCGz$BA%l&qL4j=jWn0g zdO?9IO9RWZfze2<(rTV5%<4#FwQFe*(W7M|pB+a#?ee&Hj!r5-JV712H9hA~+*{(Z zc94sUX<(7}v!d1Ecw{4RZd^HP7~_UE`kqY7wUxYUt;a6#xBi%nl^z9w*P{kP8>Wkd zf`v#u#2rzfiPpYiR-lbEmiDh;>^$ZT*Xc5r9D{ti9->Df zJj7%Qe05Ul%loaynyd>Gj?fJc!$PuBy!1)A5)RcBsL)GTi3Cu{Yo$r%WoA5zkzand zJypmZnk+WRKXh{VY2=0lw|Du#90~8Hs$yDq?WJ@>GB0{pU!wLD+OHswPijVaUIxmg8n$eAD6p0ePAo0^WBv}O~BT2cMgzW@z0lSW)mX+a8cCI6y-7cV=cFhEwi1zabO>uxv?6Lm< zE?MlH`i<}AG|zRDytq7f`qvUM_!iPUbD01km0gR1M}1C#$MpU$9e#yOSFuOGfaV!q zwGF1Yy-R4wqLU0E1qXFB7AT9j=0`7nqxEfDbwOH>*mWGT#Ui>jB^{%<>;C|3$Tg(! zjkmVWm8zahr;!KZHA!8jer4Ngy2RA^!O<*$gUHiB zModjw4hDxn{XeLOj`iiDW=CG}rMR{(k}Wp@z>oInT4;+C&QZ*c{VT^J+(P4nfy8(b z*{@RGQiO9#@H+i?=zn-{)k6mV05IdHitf=SQ(rM3u=CS4GUUZmQ4E5s?5>L4Su)d< z(TaoP!$ij3pdXi!8rvc=9~}}05v~O5<|jru6f%><9w7U*WHGr5i%8aFPewTzS8Fh+ z6g&a#8p+FQpHpcYIGyWC0!>wE`HyCdR@s(V;tI;ntj@smRZ-09#RmygU0U0#f)-%# zKb3vGqgEMfd&6#V_b+m=AZAj?NfA=DqkOvPjK}Ki$Xd<{xu}iP)AG0R8h#pBrBrk# zzbL5p>17*Zj!pqVB(`$nDOn5iPOL)hLl)5mgZ%krM@ZklUm+_9R;7qi1s zO^=={7%qT&h~rR6W#$UCdG_i_ESaOacK)E$ii6>$h=Lh=Yg*_XyHQUPbQKg0y`X5z zXEMh$i?T^uih<%eYtp`DSce3-P9nXAnw2l@qPe%)QQbvJPiB~7B-)5Jy+s&!9W%D) zBZ}?q*565^?k9ytffKT??vjR=c0j(;iO zG^lpOI|A|7=+96)2;_9~TwEhYc?EhM4^~-2c5UK4`mAC}Q1etYG}1a-%7pyOA>GHk z9c}c{`>He(>GqCWknq;&9ff(08YG8f-Y99U(aiABF&xh$BE1 zpzqb4KlS7P0ElZPb!la9i;mjiM6ja*k2nQDPA75|;z8}x-`j+QJe$=Ni3)}_E}(u| zicsqp))vV$87xeOdyIRPh%Q)HP^2Z42knoiPFRAMq!XvC0g+wHSN&)yLXL+I1WceVYpm* z=FCNFt*<<8iOO4fH=_?{F{zbFaUdXYijGmLdH|-P#o#R_o_p0&k(#FcrI`LL< z?+mLnH80L^-7Y|=S>MYcGEx@w*lBR6`+w1 zXs(SnEqU(N#JMQE%7IXHV;jnzZbb&RNWww+PiW9lF;biWN2kZXMlz8;^TtUx@r!9R#&FS1X&$QGZc9=0~sq+IvO&MTj z0e|I_xDR%=&ui)^932LVTtv~h;0tj09ah!UPB{vIPKsUI10wJeDB9!v4vCGuMXw{k z{4`gS4h*f?t^|8EOPg5b{wi_PHIvYGMB<}PB(`YC{{Wbxs&qk8K6-H8t96Fz)=NU}w(jcdAVv8Z!BfSDG0YuXiwW(O(T?Jt zrCn?JyqrDyi843B+EHJmn{2ELcL0cV5xlL83EHRwe_q}l%R65mkr-QoV4Hf26`E$siw$hQ(Ew)Vy>cFyqGCb z=sc+|>UMDS>!Dk?Ztcp71`{Iz;Zz6VqHV8%YH&ib{J!0k(|WfmAMzSKcJ}S^YS_V% zP|6RIRFbSbXqr1Dh2lRx-QkC_tEmO8)C&baRj9=K#?4deVLk2opR;D8`m3CC%C_Zy zOiBv^YON=ho}lI5;inN?#1g(%0r`KqruA|Nr?7>WpZl6$LjE%+e%UKeAJfx+UmCw? z+buuf&?6ygU%PC-;~t4?+i;Zgg0fPcK22S{o>JaW%t?jT;3}Tb35amhZEG4E0FOsy^iRWwmOy_L z*BjJW{{S%CC;tEjn8AA){oqz#{tbSe+$!CiB>w;e)h=g&*Y~{R{{SYdZ8TNw1ARUI zO@C1K;rnP_zk+N2ragz{-Rf}v0Kr`kO5!5a;ZIV(ifT_*SV%uU-Sr;IE~{sFAH7&h z&)%9orNm?RkLrK$YO!9RZt6=<_%$BOrCY`RUcoPzc+og$46mmpvk#h6M^WKb1n51! zP8J9LQzW2|Vf5*s9`XR(Xh4#`@N536Hx%K*LBrmf1L_hfM=}GjKlpShlo2ms2`T-N tol<<9GAC;~NGlU;?q!V}@@uq%_OF=;W0S6$$;RHYHa7F~8pLIAD0x1CHS`PfmL?HWJFGRTi zH(riw34nX>s}h0prhXe<|Lg|_Aj8XR-ZgkZ1=s8P5A*yv0Kka%tCTReHv>_rS=mGF zoviE~sHCK*?(2f>%V_{%m;ori%g-?Ww zg@sFWmynQ%knk=()=m0Z{Am1Zj(~mZ7B&tx9u5xPZ5$k&+t(S+?H?@o{~ZBW?*aJe zfaicTBm^1&B0d5VKEl-u+(^u;HUu%amM91}39j&ULW0j2WE501bPUW}2>*&i03ag$ zLgK;a8Uhj`G9n5ZDmn@h78e|ekAzH3z=0y6Zc0c4@!>?h9sagVl9rB0qs5Gi+wsL` zDKz>B&9C!&KqnsJ^zxSsk0Q0qr9WgqdG8ErFM#$dd|QW{7r)6cMrFRLjBXoVI>@SO zA6Y)sv4Fjf$*%r5x^l!Pt83}v7n@VlF}8Y)4?skOYm0oN6B;TC&y5Py90bU44Ingx zD4agwx34v5(fIt8i_UD`@kNA`CK1qydygLVS^+c$o)3d?B{J@qOKbB&K?}cC_@8UQ z_?HS-lK?EFn?CUYVt^f=-3P}gh~M#0GpSEQM4qb^%Nbf)4M!riLsInwL#Lj-Y{gyU zSV;&4R$eCbZ%w5Al75Y^q*!vRn|0`MdkfSYB8Z9eGb#`-7hYI7o5PHJ^m+ zpQ6O$%IHpRhdN0_U~#0S%rr$544rB=b?GYCz_uE0mETjNdhWU7Z09N@LOMR+;zp zuPncv|F|OGVAuw7_ef1j-$iEbYsdI#!+|?Y_avYZlddXzwAxa!aIAG|1N8yly(BVL zYwyLvp_c40laN)?1`pRnS@tqB!DXqam9X$hJH^j1r$}!QPe_rtB`S zpAww+R9zR%i{aNFjd}e7cWvfWwckm*f8q$%--+}-F!VA|MG&SEKFo45rhWxzsv=;k zPe^uQ%mqTLL1w~Z&hFTAJUNpq?TM2s4Qu*=XZsy$AFHY>52mK{oF8!udA_|&EP&ci z)K%FZUjcljy|DX$1r5xTpO6KLvukNj#2M`v6d@s8PJpzngkY@D&-cdncBW^gXC*Ls zvqNx9G#a>a55^{Es}{qLgvduxTZ9ZYrC{#IL%UZ1)VJZo^+ld^OQUzsdlYA7Y)yT7 zh2)PbY}~yQPbr&9YO)*a7`a9YmjoJ2?9-)!fc7g!HQ&6Q1zKuPzk!gpA0@uedM_%w zZ+|g6tq|(0ug_LOldxN|ray4hHH?N4y2&z? zsB_LKE28yOU=APfPwoXfsA#eUGNov#{|aoQYyiX;BDB2 zmPhwjPs>iRtAVZF7c>|mQAlkqtM45H%34D^D^7P@*F8D6K8A0u>#&E|d7N5amXA(^ z?S79Ydi-|8sn^qDgO(|;K4FG?9!XJdZbGcE`TXmo*d`Oz#JESa=Mq35WGTydbsS;t zsTYDl$a93xz8kjXi`hdRd%`(jSXSn9CGj0R($)8jekA+f6ifiY^z^*aIj(dOmXV7m z*=o|GXfLn?a&|&D?<>9!{#+7hvBMa-5)r8jtU*+&H&=N}Nxbgl?@tQ3Y>1X2FshA^ z$;_LN2Np6y+yhb=d-2lOPD{OSzpC#pp<=|PyuF-vp_VxOLg+0Tj>Z=P4Va!RQolCK z`(SSEnx~ml_k`aIr)TX7*#h4Wwyf6+%Qj_P0aEqC9L64hQ?C{6P8yAajQAco2yI>g zvWJN$$0~&#=FpM)O-}DW7;XDRJ>Kx9+E4tl;7!L7`SREx-yp4e$1$4-@Jxw-d&Id} zw?2dOJ{IH{8@G)?gUxG8#@H>TrQNT^}=bxk}V%gu=Aka zmBoRaY<8#9_Y11=wz!ifBi~4qpmTOtY+w$TIMc5IXZRk-r7G7n+KxT-S^6ww~|8 zc|@s-%LeLJi#GuMe8<$;Z|E4c+Au#TwE<$qfWDj4qB^NPx8n<`CH`;aS&i#0qFCny}#N+hT{;0Rs5^Cd3-WTDdZR?tVx-m z7<5(=qWXEKXCcu|9stS{I>|uSvHcuh)M>`GhIz{EN4PVsvTssxZ>#mofBUMa;MI_y*kmFC4s6!|Ir_7z&2=sFF3B$LrOvByhM`t5$Gyc+p|N~T zcN#M3-6yR(99np!-_6vst}|upRl#Ii9r5(2eG+(P4LjPJIT*YG#5e0rNpuU`<6nGP zIU_)yWPeCHA8`J$-(}L^wC4Qb`u=6Lr*h}v-M$Lx+ev8i8XtAd*{3KnCT9{oMXJj0d?jHcyVoVP#X@zXFVT?WR~Rn?twGLsG*- zI%WcZ`K6;LU?OuKZiS4>)IF8z!r7W zRx7-7XFs3L&Uq(29@TsUev;oU-D*{uIDvEIex%s{-TQmV>F#$Dk=D79dF~M1c6PlCz9pPq0rnN7$letO= zu2?d^=iCjKr%Q{)&?1IUqRwJc#}8GAwSfhtt>dQe@gAKBWL9;%&$LB(4vo`3=aV&A zS4X4X-a~Eh-lrIDEjoaFl(UH!OD~nb0#uK19?LTBN;)Mk#MZl`IG`yvTBq+FW&4by z8s%IfXPwz+B+D4t`XALA(4Gi2-s{sNF-h>E=ApyK6E$Un9%0VmUJWgJRqNjKelREH zh{T5M+89indgfNm{LTHA+<`SXIP1MP-5AFe;KdcdC`flx;*gWWerH8ALU!M1qvi@A zS_i728Xf43j+oJ3Xp6QXiaZ-auNfzY<|< z7lMCQK(ak~Ty4%B{{6#9Lp~-;c|ut}a9okh=@GwVH*&;+Go$8ee$ZXPgn2Ym*zEV$ za&nU7Kvq2xtaxORB0-6|pjX=CB#&7k)_X@=R`Y|NgP|&-IHD+z-I$$Mjs+SJrfTdj z<$39y2DvEiRg<^W#7FKd-xVTGNe(*7?~^jAeT`IO*K}V&rnBOkPIB$zIuCwdTG6{0 z?x-G*(TGI_%;y54JXO3j_mb_-^=GsnS#{j|C@Z=QynT>8N*1l%UwK^g9@{IFnl&d# zSu)6qjH$C^n23-*Vej1qOShh1cHPLBEpPq4_!kN!7ueC|1|<4De*3{m9Ce`j$}+|q zVSO;iX+}ru`LwH-1q_ug5i*q1=ZjCcWI%`z6O;-}FNCnsn0HNWOE=%b7~IGNFU^OyOP7_WdUz}M6a zZ3iw02bWXu5$2ZD#smulnWN$p>29B+2dd1ZIKKu_iqTr{D*zwn zg!WqCxx$w&Fa(@ZshpDu8l1x$y{bMC57efZfV(*_qZHaB#V|MIjqZ<`JluCXJ4Mz_ny$|+TxQXjq!KXOonU7l9@&~mOeyzL-r)tv*%K0#N5F4w&`S- zb>ikW73D#&b_yqNkPUq=eOB=_PKkYKu(xAT^SDmApVoVx@*Y2S{T85TKV*the8(2Y z;u8s(Nn=1}5I)_rl8taK5=3k{YeKJrP>c3PyH8J@?K*PrptE5KRh_Ri97iKOL3?>j zM4g%nf2`Y!9d3&4Tf=IIXM#dT&6h?zp=3_4WyGy19ZWl8b#^PZ+uUca02x}2Q5;ag ziJ{iBLG%7zQ1_$qPj7s3y2W-4VHSFmMpDq?PFB02P93WaZA=3d75+|Jr*cp!uKm+w zR)-3aBhb>63|7MAv|rWeWqfVb*-CG7hIi3c5wFpnk1>qr#M#dP#E{5oVtPTyR6Di7 z4&1tQADUQ)KVR?`eEn}b3vF-AFI*mXH&6;BAUkw!Zx1&@<}RIHzVMK9tneC~gFUkW z!bV#d&<;ZfWebE5tE*b^KOO}f^40U<_Kg=|J?qf2l!3vVDhxL^d8_x<(Z)Ycx@fIF z+Xhi&fAW^U#L#N>90M+ajN&7@Iix{TEMCWCscWN?7mA)@y@y84=cI_PJ_FFciv08-L%ZDEg797 zGp*C!4C_w;u+%Q~Zs+KQ&#|GgF{iuEh1M)pE#Gu{cPOGuEVEY)*2@g;+Ml_ff;R+A zY>N7T{!Wc}8UD5=A2O1{ zR1}I!1o4<42&w zM(}O$napUzK>hoZ3x+WvX#DKE%AJ|B4fBL)!$}rg|C!Rg%cqh4E?DSElf6^G$6gw%GNhwWqxDAN=Z`(No!_sY@_I$=o})GlJoLUA z`9NRJs6IPar~INO!59eqMDFGf8(h0o*f42Xde!U9&eUHEsr9=8q#!kKL})BWy?}k` z2rlNT`XI;t(Y<+yZ}vQNW%vA?8u%02^1^cP*uG%sf^Gc{FL@TdY$RUFQZV|^ z>FgH?;>|hGh^AvprP-3Po>iBh*BhSQ>J^^xZO@U@LMQ7B$_lesjh+IUB!!tU$KBkC zqc_cNtiTzQ3{9gj5|=e5P)Y~i`oxyrStx0qy~w~3ZAXX2&J|$g%=?Qjdc&nj{efRT zyZMsvvesqHuF2MS+V$rv6Gx;+&y?Logp@^da=gnl*Q*1+Zrkc=%YdsJOWsu#9_W7( zkvO%O&`dd-HCgd~`50lDAM#C^yz-HftTDyQ12I>x*u&@#51V5`4v);HB8QSAonagy z)`G91`JZ}f+7=hr!@OQ@z0QyK#IiW^o{#h2@_P*uqyOGst!p`vD3$A+k}*xDR=(vu zT3sG%u+j8MO!bm-_)FbUZ8{S6%$zA(Lomvkuvk&Y+C{rVL)>y}&fv7nXXmV=rXzFG zAc>=~H%tXAy^~h}<&s%jljimO8H-7isFlSAPwmm}aeeCYyCNpisdF1=Qbh+FPy4Jd zpStHnt(nfJ-ka?mI_|#%|757U{G!0X9j$@ktpUd-G3im+`_%N&N?xx>qCiKs$xSxX ztR9Gy%=X}W5t-VUORrhm*{?xi7dgZ5-@FZI+u`5Iv@&;cl2!yly2^T7{kX$(#S%X* zE1ip)tF!OL76e4T5%Q!y(T3JJ6}3AdTC>z#u`+NY{beEp^k~#66~JZ8Bi{462&;b`|{Re zCXRn0<_?(H80Nj2P~P0HCxBI-e!PUgA@BS=-s6IC*Zx9dTQqItNUWf!Hl}*|EH!Ku zkI&YAV>n>!f~cDBl1G1ju8n#eJzcQtYIL>c-SN4$a5o7k*ePM`ZU7bG_afL_6I~@P z*X2yt*80-g8l~7#ZcnV{%OgPnXXPsZHws%B@X<4#Z)fGzm+wch|;j(da#yz3`zml9>lwK|l2*x!%7d!o^| zrQAumhz^u^1H%mv^d3~d2oJ=q&khxEpgdH}a#1lwH8zypsgzxIl*$jM6n8@@)m=+Bt$_{gKh<9Htz7i=kqV-L7cZY(7}zjsm}Vno+*q(5BS z?^t{%`XXF{RNJxx651WR1v~nJ_Jm@w*o* zTxW-OpgPQBL5{Fo5c<{Wry@$6k-2Linr8+L# zJFftWR^P+nUsM?`LS3%_Rk#%DOttpXVA5nERWU06zHlie-nzXjz~iUJ>pR8p&tT=8 zJZ}^V7Diz4I{yJ;GnHfbr|m2i1-PYmr*C z4~2@&6>S@%s=hUjKJ|`fDRB;YwgX`g5oO^Y(eo6%J6RBnGm4$GzT;Sq0N@57tO$$k zc1u^s6Bvp`;9i;~Sg5SSf603U z-n{k`0o0tJnr8O)Ha8UVc2E$=&e`@Fab3SDZ7r$bCGHKcCfN0wLJ|zU=D9}ykO^{B zF|`G0N$Y9BK|ebC!Jy`7Z*QRqf;u~>nmq-=ktkNwR(wHC-gei_08EG9czElEQPKu# z_frQfGiR_36l`}R1dhkJp_Wp9toXxzp=%L{Eb#0v8wvhqqpAZGY;WfT$KSc8lyZRD z{ZbnsWn<>}yP;v}r2M-f$~|oN!plG{U^AFlMVC+uI6eZuJM~369xi8?HwPPLQStNxKUEgQqAetJh-l36T{1E zwE;>XiyvbCrCTkyEAT&cs|mFE0atSbia)-VaFg(Wj`j|^Rv`Gzh0jT_o#n6L!?{Li zz;%+eheGXbZS3tVf3jfx!d$EHH#qh$xCYqL>hFkKzYuWUe$!vC4y5fLI{a`0!X2PL z+=7TVD~I6*hx4;jcp>)u=X%4wfnBdiiW^Fjf3}gn-Lx@oa(IStGfUx))9Zx!b6LPA z?2QJ8H&8hMn}r1&V*}6O4o-MN_z8I%pYR)U?LtKW=)?10G(0zu>zV%(awGFQybS<2 z003A2F(Iv8qyHo7>i-6JGZxpP;kNx8scZK#+}V4b-C)_TYXC$9gqzm2-q)I6&$S;A z^c%>}Rg5SOCxu@>c`2@If0IRe-9&LJ9DRhS>He?2OM`}{Pm*vJ@eqe zf0?-e$=@^lhZ-8cC-99is7^LuAjnC_M(KJ9BK)Htlp7ozOaQ;oZW{8B{?-?orK7#G z!#_Z%_Ksjn@bBGKTJu`E>J1Do1KZRYYA*}2138*PLFRA(K+DbH*W&>52k|xJ8YBPX zq459Oek5l{n}0l1ZU+CK5M?LJe?E9nO>LlBrk4Mp!U2M8Y_veGPA^=zk#B`33$b`7JX`DSI1x z$G;6O{tx+*vcD16W2|CtcRkh^PFGDMScrmEq&ItfO6Mn({8t{My zfCRuCU=J{Zy9%iQY5*&E9SXmkZfXv23WEQFf(jr7|GRdA+;~NPcw*52=y37y|Eqay z87nB%L6D8j&WY9Z`lVS`puH`dtEmGU2P-=pKv>Mx!4zl>f>N1*;9fZqn%#zG8Y-~4 z2#qd}GP|;a6vzrJ_skKb`AkI%_{77k89b^$>S9;%;-2Hu;axrLy{BblFl!CN9UKaFy6abb1gVzqa)WaAJJ5MX2H zWaH#yfm5(Jx!FNYU0Lj$Xn#p~1abm8f^VWRsIDc#BMqFPA~bMKf0$tFpsf5`@P8aF zTia{9Zm6B0(l9vl|7vWVuAOUa8XzZoXGb7N8V0h1(*9yM2ma=DfV&rO3@`_>fowpw za55+Oz2W%XmBX)>oPV?YL%HARn;ZJ81NiOv&*Z=E{52umV8KWBK zN=OO_uyaZ9K9b>-;FIFz>X`Q;lmEL zHMIn>J#_$C(op@jU+~6pscdf!5~1O`=}J(_5d?Q5!=p;zpzD{yS=hN)xY)JWIR$z6 z1UdMa*!cz7*?*A2`M?%#|4#bz{qcX0!Y8;nJW}PqBEDWHH)AXZc7g}Dxc!{Tnjpx} znhluhW*!Ne0H?2z`KQ_cV#^OQCwmL1i>V_>!V*3U zey!HOV!;0XV*M}8fL5k+W1TzLiYfK#op7t(P>l z{A(QkqPwBF4&;LC&cVyY$}jNudwhev7WEhQw+cT5vi&9MA6?#P`L{jbm*Vh^<+}QN zM-%OXg9KNRE1|hPvAksL;zf$(1VNw$Ns|o{rDdE0X;~_hzRiR;W;uqTpR&@ zcn<)6v=2Ty0X5-mJPr&RP9iD^V$3^t>DXzxNF}*RZVuGB))x^O2@MGW1>>3p1)l&F zKuyR&gC=nsU7gbuLQ5n`jN$WEgNyFY-S9Fgv-v&lNA&lDc`KIM zt7$Wn+-maa!axjMu9e;seP2KLo?zc_mxvQ%vwJZub`=?ncd2ssNeAXyn>LW3pBy_F zI-WlyY+m?avM^*Ot`j3w{|PZya^T3~U4!_TvQNUZ#rjjtqR@o5Aq=cg7MCZU*nP=g zB(^wm6>G-p7t{UsS?-Y5#gA;^z40i2W*z;WOoTF|2QZQwcaPz-ZNp3ls~7m^A-CpLz55O2G|AE^DG!{(fY0V$->m1 zq(rAq-D^dAY$fXO#L>N>ZeeR?Lq!`~Yca9)OmY(Pl9xs1(4L|!MR;pV$!JFJ<7d&# zxG<%_v4{7!R$2E--1ZOd2%`wNDEo{Ct*0@^dnu#7ZvCPj&cI7;#FIQ?8tEIgt*aU3 zN9f;Eztd#(pvUGRwhl+#J^4PfIgllVv&Y!m?Hc3WcSx$d5UkEs+e=Wi#eN^_O3EHZ zKol``E=A2E+b%iG)IorS{R7?b7KmD3kqSgTx$m@AY^n#_(jNpC2Z^@?Bn%PeKd2_j z4e+EUUndg~y^9bA9s@GVSvinCmCjt(fbQXj*TEzOl_HPiDJ{imk20MTY{H}?9w&?z zOV_vYlP4z~cHAu!<=PI9Azt2U(Nj{1XlEllA{`d8Z9hpnFcIZvL}@lup?Q#fo38Xi_tnS`NFozPv)Sz9Q?h@P6J6BiQC^Dk>WX}VReMa zToUXM>LG0{_l!sQSdz*~;G7AKnL}E033lR|2e%mJlO}Q72_ev&1RM0X@R!sJx>(AU zl!S<@utJyKl0rVP6S) zN5@QtLdz#;LdcL}g8aFM#7JPD_Em8(zv5$wPh%U1=>#$ag5k18Iij0!X;d8yu}eI< z&e81mbk*fQ?k!UfhC57=FbcS_<$pXv>%_6K(?Q)2pMf$TPqAZInbU0U+r2e~ z1RSv@#RWR;%i{z|Q23%IjeU9??x2G?o<$bzW#HY{Ag?5MyBn*i{tT6o4?BFKEH`7& zX?<~{_a4c#hMk6^cz>fTNBvBV^k6e7tflf@JU-!pHdXJ)UeKB+AXm40kG1!qzR!Ka zDEPa)q@a@l8~+@J^?n5Uo)V1V*N&#u$OQ9D@zp^R&`v$pWOSG1SVy~iB#{SU6^cC} z*$<3#UE_PSkg2lxi|5LTR~cE3roO^TJ|uT!e$?0(n5aCjm~jXQ_>Sad5yM(ao#;ao zkoaJF{e@gUZW~AB*CIiiktasT`wn^34q=~VGwbEJo2BnY5~_ece`2Nz4|-q|6zgEk zjp#3oV_eT?_jVvzGud`Bc!K*1An}EMOFT=5i%3}clu#UpJ90C&JZc_&Ln$gUIzdgo zICVjmxy4zRmRKc^^JD2!g(2c-q+MADUiia;QhSpaQ^FYMDcZcq^o2>wd%o$qvM){; zzS9K~2QfM-C$dD`!VgXztqAkGGcBTJ6%RXuzYN<@uq1O*%+P51GH@sf zrNX8o%}E;4uyFzlA_=kguGWeHYl%<>1%bDAO%^-J6G3oIITr2<~ z-|3XcF?_o^W1rZsjEQ$=ez=ugx)Aj$ksLJjcIl(uQzEsG@!$-*Rl=`Z^Kn9Pu|_YL zqcR(~Rlj_7xWfvpyIT5?h4wOw9q$GJ8Wau*IwnO^rRK7mWjrl9Uc7v{R9l zwxV!{`VNkZZ`yL1p#j7rn~Qtyep|G5mr$UUEF}4%GKsmqP1L&j)FQoB#Gry=r&v<` zLx_HB293a&Tu)g}w_m;`V+93dD-!_HA8{JEq)fN+liWMh9%<;QiCG;n(cL*bHrf2* zBedJOySh|LVE|%(Gb03}buqe|BolW@ig2&Ng}rlL96r7Ll#)1~C|m)|Tf0r->tIWz zEW8T*y2;6OuLK4;Aw>R@dCHgHyeZz{F)=BN>6Y`>oV?s&d+RNJ?$gKWvh^-unc@mC zj??h1nxYM=Ig~$Dl#qYg?0Sg3-u&A5jshE-8Yrjq4c~JJ4C_^!y0#h*KL(xag061~UR1v95|zCLQEX=rIudbXP#XyIniY_b2!<(|R(%CtZ63c_9M zrz~qkrmR77Qw(+SHPqsF%!0YU7qH}wa*6`?4{<{*QK$*DgNuiYeCCPfo>5O4k!jU- zj9FzonY(?fC2-IKjBgr(b${_Q9=sheU)2eyglZtLK&jxZOor;|3NKZ-TS8_(~1%gh}_AY`==HGUdV*;3?I+)l@cIo>NU7mlCvggPKUH#>h{7lT*Mc zlLOcrN4Anmvf}gL!7tQDtNdqTt=nYFR{-l=U6b#@nI5q__mH=m(GPBgc+O=t`JQ*M zxb13;rJ`=RnQj>x`3`IuiisKb>^|LeP8^+V9er4f6*-fTc}tLxd%BcOYTV$99`a^d ztj<8y;7k4OF6%6j2j48$UJ!%|70z(Asl`k!d<_j|&nYIC-NqIfKR@&q&>iB}bo!=U z`&oo9ASL=c5-sqQXJMuJQ6Yohw$if$%N8T2Z^tvkU;6pnJOSy97ym1{ z@K>D5yvWFRhwadpH$MfuV-DpJhyjP9&v zMU8nT!rW#DWZr1gtf#UU@A90!Icqy0bsiQqlQdZMJ2(rvIB_1GfuE~XaBd|(<)MQe zE_zorqRq#=PeJg_GS#CV>b)qhkNKsE>i%t#Gq-rw1F)mMXLQLgb%A99fA4`@!0`2&1?qwR-N{c@=r*Zs zk-vROWOy1ixNnhd)NI@2kBfVG9*DBO)>dvFlZ*Q!>>PmOEHa@(_ zT)dmP_56uwOHvf{+^N~H0O621o@wKQ0`6c(jY+cZaOzva!<8O4=1#o#He+RYvexQv zl85`p>~h_{`t)J)3S8HJgoTmuF3D1rThJ6k*R<&8uNvF!&9+n=y#`#rN{9GE?lpk#%FC^Mi&~> zui%IDhZQwOa+#d=by)K^$xE)GL~=Re7d1Y8lls=sh+uBdclRUzL|mQObX+4d`0*s$ zz*p?3vgjP*7qoPOAoZS+ThAXO4wbeVNH6q(;~TF4F2kvOV50s!n>>HIR)y=;n!hw`$v;>MXCTniJA2e#%ogS2y$I z>&Nl=dbB1U^6WB$HP(_6Z{Z`$SMuK=-01JlE?7pXRBA$kIw{w1+w1Sd;mq{w??3jp z%v}W6h7oXne;^xO^e)VT79-SD{@fkkTEL4HWli9Q1JsvApmL4DRx%4JDa*wnVoLq>O4>orO|%x?>;h_rd5lq2}8-PP{Q5 z1BaJ5UmT`~4Bzf8(b}?Y`&Lgy+Pr*JaLxHapf`u+?`8? z7AE(YJL}@=xrY`27QCGQ$H z76|tqmf?71Y8P#AB0iNWwn~>@91Sk8`zFOHlJi{3qG@tPaR!%s#^cd5vZNZL0(yU7 zvOiYr2aY9QIhZ6Jj1?RnE6Iq@XC7;_(9%l>rY7JHTOaNsLJf*vkds$yRp)w8&a10g z?4xl(?1X97uDtZJUc-cpL6ZG@Cpx44q*uDz%BSXf*4f3EwfnkD+lhuO1 z4{>k7Dz#|*l+s&Ib*W_OALL@3=1-@9w?4E-B)3BKLIU{YlhCs<<(t&wm2~VPIY^_u zBc(E+JGawk?nf+jMOY%sXVeB6XPxYfm$&c7j#M_$M5XbElFJmC@xP+Qi**#QT#^ZD zs?%PkM}H$3M)fEt(=S0$=|kAo#_}yUM(*rN-YwNh$U=B#%-qV%@E1!{sukiz0Y_FkLi)XQ2TSuOpul1d8bK2!^`+0%tH_&Gor~l%Rq<;d zT|*Sj$(xO*K9nK43Vzfc#<@kX1SHN_ol3V3ISm)#_R)|j>$_*Yy@v8(@M&f0THj;C z+xVWkmNbuyKe}U3F_PA=SB`=ARhfYPJ`L8+sEec}eEZOG^tC*AK)(}& z*&$FvjE%eo~C|0x30RTUBOchdb2iLXY)nfduK ztiyR}*?M3zw>wlseY@f@zr^XCCb=3H<95W}YZt?sUaE3brFUU!2nXpGhkSBMl{%u+ z>SExAE}ff34#! z`JtohiS0l_r)qz&i69S|FO_mP!J45NtMB+iHg|mRW7~~t42)YALZ-EECWuHih}Kcb z!gp%q=9eacjTAly2L;QeMl7Le56eEj@3hQh9f2r#N%o^{s3JTfkRbBc8v&PjMc~pK zs_PN$BT&Crqx+`vju^0{cJ`e$a{GBEx0)}t@)?KpUG-e?SMoJ2>b$iwv9`WGUl(;h z0K+j}c-_)I2SQD$F_laN*}o%{AZ^GYhq96O6s6xj2fbh3ky9LPNc6XR8mJ@c`y4|x zG|QCt(U;v2$WqidV|kvH6rIXkH{^mY1|L<%(FhTyZDR``I$i-=3V+l_(cm!L2=D^> z9O=RB2;n-Sr3Af)8e;MfrSBt2rD(p-!js;Z49cqSTrg;og0Ma=AIPooeOE3T;_08B z7BzPytqcL;RHnZiWhSUPZ5K7~lYtCZA z7hliB_Q!N)G}Jt;DA3gxBNZ4sBdjQxqSY4ta7UV$M#DGNr+Ih`Kqo+vD4Yjtr3uBTeC)FvDgDLR}yke1rk z3$FP7iBlFq;Q@WCyh%x|RVwWv<^vQj$-qwC@vKKf%CAt*)yN>m+<~~%PbOVP(R4?#KxE-*c(beLfZzF9rjO4-+y&qN66+9f@;m8g51MiTh3ybuse;L zU(?}2hW`H8mc-fTEW)MPsnf79+2QI)IdSB)u-9F*2LqyMscemm+iUkJjfs@s(z$zR zXrNG~GK|P3s7^(86uG|8;@70xlg6M!CXAn0T6~OMfSCvhX>=VhgueBk_Pphls~YTd za13Vb5_^ zsXg^#3{}503A$*FyO)M+YxTJ5z?d8 z6~f@h2U?D`YlUds$3v$Y3!u(S0Ho&dtQ%%gS9etVejoJ1G{-|nje0IYu8urLr{Qf& z_ccdL%R^f^gz#|AajKs`{aa^dmtF?9Z~lrhA4GqYzUe_jp)U(xhxEhKg**You<-EQ zfzHn+OEwOi48e?4fnWhFnf?=IeS0eZ1x**f1va&IZ!W^rWwQjkb&RJcN5zDYD#V$E zQ7hHzT#p8~2Z?AttTY8nk20G{9uY^0WZuszA)I4s;SM7ZJ#1NhX-Il_%GaqYJVyQ; zkeQ``^C}CAzCANbvI70FY*o-~`BW2H;jRGo_8~~KyzZEv&wTu__sfMta#^`hjDSVC zi9PIHiiLE7eB1VZ6BGmYK~^>}D!`grBN<((OZ?WGws7YN-2LJ~He~e%_vrJ8`_p7} z%C_9}S+dJ}GVbq#lHN+LQ_&e&3^W+JUTQ4dH@1_1&}GQs?F7z7LB(+)S9QJozY&qe(`QkaWO%6C;Q@VcPu?| z&FXV2K~4eeeI@p0nYtYa~gJ8%7@Iukj0>Tfqq zZ;bczO)0A_;7@J~>$t0Cx0@RHA&fgtpJg0t5G|;mNxlFNMo?8&8|R45s;ZzL+Ft=) zTkbN;E}BXEj?C&kQ1Bl>NfUw9PxGX!90pIV%9~D^O22Yu@g+3_NuYKgM zKdGzB^pH9BoxW5#WI9GEv2gTj7pUP?)pxFKf~DSa;~j$CPnP&~)Fl`??(GTsU#jgk z>x%@F@wM=I=?+ALM0%BZWA$a#ZLa{d>}sgbkv2jn+VLJdS6he*Go&_We^pueoo!7^ zlk^JUZT1;|JJK=gUEmqCu5;|@arNd?$*@UJq6$5?3H^Phu(Fvqi+H;+9vi*HBi3C- zW6saQS%G*2JC?yLkF`HyHO%;g0?BS^lrYaS?{Ga!@GB0Gdude>8p|DOu)pOz< z@sm)VJlDgGF}5WGwy)l?0kjB7B-)L{Qy((9hvl(9b?!WEFA08Q!@WJz*;_v|g&)69 zH^CZa@c#YfQz20nSmNDowiwkt^62-4v{bO9b~cXn2BlT)Ob$2KkQ$A5s-KY)ARnSn z9zdfD)oh7a$k{@*PIIPiXS$B@bZ{KqE0%M)`^kKQx@BDAuzE6LLgBe)Z+O|_i4l9Q z^{Zg>EcFuXT�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

    c$5{#iK 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 \ No newline at end of file diff --git a/maixpy/static/image/search/close.svg b/maixpy/static/image/search/close.svg new file mode 100644 index 00000000..87c50f5d --- /dev/null +++ b/maixpy/static/image/search/close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/search/search.svg b/maixpy/static/image/search/search.svg new file mode 100644 index 00000000..3fafc630 --- /dev/null +++ b/maixpy/static/image/search/search.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/search/up.svg b/maixpy/static/image/search/up.svg new file mode 100644 index 00000000..1ed67152 --- /dev/null +++ b/maixpy/static/image/search/up.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/serial_module.png b/maixpy/static/image/serial_module.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b6e042677635cd0ac7b9c28a650c5059cfda6d GIT binary patch literal 132919 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%0AH6ZKCZ4Dq#tEw9r0Xnx;KFlFKBW{|02M(9P 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℞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 literal 0 HcmV?d00001 diff --git a/maixpy/static/image/sipeed_splash.jpeg b/maixpy/static/image/sipeed_splash.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e5d0980aa6e1dc9d096ac6f73337d5f179f8b60b GIT binary patch literal 27441 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 O=1 \ No newline at end of file diff --git a/maixpy/static/image/theme_default/array.svg b/maixpy/static/image/theme_default/array.svg new file mode 100644 index 00000000..5c5c5148 --- /dev/null +++ b/maixpy/static/image/theme_default/array.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/theme_default/back.svg b/maixpy/static/image/theme_default/back.svg new file mode 100644 index 00000000..e2729940 --- /dev/null +++ b/maixpy/static/image/theme_default/back.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/theme_default/dark_mode.svg b/maixpy/static/image/theme_default/dark_mode.svg new file mode 100644 index 00000000..15523d8e --- /dev/null +++ b/maixpy/static/image/theme_default/dark_mode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/theme_default/ext_link.svg b/maixpy/static/image/theme_default/ext_link.svg new file mode 100644 index 00000000..ded48739 --- /dev/null +++ b/maixpy/static/image/theme_default/ext_link.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/theme_default/indicator.svg b/maixpy/static/image/theme_default/indicator.svg new file mode 100644 index 00000000..7170d305 --- /dev/null +++ b/maixpy/static/image/theme_default/indicator.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/theme_default/light_mode.svg b/maixpy/static/image/theme_default/light_mode.svg new file mode 100644 index 00000000..0be13395 --- /dev/null +++ b/maixpy/static/image/theme_default/light_mode.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/theme_default/menu.svg b/maixpy/static/image/theme_default/menu.svg new file mode 100644 index 00000000..5f9cdda6 --- /dev/null +++ b/maixpy/static/image/theme_default/menu.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/theme_default/print.svg b/maixpy/static/image/theme_default/print.svg new file mode 100644 index 00000000..3b343178 --- /dev/null +++ b/maixpy/static/image/theme_default/print.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/theme_default/to-top.svg b/maixpy/static/image/theme_default/to-top.svg new file mode 100644 index 00000000..59f0a172 --- /dev/null +++ b/maixpy/static/image/theme_default/to-top.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/maixpy/static/image/wechat.png b/maixpy/static/image/wechat.png new file mode 100644 index 0000000000000000000000000000000000000000..13978a67d344ac9d1e715801b6e680822b06a596 GIT binary patch literal 673 zcmV;S0$%-zP)}bXtQ*UHA!wzAk3y?{6ieL*Xq7eZZnE4w}l$n?vD70s1*GA!I5t29Csnncb75 zG1q^yTdI^NBR!>nk?m(X+B%D3p`r3#DA4M>ihQL}m9r@QSP$zL3Nsc|ZKWAzIyIxI ziq(ivFy48pn${Yrbb^9TQyuSooROfDl2M*Lau>9T4h5Q#PGmnsl83;d>U%Ph@e8m1 zgQ>z)9i4P75T*J&BefQ;(3)pPRx@Owp!@=CE48dxE!H(vJ~|Y(uC26WRWl4GqEZ*$ z$Vd=UlS-!P>>wt&(?@zjp?3z^bnr}#2E!T(hq2IX<3PCpFc7B1r!JiMh1O1?cH8>Y zhASr+3bZ<_#b3hHQSa8Q=~M!4DBLnqTb=LczeZ8U**0`2Q14t<`&>2_Xyd3^D@iHX zP`GKNng4NJ)e!psq+g*TA{3@ZYNnBjwNlLiJXPP**?#1mTi7>~os7AIH6x)g_u95n zvxS=Souy)76$+*<)UNqp&Z(B@U{qq^E$@8G= 0) { + var spannode = document.createElement('span'); + spannode.className = 'search_highlight'; + var middlebit = node.splitText(pos); + var endbit = middlebit.splitText(pat.length); + var middleclone = middlebit.cloneNode(true); + spannode.appendChild(middleclone); + middlebit.parentNode.replaceChild(spannode, middlebit); + skip = 1; + } + } + else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) { + for (var i = 0; i < node.childNodes.length; ++i) { + i += innerHighlight(node.childNodes[i], pat); + } + } + return skip; + } + return this.each(function () { + innerHighlight(this, pat.toUpperCase()); + }); +}; + +window.onload = function(){ +} + +$(document).ready(function(){ + var waiting_search = false; + var search_index = null; + var search_content = { + "curr": null, + "others":{} + } + function onDownloadOk(data, arg1, arg2){ + search_index = data; + var pathname = window.location.pathname; + var curr_url = null; + var others_url = []; + for(var url in search_index){ + if(pathname.indexOf(url) != -1){ + if(!curr_url){ + curr_url = url; + }else{ // already have math item, e.g. `/get_started/zh/install/index.html /get_started/zh` + // and now `/get_started/zh/install/index.html /` + // choose longger one + if(url.length > curr_url.length){ + others_url.push(curr_url); + curr_url = url; + }else{ + others_url.push(url); + } + } + }else{ + others_url.push(url); + } + } + if(search_index[curr_url]){ + downloadJson(search_index[curr_url][1], onIndexDownloadOk, curr_url, true, search_index[curr_url][0]); + } + for(var i in others_url){ + url = others_url[i]; + downloadJson(search_index[url][1], onIndexDownloadOk, url, false, search_index[url][0]); + } + } + function onIndexDownloadOk(data, url, is_curr, doc_name){ + if(is_curr){ + search_content["curr"] = [url, doc_name, data]; + }else{ + search_content["others"][url] = [url, doc_name, data]; + } + if(waiting_search == true){ + waiting_search = false; + onSearch(); + } + } + downloadJson("/maixpy/static/search_index/index.json", onDownloadOk); + var input_hint = $("#search_input_hint").html(); + var loading_hint = $("#search_loading_hint").html(); + var download_err_hint = $("#search_download_err_hint").html(); + var other_docs_result_hint = $("#search_other_docs_result_hint").html(); + var curr_doc_result_hint = $("#search_curr_doc_result_hint").html(); + $("body").append('

    '); + $("#search").bind("click", function(e){ + $("body").css("overflow-y", "hidden"); + $("#search_wrapper").show(); + $("#search_input").focus(); + $("#wrapper").addClass("blur"); + $("#navbar").addClass("blur"); + }); + $("#search_wrapper .close").bind("click", function(e){ + $("body").css("overflow-y", "auto"); + $("#search_wrapper").hide(); + $("#wrapper").removeClass("blur"); + $("#navbar").removeClass("blur"); + }); + $("#search_input").bind("input propertychange", function(){ + setTimeout(() => { + onSearch(); + }, 1000); + }); + function onSearch(){ + $("#search_result_name").empty(); + $("#search_result_content").empty(); + $("#search_result_content").append('
      '+ curr_doc_result_hint +'
    '); + $("#search_result_content").append('
      '+ other_docs_result_hint +'
    '); + if(!search_index){ + $("#search_result_content").append('
    '+ loading_hint +'
    '); + waiting_search = true; + return; + } + if(!search_content["curr"] && search_content["others"].length == 0){ + $("#search_result_content").append('
    '+ loading_hint +'
    '); + waiting_search = true; + return; + } + $("#search_curr_result > .hint").addClass("searching"); + var search_keywords = $("#search_input").val(); + search_doc(search_content["curr"], "#search_curr_result"); + var doc_id = 0; + for(var url in search_content["others"]){ + search_doc(search_content["others"][url], "#search_others_result", doc_id); + doc_id += 1; + } + addSearchResultClickListener(); + function search_doc(data, containerId, doc_id="curr"){ + var doc_id_str = 'result_wrapper_' + doc_id; + var findFlag = false; + var items = data[2]; + for(var url in items){ + var content = items[url]; + search_keywords = search_keywords.trim(); + if(search_keywords.length <= 0){ + return; + } + var keywords = search_keywords.split(" "); + var find = false; + var find_strs = ""; + for(var i in keywords){ + var keyword = keywords[i]; + if(content["title"] && content["title"].indexOf(keyword) >= 0){ + find = true; + } + } + if(content["content"] && content["content"].length > 0){ + find_strs = search(keywords, content["content"]); + if(find_strs.length > 0){ + find = true; + } + } + if(find){ + if(!findFlag){ + $("#search_result_name").append('
  1. '+ data[1] +'
  2. '); + $(containerId).append('
    '+data[1]+'
    '); + findFlag = true; + } + $("#"+doc_id_str).append('
  3. '+ (content["title"]?content["title"]:url) + + '

    ' + find_strs + '
  4. '); + } + } + } + $("#search_curr_result > .hint").removeClass("searching"); + } + function downloadJson(url, callback, arg1=null, arg2=null, arg3=null){ + $.ajax({ + type: "GET", + url: url, + contentType: "application/json", + dataType: "json", + success: function(data){ + callback(data, arg1, arg2, arg3); + }, + error: function(){ + $("#search_result_content").empty(); + $("#search_result_content").append('
    '+ download_err_hint + ': '+ url +'
    '); + } + }); + } + highlightKeywords(); +}); + +function focusItems(id, contrainerId, offset=0, classname=null){ + var elementTop = 0; + if(classname){ + elementTop = $("."+classname)[0].offsetTop - offset; + }else{ + elementTop = $("#"+id)[0].offsetTop - offset; + } + + $("#"+contrainerId).animate({scrollTop: elementTop},500); +} + + +function addSearchResultClickListener(){ + $("#search_result_name > li").on("click", function(e){ + var targetId = e.target.attributes.result_id.value; + focusItems(targetId, "search_result_content", $("#search_title").height() + $("#search_result .hint").height()); + }); +} + +function highlightKeywords(){ + var highlight_keywords = getQueryVariable("highlight"); + if(highlight_keywords){ + // add search result btn + var html = document.getElementsByTagName("html")[0]; + var lang = html.lang.split("-")[0].toLowerCase() + let strs = { + "zh": { + "Previous": "上一个", + "Next": "下一个" + } + } + if(lang in strs){ + var pre_name = strs[lang]["Previous"]; + var next_name = strs[lang]["Next"]; + }else{ + var pre_name = "Previous"; + var next_name = "Next"; + } + $("body").append('
    ' + + '' + + '' + + '' + + '
    '); + var highlight_keywords = decodeURI(highlight_keywords); + highlight_keywords = highlight_keywords.split(" "); + for(var i=0; i .previous").on("click", function(){ + let old = currSearchIdx; + currSearchIdx -= 1; + if (currSearchIdx < 0){ + currSearchIdx = $(".search_highlight").length - 1; + } + window.scrollTo({ + top: $(".search_highlight")[currSearchIdx].offsetTop - window.screen.height / 3, + behavior: "smooth" + }); + $($(".search_highlight")[old]).removeClass("selected_highlight") + $($(".search_highlight")[currSearchIdx]).addClass("selected_highlight") + }); + $("#search_ctrl_btn > .next").on("click", function(){ + let old = currSearchIdx; + currSearchIdx += 1; + if (currSearchIdx >= $(".search_highlight").length){ + currSearchIdx = 0; + } + window.scrollTo({ + top: $(".search_highlight")[currSearchIdx].offsetTop - window.screen.height / 3, + behavior: "smooth" + }); + $($(".search_highlight")[old]).removeClass("selected_highlight") + $($(".search_highlight")[currSearchIdx]).addClass("selected_highlight") + }); + } +} +function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i= 0){ + idxs.push({ + "idx": idx + idx_rel, + "len": keyword.length + }); + _idxs = _search([keyword], content.substr(idx + keyword.length), idx_rel + idx + keyword.length); + idxs = idxs.concat(_idxs); + } + } + return idxs + } + var find_strs = ""; + idxs = _search(keywords, content); + idxs = idxs.sort((a, b)=> a.idx-b.idx); + var idx_last = -1; + var len_last = 0; + for(var i=0; i= 0 && (idx - idx_last -len_last) < show_length){ // last keyword too close + find_strs += content.substr(idx_last + len_last, idx - (idx_last + len_last)) + ''+ content.substr(idx, len) +'' + }else{ + var start_idx = (idx - show_length < 0) ? 0 : (idx - show_length); + find_strs += '...' + content.substr(start_idx, idx - start_idx) + + '' + content.substr(idx, len) + + ''; + } + var idx_next = -1; + if(i < idxs.length -1){ + idx_next = idxs[i + 1]['idx']; + } + if(idx_next >= 0 && ((idx_next - idx - len) < show_length) ){ // next keywor too close + }else{ + find_strs += content.substr(idx + len, show_length) + '...'; + } + idx_last = idx; + len_last = len; + } + return find_strs +} + diff --git a/maixpy/static/js/theme_default/jquery.min.js b/maixpy/static/js/theme_default/jquery.min.js new file mode 100644 index 00000000..b0614034 --- /dev/null +++ b/maixpy/static/js/theme_default/jquery.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
    "],col:[2,"","
    "],tr:[2,"","
    "],td:[3,"","
    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
    ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0 a").bind("click", function(e){ + var is_click_indicator = $(e.target).hasClass("sub_indicator"); + var a_obj = $(this); + if(a_obj.attr("href") == window.location.pathname){ + show_collapse_item(a_obj); + return false; + } + show_collapse_item(a_obj); + if(is_click_indicator){ // click indicator, only collapse, not jump to link + return false; + } + var screenW = $(window).width(); + if(screenW > 900){ + return; + } + link_href = $(this).attr("href").split(location.host); + if(link_href.length > 1){ + link_href = link_href[1]; + }else{ + link_href = link_href[0]; + } + url_href = location.href.split(location.host)[1] + let link_url = link_href.split("#")[0]; + let sub = $(this).next(); + var haveSub = false; + if(sub && sub.prop("nodeName")){ + haveSub = sub.prop("nodeName").toLowerCase() == "ul"; + } + if((link_href != decodeURIComponent(url_href) || !haveSub) && location.pathname == link_url){ // current page, and jump to header, close sidebar + location.href = link_href; + menu_toggle(); + } + }); +} + +function hello(){ + console.log('\n\n\ + _ _ \n\ + | | | | \n\ + | |_ ___ ___ __| | ___ ___ \n\ + | __/ _ \\/ _ \\/ _` |/ _ \\ / __|\n\ + | || __/ __/ (_| | (_) | (__ \n\ + \\__\\___|\\___|\\__,_|\\___/ \\___|\n\ + \n\ + generated by teedoc: \n\ + \n\ + https://github.com/teedoc/teedoc\n\ + \n\n\n\ +'); +} + + +function addTOC(){ + if(!document.getElementById("toc_content")) + return; + tocbot.init({ + // Where to render the table of contents. + tocSelector: '#toc_content', + // Where to grab the headings to build the table of contents. + contentSelector: '#article_content', + // Which headings to grab inside of the contentSelector element. + headingSelector: 'h1, h2, h3, h4', + // For headings inside relative or absolute positioned containers within content. + hasInnerContainers: true, + }); +} + +function toChineseNumber(n) { + if (!Number.isInteger(n) && n < 0) { + throw Error('请输入自然数'); + } + + const digits = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']; + const positions = ['', '十', '百', '千', '万', '十万', '百万', '千万', '亿', '十亿', '百亿', '千亿']; + const charArray = String(n).split(''); + let result = ''; + let prevIsZero = false; + //处理0 deal zero + for (let i = 0; i < charArray.length; i++) { + const ch = charArray[i]; + if (ch !== '0' && !prevIsZero) { + result += digits[parseInt(ch)] + positions[charArray.length - i - 1]; + } else if (ch === '0') { + prevIsZero = true; + } else if (ch !== '0' && prevIsZero) { + result += '零' + digits[parseInt(ch)] + positions[charArray.length - i - 1]; + } + } + //处理十 deal ten + if (n < 100) { + result = result.replace('一十', '十'); + } + return result; + } + +function addSequence(){ + if(!tocbot._parseContent){ + return; + } + var headings = tocbot._parseContent.selectHeadings(document.getElementById("article_content"), tocbot.options.headingSelector); + var counth2=0, counth3=0, counth4=0; + var html = document.getElementsByTagName("html")[0]; + var isZh = html.lang.substring(0, 2).toLowerCase() == "zh"; + for(var i=0; i' + seq + ''); + } +} + + +function getSplitter(){ + var sizes = localStorage.getItem("splitter_w"); + if(sizes){ + try + { + sizes = JSON.parse(sizes); + } + catch(err) + { + sizes = false; + } + } + if(!sizes){ + var screenW = $(window).width(); + var split_w = 0; + if(!sidebar_width_is_percent){ + split_w = parseInt(sidebar_width/screenW*100); + }else{ + split_w = sidebar_width; + } + sizes = [split_w, 100-split_w]; + setSplitter(sizes); + } + return sizes; +} +function setSplitter(sizes){ + localStorage.setItem("splitter_w", JSON.stringify(sizes)); +} + +var hasSplitter = false; + +function createSplitter(){ + var split = Split(["#sidebar_wrapper", "#article"],{ + gutterSize: 3, + gutterAlign: 'start', + minSize: 200, + elementStyle: function (dimension, size, gutterSize) { + return { + 'width': 'calc(' + size + '% - ' + gutterSize + 'px)', + } + }, + onDragEnd: function (sizes) { + setSplitter(sizes) + }, + }); + hasSplitter = true; + var screenW = $(window).width(); + var sizes = getSplitter(); + split_w = parseInt(sizes[0]); + if(isNaN(split_w) || (split_w + 20) >= screenW){ + if(!sidebar_width_is_percent){ + split_w = parseInt(sidebar_width/screenW*100); + }else{ + split_w = sidebar_width; + } + } + split.setSizes([split_w, 100 - split_w]); + $(".gutter").append('
    '); + $(".gutter").hover(function(){ + $(".gutter").css("width", "10px"); + $(".gutter_icon").css("width", "10px"); + },function(){ + $(".gutter").css("width", "3px"); + $(".gutter_icon").css("width", "3px"); + }); +} + +function addSplitter(){ + var screenW = $(window).width(); + if(screenW > 900) + { + createSplitter(); + } +} + +function registerOnWindowResize(has_sidebar){ + window.onresize = function(){ + var screenW = $(window).width(); + if(!has_sidebar){ + return; + } + if(screenW < 900){ + $("#sidebar_wrapper").removeAttr("style"); + if($("#menu").hasClass("close")){ + $("#sidebar_wrapper").css("display", "block"); + } + $(".gutter").css("display", "none"); + $("#article").css("width", "100%"); + }else{ + if(!hasSplitter){ + createSplitter(); + } + if($("#sidebar_wrapper").css("display") != "none"){ + $(".gutter").css("display", "block"); + } + } + } +} + +function focusSidebar(){ + var windowH = window.innerHeight; + var active = $("#sidebar .active")[0]; + if(!active) + return; + var offset = active.offsetTop; + if(offset > windowH/2){ + $("#sidebar .show").scrollTop(offset); + } +} + +function imageViewer(){ + var content_e = document.getElementById("content_body"); + if(!content_e){ + content_e = document.getElementById("page_wrapper"); + } + const gallery = new Viewer(content_e); +} + +function addAnchor(){ + $("#content_body h2, #content_body h3, #content_body h4, #content_body h5").each(function(){ + if($(this).attr("id")){ + $(this).append('#'); + } + }); +} + +function rerender(){ + Prism.highlightAll(); +} + +function addPrintPage(){ + if(!$("#article_info_right")){ + return; + } + $("#article_info_right").append(''); + + var beforePrint = function(){ + // update style changed by js: + $("#article").css("width", "100%"); + // rerender for proper output + rerender(); + } + var afterPrint = function() { + // location.reload(); + } + if (window.matchMedia) { + var mediaQueryList = window.matchMedia('print'); + mediaQueryList.addListener(function(mql) { + if (mql.matches) { + beforePrint(); + } else { + afterPrint(); + } + }); + } + window.onbeforeprint = beforePrint; + window.onafterprint = afterPrint; + $("#print_page").click(function(){ + window.print(); + }); +} + +function addTocMobileListener(){ + $("#toc_btn").click(function(){ + if($("#toc_wrapper").hasClass("show")){ + $("#toc_wrapper").removeClass("show"); + }else{ + $("#toc_wrapper").addClass("show"); + } + }); + $("#toc_wrapper").click(function(){ + if($("#toc_btn").is(":visible")){ + $("#toc_wrapper").removeClass("show"); + } + }); +} + +function addTabsetListener(){ + $(".tabset-tab-label").on("click", function(){ + let this_obj = $(this); + // already active, do nothing + if(this_obj.hasClass("tabset-tab-active")){ + return; + } + // remove all active tabset-tab-active and tabset-text-active class from all have class that startswith tabset-id-, + // then add active class to the same idx tab-label and tab-text + let tabset_id = null; + let same_id_tabsets = []; + let old_idx = this_obj.parent().find(".tabset-tab-active").attr("idx"); + let new_idx = this_obj.attr("idx"); + let tabset_obj = this_obj.parent().parent().parent(); + tabset_obj.attr("class").split(' ').forEach(function(item){ + if(item.startsWith("tabset-id-")){ + tabset_id = item; + } + }); + if(!tabset_id){ + same_id_tabsets = [tabset_obj[0]]; // to DOM element + }else{ + same_id_tabsets = document.getElementsByClassName(tabset_id); + } + for (let tabset of same_id_tabsets) { + console.log(tabset); + let tab_labels = tabset.getElementsByClassName("tabset-tab-label"); + tab_labels[old_idx].classList.remove("tabset-tab-active"); + tab_labels[new_idx].classList.add("tabset-tab-active"); + let tab_texts = tabset.getElementsByClassName("tabset-text"); + tab_texts[old_idx].classList.remove("tabset-text-active"); + tab_texts[new_idx].classList.add("tabset-text-active"); + } + }); +} diff --git a/maixpy/static/js/theme_default/pre_main.js b/maixpy/static/js/theme_default/pre_main.js new file mode 100644 index 00000000..1cb38adc --- /dev/null +++ b/maixpy/static/js/theme_default/pre_main.js @@ -0,0 +1,54 @@ +(function(){ + var theme = getTheme(); + setTheme(theme); +}()); + +function addCss(filename) { + var head = document.getElementsByTagName('head')[0]; + var link = document.createElement('link'); + link.rel = 'stylesheet'; + link.type = 'text/css'; + link.href = filename; + head.appendChild(link); +} +function removejscssfile(filename, filetype) { + var targetelement = (filetype == "js") ? "script" : (filetype == "css") ? "link" : "none" + var targetattr = (filetype == "js") ? "src" : (filetype == "css") ? "href" : "none" + var allsuspects = document.getElementsByTagName(targetelement) + for (var i = allsuspects.length; i >= 0; i--) { + if (allsuspects[i] && allsuspects[i].getAttribute(targetattr) != null && allsuspects[i].getAttribute(targetattr).indexOf(filename) != -1) + allsuspects[i].parentNode.removeChild(allsuspects[i]) + } +} + + +function getTheme(){ + var t = localStorage.getItem("theme"); + if(!t){ + t = "light"; + setTheme(t); + } + return t; +} +function setTheme(theme){ + var obj = document.getElementById("themes"); + if(theme=="dark"){ + if(obj){ + obj.classList.remove("light"); + obj.classList.add("dark"); + } + document.getElementsByTagName("html")[0].classList.add("dark"); + // load dark and light togher, distingush by .dark class instead use single css file + // removejscssfile("/maixpy/static/css/theme_default/light.css", "css"); + // addCss("/maixpy/static/css/theme_default/dark.css"); + }else{ + if(obj){ + obj.classList.remove("dark"); + obj.classList.add("light"); + } + document.getElementsByTagName("html")[0].classList.remove("dark"); + // removejscssfile("/maixpy/static/css/theme_default/dark.css", "css"); + // addCss("/maixpy/static/css/theme_default/light.css"); + } + localStorage.setItem("theme", theme); +} diff --git a/maixpy/static/js/theme_default/split.js b/maixpy/static/js/theme_default/split.js new file mode 100644 index 00000000..79f2131a --- /dev/null +++ b/maixpy/static/js/theme_default/split.js @@ -0,0 +1,3 @@ +/*! Split.js - v1.6.4 */ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).Split=t()}(this,(function(){"use strict";var e="undefined"!=typeof window?window:null,t=null===e,n=t?void 0:e.document,i=function(){return!1},r=t?"calc":["","-webkit-","-moz-","-o-"].filter((function(e){var t=n.createElement("div");return t.style.cssText="width:"+e+"calc(9px)",!!t.style.length})).shift()+"calc",s=function(e){return"string"==typeof e||e instanceof String},o=function(e){if(s(e)){var t=n.querySelector(e);if(!t)throw new Error("Selector "+e+" did not match a DOM element");return t}return e},a=function(e,t,n){var i=e[t];return void 0!==i?i:n},u=function(e,t,n,i){if(t){if("end"===i)return 0;if("center"===i)return e/2}else if(n){if("start"===i)return 0;if("center"===i)return e/2}return e},l=function(e,t){var i=n.createElement("div");return i.className="gutter gutter-"+t,i},c=function(e,t,n){var i={};return s(t)?i[e]=t:i[e]=r+"("+t+"% - "+n+"px)",i},h=function(e,t){var n;return(n={})[e]=t+"px",n};return function(r,s){if(void 0===s&&(s={}),t)return{};var d,f,v,m,g,p,y=r;Array.from&&(y=Array.from(y));var z=o(y[0]).parentNode,S=getComputedStyle?getComputedStyle(z):null,b=S?S.flexDirection:null,E=a(s,"sizes")||y.map((function(){return 100/y.length})),_=a(s,"minSize",100),L=Array.isArray(_)?_:y.map((function(){return _})),w=a(s,"maxSize",1/0),x=Array.isArray(w)?w:y.map((function(){return w})),k=a(s,"expandToMin",!1),C=a(s,"gutterSize",10),M=a(s,"gutterAlign","center"),U=a(s,"snapOffset",30),A=a(s,"dragInterval",1),O=a(s,"direction","horizontal"),D=a(s,"cursor","horizontal"===O?"col-resize":"row-resize"),B=a(s,"gutter",l),T=a(s,"elementStyle",c),j=a(s,"gutterStyle",h);function F(e,t,n,i){var r=T(d,t,n,i);Object.keys(r).forEach((function(t){e.style[t]=r[t]}))}function R(){return p.map((function(e){return e.size}))}function N(e){return"touches"in e?e.touches[0][f]:e[f]}function q(e){var t=p[this.a],n=p[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,F(t.element,t.size,this._b,t.i),F(n.element,n.size,this._c,n.i)}function H(e){var t,n=p[this.a],r=p[this.b];this.dragging&&(t=N(e)-this.start+(this._b-this.dragOffset),A>1&&(t=Math.round(t/A)*A),t<=n.minSize+U+this._b?t=n.minSize+this._b:t>=this.size-(r.minSize+U+this._c)&&(t=this.size-(r.minSize+this._c)),t>=n.maxSize-U+this._b?t=n.maxSize+this._b:t<=this.size-(r.maxSize-U+this._c)&&(t=this.size-(r.maxSize+this._c)),q.call(this,t),a(s,"onDrag",i)(R()))}function I(){var e=p[this.a].element,t=p[this.b].element,n=e.getBoundingClientRect(),i=t.getBoundingClientRect();this.size=n[d]+i[d]+this._b+this._c,this.start=n[v],this.end=n[m]}function W(e){var t=function(e){if(!getComputedStyle)return null;var t=getComputedStyle(e);if(!t)return null;var n=e[g];return 0===n?null:n-="horizontal"===O?parseFloat(t.paddingLeft)+parseFloat(t.paddingRight):parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)}(z);if(null===t)return e;if(L.reduce((function(e,t){return e+t}),0)>t)return e;var n=0,i=[],r=e.map((function(r,s){var o=t*r/100,a=u(C,0===s,s===e.length-1,M),l=L[s]+a;return o0&&i[r]-n>0){var o=Math.min(n,i[r]-n);n-=o,s=e-o}return s/t*100}))}function X(){var t=p[this.a].element,r=p[this.b].element;this.dragging&&a(s,"onDragEnd",i)(R()),this.dragging=!1,e.removeEventListener("mouseup",this.stop),e.removeEventListener("touchend",this.stop),e.removeEventListener("touchcancel",this.stop),e.removeEventListener("mousemove",this.move),e.removeEventListener("touchmove",this.move),this.stop=null,this.move=null,t.removeEventListener("selectstart",i),t.removeEventListener("dragstart",i),r.removeEventListener("selectstart",i),r.removeEventListener("dragstart",i),t.style.userSelect="",t.style.webkitUserSelect="",t.style.MozUserSelect="",t.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",this.gutter.style.cursor="",this.parent.style.cursor="",n.body.style.cursor=""}function Y(t){if(!("button"in t)||0===t.button){var r=p[this.a].element,o=p[this.b].element;this.dragging||a(s,"onDragStart",i)(R()),t.preventDefault(),this.dragging=!0,this.move=H.bind(this),this.stop=X.bind(this),e.addEventListener("mouseup",this.stop),e.addEventListener("touchend",this.stop),e.addEventListener("touchcancel",this.stop),e.addEventListener("mousemove",this.move),e.addEventListener("touchmove",this.move),r.addEventListener("selectstart",i),r.addEventListener("dragstart",i),o.addEventListener("selectstart",i),o.addEventListener("dragstart",i),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",this.gutter.style.cursor=D,this.parent.style.cursor=D,n.body.style.cursor=D,I.call(this),this.dragOffset=N(t)-this.end}}"horizontal"===O?(d="width",f="clientX",v="left",m="right",g="clientWidth"):"vertical"===O&&(d="height",f="clientY",v="top",m="bottom",g="clientHeight"),E=W(E);var G=[];function J(e){var t=e.i===G.length,n=t?G[e.i-1]:G[e.i];I.call(n);var i=t?n.size-e.minSize-n._c:e.minSize+n._b;q.call(n,i)}return(p=y.map((function(e,t){var n,i={element:o(e),size:E[t],minSize:L[t],maxSize:x[t],i:t};if(t>0&&((n={a:t-1,b:t,dragging:!1,direction:O,parent:z})._b=u(C,t-1==0,!1,M),n._c=u(C,!1,t===y.length-1,M),"row-reverse"===b||"column-reverse"===b)){var r=n.a;n.a=n.b,n.b=r}if(t>0){var s=B(t,O,i.element);!function(e,t,n){var i=j(d,t,n);Object.keys(i).forEach((function(t){e.style[t]=i[t]}))}(s,C,t),n._a=Y.bind(n),s.addEventListener("mousedown",n._a),s.addEventListener("touchstart",n._a),z.insertBefore(s,i.element),n.gutter=s}return F(i.element,i.size,u(C,0===t,t===y.length-1,M),t),t>0&&G.push(n),i}))).forEach((function(e){var t=e.element.getBoundingClientRect()[d];t0){var i=G[n-1],r=p[i.a],s=p[i.b];r.size=t[n-1],s.size=e,F(r.element,r.size,i._b,r.i),F(s.element,s.size,i._c,s.i)}}))},getSizes:R,collapse:function(e){J(p[e])},destroy:function(e,t){G.forEach((function(n){if(!0!==t?n.parent.removeChild(n.gutter):(n.gutter.removeEventListener("mousedown",n._a),n.gutter.removeEventListener("touchstart",n._a)),!0!==e){var i=T(d,n.a.size,n._b);Object.keys(i).forEach((function(e){p[n.a].element.style[e]="",p[n.b].element.style[e]=""}))}}))},parent:z,pairs:G}}})); +//# sourceMappingURL=split.min.js.map diff --git a/maixpy/static/js/theme_default/tocbot.min.js b/maixpy/static/js/theme_default/tocbot.min.js new file mode 100644 index 00000000..64f46c79 --- /dev/null +++ b/maixpy/static/js/theme_default/tocbot.min.js @@ -0,0 +1 @@ +(()=>{var e={163:e=>{e.exports=function(e){var t=[].forEach,n=[].some,o=document.body,l=!0,r=" ";function i(n,o){var l,c,a,u=o.appendChild((l=n,c=document.createElement("li"),a=document.createElement("a"),e.listItemClass&&c.setAttribute("class",e.listItemClass),e.onClick&&(a.onclick=e.onClick),e.includeTitleTags&&a.setAttribute("title",l.textContent),e.includeHtml&&l.childNodes.length?t.call(l.childNodes,(function(e){a.appendChild(e.cloneNode(!0))})):a.textContent=l.textContent,a.setAttribute("href",e.basePath+"#"+l.id),a.setAttribute("class",e.linkClass+r+"node-name--"+l.nodeName+r+e.extraLinkClasses),c.appendChild(a),c));if(n.children.length){var d=s(n.isCollapsed);n.children.forEach((function(e){i(e,d)})),u.appendChild(d)}}function s(t){var n=e.orderedList?"ol":"ul",o=document.createElement(n),l=e.listClass+r+e.extraListClasses;return t&&(l+=r+e.collapsibleClass,l+=r+e.isCollapsedClass),o.setAttribute("class",l),o}function c(t){var n=0;return t!==document.querySelector(e.contentSelector&&null!=t)&&(n=t.offsetTop,e.hasInnerContainers&&(n+=c(t.offsetParent))),n}function a(t){return t&&-1!==t.className.indexOf(e.collapsibleClass)&&-1!==t.className.indexOf(e.isCollapsedClass)?(t.className=t.className.split(r+e.isCollapsedClass).join(""),a(t.parentNode.parentNode)):t}return{enableTocAnimation:function(){l=!0},disableTocAnimation:function(t){var n=t.target||t.srcElement;"string"==typeof n.className&&-1!==n.className.indexOf(e.linkClass)&&(l=!1)},render:function(e,t){var n=s(!1);if(t.forEach((function(e){i(e,n)})),null!==e)return e.firstChild&&e.removeChild(e.firstChild),0===t.length?e:e.appendChild(n)},updateToc:function(i){var s;s=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop,e.positionFixedSelector&&function(){var t;t=e.scrollContainer&&document.querySelector(e.scrollContainer)?document.querySelector(e.scrollContainer).scrollTop:document.documentElement.scrollTop||o.scrollTop;var n=document.querySelector(e.positionFixedSelector);"auto"===e.fixedSidebarOffset&&(e.fixedSidebarOffset=document.querySelector(e.tocSelector).offsetTop),t>e.fixedSidebarOffset?-1===n.className.indexOf(e.positionFixedClass)&&(n.className+=r+e.positionFixedClass):n.className=n.className.split(r+e.positionFixedClass).join("")}();var u,d=i;if(l&&null!==document.querySelector(e.tocSelector)&&d.length>0){n.call(d,(function(t,n){return c(t)>s+e.headingsOffset+10?(u=d[0===n?n:n-1],!0):n===d.length-1?(u=d[d.length-1],!0):void 0}));var f=document.querySelector(e.tocSelector).querySelectorAll("."+e.linkClass);t.call(f,(function(t){t.className=t.className.split(r+e.activeLinkClass).join("")}));var m=document.querySelector(e.tocSelector).querySelectorAll("."+e.listItemClass);t.call(m,(function(t){t.className=t.className.split(r+e.activeListItemClass).join("")}));var h=document.querySelector(e.tocSelector).querySelector("."+e.linkClass+".node-name--"+u.nodeName+'[href="'+e.basePath+"#"+u.id.replace(/([ #;&,.+*~':"!^$[\]()=>|/@])/g,"\\$1")+'"]');h&&-1===h.className.indexOf(e.activeLinkClass)&&(h.className+=r+e.activeLinkClass);var p=h&&h.parentNode;p&&-1===p.className.indexOf(e.activeListItemClass)&&(p.className+=r+e.activeListItemClass);var C=document.querySelector(e.tocSelector).querySelectorAll("."+e.listClass+"."+e.collapsibleClass);t.call(C,(function(t){-1===t.className.indexOf(e.isCollapsedClass)&&(t.className+=r+e.isCollapsedClass)})),h&&h.nextSibling&&-1!==h.nextSibling.className.indexOf(e.isCollapsedClass)&&(h.nextSibling.className=h.nextSibling.className.split(r+e.isCollapsedClass).join("")),a(h&&h.parentNode.parentNode)}}}}},547:e=>{e.exports={tocSelector:".js-toc",contentSelector:".js-toc-content",headingSelector:"h1, h2, h3",ignoreSelector:".js-toc-ignore",hasInnerContainers:!1,linkClass:"toc-link",extraLinkClasses:"",activeLinkClass:"is-active-link",listClass:"toc-list",extraListClasses:"",isCollapsedClass:"is-collapsed",collapsibleClass:"is-collapsible",listItemClass:"toc-list-item",activeListItemClass:"is-active-li",collapseDepth:0,scrollSmooth:!0,scrollSmoothDuration:420,scrollSmoothOffset:0,scrollEndCallback:function(e){},headingsOffset:1,throttleTimeout:50,positionFixedSelector:null,positionFixedClass:"is-position-fixed",fixedSidebarOffset:"auto",includeHtml:!1,includeTitleTags:!1,onClick:function(e){},orderedList:!0,scrollContainer:null,skipRendering:!1,headingLabelCallback:!1,ignoreHiddenElements:!1,headingObjectCallback:null,basePath:"",disableTocScrollSync:!1}},971:function(e,t,n){var o,l,r;l=[],o=function(e){"use strict";var t,o,l,r=n(547),i={},s={},c=n(163),a=n(279),u=n(938),d=!!(e&&e.document&&e.document.querySelector&&e.addEventListener);if("undefined"!=typeof window||d){var f=Object.prototype.hasOwnProperty;return s.destroy=function(){var e=h(i);null!==e&&(i.skipRendering||e&&(e.innerHTML=""),i.scrollContainer&&document.querySelector(i.scrollContainer)?(document.querySelector(i.scrollContainer).removeEventListener("scroll",this._scrollListener,!1),document.querySelector(i.scrollContainer).removeEventListener("resize",this._scrollListener,!1),t&&document.querySelector(i.scrollContainer).removeEventListener("click",this._clickListener,!1)):(document.removeEventListener("scroll",this._scrollListener,!1),document.removeEventListener("resize",this._scrollListener,!1),t&&document.removeEventListener("click",this._clickListener,!1)))},s.init=function(e){if(d){i=function(){for(var e={},t=0;t{e.exports=function(e){var t=[].reduce;function n(e){return e[e.length-1]}function o(e){return+e.nodeName.toUpperCase().replace("H","")}function l(t){if(!(t instanceof window.HTMLElement))return t;if(e.ignoreHiddenElements&&(!t.offsetHeight||!t.offsetParent))return null;const n=t.getAttribute("data-heading-label")||(e.headingLabelCallback?String(e.headingLabelCallback(t.textContent)):t.textContent.trim());var l={id:t.id,children:[],nodeName:t.nodeName,headingLevel:o(t),textContent:n};return e.includeHtml&&(l.childNodes=t.childNodes),e.headingObjectCallback?e.headingObjectCallback(l,t):l}return{nestHeadingsArray:function(o){return t.call(o,(function(t,o){var r=l(o);return r&&function(t,o){for(var r=l(t),i=r.headingLevel,s=o,c=n(s),a=i-(c?c.headingLevel:0);a>0&&(!(c=n(s))||i!==c.headingLevel);)c&&void 0!==c.children&&(s=c.children),a--;i>=e.collapseDepth&&(r.isCollapsed=!0),s.push(r)}(r,t.nest),t}),{nest:[]})},selectHeadings:function(t,n){var o=n;e.ignoreSelector&&(o=n.split(",").map((function(t){return t.trim()+":not("+e.ignoreSelector+")"})));try{return t.querySelectorAll(o)}catch(e){return console.warn("Headers not found with selector: "+o),null}}}}},374:(e,t)=>{t.initSmoothScrolling=function(e){var t=e.duration,n=e.offset,o=location.hash?l(location.href):location.href;function l(e){return e.slice(0,e.lastIndexOf("#"))}document.body.addEventListener("click",(function(r){var i;"a"!==(i=r.target).tagName.toLowerCase()||!(i.hash.length>0||"#"===i.href.charAt(i.href.length-1))||l(i.href)!==o&&l(i.href)+"#"!==o||r.target.className.indexOf("no-smooth-scroll")>-1||"#"===r.target.href.charAt(r.target.href.length-2)&&"!"===r.target.href.charAt(r.target.href.length-1)||-1===r.target.className.indexOf(e.linkClass)||function(e,t){var n,o,l=window.pageYOffset,r={duration:t.duration,offset:t.offset||0,callback:t.callback,easing:t.easing||function(e,t,n,o){return(e/=o/2)<1?n/2*e*e+t:-n/2*(--e*(e-2)-1)+t}},i=document.querySelector('[id="'+decodeURI(e).split("#").join("")+'"]')||document.querySelector('[id="'+e.split("#").join("")+'"]'),s="string"==typeof e?r.offset+(e?i&&i.getBoundingClientRect().top||0:-(document.documentElement.scrollTop||document.body.scrollTop)):e,c="function"==typeof r.duration?r.duration(s):r.duration;function a(e){o=e-n,window.scrollTo(0,r.easing(o,l,s,c)),o{e.exports=function(e){var t=document.querySelector(e.tocSelector);if(t&&t.scrollHeight>t.clientHeight){var n=t.querySelector("."+e.activeListItemClass);n&&(t.scrollTop=n.offsetTop)}}}},t={};function n(o){var l=t[o];if(void 0!==l)return l.exports;var r=t[o]={exports:{}};return e[o].call(r.exports,r,r.exports,n),r.exports}n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n(971)})(); \ No newline at end of file diff --git a/maixpy/static/js/theme_default/viewer.min.js b/maixpy/static/js/theme_default/viewer.min.js new file mode 100644 index 00000000..c5376e39 --- /dev/null +++ b/maixpy/static/js/theme_default/viewer.min.js @@ -0,0 +1,10 @@ +/*! + * Viewer.js v1.10.0 + * https://fengyuanchen.github.io/viewerjs + * + * Copyright 2015-present Chen Fengyuan + * Released under the MIT license + * + * Date: 2021-06-12T07:57:10.970Z + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Viewer=e()}(this,function(){"use strict";function e(e,t){var i,n=Object.keys(e);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(e),t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)),n}function l(n){for(var t=1;t=this.length||this.viewed&&t===this.index)return this;if(!this.isShown)return this.index=t,this.show();this.viewing&&this.viewing.abort();var e=this.element,n=this.options,o=this.title,s=this.canvas,a=this.items[t],r=a.querySelector("img"),h=gt(r,"originalUrl"),l=r.getAttribute("alt"),c=document.createElement("img");if(ot(n.inheritedAttributes,function(t){var e=r.getAttribute(t);null!==e&&c.setAttribute(t,e)}),c.src=h,c.alt=l,nt(n.view)&&yt(e,"view",n.view,{once:!0}),!1===xt(e,"view",{originalImage:this.images[t],index:t,image:c})||!this.isShown||this.hiding||this.played)return this;h=this.items[this.index];ct(h,m),h.removeAttribute("aria-selected"),lt(a,m),a.setAttribute("aria-selected",!0),n.focus&&a.focus(),this.image=c,this.viewed=!1,this.index=t,this.imageData={},lt(c,D),n.loading&<(s,T),s.innerHTML="",s.appendChild(c),this.renderList(),o.innerHTML="";function u(){var t=i.imageData,e=Array.isArray(n.title)?n.title[1]:n.title;o.innerHTML=_(t=nt(e)?e.call(i,c,t):"".concat(l," (").concat(t.naturalWidth," × ").concat(t.naturalHeight,")"))?t.replace(/&(?!amp;|quot;|#39;|lt;|gt;)/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">"):t}var d;return yt(e,V,u,{once:!0}),this.viewing={abort:function(){wt(e,V,u),c.complete?i.imageRendering?i.imageRendering.abort():i.imageInitializing&&i.imageInitializing.abort():(c.src="",wt(c,N,d),i.timeout&&clearTimeout(i.timeout))}},c.complete?this.load():(yt(c,N,d=this.load.bind(this),{once:!0}),this.timeout&&clearTimeout(this.timeout),this.timeout=setTimeout(function(){ct(c,D),i.timeout=!1},1e3)),this},prev:function(){var t=this.index-1;return t<0&&(t=0Math.abs(r)&&(this.pointers={},1
    ',n=(i=d.querySelector(".".concat(g,"-container"))).querySelector(".".concat(g,"-title")),o=i.querySelector(".".concat(g,"-toolbar")),a=i.querySelector(".".concat(g,"-navbar")),m=i.querySelector(".".concat(g,"-button")),d=i.querySelector(".".concat(g,"-canvas")),this.parent=e,this.viewer=i,this.title=n,this.toolbar=o,this.navbar=a,this.button=m,this.canvas=d,this.footer=i.querySelector(".".concat(g,"-footer")),this.tooltipBox=i.querySelector(".".concat(g,"-tooltip")),this.player=i.querySelector(".".concat(g,"-player")),this.list=i.querySelector(".".concat(g,"-list")),i.id="".concat(g).concat(this.id),n.id="".concat(g,"Title").concat(this.id),lt(n,s.title?Tt(Array.isArray(s.title)?s.title[0]:s.title):w),lt(a,s.navbar?Tt(s.navbar):w),ut(m,w,!s.button),s.keyboard&&m.setAttribute("tabindex",0),s.backdrop&&(lt(i,"".concat(g,"-backdrop")),s.inline||"static"===s.backdrop||ft(d,K,"hide")),_(s.className)&&s.className&&s.className.split(Z).forEach(function(t){lt(i,t)}),s.toolbar?(r=document.createElement("ul"),h=it(s.toolbar),l=$.slice(0,3),c=$.slice(7,9),u=$.slice(9),h||lt(o,Tt(s.toolbar)),ot(h?s.toolbar:$,function(t,e){var i=h&&it(t),n=h?mt(e):t,o=i&&!Q(t.show)?t.show:t;!o||!s.zoomable&&-1!==l.indexOf(n)||!s.rotatable&&-1!==c.indexOf(n)||!s.scalable&&-1!==u.indexOf(n)||(e=i&&!Q(t.size)?t.size:t,i=i&&!Q(t.click)?t.click:t,t=document.createElement("li"),s.keyboard&&t.setAttribute("tabindex",0),t.setAttribute("role","button"),lt(t,"".concat(g,"-").concat(n)),nt(i)||ft(t,K,n),J(o)&<(t,Tt(o)),-1!==["small","large"].indexOf(e)?lt(t,"".concat(g,"-").concat(e)):"play"===n&<(t,"".concat(g,"-large")),nt(i)&&yt(t,O,i),r.appendChild(t))}),o.appendChild(r)):lt(o,w),s.rotatable||(lt(d=o.querySelectorAll('li[class*="rotate"]'),D),ot(d,function(t){o.appendChild(t)})),s.inline?(lt(m,b),rt(i,{zIndex:s.zIndexInline}),"static"===window.getComputedStyle(e).position&&rt(e,{position:"relative"}),e.insertBefore(i,t.nextSibling)):(lt(m,f),lt(i,p),lt(i,v),lt(i,w),rt(i,{zIndex:s.zIndex}),(m=(m=_(m=s.container)?t.ownerDocument.querySelector(m):m)||this.body).appendChild(i)),s.inline&&(this.render(),this.bind(),this.isShown=!0),this.ready=!0,nt(s.ready)&&yt(t,j,s.ready,{once:!0}),!1!==xt(t,j)?this.ready&&s.inline&&this.view(this.index):this.ready=!1)}}])&&o(t.prototype,e),n&&o(t,n),i}();return st(n.prototype,It,r,t,St,Ot),n}); \ No newline at end of file diff --git a/maixpy/static/search_index/index.json b/maixpy/static/search_index/index.json new file mode 100644 index 00000000..07161cc8 --- /dev/null +++ b/maixpy/static/search_index/index.json @@ -0,0 +1 @@ +{"/api/":["MaixPy API Reference","/maixpy/static/search_index/index_0.json"],"/doc/":["MaixPy 中文文档","/maixpy/static/search_index/index_1.json"],"/doc/en/":["MaixPy English Documentation","/maixpy/static/search_index/index_2.json"],"/":["MaixPy 页面","/maixpy/static/search_index/index_3.json"],"/en/":["MaixPy Pages","/maixpy/static/search_index/index_4.json"]} \ No newline at end of file diff --git a/maixpy/static/search_index/index_0.json b/maixpy/static/search_index/index_0.json new file mode 100644 index 00000000..03abebaf --- /dev/null +++ b/maixpy/static/search_index/index_0.json @@ -0,0 +1 @@ +{"/maixpy/api/maix/touchscreen.html":{"title":"maix.touchscreen","content":" title: maix.touchscreen maix.touchscreen module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.touchscreen` to access this module. ## Module No module ## Enum ## Variable ## Function ## Class ### TouchScreen item doc **brief** TouchScreen class **C++ defination code**: ```cpp class TouchScreen ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Construct a new TouchScreen object **param** **device**: touchscreen device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device
    **open**: If true, touchscreen will automatically call open() after creation. default is true.
    **static** False **C++ defination code**: ```cpp TouchScreen(const std::string &device \"\", bool open true) ``` #### open item doc **type** func **brief** open touchscreen device **return** error code, err::ERR_NONE means success, others means failed **static** False **C++ defination code**: ```cpp err::Err open() ``` #### close item doc **type** func **brief** close touchscreen device **return** error code, err::ERR_NONE means success, others means failed **static** False **C++ defination code**: ```cpp err::Err close() ``` #### read item doc **type** func **brief** read touchscreen device **attention** This method will discard same event in buffer, that is:
    if too many move event in buffer when call this method, it will only return the last one,
    and if read pressed or released event, it will return immediately. **return** Returns a list include x, y, pressed state **static** False **C++ defination code**: ```cpp std::vector read() ``` #### read (overload 1) item doc **type** func **brief** read touchscreen device **attention** This method will return immediately if have event, so it's better to use available() to check if have more event in buffer,
    or too much event in buffer when your program call this read() interval is too long will make your program slow. **return** Returns a list include x, y, pressed state **static** False **C++ defination code**: ```cpp std::vector read0() ``` #### available item doc **type** func **brief** If we need to read from touchscreen, for event driven touchscreen means have event or not **param** **timeout**: 1 means block, 0 means no block, >0 means timeout, default is 0, unit is ms.
    **return** true if need to read(have event), false if not **static** False **C++ defination code**: ```cpp bool available(int timeout 0) ``` #### is\\_opened item doc **type** func **brief** Check if touchscreen is opened **return** true if touchscreen is opened, false if not **static** False **C++ defination code**: ```cpp bool is_opened() ```"},"/maixpy/api/maix/peripheral/wdt.html":{"title":"maix.peripheral.wdt","content":" title: maix.peripheral.wdt maix.peripheral.wdt module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.wdt` to access this module. ## Module No module ## Enum ## Variable ## Function ## Class ### WDT item doc **brief** Peripheral wdt class **C++ defination code**: ```cpp class WDT ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** WDT constructor **param** **id**: direction [in], id of wdt, int type
    **feed_ms**: direction [in], feed ms of wdt, int type
    **static** False **C++ defination code**: ```cpp WDT(int id, int feed_ms) ``` #### feed item doc **type** func **brief** feed wdt **return** error code, if feed success, return err::ERR_NONE **static** False **C++ defination code**: ```cpp int feed() ``` #### stop item doc **type** func **brief** stop wdt **static** False **C++ defination code**: ```cpp int stop() ``` #### restart item doc **type** func **brief** restart wdt **attention** restart WDT after stop it **static** False **C++ defination code**: ```cpp int restart() ```"},"/maixpy/api/maix/peripheral/spi.html":{"title":"maix.peripheral.spi","content":" title: maix.peripheral.spi maix.peripheral.spi module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.spi` to access this module. ## Module No module ## Enum ## Variable ### MASTER\\_MODE item doc **brief** spi master mode **value** **0x1** **readonly** True **C++ defination code**: ```cpp const int MASTER_MODE 0x1 ``` ### SLAVE\\_MODE item doc **brief** spi slave mode **value** **0x2** **readonly** True **C++ defination code**: ```cpp const int SLAVE_MODE 0x2 ``` ### CLOCK\\_MODE\\_0 item doc **brief** clock mode 0 **attention** CPOL 0, CPHA 0
    means the idle level of the clock is low, data is captured on the first edge of the SPI clock cycle **value** **0x0** **readonly** True **C++ defination code**: ```cpp const int CLOCK_MODE_0 0x0 ``` ### CLOCK\\_MODE\\_1 item doc **brief** clock mode 1 **attention** CPOL 0, CPHA 1
    means the idle level of the clock is low, data is captured on the second edge of the SPI clock cycle **value** **0x1** **readonly** True **C++ defination code**: ```cpp const int CLOCK_MODE_1 0x1 ``` ### CLOCK\\_MODE\\_2 item doc **brief** clock mode 2 **attention** CPOL 1, CPHA 0
    means the idle level of the clock is high, data is captured on the first edge of the SPI clock cycle **value** **0x2** **readonly** True **C++ defination code**: ```cpp const int CLOCK_MODE_2 0x2 ``` ### CLOCK\\_MODE\\_3 item doc **brief** clock mode 3 **attention** CPOL 1, CPHA 1
    means the idle level of the clock is high, data is captured on the second edge of the SPI clock cycle **value** **0x3** **readonly** True **C++ defination code**: ```cpp const int CLOCK_MODE_3 0x3 ``` ## Function ## Class ### SPI item doc **brief** Peripheral spi class **C++ defination code**: ```cpp class SPI ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** SPI constructor **param** **id**: direction [in], id of spi, int type
    **sclk**: direction [in], sclk pin of spi, int type
    **mosi**: direction [in], mosi pin of spi, int type
    **miso**: direction [in], miso pin of spi, int type
    **cs**: direction [in], cs pin of spi, int type
    **freq**: direction [in], freq of spi, int type
    **use_soft_cs**: direction [in], use_soft_cs of spi, int type
    this param is valid in master mode, when use_soft_cs 1, the
    cs pin must be operated manually when sending data. default is 1, means use hardware cs
    **mode**: direction [in], mode of spi, int type
    option:
    mode spi.MASTER, means use master mode
    mode spi.SLAVE, means use slave mode
    defualt is 1, means use spi.MASTER mode
    **clock_mode**: direction [in], clock_mode of spi, int type,default is 1
    option:
    clock_mode spi.CLOCK_MODE_0, @see CLOCK_MODE_0
    clock_mode spi.CLOCK_MODE_1, @see CLOCK_MODE_1
    clock_mode spi.CLOCK_MODE_2, @see CLOCK_MODE_2
    clock_mode spi.CLOCK_MODE_3, @see CLOCK_MODE_3
    default is 1, means use CLOCK_MODE_0
    **static** False **C++ defination code**: ```cpp SPI(int id, int sclk, int mosi, int miso, int cs, int freq, int use_soft_cs 1, int mode 1, int clock_mode 1) ``` #### cs\\_high item doc **type** func **brief** set cs pin to high level **static** False **C++ defination code**: ```cpp int cs_high() ``` #### cs\\_low item doc **type** func **brief** set cs pin to low level **static** False **C++ defination code**: ```cpp int cs_low() ``` #### read item doc **type** func **brief** read data from spi **param** **read_len**: direction [in], read length, int type
    **return** read data, vector type **static** False **C++ defination code**: ```cpp std::vector read(int read_len) ``` #### write item doc **type** func **brief** write data to spi **param** **write_data**: direction [in], write data, vector type
    the member range of the list is [0,255]
    **return** error code, if write success, return err::ERR_NONE **static** False **C++ defination code**: ```cpp int write(std::vector write_data std::vector{}) ``` #### read\\_write item doc **type** func **brief** set spi status to high level or low level **param** **write_data**: direction [in], write data, vector type
    the member range of the list is [0,255]
    **read_len**: direction [in], read length, int type
    default is 1, means read_len write_data.size()
    **return** read data, vector type **static** False **C++ defination code**: ```cpp std::vector read_write( std::vector write_data std::vector{}, int read_len 1) ``` #### is\\_busy item doc **type** func **brief** get busy status of spi **return** busy status, bool type **static** False **C++ defination code**: ```cpp bool is_busy() ```"},"/maixpy/api/maix/peripheral/uart.html":{"title":"maix.peripheral.uart","content":" title: maix.peripheral.uart maix uart peripheral driver > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.uart` to access this module. ## Module No module ## Enum ### PARITY item doc **brief** uart parity enum **values** **PARITY_NONE**: no parity
    **PARITY_ODD**: odd parity
    **PARITY_EVEN**: even parity
    **PARITY_MAX**:
    **C++ defination code**: ```cpp enum PARITY { PARITY_NONE 0x00, // no parity PARITY_ODD 0x01, // odd parity PARITY_EVEN 0x02, // even parity PARITY_MAX } ``` ### STOP item doc **brief** uart stop bits **values** **STOP_1**: 1 stop bit
    **STOP_2**: 2 stop bits
    **STOP_1_5**: 1.5 stop bits
    **STOP_MAX**:
    **C++ defination code**: ```cpp enum STOP { STOP_1 0x01, // 1 stop bit STOP_2 0x02, // 2 stop bits STOP_1_5 0x03, // 1.5 stop bits STOP_MAX } ``` ### BITS item doc **brief** uart stop bits **values** **BITS_5**: 5 data bits
    **BITS_6**: 6 data bits
    **BITS_7**: 7 data bits
    **BITS_8**: 8 data bits
    **BITS_MAX**:
    **C++ defination code**: ```cpp enum BITS { BITS_5 5, // 5 data bits BITS_6 6, // 6 data bits BITS_7 7, // 7 data bits BITS_8 8, // 8 data bits BITS_MAX } ``` ### FLOW\\_CTRL item doc **brief** uart flow control **values** **FLOW_CTRL_NONE**: no flow control
    **FLOW_CTRL_HW**: hardware flow control
    **FLOW_CTRL_MAX**:
    **C++ defination code**: ```cpp enum FLOW_CTRL { FLOW_CTRL_NONE 0, // no flow control FLOW_CTRL_HW 1, // hardware flow control FLOW_CTRL_MAX } ``` ## Variable ## Function ### list\\_ports item doc **brief** Get supported uart ports. **return** uart ports list, string type. **C++ defination code**: ```cpp std::vector list_ports() ``` ## Class ### UART item doc **brief** maix uart peripheral driver **C++ defination code**: ```cpp class UART : public comm::CommBase ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** UART constructor. You need to call open() to open the device. **param** **port**: uart port. string type, can get it by uart.list_ports().
    If empty, will not open device in constructor, default empty.
    if not empty, will auto open device in constructor, open fail will throw err.Exception.
    **baudrate**: baudrate of uart. int type, default 115200.
    **databits**: databits, values @see uart.DATA_BITS
    **parity**: parity, values @see uart.PARITY
    **stopbits**: stopbits, values @see uart.STOP_BITS
    **flow_control**: flow_control, values @see uart.FLOW_CTRL
    **static** False **C++ defination code**: ```cpp UART(const std::string &port \"\", int baudrate 115200, uart::BITS databits uart::BITS_8, uart::PARITY parity uart::PARITY_NONE, uart::STOP stopbits uart::STOP_1, uart::FLOW_CTRL flow_ctrl uart::FLOW_CTRL_NONE) ``` #### set\\_port item doc **type** func **brief** Set port **param** **port**: uart port. string type, can get it by uart.list_ports().
    **return** set port error code, err.Err type. **static** False **C++ defination code**: ```cpp err::Err set_port(const std::string &port) ``` #### get\\_port item doc **type** func **brief** Get port **return** uart port, string type. **static** False **C++ defination code**: ```cpp std::string get_port() ``` #### set\\_baudrate item doc **type** func **brief** Set baud rate **param** **baudrate**: baudrate of uart. int type, default 115200.
    **return** set baud rate error code, err.Err type. **static** False **C++ defination code**: ```cpp err::Err set_baudrate(int baudrate) ``` #### get\\_baudrate item doc **type** func **brief** Get baud rate **return** baud rate, int type. **static** False **C++ defination code**: ```cpp int get_baudrate() ``` #### open item doc **type** func **brief** Open uart device, before open, port must be set in constructor or by set_port().\\nIf already opened, do nothing and return err.ERR_NONE. **return** open device error code, err.Err type. **static** False **C++ defination code**: ```cpp err::Err open() ``` #### is\\_open item doc **type** func **brief** Check if device is opened. **return** true if opened, false if not opened. **static** False **C++ defination code**: ```cpp bool is_open() ``` #### close item doc **type** func **brief** Close uart device, if already closed, do nothing and return err.ERR_NONE. **return** close device error code, err.Err type. **static** False **C++ defination code**: ```cpp err::Err close() ``` #### write\\_str item doc **type** func **brief** Send string data **param** **str**: string data
    **return** sent data length, < 0 means error, value is err.Err. **static** False **C++ defination code**: ```cpp int write_str(const std::string &str) ``` #### write item doc **type** func **brief** Send data to uart **param** **data**: direction [in], data to send, bytes type. If you want to send str type, use str.encode() to convert.
    **return** sent length, int type, if < 0 means error, value is err.Err. **static** False **C++ defination code**: ```cpp int write(Bytes &data) ``` #### available item doc **type** func **brief** Check if data available or wait data available. **param** **timeout**: unit ms, timeout to wait data, default 0.
    0 means check data available and return immediately,
    > 0 means wait until data available or timeout.
    1 means wait until data available.
    **return** available data number, 0 if timeout or no data, <0 if error, value is err.Err, can be err::ERR_IO, err::ERR_CANCEL, err::ERR_NOT_OPEN. **throw** err.Exception if fatal error. **static** False **C++ defination code**: ```cpp int available(int timeout 0) ``` #### read item doc **type** func **brief** Recv data from uart **param** **len**: max data length want to receive, default 1.
    1 means read data in uart receive buffer.
    >0 means read len data want to receive.
    other values is invalid.
    **timeout**: unit ms, timeout to receive data, default 0.
    0 means read data in uart receive buffer and return immediately,
    1 means block until read len data,
    >0 means block until read len data or timeout.
    **return** received data, bytes type.
    Attention, you need to delete the returned object yourself in C++. **static** False **C++ defination code**: ```cpp Bytes *read(int len 1, int timeout 0) ``` #### readline item doc **type** func **brief** Read line from uart, that is read until '\\n' or '\\r\\n'. **param** **timeout**: unit ms, timeout to receive data, default 1 means block until read '\\n' or '\\r\\n'.
    > 0 means block until read '\\n' or '\\r\\n' or timeout.
    **return** received data, bytes type. If timeout will return the current received data despite not read '\\n' or '\\r\\n'.
    e.g. If we want to read b'123\\n', but when we only read b'12', timeout, then return b'12'. **static** False **C++ defination code**: ```cpp Bytes *readline(int timeout 1) ```"},"/maixpy/api/maix/peripheral/key.html":{"title":"maix.peripheral.key","content":" title: maix.peripheral.key maix.peripheral.key module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.key` to access this module. ## Module No module ## Enum ### Keys item doc **brief** Keys enum, id the same as linux input.h(input event codes.h) **values** **KEY_NONE**:
    **KEY_ESC**:
    **KEY_OK**:
    **KEY_OPTION**:
    **KEY_NEXT**:
    **KEY_PREV**:
    **C++ defination code**: ```cpp enum Keys{ KEY_NONE 0x000, KEY_ESC 0x001, KEY_OK 0x160, KEY_OPTION 0x165, KEY_NEXT 0x197, KEY_PREV 0x19c } ``` ### State item doc **brief** Key state enum **values** **KEY_RELEASED**:
    **KEY_PRESSED**:
    **C++ defination code**: ```cpp enum State{ KEY_RELEASED 0, KEY_PRESSED 1, } ``` ## Variable ## Function ### add\\_default\\_listener item doc **brief** Add default listener, if you want to exit app when press ok button, you can just call this function.\\nThis function is auto called in MaixPy' startup code, so you don't need to call it in MaixPy.\\nCreate Key object will auto call rm_default_listener() to cancel the default ok button function.\\nWhen ok button pressed, a SIGINT signal will be raise and call app.set_exit_flag(True). **C++ defination code**: ```cpp void add_default_listener() ``` ### rm\\_default\\_listener item doc **brief** Remove default listener, if you want to cancel the default ok button function(exit app), you can just call this function. **C++ defination code**: ```cpp void rm_default_listener() ``` ## Class ### Key item doc **brief** Key input class **C++ defination code**: ```cpp class Key ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Key Device constructor **param** **callback**: When key triggered and callback is not empty(empty In MaixPy is None, in C++ is nullptr),
    callback will be called with args key(key.Keys) and value(key.State).
    If set to null, you can get key value by read() function.
    This callback called in a standalone thread, so you can block a while in callback, and you should be carefully when operate shared data.
    **open**: auto open device in constructor, if false, you need call open() to open device
    **static** False **C++ defination code**: ```cpp Key(std::function callback nullptr, bool open true) ``` #### open item doc **type** func **brief** Open(Initialize) key device, if already opened, will close first and then open. **return** err::Err type, err.Err.ERR_NONE means success **static** False **C++ defination code**: ```cpp err::Err open() ``` #### close item doc **type** func **brief** Close key device **return** err::Err type, err.Err.ERR_NONE means success **static** False **C++ defination code**: ```cpp err::Err close() ``` #### is\\_opened item doc **type** func **brief** Check key device is opened **return** bool type, true means opened, false means closed **static** False **C++ defination code**: ```cpp bool is_opened() ``` #### read item doc **type** func **brief** Read key input, and return key and value, if callback is set, DO NOT call this function manually. **return** list type, first is key(maix.key.Keys), second is value(maix.key.State), if no key input, return [0, 0] **throw** If read failed, will throw maix.err.Exception. **static** False **C++ defination code**: ```cpp std::pair read() ```"},"/maixpy/api/maix/peripheral/adc.html":{"title":"maix.peripheral.adc","content":" title: maix.peripheral.adc maix.peripheral.adc module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.adc` to access this module. ## Module No module ## Enum ## Variable ### RES\\_BIT\\_8 item doc **brief** 8 bit resolution, supported by the actual hardware **value** **0x1** **readonly** True **C++ defination code**: ```cpp const int RES_BIT_8 0x1 ``` ### RES\\_BIT\\_10 item doc **brief** 10 bit resolution, supported by the actual hardware **value** **0x2** **readonly** True **C++ defination code**: ```cpp const int RES_BIT_10 0x2 ``` ### RES\\_BIT\\_12 item doc **brief** 12 bit resolution, supported by the actual hardware **value** **0x3** **readonly** True **C++ defination code**: ```cpp const int RES_BIT_12 0x3 ``` ### RES\\_BIT\\_16 item doc **brief** 16 bit resolution, supported by the actual hardware **value** **0x4** **readonly** True **C++ defination code**: ```cpp const int RES_BIT_16 0x4 ``` ## Function ## Class ### ADC item doc **brief** Peripheral adc class **C++ defination code**: ```cpp class ADC ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** ADC constructor **param** **pin**: direction [in], adc pin, int type
    **resolution**: direction [in], adc resolution. default is 1, means use default resolution
    option:
    resolution adc.RES_BIT_8, means 8 bit resolution
    resolution adc.RES_BIT_10, means 10 bit resolution
    resolution adc.RES_BIT_12, means 12 bit resolution
    resolution adc.RES_BIT_16, means 16 bit resolution
    the default resolution is determined by actual hardware.
    **vref**: direction [in], adc refer voltage. default is 1, means use default refer voltage.
    the default vref is determined by actual hardware. range: [0.0, 10.0]
    **static** False **C++ defination code**: ```cpp ADC(int pin, int resolution 1, float vref 1) ``` #### read item doc **type** func **brief** read adc value **return** adc data, int type
    if resolution is 8 bit, return value range is [0, 255]
    if resolution is 10 bit, return value range is [0, 1023]
    if resolution is 12 bit, return value range is [0, 4095]
    if resolution is 16 bit, return value range is [0, 65535] **static** False **C++ defination code**: ```cpp int read() ``` #### read\\_vol item doc **type** func **brief** read adc voltage **return** adc voltage, float type。the range is [0.0, vref] **static** False **C++ defination code**: ```cpp float read_vol() ```"},"/maixpy/api/maix/protocol.html":{"title":"maix.protocol","content":" title: maix.protocol maix.protocol module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.protocol` to access this module. ## Module No module ## Enum ### CMD item doc **brief** protocol cmd, more doc see MaixCDK document's convention doc **note** max app custom CMD value should < CMD_APP_MAX **values** **CMD_APP_MAX**: 200, max app custom CMD value should < CMD_APP_MAX
    **CMD_SET_UPLOAD**: set auto upload data mode
    **CMD_APP_LIST**:
    **CMD_START_APP**:
    **CMD_EXIT_APP**:
    **CMD_CUR_APP_INFO**:
    **CMD_APP_INFO**:
    **CMD_KEY**:
    **CMD_TOUCH**:
    **C++ defination code**: ```cpp enum CMD { CMD_APP_MAX 0xC8, // 200, max app custom CMD value should < CMD_APP_MAX CMD_SET_UPLOAD 0xF8, // set auto upload data mode CMD_APP_LIST 0xF9, CMD_START_APP 0xFA, CMD_EXIT_APP 0xFB, CMD_CUR_APP_INFO 0xFC, CMD_APP_INFO 0xFD, CMD_KEY 0xFE, CMD_TOUCH 0xFF, } ``` ### FLAGS item doc **brief** protocol flags, more doc see MaixCDK document's convention doc **values** **FLAG_REQ**:
    **FLAG_RESP**:
    **FLAG_IS_RESP_MASK**:
    **FLAG_RESP_OK**:
    **FLAG_RESP_ERR**:
    **FLAG_RESP_OK_MASK**:
    **FLAG_REPORT**:
    **FLAG_REPORT_MASK**:
    **FLAG_VERSION_MASK**:
    **C++ defination code**: ```cpp enum FLAGS { FLAG_REQ 0x00, FLAG_RESP 0x80, FLAG_IS_RESP_MASK 0x80, FLAG_RESP_OK 0x40, FLAG_RESP_ERR 0x00, FLAG_RESP_OK_MASK 0x40, FLAG_REPORT 0x20, FLAG_REPORT_MASK 0x20, FLAG_VERSION_MASK 0x03 } ``` ## Variable ### VERSION item doc **brief** protocol version **value** **1** **readonly** True **C++ defination code**: ```cpp const uint8_t VERSION 1 ``` ### HEADER item doc **brief** protocol header **value** **0xBBACCAAA** **readonly** True **C++ defination code**: ```cpp const uint32_t HEADER 0xBBACCAAA ``` ## Function ### crc16\\_IBM item doc **brief** CRC16 IBM **param** **data**: data, bytes type.
    **return** CRC16 IBM value, uint16_t type. **C++ defination code**: ```cpp uint16_t crc16_IBM(const Bytes *data) ``` ## Class ### MSG item doc **brief** protocol msg **C++ defination code**: ```cpp class MSG ``` #### version item doc **type** var **brief** protocol version **static** False **readonly** False **C++ defination code**: ```cpp uint8_t version ``` #### resp\\_ok item doc **type** var **brief** Is success response or not, (only for response msg) **static** False **readonly** False **C++ defination code**: ```cpp uint8_t resp_ok ``` #### cmd item doc **type** var **brief** CMD value **static** False **readonly** False **C++ defination code**: ```cpp uint8_t cmd ``` #### is\\_resp item doc **type** var **brief** message is response or not, contrast with is_req **static** False **readonly** False **C++ defination code**: ```cpp bool is_resp ``` #### body\\_len item doc **type** var **brief** Message body length, read only, use set_body() to update **attention** DO NOT manually change this value **static** False **readonly** False **C++ defination code**: ```cpp int body_len ``` #### encode\\_resp\\_ok item doc **type** func **brief** Encode response ok(success) message **param** **body**: response body, can be null
    **return** encoded data, if nullptr, means error, and the error code is err.Err **static** False **C++ defination code**: ```cpp Bytes *encode_resp_ok(Bytes *body nullptr) ``` #### encode\\_report item doc **type** func **brief** Encode proactively report message **param** **body**: report body, can be null
    **return** encoded data, if nullptr, means error, and the error code is err.Err **static** False **C++ defination code**: ```cpp Bytes *encode_report(Bytes *body nullptr) ``` #### encode\\_resp\\_err item doc **type** func **brief** Encode response error message **param** **code**: error code
    **msg**: error message
    **return** encoded data, if nullptr, means error, and the error code is err.Err **static** False **C++ defination code**: ```cpp Bytes *encode_resp_err(err::Err code, const std::string &msg) ``` #### set\\_body item doc **type** func **brief** Update message body **param** **body_new**: new body data
    **static** False **C++ defination code**: ```cpp void set_body(Bytes *body_new) ``` #### get\\_body item doc **type** func **brief** Get message body **return** message body, bytes type **static** False **C++ defination code**: ```cpp Bytes *get_body() ``` ### Protocol item doc **brief** Communicate protocol **C++ defination code**: ```cpp class Protocol ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Construct a new Protocol object **param** **buff_size**: Data queue buffer size
    **static** False **C++ defination code**: ```cpp Protocol(int buff_size 1024) ``` #### buff\\_size item doc **type** func **brief** Data queue buffer size **static** False **C++ defination code**: ```cpp int buff_size() ``` #### push\\_data item doc **type** func **brief** Add data to data queue **param** **new_data**: new data
    **return** error code, maybe err.Err.ERR_BUFF_FULL **static** False **C++ defination code**: ```cpp err::Err push_data(const Bytes *new_data) ``` #### decode item doc **type** func **brief** Decode data in data queue and return a message **param** **new_data**: new data add to data queue, if null, only decode.
    **return** decoded message, if nullptr, means no message decoded. **static** False **C++ defination code**: ```cpp protocol::MSG *decode(const Bytes *new_data nullptr) ``` #### encode\\_resp\\_ok item doc **type** func **brief** Encode response ok(success) message to buffer **param** **cmd**: CMD value
    **body**: response body, can be null
    **return** encoded data, if nullptr, means error, and the error code is err.Err **static** False **C++ defination code**: ```cpp Bytes *encode_resp_ok(uint8_t cmd, Bytes *body nullptr) ``` #### encode\\_report item doc **type** func **brief** Encode proactively report message to buffer **param** **cmd**: CMD value
    **body**: report body, can be null
    **return** encoded data, if nullptr, means error, and the error code is err.Err **static** False **C++ defination code**: ```cpp Bytes *encode_report(uint8_t cmd, Bytes *body nullptr) ``` #### encode\\_resp\\_err item doc **type** func **brief** Encode response error message to buffer **param** **cmd**: CMD value
    **code**: error code
    **msg**: error message
    **return** encoded data, if nullptr, means error, and the error code is err.Err **static** False **C++ defination code**: ```cpp Bytes *encode_resp_err(uint8_t cmd, err::Err code, const std::string &msg) ```"},"/maixpy/api/maix/tensor.html":{"title":"maix.tensor","content":" title: maix.tensor maix.tensor module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.tensor` to access this module. ## Module No module ## Enum ### DType item doc **brief** Tensor data types **values** **UINT8**:
    **INT8**:
    **UINT16**:
    **INT16**:
    **UINT32**:
    **INT32**:
    **FLOAT16**:
    **FLOAT32**:
    **FLOAT64**:
    **BOOL**:
    **DTYPE_MAX**:
    **C++ defination code**: ```cpp enum DType { UINT8 0, INT8, UINT16, INT16, UINT32, INT32, FLOAT16, FLOAT32, FLOAT64, BOOL, // STRING, // OBJECT, DTYPE_MAX } ``` ## Variable ### dtype\\_size item doc **brief** Tensor data type size in bytes **attention** It's a copy of this variable in MaixPy,
    so change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.
    So we add const for this var to avoid this mistake. **value** **{
    1, // UINT8
    1, // INT8
    2, // UINT16
    2, // INT16
    4, // UINT32
    4, // INT32
    2, // FLOAT16
    4, // FLOAT32
    8, // FLOAT64
    1, // BOOL
    // 1, // STRING
    // 1, // OBJECT
    0
    }** **readonly** True **C++ defination code**: ```cpp const std::vector dtype_size { 1, // UINT8 1, // INT8 2, // UINT16 2, // INT16 4, // UINT32 4, // INT32 2, // FLOAT16 4, // FLOAT32 8, // FLOAT64 1, // BOOL // 1, // STRING // 1, // OBJECT 0 } ``` ### dtype\\_name item doc **brief** Tensor data type name **value** **{
    \"uint8\",
    \"int8\",
    \"uint16\",
    \"int16\",
    \"uint32\",
    \"int32\",
    \"float16\",
    \"float32\",
    \"float64\",
    \"bool\",
    // \"string\",
    // \"object\",
    \"invalid\"
    }** **readonly** True **C++ defination code**: ```cpp const std::vector dtype_name { \"uint8\", \"int8\", \"uint16\", \"int16\", \"uint32\", \"int32\", \"float16\", \"float32\", \"float64\", \"bool\", // \"string\", // \"object\", \"invalid\" } ``` ## Function ## Class ### Tensor item doc **brief** Tensor class **C++ defination code**: ```cpp class Tensor ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Tensor constructor **param** **shape**: tensor shape, a int list
    **dtype**: tensor element data type, see DType of this module
    **data**: pointer to data content, can be nullptr, it will automatically alloc memory
    and detroy it when this object is destroyed
    **static** False **C++ defination code**: ```cpp Tensor(std::vector shape, tensor::DType dtype, void *data nullptr) ``` #### to\\_str item doc **type** func **brief** To string **static** False **C++ defination code**: ```cpp std::string to_str() ``` #### \\_\\_str\\_\\_ item doc **type** func **brief** To string **static** False **C++ defination code**: ```cpp std::string __str__() ``` #### shape item doc **type** func **brief** get tensor shape **return** tensor shape, a int list **static** False **C++ defination code**: ```cpp std::vector shape() ``` #### expand\\_dims item doc **type** func **brief** expand tensor shape **param** **axis**: axis to expand
    **static** False **C++ defination code**: ```cpp void expand_dims(int axis) ``` #### reshape item doc **type** func **brief** reshape tensor shape, if size not match, it will throw an err::Exception **param** **shape**: new shape
    **static** False **C++ defination code**: ```cpp void reshape(std::vector shape) ``` #### flatten item doc **type** func **brief** Flatten tensor shape to 1D **static** False **C++ defination code**: ```cpp void flatten() ``` #### dtype item doc **type** func **brief** get tensor data type **return** tensor data type, see DType of this module **static** False **C++ defination code**: ```cpp tensor::DType dtype() ``` #### argmax item doc **type** func **brief** argmax of tensor **param** **axis**: By default, the index is into the flattened array, otherwise along the specified axis., wrong axis will throw an err::Exception
    **return** argmax result, you need to delete it after use in C++. **static** False **C++ defination code**: ```cpp tensor::Tensor *argmax(int axis 0xffff) ``` #### argmax1 item doc **type** func **brief** argmax1, flattened data max index **return** argmax result, int type **static** False **C++ defination code**: ```cpp int argmax1() ``` ### Tensors item doc **brief** Tensors **C++ defination code**: ```cpp class Tensors ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Constructor of Tensors **static** False **C++ defination code**: ```cpp Tensors() ``` #### add\\_tensor item doc **type** func **brief** Add tensor **static** False **C++ defination code**: ```cpp void add_tensor(const std::string &key, tensor::Tensor *tensor, bool copy, bool auto_delete) ``` #### rm\\_tensor item doc **type** func **brief** Remove tensor **static** False **C++ defination code**: ```cpp void rm_tensor(const std::string &key) ``` #### get\\_tensor item doc **type** func **brief** Get tensor by key **static** False **C++ defination code**: ```cpp tensor::Tensor *get_tensor(const std::string &key) ``` #### \\_\\_getitem\\_\\_ item doc **type** func **brief** Operator [] **static** False **C++ defination code**: ```cpp tensor::Tensor *operator[](const std::string &key) ``` #### \\_\\_len\\_\\_ item doc **type** func **brief** Size **static** False **C++ defination code**: ```cpp size_t size() ``` #### get\\_names item doc **type** func **brief** Get names **static** False **C++ defination code**: ```cpp std::vector get_names() ``` #### tensors item doc **type** var **brief** Tensors data, dict type **static** False **readonly** False **C++ defination code**: ```cpp std::map tensors ```"},"/maixpy/api/maix/nn/F.html":{"title":"maix.nn.F","content":" title: maix.nn.F maix.nn.F module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.nn.F` to access this module. ## Module No module ## Enum ## Variable ## Function ### softmax item doc **brief** Softmax, only support 1D tensor, multi dimension tensor will be treated as 1D tensor **param** **tensor**: input tensor
    **replace**: change input tensor data directly, if not, will create a new tensor
    **throw** If arg error, will raise err.Exception error **return** output tensor, if arg replace is true, return the arg tensor's address.
    If not replace, return a new object, so In C++, you should delete it manually in this case! **C++ defination code**: ```cpp tensor::Tensor *softmax(tensor::Tensor *tensor, bool replace) ``` ## Class"},"/maixpy/api/index.html":{"title":"MaixPy API -- Maix AI machine vision platform Python API","content":" title: MaixPy API Maix AI machine vision platform Python API **You can read API doc at [MaixPy API on Sipeed Wiki](https://wiki.sipeed.com/maixpy/api/index.html)** If you want to preview API doc offline, build MaixPy, and API doc will be generated in `MaixPy/docs/api/` directory. > For MaixPy developer: This API documentation is generated from the source code, DO NOT edit this file manually! MaixPy API documentation, modules: module brief [maix.err](./maix/err.html) maix.err module [maix.tensor](./maix/tensor.html) maix.tensor module [maix.image](./maix/image.html) maix.image module, image related definition and functions [maix.camera](./maix/camera.html) maix.camera module, access camera device and get image from it [maix.display](./maix/display.html) maix.display module, control display device and show image on it [maix.comm](./maix/comm.html) maix.comm module [maix.thread](./maix/thread.html) maix.thread module [maix.fs](./maix/fs.html) maix.fs module [maix.sys](./maix/sys.html) maix.sys module [maix.time](./maix/time.html) maix.time module [maix.i18n](./maix/i18n.html) maix.i18n module [maix.protocol](./maix/protocol.html) maix.protocol module [maix.example](./maix/example.html) example module, this will be maix.example module in MaixPy, maix::example namespace in MaixCDK [maix.app](./maix/app.html) maix.app module [maix.nn](./maix/nn.html) maix.nn module [maix.peripheral](./maix/peripheral.html) Chip's peripheral driver [maix.touchscreen](./maix/touchscreen.html) maix.touchscreen module "},"/maixpy/api/maix/peripheral.html":{"title":"maix.peripheral","content":" title: maix.peripheral Chip's peripheral driver > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral` to access this module. ## Module module brief [timer](./peripheral/timer.html) maix.peripheral.timer module [wdt](./peripheral/wdt.html) maix.peripheral.wdt module [pwm](./peripheral/pwm.html) maix.peripheral.pwm module [gpio](./peripheral/gpio.html) maix.peripheral.gpio module [spi](./peripheral/spi.html) maix.peripheral.spi module [uart](./peripheral/uart.html) maix uart peripheral driver [key](./peripheral/key.html) maix.peripheral.key module [i2c](./peripheral/i2c.html) maix.peripheral.i2c module [adc](./peripheral/adc.html) maix.peripheral.adc module ## Enum ## Variable ## Function ## Class"},"/maixpy/api/maix/app.html":{"title":"maix.app","content":" title: maix.app maix.app module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.app` to access this module. ## Module No module ## Enum ## Variable ## Function ### app\\_id item doc **brief** Get current APP ID. **return** APP ID. **C++ defination code**: ```cpp string app_id() ``` ### set\\_app\\_id item doc **brief** Set current APP ID. **param** **app_id**: APP ID.
    **C++ defination code**: ```cpp string set_app_id(const string &app_id) ``` ### get\\_apps\\_info\\_path item doc **brief** Get APP info file path. **C++ defination code**: ```cpp string get_apps_info_path() ``` ### get\\_apps\\_info item doc **brief** Get APP info list. **param** **ignore_launcher**: if true, ignore launcher APP. default false.
    **ignore_app_store**: if true, ignore app store APP. default false.
    **return** APP info list. APP_Info object list. **C++ defination code**: ```cpp vector &get_apps_info(bool ignore_launcher false, bool ignore_app_store false) ``` ### get\\_app\\_data\\_path item doc **brief** Get APP info, APP can store private data in this directory. **return** APP data path \"./data\", just return the data folder in current path because APP executed in app install path or project path.
    So, you must execute your program in you project path to use the project/data folder when you debug your APP. **C++ defination code**: ```cpp string get_app_data_path() ``` ### get\\_app\\_path item doc **brief** Get APP path. **param** **app_id**: APP ID, if empty, return current APP path, else return the APP path by app_id.
    **return** APP path, just return the current path because APP executed in app install path or project path.
    So, you must execute your program in you project path to use the project/data folder when you debug your APP. **C++ defination code**: ```cpp string get_app_path(const string &app_id \"\") ``` ### get\\_tmp\\_path item doc **brief** Get global temporary data path, APPs can use this path as temporary data directory. **return** temporary data path. **C++ defination code**: ```cpp string get_tmp_path() ``` ### get\\_share\\_path item doc **brief** Get data path of share, shared data like picture and video will put in this directory **return** share data path. **C++ defination code**: ```cpp string get_share_path() ``` ### get\\_picture\\_path item doc **brief** Get picture path of share, shared picture will put in this directory **return** share picture path. **C++ defination code**: ```cpp string get_picture_path() ``` ### get\\_video\\_path item doc **brief** Get video path of share, shared video will put in this directory **return** share video path. **C++ defination code**: ```cpp string get_video_path() ``` ### get\\_font\\_path item doc **brief** Get font path of share, shared font will put in this directory **return** share font path. **C++ defination code**: ```cpp string get_font_path() ``` ### get\\_icon\\_path item doc **brief** Get icon path of share, shared icon will put in this directory **return** share icon path. **C++ defination code**: ```cpp string get_icon_path() ``` ### get\\_sys\\_config\\_kv item doc **brief** Get system config item value. **param** **item**: name of setting item, e.g. wifi, language. more see settings APP.
    **key**: config key, e.g. for wifi, key can be ssid, for language, key can be locale.
    **value**: default value, if not found, return this value.
    **from_cache**: if true, read from cache, if false, read from file.
    **return** config value, always string type, if not found, return empty string. **C++ defination code**: ```cpp string get_sys_config_kv(const string &item, const string &key, const string &value \"\", bool from_cache true) ``` ### get\\_app\\_config\\_kv item doc **brief** Get APP config item value. **param** **item**: name of setting item, e.g. user_info
    **key**: config key, e.g. for user_info, key can be name, age etc.
    **value**: default value, if not found, return this value.
    **from_cache**: if true, read from cache, if false, read from file.
    **return** config value, always string type, if not found, return empty string. **C++ defination code**: ```cpp string get_app_config_kv(const string &item, const string &key, const string &value \"\", bool from_cache true) ``` ### set\\_app\\_config\\_kv item doc **brief** Set APP config item value. **param** **item**: name of setting item, e.g. user_info
    **key**: config key, e.g. for user_info, key can be name, age etc.
    **value**: config value, always string type.
    **write_file**: if true, write to file, if false, just write to cache.
    **return** err::Err **C++ defination code**: ```cpp err::Err set_app_config_kv(const string &item, const string &key, const string &value, bool write_file true) ``` ### get\\_app\\_config\\_path item doc **brief** Get APP config path, ini format, so you can use your own ini parser to parse it like `configparser` in Python.\\nAll APP config info is recommended to store in this file. **return** APP config path(ini format). **C++ defination code**: ```cpp string get_app_config_path() ``` ### set\\_exit\\_msg item doc **brief** Set APP exit code and exit message.\\nIf code ! 0, the launcher will show a dialog to user, and display the msg. **param** **code**: exit code, 0 means success, other means error, if code is 0, do nothing.
    **msg**: exit message, if code is 0, msg is not used.
    **return** exit code, the same as arg @code. **C++ defination code**: ```cpp err::Err set_exit_msg(err::Err code, const string &msg) ``` ### get\\_exit\\_msg item doc **brief** Get APP exit code and exit message. **param** **cache**: if true, read from cache, if false, read from file. default false.
    **return** exit return app_id, exit code and exit message. **C++ defination code**: ```cpp tuple get_exit_msg(bool cache false) ``` ### have\\_exit\\_msg item doc **brief** Check if have exit msg **param** **cache**: if true, just check from cache, if false, check from file. default false.
    **return** true if have exit msg, false if not. **C++ defination code**: ```cpp bool have_exit_msg(bool cache false) ``` ### switch\\_app item doc **brief** Exit this APP and start another APP(by launcher).\\nCall this API will call set_exit_flag(true), you should check app::need_exit() in your code.\\nAnd exit this APP if app::need_exit() return true. **param** **app_id**: APP ID which will be started. app_id and idx must have one is valid.
    **idx**: APP index. app_id and idx must have one is valid.
    **C++ defination code**: ```cpp void switch_app(const string &app_id, int idx 1) ``` ### need\\_exit item doc **brief** Shoule this APP exit? **return** true if this APP should exit, false if not. **attention** This API is a function, not a variable. **C++ defination code**: ```cpp bool need_exit() ``` ### running item doc **brief** App should running? The same as !app::need_exit() (not app::need_exit() in MaixPy). **return** true if this APP should running, false if not. **attention** This API is a function, not a variable. **C++ defination code**: ```cpp bool running() ``` ### set\\_exit\\_flag item doc **brief** Set exit flag. You can get exit flag by app.need_exit(). **param** **exit**: true if this APP should exit, false if not.
    **C++ defination code**: ```cpp void set_exit_flag(bool exit) ``` ## Class ### Version item doc **brief** APP version **C++ defination code**: ```cpp class Version ``` #### \\_\\_str\\_\\_ item doc **type** func **brief** Convert to string, e.g. 1.0.0 **static** False **C++ defination code**: ```cpp std::string __str__() ``` #### from\\_str item doc **type** func **brief** Convert from string, e.g. \\\"1.0.0\\\" **static** True **C++ defination code**: ```cpp static app::Version from_str(const string &version_str) ``` ### APP\\_Info item doc **brief** APP info **C++ defination code**: ```cpp class APP_Info ``` #### id item doc **type** var **brief** APP id **static** False **readonly** False **C++ defination code**: ```cpp string id ``` #### name item doc **type** var **brief** APP name **static** False **readonly** False **C++ defination code**: ```cpp string name ``` #### icon item doc **type** var **brief** APP icon **static** False **readonly** False **C++ defination code**: ```cpp string icon ``` #### version item doc **type** var **brief** APP version **static** False **readonly** False **C++ defination code**: ```cpp Version version ``` #### exec item doc **type** var **brief** APP exec **static** False **readonly** False **C++ defination code**: ```cpp string exec ``` #### author item doc **type** var **brief** APP author **static** False **readonly** False **C++ defination code**: ```cpp string author ``` #### desc item doc **type** var **brief** APP desc **static** False **readonly** False **C++ defination code**: ```cpp string desc ``` #### names item doc **type** var **brief** APP names **static** False **readonly** False **C++ defination code**: ```cpp map names ``` #### descs item doc **type** var **brief** APP descs **static** False **readonly** False **C++ defination code**: ```cpp map descs ```"},"/maixpy/api/maix/i18n.html":{"title":"maix.i18n","content":" title: maix.i18n maix.i18n module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.i18n` to access this module. ## Module No module ## Enum ## Variable ### locales item doc **brief** i18n locales list **value** **{
    \"en\",
    \"zh\",
    \"zh tw\",
    \"ja\"
    }** **readonly** False **C++ defination code**: ```cpp static std::vector locales { \"en\", \"zh\", \"zh tw\", \"ja\" } ``` ### names item doc **brief** i18n language names list **value** **{
    \"English\",
    \"简体中文\",
    \"繁體中文\",
    \"日本語\"
    }** **readonly** True **C++ defination code**: ```cpp const static std::vector names { \"English\", \"简体中文\", \"繁體中文\", \"日本語\" } ``` ## Function ### get\\_locale item doc **brief** Get system config of locale. **return** language locale, e.g. en, zh, zh_CN, zh_TW, etc. **C++ defination code**: ```cpp string get_locale() ``` ### get\\_language\\_name item doc **brief** Get system config of language name. **return** language name, e.g. English, 简体中文, 繁體中文, etc. **C++ defination code**: ```cpp string get_language_name() ``` ## Class ### Trans item doc **brief** Translate helper class. **C++ defination code**: ```cpp class Trans ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Translate helper class constructor.\\nBy default locale is get by `i18n.get_locale()` function which set by system settings.\\nBut you can also manually set by `set_locale` function temporarily. **param** **locales_dict**: locales dict, e.g. {\"zh\": {\"Confirm\": \"确认\", \"OK\": \"好的\"}, \"en\": {\"Confirm\": \"Confirm\", \"OK\": \"OK\"}}
    **static** False **C++ defination code**: ```cpp Trans(const std::map> &locales_dict) ``` #### tr item doc **type** func **brief** Translate string by key. **param** **key**: string key, e.g. \"Confirm\"
    **locale**: locale name, if not assign, use default locale set by system settings or set_locale function.
    **return** translated string, if find translation, return it, or return key, e.g. \"确认\", \"Confirm\", etc. **static** False **C++ defination code**: ```cpp string tr(const string &key, const string locale \"\") ``` #### set\\_locale item doc **type** func **brief** Set locale temporarily, will not affect system settings. **param** **locale**: locale name, e.g. \"zh\", \"en\", etc. @see maix.i18n.locales
    **static** False **C++ defination code**: ```cpp void set_locale(const string &locale) ``` #### get\\_locale item doc **type** func **brief** Get current locale. **return** locale name, e.g. \"zh\", \"en\", etc. @see maix.i18n.locales **static** False **C++ defination code**: ```cpp string get_locale() ```"},"/maixpy/api/maix/example.html":{"title":"maix.example","content":" title: maix.example example module, this will be maix.example module in MaixPy, maix::example namespace in MaixCDK > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.example` to access this module. ## Module No module ## Enum ### Kind item doc **brief** Example enum **values** **KIND_NONE**: Kind none, value always 0, other enum value will auto increase
    **KIND_DOG**: Kind dog
    **KIND_CAT**: Kind cat, value is auto generated according to KING_DOG
    **KIND_BIRD**:
    **KIND_MAX**: Max Kind quantity
    You can get max Kind value by KIND_MAX 1
    **C++ defination code**: ```cpp enum Kind { KIND_NONE 0, /** Kind none, value always 0, other enum value will auto increase */ KIND_DOG, /** Kind dog*/ KIND_CAT, // Kind cat, value is auto generated according to KING_DOG KIND_BIRD, KIND_MAX /* Max Kind quantity, You can get max Kind value by KIND_MAX 1 */ } ``` ## Variable ### var1 item doc **brief** Example module variable **attention** It's a copy of this variable in MaixPy,
    so change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.
    So we add const for this var to avoid this mistake. **value** **\"Sipeed\"** **readonly** True **C++ defination code**: ```cpp const std::string var1 \"Sipeed\" ``` ### list\\_var item doc **brief** Tensor data type size in bytes **attention** **1**. DO NOT use C/C++ array directly for python API, the python wrapper not support it.
    Use std::vector instead.
    **2**. It's a copy of this variable in MaixPy,
    so change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.
    So we add const for this var to avoid this mistake.
    **value** **{
    0, 1, 2, 3, 4, 5, 6, 7, 8, 9}** **readonly** True **C++ defination code**: ```cpp const std::vector list_var { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ``` ### test\\_var item doc **brief** Example module variable test_var **attention** It's a copy of this variable in MaixPy, so if you change it in C++, it will not take effect in MaixPy.
    And change it in MaixPy will not take effect in C++ as well !!!
    If you want to use vars shared between C++ and MaixPy, you can create a class and use its member. **value** **100** **readonly** False **C++ defination code**: ```cpp int test_var 100 ``` ## Function ### hello item doc **brief** say hello to someone **param** **name**: direction [in], name of someone, string type
    **return** string type, content is hello + name **C++ defination code**: ```cpp std::string hello(std::string name) ``` ### change\\_arg\\_name item doc **brief** Change arg name example **param** **e**: Example object
    **return** same as arg **C++ defination code**: ```cpp example::Example *change_arg_name(example::Example *e) ``` ### change\\_arg\\_name2 item doc **brief** Change arg name example **param** **e**: Example object
    **C++ defination code**: ```cpp void change_arg_name2(example::Example &e) ``` ## Class ### Test item doc **brief** Test class **C++ defination code**: ```cpp class Test ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Test constructor **static** False **C++ defination code**: ```cpp Test() ``` ### Example item doc **brief** Example class\\nthis class will be export to MaixPy as maix.example.Example **C++ defination code**: ```cpp class Example ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Example constructor\\nthis constructor will be export to MaixPy as maix.example.Example.__init__ **param** **name**: direction [in], name of Example, string type
    **age**: direction [in], age of Example, int type, default is 18, value range is [0, 100]
    **attention** to make auto generate code work, param Kind should with full namespace name `example::Kind` instead of `Kind`,
    namespace `maix` can be ignored. **static** False **C++ defination code**: ```cpp Example(std::string &name, int age 18, example::Kind pet example::KIND_NONE) ``` #### get\\_name item doc **type** func **brief** get name of Example\\nyou can also get name by property `name`. **return** name of Example, string type **static** False **C++ defination code**: ```cpp std::string get_name() ``` #### get\\_age item doc **type** func **brief** get age of Example **return** age of Example, int type, value range is [0, 100] **static** False **C++ defination code**: ```cpp int get_age() ``` #### set\\_name item doc **type** func **brief** set name of Example **param** **name**: name of Example, string type
    **static** False **C++ defination code**: ```cpp void set_name(std::string name) ``` #### set\\_age item doc **type** func **brief** set age of Example **param** **age**: age of Example, int type, value range is [0, 100]
    **static** False **C++ defination code**: ```cpp void set_age(int age) ``` #### set\\_pet item doc **type** func **brief** Example enum member **attention** **static** False **C++ defination code**: ```cpp void set_pet(example::Kind pet) ``` #### get\\_pet item doc **type** func **brief** Example enum member **static** False **C++ defination code**: ```cpp example::Kind get_pet() ``` #### get\\_list item doc **type** func **brief** get list example **param** **in**: direction [in], input list, items are int type.
    In MaixPy, you can pass list or tuple to this API
    **return** list, items are int type, content is [1, 2, 3] + in. Alloc item, del in MaixPy will auto free memory. **static** False **C++ defination code**: ```cpp std::vector *get_list(std::vector in) ``` #### get\\_dict item doc **type** func **brief** Example dict API **param** **in**: direction [in], input dict, key is string type, value is int type.
    In MaixPy, you can pass `dict` to this API
    **return** dict, key is string type, value is int type, content is {\"a\": 1} + in
    In MaixPy, return type is `dict` object **static** False **C++ defination code**: ```cpp std::map get_dict(std::map &in) ``` #### hello item doc **type** func **brief** say hello to someone **param** **name**: name of someone, string type
    **return** string type, content is Example::hello_str + name **static** True **C++ defination code**: ```cpp static std::string hello(std::string name) ``` #### hello\\_bytes item doc **type** func **brief** param is bytes example **param** **bytes**: bytes type param
    **return** bytes type, return value is bytes changed value **static** True **C++ defination code**: ```cpp static Bytes *hello_bytes(Bytes &bytes) ``` #### callback item doc **type** func **brief** Callback example **param** **cb**: callback function, param is two int type, return is int type
    **return** int type, return value is cb(1, 2) **static** True **C++ defination code**: ```cpp static int callback(std::function cb) ``` #### hello\\_dict item doc **type** func **brief** Dict param example **param** **dict**: dict type param, key is string type, value is int type
    **static** True **C++ defination code**: ```cpp static std::map *hello_dict(std::map *dict) ``` #### name item doc **type** var **brief** name member of Example **static** False **readonly** False **C++ defination code**: ```cpp std::string name ``` #### age item doc **type** var **brief** age member of Example, value range should be [0, 100] **static** False **readonly** False **C++ defination code**: ```cpp int age ``` #### hello\\_str item doc **type** var **brief** hello_str member of Example, default value is \\\"hello \\\" **static** True **readonly** False **C++ defination code**: ```cpp static std::string hello_str ``` #### var1 item doc **type** var **brief** Example module readonly variable **static** False **readonly** True **C++ defination code**: ```cpp const std::string var1 \"Example.var1\" ``` #### var2 item doc **type** var **brief** Example module readonly variable **static** False **readonly** True **C++ defination code**: ```cpp std::string var2 \"Example.var2\" ``` #### dict\\_test item doc **type** func **brief** dict_test, return dict type, and element is pointer type(alloc in C++).\\nHere when the returned Tensor object will auto delete by Python GC. **static** True **C++ defination code**: ```cpp static std::map *dict_test() ```"},"/maixpy/api/maix/thread.html":{"title":"maix.thread","content":" title: maix.thread maix.thread module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.thread` to access this module. ## Module No module ## Enum ## Variable ## Function ## Class ### Thread item doc **brief** thread class **C++ defination code**: ```cpp class Thread ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** create thread **param** **func**: direction [in], thread function, one `args` parameter, void* type, no return value
    **args**: direction [in], thread function parameter
    **static** False **C++ defination code**: ```cpp Thread(std::function func, void *args nullptr) ``` #### join item doc **type** func **brief** wait thread exit **static** False **C++ defination code**: ```cpp void join() ``` #### detach item doc **type** func **brief** detach thread **static** False **C++ defination code**: ```cpp void detach() ``` #### joinable item doc **type** func **brief** Check if thread is joinable **return** true if thread is joinable **static** False **C++ defination code**: ```cpp bool joinable() ```"},"/maixpy/api/maix/err.html":{"title":"maix.err","content":" title: maix.err maix.err module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.err` to access this module. ## Module No module ## Enum ### Err item doc **brief** Maix Error code **values** **ERR_NONE**: No error
    **ERR_ARGS**: Invalid arguments
    **ERR_NO_MEM**: No memory
    **ERR_NOT_IMPL**: Not implemented
    **ERR_NOT_READY**: Not ready
    **ERR_NOT_INIT**: Not initialized
    **ERR_NOT_OPEN**: Not opened
    **ERR_NOT_PERMIT**: Not permitted
    **ERR_REOPEN**: Re open
    **ERR_BUSY**: Busy
    **ERR_READ**: Read error
    **ERR_WRITE**: Write error
    **ERR_TIMEOUT**: Timeout
    **ERR_RUNTIME**: Runtime error
    **ERR_IO**: IO error
    **ERR_NOT_FOUND**: Not found
    **ERR_ALREAY_EXIST**: Already exist
    **ERR_BUFF_FULL**: Buffer full
    **ERR_BUFF_EMPTY**: Buffer empty
    **ERR_CANCEL**: Cancel
    **ERR_OVERFLOW**: Overflow
    **ERR_MAX**:
    **C++ defination code**: ```cpp enum Err { // !!! fixed error code, DO NOT change number already defined, only append new error code ERR_NONE 0, // No error ERR_ARGS , // Invalid arguments ERR_NO_MEM , // No memory ERR_NOT_IMPL , // Not implemented ERR_NOT_READY , // Not ready ERR_NOT_INIT , // Not initialized ERR_NOT_OPEN , // Not opened ERR_NOT_PERMIT , // Not permitted ERR_REOPEN , // Re open ERR_BUSY , // Busy ERR_READ , // Read error ERR_WRITE , // Write error ERR_TIMEOUT , // Timeout ERR_RUNTIME , // Runtime error ERR_IO , // IO error ERR_NOT_FOUND , // Not found ERR_ALREAY_EXIST , // Already exist ERR_BUFF_FULL , // Buffer full ERR_BUFF_EMPTY , // Buffer empty ERR_CANCEL , // Cancel ERR_OVERFLOW , // Overflow ERR_MAX, } ``` ## Variable ## Function ### to\\_str item doc **brief** Error code to string **param** **e**: direction [in], error code, err::Err type
    **return** error string **C++ defination code**: ```cpp std::string to_str(err::Err e) ``` ### get\\_error item doc **brief** get last error string **return** error string **C++ defination code**: ```cpp std::string& get_error() ``` ### set\\_error item doc **brief** set last error string **param** **str**: direction [in], error string
    **C++ defination code**: ```cpp void set_error(const std::string &str) ``` ### check\\_raise item doc **brief** Check error code, if not ERR_NONE, raise err.Exception **param** **e**: direction [in], error code, err::Err type
    **msg**: direction [in], error message
    **C++ defination code**: ```cpp void check_raise(err::Err e, const std::string &msg \"\") ``` ### check\\_bool\\_raise item doc **brief** Check condition, if false, raise err.Exception **param** **ok**: direction [in], condition, if true, do nothing, if false, raise err.Exception
    **msg**: direction [in], error message
    **C++ defination code**: ```cpp void check_bool_raise(bool ok, const std::string &msg \"\") ``` ### check\\_null\\_raise item doc **brief** Check NULL pointer, if NULL, raise exception **param** **ptr**: direction [in], pointer
    **msg**: direction [in], error message
    **C++ defination code**: ```cpp void check_null_raise(void *ptr, const std::string &msg \"\") ``` ## Class ### Exception item doc **brief** Maix Exception **C++ defination code**: ```cpp class Exception : public std::exception ```"},"/maixpy/api/maix/comm.html":{"title":"maix.comm","content":" title: maix.comm maix.comm module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.comm` to access this module. ## Module No module ## Enum ## Variable ## Function ## Class ### CommProtocol item doc **brief** Class for communication protocol **C++ defination code**: ```cpp class CommProtocol ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Construct a new CommProtocol object **param** **buff_size**: buffer size, default to 1024 bytes
    **static** False **C++ defination code**: ```cpp CommProtocol(int buff_size 1024) ``` #### get\\_msg item doc **type** func **brief** Read data to buffer, and try to decode it as maix.protocol.MSG object **return** decoded data, if nullptr, means no valid frame found.
    Attentioin, delete it after use in C++. **static** False **C++ defination code**: ```cpp protocol::MSG *get_msg() ``` #### resp\\_ok item doc **type** func **brief** Send response ok(success) message **param** **cmd**: CMD value
    **body**: response body, can be null
    **return** encoded data, if nullptr, means error, and the error code is err.Err.
    Attentioin, delete it after use in C++. **static** False **C++ defination code**: ```cpp err::Err resp_ok(uint8_t cmd, Bytes *body nullptr) ``` #### report item doc **type** func **brief** Send report message **param** **cmd**: CMD value
    **body**: report body, can be null
    **return** encoded data, if nullptr, means error, and the error code is err.Err.
    Attentioin, delete it after use in C++. **static** False **C++ defination code**: ```cpp err::Err report(uint8_t cmd, Bytes *body nullptr) ``` #### resp\\_err item doc **type** func **brief** Encode response error message to buffer **param** **cmd**: CMD value
    **code**: error code
    **msg**: error message
    **return** encoded data, if nullptr, means error, and the error code is err.Err.
    Attentioin, delete it after use in C++. **static** False **C++ defination code**: ```cpp err::Err resp_err(uint8_t cmd, err::Err code, const std::string &msg) ```"},"/maixpy/api/maix/sys.html":{"title":"maix.sys","content":" title: maix.sys maix.sys module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.sys` to access this module. ## Module No module ## Enum ## Variable ## Function ### os\\_version() item doc **brief** Get system version **return** version string, e.g. \"2024.4.1 13af4b\" **C++ defination code**: ```cpp std::string os_version() ``` ### device\\_name() item doc **brief** Get device name **return** device name, e.g. \"MaixCAM\" **C++ defination code**: ```cpp std::string device_name() ``` ### host\\_name() item doc **brief** Get host name **return** host name, e.g. \"maixcam 2f9f\" **C++ defination code**: ```cpp std::string host_name() ``` ### host\\_domain() item doc **brief** Get host domain **return** host domain, e.g. \"maixcam 2f9f.local\" **C++ defination code**: ```cpp std::string host_domain() ``` ### ip\\_address() item doc **brief** Get ip address **return** ip address, dict type, e.g. {\"eth0\": \"192.168.0.195\", \"wlan0\": \"192.168.0.123\", \"usb0\": \"10.47.159.1\"} **C++ defination code**: ```cpp std::map ip_address() ``` ### mac\\_address() item doc **brief** Get mac address **return** mac address, dict type, e.g. {\"eth0\": \"00:0c:29:2f:9f:00\", \"wlan0\": \"00:0c:29:2f:9f:01\", \"usb0\": \"00:0c:29:2f:9f:02\"} **C++ defination code**: ```cpp std::map mac_address() ``` ### device\\_key() item doc **brief** Get device key, can be unique id of device **return** device key, 32 bytes hex string, e.g. \"1234567890abcdef1234567890abcdef\" **C++ defination code**: ```cpp std::string device_key() ``` ### memory\\_info() item doc **brief** Get memory info **return** memory info, dict type, e.g. {\"total\": 1024, \"used\": 512, \"hw_total\": 256*1024*1024}
    total: total memory size in Byte.
    used: used memory size in Byte.
    hw_total: total memory size in Byte of hardware, the total < hw_total,
    OS kernel may reserve some memory for some hardware like camera, npu, display etc. **C++ defination code**: ```cpp std::map memory_info() ``` ### bytes\\_to\\_human(1234) item doc **brief** Bytes to human readable string **param** **bytes:**: bytes size,e.g. 1234B 1234/1024 1.205 KB
    **precision:**: decimal precision, default 2
    **base:**: base number, default 1024
    **unit:**: unit string, e.g. \"B\"
    **sep:**: separator string, e.g. \" \"
    **return** human readable string, e.g. \"1.21 KB\" **C++ defination code**: ```cpp std::string bytes_to_human(unsigned long long bytes, int precision 2, int base 1024, const std::string &unit \"B\", const std::string &sep \" \") ``` ### cpu\\_freq() item doc **brief** Get CPU frequency **return** CPU frequency, dict type, e.g. {\"cpu0\": 1000000000, \"cpu1\": 1000000000} **C++ defination code**: ```cpp std::map cpu_freq() ``` ### cpu\\_temp() item doc **brief** Get CPU temperature **return** CPU temperature, unit dgree, dict type, e.g. {\"cpu\": 50.0, \"cpu0\": 50, \"cpu1\": 50} **C++ defination code**: ```cpp std::map cpu_temp() ``` ### cpu\\_usage() item doc **brief** Get CPU usage **return** CPU usage, dict type, e.g. {\"cpu\": 50.0, \"cpu0\": 50, \"cpu1\": 50} **C++ defination code**: ```cpp std::map cpu_usage() ``` ### npu\\_freq() item doc **brief** Get NPU frequency **return** NPU frequency, dict type, e.g. {\"npu0\": 500000000} **C++ defination code**: ```cpp std::map npu_freq() ``` ### disk\\_usage() item doc **brief** Get disk usage **param** **path:**: disk path, default \"/\"
    **return** disk usage, dict type, e.g. {\"total\": 1024, \"used\": 512} **C++ defination code**: ```cpp std::map disk_usage(const std::string &path \"/\") ``` ### disk\\_partitions() item doc **brief** Get disk partition and mount point info **param** **only_disk**: only return real disk, tempfs sysfs etc. not return, default true.
    **return** disk partition and mount point info, list type, e.g. [{\"device\": \"/dev/mmcblk0p1\", \"mountpoint\": \"/mnt/sdcard\", \"fstype\": \"vfat\"}] **C++ defination code**: ```cpp std::vector> disk_partitions(bool only_disk true) ``` ## Class"},"/maixpy/api/maix/display.html":{"title":"maix.display","content":" title: maix.display maix.display module, control display device and show image on it > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.display` to access this module. ## Module No module ## Enum ## Variable ## Function ### send\\_to\\_maixvision item doc **brief** Send image to MaixVision work station if connected.\\nIf you want to debug your program an don't want to initialize display, use this method. **param** **img**: image to send, image.Image object
    **C++ defination code**: ```cpp void send_to_maixvision(image::Image &img) ``` ## Class ### Display item doc **brief** Display class **C++ defination code**: ```cpp class Display ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Construct a new Display object **param** **width**: display width, by default(value is 1) means auto detect,
    if width > max device supported width, will auto set to max device supported width
    **height**: display height, by default(value is 1) means auto detect,
    if height > max device supported height, will auto set to max device supported height
    **device**: display device name, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device
    **open**: If true, display will automatically call open() after creation. default is true.
    **static** False **C++ defination code**: ```cpp Display(int width 1, int height 1, image::Format format image::FMT_RGB888, const char *device nullptr, bool open true) ``` #### width item doc **type** func **brief** Get display width **return** width **static** False **C++ defination code**: ```cpp int width() ``` #### height item doc **type** func **brief** Get display height **param** **ch**: channel to get, by default(value is 0) means the first channel
    **return** height **static** False **C++ defination code**: ```cpp int height() ``` #### size item doc **type** func **brief** Get display size **param** **ch**: channel to get, by default(value is 0) means the first channel
    **return** size A list type in MaixPy, [width, height] **static** False **C++ defination code**: ```cpp std::vector size() ``` #### format item doc **type** func **brief** Get display format **return** format **static** False **C++ defination code**: ```cpp image::Format format() ``` #### open item doc **type** func **brief** open display device, if already opened, will return err.ERR_NONE. **param** **width**: display width, default is 1, means auto, mostly means max width of display support
    **height**: display height, default is 1, means auto, mostly means max height of display support
    **format**: display output format, default is RGB888
    **return** error code **static** False **C++ defination code**: ```cpp err::Err open(int width 1, int height 1, image::Format format image::FMT_INVALID) ``` #### close item doc **type** func **brief** close display device **return** error code **static** False **C++ defination code**: ```cpp err::Err close() ``` #### add\\_channel item doc **type** func **brief** Add a new channel and return a new Display object, you can use close() to close this channel. **param** **width**: display width, default is 1, means auto, mostly means max width of display support
    **height**: display height, default is 1, means auto, mostly means max height of display support
    **format**: display output format, default is RGB888
    **open**: If true, display will automatically call open() after creation. default is true.
    **return** new Display object **static** False **C++ defination code**: ```cpp display::Display *add_channel(int width 1, int height 1, image::Format format image::FMT_RGB888, bool open true) ``` #### is\\_opened item doc **type** func **brief** check display device is opened or not **return** opened or not, bool type **static** False **C++ defination code**: ```cpp bool is_opened() ``` #### is\\_closed item doc **type** func **brief** check display device is closed or not **return** closed or not, bool type **static** False **C++ defination code**: ```cpp bool is_closed() ``` #### show item doc **type** func **brief** show image on display device, and will also send to MaixVision work station if connected. **param** **img**: image to show, image.Image object,
    if the size of image smaller than display size, will show in the center of display;
    if the size of image bigger than display size, will auto resize to display size and keep ratio, fill blank with black color.
    **fit**: image in screen fit mode, by default(value is image.FIT_CONTAIN), @see image.Fit for more details
    e.g. image.FIT_CONTAIN means resize image to fit display size and keep ratio, fill blank with black color.
    **return** error code **static** False **C++ defination code**: ```cpp err::Err show(image::Image &img, image::Fit fit image::FIT_CONTAIN) ``` #### device item doc **type** func **brief** Get display device path **return** display device path **static** False **C++ defination code**: ```cpp std::string device() ```"},"/maixpy/api/maix/peripheral/timer.html":{"title":"maix.peripheral.timer","content":" title: maix.peripheral.timer maix.peripheral.timer module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.timer` to access this module. ## Module No module ## Enum ## Variable ## Function ## Class ### TIMER item doc **brief** Peripheral timer class **C++ defination code**: ```cpp class TIMER ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** TIMER constructor **static** False **C++ defination code**: ```cpp TIMER() ```"},"/maixpy/api/maix/peripheral/i2c.html":{"title":"maix.peripheral.i2c","content":" title: maix.peripheral.i2c maix.peripheral.i2c module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.i2c` to access this module. ## Module No module ## Enum ## Variable ### SEVEN\\_BIT item doc **brief** 7 bit address mode **value** **0x1** **readonly** True **C++ defination code**: ```cpp const int SEVEN_BIT 0x1 ``` ### TEN\\_BIT item doc **brief** 10 bit address mode **value** **0x2** **readonly** True **C++ defination code**: ```cpp const int TEN_BIT 0x2 ``` ### MASTER item doc **brief** master mode **value** **0x4** **readonly** True **C++ defination code**: ```cpp const int MASTER 0x4 ``` ### SLAVE item doc **brief** slave mode **value** **0x8** **readonly** True **C++ defination code**: ```cpp const int SLAVE 0x8 ``` ### STANDARD\\_SPEED item doc **brief** standard speed mode **value** **0x10** **readonly** True **C++ defination code**: ```cpp const int STANDARD_SPEED 0x10 ``` ### FAST\\_SPEED item doc **brief** fast speed mode **value** **0x20** **readonly** True **C++ defination code**: ```cpp const int FAST_SPEED 0x20 ``` ## Function ## Class ### I2C item doc **brief** Peripheral i2c class **C++ defination code**: ```cpp class I2C ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** I2C Device constructor\\nthis constructor will be export to MaixPy as _maix.example.Example.__init__ **param** **id**: direction [in], i2c index, int type
    **scl**: direction [in], sck pin of i2c, int type
    **sda**: direction [in], sda pin of i2c, int type
    **freq**: direction [in], i2c clock, int type
    option:
    in the i2c.STANDARD_SPEED mode, range is [0, 100000]
    in the i2c.FAST_SPEED mode, range is [0, 400000]
    default clock is 1, means use max clock
    **mode**: direction [in], mode of i2c, int type.
    option:
    mode i2c.MASTER, means master mode
    mode i2c.SLAVE, means slave mode
    **bit**: direction [in], address length of i2c, int type.
    option:
    bit i2c.SEVEN_BIT, means 7 bit address mode
    bit i2c.TEN_BIT, means 10 bit address mode
    **speed_mode**: direction [in], speed mode of i2c, int type.
    option:
    speed_mode i2c.STANDARD_SPEED, means standard speed mode, up to 100kbit/s
    speed_mode i2c.FAST_SPEED, means fast speed mode, up to 400kbit/s
    **static** False **C++ defination code**: ```cpp I2C(int id, int scl, int sda, int freq 1, int mode 1, int bit 1, int speed_mode 1) ``` #### writeto item doc **type** func **brief** write data to i2c slave **param** **addr**: direction [in], i2c slave address, int type
    **data**: direction [in], data to write, vector type.
    Note: The member range of the list is [0,255]
    **return** if success, return 0, else return 1 **static** False **C++ defination code**: ```cpp int writeto(int addr, std::vector data) ``` #### readfrom item doc **type** func **brief** read data from i2c slave **param** **addr**: direction [in], i2c slave address, int type
    **len**: direction [in], data length to read, int type
    **return** the list of data read from i2c slave, vector type **static** False **C++ defination code**: ```cpp std::vector readfrom(int addr, int len) ``` #### scan item doc **type** func **brief** scan all i2c address **return** the list of i2c address, vector type **static** False **C++ defination code**: ```cpp std::vector scan() ``` #### writeto\\_mem item doc **type** func **brief** write data to i2c slave **param** **addr**: direction [in], i2c slave address, int type
    **start_addr**: direction [in], start address of i2c slave, int type
    **data**: direction [in], data to write, vector type.
    Note: The member range of the list is [0,255]
    **return** if success, return 0, else return 1 **static** False **C++ defination code**: ```cpp int writeto_mem(int addr, int start_addr, std::vector data) ``` #### readfrom\\_mem item doc **type** func **brief** read data from i2c slave **param** **addr**: direction [in], i2c slave address, int type
    **start_addr**: direction [in], start address of i2c slave, int type
    **len**: direction [in], data length to read, int type
    **return** the list of data read from i2c slave, vector type **static** False **C++ defination code**: ```cpp std::vector readfrom_mem(int addr, int start_addr, int len) ```"},"/maixpy/api/maix/peripheral/gpio.html":{"title":"maix.peripheral.gpio","content":" title: maix.peripheral.gpio maix.peripheral.gpio module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.gpio` to access this module. ## Module No module ## Enum ## Variable ### IN item doc **brief** GPIO input mode **value** **0x01** **readonly** True **C++ defination code**: ```cpp const int IN 0x01 ``` ### OUT item doc **brief** GPIO output mode **value** **0x2** **readonly** True **C++ defination code**: ```cpp const int OUT 0x2 ``` ### OUT\\_OD item doc **brief** GPIO output open drain mode **value** **0x3** **readonly** True **C++ defination code**: ```cpp const int OUT_OD 0x3 ``` ### PULL\\_NONE item doc **brief** GPIO pull none mode **value** **0x4** **readonly** True **C++ defination code**: ```cpp const int PULL_NONE 0x4 ``` ### PULL\\_UP item doc **brief** GPIO pull up mode **value** **0x5** **readonly** True **C++ defination code**: ```cpp const int PULL_UP 0x5 ``` ### PULL\\_DOWN item doc **brief** GPIO pull down mode **value** **0x6** **readonly** True **C++ defination code**: ```cpp const int PULL_DOWN 0x6 ``` ### OFF item doc **brief** GPIO off **value** **0x0** **readonly** True **C++ defination code**: ```cpp const int OFF 0x0 ``` ### ON item doc **brief** GPIO on **value** **0x1** **readonly** True **C++ defination code**: ```cpp const int ON 0x1 ``` ## Function ## Class ### GPIO item doc **brief** Peripheral gpio class **C++ defination code**: ```cpp class GPIO ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** GPIO constructor **param** **pin**: direction [in], gpio pin. int type.
    **mode**: direction [in], gpio mode. int type. default is 1, means gpio.IN
    option:
    mode gpio.IN, means input mode
    mode gpio.OUT, means output mode
    mode gpio.OUT_OD, means output open drain mode
    **pull**: direction [in], gpio pull. int type. default is determined by actual board.
    option:
    pull gpio.PULL_NONE, means pull none mode
    pull gpio.PULL_UP, means pull up mode
    pull gpio.PULL_DOWN, means pull down mode
    **static** False **C++ defination code**: ```cpp GPIO(int pin, int mode 1, int pull 1) ``` #### value item doc **type** func **brief** write/read gpio value **param** **value**: direction [in], gpio value. int type.
    value 0, means write gpio to low level
    value 1, means write gpio to high level
    **return** int type
    if success, return 0; else return 1 **static** False **C++ defination code**: ```cpp int value(int value 1) ``` #### write item doc **type** func **brief** get gpio write **param** **value**: direction [in], gpio value. int type.
    value 0, means write gpio to low level
    value 1, means write gpio to high level
    value 1 or not set, means read gpio value
    **return** int type
    when read gpio value, return gpio value
    when write gpio value, if success, return 0; else return 1 **static** False **C++ defination code**: ```cpp int write(int value) ``` #### read item doc **type** func **brief** get gpio read **return** int type
    return 0, means gpio is low level
    return 1, means gpio is high level
    return other, means error **static** False **C++ defination code**: ```cpp int read() ``` #### on item doc **type** func **brief** set gpio on **static** False **C++ defination code**: ```cpp void on() ``` #### off item doc **type** func **brief** set gpio off **static** False **C++ defination code**: ```cpp void off() ``` #### high item doc **type** func **brief** set gpio high **static** False **C++ defination code**: ```cpp void high() ``` #### low item doc **type** func **brief** set gpio low **static** False **C++ defination code**: ```cpp void low() ``` #### toggle item doc **type** func **brief** gpio toggle **static** False **C++ defination code**: ```cpp void toggle() ```"},"/maixpy/api/maix/peripheral/pwm.html":{"title":"maix.peripheral.pwm","content":" title: maix.peripheral.pwm maix.peripheral.pwm module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.peripheral.pwm` to access this module. ## Module No module ## Enum ## Variable ## Function ## Class ### PWM item doc **brief** Peripheral pwm class **C++ defination code**: ```cpp class PWM ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** PWM constructor **param** **pin**: direction [in], pwm pin. int type.
    **freq**: direction [in], pwm frequency, unit: Hz. int type. default is 1000
    **duty**: direction [in], pwm duty. int type. range is [0, 100], default is 1, means set duty to 50
    note: you can not set duty and duty_val at the same time
    **duty_val**: direction [in], pwm duty value, unit: us. int type. default is 1, means set duty_val to (1000000000 / freq) * 0.5
    note: you can not set duty and duty_val at the same time
    **align**: direction [in], pwm align. int type. default is 1
    **sync**: direction [in], pwm sync. int type. default is false
    **static** False **C++ defination code**: ```cpp PWM(int pin, int freq 1000, int duty 1, int duty_val 1, int align 1, bool sync false) ``` #### duty item doc **type** func **brief** set pwm duty **param** **duty**: direction [in], pwm duty. int type. default is 1
    duty [0, 100], set duty
    duty 1 or not set, return current duty
    **return** int type
    when get duty, return current duty
    when set duty, if success, return 0; else return 1 **static** False **C++ defination code**: ```cpp int duty(int duty 1) ``` #### duty\\_val item doc **type** func **brief** set pwm duty value **param** **duty_val**: direction [in], pwm duty value. int type. default is 1
    duty_val [0, 65535], set duty_val
    duty_val 1 or not set, return current duty_val
    **return** int type
    when get duty_val, return current duty_val
    when set duty_val, if success, return 0; else return 1 **static** False **C++ defination code**: ```cpp int duty_val(int duty_val 1) ``` #### freq item doc **type** func **brief** set pwm frequency **param** **freq**: direction [in], pwm frequency. int type. default is 1
    freq > 0, set freq
    freq 1 or not set, return current freq
    **return** int type
    when get freq, return current freq
    when set freq, if success, return 0; else return 1 **static** False **C++ defination code**: ```cpp int freq(int freq 1) ``` #### enable item doc **type** func **brief** set pwm enable **param** **enable**: direction [in], pwm enable. int type. default is 1
    enable 0, disable pwm
    enable 1, enable pwm
    enable 1 or not set, return current enable value
    **return** int type
    when get enable, return current enable value
    when set enable, if success, return 0; else return 1 **static** False **C++ defination code**: ```cpp int enable(int enable 1) ```"},"/maixpy/api/maix/time.html":{"title":"maix.time","content":" title: maix.time maix.time module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.time` to access this module. ## Module No module ## Enum ## Variable ## Function ### time item doc **brief** Get current time in s **return** current time in s, double type **C++ defination code**: ```cpp double time() ``` ### time\\_ms item doc **brief** Get current time in ms **return** current time in ms, uint64_t type **C++ defination code**: ```cpp uint64_t time_ms() ``` ### time\\_s item doc **brief** Get current time in s **return** current time in s, uint64_t type **C++ defination code**: ```cpp uint64_t time_s() ``` ### time\\_us item doc **brief** Get current time in us **return** current time in us, uint64_t type **C++ defination code**: ```cpp uint64_t time_us() ``` ### time\\_diff item doc **brief** Calculate time difference **param** **last**: last time
    **now**: current time
    **return** time difference **C++ defination code**: ```cpp double time_diff(double last, double now 1) ``` ### sleep item doc **brief** Sleep seconds **param** **s**: seconds, double type
    **C++ defination code**: ```cpp void sleep(double s) ``` ### sleep\\_ms item doc **brief** Sleep milliseconds **param** **ms**: milliseconds, uint64_t type
    **C++ defination code**: ```cpp void sleep_ms(uint64_t ms) ``` ### sleep\\_us item doc **brief** Sleep microseconds **param** **us**: microseconds, uint64_t type
    **C++ defination code**: ```cpp void sleep_us(uint64_t us) ``` ### now item doc **brief** Get current UTC date and time **return** current date and time, DateTime type **C++ defination code**: ```cpp time::DateTime *now() ``` ### localtime item doc **brief** Get local time **return** local time, DateTime type **C++ defination code**: ```cpp time::DateTime *localtime() ``` ### strptime item doc **brief** DateTime from string **param** **str**: date time string
    **format**: date time format
    **return** DateTime **C++ defination code**: ```cpp time::DateTime *strptime(const std::string &str, const std::string &format) ``` ### gmtime item doc **brief** timestamp to DateTime(time zone is UTC (value 0)) **param** **timestamp**: double timestamp
    **return** DateTime **C++ defination code**: ```cpp time::DateTime *gmtime(double timestamp) ``` ## Class ### DateTime item doc **brief** Date and time class **C++ defination code**: ```cpp class DateTime ``` #### year item doc **type** var **brief** Year **static** False **readonly** False **C++ defination code**: ```cpp int year ``` #### month item doc **type** var **brief** Month, 1~12 **static** False **readonly** False **C++ defination code**: ```cpp int month ``` #### day item doc **type** var **brief** Day **static** False **readonly** False **C++ defination code**: ```cpp int day ``` #### hour item doc **type** var **brief** Hour **static** False **readonly** False **C++ defination code**: ```cpp int hour ``` #### minute item doc **type** var **brief** Minute **static** False **readonly** False **C++ defination code**: ```cpp int minute ``` #### second item doc **type** var **brief** Second **static** False **readonly** False **C++ defination code**: ```cpp int second ``` #### microsecond item doc **type** var **brief** Microsecond **static** False **readonly** False **C++ defination code**: ```cpp int microsecond ``` #### yearday item doc **type** var **brief** Year day **static** False **readonly** False **C++ defination code**: ```cpp int yearday ``` #### weekday item doc **type** var **brief** Weekday, 0 is Monday, 6 is Sunday **static** False **readonly** False **C++ defination code**: ```cpp int weekday ``` #### zone item doc **type** var **brief** Time zone **static** False **readonly** False **C++ defination code**: ```cpp float zone ``` #### zone\\_name item doc **type** var **brief** Time zone name **static** False **readonly** False **C++ defination code**: ```cpp std::string zone_name ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Constructor **param** **year**: year
    **month**: month
    **day**: day
    **hour**: hour
    **minute**: minute
    **second**: second
    **microsecond**: microsecond
    **yearday**: year day
    **weekday**: weekday
    **zone**: time zone
    **static** False **C++ defination code**: ```cpp DateTime(int year 0, int month 0, int day 0, int hour 0, int minute 0, int second 0, int microsecond 0, int yearday 0, int weekday 0, int zone 0) ``` #### strftime item doc **type** func **brief** Convert to string **return** date time string **static** False **C++ defination code**: ```cpp std::string strftime(const std::string &format) ``` #### timestamp item doc **type** func **brief** Convert to float timestamp **return** float timestamp **static** False **C++ defination code**: ```cpp double timestamp() ```"},"/maixpy/api/maix/fs.html":{"title":"maix.fs","content":" title: maix.fs maix.fs module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.fs` to access this module. ## Module No module ## Enum ### SEEK item doc **brief** SEEK enums **values** **SEEK_SET**: Seek from beginning of file.
    **SEEK_CUR**: Seek from current position.
    **SEEK_END**: Seek from end of file.
    **C++ defination code**: ```cpp enum SEEK { SEEK_SET 0, // Seek from beginning of file. SEEK_CUR 1, // Seek from current position. SEEK_END 2, // Seek from end of file. } ``` ## Variable ## Function ### isabs item doc **brief** Check if the path is absolute path **param** **path**: path to check
    **return** true if path is absolute path **C++ defination code**: ```cpp bool isabs(const std::string &path) ``` ### isdir item doc **brief** Check if the path is a directory, if not exist, throw exception **param** **path**: path to check
    **return** true if path is a directory **C++ defination code**: ```cpp bool isdir(const std::string &path) ``` ### isfile item doc **brief** Check if the path is a file, if not exist, throw exception **param** **path**: path to check
    **return** true if path is a file **C++ defination code**: ```cpp bool isfile(const std::string &path) ``` ### islink item doc **brief** Check if the path is a link, if not exist, throw exception **param** **path**: path to check
    **return** true if path is a link **C++ defination code**: ```cpp bool islink(const std::string &path) ``` ### exists item doc **brief** Check if the path exists **param** **path**: path to check
    **return** true if path exists **C++ defination code**: ```cpp bool exists(const std::string &path) ``` ### mkdir item doc **brief** Create a directory recursively **param** **path**: path to create
    **exist_ok**: if true, also return true if directory already exists
    **recursive**: if true, create directory recursively, otherwise, only create one directory, default is true
    **return** err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed **C++ defination code**: ```cpp err::Err mkdir(const std::string &path, bool exist_ok true, bool recursive true) ``` ### rmdir item doc **brief** Remove a directory **param** **path**: path to remove
    **recursive**: if true, remove directory recursively, otherwise, only remove empty directory, default is false
    **return** err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed **C++ defination code**: ```cpp err::Err rmdir(const std::string &path, bool recursive false) ``` ### remove item doc **brief** Remove a file **param** **path**: path to remove
    **return** err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed **C++ defination code**: ```cpp err::Err remove(const std::string &path) ``` ### rename item doc **brief** Rename a file or directory **param** **src**: source path
    **dst**: destination path, if destination dirs not exist, will auto create
    **return** err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed **C++ defination code**: ```cpp err::Err rename(const std::string &src, const std::string &dst) ``` ### getsize item doc **brief** Get file size **param** **path**: path to get size
    **return** file size if success, err::Err code if failed **C++ defination code**: ```cpp int getsize(const std::string &path) ``` ### dirname item doc **brief** Get directory name of path **param** **path**: path to get dirname
    **return** dirname if success, empty string if failed **C++ defination code**: ```cpp std::string dirname(const std::string &path) ``` ### basename item doc **brief** Get base name of path **param** **path**: path to get basename
    **return** basename if success, empty string if failed **C++ defination code**: ```cpp std::string basename(const std::string &path) ``` ### abspath item doc **brief** Get absolute path **param** **path**: path to get absolute path
    **return** absolute path if success, empty string if failed **C++ defination code**: ```cpp std::string abspath(const std::string &path) ``` ### getcwd item doc **brief** Get current working directory **return** current working directory absolute path **C++ defination code**: ```cpp std::string getcwd() ``` ### realpath item doc **brief** Get realpath of path **param** **path**: path to get realpath
    **return** realpath if success, empty string if failed **C++ defination code**: ```cpp std::string realpath(const std::string &path) ``` ### splitext item doc **brief** Get file extension **param** **path**: path to get extension
    **return** extension if success, empty string if failed **C++ defination code**: ```cpp std::string splitext(const std::string &path) ``` ### listdir item doc **brief** List files in directory **param** **path**: path to list
    **recursive**: if true, list recursively, otherwise, only list current directory, default is false
    **full_path**: if true, return full path, otherwise, only return basename, default is false
    **return** files list if success, nullptr if failed **C++ defination code**: ```cpp std::vector *listdir(const std::string &path, bool recursive false, bool full_path false) ``` ### open item doc **brief** Open a file, and return a File object **param** **path**: path to open
    **mode**: open mode, support \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\", \"rb\", \"wb\", \"ab\", \"rb+\", \"wb+\", \"ab+\"
    **return** File object if success(need to delete object manually in C/C++), nullptr if failed **C++ defination code**: ```cpp fs::File *open(const std::string &path, const std::string &mode) ``` ### tempdir item doc **brief** Get temp files directory **return** temp files directory **C++ defination code**: ```cpp std::string tempdir() ``` ## Class ### File item doc **brief** File read write ops **C++ defination code**: ```cpp class File ``` #### open item doc **type** func **brief** Open a file **param** **path**: path to open
    **mode**: open mode, support \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\", \"rb\", \"wb\", \"ab\", \"rb+\", \"wb+\", \"ab+\"
    **return** err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed **static** False **C++ defination code**: ```cpp err::Err open(const std::string &path, const std::string &mode) ``` #### close item doc **type** func **brief** Close a file **static** False **C++ defination code**: ```cpp void close() ``` #### read item doc **type** func **brief** Read data from file API2 **param** **size**: max read size
    **return** bytes data if success(need delete manually in C/C++), nullptr if failed **static** False **C++ defination code**: ```cpp std::vector *read(int size) ``` #### readline item doc **type** func **brief** Read line from file **return** line if success, empty string if failed. You need to delete the returned object manually in C/C++. **static** False **C++ defination code**: ```cpp std::string *readline() ``` #### write item doc **type** func **brief** Write data to file API2 **param** **buf**: buffer to write
    **return** write size if success, err::Err code if failed **static** False **C++ defination code**: ```cpp int write(const std::vector &buf) ``` #### seek item doc **type** func **brief** Seek file position **param** **offset**: offset to seek
    **whence**: @see maix.fs.SEEK
    **return** new position if success, err::Err code if failed **static** False **C++ defination code**: ```cpp int seek(int offset, int whence) ``` #### tell item doc **type** func **brief** Get file position **return** file position if success, err::Err code if failed **static** False **C++ defination code**: ```cpp int tell() ``` #### flush item doc **type** func **brief** Flush file **return** err::ERR_NONE(err.Err.ERR_NONE in MaixPy) if success, other error code if failed **static** False **C++ defination code**: ```cpp err::Err flush() ```"},"/maixpy/api/maix/camera.html":{"title":"maix.camera","content":" title: maix.camera maix.camera module, access camera device and get image from it > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.camera` to access this module. ## Module No module ## Enum ## Variable ## Function ### list\\_devices item doc **brief** List all supported camera devices. **return** Returns the path to the camera device. **C++ defination code**: ```cpp std::vector list_devices() ``` ### set\\_regs\\_enable item doc **brief** Enable set camera registers, default is false, if set to true, will not set camera registers, you can manually set registers by write_reg API. **param** **enable**: enable/disable set camera registers
    **C++ defination code**: ```cpp void set_regs_enable(bool enable true) ``` ## Class ### Camera item doc **brief** Camera class **C++ defination code**: ```cpp class Camera ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Construct a new Camera object **param** **width**: camera width, default is 1, means auto, mostly means max width of camera support
    **height**: camera height, default is 1, means auto, mostly means max height of camera support
    **format**: camera output format, default is image.Format.FMT_RGB888
    **device**: camera device path, you can get devices by list_devices method, by default(value is NULL(None in MaixPy)) means the first device
    **fps**: camera fps, default is 1, means auto, mostly means max fps of camera support
    **buff_num**: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,
    more than one buffer will accelerate image read speed, but will cost more memory.
    **open**: If true, camera will automatically call open() after creation. default is true.
    **static** False **C++ defination code**: ```cpp Camera(int width 1, int height 1, image::Format format image::FMT_RGB888, const char *device nullptr, int fps 1, int buff_num 3, bool open true) ``` #### get\\_ch\\_nums item doc **type** func **brief** Get the number of channels supported by the camera. **return** Returns the maximum number of channels. **static** False **C++ defination code**: ```cpp int get_ch_nums() ``` #### open item doc **type** func **brief** Open camera and run **param** **width**: camera width, default is 1, means auto, mostly means max width of camera support
    **height**: camera height, default is 1, means auto, mostly means max height of camera support
    **format**: camera output format, default same as the constructor's format argument
    **fps**: camera fps, default is 1, means auto, mostly means max fps of camera support
    **buff_num**: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,
    more than one buffer will accelerate image read speed, but will cost more memory.
    **return** error code, err::ERR_NONE means success, others means failed **static** False **C++ defination code**: ```cpp err::Err open(int width 1, int height 1, image::Format format image::FMT_INVALID, int fps 1, int buff_num 1) ``` #### read item doc **type** func **brief** Get one frame image from camera buffer, must call open method before read.\\nIf open method not called, will call it automatically, if open failed, will throw exception!\\nSo call open method before read is recommended. **param** **buff**: buffer to store image data, if buff is nullptr, will alloc memory automatically.
    In MaixPy, default to None, you can create a image.Image object, then pass img.data() to buff.
    **block**: block read, default is true, means block util read image successfully,
    if set to false, will return nullptr if no image in buffer
    **return** image::Image object, if failed, return nullptr, you should delete if manually in C++ **static** False **C++ defination code**: ```cpp image::Image *read(void *buff nullptr, size_t buff_size 0, bool block true) ``` #### clear\\_buff item doc **type** func **brief** Clear buff to ensure the next read image is the latest image **static** False **C++ defination code**: ```cpp void clear_buff() ``` #### skip\\_frames item doc **type** func **brief** Read some frames and drop, this is usually used avoid read not stable image when camera just opened. **param** **num**: number of frames to read and drop
    **static** False **C++ defination code**: ```cpp void skip_frames(int num) ``` #### close item doc **type** func **brief** Close camera **static** False **C++ defination code**: ```cpp void close() ``` #### add\\_channel item doc **type** func **brief** Add a new channel and return a new Camera object, you can use close() to close this channel. **param** **width**: camera width, default is 1, means auto, mostly means max width of camera support
    **height**: camera height, default is 1, means auto, mostly means max height of camera support
    **format**: camera output format, default is RGB888
    **fps**: camera fps, default is 1, means auto, mostly means max fps of camera support
    **buff_num**: camera buffer number, default is 3, means 3 buffer, one used by user, one used for cache the next frame,
    more than one buffer will accelerate image read speed, but will cost more memory.
    **open**: If true, camera will automatically call open() after creation. default is true.
    **return** new Camera object **static** False **C++ defination code**: ```cpp camera::Camera *add_channel(int width 1, int height 1, image::Format format image::FMT_RGB888, int fps 1, int buff_num 3, bool open true) ``` #### is\\_opened item doc **type** func **brief** Check if camera is opened **return** true if camera is opened, false if not **static** False **C++ defination code**: ```cpp bool is_opened() ``` #### is\\_closed item doc **type** func **brief** check camera device is closed or not **return** closed or not, bool type **static** False **C++ defination code**: ```cpp bool is_closed() ``` #### width item doc **type** func **brief** Get camera width **return** camera width **static** False **C++ defination code**: ```cpp int width() ``` #### height item doc **type** func **brief** Get camera height **return** camera height **static** False **C++ defination code**: ```cpp int height() ``` #### fps item doc **type** func **brief** Get camera fps **return** camera fps **static** False **C++ defination code**: ```cpp int fps() ``` #### format item doc **type** func **brief** Get camera output format **return** camera output format, image::Format object **static** False **C++ defination code**: ```cpp image::Format format() ``` #### buff\\_num item doc **type** func **brief** Get camera buffer number **return** camera buffer number **static** False **C++ defination code**: ```cpp int buff_num() ``` #### hmirror item doc **type** func **brief** Get camera horizontal mirror **return** camera horizontal mirror **static** False **C++ defination code**: ```cpp int hmirror(int value 1) ``` #### vflip item doc **type** func **brief** Get camera vertical flip **return** camera vertical flip **static** False **C++ defination code**: ```cpp int vflip(int value 1) ``` #### exposure item doc **type** func **brief** Get camera exposure **return** camera exposure **static** False **C++ defination code**: ```cpp float exposure(int value 1) ``` #### gain item doc **type** func **brief** Get camera gain **return** camera gain **static** False **C++ defination code**: ```cpp float gain(int value 1) ``` #### device item doc **type** func **brief** Get camera device path **return** camera device path **static** False **C++ defination code**: ```cpp std::string device() ``` #### write\\_reg item doc **type** func **brief** Write camera register **param** **addr**: register address
    **data**: register data
    **bit_width**: register data bit width, default is 8
    **return** error code, err::ERR_NONE means success, others means failed **static** False **C++ defination code**: ```cpp err::Err write_reg(int addr, int data, int bit_width 8) ``` #### read\\_reg item doc **type** func **brief** Read camera register **param** **addr**: register address
    **bit_width**: register data bit width, default is 8
    **return** register data, 1 means failed **static** False **C++ defination code**: ```cpp int read_reg(int addr, int bit_width 8) ``` #### show\\_colorbar item doc **type** func **brief** Camera output color bar image for test **param** **enable**: enable/disable color bar
    **return** error code, err::ERR_NONE means success, others means failed **static** False **C++ defination code**: ```cpp err::Err show_colorbar(bool enable) ```"},"/maixpy/api/maix/nn.html":{"title":"maix.nn","content":" title: maix.nn maix.nn module > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.nn` to access this module. ## Module module brief [F](./nn/F.html) maix.nn.F module ## Enum ## Variable ## Function ## Class ### YOLOv5 item doc **brief** YOLOv5 class **C++ defination code**: ```cpp class YOLOv5 ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Constructor of YOLOv5 class **param** **model**: model path, default empty, you can load model later by load function.
    **throw** If model arg is not empty and load failed, will throw err::Exception. **static** False **C++ defination code**: ```cpp YOLOv5(const string &model \"\") ``` #### load item doc **type** func **brief** Load model from file **param** **model**: Model path want to load
    **return** err::Err **static** False **C++ defination code**: ```cpp err::Err load(const string &model) ``` #### detect item doc **type** func **brief** Detect objects from image **param** **img**: Image want to detect, if image's size not match model input's, will auto resize with fit method.
    **conf_th**: Confidence threshold, default 0.5.
    **iou_th**: IoU threshold, default 0.45.
    **fit**: Resize method, default image.Fit.FIT_CONTAIN.
    **throw** If image format not match model input format, will throw err::Exception. **return** Object list. In C++, you should delete it after use. **static** False **C++ defination code**: ```cpp std::vector *detect(image::Image &img, float conf_th 0.5, float iou_th 0.45, maix::image::Fit fit maix::image::FIT_CONTAIN) ``` #### input\\_size item doc **type** func **brief** Get model input size **return** model input size **static** False **C++ defination code**: ```cpp image::Size input_size() ``` #### input\\_width item doc **type** func **brief** Get model input width **return** model input size of width **static** False **C++ defination code**: ```cpp int input_width() ``` #### input\\_height item doc **type** func **brief** Get model input height **return** model input size of height **static** False **C++ defination code**: ```cpp int input_height() ``` #### input\\_format item doc **type** func **brief** Get input image format **return** input image format, image::Format type. **static** False **C++ defination code**: ```cpp image::Format input_format() ``` #### labels item doc **type** var **brief** Labels list **static** False **readonly** False **C++ defination code**: ```cpp std::vector labels ``` #### label\\_path item doc **type** var **brief** Label file path **static** False **readonly** False **C++ defination code**: ```cpp std::string label_path ``` #### mean item doc **type** var **brief** Get mean value, list type **static** False **readonly** False **C++ defination code**: ```cpp std::vector mean ``` #### scale item doc **type** var **brief** Get scale value, list type **static** False **readonly** False **C++ defination code**: ```cpp std::vector scale ``` #### anchors item doc **type** var **brief** Get anchors **static** False **readonly** False **C++ defination code**: ```cpp std::vector anchors ``` ### Classifier item doc **brief** Classifier **C++ defination code**: ```cpp class Classifier ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Construct a new Classifier object **param** **model**: MUD model path, if empty, will not load model, you can call load() later.
    if not empty, will load model and will raise err::Exception if load failed.
    **static** False **C++ defination code**: ```cpp Classifier(const string &model \"\") ``` #### load item doc **type** func **brief** Load model from file, model format is .mud,\\nMUD file should contain [extra] section, have key values:\\n model_type: classifier\\n input_type: rgb or bgr\\n mean: 123.675, 116.28, 103.53\\n scale: 0.017124753831663668, 0.01750700280112045, 0.017429193899782137\\n labels: imagenet_classes.txt **param** **model**: MUD model path
    **return** error code, if load failed, return error code **static** False **C++ defination code**: ```cpp err::Err load(const string &model) ``` #### classify item doc **type** func **brief** Forward image to model, get result. Only for image input, use classify_raw for tensor input. **param** **img**: image, format should match model input_type, or will raise err.Exception
    **softmax**: if true, will do softmax to result, or will return raw value
    **throw** If error occurred, will raise err::Exception, you can find reason in log, mostly caused by args error or hardware error. **return** result, a list of (label, score). In C++, you need to delete it after use. **static** False **C++ defination code**: ```cpp std::vector> *classify(image::Image &img, bool softmax true) ``` #### classify\\_raw item doc **type** func **brief** Forward tensor data to model, get result **param** **data**: tensor data, format should match model input_type, or will raise err.Excetion
    **softmax**: if true, will do softmax to result, or will return raw value
    **throw** If error occurred, will raise err::Exception, you can find reason in log, mostly caused by args error or hardware error. **return** result, a list of (label, score). In C++, you need to delete it after use. **static** False **C++ defination code**: ```cpp std::vector> *classify_raw(tensor::Tensor &data, bool softmax true) ``` #### input\\_size item doc **type** func **brief** Get model input size, only for image input **return** model input size **static** False **C++ defination code**: ```cpp image::Size input_size() ``` #### input\\_width item doc **type** func **brief** Get model input width, only for image input **return** model input size of width **static** False **C++ defination code**: ```cpp int input_width() ``` #### input\\_height item doc **type** func **brief** Get model input height, only for image input **return** model input size of height **static** False **C++ defination code**: ```cpp int input_height() ``` #### input\\_format item doc **type** func **brief** Get input image format, only for image input **return** input image format, image::Format type. **static** False **C++ defination code**: ```cpp image::Format input_format() ``` #### input\\_shape item doc **type** func **brief** Get input shape, if have multiple input, only return first input shape **return** input shape, list type **static** False **C++ defination code**: ```cpp std::vector input_shape() ``` #### labels item doc **type** var **brief** Labels list **static** False **readonly** False **C++ defination code**: ```cpp std::vector labels ``` #### label\\_path item doc **type** var **brief** Label file path **static** False **readonly** False **C++ defination code**: ```cpp std::string label_path ``` #### mean item doc **type** var **brief** Get mean value, list type **static** False **readonly** False **C++ defination code**: ```cpp std::vector mean ``` #### scale item doc **type** var **brief** Get scale value, list type **static** False **readonly** False **C++ defination code**: ```cpp std::vector scale ``` ### MUD item doc **brief** MUD(model universal describe file) class **C++ defination code**: ```cpp class MUD ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** MUD constructor **param** **model_path**: direction [in], model file path, model format can be MUD(model universal describe file) file.
    If model_path set, will load model from file, load failed will raise err.Exception.
    If model_path not set, you can load model later by load function.
    **static** False **C++ defination code**: ```cpp MUD(const char *model_path nullptr) ``` #### load item doc **type** func **brief** Load model from file **param** **model_path**: direction [in], model file path, model format can be MUD(model universal describe file) file.
    **return** error code, if load success, return err::ERR_NONE **static** False **C++ defination code**: ```cpp err::Err load(const std::string &model_path) ``` #### type item doc **type** var **brief** Model type, string type **static** False **readonly** False **C++ defination code**: ```cpp std::string type ``` #### items item doc **type** var **brief** Model config items, different model type has different config items **static** False **readonly** False **C++ defination code**: ```cpp std::map> items ``` ### LayerInfo item doc **brief** NN model layer info **C++ defination code**: ```cpp class LayerInfo ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** LayerInfo constructor **param** **name**: direction [in], layer name
    **dtype**: direction [in], layer data type
    **shape**: direction [in], layer shape
    **static** False **C++ defination code**: ```cpp LayerInfo(const std::string &name \"\", tensor::DType dtype tensor::DType::FLOAT32, std::vector shape std::vector()) ``` #### name item doc **type** var **brief** Layer name **static** False **readonly** False **C++ defination code**: ```cpp std::string name ``` #### dtype item doc **type** var **brief** Layer data type **attention** If model is quantized, this is the real quantized data type like int8 float16,
    in most scene, inputs and outputs we actually use float32 in API like forward. **static** False **readonly** False **C++ defination code**: ```cpp tensor::DType dtype ``` #### shape item doc **type** var **brief** Layer shape **static** False **readonly** False **C++ defination code**: ```cpp std::vector shape ``` #### to\\_str item doc **type** func **brief** To string **static** False **C++ defination code**: ```cpp std::string to_str() ``` #### \\_\\_str\\_\\_ item doc **type** func **brief** To string **static** False **C++ defination code**: ```cpp std::string __str__() ``` ### NN item doc **brief** Neural network class **C++ defination code**: ```cpp class NN ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Neural network constructor **param** **model**: direction [in], model file path, model format can be MUD(model universal describe file) file.
    If model_path set, will load model from file, load failed will raise err.Exception.
    If model_path not set, you can load model later by load function.
    **static** False **C++ defination code**: ```cpp NN(const std::string &model \"\") ``` #### load item doc **type** func **brief** Load model from file **param** **model**: direction [in], model file path, model format can be MUD(model universal describe file) file.
    **return** error code, if load success, return err::ERR_NONE **static** False **C++ defination code**: ```cpp err::Err load(const std::string &model) ``` #### loaded item doc **type** func **brief** Is model loaded **return** true if model loaded, else false **static** False **C++ defination code**: ```cpp bool loaded() ``` #### inputs\\_info item doc **type** func **brief** Get model input layer info **return** input layer info **static** False **C++ defination code**: ```cpp std::vector inputs_info() ``` #### outputs\\_info item doc **type** func **brief** Get model output layer info **return** output layer info **static** False **C++ defination code**: ```cpp std::vector outputs_info() ``` #### extra\\_info item doc **type** func **brief** Get model extra info define in MUD file **return** extra info, dict type, key value object, attention: key and value are all string type. **static** False **C++ defination code**: ```cpp std::map extra_info() ``` #### forward item doc **type** func **brief** forward run model, get output of model,\\nthis is specially for MaixPy, not efficient, but easy to use in MaixPy **param** **input**: direction [in], input tensor
    **return** output tensor. In C++, you should manually delete tensors in return value and return value. **static** False **C++ defination code**: ```cpp tensor::Tensors *forward(tensor::Tensors &inputs) ``` #### forward\\_image item doc **type** func **brief** forward model, param is image **param** **img**: input image
    **mean**: mean value, a list type, e.g. [0.485, 0.456, 0.406], default is empty list means not normalize.
    **scale**: scale value, a list type, e.g. [1/0.229, 1/0.224, 1/0.225], default is empty list means not normalize.
    **fit**: fit mode, if the image size of input not equal to model's input, it will auto resize use this fit method,
    default is image.Fit.FIT_FILL for easy coordinate calculation, but for more accurate result, use image.Fit.FIT_CONTAIN is better.
    **return** output tensor. In C++, you should manually delete tensors in return value and return value. **static** False **C++ defination code**: ```cpp tensor::Tensors *forward_image(image::Image &img, std::vector mean std::vector(), std::vector scale std::vector(), image::Fit fit image::Fit::FIT_FILL) ``` ### Object item doc **brief** Object for detect result **C++ defination code**: ```cpp class Object ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Constructor of Object for detect result **param** **x**: left top x
    **y**: left top y
    **w**: width
    **h**: height
    **class_id**: class id
    **score**: score
    **static** False **C++ defination code**: ```cpp Object(int x 0, int y 0, int w 0, int h 0, int class_id 0, float score 0) ``` #### \\_\\_str\\_\\_ item doc **type** func **brief** Object info to string **return** Object info string **static** False **C++ defination code**: ```cpp std::string to_str() ``` #### x item doc **type** var **brief** Object left top coordinate x **static** False **readonly** False **C++ defination code**: ```cpp int x ``` #### y item doc **type** var **brief** Object left top coordinate y **static** False **readonly** False **C++ defination code**: ```cpp int y ``` #### w item doc **type** var **brief** Object width **static** False **readonly** False **C++ defination code**: ```cpp int w ``` #### h item doc **type** var **brief** Object height **static** False **readonly** False **C++ defination code**: ```cpp int h ``` #### class\\_id item doc **type** var **brief** Object class id **static** False **readonly** False **C++ defination code**: ```cpp int class_id ``` #### score item doc **type** var **brief** Object score **static** False **readonly** False **C++ defination code**: ```cpp float score ```"},"/maixpy/api/maix/image.html":{"title":"maix.image","content":" title: maix.image maix.image module, image related definition and functions > This module is generated from [MaixCDK](https://github.com/sipeed/MaixCDK) > You can use `maix.image` to access this module. ## Module No module ## Enum ### Format item doc **brief** Image formats **attention** for developers, update this enum will also need to update the fmt_size in maix_image.cpp **values** **FMT_RGB888**: RGBRGB...RGB, R at the lowest address
    **FMT_BGR888**: BGRBGR...BGR, B at the lowest address
    **FMT_RGBA8888**: RGBARGBA...RGBA, R at the lowest address
    **FMT_BGRA8888**: BGRABGRA...BGRA, B at the lowest address
    **FMT_RGB565**:
    **FMT_BGR565**:
    **FMT_YUV422SP**: YYY...UVUVUV...UVUV
    **FMT_YUV422P**: YYY...UUU...VVV
    **FMT_YVU420SP**: YYY...VUVUVU...VUVU, NV21
    **FMT_YUV420SP**: YYY...UVUVUV...UVUV, NV12
    **FMT_YVU420P**: YYY...VVV...UUU
    **FMT_YUV420P**: YYY...UUU...VVV
    **FMT_GRAYSCALE**:
    **FMT_UNCOMPRESSED_MAX**:
    **FMT_COMPRESSED_MIN**:
    **FMT_JPEG**:
    **FMT_PNG**:
    **FMT_COMPRESSED_MAX**:
    **FMT_INVALID**: format not valid
    **C++ defination code**: ```cpp enum Format { FMT_RGB888 0, // RGBRGB...RGB, R at the lowest address FMT_BGR888, // BGRBGR...BGR, B at the lowest address FMT_RGBA8888, // RGBARGBA...RGBA, R at the lowest address FMT_BGRA8888, // BGRABGRA...BGRA, B at the lowest address FMT_RGB565, FMT_BGR565, FMT_YUV422SP, // YYY...UVUVUV...UVUV FMT_YUV422P, // YYY...UUU...VVV FMT_YVU420SP, // YYY...VUVUVU...VUVU, NV21 FMT_YUV420SP, // YYY...UVUVUV...UVUV, NV12 FMT_YVU420P, // YYY...VVV...UUU FMT_YUV420P, // YYY...UUU...VVV FMT_GRAYSCALE, FMT_UNCOMPRESSED_MAX, // compressed format below, not compressed should define upper FMT_COMPRESSED_MIN, FMT_JPEG, FMT_PNG, FMT_COMPRESSED_MAX, FMT_INVALID 0xFF // format not valid } ``` ### Fit item doc **brief** Object fit method **values** **FIT_NONE**: no object fit, keep original
    **FIT_FILL**: width to new width, height to new height, may be stretch
    **FIT_CONTAIN**: keep aspect ratio, fill blank area with black color
    **FIT_COVER**: keep aspect ratio, crop image to fit new size
    **FIT_MAX**:
    **C++ defination code**: ```cpp enum Fit { FIT_NONE 1, // no object fit, keep original FIT_FILL 0, // width to new width, height to new height, may be stretch FIT_CONTAIN, // keep aspect ratio, fill blank area with black color FIT_COVER, // keep aspect ratio, crop image to fit new size FIT_MAX } ``` ### ResizeMethod item doc **brief** Resize method **values** **NEAREST**:
    **BILINEAR**:
    **BICUBIC**:
    **AREA**:
    **LANCZOS**:
    **HAMMING**:
    **RESIZE_METHOD_MAX**:
    **C++ defination code**: ```cpp enum ResizeMethod { NEAREST 0, BILINEAR, BICUBIC, AREA, LANCZOS, HAMMING, RESIZE_METHOD_MAX } ``` ### ApriltagFamilies item doc **brief** Family of apriltag **values** **TAG16H5**:
    **TAG25H7**:
    **TAG25H9**:
    **TAG36H10**:
    **TAG36H11**:
    **ARTOOLKIT**:
    **C++ defination code**: ```cpp enum ApriltagFamilies { TAG16H5 1, TAG25H7 2, TAG25H9 4, TAG36H10 8, TAG36H11 16, ARTOOLKIT 32 } ``` ### TemplateMatch item doc **brief** Template match method **values** **SEARCH_EX**: Exhaustive search
    **SEARCH_DS**: Diamond search
    **C++ defination code**: ```cpp enum TemplateMatch { SEARCH_EX, // Exhaustive search SEARCH_DS, // Diamond search } ``` ### CornerDetector item doc **brief** CornerDetector class **values** **CORNER_FAST**:
    **CORNER_AGAST**:
    **C++ defination code**: ```cpp enum CornerDetector { CORNER_FAST, CORNER_AGAST } ``` ### EdgeDetector item doc **brief** EdgeDetector class **values** **EDGE_CANNY**:
    **EDGE_SIMPLE**:
    **C++ defination code**: ```cpp enum EdgeDetector { EDGE_CANNY, EDGE_SIMPLE, } ``` ## Variable ### fmt\\_size item doc **brief** Image format size in bytes **attention** It's a copy of this variable in MaixPy,
    so change it in C++ (e.g. update var in hello function) will not take effect the var inMaixPy.
    So we add const for this var to avoid this mistake. **value** **{
    3,
    3,
    4,
    4,
    2,
    2,
    2,
    2,
    1.5,
    1.5,
    1.5,
    1.5,
    1,
    0,
    0,
    0,
    0,
    0
    }** **readonly** True **C++ defination code**: ```cpp const std::vector fmt_size { 3, 3, 4, 4, 2, 2, 2, 2, 1.5, 1.5, 1.5, 1.5, 1, 0, 0, 0, 0, 0 } ``` ### fmt\\_names item doc **brief** Image format string **value** **{
    \"RGB888\",
    \"BGR888\",
    \"RGBA8888\",
    \"BGRA8888\",
    \"RGB565\",
    \"BGR565\",
    \"YUV422SP\",
    \"YUV422P\",
    \"YVU420SP\",
    \"YUV420SP\",
    \"YVU420P\"
    \"YUV420P\",
    \"GRAYSCALE\",
    \"MAX\"}** **readonly** True **C++ defination code**: ```cpp const std::vector fmt_names { \"RGB888\", \"BGR888\", \"RGBA8888\", \"BGRA8888\", \"RGB565\", \"BGR565\", \"YUV422SP\", \"YUV422P\", \"YVU420SP\", \"YUV420SP\", \"YVU420P\" \"YUV420P\", \"GRAYSCALE\", \"MAX\"} ``` ### COLOR\\_WHITE item doc **brief** Predefined color white **value** **image::Color::from_rgb(255, 255, 255)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_WHITE image::Color::from_rgb(255, 255, 255) ``` ### COLOR\\_BLACK item doc **brief** Predefined color black **value** **image::Color::from_rgb(0, 0, 0)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_BLACK image::Color::from_rgb(0, 0, 0) ``` ### COLOR\\_RED item doc **brief** Predefined color red **value** **image::Color::from_rgb(255, 0, 0)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_RED image::Color::from_rgb(255, 0, 0) ``` ### COLOR\\_GREEN item doc **brief** Predefined color green **value** **image::Color::from_rgb(0, 255, 0)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_GREEN image::Color::from_rgb(0, 255, 0) ``` ### COLOR\\_BLUE item doc **brief** Predefined color blue **value** **image::Color::from_rgb(0, 0, 255)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_BLUE image::Color::from_rgb(0, 0, 255) ``` ### COLOR\\_YELLOW item doc **brief** Predefined color yellow **value** **image::Color::from_rgb(255, 255, 0)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_YELLOW image::Color::from_rgb(255, 255, 0) ``` ### COLOR\\_PURPLE item doc **brief** Predefined color purple **value** **image::Color::from_rgb(143, 0, 255)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_PURPLE image::Color::from_rgb(143, 0, 255) ``` ### COLOR\\_ORANGE item doc **brief** Predefined color orange **value** **image::Color::from_rgb(255, 127, 0)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_ORANGE image::Color::from_rgb(255, 127, 0) ``` ### COLOR\\_GRAY item doc **brief** Predefined color gray **value** **image::Color::from_rgb(127, 127, 127)** **readonly** True **C++ defination code**: ```cpp const image::Color COLOR_GRAY image::Color::from_rgb(127, 127, 127) ``` ## Function ### load item doc **brief** Load image from file, and convert to Image object **param** **path**: image file path
    **format**: read as this format, if not match, will convert to this format, by default is RGB888
    **return** Image object **C++ defination code**: ```cpp image::Image *load(const char *path, image::Format format image::Format::FMT_RGB888) ``` ### load\\_font item doc **brief** Load font from file **param** **name**: font name, used to identify font
    **path**: font file path, support ttf, ttc, otf
    **size**: font size, font height, by default is 16
    **return** error code, err::ERR_NONE is ok, other is error **C++ defination code**: ```cpp err::Err load_font(const std::string &name, const char *path, int size 16) ``` ### set\\_default\\_font item doc **brief** Set default font, if not call this method, default is hershey_plain **param** **name**: font name, supported names can be get by fonts()
    **return** error code, err::ERR_NONE is ok, other is error **C++ defination code**: ```cpp err::Err set_default_font(const std::string &name) ``` ### fonts item doc **brief** Get all loaded fonts **return** all loaded fonts, string list type **C++ defination code**: ```cpp std::vector *fonts() ``` ### text\\_size item doc **brief** Get text rendered width and height **param** **text**: text content
    **scale**: font scale, by default(value is 1)
    **thickness**: text thickness(line width), by default(value is 1)
    **return** text rendered width and height, [width, height] **C++ defination code**: ```cpp image::Size text_size(std::string text, float scale 1, int thickness 1, const std::string &font \"\") ``` ### cv2image item doc **brief** OpenCV Mat(numpy array object) to Image object **param** **array**: numpy array object, must be a 3 dim or 2 dim continuous array with shape hwc or hw
    **return** Image object **C++ defination code**: ```cpp image::Image *cv2image(py::array_t array, bool bgr true, bool copy true) ``` ### image2cv item doc **brief** Image object to OpenCV Mat(numpy array object) **param** **img**: Image object
    **return** numpy array object **C++ defination code**: ```cpp py::array_t image2cv(image::Image *img, bool bgr true, bool copy true) ``` ## Class ### Size item doc **brief** Image size type **C++ defination code**: ```cpp class Size ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Construct a new Size object **param** **width**: image width
    **height**: image height
    **static** False **C++ defination code**: ```cpp Size(int width 0, int height 0) ``` #### width item doc **type** var **brief** width of size **static** False **readonly** False **C++ defination code**: ```cpp int width ``` #### height item doc **type** var **brief** height of size **static** False **readonly** False **C++ defination code**: ```cpp int height ``` #### \\_\\_getitem\\_\\_ item doc **type** func **brief** Subscript operator **param** **index**: 0 for width, 1 for height
    **return** int& width or height **static** False **C++ defination code**: ```cpp int &__getitem__(int index) ``` #### \\_\\_str\\_\\_ item doc **type** func **brief** to string **static** False **C++ defination code**: ```cpp std::string __str__() ``` ### Line item doc **brief** Line class **C++ defination code**: ```cpp class Line ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Line constructor **param** **x1**: coordinate x1 of the straight line
    **y1**: coordinate y1 of the straight line
    **x2**: coordinate x2 of the straight line
    **y2**: coordinate y2 of the straight line
    **magnitude**: magnitude of the straight line after Hough transformation
    **theta**: angle of the straight line after Hough transformation
    **rho**: p value of the straight line after Hough transformation
    **static** False **C++ defination code**: ```cpp Line(int x1, int y1, int x2, int y2, int magnitude 0, int theta 0, int rho 0) ``` #### x1 item doc **type** func **brief** get x1 of line **return** return x1 of the line, type is int **static** False **C++ defination code**: ```cpp int x1() ``` #### y1 item doc **type** func **brief** get y1 of line **return** return y1 of the line, type is int **static** False **C++ defination code**: ```cpp int y1() ``` #### x2 item doc **type** func **brief** get x2 of line **return** return x2 of the line, type is int **static** False **C++ defination code**: ```cpp int x2() ``` #### y2 item doc **type** func **brief** get y2 of line **return** return y2 of the line, type is int **static** False **C++ defination code**: ```cpp int y2() ``` #### length item doc **type** func **brief** get length of line **return** return length of the line, type is int **static** False **C++ defination code**: ```cpp int length() ``` #### magnitude item doc **type** func **brief** get magnitude of the straight line after Hough transformation **return** return magnitude, type is int **static** False **C++ defination code**: ```cpp int magnitude() ``` #### theta item doc **type** func **brief** get angle of the straight line after Hough transformation (0 179 degrees) **return** return angle, type is int **static** False **C++ defination code**: ```cpp int theta() ``` #### rho item doc **type** func **brief** get p value of the straight line after Hough transformation **return** return p value, type is int **static** False **C++ defination code**: ```cpp int rho() ``` ### Rect item doc **brief** Rect class **C++ defination code**: ```cpp class Rect ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Rect constructor **param** **corners**: corners of rect
    **x**: coordinate x of the straight line
    **y**: coordinate y of the straight line
    **w**: coordinate w of the straight line
    **h**: coordinate h of the straight line
    **magnitude**: magnitude of the straight line after Hough transformation
    **static** False **C++ defination code**: ```cpp Rect(std::vector> &corners, int x, int y, int w, int h, int magnitude 0) ``` #### corners item doc **type** func **brief** get corners of rect **return** return the coordinate of the rect. **static** False **C++ defination code**: ```cpp std::vector> corners() ``` #### rect item doc **type** func **brief** get rectangle of rect **return** return the rectangle of the rect. format is {x, y, w, h}, type is std::vector **static** False **C++ defination code**: ```cpp std::vector rect() ``` #### x item doc **type** func **brief** get x of rect **return** return x of the rect, type is int **static** False **C++ defination code**: ```cpp int x() ``` #### y item doc **type** func **brief** get y of rect **return** return y of the rect, type is int **static** False **C++ defination code**: ```cpp int y() ``` #### w item doc **type** func **brief** get w of rect **return** return w of the rect, type is int **static** False **C++ defination code**: ```cpp int w() ``` #### h item doc **type** func **brief** get h of rect **return** return h of the rect, type is int **static** False **C++ defination code**: ```cpp int h() ``` #### magnitude item doc **type** func **brief** get magnitude of the straight line after Hough transformation **return** return magnitude, type is int **static** False **C++ defination code**: ```cpp int magnitude() ``` ### Circle item doc **brief** circle class **C++ defination code**: ```cpp class Circle ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Circle constructor **param** **x**: coordinate x of the circle
    **y**: coordinate y of the circle
    **r**: coordinate r of the circle
    **magnitude**: coordinate y2 of the straight line
    **static** False **C++ defination code**: ```cpp Circle(int x, int y, int r, int magnitude) ``` #### x item doc **type** func **brief** get x of circle **return** return x of the circle, type is int **static** False **C++ defination code**: ```cpp int x() ``` #### y item doc **type** func **brief** get y of circle **return** return y of the circle, type is int **static** False **C++ defination code**: ```cpp int y() ``` #### r item doc **type** func **brief** get r of circle **return** return r of the circle, type is int **static** False **C++ defination code**: ```cpp int r() ``` #### magnitude item doc **type** func **brief** get magnitude of the circle after Hough transformation **return** return magnitude, type is int **static** False **C++ defination code**: ```cpp int magnitude() ``` ### Blob item doc **brief** Blob class **C++ defination code**: ```cpp class Blob ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Blob constructor **param** **rect**: blob rect, type is std::vector
    **corners**: blob corners, type is std::vector>
    **mini_corners**: blob mini_corners, type is std::vector>
    **cx**: blob center x, type is float
    **cy**: blob center y, type is float
    **pixels**: blob pixels, type is int
    **rotation**: blob rotation, type is float
    **code**: blob code, type is int
    **count**: blob count, type is int
    **perimeter**: blob perimeter, type is int
    **roundness**: blob roundness, type is float
    **x_hist_bins**: blob x_hist_bins, type is std::vector
    **y_hist_bins**: blob y_hist_bins, type is std::vector
    **static** False **C++ defination code**: ```cpp Blob(std::vector &rect, std::vector> &corners, std::vector> &mini_corners,float cx, float cy, int pixels, float rotation, int code, int count, int perimeter, float roundness, std::vector &x_hist_bins, std::vector &y_hist_bins) ``` #### corners item doc **type** func **brief** get blob corners **return** Returns a list of 4 (x,y) tuples of the 4 corners of the object.
    (x0, y0)___________(x1, y1)



    ___________
    (x3, y3) (x2, y2)
    note: the order of corners may change **static** False **C++ defination code**: ```cpp std::vector> corners() ``` #### mini\\_corners item doc **type** func **brief** get blob mini corners **return** Returns a list of 4 (x,y) tuples of the 4 corners than bound the min area rectangle of the blob.
    (x0, y0)___________(x1, y1)



    ___________
    (x3, y3) (x2, y2)
    note: the order of corners may change **static** False **C++ defination code**: ```cpp std::vector> mini_corners() ``` #### rect item doc **type** func **brief** get blob rect **return** Returns the center coordinates and width and height of the rectangle. format is (x, y, w, h)
    w
    (x, y) ___________

    h

    ___________ **static** False **C++ defination code**: ```cpp std::vector rect() ``` #### x item doc **type** func **brief** get blob x of the upper left coordinate **return** Returns the x coordinate of the upper left corner of the rectangle. **static** False **C++ defination code**: ```cpp int x() ``` #### y item doc **type** func **brief** get blob y of the upper left coordinate **return** Returns the y coordinate of the upper left corner of the rectangle. **static** False **C++ defination code**: ```cpp int y() ``` #### w item doc **type** func **brief** get blob width **return** Returns the blob’s bounding box w coordinate **static** False **C++ defination code**: ```cpp int w() ``` #### h item doc **type** func **brief** get blob height **return** Returns the blob’s bounding box h coordinate **static** False **C++ defination code**: ```cpp int h() ``` #### pixels item doc **type** func **brief** get blob pixels **return** Returns the number of pixels that are part of this blob. **static** False **C++ defination code**: ```cpp int pixels() ``` #### cx item doc **type** func **brief** get blob center x **return** Returns the centroid x position of the blob **static** False **C++ defination code**: ```cpp int cx() ``` #### cy item doc **type** func **brief** get blob center y **return** Returns the centroid y position of the blob **static** False **C++ defination code**: ```cpp int cy() ``` #### cxf item doc **type** func **brief** get blob center x **return** Returns the centroid x position of the blob **static** False **C++ defination code**: ```cpp float cxf() ``` #### cyf item doc **type** func **brief** get blob center y **return** Returns the centroid y position of the blob **static** False **C++ defination code**: ```cpp float cyf() ``` #### rotation item doc **type** func **brief** get blob rotation **return** Returns the rotation of the blob in radians (float). If the blob is like a pencil or pen this value will be unique for 0 180 degrees. **static** False **C++ defination code**: ```cpp float rotation() ``` #### rotation\\_rad item doc **type** func **brief** get blob rotation_rad **return** Returns the rotation of the blob in radians **static** False **C++ defination code**: ```cpp float rotation_rad() ``` #### rotation\\_deg item doc **type** func **brief** get blob rotation_deg **return** Returns the rotation of the blob in degrees. **static** False **C++ defination code**: ```cpp int rotation_deg() ``` #### code item doc **type** func **brief** get blob code **return** Returns a 32 bit binary number with a bit set in it for each color threshold that’s part of this blob **static** False **C++ defination code**: ```cpp int code() ``` #### count item doc **type** func **brief** get blob count **return** Returns the number of blobs merged into this blob. **static** False **C++ defination code**: ```cpp int count() ``` #### perimeter item doc **type** func **brief** get blob merge_cnt **return** Returns the number of pixels on this blob’s perimeter. **static** False **C++ defination code**: ```cpp int perimeter() ``` #### roundness item doc **type** func **brief** get blob roundness **return** Returns a value between 0 and 1 representing how round the object is **static** False **C++ defination code**: ```cpp float roundness() ``` #### elongation item doc **type** func **brief** get blob elongation **returnReturns** a value between 0 and 1 representing how long (not round) the object is **static** False **C++ defination code**: ```cpp float elongation() ``` #### area item doc **type** func **brief** get blob area **return** Returns the area of the bounding box around the blob **static** False **C++ defination code**: ```cpp int area() ``` #### density item doc **type** func **brief** get blob density **return** Returns the density ratio of the blob **static** False **C++ defination code**: ```cpp float density() ``` #### extent item doc **type** func **brief** Alias for blob.density() **return** Returns the density ratio of the blob **static** False **C++ defination code**: ```cpp float extent() ``` #### compactness item doc **type** func **brief** get blob compactness **return** Returns the compactness ratio of the blob **static** False **C++ defination code**: ```cpp float compactness() ``` #### solidity item doc **type** func **brief** get blob solidity **return** Returns the solidity ratio of the blob **static** False **C++ defination code**: ```cpp float solidity() ``` #### convexity item doc **type** func **brief** get blob convexity **return** Returns a value between 0 and 1 representing how convex the object is **static** False **C++ defination code**: ```cpp float convexity() ``` #### x\\_hist\\_bins item doc **type** func **brief** get blob x_hist_bins **return** Returns the x_hist_bins of the blob **static** False **C++ defination code**: ```cpp std::vector x_hist_bins() ``` #### y\\_hist\\_bins item doc **type** func **brief** get blob y_hist_bins **return** Returns the y_hist_bins of the blob **static** False **C++ defination code**: ```cpp std::vector y_hist_bins() ``` #### major\\_axis\\_line item doc **type** func **brief** get blob major_axis_line **return** Returns a line tuple (x1, y1, x2, y2) of the minor axis of the blob. **static** False **C++ defination code**: ```cpp std::vector major_axis_line() ``` #### minor\\_axis\\_line item doc **type** func **brief** get blob minor_axis_line **return** Returns a line tuple (x1, y1, x2, y2) of the minor axis of the blob. **static** False **C++ defination code**: ```cpp std::vector minor_axis_line() ``` #### enclosing\\_circle item doc **type** func **brief** get blob enclosing_circle **return** Returns a circle tuple (x, y, r) of the circle that encloses the min area rectangle of a blob. **static** False **C++ defination code**: ```cpp std::vector enclosing_circle() ``` #### enclosed\\_ellipse item doc **type** func **brief** get blob enclosed_ellipse **return** Returns an ellipse tuple (x, y, rx, ry, rotation) of the ellipse that fits inside of the min area rectangle of a blob. **static** False **C++ defination code**: ```cpp std::vector enclosed_ellipse() ``` ### QRCode item doc **brief** QRCode class **C++ defination code**: ```cpp class QRCode ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** QRCode constructor **param** **rect**: rect of corners, type is std::vector
    **corners**: corners of QRCode
    **payload**: payload of the QRCode
    **version**: version of the QRCode
    **ecc_level**: ecc_level of the QRCode
    **mask**: mask of the QRCode
    **data_type**: data_type of the QRCode
    **eci**: eci of the QRCode
    **static** False **C++ defination code**: ```cpp QRCode(std::vector &rect, std::vector> &corners, std::string &payload, int version, int ecc_level, int mask, int data_type, int eci) ``` #### corners item doc **type** func **brief** get coordinate of QRCode **return** return the coordinate of the QRCode. **static** False **C++ defination code**: ```cpp std::vector> corners() ``` #### rect item doc **type** func **brief** get rectangle of QRCode **return** return the rectangle of the QRCode. format is {x, y, w, h}, type is std::vector **static** False **C++ defination code**: ```cpp std::vector rect() ``` #### x item doc **type** func **brief** get x of QRCode **return** return x of the QRCode, type is int **static** False **C++ defination code**: ```cpp int x() ``` #### y item doc **type** func **brief** get y of QRCode **return** return y of the QRCode, type is int **static** False **C++ defination code**: ```cpp int y() ``` #### w item doc **type** func **brief** get w of QRCode **return** return w of the QRCode, type is int **static** False **C++ defination code**: ```cpp int w() ``` #### h item doc **type** func **brief** get h of QRCode **return** return h of the QRCode, type is int **static** False **C++ defination code**: ```cpp int h() ``` #### payload item doc **type** func **brief** get QRCode payload **return** return area of the QRCode **static** False **C++ defination code**: ```cpp std::string payload() ``` #### version item doc **type** func **brief** get QRCode version **return** return version of the QRCode **static** False **C++ defination code**: ```cpp int version() ``` #### ecc\\_level item doc **type** func **brief** get QRCode error correction level **return** return error correction level of the QRCode **static** False **C++ defination code**: ```cpp int ecc_level() ``` #### mask item doc **type** func **brief** get QRCode mask **return** return mask of the QRCode **static** False **C++ defination code**: ```cpp int mask() ``` #### data\\_type item doc **type** func **brief** get QRCode dataType **return** return mask of the QRCode **static** False **C++ defination code**: ```cpp int data_type() ``` #### eci item doc **type** func **brief** get QRCode eci **return** return data of the QRCode **static** False **C++ defination code**: ```cpp int eci() ``` #### is\\_numeric item doc **type** func **brief** check QRCode is numeric **return** return true if the result type of the QRCode is numeric **static** False **C++ defination code**: ```cpp bool is_numeric() ``` #### is\\_alphanumeric item doc **type** func **brief** check QRCode is alphanumeric **return** return true if the result type of the QRCode is alphanumeric **static** False **C++ defination code**: ```cpp bool is_alphanumeric() ``` #### is\\_binary item doc **type** func **brief** check QRCode is binary **return** return true if the result type of the QRCode is binary **static** False **C++ defination code**: ```cpp bool is_binary() ``` #### is\\_kanji item doc **type** func **brief** check QRCode is kanji **return** return true if the result type of the QRCode is kanji **static** False **C++ defination code**: ```cpp bool is_kanji() ``` ### AprilTag item doc **brief** AprilTag class **C++ defination code**: ```cpp class AprilTag ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** AprilTag constructor **param** **rect**: Inlucdes the top left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector
    **corners**: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>
    **id**: The id of the AprilTag
    **famliy**: The family of the AprilTag
    **centroid_x**: The x coordinate of the center of the AprilTag
    **centroid_y**: The y coordinate of the center of the AprilTag
    **rotation**: The rotation of the AprilTag
    **decision_margin**: The decision_margin of the AprilTag
    **hamming**: The hamming of the AprilTag
    **goodness**: The goodness of the AprilTag
    **x_translation**: The x_translation of the AprilTag
    **y_translation**: The y_translation of the AprilTag
    **z_translation**: The z_translation of the AprilTag
    **x_rotation**: The x_rotation of the AprilTag
    **y_rotation**: The y_rotation of the AprilTag
    **z_rotation**: The z_rotation of the AprilTag
    **static** False **C++ defination code**: ```cpp AprilTag(std::vector &rect, std::vector> &corners, int id, int famliy, float centroid_x, float centroid_y, float rotation, float decision_margin, int hamming, float goodness, float x_translation, float y_translation, float z_translation, float x_rotation, float y_rotation, float z_rotation) ``` #### corners item doc **type** func **brief** get coordinate of AprilTag **return** return the coordinate of the AprilTag. **static** False **C++ defination code**: ```cpp std::vector> corners() ``` #### rect item doc **type** func **brief** get rectangle of AprilTag **return** return the rectangle of the AprilTag. format is {x, y, w, h}, type is std::vector **static** False **C++ defination code**: ```cpp std::vector rect() ``` #### x item doc **type** func **brief** get x of AprilTag **return** return x of the AprilTag, type is int **static** False **C++ defination code**: ```cpp int x() ``` #### y item doc **type** func **brief** get y of AprilTag **return** return y of the AprilTag, type is int **static** False **C++ defination code**: ```cpp int y() ``` #### w item doc **type** func **brief** get w of AprilTag **return** return w of the AprilTag, type is int **static** False **C++ defination code**: ```cpp int w() ``` #### h item doc **type** func **brief** get h of AprilTag **return** return h of the AprilTag, type is int **static** False **C++ defination code**: ```cpp int h() ``` #### id item doc **type** func **brief** get id of AprilTag **return** return id of the AprilTag, type is int **static** False **C++ defination code**: ```cpp int id() ``` #### family item doc **type** func **brief** get family of AprilTag **return** return family of the AprilTag, type is int **static** False **C++ defination code**: ```cpp int family() ``` #### cx item doc **type** func **brief** get cx of AprilTag **return** return cx of the AprilTag, type is int **static** False **C++ defination code**: ```cpp int cx() ``` #### cxf item doc **type** func **brief** get cxf of AprilTag **return** return cxf of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float cxf() ``` #### cy item doc **type** func **brief** get cy of AprilTag **return** return cy of the AprilTag, type is int **static** False **C++ defination code**: ```cpp int cy() ``` #### cyf item doc **type** func **brief** get cyf of AprilTag **return** return cyf of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float cyf() ``` #### rotation item doc **type** func **brief** get rotation of AprilTag **return** return rotation of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float rotation() ``` #### decision\\_margin item doc **type** func **brief** Get decision_margin of AprilTag **return** Returns the quality of the apriltag match (0.0 1.0) where 1.0 is the best. **static** False **C++ defination code**: ```cpp float decision_margin() ``` #### hamming item doc **type** func **brief** get hamming of AprilTag **return** Returns the number of accepted bit errors for this tag.
    return 0, means 0 bit errors will be accepted.
    1 is TAG25H7, means up to 1 bit error may be accepted
    2 is TAG25H9, means up to 3 bit errors may be accepted
    3 is TAG36H10, means up to 3 bit errors may be accepted
    4 is TAG36H11, means up to 4 bit errors may be accepted
    5 is ARTOOLKIT, means 0 bit errors will be accepted **static** False **C++ defination code**: ```cpp int hamming() ``` #### goodness item doc **type** func **brief** get goodness of AprilTag **return** return goodness of the AprilTag, type is float
    Note: This value is always 0.0 for now. **static** False **C++ defination code**: ```cpp float goodness() ``` #### x\\_translation item doc **type** func **brief** get x_translation of AprilTag **return** return x_translation of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float x_translation() ``` #### y\\_translation item doc **type** func **brief** get y_translation of AprilTag **return** return y_translation of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float y_translation() ``` #### z\\_translation item doc **type** func **brief** get z_translation of AprilTag **return** return z_translation of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float z_translation() ``` #### x\\_rotation item doc **type** func **brief** get x_rotation of AprilTag **return** return x_rotation of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float x_rotation() ``` #### y\\_rotation item doc **type** func **brief** get y_rotation of AprilTag **return** return y_rotation of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float y_rotation() ``` #### z\\_rotation item doc **type** func **brief** get z_rotation of AprilTag **return** return z_rotation of the AprilTag, type is float **static** False **C++ defination code**: ```cpp float z_rotation() ``` ### DataMatrix item doc **brief** DataMatrix class **C++ defination code**: ```cpp class DataMatrix ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** DataMatrix constructor **param** **rect**: Inlucdes the top left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector
    **corners**: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>
    **payload**: The payload of the DataMatrix
    **rotation**: The rotation of the DataMatrix
    **rows**: The rows of the DataMatrix
    **columns**: The columns of the DataMatrix
    **capacity**: The capacity of the DataMatrix
    **padding**: The padding of the DataMatrix
    **static** False **C++ defination code**: ```cpp DataMatrix(std::vector &rect, std::vector> &corners, std::string &payload, float rotation, int rows, int columns, int capacity, int padding) ``` #### corners item doc **type** func **brief** get coordinate of DataMatrix **return** return the coordinate of the DataMatrix. **static** False **C++ defination code**: ```cpp std::vector> corners() ``` #### rect item doc **type** func **brief** get rectangle of DataMatrix **return** return the rectangle of the DataMatrix. format is {x, y, w, h}, type is std::vector **static** False **C++ defination code**: ```cpp std::vector rect() ``` #### x item doc **type** func **brief** get x of DataMatrix **return** return x of the DataMatrix, type is int **static** False **C++ defination code**: ```cpp int x() ``` #### y item doc **type** func **brief** get y of DataMatrix **return** return y of the DataMatrix, type is int **static** False **C++ defination code**: ```cpp int y() ``` #### w item doc **type** func **brief** get w of DataMatrix **return** return w of the DataMatrix, type is int **static** False **C++ defination code**: ```cpp int w() ``` #### h item doc **type** func **brief** get h of DataMatrix **return** return h of the DataMatrix, type is int **static** False **C++ defination code**: ```cpp int h() ``` #### payload item doc **type** func **brief** get payload of DataMatrix **return** return payload of the DataMatrix, type is std::string **static** False **C++ defination code**: ```cpp std::string payload() ``` #### rotation item doc **type** func **brief** get rotation of DataMatrix **return** return rotation of the DataMatrix, type is float **static** False **C++ defination code**: ```cpp float rotation() ``` #### rows item doc **type** func **brief** get rows of DataMatrix **return** return rows of the DataMatrix, type is int **static** False **C++ defination code**: ```cpp int rows() ``` #### columns item doc **type** func **brief** get columns of DataMatrix **return** return columns of the DataMatrix, type is int **static** False **C++ defination code**: ```cpp int columns() ``` #### capacity item doc **type** func **brief** et capacity of DataMatrix **return** returns how many characters could fit in this data matrix, type is int **static** False **C++ defination code**: ```cpp int capacity() ``` #### padding item doc **type** func **brief** get padding of DataMatrix **return** returns how many unused characters are in this data matrix, type is int **static** False **C++ defination code**: ```cpp int padding() ``` ### BarCode item doc **brief** BarCode class **C++ defination code**: ```cpp class BarCode ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** BarCode constructor **param** **rect**: Inlucdes the top left corner and the width and height of the rectangle. format is {x, y, w, h}, type is std::vector
    **corners**: Includes the four corners of the rectangle. format is {{x0, y0}, {x1, y1}, {x2, y2}, {x3, y3}}, type is std::vector>
    **payload**: The payload of the BarCode
    **type**: The type of the BarCode
    **rotation**: The rotation of the BarCode
    **quality**: The quality of the BarCode
    **static** False **C++ defination code**: ```cpp BarCode(std::vector &rect, std::vector> &corners, std::string &payload, int type, float rotation, int quality) ``` #### corners item doc **type** func **brief** get coordinate of BarCode **return** return the coordinate of the BarCode. **static** False **C++ defination code**: ```cpp std::vector> corners() ``` #### rect item doc **type** func **brief** get rectangle of BarCode **return** return the rectangle of the BarCode. format is {x, y, w, h}, type is std::vector **static** False **C++ defination code**: ```cpp std::vector rect() ``` #### x item doc **type** func **brief** get x of BarCode **return** return x of the BarCode, type is int **static** False **C++ defination code**: ```cpp int x() ``` #### y item doc **type** func **brief** get y of BarCode **return** return y of the BarCode, type is int **static** False **C++ defination code**: ```cpp int y() ``` #### w item doc **type** func **brief** get w of BarCode **return** return w of the BarCode, type is int **static** False **C++ defination code**: ```cpp int w() ``` #### h item doc **type** func **brief** get h of BarCode **return** return h of the BarCode, type is int **static** False **C++ defination code**: ```cpp int h() ``` #### payload item doc **type** func **brief** get payload of BarCode **return** return payload of the BarCode, type is std::string **static** False **C++ defination code**: ```cpp std::string payload() ``` #### type item doc **type** func **brief** get type of BarCode **return** return type of the BarCode, type is int **static** False **C++ defination code**: ```cpp int type() ``` #### rotation item doc **type** func **brief** get rotation of BarCode **return** return rotation of the BarCode, type is float. FIXME: always return 0.0 **static** False **C++ defination code**: ```cpp float rotation() ``` #### quality item doc **type** func **brief** get quality of BarCode **return** return quality of the BarCode, type is int **static** False **C++ defination code**: ```cpp int quality() ``` ### Statistics item doc **brief** Statistics class **C++ defination code**: ```cpp class Statistics ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Statistics constructor **param** **format**: The statistics source image format
    **l_statistics**: The statistics of the L channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector
    **a_statistics**: The statistics of the A channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector
    **b_statistics**: The statistics of the B channel. format is {mean, median, mode, std_dev, min, max, lq, uq}, type is std::vector
    **static** False **C++ defination code**: ```cpp Statistics(image::Format format, std::vector &l_statistics, std::vector &a_statistics, std::vector &b_statistics) ``` #### format item doc **type** func **brief** get format of Statistics source image **return** return format of the Statistics source image, type is image::Format **static** False **C++ defination code**: ```cpp image::Format format() ``` #### l\\_mean item doc **type** func **brief** get L channel mean **return** return L channel mean, type is int **static** False **C++ defination code**: ```cpp int l_mean() ``` #### l\\_median item doc **type** func **brief** get L channel median **return** return L channel median, type is int **static** False **C++ defination code**: ```cpp int l_median() ``` #### l\\_mode item doc **type** func **brief** get L channel mode **return** return L channel mode, type is int **static** False **C++ defination code**: ```cpp int l_mode() ``` #### l\\_std\\_dev item doc **type** func **brief** get L channel std_dev **return** return L channel std_dev, type is int **static** False **C++ defination code**: ```cpp int l_std_dev() ``` #### l\\_min item doc **type** func **brief** get L channel min **return** return L channel min, type is int **static** False **C++ defination code**: ```cpp int l_min() ``` #### l\\_max item doc **type** func **brief** get L channel max **return** return L channel max, type is int **static** False **C++ defination code**: ```cpp int l_max() ``` #### l\\_lq item doc **type** func **brief** get L channel lq **return** return L channel lq, type is int **static** False **C++ defination code**: ```cpp int l_lq() ``` #### l\\_uq item doc **type** func **brief** get L channel uq **return** return L channel uq, type is int **static** False **C++ defination code**: ```cpp int l_uq() ``` #### a\\_mean item doc **type** func **brief** get A channel mean **return** return A channel mean, type is int **static** False **C++ defination code**: ```cpp int a_mean() ``` #### a\\_median item doc **type** func **brief** get A channea median **return** return A channel median, type is int **static** False **C++ defination code**: ```cpp int a_median() ``` #### a\\_mode item doc **type** func **brief** get A channel mode **return** return A channel mode, type is int **static** False **C++ defination code**: ```cpp int a_mode() ``` #### a\\_std\\_dev item doc **type** func **brief** get A channel std_dev **return** return A channel std_dev, type is int **static** False **C++ defination code**: ```cpp int a_std_dev() ``` #### a\\_min item doc **type** func **brief** get A channel min **return** return A channel min, type is int **static** False **C++ defination code**: ```cpp int a_min() ``` #### a\\_max item doc **type** func **brief** get A channel max **return** return A channel max, type is int **static** False **C++ defination code**: ```cpp int a_max() ``` #### a\\_lq item doc **type** func **brief** get A channel lq **return** return A channel lq, type is int **static** False **C++ defination code**: ```cpp int a_lq() ``` #### a\\_uq item doc **type** func **brief** get A channel uq **return** return A channel uq, type is int **static** False **C++ defination code**: ```cpp int a_uq() ``` #### b\\_mean item doc **type** func **brief** get B channel mean **return** return B channel mean, type is int **static** False **C++ defination code**: ```cpp int b_mean() ``` #### b\\_median item doc **type** func **brief** get B channea median **return** return B channel median, type is int **static** False **C++ defination code**: ```cpp int b_median() ``` #### b\\_mode item doc **type** func **brief** get B channel mode **return** return B channel mode, type is int **static** False **C++ defination code**: ```cpp int b_mode() ``` #### b\\_std\\_dev item doc **type** func **brief** get B channel std_dev **return** return B channel std_dev, type is int **static** False **C++ defination code**: ```cpp int b_std_dev() ``` #### b\\_min item doc **type** func **brief** get B channel min **return** return B channel min, type is int **static** False **C++ defination code**: ```cpp int b_min() ``` #### b\\_max item doc **type** func **brief** get B channel max **return** return B channel max, type is int **static** False **C++ defination code**: ```cpp int b_max() ``` #### b\\_lq item doc **type** func **brief** get B channel lq **return** return B channel lq, type is int **static** False **C++ defination code**: ```cpp int b_lq() ``` #### b\\_uq item doc **type** func **brief** get B channel uq **return** return B channel uq, type is int **static** False **C++ defination code**: ```cpp int b_uq() ``` ### Displacement item doc **brief** Displacement class **C++ defination code**: ```cpp class Displacement ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Displacement constructor **param** **x_translation**: The x_translation of the Displacement
    **y_translation**: The y_translation of the Displacement
    **rotation**: The rotation of the Displacement
    **scale**: The scale of the Displacement
    **response**: The response of the Displacement
    **static** False **C++ defination code**: ```cpp Displacement(float x_translation, float y_translation, float rotation, float scale, float response) ``` #### x\\_translation item doc **type** func **brief** get x_translation of Displacement **return** return x_translation of the Displacement, type is float **static** False **C++ defination code**: ```cpp float x_translation() ``` #### y\\_translation item doc **type** func **brief** get y_translation of Displacement **return** return y_translation of the Displacement, type is float **static** False **C++ defination code**: ```cpp float y_translation() ``` #### rotation item doc **type** func **brief** get rotation of Displacement **return** return rotation of the Displacement, type is float **static** False **C++ defination code**: ```cpp float rotation() ``` #### scale item doc **type** func **brief** get scale of Displacement **return** return scale of the Displacement, type is float **static** False **C++ defination code**: ```cpp float scale() ``` #### response item doc **type** func **brief** get response of Displacement **return** return response of the Displacement, type is float **static** False **C++ defination code**: ```cpp float response() ``` ### LBPKeyPoint item doc **brief** LBPKeyPoint class **C++ defination code**: ```cpp class LBPKeyPoint ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** LBPKeyPoint constructor **param** **data**: The data of the LBPKeyPoint
    **static** False **C++ defination code**: ```cpp LBPKeyPoint(std::valarray &data) ``` ### KeyPoint item doc **brief** KeyPoint class **C++ defination code**: ```cpp class KeyPoint ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** KeyPoint constructor **param** **x**: The x of the KeyPoint
    **y**: The y of the KeyPoint
    **score**: The score of the KeyPoint
    **octave**: The octave of the KeyPoint
    **angle**: The angle of the KeyPoint
    **matched**: The matched of the KeyPoint
    **desc**: The desc of the KeyPoint
    **static** False **C++ defination code**: ```cpp KeyPoint(uint16_t x, uint16_t y, uint16_t score, uint16_t octave, uint16_t angle, uint16_t matched, std::vector &desc) ``` ### KPTMatch item doc **brief** KPTMatch class **C++ defination code**: ```cpp class KPTMatch ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** KPTMatch constructor **param** **cx**: The cx of the KPTMatch
    **cy**: The cy of the KPTMatch
    **x**: The x of the KPTMatch
    **y**: The y of the KPTMatch
    **w**: The w of the KPTMatch
    **h**: The h of the KPTMatch
    **score**: The score of the KPTMatch
    **theta**: The theta of the KPTMatch
    **match**: The match of the KPTMatch
    **static** False **C++ defination code**: ```cpp KPTMatch(int cx, int cy, int x, int y, int w, int h, int score, int theta, int match) ``` ### ORBKeyPoint item doc **brief** ORBKeyPoint class **C++ defination code**: ```cpp class ORBKeyPoint ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** ORBKeyPoint constructor **param** **data**: The data of the ORBKeyPoint
    **threshold**: The threshold of the ORBKeyPoint
    **normalized**: The normalized of the ORBKeyPoint
    **static** False **C++ defination code**: ```cpp ORBKeyPoint(std::vector &data, int threshold, bool normalized) ``` #### get\\_data item doc **type** func **brief** get data of ORBKeyPoint **return** return data of the ORBKeyPoint, type is std::vector **static** False **C++ defination code**: ```cpp std::vector get_data() ``` ### HaarCascade item doc **brief** HaarCascade class **C++ defination code**: ```cpp class HaarCascade ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** HaarCascade constructor **param** **data**: The data of the HaarCascade
    **threshold**: The threshold of the HaarCascade
    **normalized**: The normalized of the HaarCascade
    **static** False **C++ defination code**: ```cpp HaarCascade() ``` ### Color item doc **brief** Color class **C++ defination code**: ```cpp class Color ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Color constructor **param** **alpha**: alpha channel, value range: 0 ~ 1
    **static** False **C++ defination code**: ```cpp Color(uint8_t ch1, uint8_t ch2 0, uint8_t ch3 0, float alpha 0, image::Format format image::FMT_GRAYSCALE) ``` #### r item doc **type** var **brief** Color red channel **static** False **readonly** False **C++ defination code**: ```cpp uint8_t r ``` #### g item doc **type** var **brief** Color green channel **static** False **readonly** False **C++ defination code**: ```cpp uint8_t g ``` #### b item doc **type** var **brief** Color blue channel **static** False **readonly** False **C++ defination code**: ```cpp uint8_t b ``` #### alpha item doc **type** var **brief** Color alpha channel, value from 0.0 to 1.0, float value **static** False **readonly** False **C++ defination code**: ```cpp float alpha ``` #### gray item doc **type** var **brief** Color gray channel **static** False **readonly** False **C++ defination code**: ```cpp uint8_t gray ``` #### format item doc **type** var **brief** Color format **static** False **readonly** False **C++ defination code**: ```cpp image::Format format ``` #### hex item doc **type** func **brief** Get color's hex value **static** False **C++ defination code**: ```cpp uint32_t hex() ``` #### from\\_rgb item doc **type** func **brief** Create Color object from RGB channels **static** True **C++ defination code**: ```cpp static image::Color from_rgb(uint8_t r, uint8_t g, uint8_t b) ``` #### from\\_bgr item doc **type** func **brief** Create Color object from BGR channels **static** True **C++ defination code**: ```cpp static image::Color from_bgr(uint8_t b, uint8_t g, uint8_t r) ``` #### from\\_gray item doc **type** func **brief** Create Color object from gray channel **static** True **C++ defination code**: ```cpp static image::Color from_gray(uint8_t gray) ``` #### from\\_rgba item doc **type** func **brief** Create Color object from RGBA channels **param** **alpha**: alpha channel, float value, value range: 0 ~ 1
    **static** True **C++ defination code**: ```cpp static image::Color from_rgba(uint8_t r, uint8_t g, uint8_t b, float alpha) ``` #### from\\_bgra item doc **type** func **brief** Create Color object from BGRA channels **param** **alpha**: alpha channel, float value, value range: 0 ~ 1
    **static** True **C++ defination code**: ```cpp static image::Color from_bgra(uint8_t b, uint8_t g, uint8_t r, float alpha) ``` #### from\\_hex item doc **type** func **brief** Create Color object from hex value **param** **hex**: hex value, e.g. 0x0000FF00, lower address if first channel
    **format**: color format, @see image::Format
    **static** True **C++ defination code**: ```cpp static image::Color from_hex(uint32_t hex, image::Format &format) ``` #### to\\_format item doc **type** func **brief** Convert Color format **param** **format**: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE.
    **static** False **C++ defination code**: ```cpp void to_format(const image::Format &format) ``` #### to\\_format2 item doc **type** func **brief** Convert color format and return a new Color object **param** **format**: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE.
    **return** new Color object, you need to delete it manually in C++. **static** False **C++ defination code**: ```cpp image::Color *to_format2(const image::Format &format) ``` ### Image item doc **brief** Image class **C++ defination code**: ```cpp class Image ``` #### \\_\\_init\\_\\_ item doc **type** func **brief** Image constructor **param** **width**: image width, should > 0
    **height**: image height, should > 0
    **format**: image format @see image::Format
    **data**: image data, if data is nullptr, will malloc memory for image data
    If the image is in jpeg format, data must be filled in.
    **data_size**: image data size, only for compressed format like jpeg png, data_size must be filled in.
    **copy**: if true and data is not nullptr, will copy data to new buffer, else will use data directly. default is true to avoid memory leak.
    **static** False **C++ defination code**: ```cpp Image(int width, int height, image::Format format image::Format::FMT_RGB888, void *data nullptr, int data_size 1, bool copy true) ``` #### format item doc **type** func **brief** Get image's format **see** image.Format **static** False **C++ defination code**: ```cpp image::Format format() ``` #### size item doc **type** func **brief** Get image's size, [width, height] **static** False **C++ defination code**: ```cpp image::Size size() ``` #### data\\_size item doc **type** func **brief** Get image's data size **static** False **C++ defination code**: ```cpp int data_size() ``` #### width item doc **type** func **brief** Get image's width **static** False **C++ defination code**: ```cpp int width() ``` #### height item doc **type** func **brief** Get image's height **static** False **C++ defination code**: ```cpp int height() ``` #### data item doc **type** func **brief** Get image's data pointer.\\nIn MaixPy is capsule object. **static** False **C++ defination code**: ```cpp void *data() ``` #### \\_\\_str\\_\\_ item doc **type** func **brief** To string method **static** False **C++ defination code**: ```cpp std::string __str__() ``` #### to\\_str item doc **type** func **brief** To string method **static** False **C++ defination code**: ```cpp std::string to_str() ``` #### get\\_pixel item doc **type** func **brief** Get pixel of image **param** **x**: pixel's coordinate x. x must less than image's width
    **y**: pixel's coordinate y. y must less than image's height
    **rgbtuple**: switch return value method. rgbtuple decides whether to split the return or not. default is false.
    **return** pixel value,
    According to image format and rgbtuple, return different value:
    format is FMT_RGB888, rgbtuple is true, return [R, G, B]; rgbtuple is false, return [RGB]
    foramt is FMT_BGR888, rgbtuple is true, return [B, G, R]; rgbtuple is false, return [BGR]
    format is FMT_GRAYSCALE, return [GRAY]; **static** False **C++ defination code**: ```cpp std::vector get_pixel(int x, int y, bool rgbtuple false) ``` #### set\\_pixel item doc **type** func **brief** Set pixel of image **param** **x**: pixel's coordinate x. x must less than image's width
    **y**: pixel's coordinate y. y must less than image's height
    **pixel**: pixel value, according to image format and size of pixel, has different operation:
    format is FMT_RGB888, pixel size must be 1 or 3, if size is 1, will split pixel[0] to [R, G, B]; if size is 3, will use pixel directly
    format is FMT_BGR888, pixel size must be 1 or 3, if size is 1, will split pixel[0] to [B, G, R]; if size is 3, will use pixel directly
    format is FMT_GRAYSCALE, pixel size must be 1, will use pixel directly
    **return** error code, Err::ERR_NONE is ok, other is error **static** False **C++ defination code**: ```cpp err::Err set_pixel(int x, int y, std::vector pixel) ``` #### to\\_tensor item doc **type** func **brief** Convert Image object to tensor::Tensor object **param** **chw**: if true, the shape of tensor is [C, H, W], else [H, W, C]
    **copy**: if true, will alloc memory for tensor data, else will use the memory of Image object
    **return** tensor::Tensor object pointer, an allocated tensor object **static** False **C++ defination code**: ```cpp tensor::Tensor *to_tensor(bool chw false, bool copy true) ``` #### to\\_bytes item doc **type** func **brief** Get image's data and convert to array bytes **param** **copy**: if true, will alloc memory and copy data to new buffer,
    else will use the memory of Image object, delete bytes object will not affect Image object,
    but delete Image object will make bytes object invalid, it may cause program crash !!!!
    So use this param carefully.
    **return** image's data bytes, need be delete by caller in C++. **static** False **C++ defination code**: ```cpp Bytes *to_bytes(bool copy true) ``` #### to\\_format item doc **type** func **brief** Convert image to specific format **param** **format**: format want to convert to, @see image::Format, only support RGB888, BGR888, RGBA8888, BGRA8888, GRAYSCALE, JPEG.
    **return** new image object. Need be delete by caller in C++. **throw** err.Exception, if two images' format not support, **or already the format**, will raise exception **static** False **C++ defination code**: ```cpp image::Image *to_format(const image::Format &format) ``` #### draw\\_image item doc **type** func **brief** Draw image on this image **param** **x**: left top corner of image point's coordinate x
    **y**: left top corner of image point's coordinate y
    **img**: image object to draw, the caller's channel must < the args' channel,
    e.g. caller is RGB888, args is RGBA8888, will throw exception, but caller is RGBA8888, args is RGB888 or RGBA8888 is ok
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_image(int x, int y, image::Image &img) ``` #### draw\\_rect item doc **type** func **brief** Fill rectangle color to image **param** **x**: left top corner of rectangle point's coordinate x
    **y**: left top corner of rectangle point's coordinate y
    **w**: rectangle width
    **h**: rectangle height
    **color**: rectangle color
    **thickness**: rectangle thickness(line width), by default(value is 1), 1 means fill rectangle
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_rect(int x, int y, int w, int h, const image::Color &color, int thickness 1) ``` #### draw\\_line item doc **type** func **brief** Draw line on image **param** **x1**: start point's coordinate x
    **y1**: start point's coordinate y
    **x2**: end point's coordinate x
    **y2**: end point's coordinate y
    **color**: line color @see image::Color
    **thickness**: line thickness(line width), by default(value is 1)
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_line(int x1, int y1, int x2, int y2, const image::Color &color, int thickness 1) ``` #### draw\\_circle item doc **type** func **brief** Draw circle on image **param** **x**: circle center point's coordinate x
    **y**: circle center point's coordinate y
    **radius**: circle radius
    **color**: circle color @see image::Color
    **thickness**: circle thickness(line width), by default(value is 1), 1 means fill circle
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_circle(int x, int y, int radius, const image::Color &color, int thickness 1) ``` #### draw\\_ellipse item doc **type** func **brief** Draw ellipse on image **param** **x**: ellipse center point's coordinate x
    **y**: ellipse center point's coordinate y
    **a**: ellipse major axis length
    **b**: ellipse minor axis length
    **angle**: ellipse rotation angle
    **start_angle**: ellipse start angle
    **end_angle**: ellipse end angle
    **color**: ellipse color @see image::Color
    **thickness**: ellipse thickness(line width), by default(value is 1), 1 means fill ellipse
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_ellipse(int x, int y, int a, int b, float angle, float start_angle, float end_angle, const image::Color &color, int thickness 1) ``` #### draw\\_text item doc **type** func **brief** Draw text on image **param** **x**: text left top point's coordinate x
    **y**: text left top point's coordinate y
    **text**: text content
    **color**: text color @see image::Color, default is white
    **scale**: font scale, by default(value is 1)
    **thickness**: text thickness(line width), if negative, the glyph is filled, by default(value is 1)
    **wrap**: if true, will auto wrap text to next line if text width > image width, by default(value is true)
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_text(int x, int y, const std::string &text, const image::Color &color image::COLOR_WHITE, float scale 1, int thickness 1, bool wrap true, int wrap_space 4, const std::string &font \"\") ``` #### draw\\_arrow item doc **type** func **brief** Draw arrow on image **param** **x0**: start coordinate of the arrow x0
    **y0**: start coordinate of the arrow y0
    **x1**: end coordinate of the arrow x1
    **y1**: end coordinate of the arrow y1
    **color**: cross color @see image::Color
    **thickness**: cross thickness(line width), by default(value is 1)
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_arrow(int x0, int y0, int x1, int y1, const image::Color &color, int thickness 1) ``` #### draw\\_edges item doc **type** func **brief** Draw edges on image **param** **corners**: edges, [[x0, y0], [x1, y1], [x2, y2], [x3, y3]]
    **color**: edges color @see image::Color
    **size**: the circle of radius size. TODO: support in the feature
    **thickness**: edges thickness(line width), by default(value is 1)
    **fill**: if true, will fill edges, by default(value is false)
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_edges(std::vector> corners, const image::Color &color, int size 0, int thickness 1, bool fill false) ``` #### draw\\_keypoints item doc **type** func **brief** Draw keypoints on image **param** **keypoints**: keypoints, [x, y, rotation_andle_in_degrees], TODO: rotation_andle_in_degrees support in the feature
    **color**: keypoints color @see image::Color
    **size**: size of keypoints
    **thickness**: keypoints thickness(line width), by default(value is 1)
    **fill**: if true, will fill keypoints, by default(value is false)
    **return** this image object self **static** False **C++ defination code**: ```cpp image::Image *draw_keypoints(std::vector keypoints, const image::Color &color, int size 10, int thickness 1, bool fill false) ``` #### resize item doc **type** func **brief** Resize image, will create a new resized image object **param** **width**: new width, if value is 1, will use height to calculate aspect ratio
    **height**: new height, if value is 1, will use width to calculate aspect ratio
    **object_fit**: fill, contain, cover, by default is fill
    **method**: resize method, by default is bilinear
    **return** Always return a new resized image object even size not change, So in C++ you should take care of the return value to avoid memory leak.
    And it's better to judge whether the size has changed before calling this function to make the program more efficient.
    e.g.
    if img >width() ! width img >height() ! height:
    img img >resize(width, height); **static** False **C++ defination code**: ```cpp image::Image *resize(int width, int height, image::Fit object_fit image::Fit::FIT_FILL, image::ResizeMethod method image::ResizeMethod::NEAREST) ``` #### affine item doc **type** func **brief** Affine transform image, will create a new transformed image object **param** **src_points**: three source points, [x1, y1, x2, y2, x3, y3]
    **dst_points**: three destination points, [x1, y1, x2, y2, x3, y3]
    **width**: new width, if value is 1, will use height to calculate aspect ratio
    **height**: new height, if value is 1, will use width to calculate aspect ratio
    **method**: resize method, by default is bilinear
    **return** new transformed image object **static** False **C++ defination code**: ```cpp image::Image *affine(std::vector src_points, std::vector dst_points, int width 1, int height 1, image::ResizeMethod method image::ResizeMethod::BILINEAR) ``` #### copy item doc **type** func **brief** Copy image, will create a new copied image object **return** new copied image object **static** False **C++ defination code**: ```cpp image::Image *copy() ``` #### crop item doc **type** func **brief** Crop image, will create a new cropped image object **param** **x**: left top corner of crop rectangle point's coordinate x
    **y**: left top corner of crop rectangle point's coordinate y
    **w**: crop rectangle width
    **h**: crop rectangle height
    **return** new cropped image object **static** False **C++ defination code**: ```cpp image::Image *crop(int x, int y, int w, int h) ``` #### rotate item doc **type** func **brief** Rotate image, will create a new rotated image object **param** **angle**: anti clock wise rotate angle, if angle is 90 or 270, and width or height is 1, will swap width and height, or will throw exception
    **width**: new width, if value is 1, will use height to calculate aspect ratio
    **height**: new height, if value is 1, will use width to calculate aspect ratio
    **method**: resize method, by default is bilinear
    **return** new rotated image object **static** False **C++ defination code**: ```cpp image::Image *rotate(float angle, int width 1, int height 1, image::ResizeMethod method image::ResizeMethod::BILINEAR) ``` #### mean\\_pool item doc **type** func **brief** Finds the mean of x_div * y_div squares in the image and returns the modified image composed of the mean of each square. **param** **x_div**: The width of the squares.
    **y_div**: The height of the squares.
    **copy**: Select whether to return a new image or modify the original image. default is false.
    If true, returns a new image composed of the mean of each square; If false, returns the modified image composed of the mean of each square.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *mean_pool(int x_div, int y_div, bool copy false) ``` #### midpoint\\_pool item doc **type** func **brief** Finds the midpoint of x_div * y_div squares in the image and returns the modified image composed of the mean of each square. **param** **x_div**: The width of the squares.
    **y_div**: The height of the squares.
    **bias**: The bias of the midpoint. default is 0.5.
    midpoint value is equal to (max * bias + min * (1 bias))
    **copy**: Select whether to return a new image or modify the original image. default is false.
    If true, returns a new image composed of the midpoint of each square; If false, returns the modified image composed of the midpoint of each square.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *midpoint_pool(int x_div, int y_div, double bias 0.5, bool copy false) ``` #### compress item doc **type** func **brief** JPEG compresses the image in place. **param** **quality**: The quality of the compressed image. default is 95.
    **return** Returns the compressed JPEG image **static** False **C++ defination code**: ```cpp image::Image *compress(int quality 95) ``` #### clear item doc **type** func **brief** Sets all pixels in the image to zero **param** **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *clear(image::Image *mask nullptr) ``` #### mask\\_rectange item doc **type** func **brief** Zeros a rectangular part of the image. If no arguments are supplied this method zeros the center of the image. **param** **x**: The x coordinate of the top left corner of the rectangle.
    **y**: The y coordinate of the top left corner of the rectangle.
    **w**: The width of the rectangle.
    **h**: The height of the rectangle.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *mask_rectange(int x 1, int y 1, int w 1, int h 1) ``` #### mask\\_circle item doc **type** func **brief** Zeros a circular part of the image. If no arguments are supplied this method zeros the center of the image. **param** **x**: The x coordinate of the center of the circle.
    **y**: The y coordinate of the center of the circle.
    **radius**: The radius of the circle.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *mask_circle(int x 1, int y 1, int radius 1) ``` #### mask\\_ellipse item doc **type** func **brief** Zeros a ellipse part of the image. If no arguments are supplied this method zeros the center of the image. **param** **x**: The x coordinate of the center of the ellipse.
    **y**: The y coordinate of the center of the ellipse.
    **radius_x**: The radius of the ellipse in the x direction.
    **radius_y**: The radius of the ellipse in the y direction.
    **rotation_angle_in_degrees**: The rotation angle of the ellipse in degrees.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *mask_ellipse(int x 1, int y 1, int radius_x 1, int radius_y 1, float rotation_angle_in_degrees 0) ``` #### binary item doc **type** func **brief** Sets all pixels in the image to black or white depending on if the pixel is inside of a threshold in the threshold list thresholds or not. **param** **thresholds**: You can define multiple thresholds.
    For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
    For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
    Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
    **invert**: If true, the thresholds will be inverted before the operation. default is false.
    **zero**: If zero is true, the image will be set the pixels within the threshold to 0, other pixels remain unchanged. If zero is false, the image will be set to black or white. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **to_bitmap**: If true, the image will be converted to a bitmap image before thresholding. default is false. TODO: support in the feature
    **copy**: Select whether to return a new image or modify the original image. default is false.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *binary(std::vector> thresholds std::vector>(), bool invert false, bool zero false, image::Image *mask nullptr, bool to_bitmap false, bool copy false) ``` #### invert item doc **type** func **brief** Inverts the image in place. **return** Returns the image after the operation is completed **static** False **C++ defination code**: ```cpp image::Image *invert() ``` #### b\\_and item doc **type** func **brief** Performs a bitwise and operation between the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *b_and(image::Image *other, image::Image *mask nullptr) ``` #### b\\_nand item doc **type** func **brief** Performs a bitwise nand operation between the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *b_nand(image::Image *other, image::Image *mask nullptr) ``` #### b\\_or item doc **type** func **brief** Performs a bitwise or operation between the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *b_or(image::Image *other, image::Image *mask nullptr) ``` #### b\\_nor item doc **type** func **brief** Performs a bitwise nor operation between the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *b_nor(image::Image *other, image::Image *mask nullptr) ``` #### b\\_xor item doc **type** func **brief** Performs a bitwise xor operation between the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *b_xor(image::Image *other, image::Image *mask nullptr) ``` #### b\\_xnor item doc **type** func **brief** Performs a bitwise xnor operation between the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *b_xnor(image::Image *other, image::Image *mask nullptr) ``` #### awb item doc **type** func **brief** Performs an auto white balance operation on the image. TODO: support in the feature **param** **max**: if True uses the white patch algorithm instead. default is false.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *awb(bool max false) ``` #### ccm item doc **type** func **brief** Multiples the passed (3x3) or (4x3) floating point color correction matrix with the image.\\nnote: Grayscale format is not support. **param** **matrix**: The color correction matrix to use. 3x3 or 4x3 matrix.
    Weights may either be positive or negative, and the sum of each column in the 3x3 matrix should generally be 1.
    example:
    {
    1, 0, 0,
    0, 1, 0,
    0, 0, 1,
    }
    Where the last row of the 4x3 matrix is an offset per color channel. If you add an offset you may wish to make the
    weights sum to less than 1 to account for the offset.
    example:
    {
    1, 0, 0,
    0, 1, 0,
    0, 0, 1,
    0, 0, 0,
    }
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *ccm(std::vector &matrix) ``` #### gamma item doc **type** func **brief** Quickly changes the image gamma, contrast, and brightness. Create a array whose size is usually 255,\\nand use the parameters gamma, contrast, and brightness to calculate the value of the array, and then map the\\nimage pixel value through the value of the array.\\nThe calculation method for array is: array[array_idx] (powf((array_idx / 255.0), (1 / gamma)) * contrast + brightness) * scale,\\n`powf` is a function used to calculate floating point power.\\n`array` is the array used for mapping.\\n`array_idx` is the index of the array, the maximum value is determined according to the image format, usually 255.\\n`scale` is a constant, the value is determined by the image format, usually 255.\\nMapping method:\\nAssume that a pixel value in the image is 128, then map the pixel value to the value of array[128]\\nUsers can adjust the value of the array through the gamma, contrast, and brightness parameters. **param** **gamma**: The contrast gamma greater than 1.0 makes the image darker in a non linear manner while less than 1.0 makes the image brighter. default is 1.0.
    **contrast**: The contrast value greater than 1.0 makes the image brighter in a linear manner while less than 1.0 makes the image darker. default is 1.0.
    **brightness**: The brightness value greater than 0.0 makes the image brighter in a constant manner while less than 0.0 makes the image darker. default is 0.0.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *gamma(double gamma 1.0, double contrast 1.0, double brightness 0.0) ``` #### gamma\\_corr item doc **type** func **brief** Alias for Image.gamma. **param** **gamma**: The contrast gamma greater than 1.0 makes the image darker in a non linear manner while less than 1.0 makes the image brighter. default is 1.0.
    **contrast**: The contrast value greater than 1.0 makes the image brighter in a linear manner while less than 1.0 makes the image darker. default is 1.0.
    **brightness**: The brightness value greater than 0.0 makes the image brighter in a constant manner while less than 0.0 makes the image darker. default is 0.0.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *gamma_corr(double gamma, double contrast 1.0, double brightness 0.0) ``` #### negate item doc **type** func **brief** Flips (numerically inverts) all pixels values in an image **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *negate() ``` #### replace item doc **type** func **brief** Replaces all pixels in the image with the corresponding pixels in the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on.
    **hmirror**: If true, the image will be horizontally mirrored before the operation. default is false.
    **vflip**: If true, the image will be vertically flipped before the operation. default is false.
    **transpose**: If true, the image can be used to rotate 90 degrees or 270 degrees.
    hmirror false, vflip false, transpose false, the image will not be rotated.
    hmirror false, vflip true, transpose true, the image will be rotated 90 degrees.
    hmirror true, vflip true, transpose false, the image will be rotated 180 degrees.
    hmirror true, vflip false, transpose true, the image will be rotated 270 degrees.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *replace(image::Image *other nullptr, bool hmirror false, bool vflip false, bool transpose false, image::Image *mask nullptr) ``` #### set item doc **type** func **brief** Alias for Image::replace. **param** **other**: The other image should be an image and should be the same size as the image being operated on.
    **hmirror**: If true, the image will be horizontally mirrored before the operation. default is false.
    **vflip**: If true, the image will be vertically flipped before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *set(image::Image *other, bool hmirror false, bool vflip false, bool transpose false, image::Image *mask nullptr) ``` #### add item doc **type** func **brief** Adds the other image to the image. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *add(image::Image *other, image::Image *mask nullptr) ``` #### sub item doc **type** func **brief** Subtracts the other image from the image. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **reverse**: If true, the image will be reversed before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *sub(image::Image *other, bool reverse false, image::Image *mask nullptr) ``` #### mul item doc **type** func **brief** Multiplies the image by the other image.\\nNote: This method is meant for image blending and cannot multiply the pixels in the image by a scalar like 2. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **invert**: If true, the image will be change the multiplication operation from a*b to 1/((1/a)*(1/b)).
    In particular, this lightens the image instead of darkening it (e.g. multiply versus burn operations). default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *mul(image::Image *other, bool invert false, image::Image *mask nullptr) ``` #### div item doc **type** func **brief** Divides the image by the other image.\\nThis method is meant for image blending and cannot divide the pixels in the image by a scalar like 2. **param** **other**: The other image should be an image and should be the same size as the image being operated on. TODO: support path?
    **invert**: If true, the image will be change the division direction from a/b to b/a. default is false.
    **mod**: If true, the image will be change the division operation to the modulus operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *div(image::Image *other, bool invert false, bool mod false, image::Image *mask nullptr) ``` #### min item doc **type** func **brief** Caculate the minimum of each pixel in the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *min(image::Image *other, image::Image *mask nullptr) ``` #### max item doc **type** func **brief** Caculate the maximum of each pixel in the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *max(image::Image *other, image::Image *mask nullptr) ``` #### difference item doc **type** func **brief** Caculate the absolute value of the difference between each pixel in the image and the other image. **param** **other**: The other image should be an image and should be the same size as the image being operated on.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *difference(image::Image *other, image::Image *mask nullptr) ``` #### blend item doc **type** func **brief** Blends the image with the other image.\\nres alpha * this_img / 256 + (256 alpha) * other_img / 256 **param** **other**: The other image should be an image and should be the same size as the image being operated on.
    **alpha**: The alpha value of the blend, the value range is [0, 256],default is 128.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *blend(image::Image *other, int alpha 128, image::Image *mask nullptr) ``` #### histeq item doc **type** func **brief** Runs the histogram equalization algorithm on the image. **param** **adaptive**: If true, an adaptive histogram equalization method will be run on the image instead which as generally better results than non adaptive histogram qualization but a longer run time. default is false.
    **clip_limit**: Provides a way to limit the contrast of the adaptive histogram qualization. Use a small value for this, like 10, to produce good histogram equalized contrast limited images. default is 1.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *histeq(bool adaptive false, int clip_limit 1, image::Image *mask nullptr) ``` #### mean item doc **type** func **brief** Standard mean blurring filter using a box filter.\\nThe parameters offset and invert are valid when threshold is True. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **threshold**: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
    default is false.
    **offset**: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *mean(int size, bool threshold false, int offset 0, bool invert false, image::Image *mask nullptr) ``` #### median item doc **type** func **brief** Runs the median filter on the image. The median filter is the best filter for smoothing surfaces while preserving edges but it is very slow. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **percentile**: This parameter controls the percentile of the value used in the kernel. You can set this to 0 for a min filter, 0.25 for a lower quartile filter, 0.75 for an upper quartile filter, and 1.0 for a max filter. default is 0.5.
    **threshold**: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
    default is false.
    **offset**: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *median(int size, double percentile 0.5, bool threshold false, int offset 0, bool invert false, image::Image *mask nullptr) ``` #### mode item doc **type** func **brief** Runs the mode filter on the image by replacing each pixel with the mode of their neighbors. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **threshold**: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
    default is false.
    **offset**: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *mode(int size, bool threshold false, int offset 0, bool invert false, image::Image *mask nullptr) ``` #### midpoint item doc **type** func **brief** Runs the midpoint filter on the image.This filter finds the midpoint (max * bias + min * (1 bias)) of each pixel neighborhood in the image. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **bias**: The bias of the midpoint. default is 0.5.
    **threshold**: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
    default is false.
    **offset**: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *midpoint(int size, double bias 0.5, bool threshold false, int offset 0, bool invert false, image::Image *mask nullptr) ``` #### morph item doc **type** func **brief** Convolves the image by a filter kernel. This allows you to do general purpose convolutions on an image. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **kernel**: The kernel used for convolution. The kernel should be a list of lists of numbers. The kernel should be the same size as the actual kernel size.
    **mul**: This parameter is used to multiply the convolved pixel results. default is auto.
    **add**: This parameter is the value to be added to each convolution pixel result. default is 0.0.
    **threshold**: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
    default is false.
    **offset**: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *morph(int size, std::vector kernel, float mul 1, float add 0.0, bool threshold false, int offset 0, bool invert false, image::Image *mask nullptr) ``` #### gaussian item doc **type** func **brief** Convolves the image by a smoothing guassian kernel. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **unsharp**: If true, this method will perform an unsharp mask operation instead of gaussian filtering operation, this improves the clarity of image edges. default is false.
    **mul**: This parameter is used to multiply the convolved pixel results. default is auto.
    **add**: This parameter is the value to be added to each convolution pixel result. default is 0.0.
    **threshold**: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
    default is false.
    **offset**: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *gaussian(int size, bool unsharp false, float mul 1, float add 0.0, bool threshold false, int offset 0, bool invert false, image::Image *mask nullptr) ``` #### laplacian item doc **type** func **brief** Convolves the image by a edge detecting laplacian kernel. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **sharpen**: If True, this method will sharpen the image instead of an unthresholded edge detection image. Then increase the kernel size to improve image clarity. default is false.
    **mul**: This parameter is used to multiply the convolved pixel results. default is auto.
    **add**: This parameter is the value to be added to each convolution pixel result. default is 0.0.
    **threshold**: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
    default is false.
    **offset**: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *laplacian(int size, bool sharpen false, float mul 1, float add 0.0, bool threshold false, int offset 0, bool invert false, image::Image *mask nullptr) ``` #### bilateral item doc **type** func **brief** Convolves the image by a bilateral filter. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **color_sigma**: Controls how closely colors are matched using the bilateral filter. default is 0.1.
    **space_sigma**: Controls how closely pixels space wise are blurred with each other. default is 1.
    **threshold**: If true, which will enable adaptive thresholding of the image which sets pixels to white or black based on a pixel’s brightness in relation to the brightness of the kernel of pixels around them.
    default is false.
    **offset**: The larger the offset value, the lower brightness pixels on the original image will be set to white. default is 0.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *bilateral(int size, double color_sigma 0.1, double space_sigma 1, bool threshold false, int offset 0, bool invert false, image::Image *mask nullptr) ``` #### linpolar item doc **type** func **brief** Re project’s and image from cartessian coordinates to linear polar coordinates. **param** **reverse**: If true, the image will be reverse polar transformed. default is false.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *linpolar(bool reverse false) ``` #### logpolar item doc **type** func **brief** Re project’s and image from cartessian coordinates to log polar coordinates. **param** **reverse**: If true, the image will be reverse polar transformed. default is false.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *logpolar(bool reverse false) ``` #### lens\\_corr item doc **type** func **brief** Performs a lens correction operation on the image. TODO: support in the feature **param** **strength**: The strength of the lens correction. default is 1.8.
    **zoom**: The zoom of the lens correction. default is 1.0.
    **x_corr**: The x correction of the lens correction. default is 0.5.
    **y_corr**: The y correction of the lens correction. default is 0.5.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *lens_corr(double strength 1.8, double zoom 1.0, double x_corr 0.5, double y_corr 0.5) ``` #### rotation\\_corr item doc **type** func **brief** Performs a rotation correction operation on the image. TODO: support in the feature **param** **x_rotation**: The x rotation of the rotation correction. default is 0.0.
    **y_rotation**: The y rotation of the rotation correction. default is 0.0.
    **z_rotation**: The z rotation of the rotation correction. default is 0.0.
    **x_translation**: The x translation of the rotation correction. default is 0.0.
    **y_translation**: The y translation of the rotation correction. default is 0.0.
    **zoom**: The zoom of the rotation correction. default is 1.0.
    **fov**: The fov of the rotation correction. default is 60.0.
    **corners**: The corners of the rotation correction. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *rotation_corr(double x_rotation 0.0, double y_rotation 0.0, double z_rotation 0.0, double x_translation 0.0, double y_translation 0.0, double zoom 1.0, double fov 60.0, std::vector corners std::vector()) ``` #### get\\_histogram item doc **type** func **brief** Gets the histogram of the image. **param** **thresholds**: You can define multiple thresholds.
    For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
    For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
    Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
    **invert**: If true, the thresholds will be inverted before the operation. default is false.
    **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **bins**: The number of bins to use for the histogram.
    In GRAYSCALE format, setting range is [2, 256], default is 100.
    In rgb888 format, setting range is [2, 100], default is 100.
    **l_bins**: The number of bins to use for the l channel of the histogram. Only valid in RGB888 format.
    If an invalid value is set, bins will be used instead. The setting range is [2, 100], default is 100.
    **a_bins**: The number of bins to use for the a channel of the histogram.
    Only valid in RGB888 format.The setting range is [2, 256], default is 256.
    **b_bins**: The number of bins to use for the b channel of the histogram.
    Only valid in RGB888 format. The setting range is [2, 256], default is 256.
    **difference**: difference may be set to an image object to cause this method to operate on the difference image between the current image and the difference image object.
    default is None.
    **return** Returns the histogram of the image **static** False **C++ defination code**: ```cpp std::map> get_histogram(std::vector> thresholds std::vector>(), bool invert false, std::vector roi std::vector(), int bins 1, int l_bins 100, int a_bins 256, int b_bins 256, image::Image *difference nullptr) ``` #### get\\_statistics item doc **type** func **brief** Gets the statistics of the image. TODO: support in the feature **param** **thresholds**: You can define multiple thresholds.
    For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
    For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
    Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **bins**: The number of bins to use for the statistics. default is 1.
    **l_bins**: The number of bins to use for the l channel of the statistics. default is 1.
    **a_bins**: The number of bins to use for the a channel of the statistics. default is 1.
    **b_bins**: The number of bins to use for the b channel of the statistics. default is 1.
    **difference**: The difference image to use for the statistics. default is None.
    **return** Returns the statistics of the image **static** False **C++ defination code**: ```cpp image::Statistics get_statistics(std::vector> thresholds std::vector>(), bool invert false, std::vector roi std::vector(), int bins 1, int l_bins 1, int a_bins 1, int b_bins 1, image::Image *difference nullptr) ``` #### get\\_regression item doc **type** func **brief** Gets the regression of the image. **param** **thresholds**: You can define multiple thresholds.
    For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
    For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
    Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **x_stride**: The x stride to use for the regression. default is 2.
    **y_stride**: The y stride to use for the regression. default is 1.
    **area_threshold**: The area threshold to use for the regression. default is 10.
    **pixels_threshold**: The pixels threshold to use for the regression. default is 10.
    **robust**: If true, the regression will be robust. default is false.
    **return** Returns the regression of the image **static** False **C++ defination code**: ```cpp std::vector get_regression(std::vector> thresholds std::vector>(), bool invert false, std::vector roi std::vector(), int x_stride 2, int y_stride 1, int area_threshold 10, int pixels_threshold 10, bool robust false) ``` #### save item doc **type** func **brief** Save image to file **param** **path**: file path
    **quality**: image quality, by default(value is 95), support jpeg and png format
    **return** error code, err::ERR_NONE is ok, other is error **static** False **C++ defination code**: ```cpp err::Err save(const char *path, int quality 95) ``` #### flood\\_fill item doc **type** func **brief** Flood fills a region of the image starting from location x, y. **param** **x**: The x coordinate of the seed point.
    **y**: The y coordinate of the seed point.
    **seed_threshold**: The seed_threshold value controls how different any pixel in the fill area may be from the original starting pixel. default is 0.05.
    **floating_threshold**: The floating_threshold value controls how different any pixel in the fill area may be from any neighbor pixels. default is 0.05.
    **color**: The color to fill the region with. default is white.
    **invert**: If true, the image will be inverted before the operation. default is false.
    **clear_background**: If true, the background will be cleared before the operation. default is false.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None. FIXME: the mask image works abnormally
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *flood_fill(int x, int y, float seed_threshold 0.05, float floating_threshold 0.05, image::Color color image::COLOR_WHITE, bool invert false, bool clear_background false, image::Image *mask nullptr) ``` #### erode item doc **type** func **brief** Erodes the image in place. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **threshold**: The number of pixels in the kernel that are not 0. If it is less than or equal to the threshold, set the center pixel to black. default is (kernel_size 1).
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *erode(int size, int threshold 1, image::Image *mask nullptr) ``` #### dilate item doc **type** func **brief** Dilates the image in place. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **threshold**: The number of pixels in the kernel that are not 0. If it is greater than or equal to the threshold, set the center pixel to white. default is 0.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *dilate(int size, int threshold 0, image::Image *mask nullptr) ``` #### open item doc **type** func **brief** Performs erosion and dilation on an image in order. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **threshold**: As the threshold for erosion and dilation, the actual threshold for erosion is (kernel_size 1 threshold), the actual threshold for dialation is threshold. default is 0.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *open(int size, int threshold 0, image::Image *mask nullptr) ``` #### close item doc **type** func **brief** Performs dilation and erosion on an image in order. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **threshold**: As the threshold for erosion and dilation, the actual threshold for erosion is (kernel_size 1 threshold), the actual threshold for dialation is threshold. default is 0.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *close(int size, int threshold 0, image::Image *mask nullptr) ``` #### top\\_hat item doc **type** func **brief** Returns the image difference of the image and Image.open()’ed image. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **threshold**: As the threshold for open method. default is 0.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *top_hat(int size, int threshold 0, image::Image *mask nullptr) ``` #### black\\_hat item doc **type** func **brief** Returns the image difference of the image and Image.close()’ed image. **param** **size**: Kernel size. The actual kernel size is ((size * 2) + 1) * ((size * 2) + 1). Use 1(3x3 kernel), 2(5x5 kernel).
    **threshold**: As the threshold for close method. default is 0.
    **mask**: Mask is another image to use as a pixel level mask for the operation. The mask should be an image with just black or white pixels and should be the same size as the image being operated on.
    Only pixels set in the mask are modified. default is None.
    **return** Returns the image after the operation is completed. **static** False **C++ defination code**: ```cpp image::Image *black_hat(int size, int threshold 0, image::Image *mask nullptr) ``` #### find\\_blobs item doc **type** func **brief** Finds all blobs in the image and returns a list of image.Blob class which describe each Blob.\\nPlease see the image.Blob object more more information. **param** **thresholds**: You can define multiple thresholds.
    For GRAYSCALE format, you can use {{Lmin, Lmax}, ...} to define one or more thresholds.
    For RGB888 format, you can use {{Lmin, Lmax, Amin, Amax, Bmin, Bmax}, ...} to define one or more thresholds.
    Where the upper case L,A,B represent the L,A,B channels of the LAB image format, and min, max represent the minimum and maximum values of the corresponding channels.
    **invert**: if true, will invert thresholds before find blobs, default is false
    **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **x_stride**: x stride is the number of x pixels to skip when doing the hough transform. default is 2
    **y_stride**: y_stride is the number of y pixels to skip when doing the hough transform. default is 1
    **area_threshold**: area threshold, if the blob area is smaller than area_threshold, the blob is not returned, default is 10
    **pixels_threshold**: pixels threshold, if the blob pixels is smaller than area_threshold, the blob is not returned,, default is 10.
    when x_stride and y_stride is equal to 1, pixels_threshold is equivalent to area_threshold
    **merge**: if True merges all not filtered out blobs whos bounding rectangles intersect each other. default is false
    **margin**: margin can be used to increase or decrease the size of the bounding rectangles for blobs during the intersection test.
    For example, with a margin of 1 blobs whos bounding rectangles are 1 pixel away from each other will be merged. default is 0
    **x_hist_bins_max**: if set to non zero populates a histogram buffer in each blob object with an x_histogram projection of all columns in the object. This value then sets the number of bins for that projection.
    **y_hist_bins_max**: if set to non zero populates a histogram buffer in each blob object with an y_histogram projection of all rows in the object. This value then sets the number of bins for that projection.
    **return** Return the blob when found blobs, format is (blob1, blob2, ...), you can use blob class methods to do more operations. **static** False **C++ defination code**: ```cpp std::vector find_blobs(std::vector> thresholds std::vector>(), bool invert false, std::vector roi std::vector(), int x_stride 2, int y_stride 1, int area_threshold 10, int pixels_threshold 10, bool merge false, int margin 0, int x_hist_bins_max 0, int y_hist_bins_max 0) ``` #### find\\_lines item doc **type** func **brief** Find lines in image **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **x_stride**: x stride is the number of x pixels to skip when doing the hough transform. default is 2
    **y_stride**: y_stride is the number of y pixels to skip when doing the hough transform. default is 1
    **threshold**: threshold threshold controls what lines are detected from the hough transform. Only lines with a magnitude greater than or equal to threshold are returned.
    The right value of threshold for your application is image dependent. default is 1000.
    **theta_margin**: theta_margin controls the merging of detected lines. default is 25.
    **rho_margin**: rho_margin controls the merging of detected lines. default is 25.
    **return** Return the line when found lines, format is (line1, line2, ...), you can use line class methods to do more operations **static** False **C++ defination code**: ```cpp std::vector find_lines(std::vector roi std::vector(), int x_stride 2, int y_stride 1, double threshold 1000, double theta_margin 25, double rho_margin 25) ``` #### find\\_line\\_segments item doc **type** func **brief** Finds all line segments in the image. **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **merge_distance**: The maximum distance between two lines to merge them. default is 0.
    **max_theta_difference**: The maximum difference between two lines to merge them. default is 15.
    **return** Return the line when found lines, format is (line1, line2, ...), you can use line class methods to do more operations **static** False **C++ defination code**: ```cpp std::vector find_line_segments(std::vector roi std::vector(), int merge_distance 0, int max_theta_difference 15) ``` #### find\\_circles item doc **type** func **brief** Find circles in image **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **x_stride**: x stride is the number of x pixels to skip when doing the hough transform. default is 2
    **y_stride**: y_stride is the number of y pixels to skip when doing the hough transform. default is 1
    **threshold**: threshold controls what circles are detected from the hough transform. Only circles with a magnitude greater than or equal to threshold are returned.
    The right value of threshold for your application is image dependent.
    **x_margin**: x_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10
    **y_margin**: y_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10
    **r_margin**: r_margin controls the merging of detected circles. Circles which are x_margin, y_margin, and r_margin pixels apart are merged. default is 10
    **r_min**: r_min controls the minimum circle radius detected. Increase this to speed up the algorithm. default is 2
    **r_max**: r_max controls the maximum circle radius detected. Decrease this to speed up the algorithm. default is min(roi.w / 2, roi.h / 2)
    **r_step**: r_step controls how to step the radius detection by. default is 2.
    **return** Return the circle when found circles, format is (circle1, circle2, ...), you can use circle class methods to do more operations **static** False **C++ defination code**: ```cpp std::vector find_circles(std::vector roi std::vector(), int x_stride 2, int y_stride 1, int threshold 2000, int x_margin 10, int y_margin 10, int r_margin 10, int r_min 2, int r_max 1, int r_step 2) ``` #### find\\_rects item doc **type** func **brief** Finds all rects in the image. **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **threshold**: The threshold to use for the rects. default is 10000.
    **return** Returns the rects of the image **static** False **C++ defination code**: ```cpp std::vector find_rects(std::vector roi std::vector(), int threshold 10000) ``` #### find\\_qrcodes item doc **type** func **brief** Finds all qrcodes in the image. **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **return** Returns the qrcodes of the image **static** False **C++ defination code**: ```cpp std::vector find_qrcodes(std::vector roi std::vector()) ``` #### find\\_apriltags item doc **type** func **brief** Finds all apriltags in the image. **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **families**: The families to use for the apriltags. default is TAG36H11.
    **fx**: The camera X focal length in pixels, default is 1.
    **fy**: The camera Y focal length in pixels, default is 1.
    **cx**: The camera X center in pixels, default is image.width / 2.
    **cy**: The camera Y center in pixels, default is image.height / 2.
    **return** Returns the apriltags of the image **static** False **C++ defination code**: ```cpp std::vector find_apriltags(std::vector roi std::vector(), image::ApriltagFamilies families image::ApriltagFamilies::TAG36H11, float fx 1, float fy 1, int cx 1, int cy 1) ``` #### find\\_datamatrices item doc **type** func **brief** Finds all datamatrices in the image. **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **effort**: Controls how much time to spend trying to find data matrix matches. default is 200.
    **return** Returns the datamatrices of the image **static** False **C++ defination code**: ```cpp std::vector find_datamatrices(std::vector roi std::vector(), int effort 200) ``` #### find\\_barcodes item doc **type** func **brief** Finds all barcodes in the image. **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **return** Returns the barcodes of the image **static** False **C++ defination code**: ```cpp std::vector find_barcodes(std::vector roi std::vector()) ``` #### find\\_displacement item doc **type** func **brief** Finds the displacement between the image and the template. TODO: support in the feature\\nnote: this method must be used on power of 2 image sizes **param** **template_image**: The template image.
    **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **template_roi**: The region of interest rectangle (x, y, w, h) to work in. If not specified, it is equal to the image rectangle.
    **logpolar**: If true, it will instead find rotation and scale changes between the two images. default is false.
    **return** Returns the displacement of the image **static** False **C++ defination code**: ```cpp image::Displacement find_displacement(image::Image &template_image, std::vector roi std::vector(), std::vector template_roi std::vector(), bool logpolar false) ``` #### find\\_template item doc **type** func **brief** Finds the template in the image. **param** **template_image**: The template image.
    **threshold**: Threshold is floating point number (0.0 1.0) where a higher threshold prevents false positives while lowering the detection rate while a lower threshold does the opposite.
    **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image. Only valid in SEARCH_EX mode.
    **step**: The step size to use for the template. default is 2. Only valid in SEARCH_EX mode
    **search**: The search method to use for the template. default is SEARCH_EX.
    **return** Returns a bounding box tuple (x, y, w, h) for the matching location otherwise None. **static** False **C++ defination code**: ```cpp std::vector find_template(image::Image &template_image, float threshold, std::vector roi std::vector(), int step 2, image::TemplateMatch search image::TemplateMatch::SEARCH_EX) ``` #### find\\_features item doc **type** func **brief** Finds the features in the image. TODO: support in the feature **param** **cascade**: The cascade to use for the features. default is CASCADE_FRONTALFACE_ALT.
    **threshold**: The threshold to use for the features. default is 0.5.
    **scale**: The scale to use for the features. default is 1.5.
    **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **return** Returns the features of the image **static** False **C++ defination code**: ```cpp std::vector find_features(int cascade, float threshold 0.5, float scale 1.5, std::vector roi std::vector()) ``` #### find\\_lbp item doc **type** func **brief** Finds the lbp in the image. TODO: support in the feature. **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **return** Returns the lbp of the image **static** False **C++ defination code**: ```cpp image::LBPKeyPoint find_lbp(std::vector roi std::vector()) ``` #### find\\_keypoints item doc **type** func **brief** Finds the keypoints in the image. TODO: support in the feature. **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **threshold**: The threshold to use for the keypoints. default is 20.
    **normalized**: If true, the image will be normalized before the operation. default is false.
    **scale_factor**: The scale factor to use for the keypoints. default is 1.5.
    **max_keypoints**: The maximum number of keypoints to use for the keypoints. default is 100.
    **corner_detector**: The corner detector to use for the keypoints. default is CORNER_AGAST.
    **return** Returns the keypoints of the image **static** False **C++ defination code**: ```cpp image::ORBKeyPoint find_keypoints(std::vector roi std::vector(), int threshold 20, bool normalized false, float scale_factor 1.5, int max_keypoints 100, image::CornerDetector corner_detector image::CornerDetector::CORNER_AGAST) ``` #### find\\_edges item doc **type** func **brief** Finds the edges in the image. **param** **edge_type**: The edge type to use for the edges. default is EDGE_CANNY.
    **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **threshold**: The threshold to use for the edges. default is 20.
    **return** Returns the edges of the image **static** False **C++ defination code**: ```cpp image::Image* find_edges(image::EdgeDetector edge_type, std::vector roi std::vector(), std::vector threshold std::vector({100, 200})) ``` #### find\\_hog item doc **type** func **brief** Finds the hog in the image. TODO: support in the feature **param** **roi**: The region of interest, input in the format of (x, y, w, h), x and y are the coordinates of the upper left corner, w and h are the width and height of roi.
    default is None, means whole image.
    **size**: The size to use for the hog. default is 8.
    **return** Returns the hog of the image **static** False **C++ defination code**: ```cpp image::Image* find_hog(std::vector roi std::vector(), int size 8) ``` #### match\\_lbp\\_descriptor item doc **type** func **brief** Matches the lbp descriptor of the image. TODO: support in the feature **param** **desc1**: The descriptor to use for the match.
    **desc2**: The descriptor to use for the match.
    **return** Returns the match of the image **static** False **C++ defination code**: ```cpp int match_lbp_descriptor(image::LBPKeyPoint &desc1, image::LBPKeyPoint &desc2) ``` #### match\\_orb\\_descriptor item doc **type** func **brief** Matches the orb descriptor of the image. TODO: support in the feature **param** **desc1**: The descriptor to use for the match.
    **desc2**: The descriptor to use for the match.
    **threshold**: The threshold to use for the match. default is 95.
    **filter_outliers**: If true, the image will be filter_outliers before the operation. default is false.
    **return** Returns the match of the image **static** False **C++ defination code**: ```cpp image::KPTMatch match_orb_descriptor(image::ORBKeyPoint &desc1, image::ORBKeyPoint &desc2, int threshold 95, bool filter_outliers false) ```"}} \ No newline at end of file diff --git a/maixpy/static/search_index/index_1.json b/maixpy/static/search_index/index_1.json new file mode 100644 index 00000000..c2d1316b --- /dev/null +++ b/maixpy/static/search_index/index_1.json @@ -0,0 +1 @@ +{"/maixpy/doc/basic/app.html":{"title":"应用开发和应用商店","content":" title: 应用开发和应用商店 ## 应用生态简介 为了让开发板做到开箱即用,以及方便用户无门槛地使用,以及方便开发者分享自己的有趣应用,并且能有有效的渠道获取到反馈甚至是收益,我们推出了一个简易的应用框架,包括: * **[应用商店](https://maixhub.com/app)**: 开发者上传分享应用,用户无需开发直接下载使用,开发者可以获取到一定的现金收益(来自 MaixHub 官方以及用户打赏)。 * **出厂内置大量应用**: 官方提供了一些常用的应用,比如找色块、AI 物体检测追踪、找二维码、人脸识别等等,用户可以直接使用,也可以作为串口模块直接使用。 * **MaixPy + MaixCDK** 软件开发包:使用 MaixPy 或者 MaixCDK 可以用 Python 或者 C/C++ 语言快速开发嵌入式 AI 视觉听觉应用,超高效率实现你的有趣想法。 * **MaixVision** 配套电脑端开发工具: 全新的电脑端代码开发工具,快速上手、调试、运行、上传代码、安装应用到设备,一键式开发,甚至支持图像化积木式编程,小学生也能轻松上手。"},"/maixpy/doc/basic/os.html":{"title":"升级和烧录系统","content":" title: 升级和烧录系统 ## 介绍 如果你购买了官方(Sipeed)的带 TF 卡的套餐,一般来说出厂已经烧录好了系统,可以跳过这一步直接使用。 但是为了防止出厂烧录的系统版本过旧,强烈建议先按照教程升级到最新的系统。 ## 如何确认系统是否需要升级 * 在开机后的功能选择界面,点击`设置`,然后点击`设备信息`,可以看到系统的版本号。 * 到[系统发布历史页面]()查看最新系统的版本号以及更新日志,如果在你的版本后有重要更新,建议升级。 > 如果最新系统和当前系统对比只是 MaixPy 固件的常规更新,也可以不升级,在 `设置` 中的 `更新 MaixPy` 中单独更新 `MaixPy` 即可。 ## 获得最新系统 ## 准备烧录工具 ## 烧录系统 ## 系统首次启动"},"/maixpy/doc/basic/python_pkgs.html":{"title":"添加额外的 Python 软件包","content":" title: 添加额外的 Python 软件包 ## 简介 MaixPy 基于 Python 语言,提供了大量方便嵌入式应用开发的功能和 API,除此之外,你也可以使用其它的 Python 包来扩展功能。 ## 安装额外的 Python 包 > 注意可能不是所有 Python 包都支持,一般只支持纯 Python 包,不支持 C 扩展包, C 扩展包可能需要你手动在电脑交叉编译(比较复杂,这里就不介绍了)。 ### 方法一: 在设备`设置 >安装 Python 包`功能中输入包名安装 在设备开机后的界面中选择`设置` >`安装 Python 包`,然后输入你需要的包名,点击`安装`按钮即可。 ### 方法二: 终端使用 pip 命令安装 使用[Linux 基础](./linux_basic.html)中介绍的终端使用方法,使用 `pip install 包名` 安装你需要的包。"},"/maixpy/doc/basic/app_usage.html":{"title":"应用使用说明","content":" title: 应用使用说明 应用均发布在 [MaixHub 应用商店](https://maixhub.com/app), 可以在这里找到对应应用的介绍和使用说明。 上手用得比较多的是 `设置 > 语言`, 以及 `设置 > WiFi`,`APP Store`应用可以用来升级和安装应用,连接上可以连接互联网的 WiFi 后即可在[MaixHub 应用商店](https://maixhub.com/app)扫码安装应用。 另外,你编写的应用也可以上传到[MaixHub 应用商店](https://maixhub.com/app)分享给其他人使用。"},"/maixpy/doc/basic/maixpy_upgrade.html":{"title":"更新 MaixPy","content":" title: 更新 MaixPy 有两种方法,如果第一次上手使用,可以直接使用出厂 TF 卡自带的 MaixPy 固件尝试后再考虑更新。 ## 直接更新系统 按照 [升级和烧录系统](./os.html) 中的操作升级到最新的系统,里面就包含了最新的 MaixPy 固件。 ## 只更新 MaixPy 固件 如果不想更新系统(因为一般系统变动不大,可以看系统的更新日志决定是否更新系统),则可以只更新 MaixPy 固件。 * 在设置中设置 WiFi, 让系统联网。 * 点击设置应用中的 `更新 MaixPy` 进行更新。 另外,可以在 [MaixPy 仓库 release 页面](https://github.com/sipeed/MaixPy/releases) 看到最新的版本信息和更新日志。 > 如果你会使用终端, 也可以在终端中使用 `pip install MaixPy U` 来更新 MaixPy。"},"/maixpy/doc/pro/compile_os.html":{"title":"","content":""},"/maixpy/doc/modules/thermal_cam.html":{"title":"","content":""},"/maixpy/doc/modules/tof.html":{"title":"","content":""},"/maixpy/doc/faq.html":{"title":"MaixPy FAQ(常见问题)","content":" title: MaixPy FAQ(常见问题) 此页面列出了 MaixPy 相关的常见问题和解决方案,如果你遇到了问题,请先在这里找寻答案。 如果这个页面找不到答案,可以到 [MaixHub 讨论版块](https://maixhub.com/discussion) 将问题的详细步骤发贴提问。 ## MaixPy v4 和 v1 v3 有什么区别? * MaixPy v4 使用 Python 语言,是吸取了 v1 v3 经验的集大成之作,有更好的配套软件和生态,更多的功能,更简单的使用方式和更完善的文档;硬件有很大提升的同时加个和另外两者的硬件价格想当甚至更便宜;另外也做了兼容 K210 的使用体验和 API,方便用户从 v1 快速迁移到 v4。 * v1 使用了 Micropython 语言,有很多局限性,比如第三方库支持有限;同时受限于 Maix I (K210) 的硬件性能,内存不够用,AI 模型支持有限,很多编解码不支持硬件加速等缺点。 * v3 也是使用了 Python 语言,基于 Maix II Dock (v831) 硬件,硬件 AI 模型支持有限,而且全志的基础生态不够开放,API 也不够完善,此版本仅作为 Maix II Dock (v831)上面使用,不会继续更新。 ## MaixPy 目前只支持 MaixCAM 吗,用其它同款芯片的板子行不行? MaixPy 目前仅支持 MaixCAM 系列板子,其它同款芯片的板子也不支持,强烈不建议尝试,导致设备损坏(比如冒烟烧屏等)后果自负。 未来 Sipeed 出的 Maix 系列的产品都将继续得到 MaixPy 支持,目前如果 MaixCAM 有什么无法满足的需求,可以到 [MaixHub 讨论版块](https://maixhub.com/discussion) 提出需求或者发送邮件到 support@sipeed.com. ## 可以用除了官方搭配的摄像头或者屏幕以外的自己的摄像头或者屏幕吗? 不建议这样操作,除非你有够丰富的软硬件知识和经验,否则可能导致设备损坏。 官方搭配的配件对应的软硬件是调教过的,表现效果是最好的,上手即可使用,其它配件可能接口不同,驱动不同,软件不同,需要自己去调教,这是一个非常复杂的过程,不建议尝试。 当然,如果你是大佬,我们也欢迎你提交 PR! ## MaixVision 无法搜索到设备? * 确保设备通过 Type C 数据线连接到电脑,设备处于开机状态并且进入了功能选择界面。 * 确保设备驱动已经安装: * Windows 下可以在`设备管理器`中查看是否有 USB 虚拟网卡设备,如果有感叹号则是去动没有安装好,TODO:添加安装驱动方法。 * Linux 下可以通过`ifconfig`或者`ip addr`查看是否有`usb0`设备或者`lsusb`查看所有 USB 设备。 Linux 已经自带去动,所以识别不到检查硬件连接,设备系统是否是最新,以及设备是否已经正常启动即可。 * Mac OS TODO:添加说明。"},"/maixpy/doc/basic/python.html":{"title":"","content":""},"/maixpy/doc/basic/linux_basic.html":{"title":"Linux 基础知识","content":" title: Linux 基础知识 ## 简介 本章内容对于刚入门的同学来说,可以先跳过此章节,在学会 MaixPy 基础开发后再来学习也是可以的。 最新的 MaixPy 支持的 MaixCAM 硬件支持跑 Linux 系统,所以 MaixPy 底层都是基于 Linux 系统进行开发的。 虽然 Sipeed 开发的 MaixPy 已经为开发者们做了很多工作,即使不知道 Linux 系统知识也能愉快使用,但是以防在某些情况下需要一些底层操作,以及方便未接触过 Linux 的开发者学习,这里写一些 Linux 基础知识。 ## 为什么需要 Linux 系统 具体的原因大家可以自行查阅,这里用通俗的看起来不太专业的话语简单举几个例子方便初学者理解: * 在单片机中,我们的程序是一个死循环程序,用上 Linux 后我们可以同时跑很多程序,每个程序看起来都独立在同时运行,每个程序具体怎么执行的由操作系统实现。 * 基于 Linux 的开发者众多,需要功能和驱动可以很方便地找到,不需要自己再实现一遍。 * 基于 Linux 配套的软件工具丰富,可以很方便地进行开发和调试,比如在本教程没有提到的一些 Linux 通用工具理论上也是可以使用的。 ## 文件系统 什么是文件系统? * 就像电脑的文件系统一样,Linux 上会将硬件磁盘用文件系统进行管理,这样我们可以很方便地向磁盘读写数据。 * 对于学过单片机没有接触过文件系统开发的同学来讲,可以理解为我们有一个 Flash 或者 TF 卡,我们可以通过 API 读写 Flash 存取数据,断电后也能保存数据,但是 Flash 具有读写寿命,我们往往需要写一套程序去保证 Flash 读写寿命,而文件系统就可以理解成这样一套成熟的程序,文件系统帮我们完成了具体如何管理 Flash 空间和读写,我们只需调用文件系统的 API 即可,大大减少了我们的开发工作量并且用成熟的程序保证了稳定性和安全性。 ## 在电脑和设备(开发板)之间传输文件 既然设备有 Linux 和文件系统,那我们怎么发送文件到设备呢? 对于 MaixPy 我们配套了 MaixVision, 在后面的版本也会支持文件管理功能,在此之前可以用下面的方法: 这里我们主要介绍通过网络传输的方式,其它方式可自行探索`传输文件到 Linux`: * 确保设备和电脑连接到了同一个局域网,比如: * MaixCAM 的 USB 口连接到电脑会创建一个虚拟网卡,在电脑端的设备管理器就能看到,设备的 IP 可以在设备的`设置 >设备信息`中看到设备名和 IP。 * 也可以在设备`设置 >WiFi`中连接到和电脑相同的局域网。 * 电脑使用 SCP 或者 SFTP 协议传输文件到设备,具体的软件有很多,具体的软件和使用方法可以自行搜索,比如: * 在 Windows 上可以使用 WinSCP 或者 FileZilla,或者 scp 命令等。 * 在 Linux 上可以使用 FileZilla 或者 scp 命令 等。 * 在 Mac 上可以使用 FileZilla 或者 scp 命令 等。 ## 终端和命令行 终端就是通过`终端`这个软件与 Linux 系统进行通信和操作的工具,类似于 Windows 的`cmd`或者`PowerShell`。 比如我们可以在电脑的 Window 系统中的 powershell 或者 Linux系统中的 终端 工具中输入`ssh root@maixcam xxxx.local` 这里具体的名字在设备的`设置 >设备信息`中可以看到,这样我们就可以通过终端连接到设备了(用户名和密码都是`root`)。 然后我们通过输入命令来操作设备,比如`ls`命令可以列出设备文件系统中当前目录下的文件, `cd` 用来切换当前所在的目录(就像电脑文件管理中点击文件夹切换目录一样), ```shell cd / # 切换到根目录 ls # 显示当前目录(根目录)下的所有文件 ``` 然后会显示类似下面的内容: ```shell bin lib media root tmp boot lib64 mnt run usr dev linuxrc opt sbin var etc lost+found proc sys ``` 更多命令学习请自行搜索`Linux 命令行使用教程`,这里只是为了让初学者知道基本概念,这样有开发者提到时可以知道是什么意思。"},"/maixpy/doc/basic/maixvision.html":{"title":"MaixVision -- MaixPy 编程 + 图形化积木编程","content":" title: MaixVision MaixPy 编程 + 图形化积木编程 ## 简介 ## 使用 MaixPy 编程和在线运行 按照[快速开始](../index.html)的步骤连接设备,我们可以很方便地使用 MaixPy 编程和在线运行。 ## 区分`设备文件系统`和`电脑文件系统` 这里我们有一个比较重要的概念需要掌握:**分清楚`设备文件系统`和`电脑文件系统`**。 * **电脑文件系统**:运行在电脑上,在 MaixVision 中打开文件或者工程都是打开的电脑里面的文件,保存也是自动保存到电脑的文件系统。 * **设备文件系统**:程序运行时会将程序发送到设备上运行,所以代码里面使用的文件都是从设备文件系统读取, ## 实时预览图像 MaixPy 提供`display`模块,可以将图像显示到屏幕上,同时,在调用`display`模块的`show`方法时,会将图像发送到 MaixVision 显示,比如代码: ```python from maix import display, camera cam camera.Camera(640, 480) disp display.Display() while 1: disp.show(cam.read()) ``` 这里我们用摄像头读取了图像,然后通过`disp.show()`方法将图像显示到屏幕上,同时也会发送到 MaixVision 显示。 当我们点击了右上角的`暂停`按钮,就会停止发送图像到 MaixVision 显示。 ## 计算图像的直方图 在上一步中我们可以在 MaixVision 中实时看到图像,我们用鼠标框选一个区域,图像下方就能看到这个区域的直方图了,选择不同的颜色表示方法,可以看到不同的颜色通道的直方图。 这个功能方便我们在做某些图像处理算法时找到一些合适的参数。 ## 使用图形化积木编程 开发中,敬请期待。 ## 传输文件到设备 开发中,敬请期待。 目前可以用其它工具代替,比如: > 先知道设备的 ip 地址或者设备名称,MaixVision 就可以搜索到, 或者在设备`设置 >系统信息`中看到,比如 `maixcam xxxx.local`。 > 用户名和密码都是 `root`, 使用 `SFTP` 协议传输文件,端口号是 `22`。 ### Windows 下 使用 `WinSCP` 或者 `FileZilla` 等工具连接设备,将文件传输到设备上,选择 `SFTP` 协议填写设备和账号信息连接即可。 具体不懂的可以自行搜索。 ### Linux 下 终端使用 `scp` 命令传输文件到设备上,比如: ```bash scp /path/to/your/file.py root@maixcam xxxx.local:/root ``` ### Mac 下 * **方法一**:终端使用 `scp` 命令传输文件到设备上,比如: ```bash scp /path/to/your/file.py root@maixcam xxxx.local:/root ``` * **方法二**:使用 `FileZilla` 等工具连接设备,将文件传输到设备上,选择 `SFTP` 协议填写设备和账号信息连接即可。"},"/maixpy/doc/modules/acc.html":{"title":"","content":""},"/maixpy/doc/audio/recognize.html":{"title":"","content":""},"/maixpy/doc/index.html":{"title":"MaixPy 快速开始","content":" title: MaixPy 快速开始
    MaixPy 唯一官网: wiki.sipeed.com/maixpy
    MaixPy 例程和源码: github.com/sipeed/MaixPy

    > 关于 MaixPy 介绍请看 [MaixPy 官网首页](../../index.html) ## 获得 MaixCAM 设备 在 [Sipeed 淘宝](https://sipeed.taobao.com) 或者 [Sipeed 速卖通](https://sipeed.aliexpress.com) 店铺购买 `MaixCAM` 开发板。 **建议购买带 `TF 卡`、`摄像头`、`2.3寸触摸屏`、`外壳`、`Type C一转二小板`、`4P串口座子+线`的套餐**,方便后续使用和开发,**后面的教程都默认你已经有了这些配件**(包括屏幕)。 另外需要准备一根 `Type C` 数据线,尽量买质量好点的防止供电和连接不稳定。 ## 上手体验 插入套餐里面的 TF 卡,使用 `Type C` 数据线连接 `MaixCAM` 设备给设备供电,等待设备开机,开机会显示 `MaixCAM` LOGO,然后进入功能选择界面。 > 如果屏幕没有显示,请咨询卖家。 > 如果你没有购买 TF 卡套餐,你需要按照[升级和烧录系统](./basic/os.html)的方法烧录最新的系统到 TF 卡。 开机后可以看到功能选择界面,在设置中可以切换语言,可以自行尝试内置的各种应用和功能。 ## 作为串口模块使用 内置的各种应用可以直接当成串口模块使用,比如`找色块`、`找人脸`、`找二维码`等等, > 如果是想把设备当成主控使用(或者你还不懂什么是串口模块)可以跳过这一步。 使用方法: * 硬件连接: 可以给设备接上`Type C一转二小板`,这样我们就能将设备通过串口连接到你的主控上了,比如`Arduino`、`树莓派`、`STM32`等等。 * 打开你想用的应用,比如二维码识别,当设备扫描到二维码就会通过串口把结果发送给你的主控了。 > 发送的串口波特率是 `115200`,数据格式是 `8N1`,协议遵循 [Maix 串口通信协议标准](https://wiki.sipeed.com/maixcdk/doc/convention/protoco.md),可以在[MaixHub APP](https://maixhub.com/app) 找到对应的应用介绍查看协议。 ## 开发环境准备 * 下载 [MaixVision](https://wiki.sipeed.com/maixvision) 并安装。 Linux 下推荐安装 deb 包。 * 使用 Type C 连接设备和电脑,打开 MaixVision,点击左下角的`“连接”`按钮,会自动搜索设备,稍等一下就能看到设备,点击设备有点的连接按钮以连接设备。 > 如果找不到设备,请在[FAQ](./faq.html)中查找解决方法。 > 如果 USB 驱动确实没法安装,可以在设备设置里面连接和电脑同一局域网的 WiFi 即可。 ## 运行例程 点击 MaixVision 左侧的`示例代码`,选择一个例程,点击左下角`运行`按钮将代码发送到设备上运行。 比如: * `hello.py`,点击`运行`按钮,就能看到 MaixVision 终端有来自设备打印的`Hello MaixPy!`了。 * `camera_display.py`,这个例程会打开摄像头并在屏幕上显示摄像头的画面。 ```python from maix import camera, display, app disp display.Display() # 构造一个显示对象,并初始化屏幕 cam camera.Camera(640, 480) # 构造一个摄像头对象,手动设置了分辨率为 640x480, 并初始化摄像头 while not app.need_exit(): # 一直循环,直到程序退出(可以通过按下设备上方的按键退出或者 MaixVision 点击停止按钮退出) img cam.read() # 读取摄像头画面保存到 img 变量,可以通过 print(img) 来打印 img 的详情 disp.show(img) # 将 img 显示到屏幕上 ``` * `yolov5.py` 会检测摄像头画面中的物体框出来并显示到屏幕上,支持 80 种物体的检测。 其它例程可以自行尝试。 ## 安装应用到设备 点击 MaixVision 左下侧的安装应用按钮,填写应用信息,会将应用安装到设备上,然后在设备上就能看到应用了。 也可以选择打包应用,将你的应用分享到[MaixHub 应用商店](https://maixhub.com/app)。 > 默认例程没有显式编写退出功能,进入应用后按下设备上方的按键即可退出应用。 ## 下一步 看到这里,如果你觉得不错,**请务必来 [github](https://github.com/sipeed/MaixPy) 给 MaixPy 开源项目点一个 star(需要先登录 github), 你的 star 和认同是我们不断维护和完善的动力!** 到这里你已经体验了一遍使用和开发流程了,接下来可以学习 `MaixPy` 语法和功能相关的内容,请按照左边的目录进行学习,如果遇到 `API` 使用问题,可以在[API 文档](/api/)中查找。 学习前最好带着自己学习的目的学,比如做一个有趣的小项目,这样学习效果会更好,项目和经验都可以分享到[MaixHub 分享广场](https://maixhub.com/share),会获得现金奖励哦! ## 分享交流 * [MaixHub 项目和经验分享](https://maixhub.com/share) :分享你的项目和经验,获得现金打赏,获得官方打赏的基本要求: * 可复现型:较为完整的项目制作复现过程。 * 炫耀型:无详细的项目复现过程,但是项目展示效果吸引人。 * Bug 解决经验型:解决了某个难题的过程和具体解决方法分享。 * [MaixPy 官方论坛](https://maixhub.com/discussion/maixpy)(提问和交流) * QQ 群: (建议在 QQ 群提问前先发个帖,方便群友快速了解你需要了什么问题,复现过程是怎样的) * MaixPy (v4) AI 视觉交流大群: 862340358 * Telegram: [MaixPy](https://t.me/maixpy)"},"/maixpy/doc/vision/display.html":{"title":"","content":""},"/maixpy/doc/vision/body_key_points.html":{"title":"","content":""},"/maixpy/doc/vision/qrcode.html":{"title":"","content":""},"/maixpy/doc/source_code/contribute.html":{"title":"参与 MaixPy 文档修改和贡献代码","content":" title: 参与 MaixPy 文档修改和贡献代码 ## 参与 MaixPy 文档修改 * 点击要修改的文档右上角的`编辑本页`按钮,进入 github 源文档页面。 * 保证已经登录了 GitHub 账号。 * 在 github 预案文档页面点击右上角铅笔按钮修改文档内容。 * github 会提示需要 fork 一份到自己的仓库,点击 fork 按钮。 > 这一步就是将 MaixPy 源码仓库复刻一份到你自己的账号下,这样你就可以自由修改了。 * 修改文档内容,然后在页面底部填写修改说明,点击提交修改。 * 然后在你的仓库中找到 Pull requests 按钮,点击创建一个 Pull requests。 * 然后在弹出的页面中填写修改说明,点击提交 Pull requests,其它人和管理员就可以在[Pull requests 页面](https://github.com/sipeed/MaixPy/pulls)看到你的修改了。 * 等待管理员审核通过后,你的修改就会合并到 MaixPy 源码仓库中了。 * 合并成功后,文档会自动更新到 [MaixPy 官方文档](https://wiki.sipeed.com/maixpy)。 > 文档经过 CDN 缓存了的,可能需要等待一段时间才能看到更新,紧急更新可以联系管理员手动刷新。 > 也可以访问 [en.wiki.sipeed.com/maixpy](https://en.wiki.sipeed.com/maixpy) 查看 github pages 服务版本,这个是没有缓存实时更新的。 ## 参与 MaixPy 代码贡献 * 访问 MaixPy 代码仓库地址:[github.com/sipeed/MaixPy](https://github.com/sipeed/MaixPy) * 在修改代码前最好先创建一个 [issue](https://github.com/sipeed/MaixPy/issues) ,描述你要修改的内容让大家知道你的想法和计划,这样大家可以参与修改讨论,以免重复劳动。 * 点击右上角的 fork 按钮,将 MaixPy 代码仓库复刻一份到你自己的账号下。 * 然后在你的账号下 clone 一份代码到本地。 * 修改代码后提交到你的仓库中。 * 然后在你的仓库中找到 Pull requests 按钮,点击创建一个 Pull requests。 * 然后在弹出的页面中填写修改说明,点击提交 Pull requests,其它人和管理员就可以在[Pull requests 页面](https://github.com/sipeed/MaixPy/pulls)看到你的修改了。 * 等待管理员审核通过后,你的修改就会合并到 MaixPy 源码仓库中了。 > 需要注意的是 MaixPy 的代码大多数是从 [MaixCDK](https://github.com/sipeed/MaixCDK) 自动生成的,所以如果你修改 C/C++ 源码,很有可能你需要先修改这个仓库。"},"/maixpy/doc/peripheral/wdt.html":{"title":"","content":""},"/maixpy/doc/peripheral/spi.html":{"title":"","content":""},"/maixpy/doc/peripheral/i2c.html":{"title":"","content":""},"/maixpy/doc/vision/classify.html":{"title":"","content":""},"/maixpy/doc/vision/image_ops.html":{"title":"","content":""},"/maixpy/doc/vision/maixhub_train.html":{"title":"","content":""},"/maixpy/doc/vision/ai.html":{"title":"","content":""},"/maixpy/doc/peripheral/gpio.html":{"title":"","content":""},"/maixpy/doc/peripheral/uart.html":{"title":"","content":""},"/maixpy/doc/peripheral/pwm.html":{"title":"","content":""},"/maixpy/doc/vision/self_learn_detector.html":{"title":"","content":""},"/maixpy/doc/vision/apriltag.html":{"title":"","content":""},"/maixpy/doc/vision/self_learn_classifier.html":{"title":"","content":""},"/maixpy/doc/vision/object_track.html":{"title":"","content":""},"/maixpy/doc/source_code/faq.html":{"title":"MaixPy Source Code FAQ","content":"MaixPy Source Code FAQ ## subprocess.CalledProcessError: Command '('lsb_release', ' a')' returned non zero exit status 1. Edit `/usr/bin/lsb_release` as root, change the first line from `#!/usr/bin/python3` to `python3`. Then compile again and it should work. ## ImportError: arg(): could not convert default argument 'format: maix::image::Format' in method '.__init__' into a Python object (type not registered yet?) Pybind11 need you to register `image::Format` first, then you can use it in `camera::Camera`, to we must fist define `image::Format` in generated `build/maixpy_wrapper.cpp` source file. To achieve this, edit `components/maix/headers_priority.txt`, the depended on should be placed before the one use it. e.g. ``` maix_image.hpp maix_camera.hpp ```"},"/maixpy/doc/source_code/build.html":{"title":"MaixPy develop source code guide","content":" title: MaixPy develop source code guide ## Build ```shell maixcdk build ``` And if add or delete files, run `maixcdk rebuild`. ## Run test after modify source code * First, build source code by ```shell maixcdk build ``` * Then go to `test` directory, execute `./run.sh your_test_file_name.py` to run python script. ```shell cd test ./run.sh test_image.py ``` ## Pack to wheel ```shell python setup.py bdist_wheel linux ``` `linux` Can be replaced with other board config, see [configs](./configs) directory > `python setup.py bdist_wheel linux not clean` will not execute distclean command, so you can use `maixcdk build` first to customize building. After build success, you will find wheel file in dist directory, use `pip install U MaixPy****.wheel` on you board to install or upgrade. ## Documentation Documentation in [docs][./docs] directory, use `Markdown` format, you can use [teedoc](https://github.com/teedoc/teedoc) to generate web version documentation. ```shell pip install teedoc U cd docs teedoc install i https://pypi.tuna.tsinghua.edu.cn/simple teedoc serve ``` Then visit `http://127.0.0.1:2333` to preview documentation on web browser. ## For developers who want to contribute See [MaixPy develop source code guide](./contribute.html) If you encounter any problems when use source code, please refer to [FAQ](./faq.html) first."},"/maixpy/doc/source_code/maixcdk.html":{"title":"切换到 MaixCDK 使用 C/C++ 开发应用","content":" title: 切换到 MaixCDK 使用 C/C++ 开发应用 除了使用 MaixPy 开发,还有对应的 C/C++ SDK 可以使用,项目名称为 [MaixCDK](https://github.com/sipeed/MaixCDK)。 ## MaixCDK 介绍 MaixPy 基于 MaixCDK 构建,MaixPy 的大多数 API 都是基于 MaixCDK 的 API 自动生成的,所以 MaixPy 有的功能 MaixCDK 都包含。 如果你更熟悉 C/C++ 编程,或者需要更高的性能,可以使用 MaixCDK 进行开发。 ## MaixCDK 使用 MaixCDK 代码仓库地址:[github.com/sipeed/MaixCDK](https://github.com/sipeed/MaixCDK), 你可以在这里找到 MaixCDK 的代码和文档。"},"/maixpy/doc/source_code/add_c_module.html":{"title":"","content":""},"/maixpy/doc/vision/yolov5.html":{"title":"","content":""},"/maixpy/doc/vision/face_recognize.html":{"title":"","content":""},"/maixpy/doc/vision/camera.html":{"title":"","content":""},"/maixpy/doc/vision/find_blobs.html":{"title":"","content":""}} \ No newline at end of file diff --git a/maixpy/static/search_index/index_2.json b/maixpy/static/search_index/index_2.json new file mode 100644 index 00000000..879fc74d --- /dev/null +++ b/maixpy/static/search_index/index_2.json @@ -0,0 +1 @@ +{"/maixpy/doc/en/index.html":{"title":"","content":""},"/maixpy/doc/en/no_translate.html":{"title":"no translation","content":" title: no translation class: md_page
    This page not translated yet
    Please visit
    "}} \ No newline at end of file diff --git a/maixpy/static/search_index/index_3.json b/maixpy/static/search_index/index_3.json new file mode 100644 index 00000000..4d6cd4e4 --- /dev/null +++ b/maixpy/static/search_index/index_3.json @@ -0,0 +1 @@ +{"/maixpy/index.html":{"title":"MaixPy","content":" title: MaixPy id: home_page

    MaixPy (v4)

    快速落地 AI 视觉、听觉应用

    [![GitHub Repo stars](https://img.shields.io/github/stars/sipeed/MaixPy?style social)](https://github.com/sipeed/MaixPy/stargazers)[![Apache 2.0](https://img.shields.io/badge/license Apache%20v2.0 orange.svg)](\"https://github.com/sipeed/MaixPy/blob/main/LICENSE.html)[![PyPI](https://img.shields.io/pypi/v/maixpy.svg)](https://pypi.python.org/pypi/maixpy/)[![PyPI Downloads](https://img.shields.io/pypi/dm/maixpy?label pypi%20downloads)](https://pypi.org/project/maixpy/)![GitHub repo size](https://img.shields.io/github/repo size/sipeed/maixpy) [![Build MaixCAM](https://github.com/sipeed/MaixPy/actions/workflows/build_maixcam.yml/badge.svg)](https://github.com/sipeed/MaixPy/actions/workflows/build_maixcam.yml)[![Trigger wiki](https://github.com/sipeed/MaixPy/actions/workflows/trigger_wiki.yml/badge.svg)](https://github.com/sipeed/MaixPy/actions/workflows/trigger_wiki.yml)
    [English](./en/) 中文
    > MaixPy v1 (Maix I K210) 用户请查看 MaixPy v1 文档。 MaixPy v4 不支持 Maix I Maix II 系列硬件,请更新到 [MaixCAM](https://wiki.sipeed.com/maixcam) 硬件平台。 > 喜欢 MaixPy 请到 GitHub 给 [ MaixPy 源码](https://github.com/sipeed/MaixPy) 点个 Star ⭐️ 以鼓励我们开发更多功能。

    简易的 API 设计, 10 行代码进行 AI 图像识别:

    ```python from maix import camera, display, image, nn classifier nn.Classifier(model \"/root/models/mobilenetv2.mud\") cam camera.Camera(classifier.input_width(), classifier.input_height(), classifier.input_format()) dis display.Display() while 1: img cam.read() res classifier.classify(img) max_idx, max_prob res[0] msg f\"{max_prob:5.2f}: {classifier.labels[max_idx]}\" img.draw_text(10, 10, msg, image.COLOR_RED) dis.show(img) ```

    硬件外设控制,不在话下:

    串口收发: ```python from maix import uart ports uart.list_ports() serial uart.UART(ports[0], 115200) serial.write_str(\"hello world\") print(\"received:\", serial.read(timeout 2000)) ```
    I2C 收发: ```python from maix import i2c devices i2c.scan() dev1 i2c.I2C(devices[0], freq 100000) dev1.writeto(0x12, b'hello') print(\"received:\", dev1.readfrom(0x12, 5)) ```
    ## 性能强劲 MaixCAM 硬件平台 ![MaixCAM](/static/image/maixcam.png)
    * **CPU**: 1GHz RISC V(Linux)/ARM A53 + 700MHz RISC V(RTOS) + 25~300MHz 8051(Low Power) > 大核 RISC V 和 ARM A53 二选一运行,MaixPy 使用 RISC V 核心。 * **NPU**: 1Tops@INT8 NPU, 支持 BF16,支持 YOLOv5 YOLOv8 等。 * **内存**: 256MB DDR3。 * **通信**: USB2.0/WiFi6/BLE5.4。 * **外设**: IIC/PWM/SPI/UART/WDT/GPIO/ADC * **多媒体**:4M 摄像头,2.3\" 552x368 高清电容触摸屏,H.264/H.265/MJPEG 2K 硬件编解码。 * **价格**: [169 元 / 249 元。](https://wiki.sipeed.com/store) (缺货时咨询店家) 更多细节看: [MaixCAM](https://wiki.sipeed.com/maixcam)
    ## 特性介绍 以下为部分功能简介,更多请看[文档](/doc/index.html)、[应用商店](https://maixhub.com/app) 或者社区分享[MaixHub](https://maixhub.com/share)。

    Python + MaixVision IDE

    简单的API,带有硬件加速,包含许多库,如numpy,opencv,MaixVision IDE 编程

    C++版本

    MaixCDK C++版本的SDK,与MaixPy的API相同

    作为串口模块

    其它 MCU 通过串口命令控制

    APP商店

    将您的APP分享给社区,并一键安装APPs

    与MaixPy v1兼容的API

    快速从MaixPy v1(K210)迁移到MaixPy v4

    AI 分类

    AI 对象检测

    AI 人脸识别

    AI 人体关键点检测

    AI 离线学习分类器

    无需在PC上训练,在设备上离线学习对象特征

    AI 离线学习检测器

    无需在PC上训练,在设备上离线学习对象特征

    AI 物体轨迹跟踪

    AI 监控,串流

    安防监控,可串流,甚至可以向直播平台 比如 Bilibili.com 直播

    查找颜色

    查找颜色斑点

    巡线

    小车巡线,物流搬运

    QR码和AprilTag

    识别QR码和AprilTag

    OCR

    识别图片中的字符

    语音识别

    实时连续语音识别

    桌面监视器

    监视PC信息,如CPU,内存,网络等。

    天气站

    监视天气信息,如温度,湿度等。

    ## Maix 生态 ![](/static/image/maix_ecosystem.png) ## 谁在用 MaixPy? * **AI 算法工程师**: 轻松将你的 AI 模型部署到嵌入式设备。 > MaixPy 提供了易于使用的 API 来访问 NPU,以及帮助你开发 AI 模型的文档。 * **STEM**:想要教学生 AI 和嵌入式开发的老师。 > MaixPy 提供了易于使用的 API,PC 工具,在线 AI 训练服务... 让你专注于教授 AI,而不是硬件和复杂的软件使用。 * **创客**: 想要制作一些酷炫的项目,但不想学习复杂的硬件和软件。 > MaixPy 提供了 Python API,所以你需要做的就是学习基础 Python 语法,而 MaixPy 的 API 非常易于使用,你甚至可以在几分钟内完成你的项目。 * **工程师**: 想要做一些项目,但希望尽快有一个原型。 > MaixPy 易于构建项目,并提供相应的 C++ SDK,所以你可以直接使用 MaixPy 来部署或在几分钟内将 Python 代码转换为 C++。 * **学生**: 想要学习 AI,嵌入式开发。 > 我们提供了许多文档和教程,以及大量开源代码,帮助你找到学习路线,并逐步成长。从简单的 Python 编程到视觉,AI,音频,Linux,RTOS等。 * **企业**: 想要开发 AI 视觉产品,但没有时间或工程师来开发复杂的嵌入式系统。 > 使用 MaixPy 甚至图形编程来开发你的产品,不需要更多的员工和时间。例如,向你的生产线添加一个 AI QA 系统,或者根据你的需求向你的办公室添加一个 AI 安全监控器。 * **竞赛者**: 想要赢得比赛的比赛人们。 > MaixPy 集成了许多功能,易于使用,加快你作品产出速度,以在有限的时间内赢得比赛,国内常见比赛都有很多同学使用 MaixPy 赢得比赛。 ## 性能对比 相比上两代 Maix 系列产品有限的 NPU 算子支持和内存限制,MaixCAM 在保持超高性价比的同时,性能和体验有了很大的提升,强烈建议升级到最新的 MaixCAM 以及 MaixPy v4。 特征 Maix I K210 Maix II v831 MaixCAM CPU 400MHz RISC V x2 800MHz ARM7 **1GHz RISC V(Linux)
    700MHz RISC V(RTOS)
    25~300MHz 8051(Low Power)** 内存 6MB SRAM 64MB DDR2 **256MB DDR3** NPU 0.25Tops@INT8
    official says 1T but... 0.25Tops@INT8 **1Tops@INT8** Encoder ✖ 1080p@30fps **2K@30fps** 屏幕 2.4\" 320x240 1.3\" 240x240 **2.28\" 552x368** / 5\" 1280x720 / 7\" 1280x800 / 10“ 1280x800 触摸屏 ✖ ✖ **2.3\" 552x368** 摄像头 30W 200W **500W** WiFi 2.4G 2.4G **WiFi6** 2.4G/5G USB ✖ **USB2.0** **USB2.0** 以太网 ✖ 100M(选配) 100M(选配) SD 卡接口 SPI **SDIO** **SDIO** BLE ✖ ✖ **BLE5.4** 操作系统 RTOS Tina Linux **Linux + RTOS** 编程语言 C / C++ / MicroPython C / C++ / **Python3** C / **C++ / Python3** Software MaixPy MaixPy3 **MaixCDK + MaixPy v4 + opencv + numpy + ...** PC 软件 MaixPy IDE MaixPy3 IDE **MaixVision** Workstation 文档 ⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟 在线 AI 训练 ⭐️⭐️⭐️ ⭐️⭐️⭐️⭐️ 🌟🌟🌟🌟🌟 官方应用 ⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟 AI 分类(224x224) MobileNetv1 50fps
    MobileNetv2 ✖
    Resnet ✖ MobileNet ✖
    Resnet18 20fps
    Resnet50 ✖ MobileNetv2 **130fps**
    Resnet18 **62fps**
    Resnet50 **28fps** AI 检测 YOLOv2(224x224) 15fps YOLOv2(224x224) 15fps **YOLOv5s(224x224) 100fps
    YOLOv5s(320x256) 70fps
    YOLOv5s(640x640) 15fps
    YOLOv8n(640x640) 23fps** 易用性 ⭐️⭐️⭐️⭐️ ⭐️⭐️⭐️ 🌟🌟🌟🌟🌟 ## MaixPy v1, MaixPy3 and MaixPy v4 有什么区别? * MaixPy v1 使用 MicroPython 编程语言,仅支持 Sipeed Maix I K210 系列硬件,有限的第三方包。 * MaixPy3 专为 Sipeed Maix II Dock v831 设计,不是长期支持版本。 * MaixPy v4 使用 Python 编程语言,因此我们可以直接使用许多包。MaixPy v4 支持 Sipeed 的新硬件平台,这是一个长期支持版本,未来的硬件平台将支持这个版本。MaixPy v4 有一个 MaixPy v1 兼容的 API,所以你可以快速将你的 MaixPy v1 项目迁移到 MaixPy v4。 (MaixPy v4 不支持 Maix I K210 系列,如果你正在使用 Maix I K210 系列,建议升级硬件平台以使用此版本,以获得更多功能和更好的性能。) ## 开源协议 所有在本仓库中的文件都遵循 [Apache License 2.0 Sipeed Ltd.](https://github.com/sipeed/maixpy/blob/main/LICENSE) 协议,除了第三方库或者有自己的协议。 ## 社区 * 项目分享: [maixhub.com/share](https://maixhub.com/share) * 讨论: [maixhub.com/discussion](https://maixhub.com/discussion) * QQ 群: 862340358 * Telegram: [t.me/maixpy](https://t.me/maixpy)"},"/maixpy/404.html":{"title":"","content":" layout: 404.html "}} \ No newline at end of file diff --git a/maixpy/static/search_index/index_4.json b/maixpy/static/search_index/index_4.json new file mode 100644 index 00000000..cf6e2f3e --- /dev/null +++ b/maixpy/static/search_index/index_4.json @@ -0,0 +1 @@ +{"/maixpy/en/index.html":{"title":"MaixPy","content":" title: MaixPy id: home_page

    MaixPy (v4)

    快速落地 AI 机器视觉应用

    "},"/maixpy/en/no_translate.html":{"title":"no translation","content":" title: no translation class: md_page
    This page not translated yet
    Please visit
    "}} \ No newline at end of file diff --git a/maixpy/static/video/app_store.mp4 b/maixpy/static/video/app_store.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..a59f95adc132d3027c80f3fe22fd5b8dc856e3c7 GIT binary patch literal 1322444 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%0DaGt}XOtjGjDLIvWBP6K+IPlSyv9vN{_<-URo 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

    3AoT_owY=>$;Mvt?bM%0t7i)sqq;D0eHhBSyZ! zViBqtf{Z_7Ie~+HFn#Rlptywcd|Kd=Xro^GQ3>a6t;++)!4F1cPr@dCDiKR`M`fk= z{2k?v_EZp#7|LS)rNURa9kS4Ny$$x8?fYdOfO4t+r5n1B6xlemKqeT+vg9N?if!G& zp?G(=_uX>MdHZY+CR0oS2yssP+XnA?BoHJXh}>xyt_zea*Ct;fE~rW2RWK;OvLpW} z9p!DPaK?5PX3nzZ<`|IGZINC|GRh{KWMDKzriu1A4!UQwNrwB6!GJ&+?RlbcOWmbV zN{Obr&XoRO>iDJT&f?$mDCK56>W4zcv9@fu(9l{`HLN>X*QIOyJ%H3)E~3Ugbgmfk zsZh9W@th&WG#Ak1^RQ#x&3|k(nGO0Yp>o@ZGY2LayvYF$&DeAo3?y?_NdkGD=s>Ez z0&=+ThlBi5B%{J;-ghC>FOW(1znlhA5#|NgspYm_JILSL&Pt`XJU!wdO*SExSfS}2 z+>Mw7CO)-aRenaq?{Mt5@lQUHnAgl9X<{~mzvh1yUw0aD=94g~4VNs&#Tlx_)fFQ& zj0Q_sKt_YY?Vx{@TMuwC+Ij?aYlqWiL*CPc8TI-S=H$%H6+?x*a=oidT1nf4;Aq^j zgh)L*ez8$bvg15TDz*(>(94;d&^@30ZocG>S$*J04?Gk2Ai@IQb85*Y+tA*{#O^UG zEvZuHf6~GYQK!cteKUN!Mk1=6dQSK1KqbV@IgNH)+>F}$fYI2AjApRG_sO~S-d3r)_#S$YlB~5WJ(kZg|#F)Z;-DA?_8e&Lf%nx0o8JQO+}ba5}-xN z9J=XPY`QF?A_zjut_bzNI+ABiN{C)BfipUbcm3S!KBp=r*ku6%TO{_hf$ba41g3sjS{LzqqvDj}SAN(y%o-7p;pT5%%}i1BO=5vH z>U*w7t;QXF#ch`C1=;m|APad6&55N@N{LuD4Z`%xS1**nMBSx_$AuGQR)UntxykEW z3+Quh=o*=k4%_m>3cR%l)8nweJFN#qsvbLxVQK3q&-U=(+F2Vw4v3thd??RQb;urY z!YD|rF8(C7faS@TDs8uCMp?nzfw7-4&fqEy;rUB;!edWpvc6ZOn2D~CLa01BwD|l1 z7J&o&QDr1bza8%p1uwkQf2bPa$9iFccY;j+aQTbTm+JjFC1GS#Z+K|~LHxJ9pImtU zb8nO>5^NT?CEi#z*t5b;?R0qajFy?UuNO``(Gmwrk*|_3EjDt6V{S? zaN&}zuw}((R2Jm&Dz|~Cusk?8eu>uke;>XNDA)R5&qC)!c0bOjkP*_E(2`6h{D;w_ zt7iC*6b-SR-{N%VYzsZ?3b<(}f?n}fMAk!MgvN){ zwf!3yW3uyb9sQh6^}NW%Gdae_Geny?DNhgmp>@7jsF__wnY|fWgzCD=ktm(CJeXt) zL{z&p!v4^2an5#3bCFuO`TMv`MFV35LYjeTfe|d_>fb}Exu}S_kx&joa4i7k{Jy>3 zxYqkV7G>hQf-mviK?Ly;$aMVw+acqc&XU&aKG=ajJABJTJ@`*-evzC&-zx}nc0pM9 z-Za33G2O7_j}dq8lU)jhb{j9#HO|Mhmmg+Bt!fmRgY1=NXW>_0lP|T?IPNJht!4;a zSD(SIlHG*Z&F_zIHy!7n+wHE~S^)f2Yc67f;VHsl$Zh7H{2$PjAXBQt$EOoN8J_f& zrbN;3Dd~{Ojlhh%sA5_J-fbubf=@Z4 z>T3jFyLH~I<3J(+Hivq339B3zsR3{KTq`Dk#w}!n^d2|(GNI%-*prC8MI6eh^{`#m zVGD_yueWR6bQI@XvcUeJ!x6K0?JetCbU<^0-gs;V>z4wYIJYTz^PbE>)L zfnQ$CS~9~FK7FZ>)ihvx`B5YF41c=x*XkL%-AM@4*nUKQ4tMtdp$_Xu9F}MCf+>Fw zD;Wl0;w=ZQWR_;$-~l>N8a25V64BcMr1VK(|@ z>$VUCx*6sWiF1*DW9OGm=}vU#=&+j*(J-`NxK2dNv17v9P)}Jlx`{I*%KW1`vUb~3 zJRzYt-a@!h$f2I-yEL+6X{dxoqJL%y;r26;7G7TiAtZDqskOR(TC%Ot5 zeg<3Xgx5go#-Azu4*Cgn=tLYw2c1g-rwB2f{H>DiS7n|Go}w#m018JqC;3h?)6FGN z0=U&_q=i14@b?aBpMyL3am0?F2=hG8cy^?Lh9M&-gOZf5B@r1fuv<+aIyfB$LSHM+ zWiX;lbiYMroBh95x7KKcn;8;_m?HLl7NjRUW8FL`7-%yULtl7 z^}tr5TJOQ>wI&MbQKibmZ6wG>(~>|Z=rPN?apQVt40&S=b9R(|3J8e( z5zhF45102Mx)M}viGv5zGKyfG<#aCZ?SI*S5Hn(+xUWvi@JyZ-QWCPPC7YM&_}kSZ z;6IIeaTZy}>(AteJ)Th~$OLXw$fe7ll&)I(l}}9W7QD`C!B1Logw#jzN`S?vWD)!V zu7?Y~_~UL9r_H(U$%|s%X6p&KBigk+e-~S#fs_;w3hd!4FcPCanmU85{j*W7( zn(vUrVWle`Qk(WEf=OrXggGLBiwK6;!!ov4w+cQSTRs)XN}ScQ_%#_e z!K?yX28@GB9D~|<>NfYbAX0jzGbFGKGK8Zji$Ws}ii-X6lO+{XB@3i9%<4P*k2Lko z8s-;YH?U&Ev!eA60p?=Q@4OxcQM zCP~E7VuhBaJAY?ryS8U9uHt%!b~;)dn3YJ1iHFIP^97|Jty$1;`b|!Fv1N`eF9W%r z2xRKB&_SLD8va{4WW6G64Knaoh7^%aFOEeAd6y~x5hb3!)nv(xMpmXY-fes>=DELp zYHk4!ZE36U;Na8NR&QQm4k8Qn&3^A6F*|+hid#Y((4f)q={*K54g63MsceH3+pM5J zsf~twj(ej2I>h zjNq3%R2f;0vMFdzULJus3pBELa+PCbU2@sI4xbf?E9??XH@Pk_Sg3A~!#ChmQq_a> z1?OXio9eSzWQgv}!r+%CJSNtW4lcA$t(Hb2M8FR71DG@s?HVb+PxE{tt-V$%oFYM{ z3R2w&W}eLWFY0r4i;=?YfOtEZUp38?@<4-vmg1|W2Jv(PvU8J>{HiQ<9K{wuHcv!nM}Q?PHT0}+QMmt_d$~&c3*x-jKEr$cFaz< zJ|bgOWjq9dVwLL~iUvj^mMYX@lW zLMUC5>~)wt2GMj6QDK)=a^JslC)+vLqH3^V?1?&_JO4VFf*A91W4nUEI!7-bd45vT zo>P<$WaDjlex=)aG?>iC+coCKnP|Q`f6h9k{A|<>9P2)iEO8Y z&~(0k;6-jGYrteu?XpEr9pAT&+U?*fo|N2;f#s4!j@_C41R<0gwX~N>=+6}Fy6G?7 z^9YOB1=uwrJ|d7%X#rph|54z-jm$5uxeF@>0|!nH0$|3e;!l$-ST^{he-^pDxjm21 zdpgAM^y`jRk0XhzP-b_l@omf4$2nEb?8JuS!|JO=k1AL%QL|}FL(MGzS9Cerz2VdX zY!`>BqqXX$8S=5=vRg*QLL2rayICOzqO_Ddv<OZ}iS5BrB=?jlSzepEMZzE%axu`TFT~XDagP21pIQmFTaH z5j@NMfwVjWas+W@jy4p2rJ_6#5hbU-EgY1AKUIfp+7GXPUVrx>89r%^z)fT4H=*Q! zXc{w;sMOfSp%lq8%8__TVI*#~#}Y_Irm_P1NL7LaM76=Y%3WefJOWD~e5g)~0#A!n z>ji13;@@1FMWIZ`6nH1WXw|2KG_5h>Bl4TiEOC-fH5N}r!I-7G z5;YE8Ss*%~5-j$=NOS8YL?FS%UwjG}8So;Ws~O*O1WU-9EXCQU~fS&aB4 znQ(XB1)>wkJ5aEl*BYCZl(Y`gX!K(zny~-kxD}xuB3H+7OH}|D{Y{3FwFDp#iUIUn zepw=yLDgO@ zo0baD3Tme(Cdrmh&CIVpB=bhp4p=C@h^vxgnUy#w>9hl8AP{JW&ay8~+!7%E-nfko zKl5#6fVh^%D1$mI%;wGEW-6n0LAj@v;wf{PqrnEByzE;m2*c8W`?_dZFX5I{(wWT3ZN(S)ff$cOOB)e{)j45aPw^T4H!{`~Y% zkyiC{}7qY9)hfoAKna$v@xTb3=*fwGnpT z@ezIg?Y0OvDks2Vk)*C!tY8qpB0M)XC5wK_9~JoHPeEnV%g{QDCnA2eozC)#ods50H9uOB!rT6-kH|F9ATI{>F?S z-?TI~KZ$>;a`>P@q`*{OEO4?Klggv+_zQ25Zg6v^2qX)u?P=c0i$POSnU zVFf{ufPga>CGo2|tuaUVjZ&4JgMJfgworL${Zy)HD?79BkxVylTjQCqX%jaHt}j&7 zeU%7M=i`sFVwzwfp2k%Gt*#@7R`h(RnQY&9JWh62(yf%{^uEcubSaR^S-Kc>f7FMh z?2bs8tOyrL>d2!UGc}-=JR^gWXDnY4G>G5TzN9s>J;cyLinLaWkXQ6WGoUK&`}S); z&~IfqG0k#nCyF3>P#|uniBeV;f}|qMY8_D5RlMzE-i3;uUO|wsS^m2z?Z!dV<+q7g zq5I=lcPbVQu zjPsU@icHqyiH4Eol3Fh#2@O)3>eE`_nxup&lsJu78|*_IF3TOY%D!^27ogGVzV3j! z@g)yBF&EmSE(KovpJhPm+X?ehz0T~nKsi=81e!g?FtQ?mekh8{m|)P4C&dE624qC_Jul^Vrn2{5EeN#+RAceI%I5 zCe;P$V>Nx*ry%&g?YX;wEWfBKUo`cI7KxCdQTFXB(pI>nw++rDfQaU31pc%g{_=&@dB~NfMG~0WuLvdUd83vPw!D3J3FT+_(k% zlJn=A!-0ewUU)MVa4EuEC63xcn-_o?lM#i8)KzQ z3ls-KP7R2FL3Xp3zyOPzK@F5LB^d?=6@-m1OTbOcma&*BfI^M9oA*M#9yHK02@cb5 zZsbKIS*5dUJ8Y>+GfJLItp3;){)?=7)mWo;8yX{1pb}Sr{(eNyb#g51hj2T%Gz#@k zc3||MyphBz#biJKw?YDbP>0`WQwf!pWb-nR80(enTl>;QFJ(uWh7;|}1Wab6tEbzw zUfR0FLl~{PY$qXiOuU<5&2Tg2JSK!+U?S+viGk{*!*-0?wS%3f=R7vYHmXX<^%H5U z2(pXbPrO<<)$7f#ap`r4PF1HT*T(e$@~i!bx&-N@tX;&%Fuc>-h_Bp0hiUcxnTuDJgNFGy!75Qh}8||8EQd zMyKqDrT`9U!c+?(*??^|$M~#Wcm9)d$TMllx;)BeylyI)HgKQSSIB8u!hBoP&~K_L zS{MmqZ>)u?%CIGKix3DmJUzbXMj*psjH0u#6h|2dY*>!7-LYyBkYU-`G&M2I3Unf6 z))6!j6J@N@%X3x?rDGstg;79XI8844v?2Q=EFWLk`}aSUl3f6Rw@>n0!%vwYEP&)Y zYD-bN-Q8hB&lLivgzK~3&EdK)w4hHu%gr-)8oDM%)NW!rLGUCPn;CYz|vbQ{?j4lhaO|m8@vhQgGp$+&4D@FZ+wq@J53;~A z&nP;~XQNS%xM6aGM=j|V^+`#t+4g`iz#C4$EAZII(f)femULSdBYw>E7!j3438Rr?XAXP8Qxv& z|Le0XBQ6w!;G|tJ?o0$6Ae|@*L4T}Z6_95lZ;?@kLIOcE6U9L`?@08$2n&gKW8E*L0OQC2RTx3zY3 zcakq^yct}e{S5Fu6+N2h0l(-D6U$6g7p7ZYSQm-Nn5oAPqO4JfV?9j!-EJxDOhwm~ zW%)iDdsdwBxo^6oG1O!JUhh&_EKz}Jw=6|NHBc4M6j&&ls?^hQvxU0R8gyT{;jRn9 zWzpfqKI6V9wYxhYEg#4aq*5e#2k~vgI859O{&wN*u5Blk~x0 zRC7#?ou8*>trZfjVGA^zB#rB7Tl}<5WLTz~G(stH9hF!K^cOgeLV8AJ7vvm@3kxg{ zeL$PpbOuuREi&N=Xh#m9(8M6jX!65|s^I2*03tqQe?EkHDo3MCF#~6OW)?emUGsb) z2M?EzRgOkx;alt_!WDm6%)x{7L-9(rqid3M5AAdz?$=N*j$d7!t+uD@e}}Lv6CywRG09IsJzie&7IJfQ06+ssoH7NSF-ck~Ysm<>Tkakz`Hs3ROp*@0yM2g1 z39D$9VAw{6_E*c_GqeM8@Knvq=t`G`tLF*ilwjuHW1dO}tjL9|zsS7N_l>bzxfW?F z5zI*_HvB=xKd8{*ZjS)ZdBWur;B0AjQlzHgUs3$~@9wVG{(txAJT+&MjR7r3`S~z$ zVE|<5WJHaV6Lu<;Z$smJi|zY+^(;`$OXD95$q4rgf96(y9)wQYi~FAexn7|ltH8&sz($Cl5=QQG$waze zGB-_NXmK$^8$a?UnhlLztC~4(*oi?dL9qZrM$Er28|Nrdfk`w`yj4yo5|6-oUGnoQ zZUl+`!wUXytdP(=u?t~@6%;}S4A|05ak@ZdNXtXc0o(7t+u>c8o@wvYXHc97_SFTB zW1=&iUY#FzW^0g{9AS%65k)r+_t0er;dme#L9d<1ypfv=c8tFSW^mMSfzR>}e_+oc z2pGQ*7FjI8*-Gi#Y|yascs9#fWdn~=lTow@VP9&7YM11#a+L#5=OxVsM1vqIg3@23 zFQC`+xX{UAO&Ht$5|!X`A@L>VZ(|J3){}m-8 zR)5aMuf3e&P#@5uFcx1lmL|NJf}%XT0J1K$wY8}o?ul~N*hNxS5MeigL&+fhL}|P} zi6)Qk=La=*MU}B$zx1S6X9MaR(t^CPRzlwwKK}$Guwy`4QYPv83eAst}_M=C_X0wsW^SDV(r^5+-A|+$orhms%jpXc{QIt2Kcz8 z%g96C>XV4pS_yU7XtExLkpBsOHRXZe<+>8Nit%!o*z8o$(C%=ZN&54G`BoyCP<^W6 z{?TwfywHg?$W?HKFbg%PNt3iexf3G2QiEE#WDO(xKzoud8y*%h zfTTJuW|`7tRhyvRl!e*M`mGfj9VN67BT`tW%rJDz6I3&b83Q#bGfaksDBD|BQB+6n z@(Zcys#Icnp3kOX8T5+uT?KKW%KuP%_<3$SN;6 z&Y&PoK8_#|9fSy1ki=CDk%|{USbtKl#ltao!$=V@3|3Lb7Bl4L`VZ< zAb-Nfh$`aaV7tw^gkr4vO2$}M1aT*7gUuekNu0s8mqOb&Ip=U2VBsIz+OaPl zf7*wK%WT6Kj3pO<-FF3DaSZB0%*4RfI$sf=s|yASNC!x3PP5UZQmyOv zYN8;r{ygNfL*7iK?qzb>PbG5MPZF??LgToUEXr;`8W!;TE&?Gj`)nS{wz)FWQSJTi z0GKU+eIXqEp{$IwQ(hswPDf_n6GU(G0@j$2r_TK|FW87Ibcl4DF@REWiSlEyOhQ(> z@NKh?K^Uke6nz3SrQ)2TkQA!-kfJfp^3N0(vgpjB8Ta8yuGX>I=gF$Ht2pg<$sH(d z%M^9-mQE0*os51_kAkhB50UiQ>z9Ze?wWE7#ikh#)?%f9*b($k3{6~%Ak3a01p-{T zU%$H?w2*%z8+W%z5DK^_MJUqIH*r$lx}%vaFbxL=$6D@w>T2%!fYu#2MZ=-PZSg{Q zEk}y@v)vY09WwzGk@66i*vO1PF1e$nh7aJe<}j-Rv@C>{1`9+t`Ebqg#UQ>>xv%ElGmpIvdamFbn>;P z1Dg#1EjyW-B4BzqNE~3!ibaeX74)6!8{(7S-fl}Zaz)K$q=EZ6$JFfPp|{r0$jm+D zG@cc#u+>g<@PukLs-3({?ctewTBnOzOsdtpI8T#P2c;YM3kgS`k8? z5h*}~TwCXU9Vzsd{`BC~xac%quvs;B&OhlAW?rlc23K@@jbSJT$ zgg5_-ymJv1H0trL#yb)2`OPtHw{JSs)*Er+Sy=a2Jgn?b z7D%%n?8OL01L7K!B}c?NKYmHRl7g6$NOG5)VRmnxxocsCBkKKYAvyG_xGRQ)IJg}N{HUwM0yS49O865!!?czd7b4oT&G!&$pt3Ci+`AAc=DT7Abbhbf_%{fs z9YaqPd8B4P4idBLH$*rQ3FZ%lN;Ta%N9FKtucsy$7EO0WMG5p-7$mBwQq>;fV*nKq-#fu77@#oS~m|dfa zR1TaW-}SEHf#+<`kj5wvxd%m&*XH%n z2_UEb)7?L}+C~n>0U@-IRijQ;yJq!HG8DuwJ0=Hp^6@JoO&fyR`x$5Lz=TI3MGrfF zs>w{kcuWC`XN9ygY;v0%RV~-&kem7I7n+gL(2bYlbfns%TR+vOmOE6XqC>k)=ksr$ zIEdaKT3E`9G-~hG8vNkmoNFV}o9c~f(^q3YSx%A+^Z~k~K&&KD@5&Jkg?TMYF<5^7 zWAe0-WHiRo;2mJ>1+9cF$9hN#2MGykKA|`g$OY37pO69-5ra1EU zBLtzOP#1eycxAJUWvk7-L9yg!xBFwk;W8^mo}DDO$l31r?84Twwm}gv@H6e3al7fY z8vZI}NgV-ELs2*OS84Armj!HTntRX33jMfD1)&GHUSy|8e@BCnxNZ?-$d7EF%nfR8 zP6X;vm#%C_l7t#;6_e1g^%G0W9*H(>odKtY8Cj91&s!L3`s}B8^_eaXiAz3g=W7y3 zp~f_Iy0BP%10|r^KQ;sr#<3TX%l;=N|wu6yadYGE;j9T%R8y zs5n`_>c_)j)dbnqzbj&+{BRps)RH$7OnL9WmYR3P+1w0qD4;1c1u{)}AFK_5u~$cs zG%}_CAP1|Qhalf01IOT~Gd-!;GY6X03k_QZM7QEasjPF9LcYmBR<~_XD^z4nv)2)t z7ni^)4VwO0ZNQUYwy}x=?grY^PNSuA(Y2L)!D#b@yf?Ln;C-ZWNHAs@ij?595|S3X znuJCb1_5>o)wut7fuzMreeqUq5whUvO3;=(IMHFuJfw!!j!9%|@!f*EZ~1-TAJ`^& z(xf>kV+{ajBkEH=Z`U!$CL{`KeQnT5CWml!gRJ!j{&V67mcR+mS9HwnTP!Q7z5)#} zHOkON4Q01dYXG7H9=qP$9Av8qC9nj=JhgrZWX%>qPnPfeE#ZBEiE$8*Yi?P9xH}RK z_ldwft3~QfkLWYoBusNrU56691#R4f2kuEjl~$qNuRV7$j7Ec2Wd5oYse#D^-S7|! zm>iJoRji(Aja(}}hk51BrMu;F)BZZ|=2H@y)m-F5t%?Rbi1?k9i);{W?R<~^XbI#l ze$T@XE1F|_2hHtY?(TZ7B9SDJv4#B+(%UCG_dv&C0PXcNKRE#|L}M6$Fph?pO9eXO zsGVra!s*SHGDcLWkv*yNK#O0|(mlE$Si)97Pl&yPGS+$)j3jCMQ*7R?2i-GV zKpuH352UP?>baJDU8!F&D2E(```YMzNXzjOSm#fVk`_(cAT~Xbf)ZROl6J9AtTg>` zjVdkX2MIp!U;A{@Nfws6Thp65V9**T`X6}%K6gFXbmZ|I+H~?r$Lmca+m6!t^J{P{ zDcOYF)V);1Sow1or{Q;j?y$2M{<&sVw#pH_?`IxPf_X*$O6^rP96L#PS|ob{9KTl1 zE*#`4=i2n~{vZWG&qBCx|Jq*GOS@~FdS`8(#5S0M>iUBdVn2}G(<_4@G!P`emH;n02Ei04sFy>@JHxCt~X*n;`0Gob-WY|1LaF>jh+6<_;O{1 zLU7AMs)4SWqyKT3W4;QpEB$pnp2}9u(oW!fblL|Y-D5w&20`67ezNPg=VrooltdLJ z#-L;%EF(Z%c7nO_gn#t+`Ru1l8u$;qxKdWy2gADxbL^i^GxZ*sG?FhJD#OghXp*p? z+{6(zhA8L%3vF-z$G-dF^T(xL%V5pEI-+6?GaxoEM9sYBZRjM;QOShhVvY3adka%Y znzPKhp2DE;rG17gS#RFSNNkV^KRcx(0Pzndo{S;kOhD+wgUBo?_LdRbQsXlg1b^iR$|x zD1u#^^20NS;JBD_#UN=cGW=QfYERH!~@jwf?q5brscRWcRBmAL$Vx)wzg^48dN zcCjIBL(8MaM!r;DlQ8lLk&SdCG%&u0AOx_j60gArlf*VyyIG-{?hv&}>HfeGi2iGB zMm)_@NUorWMk+RfV03B3rDJk->XO>#QjPZca;r1Wo~#O$tm`E1Q~k<&s-l886^Zzj z`xtiiv)fy=(t+Klv$4$_Y<8GS%PdJG*Xb8rjpErtMms-Q?Wm~}#ZCvXc)SgHukm?9 zqlRnzb(aWn4BSA%TEhA@0)8KRI_>e}q4F%TT}7{9=em-xrRY8DM45&iP+dPh^e7^O z0<-dt&WKSkCFp0-9c->vJv0GgWIqcn*T;7>JhmE})g%yPHO>fvTOX=bEIfatgTDVO+Hj(d&^CXy0~hxgUWU)Crbo?&U;M?wUkcmt2%+xS_v!|DX^ zzk>QXd|<1lUaf`dJrQ@8fmtMcbS_iwqE(B_5=IQ#6(6nG8s3ahOkP+@YI{Py{0xoR zl>L<{mhc_j@n$-`WF-LvUxo3{X!0;*0=5XoidlH7B`C|PgR2ZFHW#;=MF6q)}#XMiXJ2+d>sn>oE5?e zs(%HB?Y56%@$Jq|fyzf~YP$bYy#Z$RAX`56;$`U6Vwl}h+#TXGm@Zkf3$-5#yYi6j zNv%p|tYR>os?ofrK!$})Nb6C?g5u9nRDT?_v7Vj2&8uLR?ecE@+)shm6M*E85V>{W ziBY6K3930xdui=djEyY1PPDQX+`J)G#pD!R^o&ifcX=Rx5N6h38qo5atJ1F2@3PxB zsP%F&v9t5QgmOIK9$pX46j@lKQ8cE`GkCBHT`}B25MXNd^`aF|$G>wqE5B$-hpM0~ zy)hm}c7@$;@<`SQZi}Wt0;K~@L~+{P{6?xSfgH^Ls9xd@avsGbh~o0<7yjc)6naN` zDjnpu^Fl$GO9~mc{bm*EbdDqnHSDUDd#bIHI7h^-o)w&(-l6Q6pSHN}3f_}bVC1iu z8~T;}GS74s`^cF{`(MNaigyoHgxa+@(x+?F2)TDqu|f;#*^A@G@VV6<*M~q7M6L9= z67^LJ{9j$M4d82nsIAzD@u~E~?#eOhP?m%8&oJn@@692z*qC`EonQp&jP9UT{;jM) z*51D?y6L~q?+=v2{x5dOjxyH@AP#49Zy}HdjhOMD6IqiK5h+4@@4ci6#+xV zcw5~XPfmr9yaFGlocah`1_^YD0A~^}a}aHBv1?dFWOmhLva0P46SISWNcElafAfSY z1Ty&kudsk!9tZ5Nbd24ptKj^lBGezoN=HF%K&OR8i8YvF2bYv;);ZTHPl?&M^2o#FD2L!%;)I z#~of&AB3*sPA_a?1kC|`g@VhC%=g)2*`*3qg`odP1p_S*j-{uiI17+d_w(MCk}+iy zCUSQ^^#ADmV!_4{u3vL8bg?|fYMvGpVKoLnU6dx`=0$vO*GDlP*8XboLYdxIL})W7 z7UQX`+yA@To(MGTAVtt4Fx&%G?)5tVQ*z^q59XwQJ}tp8R0t7BXi0Hz9T#$R{Ms8? z+B7B8Xu{72c;Z^-K$fcIF>QS3ueDp?$KUd#_hv0Nfm5ejuf1~D0|Nq*C%m`MG@>_m zO3X7{;Hus_@O6m_S4;iGA6^Fe(|Yf%x%p-z(iD8KvXn^2(%OJnc9MwZ&q%92{kLlq zcUY{U9N0oMDTW5P7GA>1q60YSl8eHfUZ!k*?9*%NV9mp;@x$`#9vZXa#8Cq-Cn0{A zKRZm4mv#niOz8x9Ts!5PZ;_s>7_O39mty{7j;6A;IL9!zb&t4cIWD5)d5OaTeGQ25 z4v%RzSCTf~K|jp5{m_0$$j%usxDN%(O8L>V$+0`sJ~_m$0uRe|Yp?o89Q^5A?=@Te zRG6UjDF7-G%@b+3MW=)c1x|bvQ@e7;+`ZV$nifny{cVbQN0nD$zDP8moiKvO#6(M< z8B{MfxW*w6SJTnox2$!^Zd@$^S2Pp4&s3>kCIExX3U{<3^Z}uwbLieSx>1TssDUfM z5}y9;@^Jz=I{)DYN?W=OPUE%oQ%0T#xIXGH)L&dAxh2%w{S_MV4qJWsg2KqVY6tMQ z9t7{^U#!pgYw6%(p2Ap_WSR(-L|q3j2DEBP^vt|&&?IHP()|p~_A1uEU~Q}1#)?tW%R8oJ z4;ai^PrAov7(jCxod0)YL|`U7iVzu5Jsy~u-klUa*J@sUyYg=V^0MwAoBk+~Vg|yX zyQ*n+4{-;1P7<#b`*jnHg|qvct)7{R6~ zDTgwO8zmi|a?o>MGUU``YZ6(af-U3(~mJ$BXX&y;x{xQ4mj~3GzT-k zofhUcN0_EiW^C&=g1fDZQ>Gx{GL0aaHV+o$}60Zmt4QTz$^6eS$n;9?fe>^js zZ*81^E`$N)F`c!w$T(a@3?~7?*3n&`(lAM{DQsk|?S% z)3;c*&0bh<2CqHXD-;k~Qlu9y)#yGmp|!ohvTb65Vjni6knC2zg(MSzB0c@#uXUt; z(%MTIDT2y(HnfwMNVy(=tq9|VlN(JcuSln(nOr#^C(Hc-2 z00%H9hxh$-SVVDqh!6jyWT#fWSdunk(d$Z>8LQ0gPWI%(#U_;HA$u`3OTd5OlS(Pj4lPh(f3 z-MyJ?q+tHtAXZ&3La4^|yEP<`E=fz|GYth1_D58>E81P}Ln}XrjOd8o@zDalb( zixjm1FQE606rmK{D$bj*#01~gK<^+Ei=~)yBdf0P+h4o|a)$nEE1*hLox0N`oK~Ci zDeJC!vHCXs&PQVWzHRQ`;*Z$}?X0rv;d$zVDx0s`gtoNv+DEfz1$Q z5((5S9e!61ivXA0b{kxsLD{Klgsb^&VkS|xjl|VI1-H6*WntgFA)K*5x3LwO&Az?g zC1&t_08XHsga4AJ?+zt`WvJ6p2yu?k6-^1wslz}ej=$S5$m z`0G;W!RPqK;O+O*Oh7qD{~>0LUxO^nPmxNi%GhL{=@ zT;xR~u`Zd||KsT!*dyzjt~<8PiET}6+qN^YZQFJ-v2ELSGO=wP+&2S%9}j^~?VVV*Xx z9w{nXfbFnfQ4!ro6}IrpAo>Wz@5_pYwq0qGN?NQ!UU$P_B@Mt@c3IETW9b6!tgX9BWsj@tD(mJin|7E%?xK# zU5K8sLpO3Z2bWUDM;hoMMS-^XqWK+iVUDcGJ3%1UooyPI^fkWRc`*2a$aFY{Jd+1? zx&Ba+Px_0eYCKhze}N^@b)A zlO^a+x9zb6RE5Bg(}LvF{4bTFWM}c@7-eNa_22(M(?Nf;E^EJu8nrZo9in_StQ+_;8PTpdg z$jpIx<;ic+wnktsZ|MDG_2}z+to;KhBVi_* z+e|eZn{vMz)2%lX9jmt#N>dY_aKq=@cK`G(yD-EjVzEa^hTC5YP1fH`9I~y9YtW1% zK8*I>8mEy{i*rBxb)b>F5+L9kZ&@0=96O45%kr$Wb?}$2lHY2Q?Mx1D=J5+>HR=7i z3y-=uv9VvFHK+5kePSCfpwi3I6>_ij8eG7oK6zvLb@e7A02taJp?tajk^;~Z6lf6% z)qqaA_XeL;&VnsSy#|+hts>e7X>&PXP zK?YI?aKCM>>hZ6|2h0zf|K&$V^3-qV7;qgupSHA`#ZRQAO)}eRNmgvaGckLt(y8*uqyRvHwVC^n8>I`64;G&@zCJ{j zBg2D}s3A>!n>RwpoWKZmC?)A*I|^nx^W)6*;b z#@j88awN}Fa#d}qcSQ+3wwT7?c^w`3T~~}w9!{8t;eA`U8v4lNeqW>3g-{agk+}XO zrO}AwF*5nyzX=2&R}(maKrK6U_$3Fg)ytf>9kzukfB61bB^-!sIobMSFv+(Es5 z>0wK2<8C$L5$}46(ihV=)7qmg6(PNQaR8gs?ruzv)AgOYp>)=6T!s?%H)W$2W-idQ zmA0(U_LpROm5TjBu`nebieH96*X&i!kVDSEx>D(D%Orr0rFVDmAfFUBwPeEjA z)!5pY(LkmI!9Zk;qo%|hkNOntjK=_w8ED;I%Q*4`NnIY(nU(UFHY(pXrTaXmLmi6O z>1FwR4JUFIWhur994Y0UOvCZzMQPkH@0h+R+cH7~ah!=!D-^E-kx4D6roSTx^*ZMS z;MfU0q86hAOw4lC)`QTXl6>Bg;xSY@&)W?`aZT}Dd$n=i-F1sHiNDwo`IJ!q&E5^d z{c}jsvZ@ZD3IX~QcdU4SuaTODytb15sTKzVQrF(CwoV2UPYfl?SUIox!lC)AX2TDw z#RI>%RHw#MH0Fsq1CKXUi_8iQozRlY%CwL$yITZ*S@%Lq-VaTyY$M$7;8qw#Jy`;B zOh4_I!oP>rZh>)lI=kVc2#} zJyQA9XlJBs%II=S-s-u317Sxx?l@uBV?@vyw&XD)2+N9*pk`wZiOmZc^O&62vS7F@ z!0Enov@Xw>E%d&29&V?+Q8M^KTqR)LpLN(Y`D1w96)5dNMwK&U9XObF9mJZs+xv5)C6g;ieU$ zT?Q^rIFM~6M_o~pRYO*)Ze>(Z&=?pra?C(9grC@9c;!XR0M(m+QN9C`-2$XHtmuxA zt09|Xzn8*R1)>9b0enZcc#(cQuLh;F1sgakqfH5QkChcp2J8>{j-De9utv-fgDo;N za#^)orIyKzvwFy-g-(5)f8l*Ndz$9PyG*9yCT5qk|0-KQ%_Oo%daI<+D;Mi(8K<`? zDI`k@8zO8+Ox7Z0nx*@&yN*|ybIw{z_Z!KlT^qMlWuw$GGUesLx(tujbp_j@=<9Zf zbvX}B!BBy2^|_)(G{owP*o7_vI#9s_Jy9@P(t^Pv1x?jM8Zx6R^}r4Sd{mlulghJh zrTgs(&3-Ze_-%Pe=Z)lfp=+Sn>&$m^ILc89y~Wm-Us~N>()|6{cQ&VbQ2(am@yQ=F z_g&+3+Unp)WA@?KLB1!cCaKJK*HyJ#W9fGd?yb1dO!16@?;eGLWd4s#yjTReT>rDAy;!Fc?{ZGx#3)fl>wpn`qC*zN&+X#O{HSFDJf$UsdFtEyfh+V9B(XYfKX zT>px7_Gn1rJH4U@+`Q%b7MNz+b^^i4>U9lR=< zW+!vsBx*lFJA>nbGMkRLhz?JGFLDt=Tm}LcyZ>II7m>_D1*(eG5DyRX*R~EGGJqii z^ypRGYj{-?03$BHh9Dd`93Y;g6}=huM&gWe)DIvbbAOXL8!0_jYT`d;4R*bEqpOnn zan<6ewyR$CN6!!Lc7Q7BTO9@mWoagDhHh6V`ls0#ymgplGQWBzT*XMUYI!;fZkbpo zMNn{_4Py*D0zHK|+7>;|`lMUAn|V;7LGgS1D8V)_G~0ng?jT}(H4V54s+g1~{0GTS zuQ~uU@gM#s0E62P^ueT4B`SwzSXLVy(5BCj)+ay~{4F!QpQfI&Ay8A?3B{^wTga|j zgx&)tbJ=UX$m3$iyiw;c6NW!}Kf{GY7_qtxn=l`X$uOho) zN`COgg08`VUHiYzToSnZGa+onDYahD*D>e;oZe3(P-D+N5)3Y(m-XHlRMi)+blB+Q zfcgY_8mtFa>1vu>D?xDqAZTsYOQ8+FjbtwQS8sa#3x*DP<(b#IvbvvqKjq85ZRP#S zcLlD#iXj1({>}8D4Ua`CdB1aUE~%P#cM>a(!S}nx!#^7uee!| zIatA*9}1$mODH%kX!MU&aFcXS(bHP7>^p|S%jS&$M-?#j1VB>kEVYn-H3pU++&}BJ ze&D=$zl;u0rvSMgGU7qR4MMxNG7wI92;O;>dlT9XOy(@SlZVauyU3D0PIl3jOpI>fb-eR%4eCZhFQg&0opVEX>9Qex}D=UvylgJ4!X`sMJZU>(ZMf9 zX$J2c2ze0kTDj!VM7EYo89X9{u(Mee4*d>KCXPoVA<7M z)ZDPAp${}%x5(ANE5!Cx6~Bc1$L{2EG{j3KYW5@5srE^s%%(BL-*zl*}$<^lX|U7~s&TfJN*@+1LVUSkGYq zpw9Mg9WR?r_8AtE22 ztQfNBC54Qnc_Flsu^Bp;kA$^UXR_2AkbFC($dx)vbv68wgMOjSW zZuYEI=a$r54X&b@y*>Sy?d#HsX-d4*@DROpoNlaiiorL{LN)RMm5ZV8XGj|xF*yb7 zYk?X2_d}8`V^B46!3DjQasZSXoJk@TsLm@~Gfeb-aNnU@pPLnZT3OR=>$(m2adKq? zeV0=KME@Yh#-M%a$lG~~jD7$JGur@oZY$;p(0Ei>5IF=~iV}`GXIT$(LL_=50CZl{ zF{4`XyA0@R(<33}z8{Af<=B@(8P^R)VmpPguNBw=M^3brElx&hp=n6U=&7I}Iw`fi zOmvcHU@Il{0~lOIHHVL+B$YC$Gf_5bVH$SWMFZzI82hN{9*f)yG^fT$&K;R8{b+fK z+G3cB($;ba>yZfKa5QKfxq+m?h!($V5g7yrrUDIPYtg(^8U2uR$A6@t0cZeUzbsI? zAcUwKvV-MgYFB5C1r#(85x}QwNzy^WVieleO;78;M%Z4zzic1Fb(m;=ETLD)AHVBX-?R%cx!@L#GYPD`_N@4Yqgq(n3_fN#?Cl4v-7vJ@7I21i4aDjs~ zrp*#dPl2=5OX1oQnsZGf+u+E* zF!**qmQC!rPD}p}o@3&59Ka-Vvr(^ym98}3zsW!;R__J(#qbfH;Gs4gMm8&t>zx73 zK{*}L+gcdXg>jbH0?l1#E#{4;v@XYvs2voHPWK-`V*-mQ zn&JuqGDpdvlF{kS$odM_N*BU(?bZofwB7HumPHlbW5M3cD#CcrxRsKfF(=v;G{!cSij^M~8Afw{?De z5OtpuTT;(Gss6s+HYX&-E8|NVXU)(74?f&i0ki4kQ2t)j&|BxmXPy|3z=*t_ z`|+8B2Q$|e(+qH3!QLFEDpHP$S>Ui?8V5Myl3Bu*Knewn3o;YIf3Nd5zL15jP)@Zg z$G9w0Obfq#Yry2K$-{Y*Bn)|elCO71NRClHqQ+6T^GM%h9@ccI#VAk)ho?3Hq^{=O zTswB4W1v=-tVH#aQ3^S*Hv%~81N$3XsFP;GMwJ-DT1e&CjISlNf|3UkE-B%jFX{&bL8KdU{>2>vc-jLhMj)rr zKre%XX7`vn={26{U`V&iQOUg{XM$*90o{{Y_ucMUP9cLQa*dYBs+=mj_puJMreG)fxOR78dFA5g=Rwv#XPEiXRe+rs$p^o!zodH?;=|I zXNTUr_2mk^2qV=@1Xz(()PS5ZI&K6}YBt4D1ez4U>S`DoSr`l@5Laz!@l-g~CK^&HCV64JD{0yU zqsnkRo%jo5=AfTp#saFysRC}rTFB%Kz~Jrypt*qEBBJR=m;`V#P~`GOH8m{JDwf&` zd==tDW)$&^W^wkEeITPZCV76 zi5cJat4d<0D;f_p4UV{Ql9{%=uo8!?O^4ogW5e2d8Oe&_`}fwmFsw%TmB(aU?JQ#V zR?phDARWUR(18jM3HPY={z3&ect(}!8P4i2wu8PSk{x0{;)++d0;lF%`7Rq_=L(qt ztqr$`Ux9EDBgDe|OVUBi0me+o36McTJ+wqWg;NXw07}s_>%^SfEIFPcd`Y6;`QLA5 z;GZh&@=aIPV5O>U-J=Tr~*?C94b|x6hbn{szwP&)O zQ4@9XHt^(yAMCu?J}G&%mo*y>O_e$?tMgU;kUu*Z=+JxlLed%{G6LIW9SId$`)E$K>$X`$Z&fxrEuR^2Nd z0G+*41wmWpF;@j3KeVMcXN3UchQ!Di^YnIF9U9cgCAyA+Ad#iiDLPcv_sbgGT=H;l z+{5hZ+YD zzw9sk+1gHt&AFX+)qa-b5}Hx_vS*szEa`cp5;t2Tp2ANdeZ4Ofg> zY}sYKITxc3a0h~pwp6&e&co;fm<{J_4!?uZzBcKxgD3lF(+dVO6I>=Cp?F z!7Sv;xZ(_bTXeEdMrJMsj~+a&H=fC@>sSTVMge!~9H%CnY!{l`rhX{>xARZm2>sJl z#@eZnEm`&uwEeKNYPuXW3K%>w;)GC;1mNC?dyQfD%;=$9B=@t*RS-b$w7G10s0W?* z=H}TXL<=&ifjQZy^VEq{)xY67t<64mwoEi(p=|SZHb0I@4|n~!(3NM=M6c%*lAfbu zTcr0F=EumajH9kyU#CCGs~?x-)=g%ug$>lrQ#$>jjIJhxLnqehqw`Et|6hf`Ibrr; zA30PobRb8l7^!U|XuN-1om3o-TZj&E4**{9FV-)>wy2=Q7IC#GN=OJfXo#95i)kWJ zQ6up{V0a3Pi<>M8O{ zW?B^!+AKrw{F*qKOnnRPuqtytHwe1=A#SqOq@}=8y0Bv$r?A4LWeam41JTvY;D(4W zho7JNnqdUiDt-4?zn1PH%~V}?m;*oxNRSOf4hDl36h@|Dz;RS+%mPCqMutwtKHx4) zQ*IA^`@6Ssbe-X}`*M|tqXTHNBgia8U*k2REKozj^Vjk0F*YD=PWd~QlMDf8G0W>Uu@$lZGC_uUzK zdPgC7x<4XiSv9Rx^z>(PE56h`dKixPd5@TD2Qf8Z zBvz@*CRIqSs4fkTObQA$s2tUg0_L}jH2fmSxYMUa+e2&fhr*eBjfTtZc-$YZTyNkR zzKeU28ZQ!mgRY?&)#+M7^@~ZmD-lkl*fg>!MgYhHJn7bQf0jFWl#0CBNJFw0!pEvG1X454(jUsvHd>844-kt_E z6k?skrpPKttVRi6WL$M|2}?NHq&_Mrvy^2;IXpqUE1)({vKhaOw3a+Y?UT#WW;=dt z%Y%NiBQj$%ao?-Sd3-JaD(Yr;l;crL>RuB)+Ac{-8IP1TLd{CaE~#B)6g&VnV+IJ) zg3Q<`KSC#I0+ov*_8|<K_!@LwVW zg?zXIfV&`*xl%+38IYqVs9R-Tm897%rWUN`;5;TZ33`tx=`%rEMo$% z-zufzPLWmZ4O8^4M-gKLSMcewI0%&lRaS{UrTCQolZoA-EU_= zj;01vtv$hsR6JGZRZM^CBJ$9eydMni z@W0d~>DLFrsyTGO0i)mlueS$8YPv*0Y&dn7U-LmHR4FP|@YAy;2w4V-A0N9WE)?1y z`9Fm3;pc2dxK`=C2OJSfN}jQbKhJ7 zIa)ET%vTgkQt0pxrQNzkg3zVgE-k2QEFG6+PGaB7R)6lY4~e-qqE2DZlNv)oI0{1(6FvgdAXT9X95c;0Qa(0R2GRL&E0HH=q%-EJ2Ai9DedV4y4Jw=)3FAMrP9-`6+yDuxTTZa(sU``m>J zqSuYPs4B(;Vdi5C7{giL4kC)kw;tNS=pt8J6G0)k3 z^>YoSIG~T2F-3*qJve4y4+cYK&R#Co2Umo?lE=_L_%Dy?dn&Bv2cLiC8Pa=Rqb_%l zJ*ew=M0oLI_uBYXi}~tWHu<4rS()Jtj$mQtlwJz1xZ_JjAEutnO6ygi{@-f!{+kyl z134rv7}F6pQ16<*%Ch=GRy#q91z+kK5sUFbOX=)2Rc{@#lc-S!bWkg@)d)T-h-5zf zxJzNNSYFUWbcd%IbrXGG_~En!4|hv@^~m+oWtHG%7ikn7WV_0IMyqCj#OiWcOt6%` zt0`c5_lfX~_AuzgYe(n>_-#K0N-mO3Gq@`i-3+Kloz=eNg-3oAPD&!G<_pS9u04TrWI8Oz3x`RwK*`k+cAKX)>#cZFcd1N zN$jH8)&QBZdr8+}!Lq?dkdwb<(ge1!B)g?Q%?AqNnR~T1IBV1PicVo!k;NbL$4(8$ z)2_51To1Lvw!91)Do*Ni8g-mo0}jhkK1Gr<}2pxu~^PU{ezQcYfppbkWi?e)x zGPh}p%2B5oW+vpT&IN$F zw*Qm_3BUBNAS96KvCxqFtmY<1c5`)D`CVBu)?Rt%Q<1dZlE?jLU*k02TGyV8Fqll*xx)k#%D4W)t{xRlMFs+l}m?C z4p6Z?$%;u)%Mz4_KN|*avcZ3>gT7yOY9bd{zQa6`#eogsgZ`9?xk;W%7;NF3EmZH~ zU2bIey;fEIG7vhhqFB%^{yT|Nx;7^eZ^))(8|oysRds=*a>HdvFuh++TtH!b&@Z1D zJb8R}kE`4uU?H?jQpMJ+d?SHftDJ|ujo29)5IZnVb^hkv%4s6CX@fhB=NL|4>2Gd1 z2O*7y^OJeV!>3N95nTy}^zQx#nkRLkzecn(Dk#U)6qQc;3pSvo==afXxHVV)0+W>) zLhEqKnUC~Z#F;;+YiELHk)jQ}=2KL^v6pUB>TBYwyXp*)ob^5<<}o}ow?`Nw-D7+l zoGJA02rA;c;3Mzr4+q|jZyR0Ltf_g;qxg^zFnPo!8KO5G4(~Top^+vjn@-unEm*ej z`XlOszNJ35?1%MGZBQs7t#g(*$yiL7ZR#wA>)$b69<^Jh-~G4|^Eh_5{wi<;$Dhox zVbB!3kFy7 zB>3Ui==VvRW-11r;O?24Nz^wSi04B*bJLt!Hb2taiaW*=AeRup#JqKG8!wQE8;%y7 z1WT)-8VRhKE8y&Erw0FtdDG&N@aAw)yV)j7>y1E(T={&g*HgPxlj2xB-0>;NB12>e zFFVww;qN0tnVU=*C3-gIqh3QcnDYJeF3^p8WBHs7P3ZAKk6RSTg9G8Ye#D?KOZgD%M+{G(&iXx z<@5rjEBR3Ha;S2}M+!Eb{N`Y+iq7<1kA-i0QK*07-Qjmo`iG-14zF)@5t{)NjV3K{ zL?0YYD7%H1c!4DYXa}P$7@|sE^}O#&d*u!5faw-sZ+}^no`q_i^EW*1ZR`^1gF9oy zGK))7rR8QX2sXGZsL*)$!UFn_F@uxr6&@mq`v-Bq?7&Co@)QG+LZO2ez@_Uk>mfzF`v8`l%% zQP0x=QI09`o{>JTYrYOTo&D?DiBc(E(J`<2kT^&=zZW|E)&3Ib;Sge*LkjLYO24@8 z`;5iY6eohJ?!L8BN?4|Y7_xLXb&i&p`Yo9m^?sIhHBo{9Q2M&qvR%J3x8k;vmafpt zk)#aXX{J+(v=_+7mjEJn{ENWoGGQ`3;m2_g34CHfn47lyQWLM0d1+Xt5>|qM>T-uF z`8g+K@$?-VnP1vb6vs-*NwIJ{h;M}YNFt4D?aA2&PjyHSzWhbsx?^&ta?PKdXss;3 zAUYk#x-wZTrxe&Bzq1+=Lm65Olt7W_%J)vH)n}fF4m3f!;SAAyiVwtHKrALj0Eo== zQ^wfqC%Z~$pEMp$(npQ^*?8k_%!@o>%I^hU6{VfB0V)i{x)Dqgf3rP_lkEzpE>IhE z$GQwMbHKo3z3Is`Q)jfi%(~41YED?jMJYX0?{w}Nv_Aw0#(b)&e4Q(cxgDAy?LLK} zc6#2-r_Ku1Bi+}T%_F%pkd&#Rm@x~?U&I?Ym7k?=w%(muL$Nl`R zp-wq$*p_HvKAHp#zYaOYE(aA@d#%m`N~`1J!5G~VUDmuT@AmY?jePbEJB?aCYWp<0 zTYsBE^=S*C5&6Oi+pZgVTH*4Ss2-|EG9##r6d;Esc^lz-c+-m0g`oJ}CA+d_-JqJ#Z$-qOwB`W%(TL8lzjlYSt-qz3jp-PyD zR;>zw>b=X-`Ng@Zo0B?`PXQRx7fpdn*kK0nY!(DkZ#esy7@2AFlJ~;FEf!;yEPyE| z#&vU1A_-$h3X@V$f~qK|9xiIcFC%h3(q1sE-au%jm9oGM%SxHFpK5$@Nc? zYB}WtLMN&oMul}wHsCMJ0m*;-=V8S-s|tb=^Qg4q{8XP`y1zvyAK1o>RDLcVNJJ^} zV=yzW<3XSs1J<{Dy?EX&t1~_lQk;`(1PPz;crBBUw}W1pw0rcm8$`(+5_O>`n3# zvW1BX-0Pm68lyl&ktzw*B^W=p`J_v=wvIn>q5O@UOY*3EvluHvC|1 zLvhJV5VjJN0$bz?Mcws5J@f$SJJ&d=JWQ?tQN`mEm{c<~hov=B6i$PzQmM}AG~{55 zTSR?t_BfE!#th8Mg*)NoQ=mjatZKnx>{MQV-!>M`g_o|1;-j{Kt&pLPuTXDIO2qm@ zJxYn1DryZ5sn}jn#=wj-K?~Gy92UKW8J709x>1132UT*-z^hrt|` z!tX$$>M_kA8J5%LWR}Z*)ill8N|0e$Z|N6_qx)!ITDyb z&fk7#6m#P3I-wtN)1mX1b&+>nD2M)FkenUAcxf;)4@stEZ~9Sw_9o(BMg}wJ*7JRp z@KNDVagDe@ErBC0Gr~*!?9*Vw?2{JxV5bu0jr5?+#N7me0!5{=pqefzedOS@XF;?2 z6B&HGo}SJ}uI-%@?Z&GOllj3QyrVpt7pL*#{lilx zDmU>ii=l`y+U78n}KRh4Qd~?oos2eU$uD zCuoi8=4@brPRXsTxHuU7tC-|b`4(jI!#|ynVgiRqA;eF;aXU1BTZp1?dS7ZBLA^VJ zx}s-L>tb|4l7V!+9k76}R^>J(vAQ^gN-+@!QHfdlox<(GUBJNkea_^r)QJE>#UtgA z`u{}3Pq1}z9TgQ7iUm@jyu|R-1Gcx|+VBwiuGx18;1y{J_U@02MiI_VeQrK1k>NS9 z+x<9nDP`$&F!sxH-Ak9VR|;EW++f(}XEDv%pD(*&T?vx2k>l*ONDnJG3E_5maaN*R zf`C@lp4?Q7^k2oz6AUp7AUt^=!!3Hi*B$`LAd+JI+B&4pE1jZ>xzR3J4xQRf z5c|!F!T=v8m7hP&Q_~{od!qB$LrnkplrZv!>=o~_8R-*|M_k{S{my^FS$*v+`4TYo z4GSNqV8?S5d)lq4{Fl{jJ@n$-IxQwm#7134E(R}*<)-5Kx;_YL+yQ^IbMSb;jOQc+hqH*`Kuo0^QOAf zvlcA3txR>Gbe)GIKy1rUPH$pt&wwc>d^pCtUXlcMmZ5A0%R`i=GdLcLVzKDnbt2YC z2nRHQVlC|Fz~YyAF|E8w==3iURqdOes|a z%==JXdl>;LMJLC+Z4WqdqH5;Zf@PHp>#e_MQDOQnKse?R%HsR4#fl*#X(JvS{E=%y z{b41D?oY_9Z8zsy7m7gF2^Ub(2hmYUwuM7*_+7WM$~sTBsv_U zQ<(x_>V6}nuEKtvCpz67l^k=8nw%+#B>-`Y- zM*f2^Lh3tOJ<~Rb)O7>)3omr4XeJ5GyLE;AEXRmdX88|?yZG|>w}-hHaRt#O(wJDX zm&WGl3CZ}!js`tO^q#+Hd9#>Oof+EvmHx8cpY*H@rBdFYpgDH7v2TDM@$_##Xt!)0;P! z!ln~@kFiDsVK&(_W$XNKQiRcldUl%}qV%I{M>?tt(QjgA`1>h+3nOjEw~!JeG>nzX zcd!Qf4%q+;#Bp^r;M5L2NdFH~C1I;lZh-Buf@GgORZa^U=nUirRioqilSKWN_5& z5-5y+#rIII#E(ys{02D;PV$63QW=^Eo())nI#EfC3%1aiflS#qc38;TEgGwp6;^_! z7F`>V3D3HaORsTF=tqp$NHe9wi>o*tIFbiz#cvZ4sShk8IJ%Jd2{DkhilrlzK@q+G(LH9IZ5+|_HKoBgu{PP4HnK}Jj6>mbUW>DkSh;`s2! zjW{i?`;kh17)3agI@z>pkL{&CAc>QBq_To0AMFEI{GCvq&VQsikmcSP-Kf(sGv*{S zT(p5C{=cUQLnr;td%CE(o1YUri$V)xZ+xVaw))T7?mDsZJF^F+# zHnvbGXTfJ7sMl#f^?1ls$!~Fz^_|mD1&7)u$5A`|YmR!ibv;^zuV7h|;Un5jJEWno z-x$4pekih5pZooDo3;bV14?)Sx$aT6FRE)JS!#>qe>ARSGf1M|?sZV)ga3FZRhTIH zVtn%nd7+znf-~6m!4j~jgXJ2wZ4dJD(h!1-N$p7y38n05&7`$Ew{Y`0o6h4TDdue> zN+1xdKR)2&)L@m7CD?o3zgaaH0Y1?HsMqixt|l6Y<7BCvdl#+Zl}qd(UqD2TRRFtNO5z4QFAGkJM5KciqP8K5NsAze7xiIyfDOu{eFCazE*lkmXA}X0i zcC4Ov)tRXidFjq~ zaX7y*0RFaWG5>|HJCy}hS#hdny|a@^VuTo4nF?iI94`H)_F$OAG3LllD?l=dpfA``FM z38ws%Wvn`(skwi1Iu#O{1%~nLZi{(boG=+nQ2+ZE5fmE>81LT`7yQ=sGd~OC8fF_! z*%gw)zofl8H6}koUvely2#Wwn17AdUyDK@|~F!OMvy)l&_~d3lOZv}xaxAf7iXZ7h{}GudAnR?dO%dVk@~ zJ9IaRRKIsS_QPDT)oDL`#}@rbal6iFoiL#cmCKmTLt}C!6k|QD5&g$Kwndb; z{z{M{Z%#AvQtzvMjm6&lwMGY8@hv`l$XyZvPKyqfk;*dVUIoE1HddX7F#4EFCMZ!l zlS=F5uP7IX(44E27@xRnitVp1mfro%tc6o7KO`oV81s) zPOu|>M6qGI@cBbdQ;?neJANOA4!pq1Adeb^f2W$Vy6Yk#5J;h5wy-q3;u42UHaFCEF9|) zEpdC{N>Rq`o!xR37j+ZB6CFZDo}m1g>2E0%`^Gut(B97m%TQkK*HZmnLAyp&m~HZG zd_TKf1mT?q#$F71iu{r)!e(Br-@cexZ4)9Y5jX2g`1(+O-A0T|tARn)OLeiRI4VQw zex680*@Ru_jdJjuKfkTPk75tJp!)t|gr2YOs#C#T>Ufh?YB^6kDTUcBO>EouKc**n zWbBDq7Gy&vQ;_#wloO5_f(E{zG)P|W|Bx$=tR4UeFd~<{{G2r(+fi;c3=8 zSPy*M*?=tD@r&xDdG=BVX~Ib^AjXFRd4(qUnaha^CqSm~H@K=81o&-XK+TW;P)V?C zq)IFZRx2o4|ELoiLRo%cNdA&$69!TGo%8@gR;b@3$g1!+0JVBre_9T9BXK!C_!nWP z@l1W$YdPpJp_WRPrD{|f)7n^*&|yeYE?**+D|IMz*o(j3X~N2ApFZ6I}ha(hFjFJqOXunMuPZ%JiUW^UElNmeNJqr zabw$QoW{1@ps~}Sjcwbuoiw&>+qR$6_viP0{(ybS*h_KxaNL@-xrVzRywY{Y-^XbGx~&Y} z4?KA{-*^!BK9=06{bb*um(Trb#pYy>=wqs3%kt$)!6PcmO^oq}s5}Z?t4O?BSKr-YLWs*rH8$KD^-u7!dW#UgwU-rT8t`WV&z`n*Tu5$|< zn48-GI+7$FVcQWNE@Z|Z;c8+^o_fDsZMMy00HNOHmr_f{oB+}dCW4bfh*DZ7%UvB% z(}5)AVcfe3-c&f`&FQSj>e(rDZ90|% zPNr|qwNl}6uHWy|{=2lf71`zmK0J~#-isN5uN}jLt}wK~N4`ZTd1>Q#x*!FqEze)B zKes$93|B;+B_VoY+r)({Z|L;LrVz$y&zS@`A`mJWvxs^+j!K^aF*Ct>L){`${*l>! zZTi$bDTOOCE{9(-L;Pu0oL)jg?$q0PJx%>=R%9TVPK<={HDa4;^84ZptdCQ4n6 z-GJel66CFt0S@qhR%X!4K^4i~f4T3=xzmr_Me+gXYO;9A^nwjH)7G6{3?F0n`Uv&A zw}7zazQfnJQZ~2l&&tPu#^IWDE7mQ${}=~yMMb?$dh6s2O7E?1CK_&90a(>8#U>kT zU^AvvhbAbgU4>GQ|F0r}jaa!qRGYHhPJ{YW`Js$y#y&F&cGKo#Su(ib>!=DlTQ41# z_fW9IDs&e-MS@o`ERkGfxM6l?;*WUC{qA=Wzo)BF*&C_{!1+J^*Dz!vHQf;q2W=n5uJq3(zI9AP!GConx;tx1HW7V z7iIYLkKNpb8wcBRYWb-(9sc81`m$xd8|ChLJ_CCV1t8`UEy;3RxO6aO*R~yej$i*; zCLK6!{PLH(F!4l*bp2`CNvvJ1&v#!ssOz2=jZce>1k~kUWx-0t=fXs-MMN=!?>rv9 zP^=Aet98b3NQKV}6xx#*hArK`Xi(SXQ1;AR@RlOZ9FmMg#Reo%)oi5i*}zA6E$D)g z_%&o4f=LB`Va(gE{ti)fU0ZtD1*5y(E~`aEYKNbbUG#g_=O(fWGt|d<5fbM9>vt9h zz+K05_$f5WMcw?aAc4h`k?-PQ^W7EG;TM?pt#YlL>Z(mw>H6PFIPDkK7Bp&TP8@I; zbx6lUVH^}~=eTxLS-%)0ZNaVTW6d?TJE1r@*?Qi5+P~oP7Tsn&8YW+%Kl$c$9zCxY zy*3p(msK~gacT^%l<{Cn+t54!!I7b^*Xk1nCI7?@Xu+DbFZOHA457u=``&zdRjGV& zK-OzJ87sde?+I z1@FhS63O>t?sXMYz1Pt1g9z~2y&gl^+&sr}r9P)AeD9!gy4J_8n1h;F>RcKzZHck7 z0Egxlk9;QMBAskd`w!YyC6opIKk>-L#3q&(Ui9CRIY*ttcow%eub2*L=0LP0HE6XT z!sU^E@RvmXmQVLhzyjYuOZhvP%w84}{-cAzrLql;&(O{A=7m~&-6uP%F47EUVHxG)-o3GpyOQ@4r8CzTNREqs;H<_WTMOD{5*#0_8NGP#XRJ9n{3$%{k5$ zAL701j}B50Fg!WcGFB^7bwE8G)}&Bq?zMA=ars`Xf@iF?{t| zHP_pCh3Kn`A0VasqA>KO%ZV+2vXtFs$%xu--s0se!RX~)Z`G|SUEhz%ustaxq~R32 zp#R2kvg%X8`Gh-ELCMB;C|R#J7L>0!`mOUWfwQV*7(uo&GamDl6p8P?35O8NFrG0` z7krZCw@q4l{uxl(L3oL7puDhmooTK>jFT??-qz+={6d%Z>og>$kyintf60eV%#uco z*+=+qYnA6$Zmeu_3&^Os10A=BVUq`fh!JOCWm76+l)Q&T8sN_uWQJQF<1He!KDN!YkP}b5X6L~9J9;rKAQ7XUo02BRO<&ab^MNvvr zu6#c{DGTCH-BlmsJCbeuT@?{pBf?CH-Fk&H^R!L!DXyEDZo0>&GFFlnOsSVrjtSXs~V*OzoZS<`(?5s9xZp zuL|9}=Y|9}JTm=bBhm6;gFTRs;6rftw=vCXlP9<>=eA;xsLfRuOWT(_vA3lWC*HrcdBSLjhd^Q(Oz{~m8p8+dpPDufakplm_Pm>MNV zSZ%;N^;^c^)&pK#dJANS+93AX*?Voi{fE7fpgRVw?EC=L;8+7a` zFbQqsZ#cT}{1+1?iN{#weA-ApY6J%ewZ_4$Uu&VgX9QvycUJ6`x?gPa($st1grp@@ z;6)y|_sYy0uI9QQYI9*`Oq@93><;nu@*!c13=($S{P*NZC!Rc=*vJ$jS|rG zX)q+$4sz6*pcK)nOxI6OT}nFu4++|rP$M!ZA7Ba~K+ok+G8AD-C40*of*P-4#KFo? z;2R!k-Gf&pZI$IhdmeHzedlc46LWVD>+HmOD<-&%cBM25xi2lLaR`!6trRvD)IGM~ zzT|n`ZS=79DrbWhU7j316%I*_#^kYy%31I9Pa9_I>lnUJG786VnGiDg^#Y)j)(^o% zUku~ulc6fs5EKQ*!yeyC2Gpii5_>g@8x45Gw~pQ2LT1YU^&@}l5??7kiw6N64s_H? zX$*#c7?)dAw-_V;nT&t=?A+s_Jkie_^ytpcn0h8P;^HWx9o;(6Pu|vl7^6hj1hy-M zK@mXe4dn)jjoZch%(f*&#(|H=&S%H@Kc8BqS-mW*L@gKUyB?~Y&23iLr%g94(x|ew zC9tmmtu1z(*QF~~{64KJ(&AwPHDq_&Sto18d78Y#9;`wbFBz(uI7Tgl+6*u|#bFP= zaXgONZ1*#4du-)>z%}HzSn5}x`qmX#k_6OD=OBn+Blv@+{P1+`!6r`nd{np~Q$98y zn%HQITixrv7T;-E6pddI_Vja|aqATViEQecP%qhudxEEx1fOS0qbkw}jI z3GC&~HS>9M43u`krlD#V)$gZqJzAO8*H2O|JHbMzlVg`Sp;XACK97AZKSJJjAOk01 zpd22Fe`2xJbmX8MsVr%rWA>GF@*-CyOY5&%NC?Nwp!qka1HxwzR)eA)ors1Z;)Cu3 zz>Ud-AIB24*{Aysag!4wf|OS;Tv*Sz$70A+Y15hfoAtcDL5m)RKWwVzMj*6ye5wLD zE?vat$90NIh%E{gHBq!wzM{$u14$z87$O%c**wt!D-1jdNla6y+>G&d0r}nX_;W!I z%fh@gkEkc$i~XmB-}IFL`|SIk&*bn@w5-+5hcBW>_eI^qD_N;q5_@W=GL08uGj0-3 z0E<6HGKg(^xkhZ|jaj}|PZzNef9yQaO>O1RJY~QF1M?jW#Rpe3t({t`yu&pn0d)%S zRjkllMt3`D_G;w2c=dH}n?@HiJY&2)Pm=N@WE05|ZEWw%{_M!eNnCsJ*ZXH!;w

    q^qgjw8N6;a1t4QOy!Y5;ZLbO?X1AFCBIk+)zd0c{v{TM zK3`S|?swSq{Xu_|TPZDan~mq6y}jJV$u8BRv)PvYXIAzfXJUT=UO=nF! z!;pDI9ynfQOIfY0Xc;x^_>%5ZSTpu1mMI}{E_!e-N>(>Z?Sboe2T2fuLy!{v*m2qh zDFG;-jMhBh+<>*rbQG@~} zj&&p|2OJ9P@FegKD#4pQRO<&oC{c)M9wX#a!Ge(hVFiV5@0Ad2s0wru?Aif9q-I6- zwU-iu@|+xQ^vUZcy{1Jsne&9A12?(Nfj9XAVr2fU)+nts**L84O!s^*X%_1%{sydC-1T0j8_Sj%P>6{ zIt@uA=)-r$R_xD|n+7bfs%sO041k~8OE6YqciXD*091+pCeo&eKv)flrQ@@Blo&87 zAkq`}aA`SaB&@370(mrEUJ6ldb-r#9Nt45E*&uvk+5_?ZSzZ0FPINN;bGOb!i$yrL zs;21E$ZZkq)$Um6A{Or{>GcAPc_Why;L-93%pgg?sOkFhLQZI8=N%D0EiL@-XNVL?-~ayYN9PDdNxK zdF9>wuZg6;N^h-*HbZ`Nw5wJzEuS{Z=w6|PDB_9DXrVJ7jH2YxpoK6vmYyN;_N%OC zaUG2pzO*|g>2hG)|F{c}^L)bkBhbygIzQr7p02eW?J|b~y5X5<=J|sZkQ%M^p}l<;f4}s45PF zsQ}lm<=4T=uK49){Y=J|=Dg#l<%r%@mQj!M1@vF1uWg-X98OX1di5vNO*eVimjSu1 zb(^{{qTl(24-XQD?#7!;W|fZ$Lrq(pQ615ey2+|5Sj~;w>F5!;^|2IN;ihuBB3&cJ zDQDwhITRh0!4?Z&dYKY*JpgCYMWhW`-JvrvHBl~Hh& zX(z_>z-|Fxhbb-cSfag|VGzV1+=x-D_c>`U;<={)a3aS6JexQX^a96OI;AZXYK&{9 zXYF(RfjmOvTFXz?BVu28`v^YVD-OQ-;oUlEhQ}%0uEoB5l@dK}K(&;Z#pOO|W`MJV z{ho4FdDY`kZc!8&dUUX`N$#Yl+BcI+-Xm4AOsMf4j}stWd$P7sQS^Ql7OxFA%>H8m zyo_`51;TzHp<+~uFnfFlHTNH90MvSby9MG5gx8|_`+}hZ`Ub?F^Z*nTD9z#c?=J8d z?~l?t+@tGmNtw1b+kGyt@D|88?rRJ|CcTA&h9O0j4N?=cwoExk>;=r~ESbD_Sh}J8 z=_5Qx;g^YOgs3M~PALrDW2Tz(y0kB@7J6TqhnP0i){a<98v?<-f1)L7`~{PyGBL%W zC_o8yLXDLICyoyoX%?gKaWtU^>KyYvA{euMdINuieC1_yS&>tr)8@-ApBd25#1jOX zjF+GweCZYQV^I(!K|v7%XKVTTMy&u8mHPb+jG=kH_F2JQ>b;7aZMsm~c zs>9@@5q{$nJ3}!P9lU3AERw|y1|=|lEs_OpBN-oJzxIG9l3mr0ql(Q_rak+}8rXUaK^z{KO;xBLBnqV@nT+Ej;J*rC(iHhg3s)6v zQD)sfC9BCJ3~x8FvNpA2@MJ+(I&2&$}`4L ze3;U3UnlO*4}`v2zfRxRuBgOe{FdC2SKWgF8(NgZ0lCVnJ;5)-D|tOj(&1KRt8`b7 z9BMX2Zt9lxHyB^@P4h0%?=;8(3(S))0ANXg2qJ!w>Y)()^LwTcKYWN_C`4o5njtze zA{Y^HG?10YJvw$d&0cOi?*f3TNPe~(@O~zr#hP<5^`?@9uzW(GT)XopioVm*ymWz5 z8ly!*d-f!TxfsQVGwxQ1?~z(dZ!Dl@cmJ}A9f7CSvhu*QR1&`B&GZBwJyMZ6;pIn~ zq{tOm#mm?FM#E!%kJpPF9V>XbQc~aE(I%-CO9Yn2+}$4yhnQDJd1ak}Y9bM~e+>af zWdB0E1qQ(1lF}-kQX|1w02f(snbYTAR^1(@(PmMACClC$gXnRU^DjL;IOL!^>x-I~ zupV@K8e)Fa-RM};*o$d)86hB+3c4$n<>>HufzwQ6a=kf~l3Gy&%O}YJPpD zg(yNR-!HH%y-`hFzc~oVmFByjgHA8lsRA z_R$SKacIT&YiX3W!xc-0T@Zw>i+nF|)OF}7ySZYx{}&gj1WkYeskd4%D>)n(k&lR= zi1)~BE8B*T$QDjNQu#NTj+2#6`^P9eUbhI%@!OWHNs1x80`Tv53elw^xaZzdWe-l4T zuf4zff=Xcwtp_qntEA=Fz8yacfOWT{s8UQ1tqM-89}vbHWJ3x|d^<0;(4ecpjc|0A zb4a^gF^D!7G@S{Y@sd2(NBNsE>lHKPXftr%LrARkTuhhh7%8zkG|A1f%s!M!7fpm_ z$#CU(Ja~L#qMfd( zZew+cAEJ|(A{-36d{HB#jzi02S4JaZ;|BgF=#TLtWfv&OT_B&=E{Wx%D^nJ1IY_X> zph516k!CDaL3$TI`a6uLOk_%MWgK-<9Hgd$rEdR~@Loi8bQ8$}6KP zGRxFF6cBD`+NjMdq+TBCCr5|XI=O>N6C%L~%c>nw{$?DTA z75LLp4FA{CcbMAke(_8@tI}O*SWvtv)sPy7|6iO1wj{K2=p^7#Ld}6dt0wMjlS-Nt zCv-`Rua?g=W7Cn<)-+BDUl3_u`OTG~NmN(NTs{x3AC`X8D8iN zQ|NqO?n-yLDKrdG{JtmcLR@)1>ni^fV0GabJDE|P%drF%pj2UZfPaG##=uVK&AU=a z=AZi(fi%^=0~T`D7)Oc6b4VK=IWKv1hq_!8i;#s&DhSg;(%E#u1kh=vQ{v*Z_FkPp ziyLFR1fZWp3?v|Oyc2L8{$zW;CIdh*(~;E8ECnk_ghSa|wToVO84gwvhp};_994x05oPVz6TX zIrcVHg)@T!fFfc>EtLlsqE84+#DGM3$<(|W69>+&3&1VmzxO&CB6AkfUoeTg%Jl4a z`{($hy~j>FsMV=rXM9(TnR{mh3K%^y+!jBmz_RRCH28G09vbr6U?v%rg+M!Nb;-Y8 zRteiRx>sn5YL$RtEsecR>4WGZ3QxRi?WCg|kIT)5o>|KZoiokMnyXbJ+`KYFpDwUT z=1IT-yQVhuY9wX=B(wM@&Y&ZZ&|7kq*h&Q@8G;z>uk%kyRhfX9TMeb+1UX+iwN&-| zHqsnttbzVbkM<3M9CTlM0(%0bU-JCs7rgzBHc3BT-Ok8S<6n;qdjk4ao@>I`q2*K5 z4RuJq<*Rn3%?t;sHbP0^hz2ufVM{iys2M~twFKxS{LG~(YMUF4kMJQ-;?0!3AJ#P| zX{O;d{x+TGUk|gP$AY0nsK@+yL)ldJJTWQXih*CDyLflwE~ z=PM&>&8b@Ek+axo}Mt-9xpubM|Umw*Eaa zv!gf@-7m|vjDf1Q?xE@G)6}=-cr4R&*N4_{&t2XHS6J#Q`loGFjWjt#Bo0Q{NV^kP z@EeVkrnhiDQtv-gMNk1!j>H{f>C$LVhfhHvdOA_t231snE`I*73ur}7#(E-26UpfX zPT8T8qW;V%2KLw(7G(98fk5iiUT=orc?^q5ttxh5*4;u+0_}NMDtT$210CxWMhL#l z_nLO|mfwS+wXU#1n9=#c^XirI&VI0VbEbW))ZObJk+2waql)H#RHmi#=1u_rNqxzhk)BcN@`t@ zXdrcgaM)WC%hYzJ)R2LqXg=_G?VFi)1elmYg4G-qg2=&_8^Y-ytOS3odj?0}O#KDz zIWyq(YD^QBM;*AnsLZPHXn`f%iwX|0T%&EuN|am5-Qi`bEnMoeN`P$+*nXYqIy5%F z+!mj%Ok#Av%(U@J%sl6yO>-)Tw%w*vE1h=iSaH1#!#yPTM5?P1Rh=Y3aMo>f@(70% zOoue_Xcq+dL&+eE5Y8dq1201(k-qn%Q8)Zh1H?x~@a*tlo~@F#ABD)BUA}*$Ay{1m8fAntiRmDz|y>9Cx?~nq@ztVQ6Fbi0`wu zDg(M9Tx5J=+_AWhSBOSt^f(0h@Utp9;B^tj_p!^a>G!O_E6t!evx zJt1f{A3Ri3*B4rG+!3URwQJ{&<>>4CY0ua4!0Ww=U1~Tbi=k6mL79}M?%4`2NeivL zJvt^n?szUmduhV2S<@G9f7;#b07yf&@j#^<2y8qIC{hqhO4MG}rm4IZ>j2RyzrPbiXnF(WmjGGNBY{MQ07goy1i=_Pdjd=> zpGIntsFInM)+jIq4-BGUSjT}w%z8{kd%FI z)7@d-KfgvDKh#@PU0+9dB2zeJr?|st)jwpXjsS~jju0vX@%EyVlR^T@WnmV8%Jy=G zOa5z?Xh}?Ru!Sw&b$xzEcjm-0Vg^?j5i?~+BDLg%ndHVu$uvt=$3yl%EiHB61#=Vh zIJYOQm^Dt7jTA`D0OZ!=164d*M))9_ynkhhHvoVqD7l&g3UW9IwupFd;~MO!7H}zL zuu-YH#Xvge8PLypFitSh8PUKj$K0P>nAw)wHVR{O)heKQbi^oVyP7dW@UzrE7q zLbqQTJBS@y%EO{KILdIdt+7sjvtcvg9;&lk1GkXNJ;(KTxp$%FDEq?VW87ERVC8G0HtdKD7dK1~$^0>7edf)H$CBtE=Y2Y7W;N$oyeQA{T zXB+Q4iVZ9f|Kv`hCBX8K&c=wxZ)CgCIMpq`W}K`>`d)fzSV}zixFV)_1G#a-05kO= zTRo#Fi+o%5;7|yDX~WohX^q;p3!RE?xXpWi?fH9_>@1FhKxyW|8qu>Zcwhuw%{C3C zqHp^)kwG_*2|PT<=VFhqU%?SocI zDgBM0ScR6odh8>w&$;Du^LXxi+y(>Tecj!n7ZyW@1x0t#G9rU0U+RLV1gzvu4iS}G zkO?KhiVd{b%3KilMSXas!SqZwh8I_!-ax7CF+8F+E6rzn%>2ld&FFCOPkk=Wt%2X)uhJ`iZwuc0bnSU74>hb7SOVNd{XX&On6h>N1Q4; zEFd4_?KEj%!7xN<{np46ModJ-fyT^tV)o%O8B0ZgaT)J-1OT2+umH!4~0Zsd5$1XT8UjxjmYb6i{OQc9V zG=#_#B6asIUQxI?bnPjJY!X8873(Z8aG=#=zI+}ame2we;`M8 zr=Zl4;x(g+%LQMAru0eJITGDGA@cO^XUNq{h#c4|-hHiH4+0W_>ygpUB z6CE>@0GA}*-6i+Gvr@zT5b7AMNw%TzW`xv(#gsU2-{3hi~SgDHr ziE6sE179MBVlfZr-1A%(lKwnlNj*7ITqJag>%0~a?5>6~_b$M^^<>XvtPjBw_X}WA zefg!N70ND;X*11{gx@exg39JO=b_0GD!x`kMdeG@>*wQ9%`AL`x-r&QZ1#zj?V@-+ zf^JWI;FimM?@vW{A)#;8HE+4`qmb&#V+SAR)_>F{IJ&Bsf6Jh z?AMv;Bkg&9Gk>FHpQ~Y%`n@-#5o|Fb(i}Om&02&UUu5Lgmk?e7T&wT_x%K`oSKc7H z9{VBB#({%oaXv*UFS)f=M91Qc@LSm;AO6k>vkSDpXN0n5K!c-$N`NAbob`^U%Hl4( zm@Fs(MS|bC#n<>xy+8ii6hiRP`w`V^5$OwXygC~mN*>mDoq*-%6$4 z)$Neq%a;0h*ZNt5y{9)HZ%^;NMSpj})VcmS`A`I$Jzx7?rUol}!GQjapX7Zh_F$n9 z7re1G*uTH8W+XU=lw+5kyv_EgP;DLp`%6<=FpF%ovt(qIsfHyWm>bTr^6~ID;%iJ! zGp+U^9Q{t8)wSj9av07t)+Ybo1$4U}_st5Yhp%RcWDKVEpjGh#v#$R;yE<6yu37Dk z_J~lL={{}|>m1Oq7~JdF+50O}-YK0PWdVdsI zpm1qiYkgHKMq2%o@rK}c7f|tngg2jA`_-G)SAK(0!eR4umT2G+JSP~G*#|;tPyg4g zYgY$jydvdk)O@BB_c`iBaQ+d0J1T>I{a_lq%w>n}dkbABZUT@axb51Ko#cmAOP|1@ z#Qxlsf4kaVeDsI+@RyuE6J>Y`84SJ5f4_wL6(X2w!p00ijaaQAMjMyxct|9A z;TJ$dcKpd1XM?zv8D`O;39aW6CFqF+9_2+cUF_|%`re}Y#Fi$lPv3Exg<7^2u~R+0 z5ub_U{vEJw-=J+Zlt1h+ZMRZy-kqp1;!c6K$F`76r73q1fjA9rs}7rUPt3FXql4%S zZnqY7X;G7d7~VWdj9cHkk0g8}6+Y}i8+NIOSHtKn89Wi~Dp;Aczw`YEWBZ@!*z>ju_JVZ|X?w>HDg}+z8n}*3g;k*vrwB#Jl87Hz7W2Xgn>u*6baIz%g@- z7L-7QdP-^tb`Mx)LQaM4bvx4j#yE(z!{Yg1uC~04SzCCgmgjG61q5rgq?HvU`z@5u zis!)Q2gn8p&jnX3fgLKR`%4j8#Q@ve`@I_0OCxZDur@hRtJej2Gld2GnTS}q^- znf`F`af-M^C>hjM7#+M(k6kgHiiN?wvL{cws0|Ve7Sx{b*i}q9+|h6cN8BWve~6`1 zS74PPJI}6&@~Y;XS1#RjbOv^vW~0!D8Q;q{{4Pj=2ctP89qu(*r%=1k(niwNo2I0| z*&O!R24&QkQ0ABadV_N#l%ii@P97!z8d{ICdTR$X8(j*Vn{oztCY9?S!%6N{13#vZ z6*Sr0N^q>=$>aK(sa7NdgaiMx<(wI0Sa(P=Ze#HEK61?3_o?AzHtty zNlj&(AH)b7&^8MDE$@*o;H3fu*gz$Q4g(}Y1z6_G($iL(Dsbb*=d|0#?w{iSs_^wsvDQyQbS*pqDM1Ly4)Naw+HDCz0eZPG4d4R#gR&Mhmq z|8S{R@@J2Qp$M$P%)tl?j~wZG^#EHA?EEmzblL~N0$V?bzHz->N|pU9JS>2joc~FX zLizJJ7UeV9IJu@S?5b52!ngq5myz)k#m7J0y6Y0&+WgS?bR{(|$IT9QaGKh9({bmrdS5HMvp}T$1~b$sQBkDvk-ot{7C?Vdo$r8WBq6 z{httFN_QS?bOEiT;Jv;C=Cw3HW%qeL%rW-Iv@0uifU(SqP-|#3C#~jNGx=p>$1dQj zqB={l?C4eQBNnqGwZE-O<-3SU5Ng-(PGwUJ{D`52BY8Z6`bl&N-?^kslw{rQAfto} z=lFzyB2isJZg;*@{kyzr)Qfv%4y=0o4avcUi7<9BR&a>#9Q>k}r&@M-B*hwV$>Ps8 zRMvT9P?9eG-jJ!2dzPJ-Q{tPo8vNlsM#3%2DFJ+!*+`@R=+5*3uPhZxSD?L+;-SBoKzgZ5Y;@pg;s? z<{UuN)n2B{Ohs$8u4x_waje_IK^UT_+S|fTgp;7#?h;v9MlE{ za*zpgz1WQ*BGo`}+P98&mWHbb;k77@)F?K{0S@k*2I~Gct$*B4jy#1ByAthF2!}F7 zZ&glr$tt*$`X%IccNMVzitHEtix9RWJ64}xCdL}$@=CxIZBR}$keOi{aum$7n`!|Y zZijLc0}lHf!b}(E)I{;Cg>jLR>N~Zy&!`~;>A^Fg`~8CZuUgrccp*Y+%KYu9-O#1) zr+QDju@2WL(`_gz(KsJn3#DFYKM_r+HW#3wXCu3}YMxDemUuQXoFd`xYXan|pO2}y zb;;HhW2WjB%a2xMa&>xxT3XzuBUJpkz5VIxP$h#50rrpFFr^%Z_x%D~KVi@mF_fv{ zuN|~3R^gXkbE=>aatK(d-RBxI^Hg4bW0%FTIjoNPbns&cAR{r+IYlF-+r(ukfT{|&Y_%<=ki)9GlJlP#%}wiAhTZ^!tR|6S=pUEo=#Dty!yPo)EQ(=Wr@@-2 zAcn{tETpcRlY+}kp*E*Y>Cn{+cICH;9iR-4x`LBc{O45LFO;eEUq>{sK2rfU!v2rt zIThw`>+f**<|x!bV;KA0xi|77twfF2UILx9MZP;XyMzMXskI8bZ7EF@4=s^rs8vzi zzolk3+AoLkKkS$v>P8teWYq-Z&P1vCrHA|_5zk_6mO@-Ce5mnC3IKAy+4-p6RD_CJ zCs!Txb!hBx>;4@3aG*hUd~!NZvUU4I#bMnEhG%?3p=I`8aV8Bf;DQ=ejPT&+P~;D` z6V)@ImYAKVfu6lhkALtMe{<#|uN=0>04;00zEDP%>4bIhO~IYU~^se^gNwJ z&B8NzIYkB-wZ+jV^Ph%(72{po$7{Ja`_nGC)CV_Ays8gth+&rU^EE$w*Lx)umB02P zsQ{!9UxiW){-+QyO0eG+oX!gBMAJ;iBF-1)zZS6~_AcSCWe8hcaF*(xd4^lf>!E50 zt8o<-_6eu6=A#qu{bb&GVLm`H)$;f~y$_qQEIA`qi1vofPtLAMYF7#IBlJ@pnii@z zE$*v_6ORWmw#!=w=?P^KahqA(ZRA6ljO;7tdC5-&prfc|iDZjl0dgFlc;c4CJ>hQ2 z+Q_gVk7R6p+5Hf~?x=n18dDc*yk1_t8$$UL?tpEkvXRQ3gZ1d+W^Vsb}C z(;#H?D_#BR35|ZA#3|n;BhKPQsYT5Vew`A_P$by0td)=+?R(70X5VD3Kh%bg-oCCw zS*>lc`6$^Yh+$})uy-gf6cysyK1*-O#kK75mMWN`suFROUdfhl3P}kQKduEn&^Js#I=l z4%9iv#N!IxUyIO<-w4XS%gT19AK;NwW~P6}Y@8ko4pg3PiN&J74kH_eDQkcCa6aO6 zs7z}bwH1%{(5}>98O>G;tPc6eaY)XzCJ;S|bMeE7fF&BvMzBeLeB}Lx8=^3BaO$7n zoCn)BpG|!X`5>617TL&V5JcO&t5kanxhe$OZ3jY`ng1Q}-y&M(1$20iEQ>W%{0K(L z>Y$U(?lJq2JIZkVA{lH4#Ir@t4C0?M?a|DgWMB*xwss~?#-Eafn50tWngKh--TNe~3B z)EJoA{$E=9#9{>#lx97-kMTnZ=dR#Zbt@Ld+zrQ^{IOwTFq(jD8-0^;~BX6`oH_>nvf*MY)_P+rsm9eNZ_;ZS%-C z23Bt|2Wej}UgKnh*20AS?T6kTVp>ChXj?G^kq)4QQuF?A1_>#Df7&%t^@7PXpQz%Y zx4HqDJ47d4lT3PyJ9oJBiPG{&%|GPy>9L|K8M~q<-ks1|kNt0Hf;>6SaH1}hpJSQN z0KozWA9THg>`-drlk6s+yiG9CF;oNm9;(V9*&aFA2+xX#ip{%B^_Z7uiRzdX33!N< zbGOe*BseCNm>hC0l>mdMKK`%0`4!A*Q)Et!n6ckfZ(4VJ$}!uNZYp z`mIkM^LGX#a`M|~TnAz9AXORX*lA1ynSGrY0T%U`f;L7+_cige1qUYE!7z6JBR;T^ zM(qjZi*W!R_G(a<)$7S*@Kxq0VFUK8yh=hfBZP;GYzq+;CdS zA^ValBVv^!A%xlWRp%ad)=5#LZ*hz=(vJIR#RC&dF(77!tUe4feqC+~ihrQL4p%WS z$l343eVF;1)Vuk_NgDBTtOQT`XIRYLJ`T^{&HOgCsJ+-mH>p_^9jg1(=yb-p(e1*W<@^U> z5OXEiWH0m{j5>k3h;U)7hxP>0R_6{wge*-urR`+Wzdq$tB#IRE*XWkXRCOrK%xFw#yrol)gflJ^!v9C9O3zWr*cKfNd!HLs$4t;*oO8 zAujjVk1oDy+Y?iLooSFwlmZ*1x4OMQO{Zr*?IF=h08&q|W>SR~N|!$SI%6!&udZ4- z4))&DFA@-8e`~2dl}@uV-(~k?z8O^#%dTApMkZv}055`kna6K=$_MaF%r~#^JvDPc zUy%aL-2QhjDK=EPC;~b3ec>m>pbl-3fMk2e=da_${i8m6+*Jov-ds8GcyR#7ckhpU zt}7Wf^Cc-Fr9v}*_f|>w3~!`YW#E(EMvy?VNpYE^ke99(KilN}X}V*#`vjN|DF+_+ zrV}q?IgE4W;97RZ=m!}ja&X<=kKV($rd+TlO9NZ9usjJ~x0Ut8b9nzOrp?}_?w@iI{M%cz zv%|6Z6mL)*MdL)@?IrJsFw{?%ey|2u1?#*dEZec_HNDV32GW~(&vY>CNE9mUQ3Mv^ z%0&%~yZc_<37BI0bGw@^Ocm<);2GA8rv31>30H5C(^bVkjU(H`)f8*P#+KxpHE(yJe zX`cV^>G~Ts@dv0Qb4!@WQ*xqxyT<&i_Z#H*i}F{dvt_gJDKw~=AX_=1cAtys2^t$xV=h89 zvRhir&b7NZoM|`cQ;V_%Px61iQHUsfjKSN!3MmmgEQ6S!I^rI{Q#@ENNZTIyLfepI zG%K))9cfCZT4M9vO*t_CD-!ne6Mgqu%k`sT^OtGhccIZ6yR1mwza@ln;qQ-z(v3}y zade+79&yrfh&%L_y1zL+LI)bf!z`{_?A6dvXfN^Ljos~)ZmtWld>U{ z2Zf+kdjzI=j6J>B#EyUn6T?M*IBtfP--;eKgi{7oTOy4T{@}oR-&xC_hd3{m}(gy(ul_ zW5G|j+kF%fvgn7oEX*ROJP7z_J=xHMK(`6%xss{_hn4#KuUpQ zTUB)^G|6&^=A+GOo9pc(AKLt_E-RW}yT5Z=NHouE@@!I{5G-LJQ1boA%&2)d4lFIO z`PbUy4gIF`3qzsGl6hob*zVfafAPlXR}Z_FU{;-mt>vQUNnk|id+|vl2Gk7(hh_8$ z*_o<-d(_i zzfnt_ia6gM87J&}w8MhjzS-C;vCp|@mf@zQRKC?a%)B&G?lXtC6}!@`8THpJ`=HcE z)D=vJFk&SLveeSxjg9cEMCIXSVKLIY$fueMNV2()o9Bl?J<~(H8IWPTEq&Jh(E#4}|UrX3+fKW*GViX5u;cRI=v- za6WinB|KNJs*&Ba-C)z)b8bAqTp05_9<~@todp%0Q`;9(A>;)Ht*(iGoq{k7_04@QUMG!Y$@F6Z)0qx-A=AK3{RtK}0kb|JeY(FBLd)cCC} z=yY4f8~!>_iui-rULsyU4TW zaK}ca_Hoz_!&O{#S>&`XFsM3|f+k$@O{6J56aUAtB+R>aL0dA?Z&5-N?b{lODf{!BSuf5HxF!KP#)B8#d9`;;v`maWS)!6t3T@!JY zuD>X9pUP7JvT{KzXC&x6O-`qyzyHEyjJ{})40Vi_b|XE#sIAf0`l{KL&ISiRb$(r- zEVxYT+xqAicAZPgrMkw#GEt-0uYmrZ-1nt%0*6$YJ6izUa}jGSYe0~07{{&5-V*{S zFN2c%R*O3n9zKWcJeB&FmvpLbU3eN+F1n1me-r;Q8Uk!EBMUB++P>Y&#~95{On9eA zCoR~Tg)lobR|0VoPl6UQ#J_uBfJDE@-d?%Pc5Y5Gi9dg-`9QV;t7aG5tGgs7U!b6o5wgLTj}c8yeA||am0%WHTEHi(t+qYqf|`^vVdruDNV%8cgjH&4 zTzaGGQj>^8a$G-Z8mZ_UJDK)PAGAeF$aO8hubF*-wtZWvgPq{Kl9F#R+jIbHgxsDE zA`1p_9OIB~1ujF>>L`gwl={DX5Lvm0+I;(y7TwE>&1}(JQ3ony*1# zViGJ>tya{JN;A(4uJ@Nm3Cy-gpKV)9*QTF`vHu!V;S=ph4Cz!|hKzdbOHZG_;?VU^e>&kdWrzWq=06ehDLF)BWp_U_)$mfJ3&m4EY%Z8P@yn^ zX2_S5y0uOHHQ7~e9nj`MocTSS^~M4ZoFJ^VTIn*2fBZi3A4^dHfd9j7A+j*~iHq-> zTjq()w-inl&1Z2mDB$Ba*m^Vt}K~@|<*PowW zAx*qTwrthTP>8ssZ+yB`}kl2+P<~nes?hLHyE_p zx(9e4CqcgJ>0tU{Zkvf70v86?!ww7i4eSV5?QJFgV{e)Zsg(7jJfSI%&R&-v<-WfC zLRl_HTp}G)zPW#ZDRldT!|6zwMfq4Im^VI<*po$QQ$*W=WQUYKRN%-!<-FV1w`Ss; zuP!1Uo+xqbvYmwkWldG`$K_k#luxb-JZVVLyqM$Yi?nSuX^743oN;$CFQcwIf9RUE zM;(o7sMW+URlD<<%iRc!e+Q-?Gnp8{Oyc?+xa6nI0zcmadnB~6PM8!B;fPddpzBX1 zu#d|U;aywct9!S-D+mo+j9hhCP+rSm!hH$8_-ndfDhlT2nsf%!iqD!n|0&u(e?%?* zzMuELce?keZ3x!74QXf)=l?}x=F@D&vjM!7yokju>O>}X*vBAk!&^nEUFOgZUS1D^ zTx)IcyNE!0$7}WlIz|nzbqj3l+ z-g?aKkC-dO_~v7I1Hbyb7aI!%LtHg_SMKng^3v3@U0RD0bH#=h+bdIk`p=_{kDKif zZz*cyI0vQoI(snovp4)~=sl^PAH?)&B$!?WNge)@Oj9AOc1AOj8g~HvW%FuRKYDEL z&3@?V{U(#N`pQT`v_}9ZgodZ# zwn{VKKrM^??)M?yI^%HDVc}tRB{dIM|H@}zEx3Mn91p<%(Ot91*itTX3p%fjU9Ro{ zzdP7xD$N58$)g--6vWE)M??)id}Z3yB`q^WAOxtlo=j6#5m{wtI;;B%k&Z#Gmoz;S zrS2u!{jr~WcI%41%GN-UJNZim%_AZVADsD(I^Td#=X$HJPB1KeJd}63&F6ZVeqq90 zB3WSi@WXZwThud*GA(c!q#sD!dz&(uLrLU&f>)z#5bi}588;NQlnI5Td_Y;Ha-8Pr zkfM{L_>XCb_!D6%vvyJ&!dM8srBF^-sc=Y%zh8C3Q7)K0}xgeHbN2W|3E{Kfz8tj1aTkNM^rxyqUzGJ82G zQFs6-q+b;vWK2+5MtKE*zIq-KETML+@ts1n`tS!20^=#WO;_*7p0UCmE=}EC(bJAd zSyaLi(exZe^a7mNt_{S$SxhFKc8$`658p-G(q=J#ljLv!7nvZrXH#pRjzj2gwBi(x z0~elGy;NZ`@dK+BvPK$~5wt{rP`B zACh4pVlE_9H&JF`xHX%M>P}-Qsa(@DxBiZs3{B|sxd=*Svzk-3C%!fY_9qP)bHPRX z->C=izrc;$f}LpO?5lI-!f?gFlrKxOqGducg(OgfsMJ!<^9iy-6kw8W?n!Jsv1(w> zQ#uZ~<`)HRugW=7M%!ZR+{KmMcwWry$W!uwwwfr-c}Feu8Pu61%ayD;+2p`15=G(# z_<>W(Bqoxz`u4%uw%+Fh;CWO$ODb>qVtCy?-w}=Yk!fNzRUdI?jts0@WKZAGxG*0}Woy62jne(az;ulYh+@(8-s-<^FgX{frpxO&gEL{wt9 zBSW9fgWRWx##%5p2+g=Zl?<3mVva+Z#XXWDGo<{TAGM)j8G`AyTb z8?}zz%l|eNU|Tt!TRRRj4}A|H@+v)|C98BP=EVXBM*(a*yp#Xy@(6E5H=Jn&;AcGT z@ZSX=HnX5bFoEv{Uoa^>CP!XmGA_x~^GjAEU$R9BeI~gO=!0Nc#S(c}q0fb2Vz$=Y%KMo6h+xlu_BY6sEY*;<7pH?FO;DdP$=1 z--tSn#8NUdCpYq`*DuXkw%UR}N@o;yVg3!4w&QX4xNm)Fk_#{_?@6p5INc5a?gXp# zyM7!>3{_f%iAs^)5GnwiWON`%7{E`~*t48CD3Ui8oT-4Yw>Ma2gJz-jk9yau8{Xbv zgKfDMsU=>f*118e5)Xu#8aFNE? zNaB6qm~8ef0+yI}qm>m)sAjPg(mwA%6j6=7}OjFf(CI&kHMN+(K*fG|d`;Jij5NZjMgqiaDb7S@ukg2)54u zEKG6oGi|=Zdwu%eesDOqX_k9gZ~Od~?#P-15$kvH)CMoeD(DokKz$+H+INJKbrj9- zsJh#m^@+m|_96s3_n5n3pRdWP_4!@jfDlR=!nR9Lau zR+!*vM8T?W<&{SDHT7rI_f)*8G!@fPSx`1eT(`aA+(|m=1VhV@>AcQ}!RGYW=IeQ3+Hk#FL!aMCoeMTas}q8e=1sL&beJ}`+T4&QgtpyO)uJ+d@n64#WVb* zBTlQdrtHl7Yy*eeq^Nx0CE%v;GZGXFJz*SwYb)m7=pYq-L?i!6b$EIt)^=eNkwTR~ z5M9iy)766XIZ~u#7OT^tD)J71W*w|!S&y$oDuG-fE@D}dEPa;~yKbdd{fphQDAJm| ze6|A*7f&40PHOXDT?G9r{!U~7s*H89T_f9^G3+rz#x-kleCi@M$#s_}f7?m+OmO966|Lj3b$!9)NPM8Y6YBA`5QS$F}h zMBX02=r5mjx|L|c91Bw(5|n5Kb%4W%u5SBbf@|~(L43KIEjt~$Hn3Q1F_Ts)7=V<* z2%u&a=HzsC8Yk2Md#1PySZfO@6^8*xh4p2@8nP%;Imh6Y!y~VY&>E1->SBvy40fe@ zh?`O{jIn*0bnQM0Z+k|Zl}eyMx3yafz=K~lSkZvhQ^DmgQvEj*kNkkfkAaaPt-k=K zg_6bVyo5Foqp1Ja$>`8mNJjsM_-t6CzT#WLz1X^%a*K*1ou5=GAunuvP&7u;fDD!&ak8mkvdlfI$xuJMezn%H3 zt%#dLM|mJvlefNuwZ>7?n>tLIQ{@rwC0B6X+ho*7rLb9#foG%CnOfQ}7R4CUT8d}$ z{0oS|_y_=Fw{bY0;*J_F@#7j7VH$8YAxLIx0hsx55x}w}=_cb^k`&Pss0Ds1=IY9QmCkOD4<(&9>?nE9Eqy#XcUk@P-F7DcyA|q!b zF0((HTsv#d`t_foBmpnhKe7cHcI)tW*S}?cg-I|yje09Kx$@ZR!DNMVE`hOz%0yFE zFd@Ywl}wVL*hY!dW>%H6u8y=8%jKO>aM*8_-zD)H0Nu0`99=`6O|6&34{C#v6*5PW zH|jT^4mFTKDV6I6+9(SjUF2M^I}0cs{Vgn`!3CZzCZkBWc>~z2HE->S zBcL<1%t`?3_JeeugSJ)3Y0y=MOVE?q#wH8E27sUda)1f=mjm*^PH>4zlR4YAaXpXbHmn`B~J1K0II&cQmen6x|jzZ3=|CPV*KY^vB*3N|s zV=yQg5Tt-KAx^E7M4BQHXRf7Pw@&x>l~O-O{+?&BvR^an75&LDpceIk~w~ zWA@U^P?)I|L@z@9PgeeARpWyp5B*6{_m;GBmpdKE{|z8JhycDH=QE-a;h)DJh*GgxdA!};X?SOm zZc)(Y9BBZT!1mw23%g4hc(j(pXRycNLv)qQ2+fK;Lj(P?lbm8Ro#u&@asCYL z)f6k=gdK%2gFULj`nDJ+%t}Boi~#wUxDtX~Ssc!iAqW6*pSOJpPy}&ay?MRgeIgVk zesT_gJMl=}kM@EVpq^-KZ6GQEKg9s%HA5MRK*33Xkzgyz1e8vxW2}JF#B2SL;s3~M z?$t$o=7hDKa6dO%UwF2$=Xm)BOIW0ctY!B`wORL9wG21Mh_Vb5rxkzuB8+zmHAx)| zwH~seoo6dawb=}R^iqi(W-EUS>{@ONWJL+mYlX0{r@E>vwp(x*i6^ZmaH7elFvgyu zl%f>OWZDOk^`*@B>R$GO0YB~hl=){1_j8fwi7W!4KovlwxA7M{AIb%Y{BRW=pmwb> z5FgSv?3{(IA1m0?N7KibXu7;AzZ>w<8DcLt&?*r)%9EaO z!JbRM^m1eCT9LEOI;fzksJKtU9{%50 z`f9T2M%l`%HeepLjJSw{`H5jQZ#lQj3*6>_+}7R!kTpkR+z16Oen#3-fL-m#U~uqm zoCgB)gF1s?X4MG*FaN*$JOByc7Wl6-x?mPU!?5_T|2CwiRAfU$UNe|$B7E6ieIGXQ zy-Oa`0ckaZT=wW%V?nbcYd1EO)D#x6v8br7w#`#=H!#IS(iF8QKQfBw)J*BE(|O*K z`G-cU0xa`!E2-e{U5EsKpm&asxR}C;iJ?37m7iitIkNx7F=ZX`rv-<(RdTl6s+LH9J?<<@SfxU~nT(MXC@$LV0>Q!K z`;3wz54icrQ!)-CRql;s`WaJnv)bITT4$rd1R6-?ain)O@oD ziV>g#OVIG~<2QnT=eiESgYbM*c7hr#hT0K<3_!}{D_0kVxrINX z0RsX|gs@22U9fVdR-yTS;{gJ^La1lyN=zHVOh22?jAes1JjW7lC2tmqErb^wrxJuT zC-1MRHYloM7NJRY%4X#f>q;IM*p3-?4qqO5*~YAXee;UQr>-yueXO#r4Spw`1PNEI zxzSy8(8i=1Vo9k?W8DpSW34n?07@fbjftZZrja8Oh7rH%-rdbVzT|6X?jWo$SK>Ng zGVC(t|9ap6Fo3B?a@CTt7#k`;5D**GBSJEqu{jefqU6UQARVL|(7EG;09yOcN798n zy{ybSM->Mlv3pALspwr+I|`La5e!a178nFAD2zu5DOE%BR`n&qG!Dm>E|GMoZz=;9 zBOw#}ca;&>0~4^nWh3V`A3usHk4mV?Kx8geG@~4Gvdp0LBUC9pBggzK zTZGvNo}(5sD+tcHxrsxOErO&gOK@{ON(~K<075W*n9`|gv1KY9*3{s;22`7bUsY@f z=l^_eq0$}6Slopc67emtXJ|qLaa(qm@ZG~O6n%WLCSniKgVy+FmOJ47X--@xu%3b{qEXv zYe@-dO{5b46Q7LT0&QJYx&3kua6b*f)B7_dDAe#l7bnNOx(gK1S88iG@^mXX1{~%W zg9l%6UI)_1Q1ha*_{8N`{EPSppD(@hzuqtr(q?WFcL!;h%f!eqng${M9_K+4O1TK; z`r|qeT+IeClWcxKQT+Hn3Gd8(4G+;F!0Cx03c~uCdU(Ow+FxGT=)IOR0OP=10s1%t zKoaX!Bw#+R5D_yJngj?WO9?G;QgvWdh8uK^z-G*~d{~M=;xvNaQ zHj7+daH}9YMm0rAXJY&xrFM@+>r73n#1{SXc|8MKq;ZMCD|k1>;Qr;WKk8r28KwHR zpPnR;i=^G#R>yYl?sr*=*wG((d9}$s>UqG6%?D+*4$Ze-c5Ma=0rkZlNJ2`p~08-@f=zv3_$N@_eeawo)ICha>mXG!MX(__@)|`8Y zyq*bf>^{3Ag#Xt5$WPNJtgH^R!kH^an9E4*;JnKLzN~G2b$N5WWcaKQrBTie={W0Q zVc{YE<<}XG+$H9r?-u7A+SQJAu5;uYbM4Y5a2E4$%o&qHSl_gPPs;1%~$26C+`h%U%r? zHK&2AWJO+UHK*EUPwKV#w-$MMgCRex;h)XWw04oGT1*6*UiT|c3&WoGMjK}*RO?4{ z233;&aUz=hP0{_CDYDk^ajxG?6<1DStDx@7?o{&_e=h|p8YVwa*otApWcD3!9OvTa zOKg2WifJVssy-=EYvNNP}a;PwnW^N$mzPNr*-bMwx;jTx}QJH(77 z=IE1;05_1VhA4ZvCI7E9F&|TB=FB|pvnFJ_O7|}>G9pY?S8oMbxnUptQ)1Wf(gvzL zt5Q`ZaR2}?4wPf@A6-Yw;kaA?3vX?!O#`LCQ+G$W%gO5XcKapdVEdjEt(b(r_yRh^xEg+8|B>hglh5UM=nJRT*1k^&E6q%n~_)gU$D4MM{+843ej=IVKh6a{7@wk@-gO-!?8#>T|D zYJfe8)PwTR7jh4nr`S<;C5nMVqs3JfXffM8<$)iWj*aK{iHg{Ao9%MgL;!hQd`RQ@ zP9D(DaW;S45dPx_S^SBe{>5Te8*@zHYEa^d+1e_ZA({VrT~p8F?w2Cy$xg$9 z4@QM1$hIG8KY4$}>q1icn?Thfa4NVqfnxbv#C!3EWCTz2xr3>(^ogPI(4W$2^HaXJ zsb+DJ=Y#x1G%*y?i*?eft*WTlaics<6`U}SBFQi_jNU1CkgoWf$RxD&yD;3@P3>bt zfMsga?mGX`au@^Z;%}uusS&Sos?oluJ#+&L$VMd)P2~#Z5X1`mrzlCKVvM4%Vqa@; z>7PSZ$pV~JujQG!auHN`^CZF_!qJ&vhTZ=Wyb(0)5qWV>Hn$NocoZL90J*6@dLhyGw zpGFr?6-Kx<+VX|XWbw@R^aMtGWNs3T|9!-LjoAS!sMuNIG#a%eUg-A;$^FLEI1GOn zqd5QDP`+Qe{k=%_b&4yt-u}+&zKM$71}4zl2Pe21+X+6|+mj}(&yajT-42Iio02u! zK67e}SWal8D?0ysqu-#^n-HD$?+z|}s;O(J;`#awnY*fe*9*EdYY|DKSl8i*9$7`= z!dDJS$c>TU@Ju?yqZ9@l1l~6-q$!L1gT#bsHc*J9#?)10FH%S-?gKn3TJi9D^lb_V z{7v*ca%em)h&HMS(v+*dv{s;=aXTPPr)R)G+S%nof+frrZ^QqEYM$v5w zl1^EXv46W?W>G&2aF<}>r=Mt~sF);wvWn^QYs=+|0)xns z5YJc-7{V9bxeV}5qUErn@9d0(dqk%3iUtW)Oirute^p~SVchF355+;BLA^yD^o=Bl z#V5xZWa%{-zb>acGw``&J!Zbl@TsR&gjio$#{8RPqsX%bPCGaZ7FIopq&TbVP!}ua z#dpb$6}w- z@%Bxjk+a*(J7ILd`X>*%G>Br{hh>0AXSV*WdyfS6{J`0(U{2J3Bz9XO`n7RcyPmTE zprlf&BIIyxWHI$3j}~=?ZOuZjyI^*~?`5JMiL=ZyB^z$9IN@Zc&2S9b(fa7m@XmOW zAx;obvsGa<EocF?VQLdWsO>TIOWus_)y2uH1{rmtfqqk87^aeoYWX6dn{8j5`r zuO{n>K3B&nlEo7$KZs3z8oG39zx(P%h`bwj2p47QSb1h+uXam#wEcsi5l(ey`&@u% zmX)(l)U@)5B^xzPqGT8Nh))T?*ZA4W8H1F*x`3{NlB+kV4$^~Xp&st@C^CGP_Y#@r zDBG+}lF|c+G&z$dW2E+fx56%Pre>DJ{mcS5KslBFap&#QV@P@vMA%q zH7~T~%AhI-6Kywtl^{{|6mi9HYxzxB$7EuEgp|dSG_lX71>`j^vf(hABSuR;qq-v) zkc8uxiV->sGsFdz-_My9G}z+wOE5Y789|a&BIq*6ZNA+ZlL@7+g$Zui9!Bzy($Hdz zuZ4n5eQ%vCxy*9bLfnTYFjYJABa{t1jv^yQ9W#IhL>VkGQ~HT4xo8e=#1h^_2^`>m zn?>V_7=-92jf}`Ikd}{d*DJC#>8MG2edhxpT2;`6#_<lHri&P}MfT zW48c_)r#f8aiUY~Aq_BCFVWnTYuhly$26O=e(J>9f@#|wARvB?TYkvV8U-%z=c3av z#(>dmw13KyzRVX$lv3K&GX>K?W$AUoJ26SfX6ymM(AK|)u`)CEdk-#CSvK2MZ8>V6 zfRCS#^$z~ZseFM2vkrnJ*?h3?7w6O3d0R7F%%~9y>!E3}F|3g^h8IMtP&fMOt!jI2 z`#Xv9Ude;#JRLPJWw8kIQhoey4!+%JJg8c3`dfT8&&Y6`h=)QGD>=B3yFca8sIDh7 zXi$~EG-7zY=RZ0`msS_30c-B4he{Ly&58Erx+^JF7R}*MV|c@7DaZ|hy$D3Fd1*v$ z~jQSGrToa@ka-ztAt89MFu^Nh;dO1o>5 zXYb5hPpj=3)^q{GEjX)C{6^Rn*{K9AjMV-&dBa_Kga$XBLs0k4{g*o~;-vv-zV{m> ziGZ!v1WjKJhzOlC9*oCP>YoxTKk#5Br;N8+SVrC{9!TBx80i7_HV1Tlo=7gVq!hl5 zAXw4oWm)(^x0~QcA8-3s1*-*3(6%;VA%{!%TQwf6P@tK)_&5ozSZ?SG@{>_>*diX( zcPwvgwbgokJy#VLABL8vo50F%<%fN4bKUA*vIrmZpYRn}w-jCC4ERd9pff4|zXy$k zhqZ8~C|tX7sB>*N6_0UM;ZIVN=4-a-C)%VgN-<{l!46-glf2qk1!LgL4E0sPJ_bw?!AMtI6eOhwmP&M$g({wMBT&$TTNyWgVZN?(1>T z$G#Gcjy32{R=R)cKAa(c#TE3x!%uRq*%xx2x?xTS*U~CT^+INr^N|7cJuW*Rg6e~W zjA#P#PQ;$FwfOrE%PFwp#p_R`&DO&^55kG4BW@68yPSj3Td3cirL8=23x5maD+le8 zBF%Ga^G2s$fE%ju_2a(;cS3`S7h8TN47PV%wvi9QNDx&xf%C_vNY7RQBrg{cZiIIB6w%Pc%yxz*M0&3{Jd_(88kx>eXu9twU-<|=N^pR=WNEc*PQ7gCVY*rTg+2+LmEK(BHmXXWQ0#ST_(z=?=mHzZ? zv12^(s{peoT;$}jwy^+_;WSZT_HHc9Jgo@01oJt-cjq0=ba{LsJCHwajktKWc?BB4 zt}SH{lJ)m+ZU>Cm=Jm&2F?7PH88|>?CM=#Gt3jt9`gXnR9qK-jj^SOKLltRJQLKO) zIC;z(l#>#_YM0R=(Uu`BXIHnjr_4R2mod5Ovfqu1;3gtSA!ovt>)%dr{^aKYKnw*l z9{)d(5|{mfO|ZcH%Un>BS7}yH*&!MU%Ahj)WgP`V3bjo=-uBVN5?z{F(l4v73}|b zcX3q_MfFyP!c$Pq!f^IN1H{Qtn>)L3r`RVMqSJ05d#Z z15b<}xg#|@HIsIzIX2w7AtBs4g|CS7+TqGZ3D(Ml7(V9nq!qnO$GkU5zfG=+e&=rY z0(}@ig5cX+S6G*iVvGV-qbd2EIH&t0ih$BGJyr^GAx*__HWzkYLhOz1lZ}hj!v3{1 zLEvSocl836v+!q4`6*iq24Zx~c}M(TATn}kXBliEW+_O~GKIUPy3zxqy?9E?rap4GcxHrXC zkfMHM2#`c5FFCl*nuH9e8v@Hp>4DtZY!M!U;n18zjAJ;)=T>uorA7u${k#l}#4y;pM&gg!^9-f&9%DvE3USByz0vki( ze2CP3o~!O^Y93mk>hQ{>0JUYwg=&V`6`a$nk*aX5GtB8u=R(6dR>jO?k&^d5L~koM14gWOq1`Q)~jvK$QijIA^^=8uK5 zIV`C<+%%Fnh9XLErZNQO?n$Uy^3V84HF;u)3|(!ALmJJD4K;*&nqzZn@!Vmgpx8j2 zEErG8foZ*z{H>`T~uYTogA-RZ{gG z%lK8Hu%^yT=S>TM4xfV;`T`6J-BTP+aPfBY!&l|UObAX{=+wGp*N(iLSmDYzt}!9q zrm1pOcjMx>HQUT&C?K0a?s0q>>;s}vAgq`>`P#?&^ihu+s{!b!7%OtoC-I>KKWAhJ zqT{D9gc1SGs-Gv=hCCby$hdA7L-2FZ^9TXQWDegXn#+C+=h&(Q!OJMx)%wXt_}d1= zvAOGO6wk}vSqHs1TT6hV@66KGc7olq3`{juKih-PpDx$8#yK)(c*zV*S@tQoq@_7w zl=m@i)-;N6*3l!{q2Mm7ds5`m_Sa+$c1B87VW78_IXnKrMh5%pY{yf{je;tAp0{60 z<9L0Lx@@lR9?`3DA$6KltFsqH)coXx;846S@v6Sf^~&`u)ae*npqt_fD^B%jJM5~1 zjuqTFgq6byKGRuGf7Y7lP^+{DDvr12B!jX%fNE!Z3wPhLS~t-2#FO{$Xh#p0!6_%R z;|0M+(1Z>~(nZg=75Djcf2lq?2JR3)}V+FoTx-Kw@G=y7{D`kG0i zw=Q(~U)!G5+b2-=sNm4-EM;CGo-k+2gZxF;&iH0|1#d0XoClr9aDAbi8xPpofa0sz z+RWU1RW3h@0AhODvGL-g{#08z+E}`XRwmsuQiuBH?ZGj=wKsj(BK1Ijq~WT%#_bE( zkYqp|-PmIg)21IdPHm87PSd&`DJ+CF+tkdJam$x^$;oW2mzjaiS%NQDgG9Is-;@#1 z3@mUWHhAOqhxRDoI5*CBTcpfs7a*RlCtuJ#g!f;U(}yj^8T{+W&G)CSAQA2{_6!w< zURS%z5XTeRzCK}L_mrm(s>y{M!mRx%T%9#qpn)8DQ|-}r665l^a(}uJpJ2B7|2{JqyHzo{*&!t4mS|b--JK+~%=1wjccW?v`+Ur!R>?n>kQRUue6xL$CFc%jJh`gwp#@1}gXkf8u3 zAWdwvo*A&BbN)~iS1F8j@6BSJ=mu?%O))zO!m_C4777Gnn5qJN2FE8Gt6vddEsmb% zAHE&wzUs4mmG}^81x-w4$<0XnlX_+uZ5QV4EkM3vp&F-P(oxRDhpP3*@GJ$}LlCm` zqa)9qFDM9dP1C2iop$?NvU}=DeTW{~9Aj3mAsf2i3!%1cE4j0Pcv{(pNxIhe>E@|2 z8AfbA=8v|&V|ueyW(`-0%;7Ka=8yDLGCjKOWBTx6f|)pmK$!wyf*-W*2FiB(ul?8u z3_Vii;Mh{~@ElSDcO>%=&I+765L#2GX+ejNgu)a<53c+z10Rx!`R>7mu)G7N75uuwyP7- zt9xVy-bmgC_tn-Dbefxm@bCT{VH_yi{lA7|i#bDFcFBP}HpZB6<|A)x z7isk>?zXmA^!}4KZ_^_4GR!EYjLb@{?2^TB#~3KkX#L_rhK4iz_B@Mt!)FoD z)Y8;VvbZHk^+`=HgrJWjY>^BVu3^{#06?<@(|!K$!vK6GGr@2l;(Hd(ScmiS!pU;I z3I$itb{4FPL9&18iV_isZaK%ss);C`(4Yz%FA-|Mn6Is4Pzd$L1Fd|0oa;xtII48! z*0)`1>zGBKz9;$F>z{g;^kU2ak0pm0aJHt^Nm(D@fV=3l!Ed9@e_`=1p=k8$ML;Yu zY6PeYLcIZI4>#oQ)Tu)tQM2hL1~;Q{b`mBg@P8efOO3Hvyf@EAgJFXBfvd8)l%-I_ zUq0@g3yU0r_D%VfUPmDR15Jx+FgVww;)^Ia(WoRMr1X+_n~_^$tdG<^em zW=+%W9ox3;i8HaSiEZ1qHL-0Q6Wg|J+d6sP?>fI=ch}W>t?KGpt41-4(7v8==$g|W zQ5ERMLOVo`R)a~AYC>!8zXdJ-DEG#z+lT^%y-5e{K}u$WYPhp*m*b~<7fRt_B;yrs znzYq&&40D7zZ5y&iBk7lZB|uE0cEai2w@h;m5gKf^sPY<&Z zbAVhaWSS8WBXECVTeko1Qe}7lqL)^YzxXABAb+WkMo*Eo2ALETTDs%7oi%4)cC(U% zdrs&46&S3tBy)b5;9JKY9##{c`*?Uh3v_JF9_)$VG%lGTv>+hKp_vBeKP>ZN6Scbh zgPm+OCR>$2All$4sPPftkA_3TwPK%Ht?<-FeRmc zA)#UK@>N9Z=1iY+LA|RHHB7{AtV3MT*Gaw2O26&pkQy-H3JB!I7LQ#cOt7S^9{J3I zv1oODb(OKCX40-^sPM*rDVZur#Uw2^*n6z0A!^dM4H1|@Dz!N}NXGTgW@ zh?9*fSxUMICACsiN~c*P_tPUNIb$h1F8&l(T%QXsx7S%-0RS?Ew1qL_QrREl`l??d zC}|jKBidsRf>fF8I+be0hB7A~cW)zt1FQON1Y6Jnp-%BEAjs{$WXp<8>a>^O$`lnY z@$?_zcb1RWa4{M%UgogrCpj}08;K|l7Hsyt6xJ0%ELkUoUBlB1-f@ zOFkQKCUoHw^J0m5?Tn(FsY|UPlh)Rsj zW9aPu*v9a_WiaQ&NQ$VoI}Z8>2>inL3b;;FYn59Y>&GKHcJ=Gjo4@$^OoDah*VAaP zSLrrv>YPd7>ooMsG z)RY#&;n}B-=mJ7zTLULql6G@GA}c%5N_2(z+_YPt%OmToQS2VppnY11Gd5OxRO>EAch3D@?{t>Qe*$5SC6&Zi=|Pv~KSy-nhc zCAM8AblgM8l}p)plFS!3>Am9k{1-GUbmW8(;S_22-xjo``AAO#Ow@ z=YlD?=cZR>-{{0T;q917P>`mXEJo~DSRX)3ts&Ap2VsUP%yF(j6Z9Y&$DX|#19_!d z$Jq3+Y8i0>OhbXexYmHrvw>AAtaM^{C+d_vCAPRg;be8IE;JV0cG`4n039hRbqCR> zFa4Z}+`rREVA>Pj^~29jq!hcHH+Ay#5s4>bYN#cnhXyb_OSNN<)s1a($(0`1K*gQB zS+_s8)-r+gy#JpWh(wuXqjK%53?83>Kf7b2?;(SzGkd#oo*KoMFpt}m4(PwFj>W)5 zL-@oYL9aS~?|*jXj_7`GbQR0JJgH*sVml5yFL&kPXnCt)5bvrc6ryu2^Wq-PSq2@n zEe0J=_cypSUR1LbQ0I?4W4f(j6$~r|)$zgECoG{KL#u`auXq`+5qd6J9`oL`*)f?b z;^%E$>p!w|nzqg!_>)*v_q&!2;CAq$fb$v643e?9!?=U*KItkvD|zy{y9e=FX8Vij zKKTOcF^(|a4+Q0=(@achmj77dDu$CpafBiFhqMGaKf5z6>D54kWcV)J%4U6 z4|&JBS}tFV z5JC&t!QoteG)kB@U~}9EcIG~WJ{g5nEDe`qim1t^=kYuHID%#7UYlPui%Z@FX=Zoo{)jV=o!E7PB}P-MHUZ)hq(Sy#C8J!PsK_Xy&hbVT|75 zgT_!g`;u#E0*>H_ub0L|HSRFGSL?m?z=X;qIxF}!flP%_VNI&`D)EFZ3`vmfAr_+J zbyLi&ngRy(CO?f_EoS7MMZ#qM7JJr~w?sa51X2;02BIYFZ>Nlsjb z{T=Jw$t5bhhaiuaYi>>nxNK|6k5MKV8bVs?cYtVrpJjVj86EacJ>m+WXIbJ1Ifs!y z&nsAxZDAgl5xMx1&Bj-kg`;#^{jK?w&-~T-^x4M*-DUn5Q*J01&3;bF>zzt{4`d|Y z-ccD96qHqxKXCG7-}kOqDim8=TFO4`)?dvrOpa*P0}C*8;VKj|+{J5io1~ya~`EWXsjY2&jMor=9A73TSb>PG4V8zRfI(Wt&3RMDn{U)X-eS8Wst^~G3>zBu{1BZZJF*6p1y z!Z zTW#;-pol3?{}GLdYMhWDo$~?lbD)&|?sGz?z};y$adcIiU=m4Wna+;wdqVM6KdFA} zeXHXdHR7Fu@8VgVdpAyEc2i4LybtLxBT4Q@_3?JAJ`VE*}NB8SM1 zlpjfBkxM~>T-`sLDhA5l`H#Bb9&f%6jmxsG+oxz^Rz5H)rXTBr1EvrygOeOKxzQoQ z(g+H4zY7pY-N+)gG^_;^ct0rjfwCk%{sb3I2lO6qS8*g_3=q^u@d8OQDzqXkbWO3* zlAcB#(4On7TYn(Se~HRkN8WERoLuqj`W~1CP!%_)STANH72KF&K!_2`b&tW?ne{X6L0AXpx1mCVc9+e9XEt;(&s6?5Y;DxbKgH8nOk)a#b`? z;xr5y!daL4pOk0g$f|5mcE)a#fP&uBsjkG)&nvmr#n|eXb>xj{87|jnbQfz@FbF+R zPS&3GgR0XF#Rg$tw+Eq>w9Cd*f2TH|v454g2<3e3!7M&BhD-vXB-^#~-HxDjf9wp} zw+N>{r@^59mM8RG=JWZ9jpT*u#=SiAf{ypLcHdDQ_VQV5-62v6gS^)SHcHqJdQtQedTw(hkl&12N zIK$v$bqh0cB=gkMQh10t9CRC89(ldng(sBs4l)bvY)|)TU1;T_t03d3_o{nW&@36% z%TmVvc1svLPMjztWW#QKTkFd5meevDb3KejymsPL6fv+xj?orU6mM9`toAR{--$OJ zdHc+vYHrMjvr1xO6W!47P6pBG>SeQR z&~~-qd=m+3P#eJcQs^*_k^Sy^W$OTWp7{qkcZd1)72rsFpGN^tOK4C&ngLydj|kK)TDc=lt=$pws*2)utAmfG(F`wc|(Yl6Aa zi_?yt%?wZxQB2KX88>?)^YOl}{=maej~K`gV+<=AXiIJr*{T*wo)Y6vM&H>xNI%5c znxGtcrU~tBc*@BvQ_1g)MR$sLIabJLsCkS^GGAxXi8r)j?6}O!&DpdS#o_(TxMpqT z-La}y!0hV)K4f+ZywvY_Xow~YUjwcAUT7C%AB4rXGyW2txc+OSeG>GA3Po%Ct{(}b zT7xV?4Zb-EG9C!GmcZfW|%X5-$_qtzUOeD}F zO9e_57-tj1y@WyP(Ko(hlT+6JT!36o2`GioImFOfT9I{*U*~=LQUmNCJf?ZJB?uX5#g09T{2$yuZvSeSW~;dP-TST!}%$jP{M-VnIS1&@&Bt zAuD1-mL-Y+5raczL$t1I#&q9)z%|4p}>4I{*J z+chd?9KN&#-N$VSQia!O+?{_8?)a9r5z?lzAK6V;Xqfx;3Hv$NcX5xAz)9AU?Di!N zO|2XXV$78Kmq>{}Uxql4-hMo3N9vlWYx32AnRSM+*0{jvZyXoDM)D_=LLhjiCJdhql0WN--Oq zwCG`LYOVF=~`VG zulhgx2T%a^iG;?9U5G#_BrcsYCz>{`!oCtYH2A_+y#8yu%b6BUJY*_o#3aS?*R7K1 zCwT3rgLfqB#ZOvinwGMxQ8>=hpo=yq9y~x!ytHOYevqXKf`NV|qF^^KM|&W}{P1@} zu8bU)LDt}N`-}RYQse5}+THYp7Yyq~r;Q@@WxP)8B43Q>6$Fw)W9&qqr10hyd9Eaq zaPLn2xB(r1*aN7Xi767HY&O@^PtD}o?}$#@(cRZ9XGi7 z;7Stf91z{O=%ce^d5Sj&F4*YkoI+TPH#bUpClG{9&PJDH>R<>JJgI2$U^HH*A)P!; z?(*5W%C2N`4#(&c(yyw==oSUbhXYo42fKKW)l?Kh7gerb;W4K(nM)Jz)XAF6ENX^O z(N@ZC1sSezstW+eg=J6P`5%c7d=Dmoz)fnUY+_ywX+Wt&YbZqJMI(W_)JR*NJ>PxB zJ5polE=%mMJ&P{HK-*N@58Ga|W;mO2H=ZOm+UY&5)RC$OGJWRPA4VtFI4q!dF3y=s zFD)PZPVZ)EnSV}cGfHjVV49tutFc1O{QFY&K@snOQ5ElIELC}kVJu?*OYvx56N}Y| z7&=wKazT|aVU%NEdhW!+u&~?wtc}CHO+z$12mpZ6reL;F=f@U4hEA*RB}AOx5~-S+ zuXd+#qJst|446frG^Q?-z-dzE0DzRpU{{t_kye=Vm3~(9y?pbwjSeQ@w=cieCw$^F zca(=E21Hcwt~r$_7UhEu{G>nS>d}HG!CXp^*}#*;&Y(CPgUDSr0h%TzBMKG%2H|Do zBO4qFgKDx9a(GhX`g+p8J$Q(AY&T_{iNvF0ExBTFmmKD6;PwH1+}Yldd2w+HjyzZf1KpsO6zGstrMcq-@X<# zV5zPdudQpSo(^Ob0i0j$pEYB`8B!e@dy)mRryzYF#frCu8k)cnN!UttVE0jgB4J!( z6te7py zWQ^n>>z_A|z}IiJzyRf6e7U$*4pG*h02oCx9g*WKMi9j>%!8P+U-EiH{D`Qd1LZ1Y z(2asQ-{69*r3ntG_<@&w_eIqUhfIHU@;2O-MK(UGaZrBT#jI-CPg1iqdorx z8TQ8|O+qs-j2R0SSP&4)AN4PMJA)IgCrPr9$O@8alBAQW+?DTS<5^swTP*2L=l4O# zq;I~bXJqM_ht%u`bIIvC1+0IW7~IJpU|7arjf(TFPB<$UQDP#Yzqh%uY3Aow;%Jax zxK`w&{7~{Kbj6stv|12ah#jLO)QqvYbLLZy@3IsC9doDb0E20e@dB(5!7N5%EIyMJc;>PUeC z)%C1yBtapUd48X{y_6{nq*E)?0v^GUWW8)Nf`=Xl|IzzM(FNw7eta&^FgYalk0ga_ z$%fRM@bYsY6Ysfb;3>aaxqHnkDr;Z$r+G35r@RGsJEy)kGH6jqPfg8cPwcXq(-#Rp z8@TFXX?p6~)(rolEwnRVQ&op%fuV`-=}-nP1ybt>5D5TqNBtVrM?MIKws*vRB^{06 z`;QoZEH-+?=kvt>VCF)uJvwK1A*-AI!B>TXW4%_H+0+fb*R;In%PB%pi*%d8voKC?=&ONpES=yPLHH+2VJI>uo!iK zB-4nC7jIr?iDHnU79Q9WuoM7rqgvk2RQWNMXI62Q zX4PCdIjy;$^YeLmwX*vHcjRxj!D|IlhXjx-NJ(P!1N(v9%`ZvBmdQ60LkU74`D64{ zKU9&y3RV`a>)8#AW@hDT4x7sqr}g;+@bWRV7>kbG;{5tcxxuEfLzkX;zlv%;KhA*< z-bDom6d_Lmr5YIEm@J4OoH?pr?EvGY%r8QbPgH?9E4y_{AoCEE;xHb;U8OBZ;~@F- z@C-#uj&sEu?QyX-ow$wGXE}%VUSiyI+#ThZYCv(C!h@;T1b{gVt+x3I@c|@&phrxT zNLq=o5EAf*Ra#I9RWefKg3{}`7=?o`y5QBcw))0$tLfGT@75;rcz1J_GL&fDnY_hI zpykI9GNyDHyKhCj!-7F5DS4UXUSY$ljSB2ntsOvQPrEtg?|1R}_?9`JO`{DvgXx z2Z7apCtZrkMA4@9$D`Pj#T-*^k-0q=^jh5EzO8p%H|UUAU@KjXu*-S+$a zfU-I~fupQn2N&N-?(V6P+LL}=8`;R4LbPJ`=>n%+Qn}1t#hwz}$d`7W%wX1OjZs1O zu-|_M)RLeRk%6=eEJ^@Z>tHB%y;8Wq10*aDHReCw0|4-PL^W5#n2;c)K>_j~uSyn? ziUBjVrjgPZvw)HhUf^8c%~GQ=;@rSkpmdEL%)%HK7zfdnn2Lj29^Y+c`4gs9ENoD{ zo}tz#`V56lM!OYg9FJ+j=In|3mij1*JJtoJd7h5vc@m_?hCXfOhtIaw3aTEKdkGN{ z^MW-Y@4Jn4!f{{{m7HjSQPR&tX|LZ)!L*80?$aYx%+ot3&Pn@JY47~#rn7XM%o^F- zA|&L7I1xksGEBL;tnCm-mxu5 z`K(WwRQ8vyNbpD;O4-L$k$}P@pK@#bVl`7IH^f-`%vC$W;tvq5tSI>YrDZ!PKCUZ$G`hI?U*wvrc%ncmsY3t6xB7cl$jumgN9Z!|&9;EmgQ{bGb_b_lcslmFj zU{L@LqEms)(WA2&b~_i!zbvc@2@%UYpb`L(+1x-vL0AdFuD6RKDFFDE#d`tO}Q zE06=SluX$UhANd($8f zib%_r3wyE?_ggs?i~CX=SFrSncd00XDdY5tjK<(L>xo0MHQjoMRv_lpIGS43r^>CV z0iXe#gq3QC1TLW10z?7qkq((8~LT;u`qiKBwye=&*jy`hWKr ztR8W7bLj!ZN=P8&axmpUP$K$3#7nHK*~Z}cxNmjCo8!T5rf(C$O{JONGH!^MjbNxYQ%ka4cmd^j0Q5u?GYrzjDkekuQHYf#BBKf%P>&RfU65o5g6@{F z-wNfg_(h$@IkCr|IL#lPV=@-SI^O7ZQ*V1F-syV$jeqGV6V1Q++RZ4(?wn;OS7=?2$vc~ya%Y-!RYmY=F+5i}=a%tx`_MM{~|-LZsnc+G60kq}lG7zv1<7**vlj)WSQ z76_}fRks?U#3-+UrKwKtsgU6jFFT`p?mKL7gRI$SV$jACbOH~LGszYTgHW`$_d!}x zTUk-_H)$o4=RFUe8-71T|9Hmd#H#xItR0s`Sf<@t_NxQ-(=cssXY*eaHESvs@uC`S%saSBh3$rNbn&&uMg|Q zmK)T&rn_CpE+c>7 zfrB7eVvjmjlhEXUDV745%Gip(U+<2vzdM+13XWCpmHuKCg)iRl_!C`p8DF)@(vTv? zG@$bgqVtPb!1*O2U5<@3)SJjlRHh*>M#1X{oX+nnS>zvf2Wn&S6GmAvg~p(79Gk#a z7}raen#$u&B?=%SkxZks#+N6m@{@dbFK}{ytksD5guAYjAwv&{0KR_W?Z*!w_>j~v zk5VFx7Nh_QH*uGg2h&y=$)$vbw;sjs1M6rlPW8Jd`;8)dZg5sJf7O^qkT~!pGya69 z+N4!$mf$%oiKm*f|*UZb}%D_?B6o;5d@DS*&?RhX=Vw2{tnlfNcuPL=_Lr;vC~zxXF! z!osOjh13WT=tkN}Yw_XN!+?Auil##*l%!U*a(?<#1wq&WKr#X(G)kieFcW`l>!MLu zn45#b#!9)D6y-(TT>F)MpGKXwq|%^LvH!KyCzTaHN6h5yd`oLWoa^u|p3<=g%(ZCk z3LqEwg<3BwG7Kr#v>ZOIt18OxI%eJKY~m$^cza)SMX*~P_meCpjo0A52pIE(Z#t_h z(O1QY2K0i@O7_Sn;MO?h#e|yqgdZwa^sX5Q-M7YK%L3xeBGvQa2J@hgh z>g^m_TU9L25u$$k7;k}oIPiUUI$l(KEA+SD4!6ipCwSI4YwABt@JyWScPRd?1Eypd6&Kj*-0GYsz_cI+K6 zPWhpH^g7|H{pe+27aEC2cy)b`&Ods4cURK!4DGDitteeTLevoOEPdaUu)g5{L43E$ z!aGPM38wgAB2Z06owg+V(m88J0n+w_qQ}B&jk|XYzj@xzo`St@H-fM~#xqPnto<=X zNcLg|un(eFq|)m@_xFs7>%rzpM;sCW1|?L0b{uSxp;SJ|%L4}cZzHN0H&zO_ zE?1hlO?xJLtXFjy<9hG7Gtp^NsFV;iWtEv%IwtMshP%`nL2qkYdRl00Gp5dxUs`<0 zr9yNQe+T7u5%Kpv?CAIjaqdrMy(6)%4{Jo23oU3?4et;`Wv(n3HF^;M(#2++;yx1Z z=7GOV&^pxkRa4a39xJM)&F#pt8ocqrtTKcxWuT_ETY%e%Z)mPQt_&oIe60#;3)#{v zGP81EK#U|~&vjmfC&5PXQhKxNVT+1 z1*wCU47pTqLajsw1|kR;A^gEd)Y&*!OCC~=m;{c2a(e{uI|L)KfY zg$h+aWv3@Nmz+o3xqj?Cj%=`kHX9r+?TlEGqM{&-IBra^z2cRr(#Loi_11YcTv~=u zFxO8vVyK5RR2Jy+0#FIP(F4JRjj<%9tqRu|$?Rp1#o<-j+UZQtzw(LpFTghs&^IOA zg4zYrG%@0_4g*-Lfybq4e!~587stsJUpx{I z!3;2^Wu(kE6Y}->#jpd$tvle@d47}v7E_0hyXH4@T659~c+5_yCL6RSURfqh_CJdx zTZto}`&EDlp0A*r^nVMz`H6Sm&t;}ZY^@Ad4F(QUpD5ft}!cwlWw4*LCe*;}KQO zZN@2Rz&B;y4pC~a3(x~*sbI=Kb9H~5Gz}0z1%ROd`snTB$|k}X0e?9lUej%&4u9um ztkUFWZ06W)IdG@Ppt16$y}_g0-gU7(My=`Cq5W+UZnHV(Kf<1CN`qJBrhnZpx6Ll^ z?)p8vDU-D=;*(il-Q3=D>V9`U(Jp0_WyOWQcI}^p7)HCvD&uPsd0+5!E|&);W9EQEBk%gE=8n`_8rq76l5KBtt}5en z(G5}!3U(^*L}MH*OSoo{f7!w=P57Eu|A$G$C@ ze6wq5k4e6AS1u6SQr`&*DB7nSispq)f=Z=v(`@)8+#p@61Pp>IT44pbns#lZ=ogk8`z#T{eB5{>)9mrr6gB7A2{Mq&FGw2XYTBt2wqyX$GO6IKcH)pUpGB%P-$o$UEgOO#|C+;Q6z>eN z+sik^J3?MZ#&V?w>@%z$!O3>r_5MDE=pTJ=2yo5ok*yqT|1*##~p)P9DF@r~>;NS{9 z^dEl`IHrm8Q_KCY7~=O6;~q&(y~-fQOz4aS?vctBn21W`6t{mkIZ8)gZbbs`C67uJ zAuGr*L;78Bw(zwtQ#5OFGOlv3u;lz>T#NoA4Tg4RkGOA`;9$K8mL9C+E-PkeLmCIt z1(~x>Asmy}B{oyZqRfY+395maRb4qP{H^*7QIa;)kJFYT4I{(c>hIf;$ccaLbuB>a zGHCrcxPF|2DsEvPu@5~@kuQW&ewVJ1FW?2KNILH-T9gz3rcqAT5a}?RdQoyyoLZls?PYav#y5u?sLi zE)dw7Zcphh8fR~a=5(E6O!~rXfm&mpesfAvXU0g?$xZhQU8Zq;Vj^w^|81$aCI7hh z=Fg1DicDCrNYMJ10aQwy3{q|0hhcP9{XnYy4osZ^veu6rFT?tWs}{p3tTXi;p&K(7 z>1W0|2!TKb)&I5RAW7j-u@E0s0qbJ>8uLijSMDPx{=5UZt-aH@dOG+Gz)Z|pnjQCK zq~z`;xhL+`l^|o2>e{WNx91d0Rb%%+K_xHdwpf6+I{iWyZ++cL*~$4g4bWkdP~U7Q7gALneQf zKQ1ySFH?t%G%eYV`1`9S%nFbZy3%cD2Qd!KB@*a%8U=cO4P*ia(Owrv#F8w~pm6ha z`A@?lOqln)*x%Aj?nU1W-ZIEe;6xZjHc1l2FtnKu^oG{3Xg7Q-1mw2;l|Jl>w=r{PWyvGYmi7ooZp#KYKJ$~G=6i%k2o6}vS=C)$OGxTrv@Rw_}z zzD;Gqqa`0~T2%)e?D-cFeDrvGo78UTtPnD6p+@N61psODbt86F++h!Sk3K*=aUkcJBczb zWZ6#$r<>^n<~y0ga5Ngd9qeQb4_YId(RX&oc}6tAM2WzSQsaUH`so|AZcHcX0p?64 zdt}Z-O5J(CT1-3rF^?Y^PrxksK0hr)4QIe2f7cO#=DxYZcxmGHy8M|~`0^4_F-pU$ zf~9z=i=}Iw^&^M!QGX=`>xg5Vn1`S%Nzu+9}gB_h-O92FuVV!47>ZR^-pC@=A;h^VBJNMA%Nhmf7jXotJ3 z6;^OiZNwwbYCBhr2#wA0nbeVhE^2W%PrEZD?YXNWeUod%c@pT%Q+}*wqu;8icodJ9 zx>p>{C;5TBgl@YAup+Q@=;R8x=8;b%YTgg(15AEw2mkAYfto}`7$VIMPo%v<_O>?! z3-+G4bD7n<8qCvTt-7J|?X>8vo92`-f*OE15i(YAAd_-lomgAR(3<*gZOf&(cPkhh za-1B|v}g86dNvfSe5ePPqZ?r-ChMPA;_vwR5^#e+hV}pNen-+@o&|yN&Yl~8;OLQ| zHjY{3f#;E_Lj>71GCDJOws*WmI0-`VyZMY@ymLg!eYgrvTr!%d6&DkZhB_jW-R2j@ zXl~^L2JI#@&~kVG8oL)A5`m}CbCvsc4Gf5JyJwfK;~3Cc{SC#x9ZmIIfrKW#1HC!O z?dh)!OwR!mPdGQTDn610LR%Ofa+efqRaEcNwd%4zW!GSwyOW?csy)xv}{(Z#;F9VK^gIh~mop`s%gvtj>;%e+F$O=w< zz@i}2KFKoR!_yX2+O1QI#L4%D+ux^ux!_=-KGu8k(rQObsQcZc>sh`7cA+}k21rRJ zd+b*eB-{z7%gJJ)1Z&`fAGTx+#z!hF{47Sq8^3{Ghp!S7pW4hu6v$E#a19&co1U8B z$7l>1uSM$+bBHg;kt2dpJ;L5saa`Ht@V|WyjIjmH9L#2wG}3$y=N}nh*wD~VJLHB>9gaedV7fZwWuY!q>&A$M{-?^G0oUxQHpu zn8GHiCIGK{yMYGjO-~)=MNK^_=s#R!_uQ2S)Rr6TO@>8AYl{G>FdYFw3_Tz~uN1Tg zbjI2(*C2G=P7qCnSZ!~C0k2GFa^N7EfTH*RG%4SaQlYHR{!03-hXcWWySdw+*?RCx zI;D8*<=BHp$%@u&5JdmCWd1Oz`swx+*Bf@6Zr#5 zgNo{LFz))ZfWT8Pb#D=(xfDjHtnOnO#Eir5??+b%H?W9>1Gm{tVsT&cb$MvqW_SL@ryJ6jh-M zFti$11Z@lxn@k12VStc@tLoQ2owy6%tZwhJ7%*#Rj*y;ZG$DxYODRkF#D-;_QfmsW zfYjk)_~>yg;fZ%gg_KIag52hq1y#qNkElVin)NWyUPPa1@@^2?{p`jND5v~C{4wtp zWUi$s6o)!7{__+i-@!FU(7u}_y0$eoq=L6BTJrtpVKSf(Cs42_%c#5nHLrJ4Tnk~Q zI;6E^50EfpTHrY!1O=8Em+9hew@vRQGIU$=cU10x>W@9Qd+yI?Vt*Xt{?}i(scbNL z0l2O(QbkRIm%0C|{us9@cNP_rcx?fQL9uWzbABuSr>X|Ncwz<<9u_U399{&=xwiQh z)Xlcx81>y?$IR{_%WzBNfY%QqZ>mfxjzWzq9Ic2uN$otyM*2mbs3EV(*O7niBOL*oC!IoHl-?>QC<{T3WL4wfDm`I93p#;&0 zSmuFz;VINq&^mVf@$XUx^txRIBD+Bx&Z{wGqP5MiF_ApakqkeRth!yVT`yZRfqQ5V zNsW&b6L95GV6NXlY9!L81UmDq1~STeT1DId^@K76$-AIrY^ zo=|v4X?;Y5?mLN#$JbH^`%m={2O+!fS}_J)R}I4S z_eg}1M6!8e>>fj_3=nUv3Ld`wS5&dnS8_|ce9cOJ^{d}GvSjvhDw|auZ1$RV6F#(| zuu5M%sDeF0h>rJGi#Ix9B-v~=vA`mLC#3D9#-{<{NzSf;lX>$gyQJ2q!%B>77>(vH zKSj4Ed&Ma{Ls^JbCz&X^j*yC&d%EN@lHy}{mLeuZTVL8Fta_-e?vhFIvDjP1_gr1O zMnc<78>?)YAZy1!o~El+FFoye|42bl1#+hUFE6=;!V68&|6R+7X1$7`$AsUTQaXxc zi_?F`6|Wu}*7{(Nr6>aaguKh^^${e0}%(u|tek)J8p8k{^A{h-7W>3UUhA5}vs%1y2 z^O-s3xS~{Zq|8vS2QloHoTbRb>8vvBk6Gl??D*>){&XO{@OCtmZ}c$i%L^p^YbQoy z*BY!@?Mue^h7Dmt!>=i#;&@^J(&etw1utRFX>Om}q7!CVaVJSOkfJw`oE{Q)Q<#oT zwU0)0^5b=Oy8`jWE>rmTHlpASkG3@(2bgzkG%Nv1@SBLu9?s8So(7b2^*=BPFz(Mb z-17M60v^8TetEoKT)yRLM44X0Uq^e4>pI;>a%3v(La9ULy!0`ZEX-Su-FateQA3-s zBVB_Yeu4FIi$P+14Pv#6dziW|f8@hr(%dC#bX*F>pf7bJy6Nrdyff|jVoO<0;LS-4 z8AFLmvcZr|gaoaFl;21y66bpf;_v$5la5tTQIpp(HYy;p^RqZ7pq!ikAPB6aR_tZE zVGTX-3rNaJqCEhh+~)-$qXODJag$!GRy*>?s{FL7@~-`z1_gY}j#F8jgerxfLvrc1 z)&SV+e8k09**wSe!t$}Xl%xdGafxQ@g|nbWS)GEFc)`-#Fdo8RD{3ZOJ)Y%C*OK)I zW`=)E%>EB%u%w`|rMOi|$BWZD=l8-mO z=9R*eh!1dEja7J|A?o1FoNxQ_6$g(TUo=a}9tVHLYgKDk$zEBJ#Y(MN=_-5hny-O$ z(9MZex|7H&79ICLa?e|DxW;)MY&bFlWFC1W|+sN=Z- za~u94Y)+Q&?!gF60At43>|x(@c*9A-_rf)PwzYew`t^w@V>0=KlPbpUFro;T>J#9_> zer#dyKD8+-SJ7t(9|Xl@1Z=fCWjWQZrKPv&i`o;Es1&6K^FjmFh0|X2Gjo%|bp=Al>|1otAT!JjomM+`2ZL`a^%`V%v zZQHipW!tuGbLzf%v)25B%#)F4MV#3C+XmyNEUN1-I?qRTiO#6u>cz+BJ1g-{kh_`r z36sD5q8@z?k0`hC&%(dzM`jJYnGUIUWUY$Q-@eEDKd7)@LxX;a4i;Ha{PL%Gw}y{c z4-mrIM@QeDnKg9DWZx<9IVkxBa(H)%4n`E}S?0D(0c6#k0#fe>UQe<}sp{X^JLntR z_=&xj2N7u+7Om0mkUU3P!F@}FfzVlU7hGDGdtUjCa9)bFj1~FXOLS9~c;wdIjW`~0 zw!#c4PfXqDf8O0Rkf9!m4xw*Wz4oa|yj7P0k0FIL5VJMhBMcoCt9q|gl9I~UiqsfW z^T0}}^piwiYX-}FXjDIAy)mGT_X9$7s%KH$?_@pgQ1+%y%VFXFFsefhLv@E5W?VV3m0TO(?GH3N@Lm(918jC{RjBVRG77Bog_TpkEQEHZ@BUK{&+zwF`gYtA>JR76z#THIls)y0(5vE){buASvc)M8 z_YO;zD-7hZ;_l})<|!cB3(a_qpdez55TlcWI4nQbbxsauL$7|GL6-%HBdmKwYL2y5 z#_(G1X8ht+${V`ui9ex#sK`0gQd#@uFvI#A(Vl25n9qz`5^(j+tm&iZX%wGPit;nK zwHfPq=$~0Tj%8}>e>p21{~rSk5$Kd^v=dagi3e*oZKN9-{{Yd6A*0f-3!W7=&W|@P z$Q*oDjF0=JC@Esp0a5{G#mNOF&;Ln0Ci1d-Ngcm-JM2$l}oLX$)r$=jAZKi4bt)kHGEeR}~OJJ;dA zmEkrdq6_d9;4SOJ)%IB&KBVADE3cx6$_LdpBM^(rJu6a^Hb|Dz265W2)b~S;G$F7F zs$vm=dO4dAG=O>tv}b3)BgXl`ZgfcXuH=NRa7rS(lV!Mir#+bJX0_zvd$V5@eKzV# z*r@A?%$IbB22c&gf&#yx;#SAsShj1e*fUxD9iCjb%?Y|0SUc|K(hfni8RkY7D>!diJ-xSmUsFaTeDOut90ORr>O`9sCSrR{0jB0scZ(+}{5$8CL82u|? zhtHc#%5H0-XsCTH(M9@ttPayt zJEW=^{yL!h4^1@8YwUYsylDLH7q# z_H4BF1;I1rj2_*;>-BD-08sIvuEPrqwmEBL zohE5FlWtX#?2Yoz4+LJv4% z33VEIX3GzFAH6=t*YMOhKlWcZLEswy$-9_E2Lze?-cy~VrIMuUme86wshe~=PD$g< zBoJyM@vyUDdm#MB-L2Dvpoix>s&Rl=Hl{X^Wh{SY^7!7_<`Uxro7}+c;=d5qm<30Y zX^$O+G(}ENe_0k|CNMeEC-q?(Zf2k1q~gm12We-DE=PD#I)wx3z&MIY#J%o;c)3z( zM*U|1fC~;UDS!448csNnm~lrg0_PcbtkJBiuYW?6f5@ho1eDR70l?-7Vt*Bm!|Y+X ziafGUx?UR9?`|^nqbF_ulG)Uw>l$vZDY6cwRc&w#A8d?z7k2q0u&axPi!8kX^l?$dyDonkSr24NBIo@j3?^( ze;{lJ*dvs%YufTgn%C6u6gbl#_H*BAR!eybf;}lFfVvU}p80Yb^8s@yq=RIHjmDRP zyO4kl;t)P|ffyX4Ka2Y$pbICh>LZZ6hkC3r9@*FMI?Ij^WIV9@rJ~SrU>=C70mK|} zQbyDrs-7KTje*VUNkVz=FLRWIFCb+ws;LdHc^V^UK~kxVU38IAD8+uA7Gh-u%!*{b z7W=DWZx%77|MZwB0pL0Km7yLCo)4iLche9Apm*b)z`UZc0X5s0VL1*JGv32V z2uG6){*pc{tZmBC_$}o8|;J(+C)d7x0879h3{-Rd+huGOSwO;TXU1fq60Zd2!M{L=4Hf8>K# z(>V6UcUj<(s+4)*-52VOQYGL%3)q&k@EZNEwej z<7Z2b0F*{NQ1#10`wXAj=dKB{@A(ON@snRHCQs$Vy_cQI__tJs|I3jx$3p;m4eJDs zDLVE7QA)0frHdXR+=%7IvT8O+{--!}MI!=JTVsz}nc>)EA;r=Zs);*1{FV^&7c9dL zgeS>qNB5Kj|Dq<8JpbtIoLL!{T5RqIcIB`64x(^CJd{LYh1Fob2)maGF>u$y3&XLxV8e z?$)R*e#gzAL~cRwe%stAsGQP#bQQ2=$FQC&k)m7<_mJ;YXfzA^S*-MY!Zq7n0b*>%{`X(FdoS7u6Ng zqsO9eXY5~1;#5?GY=-;Pf=7Yh9y-x=7XZkixrIqyw6wx+KK`MYncYU+lgRkU$O*CP zJ>2oOU~FUmbF^zii}oSjX_Wci4`+~4h%H7UB$u%JlQ9LO6rli$!Yh`Qc@M-w|Ht3* zJl`46`*9&s!wHrOtjE^($KR=!qI$tIc1R__dIs*Y=g$L~;>SEzR(-I-pih^H5B(&E zE|w)RM;-*Et+O-slNoCm0G7A|U**-vMSEQN*x*TAT?C|+kMJo($T_4+V`>8M!36fD zH@HPzWDOq<{`R+?0(P4hhw{lO@nvU zY`tvap0HH*MwS*@VvX}fmb0J~2@RQh>4)2l=bw$ln8b&T8p-i&1agFw2{EOhMWow=d z=a)9K0aKFiDC!_G6kyjn?G#Os@?of(oTAiV0+C~yZze~|fDo@iAMNyY9Or)8ZjUxt z5xCqb6i~#gnvG4BBDU0?_Z`1py&y1+kf01UTzxRgk$Sbhtx?*S3jyNHdkR4Q+=xF3 zxTBobZj;PL1R`8RSmHWSfiJO4TE4uBRGw1@#esJoDW$1dS1V@P(a83=ykt&4<<@KC?v`upK0B2U z71bSDph7ps^s(GJ#Oq3*}-Arw$SYraQ?ji@K}+AMW9ez=1= z*k?Y_(MH%#3=)`e4&Q+G)3OkC6wD$vTMWnKg4F;hpm{_3gdrHD?jhG2O&ksB0G+Yy zK43bu=)Os5av`q;L>XUZOn55Frw4UG7( zYw4~m1+;3Ev>G%)*=~%}<1;0n#V5-q6*tGW2_Ga{emeDe#(8~v(nkeI{7WysJ|W-A z*dWKr_%FBqnKVD26)i}8u!Dx?P<(CkX*?DmQEkCo^@iEC+%!+h_WqV#^p{KbUnqqs z#!j4|(;|)Yv!`H0ez?eh2M>mkDp)yn$@AI6;>b2ZykFT=lC-2}CK@NMha0}UDO^>h z@pH9V;4Xh?$_-b|6Y)h1P59~`yKoWsMYciDBp+TA`#qbpeT(h)J{On>e6}LWCq3wn zeWrLeTdo7)D|Tj3ila=yTTrS)xxpo=+gdTGD-jq$BGkQ9-7JTIG9C*d4gbx}-d(pE zdt7mRCNZ<<=BN40f@xLrA+~aXrWxUq1&T`IF%i!>c!>?u6`=&2 zf|)`3prc4WA_y49`C4mAu`0*t$~;JYIhFA?p&#|JyL!EOpV#RY--I@ ziPaKI^T#_q@Mm=>yt)$PO-^JS1-D?gQ=*K6x%Bh}lCk5B( z6g_(>SnRVnE#J;XLHtm;(Ww7(|axm3{eL$N>35gvm%YyhjC|ip;;!egpZOtt+bY65#t8qKx4f6 z5&nqR+ov%{tweA(Jhab03iabVPx#$#3F5c>T~GS%d0x`Jd*l^~S~58U#I# zorygJrOtK)%le2X;~t7ee|Rdac=u`~y%?C_uASD47m*SOE`M|IRDz6k_WeIakKncz{uHIdSS%a~dzfK8eOmbsiZ59-W=Xyg2Ky zI)(NUJ~$z!H$6yT67?d4KjT}-fMQHvi#EU_?@Gz8BD4XP6Ej*x+Jj<=kMF?j$9`3R zxYw53YR%`p_3FhHAHlgiMZO$(GsYZRMgk4L&pl3Mz2Xx%VsOTM$OX#X;C*C_D3X{+!BW~bcGK1LyCNH_NT;U_L zB=%JfOe7UXtVShb#Ba$eXdARYaoaiAbp#I=UidHz^VY4>)@cF&CTJkCuZtD*=%9YY z?yx%ZA65|AAOHYheT~Bc01&0VIQDvt1LihwjUP%v#yO=;pYx|FR4XOyJc7AOOGb*F?QC4baC1p4b)nN z5#?+bt3XP+q38*5G^yu%g|*v8L5dF9o~^cBENc}mWs$se=!61mH4Ge)GDyn~i6q@7 z@xRN=>JRN#9-v418y8f)`vfV|iSUwVr8vzio>CGFjF-<5$m>0w$-EB5IWG1xvOX~xn%VN6|4?Gyomg!keA!Rq8*F;Drg!>zW}wbcmLnI}%Au=QQY!h%&bmtR! z)`=p=>S+S-in_z|#2^J5LuJQO(8h1Hu?Zt@cvAsZtpYtAUC<4$Fq8lXWO2oz)KnFj zcBG0eFo1;IDr|ncbAjSUoC>`7cXQ7gwbx4Y3xilajrJu_pjm=qc$?iUU@e6L{f@4Sl2x5(N&~w<(ibm!PF)0Z$6fD)m#dk4 zsy_XZIB}YL*cyg$3Qsh}CXNV&kv)&JP$!`jE6CT0(i_pON4*S#$T^#)cmQPIC{~YZ zxZP>dw?{A+PI;==2Vme8OBJ-PS87)C$dFxNQvr11{z}$4{VF$tBj(Sm?1g6>#DOA+ z)?fTw*T`$UTi`IyxhhSFDt}h)+5nfzh(P*n=;GmN2w|FKPY5d2z+H&&gvjegCF<-l zbzJHypw8_QvS5)H2#MSB-~T|8o&zr3D7T1?Z;3Vy$>(pXS;CGewFVfS5yhkf&m2C@ zK%z(+A5pxdUQVqzWM97wy@hv)tc_PcJBal#V+`6eH18JxTxTUC+#2LfADfyv< zD|S+{jSK<@ipm(5s6BspJyg&j9}zoaz{g5{uCq|ZkZnOLjYYtKq5>#us7~%);Y&!? zQo;{^QK|pVsUR6d0^XW=a8D6>IFux&p!VszHMT!m*K>tiecIEVLnumy;@DW?HG)+$ zpw-*mwhH-n%tUh+d#r_~pRQ6+ElP*4H3rxH(uJ$=XC`W$;rbMm(?=}C4^akjj^oka zdR@fDpW?n&$3?Cy)eCRovi#4&AU@Z=Fye+>b>@8^bSK&C{%Ep~BF=+edk@;*^8Tnt zzS0yeGsD~VNvhBO0J)1y(iE<4{{c#YlrW=Ym0lFcY`aYCK!KXqtFhGnvNz*SCDMw+!hxCOENYSnc73_z2|0A5-T9?2y=&?6`=CQlT-8{_1?z6 zG9vHDYpFKThK)7MU-i}#nC#|bRSGJ{PF=kjAM46`S+6&)L~Zk z*gtAn5(_(rKo>+QK5m_`IReluwssqC2L?TH)H7_>+VHtavjiMrUwZxwZZCV(ao9rB z{4CWeOZs+?Wes#pQ^D*=N@Qk^j?=lI&(V`=K>ep&s7Ug|_@x~G;s_E=WOd`kbGF2U zr!u!b8QkmdBJ{;_w;YT*)kGs6k6!OR3iUN_q}jNIL<@4)PL^FE)K$W>#~4TnA02Jl z)MBuI>KHj+1uf!lm!hyZKSHU`Fc52%a7r})VS~8NEKHji#S$I2afBFv=St@TWTU(% ziK`Ag>dq)T4r9km3@8*05^%y{08Sc^f74$CWO##cmz80V91$^OP@O3u!GDc5WB=VKHy`n$dv`#>f5f~I9wpFtY$A} zoAd}*(skz9MSEJm4ZUK5^;H^s^3A7jB*WaYx``RN-IC<}g%^HM2{@svAck7|)sZ!z z$IH(H!et-p1LnQ3}9atb-ifV=jYfi!*1jPA+2ITUv8FXx{CBNsw!T4N0bh0 zyaOqE4_YR^THKNK2^oGxdf#2jKczzIa}loHg(0cmTs%uRg?H=mL9G{IJ+++W2r2?= zKRI(#2ntB*%vRn4ByPQkT6qdF85wYoc0|&FAC^Ha9*0cNA#WX!_B&DuP-)6uLq*B^ z<&F_(F>j^l zYa<@b^)Q9kDPa*bRpunwBEjS(LE0|lEJX-l`Lz4-Omb|0IH&WoJ|w&a7pxftF-c~B z)jBRD^qE@3q>ix%58=H+$i>Ej5Z*{DUUAj^wts0jC{~vK32jX5@C=_TMhCqCZ-8KI zUEda=N?(T}NP?%@tvcfy0nBwwxg>xWcZ|nIggEOymMaVN&WouMp-VD3VZe7vPeG1*%yl)wt;6Cw{5>jALrEOdbsd)XYoh+oFnsxdF+s1|-UfqVTDJ zKRnDisAI9i$o}@#u+G4RYWs*w1`IJ{|l^jxqLlel%qwGK#Q zJi9x6-L=XD5(BO7s}-D^S4Fz>sTtSfP2~aDfxTztKYOSHJP?=pA?DB9!|PvSf`SbD za51k!sF76XSgNqfnM|-amYRb!mK3Cv)EODlWs=3G=S}&kqJT0)9pg+0>=B1`SXdUX zUB`6k1MzS<#}A)rUQbbVkDsrrDfRn)3@Vr4?MF$(B_YP`tfeUY41BA%#J!!-IHKx@aoSW#mtU`l3M};=q~;2+eI)#vyv(H<1cWOkR`QFPV(<1iY{Q zDE(%@U>1F2dP$oPDg{Llq}*EE!ZOn7!dF9+aiBAbu*yOYN=tP9+`fGH@d_#7P8zJS z5>w>phJ_fSEbs0jkg#bDS7^eeLHfJH^*!R{+X^k2+Q(tG$JJi8Iip5V%CII) z7BCCXa9Q)uC0c+nlaNl1#xR^%=lT{q!{|4>dEGrd@) zJ$=>b2vv+oyXy>r&Kgn8!>%OnX|=#VQV0k-i@*Zi9HToLEO9yzCTU}r$@W$n|G+}e z(Y%Ry%npZjc9-jBROf+%nnfSKf=s(J38xv3t7N-toMK&X2)Pg3WH%X;cpm8E3FYp;XnY>LPSFu%PrS)J{XTYtmjxB)JVM0wNh75 zOVXmu^fq!tM)G4B-*uA7aEfY(zeYg(iK!f<^r7}qaXAzJXe}rBW3Gh`PonkSh;&(4PKVMb*uyLMPLA$c65@^EIG&AX(3u( z3!6-!91-_Cg*Of1B^J!e(qK27vaMdxp*t*D3$|$L`}92(Sa-Q;?0H>>gzedI2o3z6 z!5p{sEXViHjflJJ^R~e>K}g;Tk;D3^s9z3%&#Q6Y+>StB0d6-5Tz}|Iizz;_|Ej^? z=cVXh%Nxiubl2J^`|_4{dr@jYuC!+ZMooBE&EC&Oa^{ox0)IpKceFGJhRqcBeDTH!?@DL~{Epon_#LVC!6XnS(1bIdjQdd;igSjmafbU+Ofk z7B$_oMJgksE3Unqwz&@|2H9@Djx=A&<{vv{rbCJ&-wYmeuU1Ua6^R(fu)}3AN2-OH zw*ewyAD2L12jbAD#9k5q-}pW8AIoVI4!}=TMQs)52s)LoFD6KeJ=42XafKsu=xcyfwZUr@i2nYN%54>6n8)vh@q6yv%EOxXb)47a_{pvy)`iZbC^&4o$vy+(n_R z8rp10G@zDSA>4{Q+c&n&=GU<-i6pL2GRQ_KtJ@yj4cHah(-g_@llirlP}T^*?P7}1 zi_gxoi5x~&krUTw^QQaQYG1yn2A|Y}PcZl$A#!VBSD(g-?ho8SDvlLKuWsdv- z#5E3mVinx|b(Rf{WtsoZq%}v=k0MYm;FRbch$%WrAjijEfp+W4XIPLWw)I5nEvDB7 zHj@89KAyL2>E{bkUYA9T(p5q?7uo@SM=b_2pV9EoY=+-ArAu0eae+9eRfn-f$YU0S zCx@(md6f1EGz=+|r#n}=(=)X&Nn?7^t8SXL)(gOnG2Tq5BX0AtRWLXVNi#ogP{#}B z|9K>;)isWD+Dpia)F7#hQEoQ9D{G(DdqtABql%DdA|GZ}1`tH*pg;?Iri+X*(KsMCe9bJT?ncW3@+`UNRoNawxkd zUwV5^yq@9O{3hSVOaIl?EeYfZx&=}Cs(`9lWDd=1$qARW-8+3?+x#P6j79LH5zM<= zhJ#Gsp`p$WyMU-o`0J!!)%lPVJB>IBCm4WA$npejnL%0@cT3PS!jPKd*Da^OB$53- zd;Z{&rutoh{qYW-qE5qE*1nZuDI>%)5L#GVJI8?)ExU6Nt9;k=uE+zyB61eC!-Oxi zhQFl=mPO>_GB>&2t^PNLM00AVV-gl+A-qPNtNhSL2D$bA&)LQp-Bf<*6ld2gk!zC% zT$!8g{cWqMqN5j>r$N)=<5LGTw(;Tbi|qsE{QXY`u5v6(8~(DExKs3*$R84Ur@Jr} zW>W!V&p~iQh4=#>D1eu5C;~VUyzalUf(axQK@wxKz=0{|5ycwX0{fT-B>NpE)Dclp z38T!qceM9HmTsVooI%@!13Bm<*=LaKm7JZpr+{UEaGAMf3+ls3B%D_cQat3xqt(`s zoITH-74wQOpSY-weOXdGL2rLEdJ;;`REH8~EAvq!Un&4UB2?!Cp6J9@=;%epO?qO) zw4Z%(=+Zxgbg4$^IV~Vk(sHOgWObwg0zU~h1`y*=F~ksVau8QHmjl}VYmxrt#r@(X zwXleKG0-%kHZNsyIbltz`eKF#eE>++;(izg31jFm1p* zZLrkbh{1h-w7ZA)j5RDI=cu)jul3NgHFaJJUH{PZU?x-4s6+%{vr;2r1t82U)&09S z4S7*5-`7B^9I=^~&o2R-%Z^jju(N1RFh)WEGXpo))a};_lTOp)+@h%M2_dvyHbH#s zJwkSZ(@xn0yBchWy6gmrkgSTxvtcDcMo|`DSTp12h=TZ?75|ZHc`H(_FrMQ85pTl> zD3uhuzbSF843+EV?nUTQ#XW7m?grXhKPx!<~7)HaL@h~v{SPTx2; zEHJ%X7gv0?%kb6CqAYIo6cHP0H&mbKQ=ik;hcS`1MT<9Wt{pG}E(j}$SSmU@$hUKP zhe6`yg#y8cw2f9d6=rlyVUslE{|2=r*#C9-!}0&}Z+=Ug9;O5lH3%YL7S~f??L|sxteo$y}t+w#& z8#fe&fARQ(d30kBx>qwv!H&2ezoBiF{6`^^`7k}2lSTT`?L}9fem0v9hc=tFbW%3{ z;{@<^%|#$pq!Ho~y8s=Jiz1|!0S&YI_5`rAoO9jj4JipxTpa))hTd1Ii>R`u>prEM zb1}F1qhrbLQSexqZs=-c zvb3}BJv%SO;WPQD+iKuq(PmIenVe}+&l5@HVp}`8`mh^$M-vG_V2tVNzp;CPGs(Hdod(yDrH?!lyfFu0Fj* zLN<2aocM+U zU{0guZaEs~U24sxE)o1ta_ZS5$v(@tqXOlUfn=6e78(NIyfC@G4p6cH7)j0YFmbzC z6Y=Mcq5*$^Wr7&x^%)T$L_xrwdW;qQpz`VYam*8}leOV5v%85eYvhMhPwP;ob!&-9v2JwEF;Tjw3%t~ zz9xJgQvRef*twHw$0}v8;QU9f0QyCyN^B5@u|dHof)K?N)MBdol?co00k~Kvj4^uD zx^Zja5$Bq}Zt0w0tB7`l8q0LOS(UmlZNixi;lf=2-8Zu+W$COd@VXg3_4e;c(*EJe24-EcqDGw4i_*GDdWuZ2 z;9Nz2_PWYPCu@4s{F$RBkBgi#eoEoHnt*C~`{VjFj^llFR0yfEK@z^*UFjQZdRj_U z4kQt7k}YV-FLKF0Os)YllAaKf&|C)sW+!qS6Z7#RGALex0bV7>5AR7dk&ybzbhVtG z?ILW9D8=zx;eLewy0d2fBnv?q7$$SMhURLea8VVc*%DCq_(f}EFW5&=mv@u;UD1W%V7BX3v^Z4AaU|XR503*Vw9T_3O zk$$uFGD1DB{!&rJS^xk!9VpfQ3bvG;&la+t8&?yzh)R)Toao5wq}2}fY9S8V8VKV% zok5cdwJ%n@Np;3TRdeaTt&SGEn$O11x-Jf!qAv>?7F{6M#L|0owl%<9Q%l{HEy8Sd z=ZmJjvTzSq<$-le6~&^LV1Zh<$5gyS-~FHWGQC7|%albo@2=pp19kygsQxQ(F8~7W ztoV9al>;<}IxrkK(+kQ?C6#7b|NWR5XwulPSKLs;KE;y+z}0CSR%^kjmgxM?T}`fv zQs^gnHEgY;wm|#7jx0lwvyZ+rPp}NfKx*g+d|_?vgtlB>2Q|y8MNO>;K4+omXT}v_&4ex|O|H^p$ zHXh%=QKz^b+12>{A^f~E;CsXOae8p}zUn;66nvye+bWQXFtH!YDmN+wFoEAB0U-no z>=<#fNQb(@+h^ZDx?9eO#B1_^Qx)a~ zOqs$sC*Ep^Up*Sk#(0GH8NdHV@?RYnpS|f+3XKt6Cy;VWnAYNq1>8L(o8MZG0s`Rg zN-k)e66-@Ga)^G#^g*KXhminAub3XRde5uT)GMqo;6#q6hvGF%K@a~twYgr%2`8ym4v~Zb699tf{d>rN#7|K0qznMC z8xcOEP=~J{%Vfuv6+YCU_V&dLt8lWceG#O$^L0LXyTpBe0=3K^cNixG5U6Pf4@v#j z5FePHzhaX!>6qK8*Epc3kM#_??jVKbFsguc~U zkVxT#hR?ux11RFzNIWkOGu_O&?)2n;1O57p9s+~7n-?qs{y*#ax5mE-C6h&nWf0(S zZY9`)g9Q~Sv{hLB&VUTmzLUcZWN>%Y0#^GhMaFfHH^{TvI!egfa9e$%*AOSu^tw0g zmD#|Y?wV3jb|m`Zl(zV?6Y$cFPdMr5m?tC`TF?!;(_XWUD2t)r6p_^yU2#^)f3+RP z(<}bbY*mZcFZzRG1NUXD5v`@*W~VrvK&51(^T95}<>4u1aO*TBHJ0mut5XimI|=wC zmy5pWmgKDf(ueh@96+k{0b&GEQb|Rs9)bwFfn`ky0znYSGph_RQ!P1lFnEF+8zz7< z8V(=iy?G`21{_$U8b5XJbkh&tW+(oz4XhE`1i35I0L!10IIaEqruw_DC$X%c(Ko!& zeA8=7mO6*W1YVp~sBLn@if>&iaAIt}%StNGwhI`V^i50C;zD^g5!mCk$_$Cv^DAQ8 zI>O$4eWARUMmw`bxXEW)e5xt_Wc^oOkYALcloml%5M>ou4XMnEkeZAX>G@_vb$dRIf?0n5hr#^gBS?0)~eC)a3aV!;hfL)YBHU`KkX<#BI(m)fmQ zpIg()vfk()S)2YQ!+Tzb7c04eui$_U-F(EyY7DkCOp zBv3$!S_-0a#yCGF2n11JbIgp4B1{3Ryl#NoklTN(Ro{BXrhQ%Q&mZ2I%RHXut=nSy zcA0$rye+6aU{y9qycUBN4<{-5?iMiom~Lf3enSF6^wLBLMy!W*cUqba^>ZozW;oU> zTgIHOQ;Q>J491wlZ3zoV3p9;kNdO!U)HYrEdm|r@kUtzdb6`Ed$jM2EWt7rGQd|AXnx{!;FDfA`4@MGU_QJJS{7Qx%#`Du6C%aJ0#FrTenHYO9>3=X`@z z;>x4u^AQO{hZKxCdX*O0N;&J3b~J{X)6`^6O_Q6Q`W~0yG%R|bkXdb?be!}r^Z!B>f0;- zOiyTYkOx2ht*bmpof7`+f_CS8tUP|mf)uDjdmajj=EgX>RJ;E3ufg{PsdhLLq1OO_ z<;(~G4C4guS0*z|eA)v6V>PvkK9Z+F z9IIGSSUyaF&Oy`PJAT+5IbR>`cJ|+`MLPg5ZRN?_683lx0hRv!@N?CIuKmAWKp`fP zNV8zVJ|YH$1f^fUA(ebNOCA*UWs8!IyT$vGhs$NW%Y~GWr=xstl+K#R?_{i5bk@uz zf;DhynDWDN0WwXRxOM<1+#({|o??DVr-E&XESX73JD{XZX50i==L|+LN_*=B@Mpd3 zou_u$^{1`0Rx2qV#TY+HZJ0`QJ}Ewo@j+vdtCk$}Edr9lD_g!454U`PHlJsu0hh<)K_rj7Q zebd7Bw?}sebgat+(Gl$1V&9Rm?AQjoOCN-++O>1i3HS1Q;{(rqRq|ME<;_yVRFm;2 zN`<88_J=EmwBuKo94AfuiTHHoAt!v&_*&w|vea9W9yjT_z@Samp;!Rr&7J_>`#Ckc za0+%>+XA!E6F=Hk2P((yR>ujY-yx@{MHbAhtU`AK_e!xLkw_XXu0=uL>L`JD5Ja`A zuFAQJOSx+Bv1SGU!#M&*Vznqrq7Jtn&WEl8ZYhf8Im}4d^XCS)exZ*}wl7FvuN0OT zEe+bHls~Ub|FUL5$$VAO&3IH&X<<*1iFR`agVS_giu&uu z5;@iKfX2KdGj4KZekJqZbVB4AYc}Fo>_g#ak{SQRETEzp_FB)TM!@Fp6l0PM0P|LS zwF0IHGe{nUGE2E6iRqkBL0Mi(-LS;B@U!v8H`1)yz@duo9IWl?-$VWr8GcsYUj4d` zi7VUKDvo*0RbIR7IAIBgWL9G^z}+HZs70k%tTlf51fR+d%MHa{g5?+291D`iIBgk% zX7KfdCQE)YDARmna$3=u$|9eE>t2nrm{1>Dp!um#ker#%01esM zQtfItqn9|it*_^|!V%6*2^1n=ORKxNrB%O0It6-yGXF-R4_O7Gr0k5iah|#`0wM$y zArKC;ayYn4fyx41*)G5@v5u8Zj&n(C@rUjV<-9@J8yM+jLSy(;lM{|TW7DuLFTI;% z)nOl+dVJRqQNu*aTkHc(@#<=AOVHKbqL!}qMMTxTw83#?0!_)F@FFGWq7M5|pg<$C z>9!+((Q(zgMg5EJ10xcz`%5KXfJ$&eco!s5S9X{qhnj}%%VlZ1-S~-0-To|}5U@<- zzoCXO#Q%VO*UA{h5s|W}>7a_ypo%a$XJy^9cLWpS2jTT-(@t$J-q9-iaXB1#hVJNy zMx>qr+M=*A;TN{$`iNqmz^%mB5<@N5+bqK^e099Y@uiwZL~VvqHV(BC+AVX-9znN) zN7zc*73L=eh7W>Bj%e*EMw54V9;)g|Ipj-`s~5_~sN+ei8g!vgVFW9bR$(EEx1lOH zR{0sX+{pCq^40-Jo%Ue$@nq`JT}i5qwDyH%@UWmHMpO(nlyMnTf&d}>0vNC?OQ)M5 zwy0FDuauKyD*^|qTie(aj>a@teNGZTho@pDuH0ZlOG4mA*VGjEg5wa-pQ52Sj+@t$NO_gF{IcjdjGf7zu{dm#nTqo06$x zrnifj=6mGw9|D)bzmjsZ^8^y3w7Rkzvn=-q}grKC0eQ^NogrSr4wJT%W0eJ;@5BLr&C;=9_e7)wJiAV#5`c& z16nl!crBJ}Sw8DfJ$xXErFhx!dD%0P%=q>JUPASfe}2+RS+L38$vk6pUkVjOZ_Ag@2?e|@;!G4Si5>@^W0G>c$zbGioAUIo{4^037P>h=v z$w*|O07MX4*?NH$fXx^H06C++dhFX7=={~ce4iKW?lSZ3<7#_%==};q8{e?XlzI|i zDiAer3v5CW7>2VTOxxhxwBMDzlXh7?DKJl_yt22)`&??*ugi@$G{5Pt6ZPw_N!Gm` z&g58;FCci1^ma>)i``I-2WB(vL7CW3`H$x>eU2I3XJj$Or%* z@JU-B?1Uhs2#WFSs}!Y`S0yk)v8CWWJY50NPT00 zndt-i9vMCMJUBq(jy>*Ei0^v<&-VN15igOcsIzfMYn`6aFX#eHMN5OQ;4Cy4Btirb z;DJtDV7ke;;5CbObB09oO%JQn`r{n$^>q#B{o02F17G>;9#e^JL8)aGMYt@;j`-R} zehX&NGbE7J)hZg&9-{`9)$7)-?j^@rTe{jJ9JFZ$k_m|!9Rbe_CA_)Il)V>rfFO!m z=8`8G!7akO1@f+cFj!4YC~R;FBwMAlde5RoUO3qPmr@-LAsY|C01z4ANZVknq!FkH z5j=GzDxpzYb7fH|(m`HJ1poWBFv~AJakb0Fuepm&VrGpRbF~{Q3$px7VPw<&PVdUdWIebrr*-rV;xjG}k+5V^m z`ki>+Z?q5^oX}Hat&mp~BNto~vYF|6oNN&xmJ=qF5nCAq78(!)LIMbYi{Ld1t?sLV z1!N8Zp_${&=&MFbiPD@Jd3E-#lJAX$>-lqMHvTGak8?H|Ftr&HaIJ|t$=^`nN^4+0 z+wU#bWYc5u@RIy9lMT|yU5Tmyx@eyLX@QGa&*N7+TN8SCW7R!%F2a~v{na?tqq?x3 z3BZ%=j;&^dbbx-Kn|SQY>wDeurzt+#)hQm78A$->eY2zQhDc?Ei8vt}55NEb9q>w8 z=#0b}s0jJ^tN4rx+N7q1FapvBDB32ou2mo!cYoDHia8b!u^>EU(>f=WWze}c$#4{x z8OZLoiIo{s_Ij{bqio3`Ib|rzd||JLugQ*|)w~~4cf|TI4MNFBUhiV(VQi(av0QMN zr52kCfG9e07q6ze!cB#Eb<0&^2VHNjSg`bkJj{^+%TbyfQnJCY!+@F0x^q+^w<2(S zt$+ZG;2VH$xazN8j@E@jO*KSg#*03%L2%-j5mR97R2T?^1rUJ_wPjS{vkI~|0bK`p z5gQ?N%lg&GZp%H=_3ru0aGVzX*({qWp3Uv-@C)s6gP@VF*>yw zWSrL#%>8@GbzYkN1YVPgQ(N`nw{rl_@4$rM4$Z5su7oUVlW;aR?E47H{7h5$? z5E9Qq4vki!jwK9a#gz_pLr^3_VQ?B0WL=e^tQaB4gdV@VHEsTEce##d|F{wG#m;j8 zw%)PY0-2=Sy+Nu`sTx?kWt53nG~FX;qruqd5D^3nAp$rB2;5afQWQ%70y*5$B8+#c zo82in*>=}9Z_9t?b5DJ*avz`B3KHVY$H68U8c_WYe#dIHHS>+wk_cG&vRIS+ofIiFdUWCxL1)O6UdJZ zX#>R4&pE9bmDE5mEzR_NWz;jX-9fp%Y${gy_#qn)fB*nL`bOJY2G9@&X|))ZMorNX zwW_m#?}=8C=40K$pF!@mxH1B?B%(I=ElZ=1&+)V3cY0e!Ks1pU4I_8Xia z5`^fQy9ZgY#+t&m1wC_)1b3!~pbmWE?qgQ_${f5ssjt}yTK z&+}Gp^vM1T8DceSrS4={|7p=O!F@}saJ02B%-VL7sp zi4ltI=iG_}m&2o6_@)It)j$UT01O#HnrAf#EfXn$9ZPf3J53xJG6(XF-Qb0YJ~cb3 zc`>qfFO&zU%}s5j@DzD;c2Yb>wdA>MF=t##8z^fX<6y&>2Sb?kwYOK*v}}30epTgo zQ3dd9r@Qx%ERLK&#*eVc*lG`;J5AL4#1Y_6BYlZ)AxL7d0V@}VRh8YQAK4g@dk!HI z4&6p>l!sAnYk<4XkVqK{RyWSLqr*eQ60EIJ$MyIf zooE@k4^4+hQDCNz;baP=Llq@oMRQPf8AZDT$P!J6@T^-=?# zBt}f_yqA*nzjL8Xo)3yecgdq>v{K4%lCi*^YKgN(EVl2p z9F9xB{JS}J-|vER#`)E&17V-BU#Z-+{D{SA|j zIJd&nt-W&q;MSO^=ZTI^@G$(LrmHDv%vCyc7g1y%yXzab-U`*~1KD^BAdCpw8G?JN zF_`1UD;cdbI7r{!Db1?-Q|=BCJwppRD_2vvKq=INt#w*CEg&&V%ef@Bq$NjM8br8( zY4e)5eQOqo6j1E$|6eKw;))FED|$hAG33Lbo>ijYe8U_#TPKRBohKWw=FD!TuK|rz zf0UOwqLPX+f1WjaE(o9*QHWD&0hD9lxFDyiP$N*x!CD=cz{Af%EgIs+%b3ER=_Slz z5-}%dG4^F_UfQ-I-!ZU&f~e;Ez{90Uvy)k1Wf5ftGeH_6w|;{k@rSR6Y4TX*wIRU! zO&Q)0N%e#41nNQ-Wt3EnXgH0Hx)8^A_z&=tIW6_H_Y0wzC4`l!v|rZjrK9D=D?9)+ zUoOr5cJXla)OJa~kXHX?wnt;|0;oNcG7itV$2b6|8wLOj-j>f_9-`4)|F z9^+azpB zn;52l5#B-5O~I(^km=7+HUrYiiqGE2zf-BaI7C?q&9x zjijJDejh5WG@_%o@W|R~qee6!qoxop)1&V*Aw}d#pCwUQw9UK_k`R^1%bwo3VWnvN z_iIcgibakrrfdaxbLHQbSNl%8++ef-4M{@D6I>~KUFBGkP`ynFb$irH2kEdv%G98a z&I$bS+1;^I-7^|*WRbYSWrp1U6#_nUVcmzC43ABHnD(ZDo`D)v!uI0)?1cwWUXhMOh-4NBDlQf*-*&nj^1 zIZWGuf+XTT^o50CaOXYpKTFCJSRwpiV8m}wpdNyM9P;A-eCs-`=tRDJxwmOC?4 zx+<^z_uX$Xi%sy?vGk*i_{G*qqfH5Wn1GO+9;Ds|5ItKyDXW3KF*|32UzZu38neQe7JZAe8_jk1|&JS#&>& zoCZ3<_Bc}yipzO3L0=vEbu>_?o7-ZPQ(k5UV|b2ESRfTyE0kZBQC^?ne~ zWbyJGB~Helm!iWY!leN_A#rw(|4zN&D2VUeG9z`mJ20_g3T`+&*7&pf!G3hpDp}Yk z)Ige7v@jBow?A;S7!FS*3~XLPZS{-T9V}t?Tu2l9DODSOU4TKHZi=+%4+Q7 z25OKbg2S3{*W!J}yspP+GkN#do%UXwBl8A)=Y1ZF}q0NX@w5 z0H~B>SmW_L)<}Sp={zU27D{%AqrB{`^!`~0dWvZBnRY*(@p5_uQmjA?aZkz-_u$A} zF*Zpmob`ZdL$BuGEr8(B%PF+mX?V-@v(rYc^DszIgPbuD@$6ptXvEP0g#Y@(?GFsT zyib)6qU9ED-t0)m>hFc#@yl7!{6SE!45~^ZeVS|DzVjlfY5CiC43x<23%qs84b2kq zYkmzX&tVS%u1gHYFE*8*zlCF`vXnsKoSU95ztOvnU$goj`@;JB zPI>fvd=^D?4?PcJfb~^39yi>6xC@lp_mhFSN3@1e9<>T?RfBw|ACE zyTGG6QP?^UvljS`=`FQ z8E4pP-qbwIuD#`lm0D3HrC?28tftTt^TL<4A06*R!nSi(l4c8A>h{fXDuls5>z$%p zQldFJi|}akO|Q=izjlh_>dn|a#hcy10>!HtlKNH54ro0+4V!xe2!fEn<@Sg<2w=5? zgh@sh@_Sbh2{xb3`&|zUCuM|R3xU2;((6>t*fytWhT@Hfv&5R|LR&I|T@z8kWl&Hv zG`JcM?A+V7UQ;EF^nkLqT3Vk6Gmc7dyll87QOsZXN9Zute-JPVLULLS30n~f|1;P9 z31T_QUqd0IhNOy2XWb?4np;{)X({rNf$XFA^E5LMxI>1uSkQ+k@wUWw<|eqa(=Q&c zSUvcHx^c_rsGe;fl!7N47_L>+s37+fp-e$l+|IV?9n3BENOfm=HT>;nzx8@P-Xxmj z%_>h`{5x(|j4FP@xx`LZ*pdXu|JF_4MR|RPe!@L(y{-f1FqZImF+{-0cRmi9J?RVHuUPhf* z@$H(q1V%$iL^m|=A}B^$Y~|`h@9O@gKnuN(egm0>FbXUxi%C!dpnTt^%7_+%<20+N*I;+i z+6E&dO989Zt|^mBi1d#EU8t{ClL4>P=YVBm)x(-=f7acUWzB5UqYzQZ@80mr6RC{e0# z0007gL7s(fQ4+!wzjix&4vwgitwEVR|WygFZ7Uu3PDCzq4(E!+r+k{zPDcea&*)is3i`S9bxXpf4~TLUnZ$>%=ex z%ZwVi8%u2vT9Z&NK2IBMwXc)siF)&hl2tJcNCGCDppAgl& zy6OesAOvg6%RP`wyaCMkXFLR(VzU>2)I@f4gqFo`@9s}gRMlWYqUSo*5%rDV2ai3< zHp5>)5<}m`DbXf7 z)3OlnrLl%qj3>?f_VK*Vf7^=HkK~!#W!A>)ffWA=;{KaIB>NK3L6i5 z$QRS@-_j4=FAnO>dd0!PmuZI$OQWGvuQ22cag#LD8 ze-A|GeN$EYF!+$EByYS|jfLAZ@;*IFziSb5WWbF(1Ljvbi9Vgpr-hw7j{NjzAXbS* z&EXSSqk1oUeeaw$Jm=oD?xKWlpc^lhInXGiSeqtK&GnBrcICVY7P#l;suk&%6A&YI zV^3IYx5*fFsM=%;CZhaFK>z>)-vOSabV3xrO97C22!<@X7&98~srZmz>f0?ofaBRp zFkL_UqK8!tKygHGjd|h2JH<=>xwbbHpDTijOOqvR)HJrg0K~w1!V$0&UD8JhPhZVz z@)g~VbKSIUfoSvoc@01Mii-y0Nb@ZR;6;TtKMdubrt3^p_FwnC0xBWuX6-qaHku9t z8KJ^gJdZP&gld0mE7zO#U7S3Q%cd~fjxva~gVEY`uwbhZLRGlVyKGI35&)-Q&ni|} zaI-WVd8Cfm6Iq0iEMsa>T+Ly)qlTsZj3|?bK3Y&?JMon;%qQCE=pkT;3gE5^@3pBv zNo(oQ3x$^)!I#vK%BCdl67@sZGz0h)W!)pDJ8t%q%*Z_smW$sJgFuRyp20&?*1N8a zxoZ~Y^$sJtC|*!!lj#$h34(M^I;lJ^U#L1y_T0x5u#=OJ8FU)OmL)!ob`a+))!W-u z6SnB!i{f%NQxJiO`W>59KY%N`1Rr}kgKmN+9SsgT)-`HUo+og|T+85_bskU;unDbV zen$QBv(gdti&nz^O>K9QcIw$ecDu`gUCerVetzZ1VxVW&Qdxh+w4oAybuB-I3A$`- zSlB{##csl{e453{I;1hGm?;ywqSaTSn=OjBoc;tz`hD!!5IRdf(`uoV*x#yE(PP(S z8~~!OKVpPpvkU%UXz4=ACPLIt`{x;S8T06x>hH_DGo;C$(o5f1#_!QE(=@%_bcfae zrwaXoP@HRkVvF4I!E&)26Yvhhp+ZU9xn}t8G)~^nzq!e=J+z2-N6g&d_X6|HE+T`& zb+4{Q3#Da%^K5xIf#+E-up&X& z(>ajs^Vi7LKP-60)X4uVAr`;ym^IK|WSg|QuOcf~dH4lx)EJ}d?EWzPtw&#=MB=HU zJW1MU^$r4z!~=nFZ*UBoHGRNgu4j6$^q2tU9H232gJTdl#(LE@chkE&?l2?GGc<@C zoXtIu`&TPEO}}e7FIJ%4DI-F3th*v~T)})E{^%8u({@IASZDCaw~K=UET611J)``e zHCoX~VAVVA5fnsIE0SB9h;vW+cb0cYh2xh0fzf@5#x7-?c`Gx?&MC6Jh;EhVh()5C+HXN%E?t?(D z-I)6#?ng$Wb&qt7#EzqIqY;yNTI8d_0002Y0iLF6LKMGx7G2nX_#(o_Gf74u-O>cb z`jVC6)vI*vpy{3PNFdS)y#rX~XTF<~PB5?jQ>`PSMDKY(w1n@Uj%w#WafRQ+SuA$f z(+s^jJ}@G&_(cZ;dhY}C?*^4Ms4>)wCR%4$XmhBke6z!0DbFg*c7(Gm2DO`dmqS_kqy2KX?Q?PKcsS+ew2HA_O;bfs8ta!t(a3oD+Y6Co$?zw%ZY z1(SjP4>>FW-G*qFT35QxL62qTq@$3t000Z5L7J*H2rZK-fe2D^tGNS9aRnUGOSoe4 zmRPjEw{{W^^Bj`W8zSCM=Y9(X*V8Y|_F=D^0D9sCfw-#e{hE$C6nTHQ*TIcE78Umr zlt`1ozq=S6u=JZ6Ga&kMc4(L1CM`Lki8n1uo6N9AFx5U+dL!{$>F#e&2F(-MQ%QV& z12(I(i%+*kt+rRAhVHW*i7m`vwX+Rgj)@>up>Pqe( zUiCsl-2`0QnZsDn^M+T}q=OPX^l(vn2cIEtN6b84_;dz1lV#vC?8!XwzpCZlW zr_wadH>003*X`n4v4P~&t?{0{?{-dt(Uv<)Npxm`*Upmy8{9N4yuMX zK>GF-8W}ZV0gecw0&@O>-nCDzFxiVCJYI8+BFN8E_amZxj#)e4w#b2eL57kuPQk29 zJT)yjnrh`}1UCMMY6nF6AFyWqUpS%C7iNVNGTHe26fFGI*CcfTjz@Y+riSq@+Xv!d zr(Tr=NFKnrV_UP84`R_N?9uGdE?}ZU6J8e{>c#$%{eaFLk*&psN&0|qjSU8$<2fGC z;)r}@09kWE>q{g~=5GCi^WfXsy~lsCOL)v9@@V0zBhdUPw%s$7_Owv69p4sl^ocFx z`sw7K95F|9D$|8OaL3~ydA{O~v8nf1XfGxrS2xj&dxp$tJ}cfmn_}TT^SR-jy%u)M z^sSTujwu5Z&A=9`&uu?)0RV@2qvbsyw?ZZuNJ#%D{&$lUS)pDHM2Q`nzwmM7AS=u` z+Tw*B{2K5QD&L+!2|0(kGu2FqyprVTkuy7eZ*P#X`CHoGnx=_Dy}#%p5yMQa^1=}CxS!OIu+>iIJHFbt&{-Ls?q zqlthjhI`tqAflusDyl&>-)zvZV^R7eZvoQAJ1;wBW!1_H=PPCsnZ!pRNwZLX2;C-j z_Is@3Z=Ct((J(zCj?13`w2qdT05E&%N2MU>wgEm_HFz?ym)5dqKV03^EZR)_=r@y& z9PZaNItkt)uKZ8z4Cl6m>PZptItS>aW{8@=zTVUsonF5S;29{EXyVyy?x`)sJ5cq; zUSO3*L6?dbpu>5!rDLxw8*y7rd)Cd`LL;{UBq&u5puH2P4t0-^uLU;@(Riw7(QR#! z_DGe$pDj(ZPS*XGzMEegyg1^2vLFS}zoHgoZMmpStEryTnF=Ot0{;mxKiop>4y}*f;5Eeyr5VYGtQ6tW`V(i}rHfz$J z6YyNL)G;WX&WWsK{4I)6W2=>#f7e2$F%_B|a{92WciV|=P^66r1zcS~kK`n)z6CCw zpu17lVBj3iq6-}H4ulW$2LMfhO*b-(?SLerU%@T6epDqD*ocS4*aQTc=BN;FY0mh* zrt0PZ^P}gE*HmP;GoB^UrD5%?LyseFoxE2N&}YnpGmU1sT{ zUZP(Hl|sIsv~2Qsk%#-1t9KV-h zN~OO*)z^2k@WWJddu-lL!%Z;WPgqs*m7Zv{AV|t}yNWN_R0tcgx2&>ty*lvw;JX-I zlNAa>9QAeZCo0?rzd%YF9ACtm63ZDrLIBaA+_=K?A*yhE1%jyV0W?P@` z|3mB(=8;f9$voU@E6S9AnEN=vBErrGe<%ecOu!{}HNTjMt3&0F(DK|Av^jUW%eAHi zSr4zF4rzem-AnfMsyshTjXkt#85+WQx@<6fwPx#6U?%N)}D6t^aG+uO{{K6d+!AUPx8S9Q3bi8IKY`W`nlvS!*%%p4sR93c<7*E=4 z%{=sr?)%f0q#5dB{F@*YC$d1sL?@|~>}?j;^|K$9C~{}r8TtkmV%PAFHIlRThLKVV zK3AXqD$`PMD3+yv1BgBF{ga6mI}W}Hxf4>PWW#Eai@xJEy_4>&1n;9lOoWC#1VNwU zzQiHTm+k?=m%6A=CzRQ`ax-*+i+!`w7EMGL3V>-Y&8~j`(=2*{`p2VX2tL*JGuA0i zWvqE#hpOq;bI-VCkVKpdc(23p>g@Bh-C|*vrNg~)$*K1jW15F$VlW1f$74E^)^wLa z@SgHrU%BGajmS6T4uQop2~qKSfd4DW%-9}K_g!!L;`#>Oj;3b!%Z+lh4S7@e870C> zQcwMZe*ZS`OUZ?Uc9p5lQcp#797KRz8Dyv>}f# zEJb;_s4CO32^3s9)>)Rz%v{!lN-O@p`T)CvI+fwZb4`pY-|)>rFhG5eJIVnlUH>r+ zSS&wYcIc}^Lt7=?a_bK}a(bA=R*ICYQH5J)>Y&hJTZ-nF^jlfQmgR2U;q{a+;3ja(N9hf1gxcW(8Mq)mSh(BTfolJX<)o79@+5f9)A;-BJH9fXI1Nc50?7W1#YsDDaCT*cr>xvOv*5KRA>#=U*@ET#M$+sy6!BmI&}mx@a6>B-aLju*OMtx`tm-Y*wbxu!V6NG zfhTt|lCY*@c$Ml%A=*K*>KC+?BJE|O6%!q_=&RRB?Q~qWv||As=VnwD<3=i>M!tdV zRVRin{Mur2*{a)7cqK=BW4&l34ln$eFi(|SYaGPSkzV{RSSIxY@T`4;byte5#&<8n z6e0L92~LGtpn86s@dtusvh4MK5GL>D*BDt50To`Z6I8J7H1X*7MMq1G1oowF452hA zkaQTj*veo(>+D8rKL2A|q#p-uPaWjt_WsrJHt**7!4%`1@O&Ze&@pnMkl=z{bZkt{ zAF`|jzsa`^riOFJFPvW(eiztTz2IURA2z3G`8+&<1MMDlb?AP0D8t9ltj38{kI|hh z7dq^dvcgVItdC)TfJ!qr-!KU#tHD&657&SI00MUbp6F>1g)e4nP*xFK$iz&d@}1%u zN>5dF45~BCm6YI6I>lvV6h^ zGC)aGXj3nd9tjaGPXy&pKGCs|K9g~7;<~@DM@Fo7>=Ht+YZCFL5+9*tP|u2!0am`M zaN?sBQ_K&rNKaVJ_J@Heu!2%g#^d@#9zf^V7(NQ;ea#CQ%+l1*2R&b0yedhcDuH6M z;_mexvb`q-Z-F8!mb^`nOs$9>xo<~AmPi<Waw+ z=MOrcq@4GqHbY{Vli~Iub)_w7yh#t%+?&3hbK$E>v}uLl%56MdeJZ)hHe4L7VkyJRMQ--@(6Rsyr`nc zI{&4gn+?wE6{1;66On^`b_&dHd5@dB0J{bjNu)GYic!)9)wuuw1`t7-?oFsd5L;3R zGzazs2tE-3{J;pxU&F&NYNpyi+{AiDkSh-(YhSVZDdZ4B4G2z4UlA<0bH%KEoh zC8(`anPb1A?ej?9WLW?fT`6!S>(U+#5llpwg0CDjxK0)hHFQ@=)Tvvrh_g(UE)p zFWU~2PqX?anZu9hS7Kie(2M|V6`WGKJkir*LUx}Qaht{x0XcLom$w}QFw1bL1dV54 z7K`@5uv8O`^=Q8KyTw_;MQ|%SW}9r-_}-DZ@tyVRq>JNh&tI%Papv>^y8#B=P0-^Z zr|r9-(Zf7u;@kUILgbl!Xz9goO5`gPsYBaS-$^7ra{w-qFm#X^Hj%ZenPsOO!oIOD z{V@TZ>-CaFvY=AE7bpnFWVfV$rmfPa;F|}pQVSXjTS~1jgb#mU`oo4 zu!A2gBI3L;GR~r_5+6UP3E1hW~vWIKq4AvZ(BJ{L+}}vFhDP^ z-)s}ybBh=~){Eo^uDc~`LlPj~*nqyVr%#Yh-bM$?9k3j3C%f}q*HegUs)hJ;AlGOg zPcY{C+SPd?MmNrnX}9Rg*zy1p)ststwiLkS@FP?bd|c=*gj!6_1@^_|A7wN`dbtj~ z!>`RXAT?L#gQ$pJD3C2+H&nl%K)9N1fgnRMX(!3mDpU+Dslgx9tF!=ry2OFn(cj1? zCR;gKq~U%sCitQ-8d_p{kCmW#DAeQh*$~|s5X9-?3X&AtVxacpuor@|^ACLh&4?ea zX>~;-F?(=DMvDKlCC?2ooEZ+$k&yOQvNWrM^PkW6f9fk}2S%AdoI0hG2 z;qLzyDTi?04JGEvxhcCi|BU^6Hk;IIl*H3xA3*cRPUb+yr=h!5*uXw-bQ}Oz zShx7zD)=D#5rND&*md+L@ZgIdNU!p>wNIL5CKyK_4M_k10>eR{3~o^p#8T-7xC{Xt zar#82X@>2!<}q_C!tdHQj?Y*;fC2ec?_~7tQqn}>!?Z7@@4qX&fZk|c=llGXm;q#{ z!;OHb9RSbx@W0bpJoDF$BQ|5y4%l7pNUSqvA)hJ$Lj*VaS1V$@=tg zvF4bNL~4X{Bhrs~g+gJ#%^5O-?tuQYs|t4=2IVu9yuD=8HrwlIEF zt%jT`zyoOxq5D8;WFc!vrhB$2lP-%&=UXT25MNJ~B<-y%8AMJ03eBFnM0g|8CUqZI zLW=^nnp8?L#J{&cg}<~mhd~k|b4Y`NzZq}l8jabevFp1-Ze_;^tlbiF$XZmsWS*C_ zX|JfRvh_!iBO`|0W^G4O!TfUiY&1z4`xVkX%P zknO_%-%MnawUEQX@j5ZQ&|v3y3s`zXTJ6QICmPm8lB7EiD6W!+3KKoKQyWi=EdFS# z4zr&i6gjmpIc#!>xMV)(+eT2!>+jp)3AzNU)yM;0*mUwm^;|fX0q*EEEfoKmydVil z#smY7LXBEgCS-7^*X*Zvv$=mm2nWPE(s6;(udAPrHfL)wv?c(p+XT?4+EoxAAWM2o zW)*#GXQ5#Rle2Pr1)hDoFaQ7my8)jobV3xr><6}ZK5ESDQ{FZCt9#jzN=0(dE~*hh z%SL)y<6DW<{d=<0ln0^W{Zi??GKU(pR&KW#!y5qrC%+W`$sl54?60 zDsgjlhBNXB*EJW>*ig^xEC#hA@lb-+S8^JhuqfaD}7c4^rkK`&r zJryAbgPqe~%J@3*RGwY^xjpP@C>JK7Yd?&Rqx&vY4wa#2vSOft0009}L7Ol&2rZK- zf{Bi$bS~9_@h5Ce=WWwZZ$MgkvBuy?9-MaLEOaf%8kK!&N+x$r2znWiW_bn|YRsWP zKbl>6hLS~g9Qbz#-}x{9+x;kc5i!?BRP}0N)+J<@SDDUPV%4mmlS%R;uu-Geq>OIbIr6(Z>fnCUWEY6GFgs)JD6AsY?pT z;up%&>Ut=_OUcJ$+|q*7i`tpE`4b^46D-IOLVlPg+DGF=e9vVIlk?}=U^exaXkHPYl}l)4Ccf*W0; zVF%}oLi|aGPZHi8<+GBf7gyAUpXXeGbdZZLv(umKz8oI(a!CXW&eo%7qyob!4ZZ4# zsR63S(HDLY`M`}z&oa-1Cn7bGH!H)Q{<`oD%m00>MNX1F?(TbXMT1mIC(AtcPFc6x zf3!TA`p*Nc*ek-xTpL2|Y-BBg+1kPKtx9j-&R0`5+q@l�+B_Z=1;dhd3p@JpD&n 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

    2G{V06@V?oLE3QC4E&x;KX3L65l6@C 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 z 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

    G*nhq}*vCKgKrmAqd#P-H19h#}F)i4-y$ zAUhhg7G!K)Xa09YUE`67OagG~dZD0~o6PZ3BUBXf zVN8O-iAkUl#y!oQcZV$OSs1uXqftmFD@Z9=eD8X%$5<0m6s?70*`UKg&8Ze`S8%rS z6r4ltrTrAV8XXbsoeUZKew>>vBnCaD3Uk53i|$ILV-uI%iphs#F9AB`>cY6q8XGKl z8Ca$D2X&;T{GL6)^YEN%@LC0BNqM$;5~F!y)|UBA(u6_85gT=i&{e6A3jV9lz)Pne z1Cqb@>BX>ffJqJ%n`YhU3P*-B1W_D%DCe-7D|^16`(c+O`1PRZ&eay%TthjVJ<^O< zPA;KK=oO!%)g3hJ#L(JG(E~-V4in;iJv^?g6}s4Mh=@gweI}tTrMK5V8^zPMp(NDR z5gw!K`nx)qQ*Qf$)((c!;T$zz)u||jroM3CFI3maxWsw~lX_=~$U1~wf(om@GUA;T ztYCN2>n|bjzXo`FXeGE#=ke=<>`;u7go2j-=apkd*n2|yq;E{RR6oW=21y*kScE~5 z*$QCQ0TvbffnYKF@`xj=1nieacCA)nD%0A(sYDyCX=w0d&Bg#$3rK-#S@04RT! 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

    NwT}j% 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�UXHk3>C#( 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 E4->9B*#H0l literal 0 HcmV?d00001 diff --git a/maixpy/static/image/maixcdk.png b/maixpy/static/image/maixcdk.png new file mode 100644 index 0000000000000000000000000000000000000000..0d4262edf8679e054dc26154ecd86c060f2df952 GIT binary patch literal 62281 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