# Multistream batch inference Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/multistream-batch-inference.html](https://docs.qualcomm.com/doc/80-70020-50/topic/multistream-batch-inference.html) The **gst-ai-multistream-batch-inference** application shows batched AI inference (object detection and segmentation) on up to 24 input streams from video files. The following figure shows the pipeline, which receives several input streams, preprocesses them, runs AI inferences, combines the streams with inference, and merges them into a single video output. The maximum number of input streams supported on each SoC are follows: - QCS6490–8 - Dragonwing IQ-8275–4 - Dragonwing IQ-9075–4 Note: For Ubuntu Server, this sample application isn't supported on Dragonwing IQ-8275. The output is displayed either on an HDMI display or saved as an H.264 encoded MP4 file. For information about the plugins used in this pipeline, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70020-50/topic/multistream-batch-inference.html#multistream-batch-inference__section_lnx_1np_rcc). Figure : gst-ai-multistream-batch-inference pipeline ## Sample model and label files | Runtime | Model files | Label files | | --- | --- | --- | | LiteRT | | | | Qualcomm AI Engine direct | | | | Qualcomm Neural Processing SDK | | | | | | | | | | | ## Run the application on the target device The sample application uses the /etc/configs/config-multistream-batch-inference.json file to read the input parameters To create your own config JSON file, use [config-multistream-batch-inference.json](https://git.codelinaro.org/clo/le/platform/vendor/qcom-opensource/gst-plugins-qti-oss/-/blob/imsdk.lnx.2.0.0.r2-rel/gst-sample-apps/gst-ai-multistream-batch-inference/config-multistream-batch-inference.json) as a reference. 1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70020-50/topic/download-model-and-label-files.html). 2. Update the config JSON file based on the model, input stream, and other properties. For more information, see [Config JSON field description](https://docs.qualcomm.com/doc/80-70020-50/topic/multistream-batch-inference.html#multistream-batch-inference__section_axy_ntn_q2c) Note: In the config-multistream-batch-inference.jsonfile, with the batch size as 4, you can replace the following: - model-batch-4.tflite with `yolov8_det_quantized.tflite` - detection.labels with `yolov8.labels` - constants with `"yolov8,q-offsets=<24.0, 0.0, 0.0>,q-scales=<3.146998405456543, 0.003778052283450961, 1.0>;"` 3. Use the following format of the `config-multistream-batch-inference.json` file: For 16 and 24 streams, add the required elements in the `pipeline-info` parameter. The `id` parameter takes the values from 0 to 5 for each added batch. { “output-type”: “wayland or filesink”, "out-file":"", “pipeline-info”:[ { "id": "", “Input type”: “”, “input-file-path”: [ { “” } ], "mlframework": "", "model-path": "", "labels": "", "constants": "", "post processing plugin": "< qtimlvdetection or qtimlvsegmentation>" } ] } Copy to clipboard For example, run the application using the LiteRT model, video file source, label paths, and the qtimlvdetection postprocessing plugin along with Wayland output. { "output-type":"wayland", "pipeline-info":[ { "id":0, "input-type":"file", "input-file-path":[ { "stream-0":"/etc/media/video.mp4", "stream-1":"/etc/media/video.mp4", "stream-2":"/etc/media/video.mp4", "stream-3":"/etc/media/video.mp4" } ], "mlframework":"tflite", "model-path":"/etc/models/yolov8_det_quantized.tflite", "labels-path":"/etc/labels/yolov8.labels", "constants":"yolov8,q-offsets=<24.0, 0.0, 0.0>,q-scales=<3.146998405456543, 0.003778052283450961, 1.0>;", "post-process-plugin": "qtimlvdetection" } ] }Copy to clipboard 4. Run the gst-ai-multistream-batch-inference application: gst-ai-multistream-batch-inference --config-file=/etc/configs/config-multistream-batch-inference.jsonCopy to clipboard 5. To display the available help options, run the following command in the SSH shell: gst-ai-multistream-batch-inference -hCopy to clipboard 6. To stop the use case, use CTRL + C. ## Expected output Figure : Expected output for gst-ai-multistream-batch-inference–Preview ![](data:image/png;base64,UklGRupGAABXRUJQVlA4IN5GAADQowGdASpBAkIBPv1srE6rJiSjLhPuqWAfiWNukbmxOqZrMytN0DyeNXoFbXtY/1frs3yfO27xfleorcMf2X0Aecjp6e7O4NL5lvOXHp8v2bkUp1ngHXdfBV2Vx16pSdn/8O/jFhYHQLBrt7bVXXdWfsKVM+u8GoJJT+kkP2UiwESM1ZL4GTwSAhwI5+7PnztPIYEikb1dBQb4sU/qWjJ6adOmsp0Wz27CAV+/t3vegVFgshGKWDyxsGLxXD3uRigFAT0zyobnuhbCCaezq7Qg07P91C1PuMXlUW2CzJkJdBtmz4lj7532t5z8bqYRqSMAj5ZD3rWNOyJlcRyMs/Q4kP2s72YbkCcY9Jl5uSlXaTrfHdc6eyBW3aVyytJuqW557wLodCPiCsioU8Ypvool27lVHsmXDKmVTFPpsdFG4pdIsRjB2jq1j0JXBp1Tff3+c1AveQE0b0O9gXPgCmCWATdILLf36MCZrUs9sYyi8zl5MVpLEtXDPxDq/Ql2WhkSfHINmVnYRA2SWJ7eFqbVBLlmAMsW2qRvezkKIhhnKGq4YcMhMFlNpca3Z2fUjU+YAEgeqhPxAHCBRif4CuUdN9B2hd1cC/YEFHGv3WltAoIw3ff7TQCZkivNm11/ODM41TnWb7ijXhVmf082MUL3znwgpPDJM1X5Fq0t6rFPOfEGbaFwvVb8uFZT0UdE2ns/xH/u2cK90fqeMxDnMfOe2pBfmBEnrkWaznlWV3C36it+WpaQBqR3lO0KvOknb8pFmQ2lqBdtbubbOUkUODT2Rhs5WUPmkfH70CUVPOOaNUmteThevIq582LOlHsmc7ycy/3WyKohm7uMS2Hq7/Bcc5/Ox+ZWNDb+9Xa+oljtm96YYKd+Ws4MyXnCj890pRhUyKt7ty6J/AgnD77CTqGhTZjjclscELtcf6id74JEuhwned5f3XWWSP/IonGgyZneGH4lR6A9zwf2cIs+PGgcE/sVtozYo8fhkKqD3VygIojmycN8ZwWg4pb4qrvXWVbfiI+Etn6O8ChIJw14v2Y4ZeQ1t0SMEZA9E1ajdzm3Nnzpma//VFWjoP1VMsBvz6PKrSYleF9ONmj2lpjV1JyAd9AXwmYMK9LyPPxck0+5MtAWDqHw1ilv5wk9DWsrrjNmrYu7jkQT7/T0NMzZpRrCu+JDcT1jkhXIwpWQmRKx+bveF7hu3jvqdfGvRj++5zz9wS9VyedQ6wrZIkAiAyr/6Sd13jkap1VCBhPIQxKmJYb/ALj66EQ8WTG6EWjo4vcTbuIYPOkhN9Twtd7FNQ0aE7qcCapLQzViDLAV/rL88zfWbbOzPvqtaS1Y3n7Dew1r++BRoiFrL0WS2hKN82TzTCFYpn4T8VZil1SWSAoGAPX6LJ+GFWhS8Sr3Gew7ViHmaL4kgUXInn1+SWmBt7yYiRclVaWFCj/+FYOS6mdeRZNBns6aIYmLUT5KR4LXt1v8ia62/qdPMbvA47nWgf1L+Gb7ie+RDVlPktKIFDkbyAMZZzEwCr9rxDKMU59y7KJrEDNeRgZfbRsJcKNXMcUmWdP8bKmR2n9HHrBfP3dIsFjD9YGttKO1KPaP/n6hvQq7U6hw0U6ZLBzkg5mybt1a6WolYFu6LOokRqX9P3IxL5aMq+3n8P46E7mFIjhLe6KXqBouw8zxlP2dJuh/H2QhAmhw5yt7CZGYU5dcLbjfwcencTuWaCeRRJ549sp4Wn05hs5bOey7oKr4LtrWvYPmYoYmSN0R0zSzL5+4IXst3E+azRUz2qXY1XwxioZlJQa5LBec7tENIl0WJn0pQouC+Ht1B8s2lYSEmf9dNWBOUSDt85V63Rv/2WvZ6V4J/lLwWqs+CeKlVJS5/Zjnl6FumVYIdsM9Q5/JYfI6gPSAVtx7khH1MrievSKzv4nyNno8Sk2U0P2USaeDSnr5rKj39Xfgk312CeTtpseIbMhoez2E5RnDBUNjzKcNvOfh6VSYglIAxwIhd2v/K5RSQTuc7BF9RtoFvaRxgNgFpArAnBqkd/rat2iSjCPfmDaanH2MUg2aXW767DCo5cgxvhKOKeYLDpTkL9jz0cxTtkT1adoJeoqlDaaVcyuxd9iQC2ZPcbnRdqyt3S3FJwcAUE+HTXQsQR7lFrgwgBjvt8nZ4P39a7QyqXnnnl1PTXmX/e0Ibt6HDjixNz1sHkeLuwQtb1Jtbipwu7F06YXFNNVd44N7xyMGbqwhWLn7QnuS2GkFIYxkK1aDI6XjLWNzNVHo1mjMb5igkt6qaaQhsxiPu2RHjt8TLt+wbOVcPe4p6i0R1B58yFok9il3A1oM24W04lhcRIRLIHDoM9ghsBt0K390e9LBoaNUPcEIj3D4+MBe84c8R81gUZDli/J/efAQ5fYcnCCSOHr1P61wP1B6NVqNFlRTqgISF8wmaJEhfFgK9JYzJN6LUdw+zZPZNCoQfbGftcsgv4UoJjHARCw2y6whOhXwXLGSXPSnLN0pUs9Pi81Le5U96lx+Z2zQpXmfiUbaiPI7b1R38LztvRiTXmZ/Jai3jr9Vl/VSv18Bl7qOpTABiGRhdkYo3v3UowAWvbRQ4zb3LG+RdUXg30aQtxd4m5jQ1/fQZBn6GPIS+hme+AXR/US5LWsGmk3IohS8K+Sh+R2E2BJtXIJjKem1MwzAWTYCjGMulDfw+tCOoHL6tyt7qOE9p3MLa5BhybheSJb7Z/PM0mFM1uQr/mAhxRBEutFXdFjkyqKOAQeWlK9l/tbgERDgqsWeJ8jsB7MExLVI2a4dV/llnij1k/wZH1NtPPBLFYcz8kVCuMxMLO1/8zYJGFjHWE6PY76cbgC41csNPDY1h3KEvmUuQTZE0MJvcdlmsBRyy7SzzpbhrA9uVl6Oa1DhZHOKxhdZQzvNXLztndImlmS9qFvc39xb3ttxVqyrmlL+GzaN2kszYcqNJWyxui8mvqlnDUjIYLTQW1jZ90KfssXyFKBk87CWUt9ujTgpYNdy3hSIaQ2BHRNmtyDuQgFmzljIVnT481J/Oihu2H7JHUNp+61xeCbsMI5zJvg01jze59+I9bqUUg09N+gC5HIcOKysd8cGpBqOAtvNokfyGLYxR7Ifrv08oWXgTKBdwCLPANiEb39ZrL6new3NXseSWYLcFnjTDH5pblW2Htfo0lqRXnAqQiXa/+PARSfAIR8ETLeqjF+lmtlaOxl7zlqfwJ6LT1KXAyn6a6bEQ+citGRgiocJqUNYoONB4wCzIP+DXq4n/7+TtuwNWZUlUNZ1jfzmXJBrktAl5b9gV27dp/aovhr7L3NFji5kSKBfOmkiEV6WNT2bR2KhsCm3WLOR4sg89TifEfyIJXr9C9rrasL2V8LWbyBgJm4mfE3zLGwIH+xojY69to1fIBp9O3EkfjhkQiIlPv3k9Dg9nCvBB16QNwQg0KSo9LO89+AHbMuUfQWkka9K1MYgML8ifWTIfkuoCliEF9xvNkhTnObwaAl16xHmXCtQIjQo242vrrNvMZHxGidWYL7rFtTstaZlj2meGnRXGCT8onmvOUDK+g8XKrK7SxeVXDrw2rTgaq4xUpIpcUL6+xq+ZG3lG903u6EA8YkRcp0Zr3zCMLiqzhkMUfHhfjTL4gtTWp/f29wjd/jy/1zKsYiv/K2FmPa26PUZ+4MZJM+oAktV+nwNwbK96sthDDcPI0ezwqI++PmfZ4JznQm7INrcxP79WxpBEIuAsbtmMiy5hbKuXJIQoEGlaaEVTA0m9nKWzk6RP5MOfTCBl/XIVmBaM2QgZprIvIxAl7urpcT+l2n1n6u8GyU4EnzpkYLu6UEwJuCctbhCSbwGWY5fVLOMKDvW5wlEHhMCST/5UeYPYMIjBUHZ1gSqOMevWj2SsUazEqRAvHDSyvwbUYfN/yxqxONY6+GUuO/U+lNh2Bds5V0BQjV0mqZs1TzXpeimIP8zszmiOP5Vc22S0Y5b7UDg0MbhSn0tc/LOF7R8QccBJGDr2Vecz0DE72TC+YrN+RAsxurT66xUyzv9GvyqgGED/BAQ1ukp2uRGwGJelwSz/CgOgm1u22yYA2pXC/a4Zk+/+B3Sa4M+zJQAt0GtRPundH8bhKaZVtu2otsq2apOoJR68BaAYc//PtNfOELgkVQuyIe0XNVPgKke7pSS08eDW2cR6XfpS0x3CbCL06YLphdkgrixSxr424Mjfxedz8kLWq3aFXtpbtjQZFLkDziVr22P+W9fZWX8FCMQjmoXvqW5ZQIZL5dyndIgPMUfOLth1YZ7BGeX87N1nunY/ZwnUJEP7uDOv8h6TyV8KghpRtKZ8QPGeGSDXgzlAW9I9CopYsgq6tWIGqGzvIKIeASUvV20E3fVfwuPozCNyCgSsY2hvRjrHXEouLI6mpMTpLHazJHkI7CnxoP0LTVmM2iBeWU/9EMmWEyS9qILCyWSxRhEEN+vv3mgkHub3qzd2uayXrUFHRdPncnNejTpmGY0/Hi740CAAP7jqkrEuvT4QHFUPqbLlifaYC6xhMRQi3yE22GiQC03wH5cvvkQH9GualRa7+Z14gDe/8evWZAnAOxUlmLGm3C3B2PMjjMSqL7BnoedIl459LUdqKzxeZh3ibtkz1OIPdKi4hIVDGH/oFtY4w1hRXdPiIgLAIT2MHTiE5aFB3aKzwewE91JXFVE/oEHZ0IxlkfUnUzTwCBOHc+V0MqA8APLqfAZuPgac3PS6uaBT8tbT4tCRhKfcKGDWXd4ggDK3aju8Qt54nXFSVx3gIuyqvEa+wkc595MpplpPExkznUw+RGPH0bwjy6GTdqKapZbgvcRS+T86tI/vS1p1crVJXTMNWhkBnF0Ot7DwOUZHsR3/hJZ9DgUfsC8N86jQ0VjX/6AVIaKAQ0ALsWWNDsUYuPSAzDR+Z1tuMgqJFoOP6WrNny9JXH5NG47HZMyNhw2fc6fDjuUyMJnPmqc5l5KA/RZSzaMWlnRVYeeamK7nsK+jweM59pPuPbZ0FwpxJrv6n7hb1o7Suriq58yp5cWo2dxio3bpTUYdb23OZVm7W1pWt9Zw1VYRjkDNW8JxRG1MAbFStaTBd46VkTrUlw+sNNd0J8nBIUEJ9cyLhklAg7VS8+2rdevCQOqp6bIKbGXX4AtBBFKw+B75G9sk3Tkx+UoSlHMLfHtHWI45TUAa4mM87IZLQOD/Dp0wk3DxS2AyHerAKn6iK8F1wCQJRUG2Qab/skZWtged+zsgG+JGKGhDbVR4uYkQ+rD0nzwZBniCh07GnZzhH3o8PGcdvCPfZPUsa+2HB5ay09QIB1Jkwj+3FJAirktTcLQNpZzV9V/uaCk2BIkMOmyCy6ABDT0XBQSoY8CRiAAlaq1AcXXlIK+r/1IsHXTR5AZOtkGvCUedV2ZUiykzX6pTSDAAE79k6YuJWHM+tYeKkOeOl27oe1fIlKkwiWFleNAOjYers7bFxwexOVGGXJvfdA6ecdtnReINbyuLgUy5OYcknw+Kzh3eyccIAtlQE4IYGWokk+TYLaNLgpdSDGAhKTYv66D2pYwBZzlRK+nkrHho2R6Nbj/6VKzgT2YxIMSYaxAFBvF3wWYbwEQDd512pkY7bwtBwkynvB2SK3uv3fpjRpH/7AkGBL3nwZqqsc8QmArKsoCVegSGRIMUi9SOqBcieLUYt4DCWlq/dkfWicqV9bLbikpFrEJo8yBNjExu+KkHg/7EjQLSg5qsYkPnGjFdJNlowfRzuzGjGsMvTjhISlXO0wR9vPbusdYsmUJLsnohJRgzGX6Up3rcULsmhbLoKSXxTwD5h5azjTsSrG59B3sJw7ILDRwHXDMPCKVb4iUoFHzI1ULlNgicgU47rrhFNNhqo2Z0EEzJL3SrkMlbNbkHcNPm3O1S9Qyh9+pu5vAWwNbBgGtEP23kqizxsQERJyhKd/o7F3ImIMHrq6Tiid6wXPYEQQUACBffdjiOvk4vec0zjY6PsbCAFE3SIU++vnoLlOjOsbNphIPnuVs3j8rg0mIokFHAoAiTEL+C7zp6215/Mj60hRJM4w6mqltxGyYsOhUuK0dOBZkNr2N+44eyE5IVJkj6WO44pyNlZ42S6CcoL1k3QNfYmP16IALPYQbZYCaEetmVbMsbPAycNZgbnYyTizL+XDoOMnZQz3ii9KnJB6Fkt4HBa1C/Eigjbedg2ny9GnugLpnaWY5s0Lkw9ypxV1u2fIbIoHSc3cX8ibD0rS/Wwf3121iZEBh17cyBmHsCrLqIKgisT3Y631yUeLZ3PEdMZNw2DWTtkZgMN/v6YmLMhb1dIyUFU/GQYCJO11ZrfcBjhk6gtkbSt2dAq/Y3OSVNleIIH8Wpvj1II+3pQrcDEXkYM3UQ7Shike8pS97+TXFAtgEys5GlBtPq1aFKfCCi0lbrylrJrJSpN1mvk0rEXh3faWWxrgMNzBHz2lr4lZdmnDZ8vr770+gn2tm2H0j1nIJYlGraEetH1w9solT4+796VaEyyk0W6mIulQ96O1k9AFPfQgwnspAARBKpKRl/lQCW7saX5Wg7XTN7yFOU1L4CHO0t3Ad8InALQDGF0l70vJtjO0paTuY7DeFXfx6Vo0o+VqwnJKmpt6/SHUjxoQu4sixdQ8DWQvputwsKeQUuNkaehtlLozqxI5fCVqYvAknN2PCau3RA8HU5IzxDN960McntzXeHEha+yNO+H0+klLxMCTYjOJt6xSYc6qBSg1sVQrkSCthocJcLG4BRzQzk1qDubj5TaaDgGyESWTieSZvGccZ5AO3mbLVQ+ky3jNduxvXW+b47xlOXuBDcf5Ef4kFkcTji7c5z4/aavb4cMF4FK+OPFgr165Kixd9Oef0LIbXkP9JX9NtgJFv1z/PBgCr/b6l9cB4odJKo7+GkePvvnTliKf3Rw8gH1syPfaVovx9nFOokqBaRGzOtusEO8T5YMw3qFjSrnIQaDHwhQal+ej+Rj99WChwTHvLU/m6DfseQ7t+kGRVkJF0rPX+qS4kB1xnBCJatFjl3k60ircROfAdHDmFFA3huzMQMJD8NNvsq48hVap8iBvv966TCe848gyIMzpw3aem/+v+8TnU5XNzwpI6+LUDPGEgVdKltlC9lZgz3+3pQs7L7V6LDULOMLN7mpzIdB9GK5IN0XDSWe1aWuszdeXjMpqyXVwiqWMG0mGaSQwlJUT+H5C9wB49otbDl00Xrx3xp50n/SbShwfGIN+9DiTitaSm6lcNXLCH3qAQdmTmUJAk1hWXv1FMCv8wuMJxKVnTEfkn5STmscyJnimYZ7yQhM0Lt1KYjshsnTr45QMeD7uYJg/Iud/ec+3VvfFpll9AqnEIiONz3vqeXAtZ7pmuvkCoq3c0cZbt6r89il3ZjyhmNbjZPFYJ8sFa5kQny3oLrwM4AB1/fETVnGFPdj5lw/RV/oyK4F8ILhQnvR7ICM/p7L7+M2mE7vIV4vPGA7YnjN8pI2rN7kyKItZV6279hsPJA92gMLc1dwobsgATQQUaNe4QGjxgsKv8WAa4BzwVfmj4CuiN8c4/vvei7mqfulqYBBVBPNNVjiPYJpdMHieh1pD66FenM3EoAGy/V6zz+JoOyljeo275G7boiPVdQVDDw3syyC7+j5VaHqIC043KUc24R2jlZMK5GtJozvonC9tiU+PHypuEIzFeuzuXYkR33P8vnAWeow2CTZ04XPzIVltlIIUhGGuFhKPB52DMnV+TxPbOPehi+A0yt9/Cnt2a6hufaLtP8TYrIFpCNvYoA0Mw8+DRNRrPdbbXfg5nVOhxhr9sqIPqMqnPyRKyjC4zaK1/m/NlMnRs0TfAgmq5m2UQCyh50uDtXEG66Bw+STd/m7Zk2BthS6kxp2pudeGa57a9pkCkR3gaTGaHXWgrTgQPmm8cOKjcikrVWi8Y2KOK8k+fLEvH52BcC130LYhDfwQnYFyWgkrvBbbFUb113nsBa0DeoXWHxqh6eOvieB8ttGIW1SYNCkr6tT84qEr+3fhXa9mYvJBQDlssUZ2e1G6nXC+qjCOQp5vQQvr8VP5eR0njH5Jwo8orx9pb5hZv0b1ChXgGFS9yjnvcuPuccGmxYsl2PRMlsgo6v4AISCceSxfEXZlK+9zg6puriNaSWBqBHx92AcoHSYFE5JzYDS2g7Z6qGmCHDLYywxou8pv33xxg103P3Q76nynxv7Rp7Z1fnZvf8z1SfhtXaIGmMNj1OhOXMQGGxCcfEIgKv8xyBVICJxwY7ojCv6FXE1kArNzsOQOyM+0VK+ji+Cshb3nGcaw2QnNgIesr0d1NUZBc1Aq2KJ5/e8/hjeWdDXKHX0elHD8MLeN50S/u0sxIt3u1IP3vLh792/Ib+B23r8okJ+BqMpCRjIwa/KbP8b6018ZH8YJCFqsZL4U0g5MXM2N1EWwjxp+P+XjdAHBwAta011e3sr8bpaP9PQUdYaFERfwfWsDuDVBRFIXo6gAMQT7XSiL8MDsx2ekkYNSRrwUnZViEmYfODZT66Oi1tie9OUqTxuBLPs3L/DbdGYAwEkyAkoClMUmn6zs292StA5VJ9lTZ6TA7w1tHTMQqectimMlMGVLvEU/ng9LVuAhrgMZtIrVtr27WxkbAwdj3ZTbaPsVBxb2TKmXZbnj4KYb34DXrvMPZdzUghCMKFCzJImUonXG5w2mYhvE13MGIk/oVV0B5p/US65viGG1hsWrjQFjttO/CjgcICfHWniwNUQ211/stv42W1+MW2prG23pa8ikBXqnnE4v9EHYcwkrrwv4uL207ZnoYXnin+7aEwTQ0t9yvUH7Ak4XXA4vCuUGwGpzA26Nov0ATd+q1FN/nWUUDRA6s+wNeBKzohHf3ADqWDHVhVicnOa8BS9/QnhvIpELMX65BTfGenDttXUhtSt3b7d0NnpdPOfl22rpuHmLc4L5LMsF+2c/ki5T/XxncElhTdKbpLVJSQyB3xmp48R7Ua8IDv6j1lw19h2REY++7kI0bCI085crAxFt6QOnnh/gZk1/XL7tfs+ffp5/zURXFndr5dcM6vI9gfNVWx+9vaFehbfgWGibBkl/ajkl4xp0rn01ly0KwVgG/z4PAo7kKcfI6yDFhaFn0j2NEQtka9ALtD3YRGtmYT/ZHhJKSaAVROJxs9s262exzlakBh4nAv/qoeixQ26Bh2r0F8Iqg1vTtkDOd1KzBorPsuiv3wdGoPFe1jSIngFRmxjH+Dxk2JUYPwDAAAWKqoUvGpk9q8DhydpVR8yM+aVb23NkehmhdERcqSZ8kmEv5sM6PnD21LV07iMQ1g/BAtIsComRNnlhEUW8ac8E29h1RCn3b9rswpJr/5I1Vf9Qcrj+R4EuomCNNv1qX8m37Z2dZSTevH44WRLHqL6yEsBNP/W3g2KP9FMlR3Er6dkACHl5I08fCEmB3xjpzl8JTON0iiBOGusGk74W8g1OfowZqJhlDKCyMM+no/lpMuO4B5RnX3Z2gs9lO6T5LwPMBX5hLANOBhii/4k6Wl/CxZ6T/sH+3UXK/QO2Icsfg+hY5JAjyk95TzM7BZEp2WWclWohnkV1Jj7OAzu9He5YqLR6+jAVXgntvTic6/ykgc/s6HLaxoK2GzHLiAoMyPtoYnmKkD/Ovq2ubJ4RTvPdOsFs5XzB8diqaP+pCTWv07tkhOgBXUhZRqm9fksgJZTsU0KIsmkc1cRx0yFJbePN2NM72WY3zo4EePB7FyOMNAKvoDBIBoP033uP8lPeD5e8Ot3yjFx7Sqke1oFnppDV89E21hltvgB9H8zL80zCnrRh2AfFIblPL0ta2DNwm4NztCxJlBXNXgMs4U0ZYJEZdXV2aD918eMNbPFExZ23eQ3zhvNnv2nRTX42dlu63DWp0kJIDgJ9Wy/9oAzY1TZLryBw4zggLrj5ffcr5NLsmXoyp/0q/9ZAm7gJKQnNzFU2vBp1eRXAg03tJ0Fu6g9rZJG/Vr3PGZqJuxa8IKhNQytEJuQ3VXyyIdNKhlqOg1rqzMqD96qOdjaM0bIpnmLMWQSVmynBj0advJG8d2sFgNr+78abkxNe8JI5Nie6hxFxEk9r8ulT5z7N1ilbYXKVrDjcBmM7+F/UXNfD+3DDYQxeXqBqqtQybwpCeZozFSQZdQdMwWqGvYoMCElNxM85nDQeg2kg8boexYnY4J6OR6Bo/1aZRXpKsIVkr1MP7oE2hCFYELLUhBzCnfxPBY3DQsDhdD9gWYrwH+iJlyt+scyPn/p/6Sxzy761iXB3ZDqlTs7yLcTmRI48a2Wz7VkX5Duun/4ABSeP423RgMz1hJgUl3g4LvqnfjTc7isu2NCBp2Yqv2oRoP2T450LtpVCyDfTcDGAJxm9BwkdGIxvzBUvlgXSTpIfTqtRv1auKFYBr8q1TQ2aXZcuT5tPK+0kIWAvI0idCZLGoF8+yVfT9bkMTkEehsrQu8qzi3ugVJoJPhhfvfUgGfdsuvkOOS7u592i9fHROejTUnCYyLl/XglU5bqG9ffiMATNjqEkWfZfo1PuQCbTbTnTvoqqjelSgOZvDAcheiXap5zuoJSmNQfm/PMTZAoy4TncIcZlXrE7r9RiUgZdnxl5XS3bH/j9Xvfe363r871FTLqfvVmj4QXlu/As4ZTn6R/QDr2sTAMcko+ngLZURDobfkz/0GaxvNdqLJuvj1yvxB9VKXjaFjsLxAvQsepYslvSLhnMJv6QxBVMOiD2WtERPmuLzB0ZXMiq2/AHvO6SUkiu5nm706ftB+zgDWPbRxLCy0tvbv4xK53yBihbh2fMnWP0QH9e+HC+RAkD6vfgvJqjAQf7VBE0nXKibkfeT87+qNUn7MEv7z7V43qS4bSpE2tCZVATfeVHhO36NNJ864eok+AhJ556sDCqwvUF06uPfV8VBy937YMiYMyq0gJn8WItDU5zcgRjwPcsSz1SQ9Fh61D20ANUxdzBobVhWlHvgzCzXnnPhIYUA2otgOyqMnXnW3mmKGpu4eQcjniJFPAQYHcSCw8bUlyuvpse4CTngm05zD6alCOsZVVR25gzJaf1vp88ubm1yRviogm34Z5ho/5T2UYeADv030/oCELkcLqLwsx7S1iCja0ZLrVzNM+KJC4eo4lL9l+oIymBy17zxxx+rtoZdj9EvdOD5I+L/1vo+/Inpy4itRxvAn/Hb+AohQdgBmp5koyQcM3B48CcEjzj/PtO0hv8m9k1ufVg3lb21WF0S0Syd2O6UxUUP4a+aqnM0CIuOAX1LrTL1xF5FCbJZKdlfmESIKqQObeOi0Ef4w7FfpSeGzd2s5T1ye910FAnsvWQ3gs0aj+gLNGYNLAjhjriUnRtbv1Uuq3s55kjqUsvT/rLTZ9biGcmOqyYkrgNM0NLNhBGULyzqk+yTRN5YLTd7ld1pwIDh9YXtcL4VQ4ss58DBD4/qXECAscnY0ZUVxFRUrFom60Sns3RpGHEffhfJThylb1Jny1+3N+hqk55b4T92Mm1s7w/DBRk0WPjhktoG/HmBLqpqTP62fCWfwTpE0AFNkSzdnDve/CPVFDpmEvXQVZkzxNSe3LXqagW0EnKO/w+5EZDnAe9pbrQeguEH04hivE052eLDZOuwPxtapJLuSDTSpmAn+5NwP+e8/MqWio2eVsrMzjA4wsOTcUHPEDhuiprJU39aNlU7mM+szn9biMyaqTH6YrbzaV//RKaalW8A6V8vS5LWaTz5LqgefsNVhg9SmokGOLML2dS0pBF+9ZXTHau4hs8r6hSSCKsATlvr5qwpVUwUit6fAoOZi6Y4KviHcaayCqWSt7tWC4/Z9HHE9y+QXwlT18G9pQUOJ2uWjCRHFKvPQngkSKuyj2aQA+xKwj55EtFIo0OmvbVmvKIHKu/5N3ptBGNpAnxVzW1TVm86zzg1VGhbpxCalUb9mgMSLKiUKk+SBhejzp//uYu4OVWLQFOErE91QIJa2MFVzeI3gp9ZBEP6bHrDJIiu9RJ4bjAdyXKwJzjHc0UNaIWIajQztfXHlLFGenG1PVIn/kF2Hav/XNiaqiWOIYqk//bSzQNMwHl3CJomQ1d2ZTctaGvFXn/mfKLniN71zUPgdDBu9mSa0wLes9RO9fFVjZm12WGZWVMyspz7pIQhmWqbcU3mU1G4Xoqxwy0edf3vNwy1pB/wz1SqujKGLehtXBCOQmPLkelsql/2OhsB644oetAJ+mo7v4mamxzyB9BRFQzGAmDtBO1T/mXcijcXKtnN+gfHZCHeqPSm4XYgSBR8QTki9vgBPXW/eso4PvoQkwhekYDnl7iICLFWEzGpPjgRk1LI3idkZ/pdmLYVydp9rl+HjrVZ1s1eluXnnMImjdzlpL2akdQuyGt34oQYF1VsoshmKgDRSYLjcGJMsw8eQd7qvki2UBFN0nqTPfRqR6jsgq7YIzrwhQpsSpTww2h2hzlsvNxXFUZRSWcUJarSp2LNdEmtIf5yNY0fl/+Q9dcLknTRWxy09hxraLS7L8Z8njgdwmDkrrXlRA18wIAb6NVpcXSEq7J4HtuZYtT5C3A4/5Up1rD5VdPzrhfcKra3nhowDbmcgnpzawpsd+Bb50DUmHr3AEddQU+7XS3S6nXfPejuoqiLZ4Of9aDT1rj7k55mBPEXD+idzoNYBRAotaibN5upY48+/Mtc5lmRvPxDhXJFS8kf5+L37oHJAFXTAa77LWCmL81Ku2xWMaRJvvpOrpdeP45l6CTeQixzX0XXc0AkxBo2OLSo1t5xoDl7XaRk9nInxBXsqk+CeVl3Y1898SLB7WXnv8SIsE2BQ0j+w/aS5X/85xZ6HX8J7y4SCKPH4HGcg/Nrh+EkualYHFd6v7SesiejHfm7MTgw3OwecrJUgd2Tsuh1ZKO1Mlj9HFiOFsf+nMs5g6hVxuZqOI8ZPLZ9lIT/wBUjAZtrfC2CFoTIJTGXdxjbiHJAQQskrnL/GsaZMpaT2hN61Y9hwYljBIKdvVnDkcm/uGEKTjY0zeHdA8xkyG2yJiW0EMtFXVx3LOvoTOxg9sU0xbQypLu5pnX143kl1+H+LIiJVbbza7uHPE8GMpqmjAdEsY5sZ64GeOK6XtUC8YT/Z461I1RbZuV3TrLuKoRzDiHOsjctaSk7G9sG24dMbTvs2C4TJWFRBBqHwwaJepA78AUfxr27/yT9xZbrSb6ULR2qus5/nAaEgNxSNTXEuHaKTaUCdmDxxAuu9Z9LEkEutzzpQYIaO8iF8EGny5XsgC9iso4+PSemjpdYOoImuxUj557FSaphVplb2v4CsxwXYOhnE0XZVfR0HlbZNfXUI9kRunxKv/Qx96LXwbff8raWd5/LfD+hoRxNm3jaHvqRsCPV9z5KsCFSn5MAORQn6YjbTGNuXGoCikTlMF9AjwRp/3htS7gTGPgtriLQFQrTBvks6xce7nmCA/jBDiU3mZIDEDYfH3X1JgsCWEDA1Mg6df9k9e1Bp4jc8DnS6kdaIBre2TI1+yV5/B06x0Fy3Dc5vluX9RO2oX/R7S4ltQAWIpK+3bjTUcrTatxpSVtHYM06+ZgN9JS+3rHKiBXo5XtNdDVLLA1hVoExfaAD8lEx9uF++FpXPEtF0k5NcaaC0ze8uxCRCJrb7LuZPcA0HIBJEU0XuuH0wAPSrmB8f92oRvY2uG9oJeaBmiaiR34v8CVFbFDsod25nzzraZxmjMOoQyCrKp3XUuu/XyF/DRcbRiYYFxhV6EwlDAibt4S4pQwuAt+qqI5a4jccqV9BCQbRBaHSVlufF0Q66kRQV+CmNuSxqvZXx+Rux1imF0iYuFJhtPo5+fkLIBCGjrAify7hMsIKbtz/irw8G+de8DUy+pMua4IVwmSMFmIbxzytEqYJf1nAfz9e+fRewFAKOlfFQi2w+wIAT5Vw3lreEjysnlWZXWEqo++WgQWuNGMWk5GCH59C0OqralpFQaE1FVTcA5qDNzTVUAFYBhl4U9sylVs6xnvOnRHwIFXiFHm5MP9dfvg5bXFIl2pEfHwX71qtvue4dWE0TZl8kRGCIS/w8BTsXB/+x2PGhNotCfTzqiy+xkvzLWuMQLsQpasruPlH5NwRdSSbMB384dQwBnEmdB2Kk2DcKIegNc8g5sFjF1LZo9frzw3qb0LGOgZoZrV6SFI2EL+zfB1npZ1Nehq8z2+v7ZKOnJy12w/QZ2EYTG67ZlQ3kaF9he+XCSgrNAmXC+hjnVE1WboISpZoUxoqHvPyG54Diszk25gX1Ff6Y4sWMwg8Bx7LvXq6dQOqodyjsi3RVlq31go+N/jenuu5qBGY1mswkSGSn/cmzng0VdOnt5e3BxpJPU83boN0xOcykeAvsf/PHi/n/C8au+lNoe0JjlykK+CrU9TQiM4v/Xp9tEaDYJfDC9TaRlTgPY65b+sZOJpuozCR3JQxlGpHOdbLLinkSUPCDjcfTsS5dnrcLZVbAnbbsfoIlo8maQcnU9shCRRPFoB4NUOpFlLH8uPMy8PbtV79TMLf3K8ZsnJyCppm+hau4WZ4nqcBIijNVCexyMXB80Unbz8kGjgam9FbUFrMEn7NXtJezM7MEjxod/QphBDO4Lsp4E8+DWSRemy+p4RMq+aABVSzdvvplPFJN0DF03nDqC84GyOugtsavaxUQlxUVfHg/oJMdbJXbXlo/lbd55ZCPXx6ZYuQtlh8kxtWJbrG3wvY5mldct7Kxazeho3T7qUJ7AU7jrBtjUqjkYTY3W2PU873B/561iWGZvwzhXX92rAIe0zIUYQljrTtCnrpFaFbP06r5K+PIynCMT91M2o428ybShP198qcLY0HL52TJpLy91GSDxie/IJz7a+Bkkk0dVg1BbOb7yegAFAoTGh2uSs61QyDbiVSSUpKRtEyqEPFzCfePUpLEqFL1RJgxlXZLZO7bB82PJPOZ3TQjnzxyoQm5Nkq3+91b0iHxmA/qMvwZ+Y8LvQUFvcVtyaPX7A7AOiNARCljC+ahlqSxOjnAIs17TQAs0wsJnTfNWeJ/YElnqHWynYzR7h0Ite5J4/C2YL1wS8mY0gTBZQRwLJgxvRdiMUjNpTeAnAIXUm1kg/6EJ/64hZaWcGDNHuSl5ZjZKSPFRs5N7qpS6DgcAe4ZSH4Ol4Tcik03/ejk0qTiV3mkDAYgmtau6YCquYqPdkScjcWHqVgJPSEc/v2rb+kAi/2xIiSqqayDXyRl6sSAaNnT3vu4WG2yeD+Os/64B9sVHZab+Km3I9TRCNmcJfbpEcHJ7B25AS+RkHlUMiFYFSSXgvO3Qsq0Y0PgraZccEn95HH+laIN0nZr1hwlttLlU8bIPq9LfoSJ6bi4k1+L013oyF50bTzy0NZqnZmUuzq2hFdZTvE7VVM3AkAW7mJn/PT5LbkjG2bUeVtPLejRBLY0ZTlSltHFSM1dnwQT9L4ajX2Z1Un5s65knVB3xa94PW3QFI57bCLTXT3HZtWro1nejYMJFpAGRk6vUA71yUNfs5xWyPsfc8QwL3GKGQ/YT9b1RfD/dsmeSb6VSFAICtRwxkWtHLL+WHW+dr8pvpGV5KPgtd/Ek0KS1lf5HRoGF0aLpP3luZ3zi/hAuy6Bn2YHpXvDYCfeTRwFiznA+7Hx/TDtZYvwYztKMh7Vp0R5tjC08yr0If837i8HWPIm0xtJ0c28rMmxwExnsJrOLsgYMKldf0IVXZZECZ89Ys3JSNbpzocKgu8TMCa+3RNORvbBz42YxWbqLYOFt12nUcIr4wsX/rz053kTHL4c/BPKTZMn5xrqpzpgN7x7yDb0WSqHw/1WYuCN5k2rYK+CTHGcYhO6hHYMy46+TY2WbybIhUgFc42HoeJ/9bgh7068yav1uuGbxc2ck6BDbAE2LgeL9k/hOorbI2VUWRCGwSCz/6l0TBoomx7U7mYgAKcBOetECpdACxD/iNOf8DYxPWu9q8LP701gY0LhAuUBDPzHGOt2WjtsjiJ4naHdu4tlzimhMCZaPM3YE2aAj9OJzut5sxK8wy+6TXmhRODMNhWRMiE3G3ObQVFO08jKLGG7TdShV1i6ZXp2idTuFf07wOOpVVm/FqJ6aGgHVW8mOzBuBU2ZiWlI3xmfCPwrkpOqN8QBdqiJm1tEYfCtbgI2FRHVn7RAKdpAK3FkPsoDqOn9uV4Z8HsvQysVPkAGcmmCjcn5TB+CGLTmXadXQg2LVLxJ76UhJvCV0bLVINJxbVfdZOJyThEui5JnWWGbiEk7neWl5zxXsTim9YZCCZRvLIr9mrxVFm3JgYx6nrVNQ5Eudl1CrI5qodeNS7gpu3h9C8BkNj5pHzksXovuyteUJ5TxbTYc1JJpMuLePrKNK4E7notRfglzsNpplAFy5wFoipj0qrAJPlmnBc6WxHM3HRBjS/Rbg2yMaFmboBTVO4kwCXeFtlMkLssZtkUny0zdbKrlTHDpwjizrVVN2dE7Y04AQrA1DdwHE/4UyoVXu/LlRbrRmm5ASTFCSgrSLrlOrUEtRDRw6rcbEb9VOWsY9s8O4rv2bgIyvLbUHofP75WmERQ5s3XLZNITEH7wU9k3b0EcgflCeeX162E+9V6isLVcsCVHN/JXW9xwHFheWkwAbljm19UUlpcbtI3XtL/ydgQLWXHvEc517OIlaqkqiTdrpvPW99ec/rCI9sP+cqFq8yiacvSlX8U+NravMHZyvHpbO6un8zHoUz8vARode7y+SQgK2rfTefsgU66EdOGxiwrVq3sbgXfWFr8e1s1Y5yniI4U4R/R2RSL1aekSNSNX95YamhFvTLMlB1H7qqFWTQoqKmmCwtFicsf6UkydcAzJvcwLZSc2Az9ZEPcAJwdnqDSJDch9U7pvq8EIJfapIJ/9dV6M2GOPPpby4nYcivojzWQZLMoxLQLC7B4ozXi/N90j+QSVwuOowke2eVQCHvB5TGqcbTS2vssEaYOyJFHTG3g/DOBrdfFg1WsWU4eZTGHqH4JXy8whJso8lMktm+q9kYPzh98iCZuKfOqHWHXRlD2GgHDInB3R4UOyt7lbZVLqekrB4GqItYU/cbvzwYGWwLggRsoMhynuHR37OtBpxejVJb5ct/ze2MI9wBp+21qOx8SgqcIKVU7N8s0Z1HYGKG5apbsCD8j0UpxeNLHisiFFLwrTvzkf7AvV8YKQR09vCiVrfZn4451acdyM0JuhBFmF21hN+1eWA2pydaq9UAzoRjsUXfvvc59i4j8FnNazaPIPMrnoJ1u4RWw9yK5J4zrrs7LulbHhsddxhhxi4+HqMBmDIv1+UVj3wtTUevzdmC1ZZMmZiQkh+6KWsuMISzsS2htQn0jaXTD2GsDGQ1k59UUr/ts5ZtlKcUTijzn+vrzO7+iT+gODDldF7qEBcD94PELyO664QNnUadopESjqyJWuY35ZP76eU9N/WPUCXcUfV2QzRs5HW8vSeBA2lkRYVyKlwB/By032wgbeRArtFIdJyUei4VBdYeO4pMhbvXcHMn84/1f3S5rBtY0d/m73IGjoKNL1Uw0MvQBJvqBn8QPhoAD0aT6OMuu/fyrr1p01oB4xxpaS6BaYy+By9yBd/7zqNF/r9lHpVWFU8yYg6Ud7O16exrRDOpATwO9siq1DsEwO31ARdvbrFqWBqaka6wDLi987udtfXLxKBxBi95Y08HccfI5Ez5aMO4KLTs/Xs6HWy4uj8eKBZhZLif4ZlqlhZotV5c52XSnr2iKgkgUJiBdCsoVDOw9jzwUPq8S5f3/MLpHibZA6FUZmaswlQA2fYb8uMqkkGlRXMTdAAqxwMQrf232/+hbJa4NS828CoO9WZzOuR/K6dQhyIfjQNCgLd3aC5aVamyCumlus/tX2Gk497GjxHIq+nT6RNjR4cIlESToVWks77yjLvHM6ZJOT8x/03ChXa0Jy4eTP1EshhaWDX4D3lP1dqXscKb9lp2gpym+6oE8POJCiPrNBpKpqG1Q21jntaxLySJF1U3eJTBWooBslBvbNjz8EyQlMLZJeXjlErCDdpjcBTwwIVPGIoTYmCwu4VBrrqkv5vbg+fSTXJY+oF4pVyCgVyDGq73WZgtDNoYqu7EzC45H171sa07KX5ILlblUy3zlTYkvTCH6RhGmGI3C8RcxqH47nTvxVSEmE9iwWgst1vDeGkK/qauBNEf4BvgkNEVwA9I1K4/MW7YHnUm7FgXW6wJDZZHGlEq1dBhR1ryxmcTZaXaDz+9nm0fwn6Gcj0iV2/mjEFWR40vNqJ+wUbOc5KdxrZCz986gq8UWDq6RdGNbdPQ/8voUgzvfmzKLaXr/BMIsdIyVkRYAZ1bd57QJF0Y+oS9xwzKb5Bgc3Fj6b7+g8jx26KaRa3arcUe2qfBkK/hHY9a1C3KZV5pVq8FjzrZCJzJbEzLREHdwN7lAMGd5YOwCujiF3O7l50W9TPH/zfGLJ7YtGy3prCW8shXijIek6WQW9vmDCiL/HPvyMv2QAo8rxGyGohzAlKY71IDp63SBnOg32VjlIiSlygTtYCqXRheO0wHUotCfY13S68Nqzd87RS1BYDyNcJT/3MO4FbuNX+/Vg52ENvQ86cJbwLZZTuHUUsbY+WgcaDcoICPLUKBqn1+vzFSy08B7g7UTsUzWpsjJsu5+02udDLKKpi/XLH6/RQG0ymznNwZc8bW4ELJFYhGjnfvVq2VQmBbFkF6MBdssOwjjeUJk9IECkwWvCaVamj0DMP069ZbpNrS5ACrxcR2En3y8t3+20Xilwez4oMDjPUMQCZBdyvlCj45DbLxRWqLDo19CZfUtkslYFyE4KCE/KMKWv5taufzoxiPjkNCLTUWgkoyOUl2eHiiY/oMn9e27XGu60QuvgjDLY2XaqXRSA5W/Mbb8ExpAVD/ucP/5bwOUxnzWuOcozIEtlSfmsAiZyY31TegRO8aDL4njVl02z0P0lgf/Wg2kp7AHwPIc5tCCNx3mZxqpE9ZMn1Je6SrTb05/VmJTC1t7RI8Aqb/V9onCGyEZampOxpPDGJXmOlHnamZ4W6oHDWqb1EPLFOjhuO5y+rPELpM0NcSPaJ4dmlItISFBg4Nuyb4lujzk8vAr4KXEFUOF8e+QymZuXtEegtWJL5miO4OsXksttSPOmnCCnXvjrwYLCS2qYiNRFSDVlQ3HhCUeIWwwqBeX8xgpPWpKfaJRb0qTk4yfXIyn55zZNWxf1eJDH8l6lRi59f8On+do3ih36Ozq+q80dIPvHxLnfa55cj/n0TdJVwxzpZPYjwlq3J2X28npOLUQNffctBAcJnXGNwov5zHrHjcc6VRlUe6Wk5JogfbXyHwmrRbPbPzUo9i7KHkoHFlEJbHqyR/Fuvz/OOj9zBnRGmoOIXqAXeZjfBWs4STl0SkISmhBL5Y73wIOzVFuBy2F0cA5DyDYq4qb6qtu5ggxJTgAmWHHPd5lZRuA0pY2OXEGZvLCIfz7zjVOzy3aIHRPmhRhumPmnVj6H6UPXEbt/RkWUE+MIAYW5zhzmEXV0ujvlvb5epCiO/33YZ+bg/VIyKobipUEDPDzfgxbWW1qRrF/cUcdFWmRdeFu5gxv/GKl9xvjlVF5mgAV3sCpH15M9jh+MQvAfviUu6GT4CouV98zKpFhG3gypa7a0h+2c++jVA5Q5nDjOROgmHAXF1VJCWhjcysf5UseLfiMVIrdPHnXm/y18xycyjFCuCDQX1oc33g04BxiV1D6cAnDc+hWfwydsH3VXg6zvPfbMwDdrFhfyrwTru0KUhjIDTSmiwlDyf4ke7JBgcmw3V7dqBDJb/KX89XSTy1/OVownLiQF3ZfqYdErcCcJc/xQwIlUvLyjJrd4nf7wEzUBNLg7AX1Szy6w6VmG7tRV6/32kPio0PQDCltZFqcj5lga1eNX4eW1vmcrZAtiwzoO6ww7RIcQ39I7uCoVSWqNE3EaT99hqvJEeeuIQP7rLO5Zm9wSZ2NtNsDedMbpu2ADzgVZ2Hfhyl9ujgtZO8tLQbEFNrUb6f2y8Tzzfe89Kt09pgVwGcYQ7MPKxmRqy1qd+RT6p/7fJw1HeFErcLkcYc5srWmPkYYWQsuMOUkmhJXBbEohkIHLjylauRBHTUqTXacL8vlDjeJ+Zlzyi1uTLJPG4mriT3T5DGU42VKwIzP8EqVstJLyvXds/7t9wDfABK7Ft+7xCREvoTmxLZut33FSnkzliNLSh85fDTsIDf1cPWT91nNai5AzX76X5GU3zh87a+GIUEzQZb2xVKDZCfe8uomvay3HNwuqpJ8VOfZ3qmGWpzfMS5epBE/v7CKJ5esATiHa1AK1FOsV2QT97vVjp0Sa+KBpV8kxOrgIrSZLtXS/OGgYkbvq8HiHaC0kcPqfJeEPneY051VjZSg3i4iKNYKSkHdqtRjzPsA3X++ldJBrG76JlUJVQJ602A/1BAshmsK/drScc0V9LIzqMZY325UfC/szCNKM/fSEa9oSJJStqmf5CJzl6QBeTJ55bDACldI9rGdV0nYONjx+Qt0UJWsCRQtL8uaTyK5WTwXt/sGqbfgGfcwaOJzVtlRRZvyTDVviNYIIZhLViLdK8t1P6QQ91IrlJatZVWpU+5KKdIP2BofyURJfD7HCYp6wDemBJlBtqYSZ4u1lHZNjhls1ThF0w2ePzHnn07btGUM6Wjx+iHcbrPcuwyPu3iRu+ceR5PklZMR0HgzTnBZCrzoFaFy0YG8LyCibqwMr0AWhk1++pVmgKSZyY6eBF9nMesxASauSB4P0+nE5BkkLZPF46sK1oGWHn3tM9x0JYSee43jiccUMam+o8gPCrlxS1VyQbHRP5SrOX4mBQfqZHR6MG7NL9nlbb0/5ke3NSKlP2Y2lU6Zs5mkXQhxLNmqAuxKBwEUyoTIMStTh4HnPADm7ZSNOwEcJKK9Zb+K24qmoeBSxijeCMXCBpHDX8SGq2wvwJ9wETZXk15JznJF441Q3R2P51S8qUQl2uX+RXZ4vlpLe8UOx8TyPFqc4oGYtoGPblUl7I8ATAQAbNNzBcus6ydX+T+I6Mr0Z0DT6mwEzB3/XlASVWvRlJV11BahxVmniRM3pjFfH+7RdZeS5g9/I1iWD8rwPZdvV23j0rblqtYoTZThZ3rblWxzzou6xYWLOuceCgYcfAk9OYZlvoMS0Ztdh0x3JyK2qTIjmN/ESpJRM0nM58rR6nlwrj4v9ZiFs0xD6dA3esPn8MHVHtYG/MPzibfXv4IgpNQhawvXcknus7Mhk+789F7SfpSWJL59+Aa7WMGg0aDG/nAfHPKEy8YtMNtVq8rkel5FXwvPI4WcgblOw+xcakJTNbIvBU0IXMDfZMu3/XTjdc9FONux8+4NraeiRMvPQO/qqYgenHGTBznNc4IbPQkVRfDzCFBShn+GXVmcyaZh/R500KtyDK7Hajf3eM6AcouDGnKVy5T4pd56NjIzDX8msvMn5kvdH1K53+tyQaDp1jsaW8vP4LgC/l4shtNhpxUsDQp70f8ql9D4alvVJDoOuVJ8F9N0SSv79BxPNdOyCR85Gkwbw+aL5GM8YHIvLolW4nEbLYSbBA4Swg8GW7E7hZ0zPMAPAjbSLz6tLEYbBtTM7sdOhBrKqizgr3TiJb2/4Lr1rzNu7BMRYVn3607gYrk2iTAi9545XlnsjKCNkBAfI2b0Yw22zoGQUaDjzCiepnrBjhu9vs60dIhDH77yMd0oZnGVY/eK1/NeOCXxiX9CLkvl0SVY+FgYanK3JcbtjkeLEKHFQ2jEi+Mlpk9OdxzxFFwvMzW5iE4ziTyV9tgS3lO+iQx33Y6qoa4LsExYPwZg87zKf0tuK1S3CwhlfZsirLCDjklzfv6sDNI+vgtkv9J7atKM2OHpbfrp53iODvTRNw+m0Yxa3afIW5GiTk/0SvSQPa4O0ta3jauVBLIQvN4/PjjvQ5BKl/wS6cDpYXW9gjxlmu7JBoP/tNGw63yU/1yt76BujnmAnMgMazAD4ywgUH5/A+4/T63T6Y8TU489AvPKOmUb68sHUGP1rL5iR+DPqxB8JmODaYwnyiHOySnCXrznBq4xBKfiCw8QS3jlIeSK6n3+LaEqSuwxTKi0/OS6inY8AGwlfq0eBUjsnSTCJeJOwz+JhxB9WT1/xQiu8jFIyMcLlZjiS5CKAKpJXVtZhOdxxGO2+TfDRzOSCcmcgInJvIt5q/Q3Co5rSRSbrzq4Nv8PQkJzdgt3EGWVxiN6dE/ykgwcQI4p2BRAgZilBBQctH5kMYu+HYfyZYKBDyzjMkXkYUj+ZhU091QTgRHkMLnk0haKRBVQxQi656/rJmpSo9AtJaU+SpFgar6EJNwgg6q/LcLCQFnJC5Qy8R9mfFw0LNwdwyacGJgJzRBbVQu/OySePNXW9w+7fT2Os24chMQ3Lb+yzyjND1vFXk2LVQPPh+FMJuwVrtKJxjkcw8njxMxiqpbo94dR7DujlDTVKsgX+pC7HmVdA8otmzL80goX5HaOu67VqruIyhLAKl//tSWa8PD/LxAVe5MLdn5yO+ZKZI9GYvRYuyjkjhRfi90zUt/zswbj252O632HwMJeR4kK3uVo9SpYfeWO1cSqbZhgt9rJxiba1T8pxFRi98A2B1r/lxXT6135MWFplFK6b04e9g1vLonL/scv4iJJNWFCIixWRjip835DuAJS+NyzECp19njulZf/tPuvKX5lwIo0YilgkX4ckFceVw4PfZf3qo/kJ/5RotG+RqSAz1NjpDbAvR8tZbCEoSXOx7L4s54zj10xKYYe0fghd8bJQrgF3bwpIBKSK0D9sVeTN0bxm5GLWqW0mLiUdBIhmfdyCQbsru7f3ibfuMRLgy9wcnBfUo/jBeiuizj+mzj/UZxaVaDmQEdNIi50+rUkiP80CmqZ2z4+g0Z/mEZzBh11wZb9N3hyQliB5HVA74x/MxLR11RKD4j6VCqBGYa03UYhMVT1Vl9G0yXWJs299Sf9z66L1Hq0gYUHbmuW20Afpt2g3DX8mQjcBpzin+yeCiG6KHjZUE7qSidUsNFd5zpuQF41ouq3c4HkQG5vxxGH7/4tXB7wyUsqjLSC3JsbHIUG6fGQaYHstEgJw3KB1VoBq8WLRi6HRhVaeD6LV7s23fJIGeJ2TBerW43u7iVW6i9m7nVyYWkhp3AjVViZPklRZXV7Xpn4iE5FnZiBCHoaLjdYtWKHcyTH0qoKWzA4NpIbvEbbtxNmhjBypOn4yI3TYxgKjI72Ofx5Y5xiS7XJbgJ9CATBKsrPa6jHbDc+Rc+KPwrkP66slcw03yjxYauADcXOlWflmCYN1RXIUGEtPUABBy7FS+US/dcfkv1kxXWAx5rNuEqjAex7H25VhxajRcUID18TFJoBJPYUqJnKUIrP8ss0Yt8N0uVEHbGMa3PoiHjO5uojtto4kmqaCOipw75E07XHl2uQWJmhB/h1j2MzvZMHJtD1b13vVVbxaeLeLIvOdvm0PihUUiLVWciubXzaCUweu2BoikZwTQVO9GJTSUY64hgsOxSLFJhpnJELMUzrk/gQXJJvO6q/H/WFSv0sXAbAACFs/jNiWfRg3zR+wyMBZBBDebmui+risaK3n26w/1oU6dcMc51opadyZrdT+bMYonHpnLQOQsv0U3A2L13vsAeJ49JuFmwPKPrNbeJxRiNFwZaz1Lln3LX57zQtPQ5fygBUJt4LQauszC9PAoN48RaeS2wG8Be1mw9nkLv337rvgZyg6RCNO2pcl2haugANwI29OUJnFHCGSNeMI5pbN22/6wBBZJE7HudogWsZTL0c88ZeX/z6g4ol+3IPep7dQc4IRNr7aSNw/GFNmv54puJXBIvTmC/rbkN4eYsk2etbTu5TrfrsBZ0e4kEx+R0+6ofQaWIP2KrCgi7mbjgA2480wZXhmGC+NAkqHmEoR89aPRWjRH9HSA7EJHajjt/7KkUsvw72A5SVDf5uBylAkJLlT1n/4EKGqI9EBd6wCDD6gQDDgcLvsfJijRYJJUKnUJJB/4lhIyBFqRJIDO0dqwDuzDnNHqBYUTvUhm9jyJ1u9OCuk7bCDAbcwJ7S+8PTrIg3hOjyBVWep5RQi2qXPcJoQh/rTNB+Yt2PGukPiNjHK/d0k+nF2rHhWmbd9AdZoFzz0fIe6bs5Lx3QqRjwAnaCFjCtLtwzUonMZ6C0VZPvC/pNSt18ti1W4x0kzsgCRnAoKhnhnvaDgoEZF77BzaXHYgALzel0PBPsHYqQTfKcY17BDKdgAAAA) ## Pipeline flow The following table lists the plugins used in the multistream batch inference pipeline: | Plugin | Description | | --- | --- | | File source: filesrc |

  • Captures the video stream using filesrc, followed by
    qtdemux, which demultiplexes the stream.


  • Uses tee to split the stream for inferencing.


