# Daisy chain detection and pose estimation

Source: [https://docs.qualcomm.com/doc/80-70022-50/topic/daisy-chain-detection-and-pose-detection.html](https://docs.qualcomm.com/doc/80-70022-50/topic/daisy-chain-detection-and-pose-detection.html)

The **gst-ai-daisychain-detection-pose** application allows you to perform
        cascaded object detection and pose detection with a camera, file source, or an RTSP stream.
        The use cases involve detecting objects and estimating the body poses of the subject in an
        image or a video.

The following figure show the application workflow, which receives the source,
            postprocesses it, and runs inferences on AI hardware. The results are either displayed
            on the screen, saved as an encoded MP4 file, or streamed over the RTSP server.

For information about the plugins used in the pipeline flow, see [Pipeline flow](https://docs.qualcomm.com/doc/80-70022-50/topic/daisy-chain-detection-and-pose-detection.html#daisy-chain-detection-and-pose-detection__section_pqq_1ny_kbc).

Figure : gst-ai-daisychain-detection-pose pipeline
            
            <?xml version="1.0" encoding="UTF-8"?>
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="1270.322357177734375" height="543.455352783203125" viewbox="0 0 1270.322357177734375 543.455352783203125">
  <g>
    <rect x=".499908447265625" y=".500091552734375" width="1269.322265625" height="542.455078125" rx="7.5" ry="7.5" style="fill: #fafafa;"></rect>
    <path d="M1262.322357177734375,1c3.85980224609375,0,7,3.140167236328125,7,7v527.455352783203125c0,3.85980224609375-3.14019775390625,7-7,7H8c-3.859832763672784,0-7-3.14019775390625-7-7V8c0-3.859832763671875,3.140167236327216-7,7-7h1254.322357177734375M1262.322357177734375,0H8C3.5816650390625,0,0,3.5816650390625,0,8v527.455352783203125c0,4.41815185546875,3.5816650390625,8,8,8h1254.322357177734375c4.41815185546875,0,8-3.58184814453125,8-8V8c0-4.4183349609375-3.58184814453125-8-8-8h0Z" style="fill: #d2d7e1;"></path>
  </g>
  <g>
    <rect x="147.641433317429801" y="20.834238745659604" width="536.179735718712436" height="205.848021655063349" rx="7.999999999999999" ry="7.999999999999999" style="fill: none; stroke: #505050; stroke-miterlimit: 10; stroke-width: 2px;"></rect>
    <text transform="translate(402.448545455932617 47.506492614746094)" style="font-size: 16px;"><tspan x="0" y="0">Inferbin</tspan></text>
    <rect x="169.034748641877741" y="65.288945076274103" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(187.94500732421875 99.964691162109375)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">tee</tspan></text>
    <rect x="752.603561992684263" y="407.212270043432" width="60" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(771.512969970703125 441.8885498046875)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">tee</tspan></text>
    <rect x="250.4280639663275" y="65.288945076274103" width="130.606474420916129" height="60" rx="3.999999999999999" ry="3.999999999999999" style="fill: #2a2aea;"></rect>
    <text transform="translate(260.258575439453125 99.964515686035156)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
    <rect x="34.580211902747578" y="65.288945076274103" width="100" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(59.7286376953125 99.618644714355469)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">Source</tspan></text>
    <rect x="722.603561992684263" y="318.334848694285029" width="120" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <text transform="translate(754.517242431640625 352.66455078125)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">qtivsplit</tspan></text>
    <rect x="402.427853711692478" y="65.288945076274103" width="120" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(429.037264347076416 99.964515686035156)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">Inference</tspan></text>
    <rect x="543.821169036141328" y="65.288945076274103" width="120.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(559.039688110351562 99.618644714355469)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">Postprocess</tspan></text>
    <rect x="543.821169036144056" y="146.682260400722953" width="119.999999999998181" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(563.274215698242188 181.357888221740723)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">metamuxer</tspan></text>
    <g>
      <line x1="134.641433317429801" y1="95.288945076274103" x2="167.641433317429801" y2="95.288945076274103" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 3px;"></line>
      <g>
        <line x1="134.641433715820312" y1="95.2889404296875" x2="161.90045166015625" y2="95.2889404296875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="160.733261108398438 99.27801513671875 167.641433715820312 95.2889404296875 160.733261108398438 91.299896240235284 160.733261108398438 99.27801513671875"></polygon>
      </g>
    </g>
    <g>
      <line x1="229.034751892089844" y1="95.2889404296875" x2="244.687080383300781" y2="95.2889404296875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="243.519889831542969 99.27801513671875 250.428062438964844 95.2889404296875 243.519889831542969 91.299896240235284 243.519889831542969 99.27801513671875"></polygon>
    </g>
    <g>
      <line x1="381.034538269042969" y1="95.2889404296875" x2="396.686870574951172" y2="95.2889404296875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="395.519676208496094 99.27801513671875 402.4278564453125 95.2889404296875 395.519676208496094 91.299896240235284 395.519676208496094 99.27801513671875"></polygon>
    </g>
    <g>
      <line x1="522.4278564453125" y1="95.2889404296875" x2="538.080184936523438" y2="95.2889404296875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="536.912994384765625 99.27801513671875 543.8211669921875 95.2889404296875 536.912994384765625 91.299896240235284 536.912994384765625 99.27801513671875"></polygon>
    </g>
    <g>
      <line x1="603.8211669921875" y1="125.2889404296875" x2="603.8211669921875" y2="140.9412841796875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="599.83209228515625 139.774078369140625 603.8211669921875 146.6822509765625 607.81024169921875 139.774078369140625 599.83209228515625 139.774078369140625"></polygon>
    </g>
    <g>
      <polyline points="199.034744262695312 125.2889404296875 199.034744262695312 176.6822509765625 538.080184936523438 176.6822509765625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
      <polygon points="536.912994384765625 180.67132568359375 543.8211669921875 176.6822509765625 536.912994384765625 172.693206787110284 536.912994384765625 180.67132568359375"></polygon>
    </g>
    <rect x="147.641433317429801" y="281.364248388366832" width="536.179735718712436" height="205.848021655065168" rx="7.999999999999999" ry="7.999999999999999" style="fill: none; stroke: #505050; stroke-miterlimit: 10; stroke-width: 2px;"></rect>
    <text transform="translate(402.448545455932617 308.0364990234375)" style="font-size: 16px;"><tspan x="0" y="0">Inferbin</tspan></text>
    <rect x="169.034748641877741" y="325.818954718981331" width="60.000000000001819" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(187.94500732421875 360.49468994140625)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">tee</tspan></text>
    <rect x="250.4280639663275" y="325.818954718981331" width="130.606474420916129" height="60" rx="3.999999999999999" ry="3.999999999999999" style="fill: #2a2aea;"></rect>
    <text transform="translate(260.258575439453125 360.494522094726562)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">qtimlvconverter</tspan></text>
    <rect x="866.720171619082976" y="318.334848694285029" width="120" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <text transform="translate(877.860870361328125 353.010421752929688)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">qtivcomposer</tspan></text>
    <rect x="1015.742082481978287" y="318.334848694285029" width="120" height="60" rx="4" ry="4" style="fill: #2a2aea;"></rect>
    <text transform="translate(1041.179718017578125 353.010421752929688)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">qtioverlay</tspan></text>
    <rect x="402.427853711692478" y="325.818954718981331" width="120" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(429.037264347076416 360.494522094726562)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">Inference</tspan></text>
    <text transform="translate(363.209926605224609 256.869094848632812)" style="font-size: 16px;"><tspan x="0" y="0">video/x-rawz</tspan></text>
    <text transform="translate(692.540283203125 431.39202880859375)" style="font-size: 16px;"><tspan x="0" y="0">video/</tspan><tspan x="3.18359375" y="20">x-raw</tspan></text>
    <rect x="543.821169036141328" y="325.818954718981331" width="120.000000000000909" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(559.039688110351562 360.148651123046875)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">Postprocess</tspan></text>
    <rect x="543.821169036144056" y="407.212270043432" width="119.999999999998181" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
    <text transform="translate(563.274215698242188 441.887908935546875)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">metamuxer</tspan></text>
    <g>
      <line x1="229.034751892089844" y1="355.818939208984375" x2="244.687080383300781" y2="355.818939208984375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="243.519889831542969 359.808013916015625 250.428062438964844 355.818939208984375 243.519889831542969 351.829864501953125 243.519889831542969 359.808013916015625"></polygon>
    </g>
    <g>
      <line x1="381.034538269042969" y1="355.818939208984375" x2="396.686870574951172" y2="355.818939208984375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="395.519676208496094 359.808013916015625 402.4278564453125 355.818939208984375 395.519676208496094 351.829864501953125 395.519676208496094 359.808013916015625"></polygon>
    </g>
    <g>
      <line x1="522.4278564453125" y1="355.818939208984375" x2="538.080184936523438" y2="355.818939208984375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="536.912994384765625 359.808013916015625 543.8211669921875 355.818939208984375 536.912994384765625 351.829864501953125 536.912994384765625 359.808013916015625"></polygon>
    </g>
    <g>
      <line x1="842.60357666015625" y1="331.720123291015625" x2="860.979217529296875" y2="331.720123291015625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="859.811981201171875 335.70916748046875 866.720184326171875 331.720123291015625 859.811981201171875 327.731048583984375 859.811981201171875 335.70916748046875"></polygon>
    </g>
    <g>
      <line x1="842.60357666015625" y1="349.222747802734375" x2="860.979217529296875" y2="349.222747802734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="859.811981201171875 353.211761474609375 866.720184326171875 349.222747802734375 859.811981201171875 345.233673095703125 859.811981201171875 353.211761474609375"></polygon>
    </g>
    <g>
      <line x1="986.720184326171875" y1="349.222747802734375" x2="1008.696441650390625" y2="349.222747802734375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="1007.529205322265625 353.211761474609375 1014.437408447265625 349.222747802734375 1007.529205322265625 345.233673095703125 1007.529205322265625 353.211761474609375"></polygon>
    </g>
    <line x1="1075.742082481978287" y1="378.334848694285029" x2="1075.742082481978287" y2="389.027399006090491" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
    <g>
      <line x1="842.60357666015625" y1="366.725311279296875" x2="860.979217529296875" y2="366.725311279296875" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="859.811981201171875 370.714385986328125 866.720184326171875 366.725311279296875 859.811981201171875 362.736236572265625 859.811981201171875 370.714385986328125"></polygon>
    </g>
    <g>
      <line x1="603.8211669921875" y1="385.818939208984375" x2="603.8211669921875" y2="401.471282958984375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="599.83209228515625 400.304107666015625 603.8211669921875 407.212249755859375 607.81024169921875 400.304107666015625 599.83209228515625 400.304107666015625"></polygon>
    </g>
    <g>
      <line x1="782.603546142578125" y1="407.212249755859375" x2="782.60357666015625" y2="384.075836181640625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
      <polygon points="786.592620849609375 385.243011474609375 782.60357666015625 378.334869384765625 778.614501953125 385.243011474609375 786.592620849609375 385.243011474609375"></polygon>
    </g>
    <g>
      <polyline points="199.034744262695312 385.818939208984375 199.034744262695312 437.212249755859375 538.080184936523438 437.212249755859375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
      <polygon points="536.912994384765625 441.201324462890625 543.8211669921875 437.212249755859375 536.912994384765625 433.223236083984375 536.912994384765625 441.201324462890625"></polygon>
    </g>
    <g>
      <polyline points="600.220178356661563 206.682260400722953 600.220178356661563 264.099451355417841 199.03474864187956 264.099451355417841 199.03474864187956 325.818954718981331" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 3px;"></polyline>
      <g>
        <polyline points="600.220184326171875 206.6822509765625 600.220184326171875 264.099456787109375 199.034744262695312 264.099456787109375 199.034744262695312 320.077972412109375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
        <polygon points="195.045684814452216 318.9107666015625 199.034744262695312 325.8189697265625 203.023818969726562 318.9107666015625 195.045684814452216 318.9107666015625"></polygon>
      </g>
    </g>
    <g>
      <line x1="663.821169036142237" y1="437.212270043432" x2="752.603561992684263" y2="437.212270043432" style="fill: none; stroke: #fff; stroke-miterlimit: 10; stroke-width: 3px;"></line>
      <g>
        <line x1="663.8211669921875" y1="437.212249755859375" x2="746.862579345703125" y2="437.212249755859375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="745.69537353515625 441.201324462890625 752.60357666015625 437.212249755859375 745.69537353515625 433.223236083984375 745.69537353515625 441.201324462890625"></polygon>
      </g>
    </g>
    <g>
      <polyline points="812.60357666015625 437.212249755859375 926.720184326171875 437.212249755859375 926.720184326171875 384.075836181640625" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
      <polygon points="930.709259033203125 385.243011474609375 926.720184326171875 378.334869384765625 922.731109619140625 385.243011474609375 930.709259033203125 385.243011474609375"></polygon>
    </g>
    <g>
      <g>
        <text transform="translate(1062.1356201171875 519.546844482421875)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Qualcomm </tspan></text>
        <rect x="1041.884597813968867" y="507.455352783203125" width="16" height="16" rx="2" ry="2" style="fill: #2a2aea;"></rect>
      </g>
      <g>
        <text transform="translate(1160.7174072265625 519.546844482421875)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Opensource</tspan></text>
        <rect x="1140.466379226822028" y="507.455352783203125" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
      </g>
    </g>
    <g>
      <g>
        <rect x="1125.742082481978287" y="407.212270043432" width="110" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
        <text transform="translate(1136.839874267578125 441.8880615234375)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">waylandsink</tspan></text>
      </g>
      <g>
        <rect x="1035.742082481978287" y="407.212270043432" width="80" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
        <text transform="translate(1050.308563232421875 441.8880615234375)" style="fill: #fff; font-size: 16px;"><tspan x="0" y="0">filesink</tspan></text>
      </g>
      <g>
        <rect x="945.742082481978287" y="407.212270043432" width="80" height="60" rx="4" ry="4" style="fill: #007884;"></rect>
        <text transform="translate(956.098114013671875 441.8880615234375)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">qtirtspbin</tspan></text>
      </g>
      <g>
        <polyline points="985.742095947265625 401.032562255859375 985.742095947265625 389.027374267578125 1180.742095947265625 389.027374267578125 1180.742095947265625 400.471282958984375" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></polyline>
        <polygon points="989.731170654296875 399.865386962890625 985.742095947265625 406.773529052734375 981.753021240234375 399.865386962890625 989.731170654296875 399.865386962890625"></polygon>
        <polygon points="1176.753021240234375 399.304107666015625 1180.742095947265625 406.212249755859375 1184.731170654296875 399.304107666015625 1176.753021240234375 399.304107666015625"></polygon>
      </g>
      <g>
        <line x1="1075.742095947265625" y1="401.471282958984375" x2="1075.742095947265625" y2="389.027374267578125" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></line>
        <polygon points="1079.731170654296875 400.304107666015625 1075.742095947265625 407.212249755859375 1071.753021240234375 400.304107666015625 1079.731170654296875 400.304107666015625"></polygon>
      </g>
    </g>
  </g>
</svg>

## Sample model and label files

Table : Sample model and label files for gst-ai-daisychain-detection-pose

| Runtime | Model files | Label files |
| :--- | :--- | :--- |
| LiteRT | <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_z1y_2tg_4dc"><br>                                        <li class="li">Detection:<br>                                            <var class="keyword varname">yolox_quantized.tflite</var></li><br><br>                                        <li class="li">Pose:<br>                                            <var class="keyword varname">hrnet_pose_quantized.tflite</var></li><br><br>                                    </ul> | <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_t23_vsg_4dc"><br>                                        <li class="li">Detection: <var class="keyword varname">yolox.json</var></li><br><br>                                        <li class="li">Pose: <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_ptd_lyn_xgc"><br>                                                <li class="li"><var class="keyword varname">hrnet_pose.json</var></li><br><br>                                                <li class="li"><var class="keyword varname">hrnet_settings.json</var></li><br><br>                                            </ul><br></li><br><br>                                    </ul> |

## Run the application on the target device

Note: The commands in this section are targeted for the sample
                applications based on QLI GA 1.5 (PPA version 05900 in Ubuntu) or later releases.
                Run the `apt-cache policy gstreamer1.0-qcom-sample-apps` command to
                check your QIM version. If you are using sample applications from older versions,
                run the application with the `--help` option for more
                instructions.

The sample application uses the
                    config-file=/etc/configs/config-daisychain-detection-pose.json
                file to read the input parameters.

To create your own config JSON file, use [config-daisychain-detection-pose.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-daisychain-detection-pose/config-daisychain-detection-pose.json) as a reference.

1. Ensure that you complete the [Prerequisites](https://docs.qualcomm.com/doc/80-70022-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-70022-50/topic/daisy-chain-detection-and-pose-detection.html#daisy-chain-detection-and-pose-detection__section_mxw_t2r_32c).
    For QCS6490, if `file-path` and
                            `rtsp-ip-port` are *not* present in the
                        configuration file, then the camera input is selected.
3. Use the following format of the
                        config-file=/etc/configs/config-daisychain-detection-pose.json
                        file:

        {
          "input-file": "<input-video-path>",
          "rtsp-ip-port": "<RTSP-IP-port-address>",	
          "detection-model": "<path-to-detection model>",
          "detection-labels": "<path-to-detection-labels>",
          "detection-runtime":"<It can take dsp, gpu or cpu as runtime. Runs detection model on given runtime>",
          "pose-runtime":"<It can take dsp, gpu or cpu as runtime. Runs pose model on given runtime>",
          "output-file": "<output-file-path>"
        }Copy to clipboard

For example, run the application using the custom video
                        input file, model paths, and label
                        paths:

        {
            "input-file": "/etc/media/video.mp4",
            "pose-runtime":"dsp",
            "detection-runtime":"dsp",
            "detection-model": "/etc/models/yolox_quantized.tflite",
            "detection-labels": "/etc/labels/yolox.json",
            "pose-model": "/etc/models/hrnet_pose_quantized.tflite",
            "pose-labels": "/etc/labels/hrnet_pose.json",
            "pose-settings-path":"/etc/labels/hrnet_settings.json"
        }Copy to clipboard
4. Run the gst-ai-daisychain-detection-pose
                        application:

        gst-ai-daisychain-detection-pose --config-file=/etc/configs/config-daisychain-detection-pose.jsonCopy to clipboard

Note: For USB camera input, set the
                            `video-format`, `resolution`, and
                            `framerate` parameters in the configuration file to match
                        the capabilities of the camera. To check the camera capabilities, see [Configure USB camera](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-8/usb.html#configure-usb-camera).

Note: If a drop in performance is observed, you can use
                        YOLOv8 LiteRT model. For YOLOv8 export instructions, see Step 6 in [Prerequisites](https://docs.qualcomm.com/doc/80-70022-50/topic/download-model-and-label-files.html).
5. To display the available help options, run the following command in the SSH
                    shell:

        gst-ai-daisychain-detection-pose -hCopy to clipboard
6. To stop the use case, use CTRL +
                    C.

## Expected output

Figure : Expected output for gst-ai-daisychain-detection-pose application
                
                ![](data:image/png;base64,UklGRmR4AABXRUJQVlA4IFh4AACQWAOdASrPAyQCPwF0sVIrMzmvp/PcszAgCWNu2CT7aiiGGM3cORBA3ZH9woc3XLpW7peyptQc+HyzCCVgfR7aTfWYL/veisgrv0zw/7j1lf0v/dewf/WPLU9bP7x+o3zf//H69f8l6iP+x6qP/C+rj+03XHf2n/0W5B5H/geDvtD/n/03Lefb/nn/v/i+tXkv9hshNy1//ff3F9+eAAhvJmAhhWido8ivqLXF24tPwfkhJK7bW+3M4CDl+sbTtUkMpvVnrdLM/bSet0sz9tJ63SzP20nrdLM9nq0whbGorosUrD3Ufst+9PIta8kRtrT3pa28aavX6zE2ttvWTrm7bPR5DNXIlZhHONZs6AGHzDcftzEn89SZxGY2k9bthTuUzRzXU7yI97f465tLdADC/A+p3YaHRXxi3XHvt8Yt197Vqn6to6N0XcmiyJvZ43mGqE/k5yQGGK1IFY/rl2UaLMWKUtj0y59LKbo+WafRDw7l9tlioxuEA57fCfnAXMOf5U+WGNMg6LQMpo2u+sz9tJ5JyWiam7Nh2ecHbnVCAZfyaNlggRDyY898f/9QFYsPBvYipPHCuVutvalyEm9TkI12MnCKVej1H1JMUWxPtYqcJhD9k8gEHLY5f6gH00uQL1dwcREVGoCn57+dfWAyL9TjZDoJrl+e39YTHd+VX6MceXd/xpGyXbKU72I7FAi8p+70RZTFRx72LNsiMWv5kjuSp5AIO5pECnd4hWjADo6hD3NPre1dPZQn/JhoAII3L4HheMLtZ4d+ohTk8iDoqAP9hwd2A5Vgq3tveSUMrD2vRBb7J5AABm3xLlKr7mBARU5VSL1A+f4AsihpJOl4nvN7qhPEN/I+z0yQ89+tznb0yohOzG9kqN2oLdUSQRl5ut7QH20Uz/ZVhMF9wwJpqeQCDulatgUjGAQdMn9qeP/pAf2uqYFX0JqaK/ITr0vuUETLE4V23b9Ymc2QFSIsGSIZ8wL6Vn61uby+QH3IYkG6Kjxn6y+zgi+W7YNMuZ8zSv/Ak8oNKamGEohMbnzuiB0CTjZim2oieaZbzWogQBtevTvJm4uhA4wCwTer6Aa0f3Wf6RPbsBzpB4WfyAQdzjZnUsd2hHnV5T5fKTsUF6siTfbkKMUiSFOVeZZ+s+E7pU5G2Lsf6QDMKIMIUUmQqWZC6ro9lsaedrqb1d0cnre5dz58TsH2Kc5ctZmoCuXYazBzkApIno5Z68F/pO6hB//c9hDf7dvuRaknsch2l6JNg1ipabT0ture/LZQMGHLu+lZQDByX1ugsC2L679uwHOkHhaGdYAVDtEz/ZfSV6IgwvbKuxz3/RclXMPBhGyoGeyjI2LWp91pC6F2LA8XWYn0K2YQStTA/i057AN6u6+llmO2Lv/dtgEXldmExb2dtekA2SUqbE04BON/AIhoJWDPg5jbHjUol42zCKKjnxzidWuztLlT9co0CDKS/1paDwUt2I+gEa0OOjxVumnvHorm4Ba1Jsc5Rlrvt2A50g8LQzo/ZQIW5nkrvby6K9E6LiLExPCDEGewAN7VV8bPncJzfSCPn5+t5yBAQ7mDy1HIt3lxBoI8OtzGkqcGnRolUgzXmHuoULy8yutQEb0DYlFAFK1e7GjfSZZHmxtOQmMjv5cVvklitKTWxHWiyGMfvxeXwP/BP6CCHi3cXq4VSiFHdz3HBpU5fY5pewtqWlXo/ZO+7VsugJZmyiPu4UWNo/uuvzuLtF62W9UToh4tIXt7+oxHeCCTBaYolLM+JxM3KnqMrpbprKXkX0afNrV2hGE2TO351NRH7SOk5+/krewV+BNwMy7qByaXQMZ9X/qIlCA0x3k3/LFkve0FqU5FuSvxjC3fdWuoxbAcBIk1LTB3TOJHoTPm2Yt/MlazD9z6MzedHZvuI2ra31gSR4RubDGqwaxkt2LJ5AIOspO79IJJcO3GmKX1nBiRfpB+TsfHGQIRJUmB/WjrrRODBcfyq/Te+TiAOo2a9gBZCwpK5PnNpEalnnwnc2dWXW8+DB8vnfgp46h/dkSoRaqwooQsi++zeJ7Umo3PAk56MmUhkg0Ww5X4jLYPk2u/UTnUpA+dsIuzmXq6JtPKtStaekKIPTrN0nc1L1FSD0sFRlKbvixwcF6DuS36wey1lxEJUiozAQ+Zi5uigWeLSI7M2xxAQc6Q7nz/vN7tB9aWRTf4UAoX8Uq2aTEqTnArux0sHy8i0I5WnRwqHW4IBu1zpfiGKPJmpFS88RxTI1ILguFRJeoEL6yG/ansuelOXK2eUL+v0EEXi4Ofax3fgpiiiH6w6D75UyoANlV9CuzuzvR1b5C9P0lLtGyUDeHE/Dwx4M7JD3jzxJk4BVDolrb0Esy61s13cGcar9UUBcVv+adbeDoxWiWLq2OrmZu74P0GGy3jkWsfMVqt+3c/CdvI6G7oO0w1MtV4nkARAc0nWitf24cmgb3pRVBUqZb6qg9J/P4hgkTL7Af8szjo8gKUzYhVxtHzxn7A3mxLg4K4fNtyqqMP5m4f0iR8HklRpUYvXW/AUf0wtJdoWkt76+jFVbgU3wsHjD80cD2F7hEFGVicq8vHhx22HsSdUuVoZX9XahVdiLdjo2YwXjI76ih8eVqQwEcESqNslZ4iQ2MzD2Tt/V+0SixCyYOoaVxHIAZu9yKtnMSJ7tgPLnKjpitdPC4zxYzGtCfs3v0Dk6dv3EA3AOMz902/cHis25GFTC5q9oU0QbOEKjWCD+IHsHT3PXPKV9mrwGSTJV6PffyRovhjQWgWVGl24FeM2Howz0h/dbEFXh+oBInTN7PDGIyIX5CTCGn5aR30dZ7uengMZN+8kUVdAitGnFOiPeMgXMT3wuyHdjBudG51+IH9V2wsNwKV0FDj6sD0vuvDstjeoH2KpGIr4W/wQD9asPQRLIJtQu9CXoHCrs2IWOzgCpWM/iXPggEJme2ijxkkB57PjM1SAf+Ut42qFG7s3GgRGwWyDpHkkDuWEGGn5G2AatS4W7ovFL1tMrLAQ4T9scnH7OtM+3AgjYyhIDFipiRLt22mkm141LM+JyYLoW/4O6VI8GPraC0DHmXfESKyrTWGgDHbicnK6+bB0LwVa6eza3vFiUyjGGNrZBNxZKylPCd5+e+Jynd3gS5y5DcVt1z94ASeosnY8BKjVhSvha2VwUfrL2rl8niKl0Fob1gzGraI1g7afbn993idgolVmu7LgS17BfvHzkdrixCyXSHvf2pgMbuXTVM4U+llhGQ22dH73+WZeaLWQdVIjWh8QCPbAI01yfep3/v5aBxEMZglloMOY3rf0bmxYJdYCXDtsQO9Enw49fb6CXfJ1EOZkGEMTFphhKQX+UEYbIbuwIdnsZtp/GBH18fMb8+sd7KkCejlymDBn9I70RZk5RgzN+o1+btIwMyLYIeSfNLDuPZEzJmplA9Lv1n2le7y9aiXIDIoVMbPTBFgSi3U3rqFpGOs06OHQuXZ+Fq7+ifv5OJTFqcwmpcNBB70dW9ghUlhOfdg0o0l+htNkTvh06bV2bOySIhvhD2sPX8uEG/L0V5wEZVTlYuUQ/HYF+OcDuDx1/dDfrADCzDZIzIgO3BK6udGy2tgmcJJa4vp5DLWH4FSHTpgvylbBieahFnlRGNV85xhjCUE/ZwpBL7955t6XEafHC9oXrZxrCYqd/M3pSrsSlEKitYJgseCXCNuqG6YYAR5K0gPuemDiHjiuufoB4TYCR6+oCNHUIRItVx34hod4apZn7aT1oCbpWq1NhycexNGMlgEq9qfAxx8prtuCWaD8agPq9hmCdLwbOZ3yF08Gn5CFfT19jE3L8qCE/ZjjKrPizxB/zABBUUaiGCvKlQATvsE/sOhEbYCLHiTao0swweJV2G/mr1CcqenNAJ25DixHAKLdRDK9q1w658loMpgpcbuy1LjrSi6h154urfy3Ns7RHc1EmqUSbtA6K4F1+m5Sp/0SG1n/tYQzA8ysTiTETjhpubU9GZrGBbW6WZ9WzvltnJP13Jjlo3RIz/DoBxjlyaLb1JLJhx38XcxSKcXqAjf0RSfDA79gNCKt5RyER1ttgEanKmQsfZTyXUKLfB/A0DbUZOwcKhwRk2k3P4XrNkRX0KJjNlNb0BcSRcmMW1PxP03+1DjDQZLYDvq6zkn7La7NtQHEY8bO39Iie77q3pJvaaxR7fWstTCAW48c6waNeh2p7fzL0TZRG5iOALQ4eAUsTUiXwajWdbqQoNk0TjHuGgAkRKGQGhZ4N+WLBJB2WGabSBecy/Qk7Y6EZ3qGEYnEljM4Y0D+WM9/CG8V5PmktYi0gdipTHUi2u3m008WG8PalV219Phk4mnBC0Wes2iMJuTaoxC9e9RoTp9MQxvB0gd/y9OWLr8btCECiFO01NZB/pbYK3Fx4kCtQwfLkasTDlmPS3q1deXOzxm74Of+wabTVoRdaYFBev/bo6AUhswPl72DXlNVayDkpsAz12MvqpmlbMQEhjYjavpUTlKibF/F3fc7rJjTtSOLh1vcOm96dRJItmSlR+PCeVvCa57i0luONH+Rw5KxDWHWxkKZJK13IG66bS1wocLS+USjKxE9Q0YXfiwPY+NyLwvxOz02EThx3t5vlf4X9aRGUGM4AcX/LRvlNp6Oac58QZcVuoSv339SN4llYamFKBWbITVluqhrmjlE141/xDuIBI11XcPoWuCYfP/VuKzkqla5J4QCq6AfNI9fMPfjZW06hiPLieQTL0U/hLjauys2MBe+f16nsFdsOpLnix6da5h1nAR/lQHJZy4mFjVns3VSpFFeskbQgI4/BWnOGVNhy6OoePcta68edhNlTNdmWUCqJQMghO489zUv3FvOnFzeNgaZykNFUeQmntZHKhCr5BRsbinEOQGojm/YRIhiyJVhqMJqblovj0D1IVEATzuOKNFaqqQpULgKoNitCYokSiSnE4JvYIjD2FuSCWJ+U9h6qrCJRV5HJbt5bnBY/GRXdQ0LZ4e2/GsF1fLAeTA0ep/dWv6iAQekj3O7CfEsBstbyAU/Vxv9Rw6tqKlui1LjtQxIn3MwqPElH/7JQxNtG7YRyT4NwSKdV/mBgXU+lX/rV87RcZQ3TlPJfE9Uva/NtxNL/4F2OwxrcWKnvNCDMRiKxRcidQZpu1hijqJI5fGrg2ctNzW19vC6xkNHF4fb+qFW5KH+3Pzl2W0KaYKCo3Z1VuW1utYcJfQSwjydkqTn4HoOEzJNzKVBnGBjKKJJ2d2Dek/YxGK8PDocMHsByCfN1evuUOj+JtQHT7fhMVAS/cewtYO6M5AHUz7+nnPTPNXz/248/lMVwI2XChvL5OtFM0na2C2reAkAFsaayssLqJwWF8bRlOJ/kjgoHkk3Qxh6bTmyOEL/oq2jxTae0h5TPVGiMH6jThvkQSyDKEZPq40dMnaN9wk4kTEOEhzOEUWR3ktpo1lU9YFeiTEHia9gRoAEV+HlaizilH/mTgQ9XCaOFMU09jAcxNzk9DCZvdf/yg/KihhXSMfAo+abXFymjFXpsWn2++VI8lXHf///8U6RSP38aX5i4UZ/D7qdcHIvSBKS6Pw9tea1OmkZqPUEPXWtIYbhIznXi/xG7s6K8QzUcXAAK0FkEocoEU2lMTd0K86N1D5J+FzhFg9W1EaeDB/mptLBYNu5alSjEtS/JiIVF/IyEthc6uoVORoGpQxFrrzO9ksxGTuBHoR5jAA9C/pBzqCG0EwwLh5eKF3mh6b9sqAD/uoHpH1wuL7TBmipL2L7sHe1t5zfSdADCOs0+dgpPoHORr0m7AR1NiBUAb3RxCmrGAsUemfWJ7YRmsOo5PlJNYhL4Y2UV+jFO+/TzEVUfpBff0egI2WDBIl2D27lF3PjY3G1q5o/YnN07wdftv/gi4+PnnkSeEa8y0r8iByovYiYP6M7XcYBQEBwfR2pdo676Nm7UIG1SeCNg2kjigKYb6Me6bk/9/8AFeOGDB4sggAeXrs8y3Ayi1Exxu7O+863AO90wdvm2wQSdO+0tamBVD+aL2Af1qH/NdkMA/zIFLfBPtejoYHlJ2i0HJlG+o3j/AOmPeol709chOkpa2XR9sBEh8ZTpNYMDr2vwBgy9Sfi/tpAd7Xy3/ZH/w8dIsPc5fq5df4qLn97V+Bd8CMOUeh4zUNIyKHiQHgA5H02VsMf0mhO1ivBpSQT5Ei33uWzCpJ3Bxe32y4AqK3D3aMOfsr3KRz60Z6MEzYRbanbRntVbBH44KNNg5UvISkPHiUr8mFVDKWVrExumrwfRo8LRzbbQLLEeihVxDBCietetsa/wlUlhp5fH7/Xk6GAPlxK4i5I16PjdpL7ERl4DrmVZM53EgVEyuYDC9yPxMfjFsOcYF3CNQ0BMnhLmK6noiry79ZKb2bdLPvBArGUjlxhIJ6GdvUcAr5pQVezkVfkfhD84pYKQ7AthZ/oqoRVaavlDgzhKcl/0GE2JpEC6ZuN9+WIJpedX7kqJE04+ixHdUoHFSOen0io93qf+oCVhI2vRPV6PvKi6kHYoqnJVDGm2HQvUElc3SxokZAzx8HCDL086lYqSi7oPi1jDVtLWcgY2X7yqI+tjhXGr0CDire0eSV1zemnsRRzsRF87qlvagoPSW6u5qg68ExDswb8GxSUZ8uGNoW/d/6GWNuximEkYdJ3oGrPYol5UV2Y7CEA60+TLnd5son1ziMpafrD4IlgEjeT9A/tKE3O+H19AOAkIzHUyVnn7Uo+TIZfPgXTj/HFCuoj/ISb3PFng/OZMVyXQK4HbxcL3jqvzEAAYmDVTg2QowalxKc4DaysTXlH29MMCf3hwKE2u2KV/TtuWKMmEYrnO94YCGVBR0g4y1NCKkRH3L9c19wWgppFRlo/hAmgUFlLVclcv2davorhiHS6+yJSJeiOg9y/+iFOg10tUx9jZModqdJEbwJe/lsRc/u93+yR0w7rhbDTsWk97QDf4RdJ8wjplJFedQnonH2Bo6m1nm/lgx7S3xBdnc8kRN+DmLW4YcZUoAg3YM73mWTeiJe8n8uEPzZPA06/oRWdqgIoY7lx2l+7D01WEGTFuicDm4XakRfH8PET1tWSZDfUvd2Tfq28Umv1Gwp4x39GplO2xVdutEkf5KnDcnMGsz+EnFwCjj19bYSWtTKVFFfzueBvJ7NdSi9JZkMX1ZnNlofPOLq8bsqvSWXRUeWUUik4Lc5ySFeyD+HRywAGPGOk4lEO4hS0Ll8/8SA76s8UsFfHIlla8BiMGj/4Q0qtsvKg+wZJb6sNxa/XhQJhzWUPP+F7g6OQSprrtclgHUUGL4O1pSo89QM56qhUh1/A06m+HZbojygyletPJxzb5n5O8kB0b3wpJsJD3RtVSrG/nmbJUSqZsqhr0gWbd/qop7e3krHPbrOqZntMIP0tBWMAmIvc2rzgJtxFIaoQ1IEKvQoIBxyDP3oJ76shKJcj1E47a9Z4mDTuIqunwPoQjv9XxeZ3QU/miqG+uXmlwyVFBodWoTWjTB0CDop6r25aId4egTnUNHcWWNUH3o5l6tyd/Mbx5pQnSgfJe6p7kPnCTD1Nj9Lz5CBGCGDSWrcZV6I2XHnqed2DatLCZ3rLQirlCVLcsuOzazfg4WUA8b7KkyxaDFPJ5iDrrNmHFIhJy0t7i2SH5SmwSZHv24NhANKwE92q8aAfcRCAIJKOaCcYETkYhOZs61CJr0/OTKckSV9N7CTC6xRWVOrzF+gNj3UxjgK1P3D9jPB4iH5c673C+s4gRdTTwpAFjvBjZ3LypFjF94HmiBPRpdH2I0/turu7DvCgs6o8XdV2bG4e5VssjCR5w9VfditlpxgkHgz9uh3FiDOL7roGj7RiFPMxEhLLL0tAzSUPOdfgMHpzVMQileVl7xXuSO/yu8pCzkLFYccHinT2KJa2IDq1ejNBOBEhIenxRcB6DBQMOjAeT6dIk5Gqy5XxKonUVq7sTDbcnX8ayAc5OcZziikpWnm3Chl56nFJQL4Mz9uWanb+0zOOLHrmqSitImGre8tIzTwF7zrsSP6SWKS5BwNgVpf4MSB6ztAIMDBn//ZhpF6KhTm3HeZLsRzJajB8AAVsokyo640DzoBeF0zVSTXFrVnOWJTf3NWT6hL5Tj0Lpvkpm2ErSUadv5yf2H+GoXXcdS8kRy+Q7QIRFs4hHOR5EJwGOfTnZgSemkVhbFvoupRKPejKF27oociD9JXG/mcUPtpzScHswEJbQQhX2wKqUiYJBToD2hDyyav7yBWLGcnvbOvZUiY3TRmGOOF5qJkNk6ig89yso9xUaztij035/4XZ8+isUWF/22/NMhcZIxG167PCPOtbcpWWe4kI4vYOwViHntRpgNUMmYAUaw/ErFM2jpygeC01+CfkDI99/5OB1BiXM1Apu/suh4cDWabMByEuEsxitkPLKpsqg/TS/2565HoSp0EnbAHpv5W9swlgIpjN7CHK67iYLKh93tkiGAcax3ShamHNor1RIVhu36vIbUraUmc+no8gjw3YXYzDMnsZRpn2KFzchKujxZTmfuATu1VpPJMNDbgZv7mQPNvfDLpxp5LLxrBZckDnI7z/dndY0C0Lup0LgXLAVQJ6MGVR1reULV/7khbqRfJ1D761YV0rMJ3oo/r5wbn+dR7jISS5ygwFriAJioF3Q2d6N98Tju/ZzqtTsUfNbqNrqMJPyZttuGGPUcQc+st8nF1/FtJR+dzimckPBQvUHJKafOXNDlN+Tk8AJOkEQ+hvNKpjWutC193p/Pr4daSUEoCuI8ZBllP2chAckBcD8BBzDf17BUlmfEQ7cNXzbpGf4/6iv+cvUI3viZEOLBwTUTEqC13dwfj8pOYS7632cwaeRYkLPCD3cp3LksO7Kob4nTbpjmaobuvsHhxNIy4CN5T2qrr6EHzVIiEc2mB9lwjw80W8Ztq1wmWPmIDTweXJYDeLSW1lk6F5QwZOlLzisg0mrJJ3Sbb7ZpsvhwodqLWt/KPqnr+jKID8HPJqQfXvPBDErwziplXfn2v3Gbru0STLIwJjjvFaKzaGsWfnAY3oOZxsireaADWqxZDh048yGyld1Lishz3U83H+fppjyCrJHb/H13vs/XYoD5fIS2mL0NT81F1HNQ1CyC5eIVMFZpRlANnd1hjvRex3IAAy00Anrh+l534jrpvMrygMe2wKYr4zhBv5zN0unz0vln2FkeJNGMCJiSe9n1vONzBmjGzBF4d1OQU6J+ZOWhMwuJRHh6Zwl4ROju2yUH4OY3BKu8rt34vK+yD+pbIxl30MGeNUwwS2ohX3HF6Z9Ib9gLbgDVMqCS3ovf5UK7KcKE/OyXADQ4RO4y5oatHmTa/sAyxWYg6oMr5rFeYdrU6lju2QDXitZANeK1kA14rWQDXitZAN1b3SgkrJOTu1KKStAsPPpnYLAM6JQlspmL+/EZ2UmonX+zZvvWM/aubIHHTcTFZ4HGv57JKQ3qkejNAdSZUaq1SLNYzSD6IitGZGeF3Po6+PVjExN3I9gievgXXmnYDZYNp2GMYFT7EfAAa1yI5cOPYhqb0UZOBXXmQq34GHX+EuxyWgjw9kGharFzyTOxBPMgRRHELMzpp7nW06EGXkafFJUcQeKAAAAAAKZxB0mrT820vEtT1QCn4i1aKklwGLE9u2dfPlLbVie0lZ3yEFf+uLxmFzOUXZINizlMOM+a99K/dWqN7OhInp7lRrSYsAuqbQXq6wAAAKQjUdW8gbCUPLmElJhgAAABm3nDschZCnu79rDFvAuRfo0jq1EhLB6q0rzzkXCeZ9rxyiUUharROCmQBmbRUm808tw2fHL7jA0ZfUl3OvBAA3zxndOo5e71PnZcfwfR02MKUjE/pHAbRGTdqwQrtMhbz96NoBhIiArUQx/4idRqBeJmN4PmmySck5erxBimrdF539g/UJlutnjY+Ck/b80pAmL8tPZrOuTkXr1JLQXr82wY5CjdtkCcAxngT3NmVQImvoOxYqhqYpW/pFpWsMvixFnn4YAAi+NgaC42zgbjWr/F6nQo5ZV9++L2023L8d9OYW1kW/OAEzjCVmD3ZAJbcnN9oMqwRXFrzS+akSLvx6ClfknDjOlfmFSLgQ2J1Z09v21E3uMk2eQg4AwHqcANvsxqKyzW7sCrRP/1lEhwnsw9OJaBzIjqHEs4Nzkczfq+mziEPV8HCUqlnnDNWrDgeYWlfRhKcH+k+PXytOHMc8p47R4wRCMyKXRjoQ/oCuQlf665eP67TaCGH53+aE3k72FHhXpRuZVqS1Ri4fZ+HPbtroGNKoRsPjl4hhQO4y1RrayUDNSCSKzIAmmJL+v5mN+hMaf9ftyt320NeAA3H519cDlC/ESQFYjWw19RGeKfixFkRhKxiAAC0UKjNTr8A2kwA1S2qMK90Amkf/MMhIBd+u6hOx/u+3hCxsejeEHvJkLV8Urezgee4KSDpTxJjMQgYAgm6Z9E/+NF0vNP9Let+9ulFqwZNOXyKM7P24XO1wI+RTE7GoMdKd1DC3KgD1Xlmvo3SFUyPhTkGlTkUXy3PCQll7UAQV9wQUrLBElynZ3JVMe/GDZqETnLqQoipfjAiJvlhqnV1K6KwfoS2zml3jdtwZ4W27XGF/hIZbTPhfguN2w1l2XL6e7AABiO0Rltb5n22NerxgRCcuodwE+QE7QNXKEiB8TBtaCY3NCBYIlRxlHISgEsed6JEQuuqF7oKi4sMXfbwaCzAGnFrA9qbnbzUtMziVWDQqmpHRsVo4FjUG4dj922gMmr7bflIzpvvATUVAvEdmredl/AoiHDgCxjnRwTGb1DzORIEQTtcThdiWCIDS8JZT9+jIiDVmwJ2TAhrs+TJtqLs0BBaJoS1NWDL4VnX6gIumfCboyQzlOfnVs4Co/sHduJx6c0mSL3wOLyVWW/IAK7pnAUVIh2GZTtcaXXvL8kfPQAAAq8NWPS2/CLbCRBSlQQTk+kK/nnoHTU10a2RrhT9tZjaNMuvwOxplzoXjvzV5J/Vl4qjGbsNQYAtcl5/BFleNec+957v9p/bK8a84/K4X5u5Ttli5lhCwKPY5b3AqUWKkxQ/zeiYopq7O8JaxHlIUNZdodn/nlY9AZkTAu8PI+BaFMCrg+Bp1GiqSve3UsIH8NBhI6hY46qGRYvQzcB6PRJkCYJyBBgxlVhoSzZmM1hO+g8uTZhITvqy41W0zQlNBfkXd7tknZK41TLOtHd/ypwvCZA7tH9CPemGGGd2BaiDh55b5j0GwnI5R/Q5/z85lhnuy4nWhR7w4nH9bPi9YRWkt1g18cG0wAAD8HKH4Ve+E5wakQEj1q9irRE+vFr4Tofaj84bMIlRPJuJWiqrIlbmxIiTCjpvSt/dCiMzWZuKbjGf1Wzh1dsIfiHImcxVFcyDzRbwKhj4AhAwwG1vKj3usCp+YKvZ9SQuB6s792dZZrumGQAHJCzun10JxIf0QSin6OwDKAchYgOgHt6woc7L0ezJZa8HqkIldcup0JD8fWIQ8LF7XmNFyV+rXeMJJxlZ0bEccm3H5TbPJPhF3Dkj01FDudTvrwTHpSTETTutbJrH4njC9o4XQc0bI5Z2D5Os9p7U4ljB7ejyNiiFV6O5NH+zD+CBV7n/htl2IYOiF+dxwf+pPe30xIYg8KB3F5dKYR8HeuD7iBQQUWdTPgtnEyy046/+dcnJjH3M3VXeMA5sd1lJFvi/n5BrAvBtsGml/3uvBPpxSYxlNKkVNktCrLMbDF+xMV63vqAkWZ5Y51jt8q3lc6c8PyJaYTfobBFOhE7wJF52KhPakkmeCZsPUPC/GctiZ1YmpsYev3oRfFm+jmaN+tck0I8wysLPRfrn9bVAozmAAAjuAQjvFZWLPR0ALhKWYKsKZHIHqkBrqc72scj/E/G1bGheB7EkVEO9faHQ4fjcK2n+GEU7YP8Hm6kvM2Ddu/xGBn9E7P1VPpYBiAMmuWkiOjpc/CO+luWarmjPTGS4aAKOHSaJ2HO7+mPToB84+sXWiwOckXv/bd8eZxvrdO/gYytuzzO3so6IwxUarqy8CRU7tRr18tEqJUkxYGypTOxLZgOSJgjGupY4w5+Z8TOAt4ripfnzOx4Xk0XYKtNYQ6+kC40Qquy9AWmno0yickmZXcC+/tB878Gz8LxnoD7X/05p/jenJkfpVzZc+tgsa1yH+xTJQtOb1qTeJtU2mEPTO9A9y+vA1NDcaUtTS+Nqq53jX4QtOrOVC38gPJmC0dVJe8XwWBhIEmbX3EGdkrHkePTbQko+21G9I4OG/TtJsCShmooxmS4hxfIwWAJgKXb0kYqhEiVUSCVNW4pwIcNXVmGIvaQXoZdDLKAY8ZCIs8mSrzpx4x05NS4hHf/eEF78TiF8NbJ0z/b0f2Hlm3nOtAMPYRT+kmCc5QWjLTh9sdxPrMntHLf1W+pjRrTiyryS11APBVxpI2OwTUs0eLl3PTIaC5EV54j9nx1MCkbI5TF1aUwGfSyrJcEynsaiUspCtov477dIyhMcs1r04EQMD6ohGxYfWlAxazwjTFilClpr66uDhszzodzCXDi0QBuQlx0utBzkRyMSizYu/Wip5MTgAAxAAKl0ibQOgv0+CtPSEtvEGRmsKyhB8nQO/xi+LzQK80N62lfz2qzpX8jCvx2Ate20b0D0cCUvAzDtb34WOq281inTGNrWFAlsJb6mo76iwrkJe4afyWe9Mp5FRc8PdtGWGfTKDtBVxgwfC+3POte/98CyqCrfJDVzDKzzpwpP6u01VilYzRmKPi7UoPy7a8Sqc9F9uqSkiuqZlyiUhkRQ8ZH5KxpaSJBDHaFNoIwBX/5PJQKsMILihM+JN3yfmORYibI0E7X8Wtlo+BucPcQgSHVBiB1PfKZR+Oc/f0Y6LVuqvHpLhuUEkDSwiyjobbAtvf01c6gzKIybEMYAzhsJKID/2AhI85lHPrZ/zyik7XESAHFalD7tG+0FP6YmFTk7oKYIrvkSo/PpjezpwOjqOHt5VMMlz2kcPoLssP29yxnwyoLXWxPNwCzdGyudO2IwBZOIRmTPzSEOUMb35zHPOmCmVd67wNtp/XpjmojzYbcCeOQmLgYJmI2LUfXJiP7TxpiQmFMK5dVVMDCa3YH/KHc1EsGtQqiLgN7hJkzR66N1ZTfYvscBVnMkd7ZuQohh39BSpD2+dz/JxN1HNuTA03skYWn2DQzrBZg/E7QKlEu5M6ntOHt/HpUO4lONDXtkKsPmwB/1DeahjhB8CF13/T6ByBrsC1kD3SYzWl2kLirs1MZoaJV/Q6d4qnxs1PIXsB5+G8gB3QxPwFurmhGhMu0Tri9cJ8MTgLe/k+c7nXyNiOM+nnX8YYIi1yNMrwEBF1EAAbhAEkp0Vhp5Xqx+Hvk/xvC9BbFVlJ8hi0PpSTs0sT4gL1nblBGJDFzsMA3cAsbE0T8bRoyj1PzArmdx1Oqj/jtTE7fmt7z0L5DQZBPtsu4IbAOk5RA08sWihtaQ4GaW/hou/mmay0f/jU9Xd897TocMzpu9YigO0H4I46Jye2ZELoGhldQC2yAVwjl3Z2R9XXsUNJwofkHk9MJYxp1mSGew+Q4Befqa+1u4OlxFiu+T2lRfHiUx9qKBem4n8vTJjrKDBDKBPGBDOpWXxcu5vrDpxwfqz5EVtVEpGW6E1SPIceJ3kHYwht20iQQy4rJV+8yhw1ZYCat7LbCMnnGLmpBdM2R9YqeFBilofedV9kMiHK2TTaee69U+Nd+25/wcyGVBYYl98CJU0u4wEtwImJwzhuikE3+YBsvI8clMAly9zfJcDFUtwV10ivzH0C8OHkn3fPBcSluJjxFsr+9N9X8HE4HEGBpgS6VDP9WxXned63XDfrNQ3xYMa9GIzFKZB6H8Sk/Hirm/E6nvQVR9SSVya64CmN7B3EoyFE9MfAIJlL78oIyI6G4q+ZEML5rOx3vkXXLnJKSPgY+zTS/QMfpN1uGxj+T+hDnPSNJZKqE8VJ5q5xKFjeUTpLm6cw9ES87nDWmTYa2tCw53HQ5LzhDNEHccp8l4ILAR8jSWtZxifNQAANrKWfOQ3gSZHqNhxej+3VcrH+74k3j3X9agfPVWPN9Bxw+qPyWbw2/PNxnOK08Fp5qp9Kt5e0HN/kguvHWvs+H9CDLDBxvvqXNUGgvu//K/I5ppOkpjsNWz35FIbexlMKcrsEgM66Q7eWQgSJ7xd8efyB25Egs6L5ZhoP148talMSwJdb8aLaMsqiLDDxltbuXljslHRD5ZWHss6+6inBsUAgteDaAY49+CjR1gug3h7GLw8gyGr94emumfNjs8CtgG4jz30fZl3TV2/IAHjDSXxB1WG4J9jZqSCCredNI7LaeGDvCOB9SLroEeqCtvzuKhXjnCKYEWMeQvKBDHrZE3RWhZHIrpQHGb7kQe7whkSTl7JS8SxVEg4HqDu8aJ44XtdXroIcH4nCROY5Ukzf9wRD3qW3SLVszVA9o+GRh4zMwCs7mxgs4LJVEJyieWmo7TsUNegSqXUQVNOFR33REW6mVRkcvemqbacr6rAxfOG4PymNX7Dfgq4frR1wr7OPh5mP3/eLAe5HYLGziFRAigJBSH+58RE/zIP2Kb+aB2Ed6pEWwAcJbkbuzeOtaomAguxnh0rReP1eSSYanksvO+LtGLIwuci3bIf9BhBB1BLm/e5AJV8RGwQjrZmkkOwmPPQxpYIDDfq8cE6kBGFFRAC5C0Vnh0M9jTl+AyErW0NY5DBfQ0DNInO1gESoxAh5ITp9j8yGcmQAAnOd83+wkTaA2eA4oyhXh8ueGi9/pd0gxSSB+5OniF59I1zAGJt+cIXNTqSPyZ3icdsV1peyWrgoSDQXn9LAv8KnNzfJKJt5Gba2nwFGsdd5zpV4KbbG1dtu1XdzznBvkRcM7P7btLzB89Tu80z7ImeL3IpHYXdm6eE+4HARrSzeU//9bBmVtgy1fUVrQYzZh2ikut0rFQM4Kzais4sckvlU8rrXJa6HllEKbxNQygFcjzr6QaEmWoNAEqPzH6kpGxtB4wOYb3tAsfpnulkOwKkyeoD0xsBCNovl+kGHs+eIYKrn0OEzASo/wgHeHi5GzZO7cEY8dOOJxny/5LZZKGIO6UJ1mL+fg83oX/hJzr6Ht8XAo3WPGaYDGWzAKGkYEOkKWO1OqFSdUU7q8MDWUC7Y+zVEr6fF6+mZfXHJHkehtnRjeQzBSNTtg5OvSsA/m0k2fXPTtv/Trb5J4tUKaa7bQiJnBII9tDmyGrEq9de+z3X0CNWjTz6F5UzJVE2umQ4jng1wjfrNPf0UxT68DgazjLk/P0l2/tlmaFwzYrAPHGUBVxC8on/XCgFyk8A7oeuFvdaQuzOC4GpDTqEk+8UDEx48whE8hyI0mmtfQkwgZfGV1CLiewddTRD76dgXvKp4cNfb0AW5yUODj1maceb5UW2wnSq1Ti8fEsdkCCcBQXR+K1yF4cUdzhwbv+lWX+SJYVhQlKkhi1t4U77miBjs+ECNQqfOJvUtP+NU3saRv9WJ4c5o4maDjd2xkYoZojLReiXF/VWkR4A3ZSRG0RH2ZA7MwyxrARw/xa8z7UzJU0HZAHn4RDLlaQxsfUepu+3jwnQL5JCPTPTzyQI4/fSwYerCPn45EWHZqGnFB5FID5vcT/CUAAA3QkCJ+go4Xv7FVJ21pLPQYvec3BCC/GV0XiG9c8Sd/dDni7Qe8R9zcn/JQ0Gi6sZ/DuOmrVBZuVMFRSyRRF2lbpv7I7bnyk6hJEYW1Ltrh5o/c2oiTp75M2n1D2lMzNIqyW8Hcq4bYsfYwprrJ2FT4/zDg6meyHPzTyEa7vfzWen8we3u0+NqCDvUQlgEoFpxrpOoJhILgJAXLww6mAERSlQECKbayA+G+aRibNk9loQFqDqxVbXt1PAQpUIcYqj+W6Xc6mdYSVHSR9tyqc00IMatp2mcUm2whG0NitZBVzZw1KaKr5UpcD7gx/17vBxtly5cRJj1i8WsN7tzzgY+Po2UMHx/0OriII966pzNYPIK+PikjSLU9rHx0gk0eXRaurw9pdZc7YWtr67kTK52daj5D3ikOMhBnfHbsFzj6sQUWcSBvka/uAepPM43Def6BCWmNPeG6IhmpEJ+Eg/V5DNe8rYiw+H9AfRLMiExG4LDlNxCwZJmoLpXqTGksUam0IiduK7zYiShxcv7F63U17o0nX7gsVmkipftTylwXieLibbisK3dXRuy4fEhn/aW7GgJXwTJ5wY2Wz2QXV7l4n27+q479FG1LZlVtxYEcsdt1Pb5wHJdAKu+EsHQB9gOP4SrR4i7+71phlwepvX36Vgi8vipdbOi1MrPZERL6WbYw8OpXvAMi1DDCsqDb66QQIRefYLJ9vwYrV9tOssq2CXAFUifCaZ5QX1lhNeL+y4Cq7CZrLuxQXTP3SYSO0tkTeDw+zFQ2LPR6lOPdfEe4NL/v6d7dYjIkpKsafevbhoBBxMGZjS3CRKw1CAXFKHa9PBMSVc0+J/bFvH7OmhR91FHASBAHTJGtE1HYc11H7/h5l1BAhuGnmTs/s12a7na/URueQgrIFQKFPowI+EZWrevtml95IOsN/sRVGj2sEA/w16FxzE9TG5lCGc7Ju++C3KgtUYGAC1ByAqC/ZxtTH533uISjv3dxmkxL+IikcJz/ItcRBGbaMWyIhWNDHclpSUT91lH7fmUckuWAnVlNmjnEQooSgaWEd0LRasQanLqIJZEsEXbg5eIRnlO1hGhwdZdl4OzzOzy0yHCc5/RrI7fcCxNCzVcBqpVDjJk8e8WC2lx0+LqFcaM12pCjUjM4dINZP5iEKcuEXtayU4ElLBgOlTdBegtnw3aGmislK3YANY6IEyjmqfNcwWUrP+NTlubGoHdRkAUi8809UZb0+V86gMbop2RCh77RA1ZR0vFEtzvNtvQ0xd6z5hxtuqkfWO70AZH2VrLMMecirz77GJQNjb1q/6lmsGsNRvk1J9AnkymMHpOEli6X/jJXAucZBGMdpKEhkhBt0m7V3fyhsKGB26WRlDh8EIhIXrlYebQJHYTTgx0QrENS9TSLg1DpZ1hYkeyoCAEKTjI+RIS3ifMKPtE17REViYFkMqUU9IGAF/z5L5NbV6CqNR3BjyO0m1J8A8Xy2Ipqj2JLt/BUWsuEZS7Q8twTI5AVYGFrTmMRwN0Q6dXktWUtnpBiZQ+aahuhE9jrpumK4vbHEu5H0+40Ius7Goaimc9niAqeJzM5qBCcr5qFB8JjCZJmmcZCCCSL1rLcSJxle2XmDMLQTRis5xWdcq1Rc8S7EhWswUhDNz9qPU/Ydl3fgP7XwH+FPW1rgerGSRVOlV3xu0vLRG2jIP0ynoDXcv3yV+eTMt4u18E5rJiU0YiNDLzXDgk7Jv+aCmfOkl9NAC3cJHDJTuMsjCepZvwKcaxC9y8s5ptDiG2gL1Z/R6ACKkye/vW428R0W2Uha7EAJczsvnmjpFP4im/n33y3A2ltO2RSg4f/OJqJoJPwAvbqZGK1YW5KpBuxF8RT9j62egMAWajPpiQ3JCvdrjtnsm88U98GRNLUsVWtpdz6wcp6ywY/ytuTZfEtGPBkKQ+PKoFyK1SqFStAe1kIPV25NdQEADuvMeohSV7pKTtpB34PA8D/SZ0Wa155Zbf+S/KaKK9ZlaPq37v8LVapHuUTZYQ2ynLVdVdc+RmFWwtj8JDhuQaGUba1xfvX3517vAKa1IUdNzwYLZy4BOykXwganVGU96K0tA0CPc6BYwAyIRkB/btRLqGo6Zu56Ev4gjymfoBrEMgGyRxzjlKMJnrVWPY4ZjJtOTaC1WEVyMGzII5wxaq3TyT9g0GbqDGrmOY8gitJzorNhGgxuwtRSweurHUysLTVHrpXbp/ljMqpLlF/mApK7B5rxpXknNiXLF0F5wY2ByKecxsC7fxAObkQC6Fk958737j42oLDDB6zqCiPkfDiecoJW2LVAKUfCmu1/cMF3jdYFPI4Vj8vZO20KSSE/ocvh0UKWKCAZPsavpwwf99dgYkXXZyhWsYjTLTS0ME3pePOwtEN9NIwcr61fWVcCPSKW6ZadT/a44uXToJNUe8wXJrIsufQ5HPk53SGHEWelTfsv38HlDdaVg4CiOrsRWMy09CVvfjDHISsyfR1Birvpc2GlcvBPL6VU8MBXYFX/p6iaGTrOzX91fS845ZOZ+xSExCAkxbrw7QOuNuKF+0mDeQFo4JVHQszRVzRLENMiFyBRGSC4UbRcYnbFCkjeMwYWFmZ3BcskiVwnKrnlYzz05a7kIGVKuwjG7toaVqshroEi2g9hFNRKQ9IfZHYfLa2sKMbTK7jt8mZT5xmBjDkg/tOVvHSYOgxhYoEZVxW5alVJOwIBo4QGMcaIxgRKK8E4LCmo+6FOQXs2gGvqhVHa8togCyzJlEK8sAHelc14dXpcqHlxcEecp4QL39R6vO//eg2Xj5hDRFrzAXqKP0qDFcYyg8U3fI4tAbssRLo8CzbN0BFJ1AN5W9xzERpckhmaXUYARm1U3Bq9G12Ik9yLe4H2XfdptRBnZMTbRfsvq6KNTFuJfe09dONBcN/lPQbnpCRCKw5IVIAD9g2RPSr5DV3Kq7IlroFqtoWeFkFRaXJQZ3gCCegfBbwxX+Rs5ed+ZObgykt0RM9Qyq1a/LlKpcxEOoogD0LwG53j/0+8miTvLeSbF2MGgaoYp5zVq+hjavJ0NluqKjbOq36H/RnwkZN3s5JpNMz9LrpARLoVgihDffhLxVHV/E6ADMZ482vFRTHp8RkHlOYaJv3nq2CUVFx8zneLs0KqM56T/QHM80hSHo0cLdut7isaVwXscuS8Vn/b4ilkQO8f+fgTZroqYM6zRdhA0UUarRrGHLtpfbjkLMyujlcd5QZkeu4Ps9W+z1uMzyBqs/WwtGH/qAs5DNe1J2Z2eUcCr6QuVFCJfmiP7hZT2NJ/PrXFDJe0QkjTWqaEprkByl/EWodKfIWLQrGcm6pmWO8D9RvqSokIQrz1PA5yLkgUgpSKKfxAxQ5GEpAtpRKtautJxB8D46NqsmXHqMCU1kHZqjkrO+PQKJY9kqdoNZyQ0mm7blMbJERERaov1QwaclZgJUcvZPEbMQiaDS8Vjgx7VuHFgNqWsCOL289tVXwg/jQWDt+moPk2xAb73gS8MR3VEdoHlxAP4KaKIYhhRpdNMpsBqfVxau6J2Unljfc4ouAcRAwLXXTkwKd5usqSpkPAFx/Sbz4hdra1BN2b8QwMOVSX0mPfIhhv8j/3sEkcW2bSCP/wnoeEKH3akRT95I2Grt+/WlD4BsluOgM8Y2INgtGmhmjUeRL0AntkamQhrZ0rocZQGSooE0O/IqYdShHzP2OI/SpnvA+dZVyP1sRlNHmoqzibAA3Z8rBiUtJfU3B9Ynly4ccMZY7S0kQiJAcDMqwqxgrey9Am4DnZY4214ZnA2sCLY103OuduFWuEfqGw3At0YtvosmFes11zSgAEBX1lM5ldSXzN/mfs6zNS/YLa0CDkf4EmCAnAH2mjCy/vWgr83lmoLsDTpRDxPSMklut3HLbL1H+L/Kpn9fCt4e8mscijr5J4nPqc3M0PlmDsIHWvdQ7VsP+e7F80TcHZJ+DcPHst3M6bfWainm9Ab8zrlwaQvyTm0Ln8lneKEKzKFDoU03Sa7hqNdiY9/5aK4xzBQbsWDEzK+AAeBZVLSkuF0/MjCc3HjpbyOLfkd1uybN3NrlDd/HH7TNRAeamWnx9yKv6yCXEStIraa67VASBlmv5wUTgYkPCoj1VL8v8xC6+lhnS8jZX/GxhHVRyVELLNc/SJBGNn/JC9ANgPq2uX+hhAwc9Ft6+vUHx8uHjDlDKjieNcLNUgD6BWu6op0MLC71eW//f3uX3MeEtlvex/A5Q68uDgg9OPSWrk0Sdb1Yw4DeUi8pv9WaCJg9HT/juxBRG2z8YO8UqNIMXBqtasQGZqFa2kFTRlWQ5BzW7Lm3lj6aCXdRYyIeuu9wRNSdVyM5AWwzARe1MOWOc6EfGNX2Bwy43elz8opUXkqFNwJmtkRQQEgsNdmKkvs8NnufPiAGQmVxWoz2PpVqRBOv5z4RJCxtfgI0XpjYC1b/n4Pj6FuAthtbmV+F9dEu73nbQdQw4JSfDPs6YLpfwRKPN62bLLi+ptNzpLlhEDLKhzVRL5EUpftCOcMQP0fPGfeQEwXmSPoZI9y8RbmhhCEQgiJk6IY/+FuRrx9EfO4l8SzoAAAFUTUh0kEg3bY/mdqnJG2+ER+aygdPSULI5boK+iUw16SRKKsp5J7ToBxN5q7Vq23aQnkRmX02zUX3XRRJy7MB9aTUSwBGD5ljg7HXrO6IIIeDaFDndnWZyW7May1GoXBvYsps94bbMGN080JsKvMHElmO85g3CSbYiDKNGhRjSJO1aObThv2Q2kpGW0tj8kv2awBcQSzgOtU5FUCTDPXz/tNeJinrmZl00L752KS7wugnvh0dcWzjQ1rNKytVH/tSCWx+nIAvJucM825vTE253LnabQfaAb05KaKwnXXah79aKlKomHvhRaJIw1lRHaQP2RnbKMzPjDyvNV7x6E/jPuzJ5A7zHbEdjBykOkyeJEOYECI1DeF4YRSy4L2WlRZK3CCpPcVw9Yv4Nw0w0NRDdiuxwnpwE1c5MFUGvPF1qfIo+b5q6Jn9Sq5zaxiujrJT/dU9vFF3LJGEaZIXc0MOFBpfdfncP5a5VAp5HJOnT4WDTL/6Us0ewSdWU3LQmp0se2IaDz6VTudt9fMAWClFvl2jvfpGQgUsdU4Hua9jHLPxyFAIn3wTMPUC0aCW6VNZUwh3SNEQflR2v/k7UggWcmdTYysqnKwOi9pzqzDXGGwMuR8KLhf1IWK0oRh8uvh0ZB2ZHiGyUVYEfTzRdiWjzFvSBABUU0Dw+uNegMZvo30wue7PVzDDafjNlkokhAP04tjtRf+7evfAWX/bj9rZPZ0dH4yhch4Dd5Bqj1V3bAaz3woPmEHq15PkV7EkT3b03HvlTpQGD+YtFHAbbkkC05L4RkXKCV1P8Zsy6vOktHFzL5pHaFl+ipaxeljm46+E0y9rAnqsIy8TZsthuBhGFsaI5odT5VlQOAvXR4NUQCAHt6FLKl6MSYlCR4AAABUyn75muGSZna5d1TH3kOaY41NtWTe0y0uiGrTxaBDTZVcFRi5pzrnypgybVqdeNzktGT/exBVd47AvqlZUFKTeG1+LAiplPyR9XN2pieYKV3Hyf6AHJGiwfTwUXULS0ZuNsJ9D8NMPFRfoq4QqAnF5y79gQdSnt9MzDp7CjRNDT6EdoyUhe0M26TLdtHzCCqciGWu1S+KnxPfu63SrBIXkfnSdviF14rbMkVX6GGRy2vnQ/6fRUoGbXlhXJWvbFqSEV3jLM5CJEM7uZanb6mHzH9KrciPlmP4/3OD81sdRmTRrFNZgQPW9jcDDxGjYSpURcLVS7DVg0pGQM0DBcwdhunJSWTl4e4Hp4/w2PpRcNxeWpCB66AByiVCQvtwehCCsiZIVUb9vYbL6CPLviCuh5gTbigG0sXczBZ+1nr3PZtiiYeE/qmK/bsezXqH2o8ztkPxdbnHIJjn3e7bDipWfSB2AyWTbudd2WLmFvigyR/l/S751IqZ2lqQHSfJftw4idJNqnWqS9XFZ2XH2iQ/8ZW4taE39cc/EseMnObd83DrnIXDZBjLkALeXTx57n0JWId5Zg6ffaV30D5Br7qR4PLU/Vl8qDUrXgSnX8ZZ0DH80h81YcYkDqZoXyFnDNkQ9F4IMFkOp77wWV1OGXeHn2Ua7Cy64iLLSJe5CljQqGso3Ja1N/GgeifsqBZb1KTxWYQdyaODBrgKf+/k4h1I4jt52/eAqiiF8QedbOpn8gy9DBlJrsqoKXD9GGkJ4o68sc0yWafM+SKWUwzNmpxrcsfmMoVTVDMijogKAuRPOCThnzvmka9TlnAHX8p+V9UC18fmOhjMScL5zdg5Zk2hlM80PmWdmoa7/HfBegAThFECiIgDckgAAweopprTqfzA2f2eQVLRTpXzC4+v8pprozkNXZ+pT9n4+rmVXSrI1P8B50yRSVN7rG/ajQekO7vWCfu2t5vhi6T4cmS0+DTBXBlPVwzeWELsmZXR0uxLSsFSFDXpV94LSQu8CKooEZmxr6GzXTSd9hqRsFfVHsXCP/jw32JG/0l2mIKUEfcAGRIG1gWLkp9zO+D06B7jwiWlvUtNNCKhIWgveoEv7tu/D8DSmVvjIVw+YSta8g+USb2EjtA+gwEDVj4jNxCE2uU48tXkl0W/fQ16MoQSjiBHMCip4og6fJ6NJyMOqEe5vd9GjVEQnXVt8ZjEpwO2KOd3Fb04vXJOQMMQILHKfcxY328VYJW83atDfrgHSxXNpRHpywymbDgG/Ztg/AxqXBQ82Xk1pjhS8IuL/AU+bgu/P9YD0iCrLcihzEidjebdJJhC8RyWVVchuqUf0qjVB00bEM90Aq1kiUQIn6LMMUKzDNV8DOXA6ksSPzwFwNgYGcDpTZLG5dpjMiFOjL08JcC7pqifcui1ArIBsDLnNbtWKBXfZDBh9sIijSCh6B1xRJsBmZnmlLyRILbpZO0Wia6ilKrbq0+NY/wRH0QdCKgQnE88XfMEyMBFanpW7OlV4Nd60dUrn3eFCSf4WKCNEp4PZWCvMvnIYQpqFE+xJL78wEI3PKoq3sS5Tbg8WKMBN0vN6/i9Ufmwqyw6J7ZbinxJQ51vlTzdXx3c58uTVOh/+OCvEfkl3OJthnulvNV1F8JwO37F2edF8kW+qEYV6NMewquBC3XvbBv8ylK/BTUuXJNolU1KATNwyOxqW7cArYTaoZhFcUpUmK+vTXTE2w626ZvQuv9HTdjF6uLulBftIv81Qx29HyVfo3uvZ8Sm1KzWj8z2qhjSp3Ch6jKPccCJPEJvS3fsn/rxclwnLZ0j0c0zP6+yDOGWS6oKQbSFpHWrkdAi3YuFWWIVaUCW+WEFAjV2l/ksQEHcdT6YIO8q08TZY/vM1r6CLFpAQ67CthQC62tfOLXYYBxqCIIboPCeWABSd7EnePA9+JP8CJy5I662PAD9Wc7Hm6bT4rc8hH8R5YKwe1bss4PZV5BGlNgnjKUQlvXxq5GHJjrTnRet8zP2FdICOhQia70D9Tsy4wLIeDdQNqrvcDRDjbscQ7D+YggoYnbYTbx/dFQ+jR0zAv84qYAUioUw1z12QOj4qz6rkzW8fhWiOnhcNoL7dncupWTd5lDbgNavrvHLZ23OHD3QDwhXejBtRjoLM0F+cXNrul9iyy8R2IoCbXW9Ia2iJApc1LpAjaEzqkgFmb9C0J4gmHEKBqXq+qA48MaJCYERmC2+vXDKgFF/Dl/VR4ArbeoTrHpwQkvGnlQ7dJRsf4em+kRol/ZrV3gjxos/05K6s814A5FSYEnit5Uu6ZwxsdZQqUQRF82lIjiFmd1b+2W3QETn7cdCXRtxgeYGcFmbVY9effvs6wG5+M27eT93qwp+bkN5OJ+1STbZnUVB+ynLCMYBvh0kMbVuE3vYlx6GpIlpSjm1yT4b9MNzzRnGoIJM+LT16wwGcigea6NJ7nYfCFtUup7+jGDArvkohm8wWlGfO8nxHQAbSKZ2R0PMIy+dTaEd5UR4HlDyUeqvEXoZ75O8XeTME7HMsKhCiQ82mm9p8OgczktXMofIkYF15MCQjrlzkTa3Rmjrf1P3NA84YS+3gwbdmL4SU0pr0Z7x2LufyJjwjhsLqnm2AT/PDuFG23wP9XZ/isUCWR/J9i7qOQxCCymR3BsH/KWud/fCjwTsO8DSqJiYcrFiMy9SYsR5GKcwj2WgsKc3QTYUsUosMoNGMb/Ipep6pzJrrJ3k0PZTyzDCCuF7cZDsF681egPrCsgto1koCGMb8v2uIazBXx2vyuKMiTckLwXXrrY+yNTAgBfUaqVfMq3IdyvPDELkUyl7CWtdcblxOYgAe2eoBfW82TRjXXuNsw8c2rtQk+F35MzCplFOwe2qZbeqfEdpYpiHmfGhZeCsOqo3Vak886d/Vp8iMB7hDAS/R6H6+8Ezy8u8h018G8po5iUcGHG8bm3o7lrfBJcEA9sNzPQez02i7t8QXnQFS4hipvJHTwGQ8kSnP7VcU8DET9pqHTa+H0Xs6/xeMjkT0mxkhoUWRXX0RxnXK4NlQ7as36zZQIW0JeFWqC5+DcCjTwERwHAREBdKfRvGPbxBXXpTJhIAxqy9yHbO0cGdmyqvDtRKx+lrZ35Hfh0n0B5LI5jcrO24UbuRBx9q+gnuagafH+NstiZouQEkmKdTc85axqN8GNSnbjuJwAFZl8ImrL3w8uxtxgokOyU9IUQjsVNZbS/8IqFLr9nMbRMoZC68dVp90naA9MZEYMHrqr6QktD58/u0JRfa5EhCBJuLn/tHoc3hf9/lwV8DgLaTjaBes0LyNr0L/xv4eM7y4jbijpLho+AyAYuuiVpf6sgGLrtf1yQfy0XxRV+WbzsVc8tmJ+12lCvjM2dAD8e+V+/1vubXJLVt96qJMlAjzIEZZWDsU6iWp5E2PaOn7sboGVAzQTsQFiwk1E3HVVuPSNVe3GdPfRBHdz+xChrP2Zy1fJGeiiVkXSpWBRQvN2UbiU5AXvoqH+BWpRFvMcsz2oc2ojKkzLSho4ez68cbTr6yTuqPjAQMsKuS/mlTscYuw1RpA6OxCuX05qG4SI81kA2cS0GfjNpdjeKiui00IeAeM6vWXQIhddBVV8gkkk3eqLRLhfKUfqygBUpL/qsFDklNdlEwgQrTtsEQGK2lT82E/tKJ4+KszsHfvz+34lPpJ63i+PBhiOvHl52X28uL41dzgqIZn7g+RBk/vceLFHqKhEwFG607/Vnc4uEBzxt9D/uKF/JrOcbYy9Y07xy3MMwb0ag6+WOIATxwnTmbafYfbm+JEik9OGQAKKNWJus9g71BFp2QDk6p8QxbdjfFbILjXxA+7VQ7vrB0izV4wn1mFWEQVP7398bQcEsTvzfIXUEnGe/Fe1JLq16IKdPNj/kfkIpm4uGVblEIUXe+212F2zESMgrL+prLKOCJcGqvVePll9qPsfbk+TE2H3l7vtcXONeyYO1cGYdup0IxIMwO3Dr0gTwoJsZpp6Z0LhxoDyIHnz7rRrn1xSIpkq1rBhL5hKV0S7seLE912MbOnA7J0Jx7W+jM4X+zK+/Gdrry4cqKeb1tDN0ZNQORlSAM3RhQG0CCUMi6+7tDGj91r8l8oVn45Eh8ZVf2uXp6ESYO5t06ikkUDQM7XPuRTPX4M3BIXHHRQGnIXWHIWlhu76re1URmR2lhiSWYsszNUR/3SkO4m3IOET0vA1K4r1U5VH/WkE/WPpV6E8UimrkR12LZ3xk+gZmLW1BHp2KeNpwOjirKrXwC6boje8UrWB+YGA2QWaXuFBesogsuDHOK4WM3X65wFtk9GCdzo9uKPsp4AsMW7Q6egLpZ+o/mj+tPRoNv+OlUxxnASjuW3fMTPIse7xFuYFCLYZqLfLR2slKoFt88k7wAyTEhhOMNsXp2Hw+G4PO6e0x/wBztm8RR95SfGc568muuRl98pjzEacuECcu6RRQHlC7cx0bz6VGnO5/ytLmrS2l+CLsXjVyV12hMhimvb7hUvg7u+WKw1aw7CnmTXD60CdojvjteFvAkeZDKfdmXzs2egvfFd5haEhDp2IGOe6tdFCIg3726QFruMm9PkzK1VnUfCIUJ6b4A3hWP6CK9optHuHoPk8aA+uNalXUgP/4rEKblLh1l8glKOuvXN0ZrOPfmEzpcqL1toj/qqmqtHPEvLQUEfO9AYI+kYhO27MLdnXFX8cNjQJjTCECEEzgoTVOqlssDpJcOUJo7sHIJ/whbNdZ64uHZuFrCjOw3HZm8QYWAE0KNdDdB9ydE+OMUvNWrGJaYeChoLq8zKdYMBA7ZUkYpIKTHVqkNfcDOwSiIPlmx3AWJ9DBlGJnN7TCHyLYU4IerlPg1aeMzmT5uaf/HgBR6BtIsqDLgYMK9dqke7a8xANhij2fuMM6e13OvvmAQ/kzubkcUMRlI1091/hhyeUVZbuuM5Auuyt6pUzAvN8WF0WjXTyDVLGUVIwxhQCnWqNxbXVPbIrUokOtXe+bB8gxur6i3mcMJkhU6Pg7zYi0mIfpug2MUPD2HDEMstXDUgJC7KMiCmx1fjUV5ULqP33xuxxJN6GHGypcap4goxko2SXJXU6o4m5dhh/kXtNlmOpPKB8n1efc+YH4rUwIhNVLb7aBIgBfhwhqjzDolO/Fcnlqs8Ug/5Xk7481vsZ16bR0HKRDqL2eJtL99GRj0qYJmgBKYyIsEvZRSJjxm9mdj8yRyXCaYZn3k2id7qOHq1+ZJF8isVv94u0OrD+S+xyQeEavNfsFvOZ60SOvyelYfRIb90hBKUHtf+BBizrqRIXm6XCvB1YgwquOCKvuCsMjccG7Q5Ld14JFco/q5oEIxUvms8MKxu+LnUG+f03DAp5f4omfmoQa4zxBsCGEweUEqugTSmRySFdYYxTnEi54JeMMn+E/IWsp0rVOkY5GIudGWVetG1/D6MXP3Ay9AsHJVvHvEHMqMFt28/Rbz9sAQCcNeA+6RUJe97He+dU+twgga5cypsEmZ/33Ri9DBLHeZlcDfTiv0lqbalLDfe2+rN0o5unOIZnesQmWxDOtVlLVvwwWj5XRfQsyMMWzv4wFMjR3piIGbLXzsdKN9PCUP+vf3s+KtEMiS99yl/J/JrEmsjyQhwuVc06osIX0/o/ac+VmTckKXL+s0lQYvWpExnS+OvvrK/tgZlzTO9eif6rYb/pq7G3c2vgwAeM2YJxlp8K6kIRiNgyXzZClx+DrmmpRYJIQM9KfacbtJmoNgosIZEtIUu/W3XvqPq36dSvaesu2kkgkPWn1183pNYetbAu4oqrejvnYVNUs12dn4LHTxyKTH2MKH2h6cjimHEITQJ/xLtbP4ZQhj/zRm3PDPWPJXI1vREm4RrofdYRw4ObNGlCbd92iwtmBQ4rSsovy3D/Dk4FUVNuBfQyTQRwnwt5TPYi/aX3GpLWpuYxlI+LjirJExv/taUZNNxiQEvwM74tqdL7WLb1S1Rsoanw+ZsROtKqi9nI9kMskMY8VQoMobE598+s0DPBCQlB3cA2XRpp7WQVu6a+yeEigpgBIFbvRlDr31KGahvMTAv8Sfefn8VHqWkyv0G7Z8LU9n7TIsDe/0XvkIubSeNdFL1FrM3vgaRkQv1KmiU+JA8oolVQ1OwxvEbLEIbBe5e6UWZ2iG8Upw1HRDKOQA0TcxzVKsb6Y5bsuwoLJJ8tBDV4ybNO2WtOEvxuxkbNwZiX7j6KcOsQLWB63xkwco8w1+KF7318OmQiZ8I2DnCiqUL9e/98V7KPxuTSJolduSb7HCCvlcUkQ7/T+z2M+lctEc4OQ9RZ1+WKFeroFaDk648AuWxZhM4KUVGjqG6zAZvoHsad1IicitJckzgU8eoPv085H1aA2g1w2o3Y0oPdBkAfZu+vAkEbE8kNqe5Dudp3P+1L9fXJc/MUgYZsjV6fTqqdy3gSG207N+02Ek6akilx4WMJAFIe7eQvDp9fuPMW02E7XOISG8hSkQUkPzYwIjknJVvFRr1QUAfMahGrET2SFIRIuW/5spmHqJaeH3I/y5I48/tYbFwuS3+QJUy4NdkTaTpGSmTy+P0hwI7Uvo4DuEXJ8ad7mTWz46Aq2UjRrTvO/0rXsvQsQhO9hBtRLxWnbyYf6TF0O9aNzezZft1WtuoH3Ey7h8esI26358GTkIBrPu4ukotAqVnZi1kEC7aMvmOMviDeNi1gn7978Kg9ZEWxVdO+LYDMLoAnRhPh71eyVvatAmIdLoW7BrPo1JHNAjRwwmdx6gmwnAlXVnz6qf9+QcuVXwA8S+NJsIJJldRxwl0OQbRc6ZxdD6RWD+VAVTx9A4n1b7oCXNIDdK8PU9P8y4A3MRDHHS1exEypuQpyDj6Lbd7flQrL0OWNUlDhc2pk2G+RnVCr62M98TfFwI7lWEePeaRXlHd2Kp8NQyE+hUma4V4i9emBZX8BZ5FwL/y1niCyaJW7O7l0S1jLBPZATBNueMiNhoLIjM1eMb3Lr1gfT2wuMgCDgZTwgi4C44Iojg7bBTD2hUpqRANj2hxsRwsaGKLfTIdVcNsIztweC/Jeg0mn0zp1u4Cplzd937A1WrWe3TTqDsiE8+2X7B6BdoDGbMAoI2Peqw6KeoCnfEGWJQH1KKD2Al2wH46qwSN1kkEgvsBLhArlnhfWgJrlTODBQbzaFz3kSxULeB4D0V9kKEkgoVrNV0p0koEw2285FXXenXuTfLTY+wA7aXhONCQjlzImFypKNc2NtIlvvCWp2hNzvAcRLCbRfE1n5FNcbUza3Q+HZbMWv02vacZJBB25D4kDm7+OHlcZCSZVkWOeZa44DbHChc9mCaMotwzXcjT2bUrxd4Fi0BAAKqj/cnkfmwyaaesu4HOSR70ZureW5jH+9o7tqaE3p0/+CUoJ5AyJBHuFlLar7gMy7FVGHVeUAFi3M7AgDmhR6ITrGf4h8H7OWt1nb4+FloAXdpz0ZeBVYxfTtyOUUub9TS3uN2/lG2fN90+OtLPGAIxJu6ZisUgsFYqh4g9uqSrnTGdiMVExxT3iWcPZWAe5ZMpSX0UUWhHEga7rJVOpB8qW8qMepJ92DljYgArMCXlI4OQ061GA12tqFN+fmP08LWLbQRcCgPhwpIHDP6FTIh6Gne0qqhAG90NVLaOxMWL8iYK0sxUTZUST/njq3imOBqnZAnyfumAgyq17rsIJqjAsj7gtfIVNQNSYjnRRYmcDOpEGOrC31KRsEQgkppDitNspbKw7RNNEIeNNOCvlMcUu4gOaKI+tvC+oKhZyatp8o5A4ZSXeCyw+v2CzY3dYAzspy0fm9s+RnNVk81S0iIiQexmvNTejWX6lXRSbP/C8KwLvkqr3umVGPc3DrF7esjmGbL9GuMLw182U6s9AzF87/9wMOqK2J15hCxnrag4hjxnTveaErh1BuWcJOuvBMSiFRWW2IhKoMsBER7TAfJLgIz8sFV6i60AzYcAhP6SULUQ6IB0XMOYBd+8muvCcQlwW2at/PhRfVUp4YwB7f11dKlsBzEAXNPAuo+wemb8ym8G4+bCB2gNrBOgt8O8VboMc/tStegtK3QfpQ9RHGp56vnkw+fRVn+vY87/MXNl4DTwYaVHsfw+MGW5LSg//NlW1iacXbH/ZVRoZ2z3fUyx38735Rl0qFtgKrOALiFP01SE8c9ZeVAo0abwH+voRbJ0N8nKcrqQZ5/hxadELp0pyJNYYrdCa7iTGObyOU/EU5U3yyyrb9nwiVwkRCb5hdglbJEuCaNxAZbOQHBXJvDKe3FZZBK6dpDS0DLUDXTQlLzukVJAytK5RNzixPWfOI9p3UFZBlqUqgxUkh/PpML6VJI8b0SIEF5ZHVC1vcrfEFOvTtGrz5rv6shH0W1YCNtRauHv+LboaZED0OeDVnDZeyl9zHsgEQzfh/124FExKER7I+mc7x+xW/luMjhY48V//gBMpkyXfCKJsgeolHzcNoIw7DTmrZdKP04iqzCLJmaB77VdX+xGoEKY5ErsyJX+YWtGVzEFRKPre8j3ZKOKXf+ty1/0YWHb4vyVkS17OAIVIfSCFDBSJazUP/uC1s/HLWnCn+K74HekZZJLMsN0sb774HsODxcbqv1cqfQDsZj55R7iv2qx4ipvfjXSsEVpQ/6+7OnDpjXoycG6eDGGJgzsKiryKokNJeS/gh7+Vj+Rqfo8rPKkSpx/C2WXQuBGWF0rPYLv34WV/rrCsErR+s2MCgeXhGc3obOQZleEtuBwnpKSr+/ORYxhBjZWlCYQLr9ROiU++xhZFOS2/JBY3jIC6Ll0Umd6fDmz0xTtP1QzExzyB7V9NTe3Rkz/G+lTiKazUqDlt1z45W5O5ahXvBbA6tKI8qdNXNeWIY/1TcgeLOlE177xoB13TyuYe2QGMHbRjtZiNdSGcM+sdufQiaMpRClWIh+SqBDFJm0tnVqK7LFh+aaGnlo14ACNsu4TFwmN7RwT6kjntcBkXlMXM9fS1b8LLIsPuJbplD1SmWhKNtmAU5rf5y8er+kMzxkBo3gqnPI9zFa0Ss9dlpZI8MuNRUkAx5smoPp/faN+QaIItdy/kIj8FXunKZ5W3sBedrPj+nxX7W1Gr0iO4bt6wdicIYDRt079yKwTIvvTcun/D8WBZkxUn53UzSaZ01u9pOlm24gKTdrdxtjXghw5/XyEmL8tr2MshiBVVQO1abmQk9F3HQfes3rlclBFbzUSIvyjvir992SRB54dYlHtI3J1eWYYwkwmH86bG95WV1MpScHnqAav2VkPDF357ByfZ/+4UGNjaweuL4yjEyWVjQ2lVv5DlxqNt618AEX0Ru/AVVZq8mjeGwWvmdAEvn/BsGBXjXNJChET6F/1G7aEjUzptiBfnlZBymhbw7RMLlL7Fx2cMsxB3+Z+4A+uXEyJ08kyTZCiHERVelqHy5tc/lLIw+6BZiEX5DFvVhD/MPx0PYN4DQ+ZtBbeewU3n4f1suxbuw7pffsSLHznlyGJsrJ4uN4CrsdL5u/xj42pjwunKggfZsRxpLYgqe3KAWlubs9BAq1sowM8yQQgQJrVy+wnDumgWg4tzdCQXgvraGsNpUK5kkc9tUQlP81+trba4ODFBblnEu+07x2N2Mz3fLvbPTv5M4aHvvG60613Q0Tf1VV3hMroEz66z4HGaCW+tbc2aVR+vYDgR7nVmY/RZLRBYg0/D1aac9tMj0hpmpOCxRktmHN9Dsfzhx80aBn9ss+QFL+G2AQnKsC2WnlBl5TaoaLlpqjUd/aMOyCYzPEZKjKsHPfOTjCcKiAlwsvajIjV5uw5x0cQuBIdz1ulFWR5pIY4TBos+bLNkHh56PlCy8okAqbMvsTB2N4U6QFQ52R/52Y7Lj5cQwUvg26xqklGmIU0VWuFGlLfV+19kXYxJtKA62kqQ1wuwidu7wyJ9J1ImPuScZ05dF+LGFIG2+h6WpnIfNjY8fqNRdH897Ab+trdL/lkS5hqmOhGbp2OAWNJtnXerftyN4g/dv61NPTu8068YnAQrI34IduZBitwud70GvtuHPvlJQP7cTR1EWM3wi8Who+ZVP3ZNX8QGjteC7wkP7q9be5T5hbTLd/xf20KTegmuGvqUTsjGZ3oX0WHH1IK0OtyKZ/eH6A6lY+kkYKEGcVhzywAGFv/1FAsqPErERDVRNIiuYpIBCM3RHuspL74+MlhflS3VXw65Hf8m4CkzM3mfVW8Iu9KEaOrLFPJiGAeVqG7rBi5FSBEwKsgyOO8D8u3vM+T2Js1KF1mWATs4btiuKt0qjJXkWqDLnmfH+ReQRSKAYFoB2bvqaE0MSu8uxYHmr52d8cjO4ncadBoyylJx9Cg7dXVUwer6LKznJrHioi+NTrj/bVSrsObXtG1Rm8dOTpaj4sG96zHkAKoWr08z95V6eDk945Ou/PofIfVcihFoLiTWU9y5iHoxWmrJWkANeK4h934mYs6Pn67m9B4Nkx/eSEq02LsiMjnI18q8yBM2P+4u9E1XN1RyB1JH0bpG+RXv42oEMHzWswFc00eYREdkPNKobker+41IPMt45qg4r0sKHFZYkmU324IZCUBE1HfDhRVR4IpbeVUHShnz8FRClHrEii+qyU5F78rBE1FqxHTAym+0iEtu7Xk7CkL8jSefTWAJdQ5b7BSeflJmO4vdbof+x6dJVWMMKGchnYvgZlz8oij/FhJLRckbxMkuH95qvyf7cxpZVCspYanxGW5Ip1tS0VdS+MFedMOGzjnxBKm13oXBZZLKWnK5rnjl0xkIqxaUuYVD0YARdDvVDWx0ba07FQaXTnFsMyJ4mWgHTbql7Ziw7MZ8r9W6kQegVhSIpU6Y9nFVaux6fT2rzh9THCQPw351/aaX0COErgp3wN7JQzHUJwGpb0ZV4REpIgXOKg8RC1tAnuwCLzRbm4tcnMhzxU0L2FbZv5vMzZLAyxLB2eSck0d0ATVzcDBsh7HhAKrfaMfIZz7lHz9FNkXakGYyKNq2bN0f/fim136+jM/uRabyP2U845wuagd8uOWJkkH0LU9+cUp7/AcWwK1wkZ0MoKQmTmoEUNd8I3fS4cZj4/qQAdag4H6snvGEl3xfMOhVEXSLyIq3uQmR1elWtZQUaxKUudt6i6WfYEz0/Q6lQDktHYY2foO71nBSDYHLPwusbCVJSnXJZ5MJt8hXUvedf65dKAxEk9dDhreht0jZjGT+FRIl/xLgSUpBHfTCmPzIasDs2a03RUfcp6iwUVIz2wfDUcQuH4g6g/KXz4wJyYPOVPw+No14BlrII6xnZztaTO9qJ0KMyNKQlpxrMi2VpaayEpLDHt/lDxhr5BcdDrpI/hLhglPy3VFnHzpXCVVyTED4Nw9zypDH0yzjeJa8XObJv1Nu+WkmyN7SgGkb5+Am36tSlS0M6X+S7qSZnPeZdUb9Y38iKzniJyK2nMzbzjdKjO1f8usczlf8zt/sr0+uqgjxL7nm9cR1/qqWXZxuFJ2i6YrZ8lub8QZDgw+9BVU4yD7X2HDfzALIxzJtuxmuPEjKS7Nu+nD3ocTCupYDZpYuAHWbSZ2Obj/qyNUsfth3mVcUKSEOEVIpT6z0aW+rVSXD3rSNNVv9l3VfFjC1WehMnkShVjWuLKJcBoNM+CENAzu87NRecASdFUGfBPTiUswBX8QDxb2ZRBCj6ZLQ4yJmsmUyEUcNO2QMWalBOYKq+HNO9teNfWooOaLCbcq1rytFRT12QqiRCgXzTZOKydC/ZfdBgo72rdMeqdmbIHyzd/3Ic1/AusQLWln+g1AeYA4Dm2WFs71Wm3QGPrgZJvbmjIouUO0tte6Qig5XEA9RfBtsm9+jPpWdwq3XlCeEoaFiEGKfgl9Y8wwBEkIzTDsj5i+b6oC67rWtAm6rNaI+EeA1DoQUKYSZcm9gpKEwvzB8q/XznarR8zJfoPkpWGIdudR77GdtrRXEF4ra8M/7RgTC4uSX0UUVYifs6gr3gLbw99yPZFi0a9sZuRAuBMtqSCgUAPsPqWjE0l49om0pQkc40mggrnC14ac/dfoL8uqzstjh8Kw0VCLffzzcRauzLBNSZrS6NfsAIwRlW5K925xAcVwMc+TzyN+Jj0Ig+tE2NJG4rn9EgDhi1OnJtAHRfjctuggj5Fhw+U8KR3NPcOd3mSu9jhYQDDO5JhcbznGl89pxBB9+MvTxgDnYDOaMPqEP9MKOYP2OcEVtpHITT1wXFdB8MeMwgS3NPC6K1zeXW2rxvzWSTMtIg7td2qlYxQR/vBf3/88y2354r9Arv9muFGndSrW3RyqZ1uscPVg3mNPtzLiYBRcIRkQ8fYf1f93a4NI2sYFbU5QA7rHq7CY4GPZ16MxaKDNeDYHUfd+kZ7K55Xae/EwUhI3qQiBkf/Mdlnwgztoo4E4syhBmYlqAei42BSWoETjNnMxanURITO/hBTLx3d1j9qZuy12YjQ+/s+4J+8H/brpiPp/c/8gfnnUdM0oa0mNzwDODR9baHplsgOEqaYuxwDMXyLIBr6tyMi9yAgMBCwzf4sF/wuw+IZvOtZLGdlY3+NR4Xs3mkVuPHTwdgIv8A6OVGn9g7JEl2cJDFZsJ5llOB+cIBjEdWCoPilIP+ND+XAQDjvQ/v6KTTZg5NExGxulcJAM67FeR92nXw5NI3//B3i6i/Yk6PqS5y8aityLDZw7O8WLYQriI/oE1tHYAwPLVYUuqL/9OMLKnHjVahYlwu9hN4D/XhUGEmnyuzWzUt/bQGrYhGuX2Vmma+d8q0MCWHeSxpq7O+a5fDInBncCJW/JbmiUJ7OhY4lX3EbvCYmTrdF6fPxPy7Y1ftUhgRMffqpI/zMKwBeoryupS+fpXj+Ac8pQ9i0bLS9xJ3PkwGdc9bS3lgB5qpwT3/6I9glOd7c4znwDdBtGn5p3sJmVspgshdhpH/LnL3dr5XEkmHSFVBYNWMpMqtK47367jD0TmEcrV6OO9pSQDrmWid92LcucLWBQ3EibrMvvcG0AAxhujrr+I2+L01qSkgIJmHn9fGSdaPTJqwTSfJpr09sw/33EE3hV8GvGT5aHKBo2Tct0kPnhYI1Q3su8HQnrZCkAV7qP0HlqkyVrSDLtQbZ7iVo1GTC2/GEb+oMTB7UXhkimq2g6+26FqKTxuLutvjgPZyb3JP2RVkKHU0npCy/bA3NFCbHGa9dW/WtfQGk+uSss3AQc5r9xj+kzJ2HwLt1NINyE8JkOeN9IuQV2zoAbjqKDteuZOb6fhlCYXIgpRs0MekKMArHZM82Bc5B7Rm3p/vwe66OLerItCklxwJghJLWrKATWmHMwDAU0HMAgVX3zW1le48hCGO+gFhdK3EzRmnR/1OvXqxuPQXKouplxpMYA0Vg/i2luP3wG8zUVk9vMe6uQdgJAwgI+qw2+R3/UWYQxQ5OiL+yNVQ1mrsynaYTCLiRirG4Vxv0rY1ft6477aXhd/NrYFo8+XxxVpuGo4axUVR7o8IYkGiDglw6kSAbBy6u65vJe47mq8RHnaEcRQNdkR/mbUTFb+71ElzAbXZKz4qfBpNukICZuMjdtzaSMtDvKamx3SVXbnVGiwvMOjPny0TxB6fMivbMVoQ4BVgLYXTSmXAghCy/Nxd1lljU54lM0s+pk8jW9w0Wn/zH3OTbmVsrgXLcp5bBod0XheQpjVtaprn9GBqjif+f7XRsYTSJ6bQG94o8DZT/AOvf37F++DpJ2Y3bDTsrxjxYOEq3o8mpRtPohuiHxb6GA2i8wUldxY5CxQHu3ObWj0ANgL7GqHitXjlBj08QbDA5sytTEWeowxTOkX70ZfNWDBffW6JIhcOzWZ6jmaAr65nfxsd+MvVk+cfzPuuRn7SXvjCqRc2noKj6/yck5pqwy0/4V4qcp1yPCMa0J5F34/AfvExoTVvkFmYp60ygWbPatJc4ijM0laHaNk89xUdiOW4Sag1q59jIaKTOkm2E3mlch/Mk4wq4roIRW+/dbkVbyNCy7qpcFLQjePGDEXcd2JyoWnpr0Qoaupxtk8kTkpyoHyMzH+0+xxwx9pDpKl+eTX8uL6QdgYp3QZSK8My8Z4zQwRQHSXoMzV5/YBcgxJEpWiSouo1XAmU/ZNth2U0ueJZwgFIbt2Omj9rf81AYYTHMjo7P9CEGHgaUWUQ74EFuF4fosd3RIKxnb0rM9hr2Vh2ZQ3EVRYLY0F+QEpLnUk3+0gdj8z3yI28nNF6EzEo5SVN1yje2A+xswS00J83QW8lyj0AZIFaiMXThDaw4OUT8VTknS3YyH9EQas/r7D3JxoYCVBrRS9NWmY+z0en4uyS5UXFZ+YFqW6EO5SxaKXXXsRl1zk65bo7xod0dxvUBQM2gziFA+pu2cFVyUQBpQKazdB8RUU4jK6XLFTnveIDhyw4ZSKEiXVdXEwQQ5nu1E3zcHBeJ8lKzD8mFd1pP3m7Dhp3tGaei/Y4cMQy8/qWUdrJKeWR1TviKl5sDJEyjiL6z2E/KyVFlFjPSIh8q/XidsR3KGo0lEy6RelUNb6NJCEvss+Dz+HBbvCnSlMHDRfI/1hW4cPkkfcmgc5b2UjCsE4V/l6jmseSo6QxtA6jyxalgoFUi8u40doo20GHQHfCCsOrmvu1Tob9hDB+5VyPGM/klzvJI/zY367hkTMJOVP2C0s1hHwJPvrVGaVgyWAimMoy2M9U3HKCHWkvL74QQLat18ownjNZJAI3o2VAzGXIKnqlCL/d2wCEslubaq9SLoM6j/WAXPVZnVupQ5O2YjvhjyZhPQNVDOy5fI4wO+cmceuTCpTvKKRf7hSxv0lVjc60BOt6UwRdxXGdBwMCOBknPtFHI0/Zx+cXKIcVsLk8Ev9E51v9O9Vfnc39cu/Hn3dZTU4+6soOz53OSakE0nEG1SSz3Ohys41+DGuihK1WIkiA6C9vFSEGGcfEIzEhWWJWEHDBXafvSuGwP2tV2KjgPjIQMZwthbqS14P+5t6+l1A/jHIpJ9lN0hqLDnidwpt2A5xIzGDVgzMlh5F2boh+Ri7I/ofDphQpuMHLsxb1TeXP0Z+ytwSt3sJBKUX0PR+IEay+O2fVvZjhmvTXmEgULRvFJVdHuzApLgESQd1EZrhevDZdPzevlV/DWrmG0nsKZaLWrb9hpWNWmiZln1WGdOfezqKi2Vy+E7LlhVGgJHYxJBA9M3Df5SpuHGmGkj8iIZ/X7ILgDkOmxftG/9LnR6CVMtH8FarZ3eqgWzx+5v6ynr6+3uNMWhseMMXWDfXgEKD7G/8byyJg/v5QiwsL8TIQWm2eoc6AM9tQRTl0de1VTWFH4o4XVwPzWEF5WKepKTd6XpvGsqUKcq/e/+ihiV7xlBQESY/Y/N/WuKmFvjwFfWpqDjybkDfBr7LRrF0e3Ehknvs7O1OMPsCVLJkBvQbDCfX9mhMkZAB+D28ZRF/FyllDV5brbLL8uprYJBUw9H3y459tDOaUnOloCGCbYCN8xClN45s2E/TLXKoGxlogCygowdOUXn4ke90xyZWCroxopEpRx6qkDbQtkpO+zaaNDmLgTVoUVvHuKRajJhYJ1nBBbI5K3ODT+n26aIhgVnW+Nv9fZcYFHQhmlo5lxbHg9ngtZ/p+g9SNOqtx/952CqA5SylFn60XSPjSrudbUFwzaJW/1pFL1MQZqbWO1Eort4lQH4d1QtJ2fm9DI/ZS8mNol84Ise6BTv1QouuhIiyQm6pD6GM8gLZGEHlbiU7XytULWYV+plaFTDE3MOktHGpJ56PS0xD7wShVMASuAI5JBJfLYeaeiG6ntiCH0ptrbVu9PvQ5g3770J0j7ES9X0VC/4dGAk2yFMOAGVMUZ2H/gkBAyv6yvpq8neotUq9TeHbkLAfhyVSHBAvqeY73H21mDRkHHRqz9OERhKI1pNgQpoTM/3CujWN1Jmg0/AGF8d1GcuvtZ1bT+IWBf3JixvTWiU9vSQPpMpI6ZcFuYGUtMqQedxcJDv1k/VG2o6BY91bUH96sEHxbZHJ4DIRDYxftJzrCmXnTFf438VmtCzlAep+LMJK0ODPxxwFz4P4hCbUVm4qbKx4nAnGGpjfYEa3GrnnFKV8euBGG2YW1MdWJZdzC+uUrXcIXLbAXjyDB3zjMJqLO7lixH36fceVASHXp61mboeg0K7SPl0hXROqknrO/AS/wDHCg3mfn6U4BgU4N6EchiIofxU9qyHhE1YlQmqQ1bMxUEX7TX+MGTv7QFcbELZWuiVeuJMgLAW5KQt2ZZoCgGEpfUb39BGljmQQ60WYxvxLWs+B0pnQ8nwxjGAsXoN6FqRlt6AoRcjjtoEwngfjZvBzZFXV4uc4mlR3DO4uruG/6+oceXo5yf+OnYI+g5rbnGDZoUle/vaRzvkmBapCRhUpE7w8Hx0kWhcwl5wyEDVxaJgEkDZBOj4iXgQIKVEffFfJca8zMawxamGCJDpeY9x8fvpt8uixN8bcgfAceiCtTpOjNJBDh1QIY81fIpa6m+mpclYfXI+WcfSu9yuyhIidDXHsiuDehDzypLLErflUVTTN68oYRwYwh00kSgDOzwYNcXJ6SdYRh55eqMwMJPG12Z1vk9gMwrogPMz7VYm7AptnezZ6yDpq8lABnwXPuo19iG8PGdnheg8njdXNq8LDpkfb0F0Qs5srTfTNUMS/uJrPL5dnUnY9kIVeJAcVHWCiDmwpuj4dEvAvPlT+QgqrgR741/5nXbjUbhfyHMpVOgDrSyO1As2wJz5kj9TWA3BMBBRh8fP0Ycc1KC9mmpUOtwOgUd796+ktLm3RSd2+aMQ8avWm01x+ypuUbCl8RVRNdvH0SleLNd+HxtVHPfajM5r7BkFUoQ7gsHerV+MG4sM6/kfZqIMdZYMWrZEvjenuH8Rfv8KTIgN0E2M4EG9Q6pCsHZrZnrfwaNvWEUVF0GNDcfKROKDArgsgOhv0LwflXQn40cVenOeK9Fv9X8PaI64PEc8TzNx7/e09w7fEgRA0UxajRIG1ynP2ZtzdE3c0mFARZh07hHkFNyj0Xndqc0cQyvr51an1ZULDnnjYUoMSNOgu0sSgNoWpsM6zoKKxXz01qvS3lpAoNDsP4fuA+SHPsGEGfn0LXUQOcsv21CdpewI5U/uadNbRlEarcLrhgjLH/+HjsloTdrW5Shs76RNm24x2dyuPOmlUh57f4CJv3VOFfA/j800vQIUb/c9cwLqllgfEU3GOV/oKZV6KiKvDts9Yu44D73ixJiHY+aqOONAt6NaBb9rTbuUJgnEX6EkHH1znqbf586Tb+gjXaKiDLT+B8FQ+9F8u7oJKo194LkNen4Mk510iS5xiOgcFGTAzwWteTEClJqM95UGIXq7z3Rtfa8xluDhYkw19hKojE5IlgC4FVHnJlzRLrruWjHdGyiXhGBq1DnihIk03FIDgPiNZun+FKbdyowwcva1omBCKRoi9vUsBeUYtc3sZTsmHuaAe6rriu0N98GRaftTjeoRLfrKws/4teQAx6TI5J7c4Z32lK7Q3zESBjzOR71MB5O96pq7Wt2jeGLAyd/KMFyNSO+wg21A/2saEw1UdBKefa2m1qph2Y4CfoXs128SJYZeOj8KELygHg482HX9e3E5IyRtjEx6aPysh637HIxhx5gvD4jwwjBGbl2Da8uih7DWwXc07IxVI1l/nr2JRT6Wlh4WFtg6oR6spytwQm5DE3NmrTfQa4Bkb5IP+oRy/faw/Iv/6vyYEDyFDekqzbayMbiUq4bf20N01xGPH6mJZn9vKjXgdNs8NCg+NNxWMUyJ0ljylobb3jCucCHeT6kx0aIoNEZAhAlmtPxNyS94DLaKYwXi1G5HO03UX7R/VZZ/njGlZCzzlVKXR1GUULFZROE37QLCv+1nXYqX2gq5MhslPftek7M6aae/iE302r4WurD9deklKopoqhJtAGIlU+V5kum3ZG06u0aIkfUYqGrsesx9mhohz/CeaWXpVryLjGg2yGXV+HcSCZM6MQ1GqI1LN3pPKyuA5TfBEz2kYuIY6WaunB56me7DI1XIFbw/qo46vWmk7C08mCqI0cS2JYdN2dMxc7G+KyDz6Cisuj6gFObb5Jj4bfkvM4kE2oD33fjteSIg7YFAbNg2L7LoDjw2L2Fi7W7lWVE1aWpLeMrXncfUvB8AQjtJmjeo6hnyaoLa3GLfsJ6AIY+yWEyIGs97iqreBjfmqsWvGlJdoWaS9vFV7jUGX1vo7Qly6lz1+PfDTLlRYujsrxrRTNyoJNXVU0vgw+HBckTdI99Ta70PC7Uwv96pVAcgu66gK6y7nqtthHIE2DaiuSo/SfUfMLL81f/FF0Ihe6fz9ff97LXVW2Yb93yJdEyYGhAfOpOF/BtDaB7it4fccRYa4DXJA0VelNms2xKcRPpOazp8b/hDx1t357GVWHeJYn0qrd1TaIF/KSVw8aOtY8xZ/o4Etie6ngBIx2bMKDdhtNMl0DAl6Wa6mFvgpnnqwN/NFeGSGIb++9UXUP85q53VR+hOWgUnIQn7MgQ7NFvJD6Uf/KCopCiicjTzVUtMRIIGsLn6qkXLtfy/5nHf0PZmndd5IZ2cCozu9yspWYs0Th2mULlmTUoTL8U2zQKvuNQNADostURsVYAXuuwAewLn3EtJ+UL+9Alh3ULgNjzUYaGaucks+wPuoqBL3hc/rEG7EYkuj7NxddrbwDQhmPsT8XAbGXL2CwXcSvEpbfiBxRURSIviqqGwliVN5dTQhA2HkQmC6g1zcuNGK34jcVbH7jgoA1sMO27M4pH+I9oFhy3rVuYIG1uTHEoKXOd+6dQMpEWoYprQrMio4tCNd/il+EZwd+CZ6aJt6XbDd9laUgzfUOuV5ekaPdyweFKr5HU1goOsfIlUfJfw/CI1R5Ua1QXhTMcC9IRDlN/39T4gAky5OXPgMuc4FCH0D9xj0bDJTSlJJ/oVNWr6+b0QztEM+3Ijj+lR8pQs0neyEFgrOdvJA6ipbnCxeNW+vykkeZSyuOpAR/a3TTXZCSqbgDkqVqZvph9hUlaZDJiQU39jqTg04854UP8g7HYfDdbzXwOCQh4/uTm4mBb/nnU9iAAHvTdcSFogPt3WFoykofEZeRWqBSSJ/l5R2Q5IlwuKSupAUykRlp2VvZMSR2itDPdSm7CDr+UKWF5hoPEmDIDurqGZVWngFqHehbnKmFHeZCEHKRzNwvvlOHVeLkXJW0y/aD1VU3h+2bvwGTSYttSlfUWnxnNjiJBEDn8fmB6U6fPTnCp6f2aguelDgAmLt9OpZgrZjdzwTY0gj4vuktTeaQEe1UT4CrtpXiENyJzyuupuRLgIGYoHHJEzLM2hKQDrPYHEreJPUmM312uq4bcJ2JCqP7ivTgxYb7ZiqSKH7u7DAoEU+srab3zFe8UPuzwZQvooe2SZu5rFkLfrBHBJc6BapmEmLOrws33vgxSFBHsw0mXEvO0qOrC4MvPQabbY1yL1FL7gFONWT0Hvpy6yhfYV8kVRbiDfE+JC2NidcUR2vEJduIkTMKuz03C/4UqneRPGfUmWqLu213Th6A7BnRlf+2MF/pLJX4Xn4ItOHMcsdmhQpay5KYV9uyxZ2P2J/aTwGsJjxSMbK0aQ8mdohytB/EfBGQzHcKC2lY82A9pPv9DQ9DLIkyXQNez46+JpB8N/K/DQdjV3dzQbT3ErgrXR2jLSBEAas+CXxgjgWdtWJxLKvo5rNVpmi6S+aYc2UqlnpgBaNK4ntoSCIiCLU0mP9/NfVwHOMs4XpU6F7AgV6Dk43LFpX5qY9H2iVVg5YQLNG9NFrHDWRHwjd5QIxk7FJ2OJFMlxLpm4tPaC0JINE7xIAOF2OhZagxHcdK0Bq+1p+r7bB8hmQw3afULDDcFocJob0vdsHjroUrY5ieFiGpgvc/fH1+BvNcyyCDBOQd7U+OXUB7YeEIl3rV7MYtMY9GmIGpJ8UASwTtOZEso8yEABTIdaEXSz49v+o9bh/3uhjtnvyW6K5AwAAA)

## Pipeline flow

The following table lists the plugins used in the daisy chain detection and
                    pose estimation pipeline:| Plugin | Description |
| --- | --- |
| Camera source:[qtiqmmfsrc](https://docs.qualcomm.com/doc/80-70022-50/topic/qtiqmmfsrc.html) | <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_zyl_gj1_mcc"><br>                                    <li class="li">Captures the live stream from camera.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| File source: filesrc | <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_z1z_x4f_w1c"><br>                                    <li class="li">Captures the video stream using filesrc, followed by<br>                                        qtdemux, which demultiplexes the stream.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| RTSP source: rtspsrc | <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_vsj_2r4_tbc"><br>                                    <li class="li">Captures the RTSP stream using rtspsrc, followed by<br>                                        rtph264depay for video extraction.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| USB camera source: v4l2src | <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_ptd_t21_4gc"><br>                                    <li class="li">Captures the live stream from USB camera.</li><br><br>                                    <li class="li">Uses tee to split the stream for inferencing.</li><br><br>                                </ul> |
| [qtimetamux](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimetamux.html) | Multiplexes the stream. |
| h264parse | Parses the H.264 video. |
| [v4l2h264dec](https://docs.qualcomm.com/doc/80-70022-50/topic/v4l2h264dec.html) | Decodes the H.264 video stream. |
| [qtivsplit](https://docs.qualcomm.com/doc/80-70022-50/topic/qtivsplit.html) | Crops full frame into smaller frames based on the detected<br>                                bounding boxes detected (maximum 4). |
| [qtimlvconverter](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimlvconverter.html) | Used by AI processing stream for preprocessing:<ol class="ol" id="daisy-chain-detection-and-pose-detection__ol_j34_ddg_q1c"><br>                                    <li class="li">Receives the video stream on its sink pad.</li><br><br>                                    <li class="li">Performs the following preprocessing on the stream data.<br>                                        This preprocessing is done when the model expects<br>                                        floating-point values as input.<ol class="ol" type="a" id="daisy-chain-detection-and-pose-detection__ol_m5z_cpr_lbc"><br>                                            <li class="li">Color conversion</li><br><br>                                            <li class="li">Scaling (up or down)</li><br><br>                                            <li class="li">Normalization</li><br><br>                                        </ol><br></li><br><br>                                    <li class="li">Converts the preprocessed video stream to a tensor stream on<br>                                        its source pad. </li><br><br>                                </ol><br><br>The tensor stream is used for inferencing in the later<br>                                    stages of the pipeline. |
| [qtimltflite](https://docs.qualcomm.com/doc/80-70022-50/topic/qtimltflite.html) | <ol class="ol" id="daisy-chain-detection-and-pose-detection__ol_l2x_zjq_nbc"><br>                                    <li class="li">After the inference runtime receives the tensor stream on<br>                                        its sink pad, it runs the inference.</li><br><br>                                    <li class="li">Produces a tensor stream with the inference results on its<br>                                        source pad.</li><br><br>                                </ol> |
| qtimlpostprocess for detection model | Handles inference results from any object detection model.<ol class="ol" id="daisy-chain-detection-and-pose-detection__ol_ol3_dky_kbc"><br>                                    <li class="li">Applies a threshold to the chosen number of results.</li><br><br>                                    <li class="li">Loads the YOLOv8 module. </li><br><br>                                    <li class="li">Generates results in the form of video frames with detection<br>                                        labels.</li><br><br>                                    <li class="li">Produces video frames with only bounding boxes that can be<br>                                        cropped. </li><br><br>                                </ol> |
| qtimlpostprocess for pose estimation | <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_jk5_b1s_lbc"><br>                                    <li class="li">Applies a threshold to the chosen number of results. </li><br><br>                                    <li class="li">Loads corresponding modules for various pose detection<br>                                        models. <p class="p">In the use case described in this section,<br>                                            qtimlpostprocess does the following:</p><ol class="ol" id="daisy-chain-detection-and-pose-detection__ol_w5v_2qr_lbc"><br>                                            <li class="li">Loads the HRNet module.</li><br><br>                                            <li class="li">Produces results in the form of video frames with<br>                                                drawn poses. </li><br><br>                                            <li class="li">Sends the results to the sink pad of qtivcomposer<br>                                                for further processing or display.</li><br><br>                                        </ol><br></li><br><br>                                </ul> |
| [qtivcomposer](https://docs.qualcomm.com/doc/80-70022-50/topic/qtivcomposer.html) | <ol class="ol" id="daisy-chain-detection-and-pose-detection__ol_y1d_hqr_lbc"><br>                                    <li class="li">Composes frames by combining the contents from its sink<br>                                        pads.</li><br><br>                                    <li class="li">Pushes the GStreamer buffers containing the composed frames<br>                                        onto its source pad.</li><br><br>                                </ol> |
| [Waylandsink](https://docs.qualcomm.com/doc/80-70022-50/topic/waylandsink.html) | <ol class="ol" id="daisy-chain-detection-and-pose-detection__ol_hgj_kqr_lbc"><br>                                    <li class="li">Forwards the video stream received on its sink pad to<br>                                        Weston.</li><br><br>                                    <li class="li">Weston renders the video stream on a local display.</li><br><br>                                </ol> |
| filesink | Receives the video stream on sink pad and saves it as an<br>                                H.264-encoded MP4 file. |
| qtirtspbin | <ol class="ol" id="daisy-chain-detection-and-pose-detection__ol_hjm_3f1_4gc"><br>                                    <li class="li">Serves as a network sink.</li><br><br>                                    <li class="li">Transmits UDP packets to the network.</li><br><br>                                </ol> |

## Config JSON field description

The different parameters available to configure the JSON file and run the use case
                are as follows:

Table : Field description–config_daisychain_detection_pose.json file

| Field | Values/description |
| :--- | :--- |
| **Input source** | Use one of the following input sources:<br><ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_eqk_kfr_32c"><br>                                    <li class="li"><code class="ph codeph">input-file</code>: The directory path to the video<br>                                        file.</li><br><br>                                    <li class="li"><code class="ph codeph">rtsp-ip-port</code>: The address of the RTSP<br>                                        stream in<br>                                                <u class="ph u"><var class="keyword varname">rtsp://&lt;ip&gt;:&lt;port&gt;/&lt;stream&gt;</var></u><br>                                        format.</li><br><br>                                    <li class="li"><code class="ph codeph">enable-usb-camera</code>: Set to TRUE or<br>                                        FALSE.</li><br><br>                                </ul> |
| **Models and labels** | <ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_c31_nfr_32c"><br>                                    <li class="li"><code class="ph codeph">detection-model</code>: The path to the detection<br>                                        model.</li><br><br>                                    <li class="li"><code class="ph codeph">detection-labels</code>: The path to the detection<br>                                        label.</li><br><br>                                    <li class="li"><code class="ph codeph">pose-model</code>: The path to the pose<br>                                        model.</li><br><br>                                    <li class="li"><code class="ph codeph">pose-labels</code>: The path to the pose<br>                                        label.</li><br><br>                                </ul> |
| **Output source** | `output-file`: The directory path to save the<br>                                    output file. The display isn't enabled if this field is<br>                                    empty. |
| **USB camera video-format and resolution** | Use one of the following video-format<ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_ss2_wg1_4gc"><br>                                        <li class="li"><code class="ph codeph">nv12</code></li><br><br>                                        <li class="li"><code class="ph codeph">yuy2</code></li><br><br>                                        <li class="li"><code class="ph codeph">mjpeg</code></li><br><br>                                    </ul><br><br><br>                                <br>Use one of the following resolution fields:<ul class="ul" id="daisy-chain-detection-and-pose-detection__ul_ln3_ch1_4gc"><br>                                        <li class="li"><code class="ph codeph">width</code>: Input USB camera source<br>                                            resolution width.</li><br><br>                                        <li class="li"><code class="ph codeph">height</code>: Input USB camera source<br>                                            resolution width.</li><br><br>                                        <li class="li"><code class="ph codeph">framerate</code>: Input USB camera source<br>                                            framerate.</li><br><br>                                    </ul> |
| **detection-runtime and classification-runtime** | Takes CPU, GPU, and DSP as input and inferences respective use<br>                                case model in a particular runtime. |

## Known issue

Lag is observed with camera source on QCS6490 with both YOLOX and YOLOv8 models.

## Related information

- [Daisy chain detection and pose detection using Python](https://docs.qualcomm.com/doc/80-70022-50/topic/daisy-chain-detection-and-pose-detection-using-python.html)
- [Object detection](https://docs.qualcomm.com/doc/80-70022-50/topic/gst-ai-object-detection.html)

**Parent Topic:** [Run AI/ML sample applications](https://docs.qualcomm.com/doc/80-70022-50/topic/ai-ml-sample-applications.html)

Last Published: Feb 20, 2026

[Previous Topic
Daisy chain detection and classification](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/daisy-chain-detection-and-classification.md) [Next Topic
Monodepth from video](https://docs.qualcomm.com/bundle/publicresource/80-70022-50/topics/mono-depth-from-video.md)