| | h264parse | Parses the H.264 video. | | [v4l2h264dec](https://docs.qualcomm.com/doc/80-70020-50/topic/v4l2h264dec.html) | Decodes the video. | | [qtibatch](https://docs.qualcomm.com/doc/80-70020-50/topic/qtibatch.html) |

  • Reads input from the streams on its sink pad.


  • Batches the streams for preprocessing.


| | [qtimlvconverter](https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlvconverter.html) |

  1. Receives the batched video streams on its sink pad.


  2. Performs the following preprocessing on the stream data.
    This preprocessing is done when the model expects
    floating-point values as input.

    1. Color conversion


    2. Scaling (up or down)


    3. Normalization








The tensor stream is used for inferencing in the later stages of
the pipeline. | | [qtimltflite](https://docs.qualcomm.com/doc/80-70020-50/topic/qtimltflite.html) |

  1. After the inference runtime receives the tensor stream on
    its sink pad, it runs the inference.


  2. Produces a tensor stream with the inference results on its
    source pad.


| | qtimldemux |

  1. Demultiplexes the batched output.


  2. Splits the output corresponding to the input streams.


| | Postprocessing plugins | [qtimlvsegmentation](https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlvsegmentation.html) and [qtimlvdetection](https://docs.qualcomm.com/doc/80-70020-50/topic/qtimlvdetection.html): Convert the inference tensors
that are received on the sink pad into video formats the multimedia
plugins can use for further processing. | | [qtivcomposer](https://docs.qualcomm.com/doc/80-70020-50/topic/qtivcomposer.html) |

  1. Composes frames with contents from its sink pads.


  2. Pushes the GStreamer buffers containing these composed
    frames to its source pad.


| | [Waylandsink](https://docs.qualcomm.com/doc/80-70020-50/topic/waylandsink.html) |

  1. Waylandsink submits the video stream received on its sink
    pad to Weston.


  2. Weston renders the video stream on a local display.


| | Filesink | Takes the video stream that it receives on its sink pad and saves
it as a H.264-encoded MP4 file. | ## Config JSON field description The different parameters available to configure the JSON file and run the use case are as follows: Table : Field description–gst-ai-multistream-batch-inference file | Field | Values/description | | --- | --- | | **output type** | Use one of the following output type:

  • Wayland:Displays output on Weston.


  • filesink: Encodes the output in a video
    file.


| | **out-file** | The file path to save the output file. | | **pipeline -info** | Provides the pipeline information:

  • Stream id: Ranges from 0 to 5


  • Input-type: The input source file.


  • Input-file-path: The array of the input
    file path.


| | **mlframework** | Takes `tflite`, `qnn`, or
`snpe`. | | **model-path** | The path to the model file. | | **labels-path** | The path to the labels file. | | **constants** | The constant of the LiteRT model. | ## Known issues - Frame freeze or segmentation fault is observed some time after starting the application. - Misplaced bounding box is observed with Yolov8 SNPE model. ## Related information - [Object detection](https://docs.qualcomm.com/doc/80-70020-50/topic/gst-ai-object-detection.html) - [Image segmentation](https://docs.qualcomm.com/doc/80-70020-50/topic/gst-ai-segmentation.html) **Parent Topic:** [Run AI/ML sample applications](https://docs.qualcomm.com/doc/80-70020-50/topic/ai-ml-sample-applications.html) Last Published: Jan 30, 2026 [Previous Topic Multistream inference](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/multistream-inference.md) [Next Topic AI smart codec](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/ai-smart-codec.md)