Source code
Revision control
Copy as Markdown
Other Tools
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
// Media seek-latency benchmark. Loads a small VP9 clip from an embedded Blob
// (no network/hosting needed), then repeatedly seeks back and forth between two
// fixed, already-buffered positions a few seconds apart, reporting the time from
// issuing each currentTime= seek to its 'seeked' event. The targets sit far
// apart and mid-GOP, so every seek is a long buffered seek that forces the
// player to re-demux from the prior keyframe and re-decode forward to the
// target. That keyframe->target re-decode is the cost this benchmark tracks.
//
// Each seek is measured in two states so regressions in either are caught:
// - warm: the video keeps playing, so the decoder stays alive across seeks.
// - cold: the video is paused so the decoder is released, and each seek
// recreates it (the timeline-scrubbing case).
// Each measured seek is reported as one replicate.
const { logTest } = require("./utils/profiling");
// 256x144, 30fps, 2s GOP, 10s VP9. The content is irrelevant to the metric;
// only the number of frames from the keyframe to the seek target drives the
// re-decode cost the test is measuring.
const MEDIA_BASE64 =
"GkXfo59ChoEBQveBAULygQRC84EIQoKEd2VibUKHgQJChYECGFOAZwEAAAAAAL8bEU2bdLpNu4tTq4QVSalmU6yBoU27i1OrhBZUrmtTrIHYTbuMU6uEElTDZ1OsggEqTbuMU6uEHFO7a1Osgr697AEAAAAAAABZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmsirXsYMPQkBNgI1MYXZmNjIuMTIuMTAyV0GNTGF2ZjYyLjEyLjEwMkSJiEDDiAAAAAAAFlSua82uAQAAAAAAAETXgQFzxYjmiLcP+M4n45yBACK1nIN1bmSIgQCGhVZfVlA5g4EBI+ODhAH8oFXglbCCAQC6gZCagQJVsIhVsYEAVbmBAhJUw2dAgHNzoGPAgGfImkWjh0VOQ09ERVJEh41MYXZmNjIuMTIuMTAyc3PaY8CLY8WI5oi3D/jOJ+NnyKVFo4dFTkNPREVSRIeYTGF2YzYyLjI4LjEwMiBsaWJ2cHgtdnA5Z8ihRaOIRFVSQVRJT05Eh5MwMDowMDoxMC4wMDAwMDAwMDAAH0O2dWYp54EAo0tpgQAAgKJJg0LgD/AI9hA4JBwYqgAHIG+/x/L839OKPDeO9Tub3e9g+i/X0rd/rPV+o3f6/13piOp9R1T/1Ht+x3d9pknd35ni1p35Psewe9370713J/wPb/Rdy+99X8b4fqO09O9RMbrXveqe63de/enuu2f01672/Tvae7dI9o4ikbBhOKQAAGc///7NJX////+zSV/////s0ldj////0XofEgu6QNIlrc0J7ZbLdvQBm8YpUgY5rmL2LIlNGzBr+KY87H7fq05Gof4k8Tx7LAPRUNaRn63Stb/VRTL44I5hD7FnnZSCAg2LBRM/+kd+DRQaq73fGxJNtfzVn+jpTiUsD1LeEFvc3z0gA4JlTdhB0wVNsqqnFXUxpAQkXvqkGu1pm8Yx1g3NiJM6fBlEa0pYJyWvj9ebzsrn0Nash2hc+3+87u+zx8BHH0iFKqy5VacNbkYhpQwF0Omuum2RqSfmqLDmixNQbhHxHFfMnJ2tF8aqVeZuvrr/oGtMiEw/vJsp7MCdadkpKkTnt6VohwWYrcAh8pNkYz23uDcLxrpXqM6Tfysgi3xIlpCeHO6msKCVGVRcJN6B06jfLZ0AiB6s8UEpP0NowzuayD0afk4pfztGLp6F/TClsYEIsSr47Qme4Ix9rMhYxs8Xn94XahgWWAfV7ShjDdqz5MxkRcXgC87mn6FV1/gvguvL4jS8SyPu1yoJ6d/oXwXXl8RpeJZH3a5UE9O51q/wsLnvbahn40NRZXUzuOCkyiOo4QqoF5CQ+CkyiOo4Qqvh9pSDp2W8lXyRi40J3mSPRUi3DHYS5O7a0Wl6o0pwazdehr21og1MT9vyICMnIPnjBHFlfcihtVSr4gLtQwLYl6KVwJhTOV0lTsZXO27SzE2r8ar3yGZRn92e58+QGDU112ymKu6XeuNQEcaQf8B5H831NoORU2HyXiRJaxmBdqGBZkIhE7//b6hRqf/1pNI9///rR8ABZ///rSaVcDqXfq17///Wj4P////+tJpf///1o+AAPf//60mlXA6l36y2d7njsZHBa3KCu2wlyQG+bKMq3+ZOm0xpDJsVvaYhaJEUzbQF1GOJhv6son2X3EIwJIpNg4zeu7YDm9x6Bpu4KX/oINxV8UG0QKND4wCs7Ik/uH+kN7A3eZy3jC9YmC4wjWvxtpv2lR9Hi5rVZgvCxJcQHn3IFZ/vxj+AC+pJI9Y+dt153faWEaoTvH19EqE/7Ilsq9whXw9t4ltN/aQQnefB2ZYno2IWcKxUqE7cuEHFvlz6EjlA2gTZMy7UpxMWTO97FcxQHIeABREwcoFBFYsxEsklcuJBo0Tp0Kzf3yvznQCQaPj9gln8oVd7rsWkPuugcqZ6RdK0880+Vjr0GEfd+FKsUjavT/N/DCeThsPeSUv4s4bhwh+fjsq+joaBKrTKJcNBPSjv6sJ1UnBIiYAlaDVu99IRPRMRWeedIawEUiZIRJf///60fA9bPEmcTA/7s/6iPAnId5OcUdhqKN8k8Avu9ekfox+Zv/ciZF8qSyLZmcEA0M5++u9B914ptXE4Hyflkgi/+JRznnNVYRQ0yM4GzfOBLFlqAqiVvQ2sYSWiWGjUayresf/VuXluahZBa0z2sknGmVRHtEjPiX6OX5fW3Nya6a2wJL9Yl+jl+QqAUKdnY03o6gVQbr+bYeN2V3nOCCg2IkYeM8ViRVvyxt1w0xabBVm+5TmIK4JbAYQPsOdbSnU6U9+Kbh9myW+1FptYtgwbrBvfatV6Uyh/q0oSWAF+ncpVQXt91q2hds5Rfq8Ci4qs0Ie/ncz+UzDZimXfOv4XvgA8wbvfIiGKpOL1na340zatHQ6lkRI2mXQGDnkvWo9ltWjodSyIkbTLoDBzyXpZMgGcyNyMMeJlhmkPUCXY38p5bMXwZMlu69O2zZdsUOuNr9mD8H/P9WWrg0PNKX+6u5eu2eOJclxd62sg0o1MByaB05RZQVSf/IjD/7cajDT4QG8sQ1FrLno9EIBJGHzRCtlq1i3bx5bsz6mx2eydeqMn0TehI5QNOL523mYWXPLhUQIGQ5XeB56QeLNepJM7UEoyEZsle7AziYvH3xs9xMWFHig132vQbmY1XaecqyhdQArXqx3IxbqL5V54/XZ963kUq6vI92JGNp4B9Qeev5+ivVHuPmn0WumjB/wkEMfmsXLNo90iW/edkee2WzLHcMGu61C9fUTSdzOdOXlp2EwZVxEdXbTg4YMl1jwRKz0453YwY3Z7kjqEe1jP1xJ8qCKgocVy6j0WAOMhkNSTrmzZHcDcsXfXdEwMYH5io4YsbqEFU0PPsdk3TyNt3s6l1l9wAk/xOmOqp8EEDm0AEleTPazHeqxJtyPZppUT/PRL4vhPKMXjBProxUAWyeWOTpASyGuy8uCpKxfE4P3eL4h/BOlk25zdLhNPLoc8Ul68wYUeJjPpV0NB63FjdQgqmhV7SdEwfC4fnqXHIJ3JYe/LsA/G5JkHHgaP5/d7yPBXSim/i4mLCjxPLuznRJCTyIt1xsfbZKAwdI4ghFVfPSO4V8I8AEIO4AKc6w10rjeiu1i7mzUted/jiL+mOo5DVYS1VaXE8TxTMmpodYrN/EB7HQScwQ2SeCqrQ7ogdiEiQ1EgJt3oxnrng//vi+6QsmvID4PJTuTi+SISU/WWvTd2eoBhcCvFAd/dNEzcJK7/9bAEsL99w4kswy0t5r2Tc7M8NP7jbxW36V7JudmbiHCEefw1faCh5AV/+17/qyWKJxjWHgTvLvEE/sUnG7XZEtER8//zfM7fYhl/T+B6PpZggwrUOt9Hb+MZXEd5vEXONZi/e/D4SBlzn036Nuiku9o/38BsHuNpr1ONAuR0fC3UeTyJnGF02v6tP3wgzrxypfa5UthDSEqmc39bX2GI/i4xN8sscb8zqCWBJQQ9mMfsYQ4WA8dW0li3Gzmk+x3kbTWjK49F+GVFQBs5Rpt2vCyPqnB7mk4GWFadlfCp0bzM5pQEtKJHTZVtX/cml+TrFkjA9v3ktHo/khXmjqh3ePbBdhJcmmprvO8pJIojePNRb2/4dpgVlLqNarwFS4QecNLnDgzKRKwWO6WpeL0XC9mDTkJu78+YSMBzlwTLqEHTD2vfpXpdCFJWWLU339R5WW96k8q4nN0NH2jsmmz0RHsc/6f7hPQ5H+5TdVcjf0KUNxTRiR1OhZVdLzZQSzsHvjIuWyPMQr2/avBbQxJYrdftGys+3A7o+6LrV0twKOumM8axWy4Z8J84HJH5aF73sRLXhM2+GsI2/JRO9Ab45SoR1rTDoQKtgZ6Bfl81Hoziz+hyf0YOTGdL+ogIxuGTePba+YqoKI8M6f3lHIXWQ60QC1UwzILXj05IzeI4ypiSB0EPNrW/Z0P/YU7EvA9RVs/pp4J+FBPyfdRlowRo/wK7CHtW84QrAlWM0hDrHxS84cJ5JfcpQOlheWF2nZNoy4IoJ0e0B2xSVvW2b7R0vWfMQps2lk4wT/3bwm1lnFvvGAPAq8wSXu0KMkqy+Mf2doRRtXoU2IMUuR4t/DKnVS/1rJ7jiQH8kVDRAK+rLbfim7i0HD1NEym6JYp1WZd6GHzdwS+Hw56+6rH7lgUuhV9Bd7mEh/mziOcy6mBd2W//k5A8+Gr0ORvMimXmNjyXTROLmXhXa8rFu0xiiLAs7REX0aUV/LTgu0KMcYUBN/iIJ+htGGdzWQejWth3TS0BmKDnOgnVTnLG1XTglxGaMPwD7KMFOSWfndBB69Kgf6J0ym9kC+aCcaYjwEkIUU5ISAijGXbjtziCT74MaEuFEjIQZdwTk48ybqrJK0tztTdzv4cRcftYp/nYHvTU7EnZ5LJvP7Buy+jpCnj0edWXW4vilKKiPTV6A77oj5xrwZoTzwCjxYEAIQCmAECSnEBVQAAJYSkf20SSgAAAWiZzqZKwVfE9bEisFsWqWf3zu7jhUNJwvogeyWFP8ZyzKtGGweh2gowYJcP6CKOygQBDAKYAQJIcQFngAAZhAJKkAABaJldXRAz5sBsrS+sv66yQeBhXdUA7x8JHoPjr/aKj04EAZACmAECSHFBZYAAIYlIoBhNfAABaQTMkIMydN5Pigvm+HfjzwS3mYbK+B0vqdNTBjVERAV+5ebvNB8EI6b8EpFFoOmtia8Fp5c/EV5kt3wQio9SBAIUApgBAkhxUWSAABGDVAABdLmf/X3ELNUCpAfV8G+UK+VlLoqvgg8aZJbVhkd4gZGGWTSFoOX3R1O4GF8lbViV6oLf8vHqZYwQoJcJE5+NawGCj5YEApwCmAECSnGBY4AAEYBt8AF0uZ4CIlFRZmlyr85WsSPrNTvDFhvBAQ0sAxbdQsCyGoDcx7qOx66bypFPXv2beYP24EK1yJ/Z2VKrMZnT9zSJYZYkmUwmli0XE4pEcmvqMPn9Qo9OBAMgApgBAkhyAWSAAA2AAAF0uGsv4wgq9qr7VoW/6qQPj6OKXI/Wf81b4LkUZGgoL5gosEjKfjGlA5ZOUhqWryCq7HzJK2ItB8O4UwnN57IFFAKPigQDpAKYAQJKMgFjgAARgP+AAXS5oBAOsVCLaGF/caPdodDCU9WlMZL8js822X6IoT06jXEdNDEl2CNEo4VYboS3b0W6TvtiYivgQG6jEYfF31K63kA/K39+4qZA5CCvz6YCj4oEBCwCmAECSjIBY4AADYAAAXS4acx+bIV6kH5jZMJqxx2ka1ONKdk7p9OTI9E8etZeVVIFHNNoSBE9Suev6K/P6QMllCgGqgVcpuO2JVKYyvp7DaYJtruDXpN6BSfkieAcAo9KBASwApgBAkgyAWQAABmEA86AAAF0uaAQiCzUpQWajAhybQoTwJYTWuNMHE6/csCIKDLUMjCgz3vBxvZRUYUAdRUnHmwJPwn67TIKtazJL1noAo0EHgQFNAKYAwJLyAU8AADhkA50r6HP9aQHdkK0AAFlJvc7o152QQ3eIPXRnXgKT2G+pbUvSW59SOa7fhbvmrHI+vUYOAiXjiXX7udKEFgOKNB/ro7V/ZwI4naVpGY2fX47k/TU8Jb+llaCV14RBXgSg+ZPvn9XVBzB2BJVIhRPtb0QyWrzxdPhK19WkWX5rrpmM//9i5+sOenj+hG86YjIuPFaT+YRq2HV5DwzMfDvLaCxMhrm0js4gVt+4T4lkiHXC/H/nXxcIUnRxeuRiygQE9DHNkSdVYD6pgooM6Kf9SzC5A/8FCCgVS/WkgjsJvB6xA4swOZ1AIkSWDxdpF2fUnHzl5XOeUACjuoEBbwCmAECSjGBYwAADYAAAXS4ax88NqE2GE0ZbRFkk36Iobe2mc3QaDVoO0QVF0bbMStQerRBokICj3oEBkACmAECSjEhXoAAFYPnAAABaaHuvpiO/4jRK/kUOZei3k748SEM4qgml2Gr/VMuLO4dsRwkB6WeR9rm0/KE8uXtSpqsIun9EaM4bTHRPqSCRWO9Y5YNU3Vq/DFCj3oEBsQCmAECSjERXoAAGYgFtSAAAWmh7+pdi4pmsfzCtaTc5h2BW9GRLm4xYckoC0R99X+fR9vYIrah4+OI7skADJy8JKZL3EGkKXzSTWQUiWPcrX2XA5iSLWXaJc5Cj3YEB0wCmAECSjFRXoAAGYgFrsAAAWmiBE2+yYbphAATmd9GAALmLnRaDINKLymOentup0WYLiuIy6Els48PWWXi3EaYaE6rb1fBCHMFlEtXw64S2oFD0LgJhCTMpCqNAgIEB9ACmAECSjFxXoAAGZAPMgAAAWmuwetN28s/l3OYa1qWkgJQzd3MDsQ25M88D7nq0YewcM/GGWK05/dr2m29G/K4khmFLSEy1KmMooUyMl392C5vf//HB+1rDGt14WZx28jpenM2Iainl8jKbiPJ5UGt2OSUl02vr4eCacS8wo8GBAhUApgBAkoxkWIAAA2AAAFpodi+nbhy2TvwiRB1HGheYj/3ethWTWkWhEqegrimNXkL3Mg30bSNZD6Rmtm1BAKPngQI3AKYAQJKMYFfAAAZkAv0AAABaaIEN+OWV2HM0vQxecqNkYtOX1ASl2XQc2t1Qkz8Z1JJFfZmlgJyzDBqnzEpRWmUVEJ7//44P99t3TSwK26bKdDFW4F9os8b54wcBg8AedLF/gKPOgQJYAKYAQJKMRFfgAANgAABaaHutZoVph9A3RsZ5lAz85vOLBhPQRSm2BKKNIwPf5mtivSnZz4WI4YYbCuginY/MMJLKM8GNZ/GEMoewo++BAnkApgBAkoxAV6AABWD44AAAXG7sMYPtrTMj/jNx4uJPMndRsvV1XVRTGpbaMfd4ppqwaT0UAR0AQFWH91LxVXpM31mlZs4jfisRIxbL3gosnwbaKYfHezaP2vCQ2jzVR2YDAsMO+xIMUdroLOCjQXWBApsApgDAkvGBQYAARGQwtfP9kqk/G1NZSUHY2gAAWcTYkZq6bxkpD9fsaXdMC1vg7qgW+VelAZHSgZ2w0bkB/opo8/nZsZbln6bTejTYjFv9v11EQA0emxFYSPOKUMzHStKczzSWqWM5OCbFbax0PEmNZQKjJ8lw03CQ577+pQbQ08LzEm/pyrMIxF0Y3iQ/yZtXJy/9IIv8Br/BdstPa2RnoUZtQZ3DRZSJO0tnufkguQ3W96UK3Ph5K5DJ1M66w5lsPGBomU7BU0Jr1+zts44MDaG/ykOL5Fjk0pVk5ub3ayOPLGsHZ1DzLJVkBkG2gZjHjZY0wZr0AXaWeXo/ircQzCU+fu7xtQJjhV/XqyUyIHfu2oTdc98aioQsqlzukiLwCt07dr4G8gUI2+QXQkhsLci1dp+wwqOGnYSNXGT+BF0QvXDG2P4J6f6zPMhj362geCILKFnvg/gN545TQaiAKJJZ6WrN4A9oT+KGb/QDYo9Qo72BArwApgBAkoxIWAAAA2AAAF3iacNkc80Ge1g1EtEPW+jsggy/ulltWGy29AqJUhY5VJq4Ywo0ScJhqmiMo8yBAt0ApgBAkqxEVwAABWD5wAAAW4RKsHPlKNOumjh4JoKcmh42PorhpLpG5gbU+q5OoJmqr1t1sYLSNKbGmRE3SV1vx5G5SkE2sdpgo9KBAv8ApgBAkqwwVqAAA2AAAFuESqpDYKiBw5URGgME3H9luWszy2jjHriQnOWYO7eqwKy3EMN/Fvo0hwD0eJtaOhRyN3DOcl64hF7+pDaHkdAAo9OBAyAApgBAkqxAVkAABmQC/4AAAFuGFxQ+601swymXW6FWDWsIbIhQXjzaEiu5apblqvWdrMgoldowy0LU6E3z3h6pGgL7nS9bBBbctmxC+Qx6AKPjgQNBAKYAQJKsXFYAAANgAABbhFZ0ElRuBnL0P0YhfPwLkvHN+oWtsGb/GnV8QMp6L9qU355am9m3oQ6+7Ue+ixPv4+hYVMwJfffEEaAF0JxNDowJHvC7zYE1AFFFr7i3B/5go9mBA2MApgBAkqxcViAABWANYAAAW4RWUpa7QV1w/6YMqM+k6hkUiHK8OpGEoeMrs8lOLQJjOfKUeqdHY5cx0udVa4Tl4PukcU5SNw6OA/KJY7wX0L0iRGSZQKPrgQOEAKYAQJKsWFYAAANgAABbhFZh2T3wEsEfUNWCkJTqla1bIKxwA1E09fgVYXo8QemBckNwm2XbHsImyGudgBID0uM52TmfPPRsPgcKzSZdilMCWuAPRtmOgnHt8K5UGWqdnlCLrArgoYCj0IEDpQCmAECSjFxWQAADYAAAW4RVQWW36AKUmG8zzgR4oElxiQujwVgek1txKp8WKzm++4CgszQgzmO5SYvBzZE5Y7Vj85DtVzhTYk5k5XAAo0CGgQPHAKYAQJKMgFYAAApknes+Af3HQAAAW4RWORYgqhMXabtSyeLQ67wEjZaN098Nmtr9aqkGJpCKUP1XX1Aaju3nv5biiQ0EcEMDrzvjwe0JPR6Hj6mSwOSBP/M8x20kTuqXpI0EX3GCX5BiKSc0xMk0UGra5+zTCAe5LtlpBuh1xo4FUACjQeeBA+gApgDAkvGBOAAARGfYgaBOQrugt1vmyMAFN4AAWY4kTyYCKaQjpPUI1j7/lHHOY8cEmACckpo8vwj15bGmxCss3EcI+OfVYE1eS4OjnHx0/RCRJdoLnP9RTq5uBdrzDtFTonJUBggASh8SHzqXgsgttURWxqzUWgVmP6Z7fnbVUCYZHgFIoK1L92EnoHzjZNBUrzn93lKu0PzFC3b0whU+Dd3XnInRcIjVLF5cCLfJYMLEIj5uDYbTbe+dVZ7FD0Zro/xBeYbUs+8ePaOJ3SfJSF09JjaNNGAOsfM5sJB/Ov1PXDEPS0QH9BzIFXk0laN6KyZMUbHSNjd1W/UHTjEItLkuUSMlW1DMUJsq/VYFJo/lhgiRj9u374YZClBotvVp8Rc0hxR9RPL5vn1ZNOpQXj7wLuqocpLl3ydNq/py+8dzx6Jy42UyUSQVU5PIIMHOkQqaUS/yyARicstzhedL6RfLWNMCWVQboLcueKJA/ltKCfAUt16DrPfxUeNrvAk4fT7/9YmkEQeaqHSWWODEe7H/q9Uv3M9c1ZpcQDcdBtqoxZsEvRzpROEr1uTfRcbLGcHNi3T9zrbFMsgSP9em9f33FvO+L8acxJblDADS077lxq5KGW41pCl1MiKDjs/qm1AAo7OBBAkApgBAkpwwVwAAA2AAAF0V2Xu4BVrAjse+6h2SHv4R2Rxcxc+O0Ea5gbhi0yJhHQCj0IEEKwCmAECSnExVoAADYAAAXRX9LxoL3zFoJdn70vaww65/xrMCVz+/cVCfXPX+LfkTYTWxb8N3l2ojkJ5/XvkHbCUSi45dHNJgTX3H1KwAo9aBBEwApgBAkpxAVUAAA2AAAF1fy5DXdI2Atj74bQJcy2XHunLW10+hyfqk+aMJzxuU+HwPVjowZ/NEFQzhUtZLaa/AUcgcFM1NBcIA3L1IVsqOsI9prKPkgQRtAKYAQJKcSFUgAANgAABdYFXm60AWxvrBFFUB7WFvw5akzA23vdTr9fieNJR+7KViJxW6kxRhibMHrAXCpEOJaNcB5DRQkkN6maB2gwES+KDR2mVLJXwZqlJRlktKQB0FAKPngQSPAKYAQJKcVFVAAANgAABdYFXbRShkmwFIcPwjG65ZMjo0zX1YlK2Ut2FafRlWwrYTveADl0sO6rB6MMmGGUggvfn7ikTrGrpORlchXEeVu+/4t0IC/Ja6VnDtmg56sWw7Cc7A4KP3gQSwAKYAQJKcRFWAAAhkAwDAWP0AAF1gZseCJJaPBivpi2ZWn1QhRT0EtrzpHhwdJerjmVzjrrrrpZ9qz8FA7hETdIHGEDx/C9K5RMMhCu0dOlDyDblp0eUV8xZNvKNVhFTv92QUcq4Aw8J4Bsu3OnY52A5PFwij0IEE0QCmAECSnFBWIAAFYMowAABdFfzgsqtAiR0g6P2WfCqcJvwE/MkjYFz+X4PGvx4e3Lbtl1hzd7qFG/6zO1zSX/ssErsnOYh+P4AylncAo/iBBPMApgBAkpyAVcAACmQC+o3noY4kAABdYKZMeSYuyLrkswWXIbBf2RmoCZMqjtDA97JnPzkAW16No+V+cZVEfTOCfecyJYDKhrkv5/P+4QtKMX3XU87SPWnMp5JrjkK9ViucUPJqzEHli02qQW2/QeuhINrw8YCj04EFFACmAECSnIBWYAADYAAAXWBbc2x+PIUGSFLz3gaPt8Aie0LSCfSbzjghv9PdVHsgbisoKCyLETBa5qdtnf3abHyFOSj5BTb3vyfdvVG5IUEAo0GfgQU1AKYAwJLxESyAAChklVCptvS72AAAWXK7bqq/4R8IQ/8PEcljNKtTgpWY1X0XIHDK7XlQvyjYK5AjzjQuw0lYJ0VF14D51hTmgA83tWc0sJk3sMyyvG0RJZBSK68osJehaFvM86Z3JX89mjgsOIbn2/yi/sACXfbCVsLQmvg/O0/VIgaAef7RYhsO6sDVMhfc8kvkGzNrt25xXLKFBdPjcAiP9Um3Wy3p8vypoDM+jqfTGHaWdulgHWcp1diMyPYVfkEg4JXKX8lDgTCoAA59UVfYkYZshonr4gqEAsc16P7OLYo//5dvK6ct3UFFqE70+L4X3ZWuTmTnF86/LRIYI53sLcMB2VzQRdLgiX9shZFB8ap4s3QDIWPYFdrkn0phBwFzM+H1pmRoc4x8qZpefoN+FbqbGQKc1iC8SYiyPB6COejAKUvMl6gWoD3grpEOUdZSTSQ1y7Xy0XHv17iP5XH8DcStUyOALBR/XjEpWCBLFImGxvTwH+9Rd7A6/2KPgY7r4YVqHxFm3GuhKy5WYMawcXwA1I3NXKQiAKO0gQVXAKYAQJKcMFeAAANgAABdFfzdfp6EkgZn8O1klDzh4mjR8E6ECb9qA90iMvzRvC+AAKPKgQV4AKYAQJKcUFagAANgAABdFqh8rCow7wzrPeO7KIKNzReMMu7GQtLtjFD+RK34WeLqKtdm9zMD6SnFCot57ko9O9dMVxRDYACjzIEFmQCmAECSnFRWgAADYAAAXWBWgjIMM+age65J1AoqvhbnVFF8BdChjpc2cNEs9u1UaD1Ycl3IXPbpA6BCyyk/nlfu1U2bpYSDdJij2YEFuwCmAECSnERWgAADYAAAXWBV5tIfYEl4lmDhPeCB9YSti2sZtnncGySQjCPmLhAVSCNFp1+mR/Ilb5uI4eNdZ82MhS2OZvNXKg2VZJ+48YokT2wSycAAo82BBdwApgBAkpxMVsAAA2AAAF1gpkw9sa76LMb6d/2VILV6Jvzfiy9Iu9HELEJtdGYn/hCBcimH8IbG6c0S00gA8HPNUHi9vxbigS/l4KPdgQX9AKYAQJKcVFbAAANgAABdYFWxQFe4w6lg1lzHeFXdeQn+xAXW/1lm4T8S+tyovAgG7gtEV2nefWqUemEHKHz556N/yiX0kUXfEBDIcQpoCiB6QfX8B0TMW/wYo9qBBh8ApgBAkpxgVyAAA2AAAF1gVebwqB+B6KhZq5TkFxNkcX6T+Gme1Mf+CtTXgFXchOtcXEM9NH+bwadv41yAEBmRXbH5+8ftH9XHINBEboBzSsjNPUoCfQCjy4EGQACmAECSnGxXgAADYAAAXV/PF3mcgJ58vhoP1u4Gx+qQP/R3qynybH2K9NnjZJkJKgTfwwPA577SXQx9ZKv4YEJVZDa8K0XOAKPmgQZhAKYAQJKcgFeAAANgAABdYFXd1T0O9rAInPYgwTjfpnaOuGRNTzVvpjZqa4cplTM9Z/TYdRbf29j+ctG+r/G1cUr3kCtcT4nZ60r46Usj/pTeczKWNEiwhsq2Yzpb63E6KyqAo0HZgQaDAKYAwJLxYTIAADhkGHys1kWAfjbrpZAAAFlysNv+4/7s7I/jJBXNjrK0rKTVjoAI3XNij15ERp5BdJDYZpnXkrbmwYKvqw6vDhebEgQcipT8hl0YKcy9hVsk86I71MHtUSqJVt/u169TH/rnO9Zbfhpzfjnbki5jRKGksaTNnSOTMADTBiBn1K1IEkNOPnXTf7cQxBaIyE1ih3e6DRSlKRVf24wML7czUcfrw1O9UoZtyJT1ArpxODgh1e0phuJFcTXM84p5bU1d5UjWXEW2yfZGEwul60GKRnIvIWaJTtlxA5djuSwlUaPTMwh/DQRY76F61AvacJKOk1qnktHEAJj3GI6LnrK66rYx6bR8h2xjTfE4ktFkQOWUQDF9dOgau0lunjlf5OjyHYNATyaxhag79qbmwiP/cbMnlvgwRq3MJZaZ2tWuoE2EW22dIP95l/cMMImCb1CstTvgY2Rw6WeIxrbfWeqOYeI3Vk3DDc3bdsWDSgHfzC6WsXiwJK0b/Ln59McPughqMkeYPYAGEYdmnXB9Zd0yNUjuFRo8Ko2X/f9+YhbHQA33ifm+nKDziIuiJdwcfvjRNn6jkjFRdZyD8KKbj8ScbOchokxl7dF2GI5xAgCjt4EGpACmAECSnFxX4AAHYQDAP+MAAF1f0WykfvtWIH0Zj7OXLcUaP9NcgKGY21TiEWIPKyuomwCj2oEGxQCmAECSnGRXAAADYAAAXWBnYYPV/p9FRcFU7pL1bfnbj9pfMtXJ8YytaWdmDZyb9MS7RW4orv6LPuQzhKFayYuH2mF7WnuhYKk8ZTstagiZuKtQlEGgAKPagQbnAKYAQJKcZFcgAANgAABdYGC5iAiKdnBjO9FpxFT6QaYo4yDPGqjdwniAsOWDSGfDrDdp1EGFFUpkKmeI+pH3gdutF828N3+YjWZMOxye73cM7s4LJZpgo7qBBwgApgBAkpyAV2AAA2AAAF0dwJaaTFHwX7Au5DUil2/VZVmKYEiyKIdjgYv6tsTCxjsGf4mgcNAAo/GBBykApgBAkpygVqAAA2AAAF1gpx+Lv3dI2MAnBAYPl4up6vVHbHIBd0veoBpLDuQYVkRhww8I1Ho0CZeleKznyysa0rktKUAe+OPYqoFPLRvt4pu7YMd2/H4ZcjZpQh8StVl4HlTMDbADACPR9yTWAKPTgQdLAKYAQJKcRFeAAANgAABdYKa2nSg65Ewf+pF6us7jhmrBhE4FqAMd3/eQmdU+c8g03JTWpCinlh72DfVdGjATI5sk9CxWgSZyIZP+2K6Z8uCj44EHbACmAECSnEBXgAADYAAAXWCnFNCwNG1BFTOFCeVDGC2mPPG9MH4uBU05w4YkUzXUeFA6TvumYZ9SKnipHcjfAOV6YLQroyC6CHoWG9AjTfLS7hqfYoDOcvYr6sWfBoLAAKPigQeNAKYAQJKcRFgAAANgAABdYKaCuJndztthU+CUL0R3GmhyNIw5RTzi2tXD0dIbM5Faur5ubHiXF1KvWGPEbr6ctuYDVFEQqmZLOmUbWUP4WdXYL8lTvWRhGAb4/RLel2Cj14EHrwCmAECSnIBYgAADYAAAXWBWSjFlwWr8e4t+gThv9C9lAYXRBWi9dTSz8y/QuLpkEkxDAciB5P5K6TT9JmV3TyINbyauI5AAcxzQXMlwT0/3mOwxZB9DtnVlNueCB9CjSm6BAACAokmDQuAP8Aj2GjgkHBjIAAWQb7/L1v6cT+h/N47Q3T/mfq6Nu/pOjvX/o+aQtPpeqf+BpT1TrvA9jOAUm37u69m9+zfD9L7T2+7q9fUcA+N072jqfddp/pr+3Pb70+ad3q9Ywxk1/VltAABnP//+fK3////+fK3////+fK3Y////8MgAgOSoxf39ZPVOwldNmLYW4QrIaUZWPZC1+DXY3vHM2QdTLnm/SL6z0Kh/kguXKBccvklJLqqh1/s/i14wxdJ+npRv7FaGbhC2coCel8WXDiOa3aKBNtgnQceN9wn9yf3/XHypeqBI/QARdK1JO+BNi4YAHj09pVLtg0+7xglF5Wlz58kNtQaqrWl0mUkN5Q9kMjUiLUydu0cSs7ZcGRRsysmNyR6VAmg6FxANJ/8K7zAh7ukGAkdc3cTXFPnc3u+6m8vOzl58FDacCKiihjCpMVTLUaCc7CJQp80BHMEroaaxtqYSUybLiTuHOEwQeyK0Agf1MXohu2JZGjzYMTOoI86OycXdFGot0FTftgFYWHC8qyap8lxpSFkCvEfw5oagETSe6yjQfvzbeGGkira0NFisY4mzjA4jiLB4XO62pbftVmAROc7gyZVtuISVOvhbl2yuaU6NxuZPAxVugBqQ9BMb9G4MY6fGBMoD6ANSHoJjfo3Bi/EigWQoo+A9plEyLhay+JKrF7TDR2UREfC/Ed+fkAkIfbtWq0y09Dm6VS+D1c+nO4Gz7V+NoIptYYbpifT3CV28ElVwMtKMMY0RKP5xqbwUqm/BfbCsfgwpFEdUjSbWSKg4cDT31l/hV5Vu0cyEtmlV4YgEq04G2e62AAYQPH1Wf2uixQIH6qHYGl2E20RQCZ3Pv0tn6PzruG4wTAQs8AIYUmH//Zg8e///044gA4f//pyaqpDQMjC+j///Pcz/////pyav///6ccQAJf//9OTVVIaBkYh8dJsm0iwdY/JUNt2cqIescCRmvMMl4p0y5H9PM2NX+6e40fLZKOZCkGExWzh0icv/0QYqtotk8AV1kMjmu1P4nRI1UnGwhC6kXgD55Jcr6frN/TwUu1UZoF+FbD4iQHgJJUjw3w973H8REPvOp1WrIcriySDV9b9Iz9k7ExngcKJTlW25gk5jbeW0v++25XqOLvRzXeH0EXOn9mExpgr3KF4jx6VO2JnTvdELidIE6anmazLv8ABZ9W16RAfQMCSbN4iFmcyaTrWGrGSpU5PFMQKm19aiAZMeJzcrhOfSe1nHPpJ9vI6kk1MPdFL336YY+koP1heziOf1l6nCPy2LkDxfd/4981T3PCZZGyuEGJFDnsspYP0PfCYqsS4yfI9R3t4XqBirxvmMGWqikRQsKXpEeG4Raxl////044i12cN03mVK3zNkafUUj4fJDzqDL7D8d7ssnx6oMrQ7WgjqID+NSWAT+wT8fsO99jRU2n2tTNHS7XR8Ruv/UdtrS5z3/FhhuhgdDbPnBmSanew5Ai1QsrwApsJ6SZlcapQyozO4aQEajOIyV9MEFIqD5WU9P81B5U9EKt2q+DIFqG+fq4SKg2Cv7KY/cfnQRYxEAm8BA3qd77bEOlHYBvryPQizfErFIz1OeBFAB5iKyPw/cMNgHWf9BHDbeJ0tqe2hvSR4kkvC22ZAfc3L7Tqazrbd5qlKlwbYR2gb7QiFV5Dd+5GMPgedAQO0XYFO2LGg+p7TTZKcQqP1zZvHlZ9JsF98e63YPiAsBqNVSXJ+8HyvRybb0Vv6FcdWA42YM20RutW1RAhEgRMcW2Gn2S8jLhUCK6KNsNPsl5GXCoEVz5fswfhBCjZlEXOfM4Gesf4cdx+bPjkCvab02SmHXxxJsH8mmF/GRf+72OnuBtWiQq51x4itA3ENc648PFBP12KElcORQGkqDsV3Uox4wQiJSW6aH4X5+BiFOPfgLvurRQqqvH9kMxthxRJMQg++LvMWGotMwXmXxKi8VAxoEOmqGTjaMy6/cSo3TZDISTZwbOczjvIZYVAKqpa5uwsngHCM5Qux5yWKqN67i26tEqI3BPtR3+Cl8NrFBcK7kW/SC/oZY1LeokTZl8uLHdTNxYzYR3rfEAVXy/ukGUI12OOoriM/DrFMPIhTv4aRvoxIfB3wO2HFM8D/sBITaBtDwsmHbgsB3JM/pALlVt2ru+1IlMow6naGY67Mf95i5yc7AjCtEKs6/Rk0elYo66LOxJ+D55/GRKeXwS5O1gLt/E75Ba5wGP39TIgdoutmnpwdth+NvNxkCiva+LmqBhLbObs4tsfsK+0cBi34qFBRC2ONptnZvVVRUooTbKFsjw6w4O6tr5P12hdVDGC6Z28+J3EHrc3cSBSWBBSIbubalrEEsfvPbLO/o4gvFEWCNTlI77Z8m5skIOR5yJQvcS9Z7dxILfocefFMJkPw/ZpDNnBYQpt4vXuVtxKR1MFkZ583K6SINPiN/9LxHkSUOUdxWgXvgN5IKM6WoMHe+B1Qp81BgU+/1Tp15Xru621zMJUl8I6QWfpl+Ew4qXj2sKjkBrzgvDqYLcnSFS8e1hUcgNecF4dTAu01T7/4+54fTJ0o80Fmg2knfLdNjkYuvF5LlmwX/CUvDkc4qnN3RF62seNMkQ7W96JgLDsE4O9z0+qKY00c2vTgvR5YXZkK72CCaMnrDAUk9Uam/dv/11/HVGKFYeGcZUN34nrRvPrdoNctmKpYzIvSexCmqwJ01jZn0v89C4/J0vgexcj1/ZQLlciQMKAPvzpa1+uTs/7ZEhGdEmOFA72Wp7VuRSKj+2705xjjxSJ7vxan9axHZBuibhjFW97ZVMEoMEiYeSjoot8Pw7BrLkW7lEfbO+yA4hktuHD6VEzQp5LflFY/tMpvQENExmK9jcgZpjSc7VIqdcFYyCj0b8bm1RM2PMXpzawESgeYgt54Uaq+Cq4N3Mp31obUPKQsNEyHye3uQWbH9BJvyg9CRmJLYhGl4AGj//6So9JPb4atqQrImxIDAxBMZc1IxkMAZzd5t+NbfwIzoIp1BSEHmFpGdPeqZpdpM2zGvFdUk22Mkt8QKifHGKIn/FrCQdgpOwPd8qiQw7bjptf+BP/lmiBZ3t7/wynLb/767wWOxBQepFIWsTtN6lk2MMei3eHlzC8tUN9xCTn015J2fsf3nkctpAorBXlswyduYDgQ8B9hIwlfXxaIz5vADZuHXEsv2WpnFABTF9USs88IYmYrEuk3SEDioDEFZ/ALQtpQGpoGDG1VJjdNMYpAVMyeL2nJSCczVqVRiWJQgUWXgv3Esd68pMBwynKFKNpR/L79oOqS6iQ86/1h5dxAaQj4wbaEQxAn/chKvcxOwV5zaQoTC7LVD1VRKFREdC3QVN+2AVhYdYOX8x/mVpjJSzE4nb8nNwmJRsGUSc8rVXFMOgaWE3CKLlGpZIAh3YCfRyZ9bo8xiz/v5iSaTTkJcBR8JPAJkNTR6ujkG0lalsXvYWj7aTqGoSet6qgZxQViXjev1PzYxLXmkmQF2QRLS/2kX48Tjf9eJMmrXvakuXPRim2Vr/7eEIAxsK3tJHCjuIEAIQCmAECSnDBYoAAGYSkaAAAAWiXEg/nS9ychKvGrkIE3uhfJ1OaAA1WA1use4PRIZYNYt0CAo9mBAEMApgBAkpxAV+AABmEA8+AAAFolx0vwd0gtM9LxDBHkd7XkEaSzxMruK6H8yvza+pPH+u6Vhi1QAzwMy/LaXYN1apXmyCNMQug4M5nbRJLIYsPmjjqroKPXgQBkAKYAQJKcRFgAAAhiUjQFBhj8AF0uZ30/AzRmVx0QRJH/Nn2Bo70V9FkLhU+Mf4pDY/6V99k2yLYznn+xj7w8H1uYXkuT3yN4uXKKi+gkAiTmXVsAo9mBAIUApgBAkpxQWCAACWIBmDd0jXAAAF0uBR2PDsNtyFJ7mR3R1an5IvLtO+qoHbNTx4LIusm4NUTF5dNVTbYdpr4Wyb5NDIrC+oC3zAllNhS2VvY5lXuSAKPSgQCnAKYAQJKcTFhAAANgAABdLgUW5kpd8GvVz2BtKb0DWSNCXtGgHZrzyUa2dEcLXP5PYIPtMPFGPLn9XNOYSQn8Hd047qcZ38Ga879axNQQAKPfgQDIAKYAQJKcTFhAAANgAABdLmdc66G9iYDXYxkDRxQu67WmyMW99DnBl0kxlo8aM5Zw5+lYUzvwcfczy3EWfk0f+3tWy6CyfP/x/fkzhETa6dOhdy6BA4eu/T5Z8gCj3YEA6QCmAECSnGRYoAAFYBo/AABdLiuqm941KEZ8cHPnksKqfAkx2ReV0CvOLN8UIpb5Gb79fQNGuo2b8BuRX4I6Nbv22huyaO5WnHWTGDNlEd7wc3AgaqtC07cwAKPpgQELAKYAQJKcYFjgAAdhJ5QFJSAAXS4FHqINbWUI0REI38Week8YOposQozlP8b+xReiWrrvEGhKL+F1YeII9058gZJER24hRwf1ufLleXpmbqc08IaPkspuXehrPIgnrWoavuhwB3kAo7eBASwApgBAkhw4WaAABGDR4ABdLhCfZp4MOu5K2suZGGeAhe13lKTTl8TyS7SkUOr5XDBRfMkAo0G1gQFNAKYAwJKcWE1gABxn+MmCf6HG9njZjf9/zfXLihw/Xe8KDyxQqAAAXS4tyLqJsGhUS4IieDSTVKX20LvOHV+8LduSL/uI2SrLMyRfm37JPI+DbdNDfgTpcH9QKVO0ElaTJ2iooLWr37y/SefPCSzEol88Ua1ae/CXh1bjG9hFIOtyXAIPbDCoaXMg1Ym8nX3N7toUVrpdI58zsxicUkC/G7/BmmkIuBrDxSefOk8iy8sqhEJuACJ2xOOLTyzW0W3uHMG1xs9sMhfGdgh/1L8yaEkDYCS5kwzUomYo4qS7ur8tPoLmX+xSpJWDuBDFeZME8sT7p56d1YSfOWgWpXIfJJe6b7lP+xFJfSp6C+OQTEtnk/lzRzHXEmBUan/dlmS3oHGZIX9FyYpQJSqlVekViMpKjOBwo6wq61zvL8fZiISqb1a5BxA36FySHkHwZf8mlJYyVqecK5r9ZBkRhwQkMeU2esUDUh0TivznGtbthLSiOFZ89nWpyHb2BZWBeHF45vTkJE3S9mmPI7y3iW7rZarSUQ9M7/uv6Mj/XTom1/ywZWRN04SutDuDJOYjN8sb/wCjsYEBbwCmAECSHERZIAADYAAAXNrkkHS8i7HGaYIQhjbPGP2ePvVuj45rZ+KArCkHb1Cjz4EBkACmAECSnFhYAAAHYgHPM4wAAF0uBR2FE8Iipcttng3cae7x25seGYUlOLfdAoXEJmzoU9KAR3ZZyLpdueANVmdCGFcqryrJaGp64ACjyYEBsQCmAECSnERYAAADYAAAXS5tUp4jA0FEWoYUfcDLMWYfB9c6u9JMpRKJTjCls+IyTrYQaT2Z5yLK1WBlsthUuz2DXtC6FaCj5oEB0wCmAECSnFRX4AAGYgFrUAAAXS4K+/tcDk8hRr+f1lsNC0glK06VAa4Amy1UDFWPOFR/CSwoZ6w/bD33ttERj4d/RtXty9rlVlFZJ3XOvdDWRvOblhFcT6GFpbv96L6YDD+mAKPMgQH0AKYAQJKcSFigAARgM9AAXS4JAcFcHZqOiBm0J72rqEI+yyY9XMloap90gO3at8MOXE9KWXa1WWdSeqLD1/JKxvJRd/8unq2gAKPNgQIVAKYAQJKcWFigAANgAABdLgmOnfMptTpaO/lYbydFx+Wve1O+n/QsifU/n2Atz40QpNEdDC/4ASxobC74v66vTjuLZ6X5aZIfnQCj4oECNwCmAECSnIBYoAAGYgHnQAAAXS4mf7BuP9584ab+jSwCuYYoTEY52IJ5OIdAHvvdHj7lFg67x1DIqw7ZPgorypc2pZg+N8N9O7TBHDrYsfCAIJMkDadYAnPpu04R60dwo8yBAlgApgBAkhxgWUAAA2AAAF0uLfwJYqtykrFMQqZ252elYzV9aSToY7OSPvsJYTntkc3/6gn1B002cydLPE6POPQi9rYJ/8u1uWQAo+SBAnkApgBAkgxsWUAAA2AAAF0tWg2RCYRVqHc8sfJp4pvb/o//ZpQcx6vq7VfMo+URpLI3E40A7yZ0L2P+6jDKYuG7P2JYnRPJ9WcEmeYtJrALivNqm39pb27Y80RYI7c1xlgAo0HfgQKbAKYAwJKcUE2gAA9knjibT2v+rGhZffJdoABdLmj/yK0zUzn/7elo0N2Pn3rG4gz0KcrmxNGSaXwWb+lgC3pbpRc2Jd169UtyJxaOtRX0weSaaAjSy9UTxDOK64uJK/QOLJY9W6Xx07xJJwOsAjXGsi9FQWqI4lGA84iv64iE9NWx+MT9AvDZ/d5ni/atiIXcHnFkxkCMDo54ggDd1l3Esn9KtL9MwgkjCz0FEVTQWLRfE3MZGQdX84e2a9SzpZZ94I5pz8+Oij+XTLrDG/RDes4wrzi1XCwpHKsIn4Gpw+zcnjjSJLq5P7nZASMCV8e6hmeSNOy5tEA1mqOg6l2APgg/Fbx6MMwvk6OYbTWkaFsDUhpoCb+POXnL8RIlaNYeJFNmDJbKcRd3/74/+UWRCev+opTXST3aQJJbmSNJVLwb/cfQVPD4/pTBcdB2LrMeejRJdXidvtG6MvwjQHM2WBz7K68KUhM3qnPiU6HDX4J+HxWz/Re3L/Wej/wjcfWFCTyPfLlU/dQc4xL6FuL4l8Ws83waXlUjIXeEGDm/eyM3y9HUGEtJcijkfu6ovcLwk3q50teuR5Hku2ZwJPWJkhCvr5qwjJCdBBi0irqoE6gwslaQag6pReMn5+CjtoECvACmAECSDEBZ4AADYAAAXS4nopOZ3lMrft2EyI+la8kftUjoQkgEDvCHLUEkwMhzvWlKqKPIgQLdAKYAQJIMSFkAAANgAABdLihhPS/Uo8cg6A6/HfHTaXgVVPk8vYmok1FWUfluZNZzkvmvIRCDFDdfzB7sPzV4EwzXnWEAo72BAv8ApgBAkoxAWOAAA2AAAFzfEqR469Kw8gvrShfaldvjBBYE/fKvP3027HpFecU8inEdw+szHxpznR8wo8uBAyAApgBAkoxQWGAABmQDAMAAAF0ucromyRcdMO7YptPgB+aFZek2PtkUKfr/W74rSnkvmD7InEIPR01VuMjo3ipF1yRI1FcfQ0KjzoEDQQCmAECSjGRYYAAGYjn4AAAAXS4mvUg0QuTWntKHSyJo5X8uKiTGab0d1nC1Rdvhe3gt3RoyqCECLKBLVHc8ChN/MJHDZrPwvqJTgKPBgQNjAKYAQJKMQFhgAANgAABdLia8n33+VB1VuvfLP4ohp6vFjzNNAZ6bWjrk0SdfMoUdsYlVPGAHkftq+Y7yMRij14EDhACmAECSjEBYAAAGYQDnwAAAXS1buVL+8sOZp5EgCtJy9sGG2WVkH1hbtKsbWEDdcDk1SSBn/+GE13xpnUyop2CECX5qGfBmXXCX7UgGK63tBFQDkKPVgQOlAKYAQJKMUFhAAAZkAv4AAABdLiheTc7lQWf6JxbXAubuMllKch1sbRRIB3pYFmYP+PZSI/yGnbWvjarJ/5+FIdj9RjTUagpeHlCi7cpT9vaiUKPegQPHAKYAQJKMQFhgAANgAABc33fg1bfEBM+MC+676jEHFq2FRDYR8Q24BU9UuQRgN5qLGm2Sb236Rj/HcZPHTMRwWDsKNIykARFBphfz0oaF6HByT0/PoxCgNOoEYKNCJYED6ACmAMCS8QE1AAA0ZBhsj67EIV+8CVqgAFlKsbGsOanej4aKFAZ0bpYkrMAdpu7cLWcKGuhWPcZKA9ZakenEGTKYP4Jqr1VInNddEikydtwBenJQugZBQeD68dzyy0yGxAabDdMPb/ZPUHaE+gLa0WU//TQZMuXrAZ8xmCbgGGXXQYIW1ROdlyEk0cR7Ee6obbrO0cbclOTUh1hyENWZReLGSCeqx/nn7JO08uYhshCTH3FzMBeuWW6WasvLSq1Z2vEz/LpU8e9Y2E0imayFOmCBSr7LqrSB2GaqJhRWa9tI6UKi9M9PMvKxl8RcA/1ifylb49VHVPoD5v4AhZpNz5w1ecArM2Lik8B82oNefg9/IMOdEJZfUFb9FlkZ8tL/RgUHQYCVsz0PngIRMR0EMnjzd1G6mFv2ORS2nMkhQ/4mokmjti8rYYuSYbD95S517F3jfzPHQNA7F87NPDWdEzp1lkcL7Zo71lTs0pB4Rh6L91ZY74sN5K4Mv5NrvjBeFlBk5ghLzoUOTs/Od9ABv6Cqo2COaqmZs81oPAVLuc9w1UHNZCLQN98+vI+69nC08RM1mmvS+IxG1Qbnm7ok8DhSNvEd4ffE+DhcVd8Bta0m014Hz2591InAy1iosjBXGKGfxnGh1dTObbOEIHYnnCI6MLeBDy1iwleXpJ+c4/pq7nvZDO8O6OrJfA9S6OUDsqycAwxZqgCO3baV7vu5aJQ3gKOxgQQJAKYAQJKsNFjgAAZhAJKkAABc3xCcFArBtEjfSOkBIVKUCAuQ+tK7MHijbI6ZQKPCgQQrAKYAQJKcOFfgAAdhAMw7uMAAXN+BQhDtnj1WXzvvZUos1Mi4Wp6uepRBGBm+eSwbjM+4NOJmvrwJZpCXYlxAo9+BBEwApgBAkpxEV4AAA2AAAF0ucrfmyTi6rLW4sduqT6aQvqJVPYIePTeRBSYdgPCLcEEnt/3P+4uLK79XGIZ+sBMXR0KJTK4lt4UwDYLYCLVREWeunNOG6E6zG5DwMKPEgQRtAKYAQJKcRFgAAANgAABdLif1awih9np2MUduMslLspWum6xsx1gqfQzqb7bWYMSZg0cCY6qziQedqSxovAVF5QCjzIEEjwCmAECSnFRXwAADYAAAXS1dEq61G39VSKvEg8kdJd5gVHcWPhuzEr9G3gLBnRboIjAo6RMf3hAl4XXrg8g+ei9P3f6iPFjotnqj3oEEsACmAECSnFRXwAADYAAAXS4n7Vcvs8T9ER3WiD7ZE3hhq+450G4WzOJBrUlX/+bP6QBgpv7QpeBtsik4neZpdbBErbgvWq7vNHce3G70Pp6JJgjT0JQF9hHkKJSj0YEE0QCmAECSnGhYQAAGYk20AAAAXS4mu3p+Zz5wXBPicwFBMNeAGLu4iciSAa70JEL+G8ZQI0aRP7Gg+3ufxWxjCOpI5mcKd9/aUc0x7UYaAKPdgQTzAKYAQJKshFhAAANgAABdLif4x5w8IqChWz2BkJ9Dw51x2EYNpbW8ewfBAmSqM4op97zAOyMnmG2Nzlitm4Lx3au+Oz1HS+Io39ZybffSJgkQJE3V0xlfoBqAo86BBRQApgBAkqycWKAAA2AAAF0uJ95cXYaRiIW1yPM1EV/bFqHf4Aafjx5AbTGT/tXWknQqM82GMIK+SqNw8NT5RwrWErkH5/PV1GYSyACjQdWBBTUApgDAkvExNIAAKGQDTZ5wdSU5AABbsjG1xSQvnNRPZ/E8ojyu8zryBVhES1+kocxIarioG6pmrhha/63Tl+2U7Rrh2mG9Qm7GeFAJQ8wVQKAR1lWTxv73Lzg56QaNPncteH0tatjYmXdlRkfTtzzaHGG6FHh41s6sXUd40os7OoCxKcGxUS9IMhICwvNJkk7rwruYUGvJhYx4vPipY1rGt7+Uf6J5ldl0B3SVE3q/IkULhUxKUvHiUtWHwGasMiaYjg3ahO1fXU2XQymOX7ZFOXttSFmzCzwXAk01aEkRT/5PtbY1WpoCgE4CeAAZX7EMQdlB7ukau0Xc1R24fMuTdZ0CIjnF+00uSN+1KVr9bCVW+I1874AUKX+yuZhTwQawRw+A9VyR7IWe3fN4xOsdnaZbp4X9z0sOn2+oyi5O2QP9s3Ec1mhPE68tpKEJjLgHt+p0HLeo+6xEkCBnxA4bPjzI1ZkgOUMKRV6Q2XtIu6O7mLXxsZsEBRwoaThfGJOxXCd8UxE5NUYStiEfdtFvWX24cjyPJdszgSevzb7YSFnyn+l9F68kM+Awx3Z4FS9/SAzb0PU9H5i6pwcUCT+JG0+SxtDynKWjKtjlhfSSTFkAo7KBBVcApgBAkqxQWKAABmEAkqQAAF8G3JwySqoxAtABJ64BalSp43W13Gzcb5Dpp4t6IKPagQV4AKYAQJKsUFfAAAZhAJKkAABfOiLoCz4UfCNoJ8O79/8MNJ7EOtzwFAOnwa8qxDmxTtBrQTZN/iwUwURuggNwefLc2vtlF4hCPq8h97iV1TB4zxJ0F71go9yBBZkApgBAkqyAWAAABGAz+ABfOi3L7KaeKrJq+h+WMIhXVrUmTxilSUuhBvkqgYOjF3Wxz2B+L4lwd4t9fAVZEOUPg9X+U1ONmO5XCL7iM/1lXDB1hAxoUBHQAKPJgQW7AKYAQJKMlFiAAANgAABfOlkuw6KWF3QBEMmyGICPc7yFe4s6IBTIJvDYPSmr7B1McAoDOnJD5Uj7/u03Drwbj7tWgOsE5qPjgQXcAKYAQJKMgFhAAANgAABfOi4W00o7ZKydvFv4ubalC6cpt1P/aOPvMYxa7ZQSZyIZP0L7XN7cAERRm9RSi4/POrvPhlo4PQdbM3l4LRl/N5aZIA1fW+JxJBnkRRA5oNmwo7+BBf0ApgBAkoyAWOAAA2AAAF86WTFTXSIC5Oqeq4IkUrbegDyP/EJj1GC7Zg50lOgEiMbinzKKMkePE67digCj+IEGHwCmAECSjIBYgAAEYKVgAFy1BKuwOYvEUaE6JyWXhDVbMooD6IwRMYwepTQJHfKvFGfA20fikl0xmdCGsbqzY7j8+j1b21uEDPtzkNWXX+XpuQD34cLkUN3zTxiqDdEJ9j7vQ2auFSRJ2zVLexTIhudxNXLlgKO6gQZAAKYAQJIMoFnAAANgAABctQSicyh0qNUSgXVCh7eumYkcJrxOk92JgM9wSjUpJBGaPlMrakLAAKPugQZhAKYAQJIMjFkgAANgAABctQPwHipW5YUWGJBIrExJkrknds4VRROGTYqxJAIKDgto9DhF78MPX9EJ49RD1Yw59s6fBPAUnAN4YrUicldIVfC6eukHuTQeoRCumMIaJIFWGIOpgRNydJ1ArLCjQbCBBoMApgDAkpxATeAABWD5IAAAXf4vslr/XklI5AlyjjM7qQLziYFgVil61RKx5po+51akfQjm+uV9oMkelEbBxibMA7hCJzrsSJyG7E4qli2yLkGspYA06F17ae+F2ZewEkdWQ5n4grbqIHZi2xMfARAJqoHtfWpb5x9ryoFU8ZDOgXRJ9NQaeKt6Tn7+UdFDLGTyxykk4OXxC/cOt9G0YJ9l+XykjQvUMLY8/1R+QpsoB3v8ryY8vRQJp7As9MCWBCnZioidDqiB+q6ER4Rs1vg5i4fVeeGreUMfBBNOfZDQE1rymVBTit2eUpCLaqp/boM5N6hwsdaZldnElr5Yxem6AUEgjcLADJj+gW4ictpXBrWA5e3V0+krNPRRdHu6lofSAjsiJbrDFyGTpY2GC2gIo9YvHSRQ+2Lzqmkt8MMsq1hWxHZLNv8kFsb4pPeiM6ZtC4Br3/YRNdopicpdjUSYqrJDhCMy6Qs41l6evy3rMShA8jYV/rkTQMAaokRDXpG6ui6KYhm3K4Jk0nHACu0mH9Xifkh6ybmykI1l6PZa4hL9sEd6972TGq7oAjCjtIEGpACmAECSDEBZwAAHYQCSbp8AAFqO8iKDL4hoaDnQbuk9DOtU1lhFTmDnRz1hftvCI+Cjx4EGxQCmAECSjERY4AADYAAAWo7wxMRuiE8ETKxi2f2YsR9bxSw/sHQHTYZV41L632ao0l6EuGct2cjjnc64n6N0MtEnMMQAo8iBBucApgBAkoxIWIAABmEAkmgAAFqO8jB/OW+8l4yJ7lB1B0+LKGOwq+NYvs8ez2TJJR53fflb1V7ZgGEuCeq7gpxDPgEopLSj2oEHCACmAECSjEhYQAADYAAAWpFUkm5UZxRw/Nhtavs5I4XhWNVjcFcr8RY3mKsW92g6VJuLjZWeBmyZmxdoazmaVXD3iZOKUCTfm7ZUH2MNqJug6pQoCMzloKPXgQcpAKYAQJKMUFiAAANgAABajvIwgGXgUl+5g1wovtKvkybBuvKGeQ7QkBZjLdAlg222U6nGGKBsxgvQa2qYivp3aT+k3CGPJJS3zCvDF6rZ1wqAwEWIo9eBB0sApgBAkoxsWKAAA2AAAFqO8Z+rc7W4VrR1ut10PlEiEqF/33XF9iQFiLrSPNNXjabnXWTLQMyaAP7CBzX7AXUFNKi/78Azyzn3ov8FUmNbSNKTzVCj+4EHbACmAECSjIBYwAAGZAOgQAAAWo7yMIBl4KQfbgWFBjLR7k0VpBKRcLJWNc3RfsNstzJb1meiNADG3scRtdNhlKgEPH9baBJ88BRCWOlMIlZ8ZTKnejzTeOBanGIgFEZh5g2ZgQmb9jPm0F7JdCkcB1pVMF901gIsQKPAgQeNAKYAQJIMgFoAAANgAABajkJuNGIf1tg0Puj27x/asiGqWRoROI76GvBuzK2wsHQe/dunx76fCzI0YqfWMKPrgQevAKYAQJIMhFmAAANgAABaj06lZkzbYyCzvD9fbLtDhShtDAX5jLkahv3t4qzzcRsYwQQQPmGqLz2XVUWo744qoPmPPRZhg67rburDj44GAE/G8aRgYddwcxy1X2dRcdb8uE59zuKOTpgfQ7Z1Zd/ngg+go0pEgQAAgKJJg0LgD/AI9h44JBwY3gAFkG/i+g9X+fFHofz+N7Zybp928t/zOze67Cxt/+b437/zdo+X8bxH7/A8F+V+n1e7fT/M/X+H834/icI/g/N8r9nxPzaK/8X+T9P/Ef9B+ck0YWwOIa/BRyAAZz///g2u/////wbXf////4Nrux////194fEgfkGcFNxzAbwR27Papd06QYuC1DomVotKAqkplJBGD+DxvngW6HZXW/OhdqFf2021goOxSLGJnpdCiEuuEONXwxPXOn+5OTJu5dLpKq+/kXnenFSpoT8Soc610mdeFZxPwTWQbRWm87FsJlbgbVFcs2FiUTzNPlpAB5pNdtQ6LwQ/3AKQhcRaS9o0En2qUUtyhOb11xLn0/vM4o214WOg5Ukt6gQLsFCEDdc+sBj22GOvsT97Ik8/6ap1/ZVnv7gp/4FCsG3NyvPA/cjKz5G9PUZ2HOCgdQw6D/BWim9VPeYS24tZns1GeSc+DMXJvu6lNycnr9g37YcQdnXokDcS/a6AFskxPqo1EWLAeUCK4pIo0OTEtYWSZaeUSiYh3WXvqKniGSxpdR/xM/SZY55kbwDq9jrnFqlEz2LCiAoirJVOS1kIPWqWXyDdb5yV6gc8Dwbv8IX7595tMJQb0pe+Z2GkrVnoM/FGyWvB/zs3FGQnbWEu7thX5BaH/iUzBLFOIHWeAKBmzlxjag5j4NzzzXr1rK7H5pbLWd7/0Dnoj3z5XzO6h9Yi2G3jE6atkZU3mHDYz/m/yfL2V5lgYJUjU+bF2L1IxdFZAk0WdVD0F0/RsXEU2/5Mj7YbhcEYoK3sX4Q9jqOjCCC3E+rB60mmq/CeSfyCSDbumpVoDPR//ha8e///wqQALP//8LXq4GvEYMV///8KkP////+Fr3///8KkAA9///ha9XA14jBvcXBD/3bPqq9PW0wQMPDLvrV+0HHy6kj3Wv2UU8qJY0aTlLA9PnEYNPx+FXSDElBDx+j6+ptlX2dQyxp3k2gSnzhY7mYDUDOSP4A/lf7EwUgLxt7cbF4OfvWGVWDf2swajx6ESRew7PEB1Gd9xCFr5M7htwSOvwcJ3IT/MfJX0PtGin8ksImNLZ72TdzzBYxK971EOX/Vta520QyyIp5Z+liFDggduojvWq+fcMKFFKiEM3qgh3aQVP5QbtRisBAGWF7nQuOFfZt5HfJ0zmOfQmlp6YHnDQEyJDqv6XPdyvIjf+16cOSKf5t3En07vt2BkOYfmJOxCwntkGiWwVPa3G8xKYhiGE5PVv6MB0YjGjfxgoUuqcmfLKA1eTzZDWVD2KnCLQplv//8HQIiB2cMA58Zz+8wexMCy7jMr+cfWl09HkAM/SCRg4r7fCotugHJog86KgYKlcD755Iu4ktSm1+O2xpKlHAYHWszYOFdQsd7D2/LHSl8H7QOeu4Dm/rzurbAXsK28ESiPQDmpbws3/KSHqRHIPke1/Y3tc2oSkoDw62hR4/OmbgYPHcXcmhDCm93rTDceHbpMyB5KdAAbWkHhJ2qlL8Qk0lpMO3fcQSBZ3Lqlw8IzNFPZpTrRRTYukQt9TqK3vDEOzseBsst9rkuN3ScFpC/jqjkWxpEToHermyXn8cVTRUuiLvfToIx48Be4JyfXpB4SRE0jqHV2IqhpEygqhSXg+GrNeYGYxR9TSkbw88XAo1Dg40R9Uwg0ExfSUM0S2WM0Po5L11FjW2nOVj9T3B2sKkpW22qDw3vahnd8W9KlO1Hg/Qrcdj7rrViAZh3GZvtx/21ILx2ZTbVTc4zd+IU02mvGm9yGFIc0FD1DZt0RcafeeRzK8Ni/zOIeJ9dNw06r28ur6UXvs+ALJ3Dn0MPSIp1GNDpeDJkmiqiu0tDqQpYafc23pMXgJbE5rkqhSmcvp/MM4QiPSPAq6MhIMMWa9SBUgYsiOnmXzZcC5Fh4gvlH5z64v0maEEck3zUHOJ3qScQBIGy9dmX840NEy6uMDAXDmX1ryeOr+dtcDQ9u9nBG7LQpvrC8gU6idgmjwn7iM6EPeZGtRKQx9yxW9UkL0X7oqCyiQLrWyZqdrPgC3R1npqVIb5Su5HXRLgV4cfeXIA9SvaXZ/ojweWeKVZCXoU2Y2YT4f3iNi3KGCJJnDumws0qW6XvaYizE86gANdsF8FF4aLZUq5i0GRrzvIAkYZPx8EZatSSlxcyP3SWIw6+oldcy5PCQoZq1Jk+zhWn4PSa10whIrYyzx/fxFRzxXz0Gd9HTidMjX+0Qc6AgD7xeKdCD5SdPmwPYjbGmYxPlmncmFiI3ax0H6y6au6f8C2XQ5NZkAJEN9qxayKjBk/qjYboZi+AfDe+YWHHYZf3D6emNYyjrWI6R5pPQg6KqISIOX20P9JffNJmcZw3t9hzC0boAMIJ+Da5kZw3kenrrmRfkp7RF2QL9AQsdr2VFarxPZBUOXsFW4pwcaMCsXYkD62NtiOKmxtB/t7lfp/q8YDpmea00peLE5Hhzh3km0lLZJ/3boZF7b2PMzvs9/ZmEpbIw2vYvySe7Oc+dH876evFQLlb4MvC2DpngWT1HYfgWdD//HG9VKk0XWQH+SPFsIU2wJ/kzGP/tfKViT9t6sS9EGGFjFx8HpibFcjQTGr/7XylYk/berEvRBhhYxcfB6YmxXI0E3A0fh5oBGtIqyw6LAaOPpDI/DpZiLe74Uv0ghCN3AyAGAqzI1MYgwyAGAqzI1HHfDn5YP7uo4shCnImA7b/zBtNggoFqItoDbWcwn97GrhvKVcB1ZGYhYLxImY4hOi1Eb30X1njdxxcKi330fsX4iLJNEmUgzEsiCd/Vkr4i9MYMftBjNR2gLyuiQV3WlZE9VZZobIw2rmQjhWh5HY6EVG6+h18PdeJZARDllirOgY8PZD56y0z2kuGF2NP7LzsMKL70Y+yD8Mrodl8kZJ/WwZV5lQv2sAZWz6qqt//497jhprc/oEXUcWj0is4vtxzL/PLeUxuKYqbl4J+f+3k1G8q9mg0bqVvdjpISTCZqKlqf3itPt7t60pKE7lk4hlOn8/ZmJfc4/Qp20PV/5ogEV1UCxuATJOJN5VYUYi1SWxjtd7zR5mkxoTS0rWZ/KMqPqQhZqDLFoZ48lmeLsqk5s1FmVlPP4J/bqSvbpR1EnpVVYek9e+d0NGteYxU2eDfnd4PetEZoXo/zjVfrkSwv5oejRyh0pXaEg5Ru2i+6LKf6EMMjgq+IWLhHpZileS5hdTRQnkoRUDjR1B1Soj68RvG8/MZzSdjWsDRVW5EQVGfZK/UUjADxjQTPfyRESoJwhNtxlIqKpn4g1gld2Autu7cOaBz0GmzEjEHmv9XVJLetv/5NKlaD8MdTv1C2M4eGqZ1AXF+S6EcWPCdu8izwKLzMiCOeDZCZn0f2D0tBBbzDvADi2f/qqDxrWnHq5ycU0HIP4X9P/UUOurv/jqE2CZV43Nmrhy7drOISJb82KIvwwyv8LRXdcutpGludmWc7H+N8q15FZogxWIAo6uBACEApgBAkgw8WoAAB2EpGiU8AABaIvxB3B/KwPpCFvk/dpJY67rDgr+4o8+BAEMApgBAkhyIWSAAA2AAAFojGlxk8r9zfnXXt3CgEGwAvJx3FNQwF7xAVx28W2WP0iguLoFSq/M4sN70zrS+lFlgdCKP8osqJjev94cAo9aBAGQApgBAkhxwWSAACWJSNCwpC2aAAFpBMfpWKpH2vMbwi9pjC2kxIonH1FF4gwRXlUGO/8T40QFKrzm2zT33kBYJvtEgkhy4xkEoWIKqoJJ7othBIKPLgQCFAKYAQJIcpFlgAARg1UAAXeJKl6wh1KB+BCGuXrl4Mqd5J1Sz5GuwStxBCsUtI08eN+TFxFV+BmltwIC5bbPD7MzMd+1C4MgAo9+BAKcApgBAkhy4WUAABGA/4ABd4tQaaI1BNe2L1bxFfe5h8ON+pXR0Xhe7PwVIbQTHMYjKdTmayWC6KHf1Jez8tr/MAESM/NjWp8H0TiCnfyTT/ZHoazeuZF6HIr+8/KPagQDIAKYAQJIcwFnAAANgAABd4sGtH/2xEVgVNmTJIhZP271CwetSJu0uN+C50TCUgKg8T2T1ASSJindnwZHQZZ6Bner5jI/6mJ4vTKpv+TzhfJWd3ZpWl+KAo8aBAOkApgBAkhzMWiAAA2AAAF3iSebSQJIn4EIa2raLMqLPZ70vybLsr2o30SBRRjCtHWCPDzXagdXWd1EdzJ20YJoI+kAAo+WBAQsApgBAkhzkWeAABmIBmGAAAF3hBr6q61jFTy/hY+0PYVclVV1ptiHDwzWw71EwzVlnlWKXQChmYJKfUXZ0QYp+qf0b3AmEnHnbkuWOXUTJOMJWuj4eIij37d4rC9fiZMB1sKO7gQEsAKYAQJIcrFqAAAZiAZZAAABd4QOcSXotyhbVfAsdSHzbLIkb4ok7ApPvfM1/xdfp9//y5L84wACjQX+BAU0ApgDAkpxMTqAAHGSVZxOI0VJWs+f8z4rMyGvafARZ673bMMmfoABd4Qu8kJx4ior3RY6rbVZb832wmo4rJ64pbvXGRlLF+ze6f1XEknaodrLwdNYFuo6scnWbdqvSpgQHZ9gjXr+WLdrtWVJRY0DPj8BHmXR9RXwZmY2F+FGejTd4M2v5WZhKZ/xoUzAVSsUIeBIZ5/8bvdcg71UasaZ/UAr1k+xpXHu5wPBaqfQ/6OWumMdizNkIibx697ixmBLv8RXGepqj7pj4eZnN9bGzJwWoTU6/hYCODOpM8Jfg1qJgTqML74Pr6kCqZ8bAtsK3BpQ7VtKjflpjvLeXHcKNUqvG2K3GBiEQvCOuQHE5+OOGxAwC6CLVzTfI4dElnnczHdBRkT/hoOKvLdOtqyN8hqxEJqxS20wn/Sf39xSSjK0W/y7YBnQxUOFLzDYU5Z4vkkNJWE/Ud33yPQB5wKIQMuxv0Q9tUFS0TwTJkjuZnLJMiRm87awhnZAwAKOugQFvAKYAQJIcQFmgAANgAABdbaccR2grqsSXTwgqwwzDmwuuHF6/ARERfF3QAKPSgQGQAKYAQJKcSFhAAANgAABd4kqZbtQ3YtpSoIY9882KxmxOo0NB3DHW9az8JvwsikZegym5OFIwRhMBWHbm43yVXJxhK0eJW583FB9WYvC6AKPHgQGxAKYAQJKcOFhAAANgAABd4knnwXbcQFp+szx8mIywfdcKBesuiIqqOpf8Glg3SKx0Xx0EmSf1PAkTDkkKzViGp2smWwCj4oEB0wCmAECSnExYAAADYAAAXeLk58WFkpFj/1WxU7Sj7gYH9gyoVUQH0rBlX7S5jK2i3g33ybCFXEGsc6d7ngEZWBZrvIqTETmkvcwFV/JaR4pgJQffber41NOajuLINUAAo92BAfQApgBAkpxcWIAABmIBbHAAAF3ibWIK29NFxO5d1LzdvXh2cRxcvEzsx7JttWOFAKVj2NO5XHf9D0JA6ovUI7MmXN72mXzM+tkltT1J6OhF2SBBGzGqYGwR6QCj1oECFQCmAECSnEhY4AADYAAAXeLk58Xac8Rt2vj5QVi4+gjQmI1ZnZTGcpECEUIjnwAtpICTeacjUKNeuti3RJmcd+8u5n9M0J2OKhfx+txFReXjJ3gAo+GBAjcApgBAkhxUWQAAA2AAAF3iSecUXRMDKgiAuL1zJsBlPgw2AF3FOolF9j2S9ZOjI+hYuQMsovrPDE/kjrXr521OpVerR8ajSxZGtp9xK8Q9ktYsehcRkgd8lcLQpviAo8WBAlgApgBAkhyIWWAAA2AAAF3iWRHRNHa5c3pjNgDxVJ3KMUW76/f9SvShgg3dGcKl4gPB0lfgguY4NgAkfqARW+QMpEij8YECeQCmAECSHJhZIAAFYC5pAABd4ouvUHQywBmZNAHCBXyrHhWBUc8+PorMlZBKctQlyjK8FU24l3U0fBTkJB6hUPfP0r4/OH3A4J6M5RBBQGUdbjjHTukxABjHPgVO1HRMCXwJFXupOMEGPrib5L2Ao0G8gQKbAKYAwJKcgE3AAApknjgDr9xOqaAAXeKP34kvPmco0sOrf5f6r9ou5qjp0sB3k4/ERZefQzew3o+2bfCK3ZrLUFArfs4vI+7en9UtLnxLri0+e0hvSGkghLLVmnnb+r93RbaM9Xk2h4YnUpII2LVSHMEwW/EIZ7LSJSOtEmLuOSlnK0/2p1Mz7tgb/64D3rhr60M3Ld5J6eGYLtkJ5xCS+ej2q5zeWiXpwstLPLQkbXxI1gNrVs+/VfEQMhq2viDjkZDX5IB90SWGY/J/8blp0Tyzn7m+eLGaGMUTAcVnxXj6x4rSHpaqXMnVV2lzhNNm7oOmWT3kGCoEvYiqGuYnrlH35/e6jjL1NbOMZkDT2gsoZMZevaVfu3LSNinC0MPTHIlSXCABOnSKcL3p5zBm0rBHktia0cixy/4RTOtANIeCAQNtjOMWaygd/H65OsTNgSbbyoROtK2g/EeE/WbwPxZgmv8Eijq1/els2foyWp8rzfjsdDa1ys9xZaFbCebud41ZYXDA/7y+9ONc/lBvuJqCdPrgKmIFfEWY2MYpHCaRLyzXne8GUmnVSaKJxAOgntNh/Vy0ci4Ao6yBArwApgBAkhyAWkAAA2AAAF3iXOqKHHT14WM18hmWSiHeJJtScCEC+fL8mKPPgQLdAKYAQJKcgFjgAANgAABd4kqY2aQSni6xI9tcqf5Jv18r5JTdodiw9JpuyqlBUCFzIYeWD9g5PK1KTdLwXuIwP+cLcJaawQFTOv9AgKPFgQL/AKYAQJKcYFjgAANgAABd4R54urw6IGmQO0Zx5LnCpwcDwKYJMgtNwI6psrr/Yq6L5g/QQpS7BhoRR+UuSU2NHyfwo9qBAyAApgBAkpyYWKAABmR58AAAAF3hHsKs32E6qrNTeniX6GDKPpxQj727Azs6ozpy75KoBqHjSylCGORX4HPxiNLyFA5o1Mz2WD1ZYkqnvwb/ZwL7jtmzrgCj5YEDQQCmAECSHJhZAAADYAAAXeEewTlnl+CWG4q/lrzRsLoRc1+OtvJ66bhxtewFsBxAqfA2tX0KIYHDXb4f8h8bb+sEG3WJNOTaMSps2xlSdtEfeygqOvdkH24yh7hqeoMvX8QAo9GBA2MApgBAkhzAWaAABmIBJBAAAF3iTMfjgW/M9wfEapOgGkU9+t9/5rk+8wzl/+BVqPAbqpofjYY9lhc/YnR2r/BBp4rh6vLRDE+OCtBw6Zijx4EDhACmAECSHJBZwAADYAAAXeEewGTQikf2nrRKnvpKCOxIQo5ZMJgtmglXnHxkGaQDPwti+HcPOAFSdCl+J/At8Vv5If+Ao+KBA6UApgBAkhy4WYAAA2AAAF3hIG7XUZbGydV1h7jv1ddMjnQK/nk0LTO3XcweGSClonppnH0vvzEVmyEn+qfNOQYWwpQi48uEgyLUXVbd2vDzdomgJ9xbO75U0CoBnRVfQKPegQPHAKYAQJIcxFogAAZiAeeAAABd4ubPBcGJyyk506JsQEx1RNqEIx7yKd4Y/nQci2TWWuNXybfsNHeOwmlLZj96ijvXcY21kSZmgkfmwkZoyQY4QwEasOlGDY++AKNDCYED6ACmAMCSnGROYAARZHnwe29fdfGDxk1ldSnv4ABeJMWn/eR5IQPIdPWPKXuCf/mBADg/xy3X9HtsrtXwfhns7a6EQ/TKQD3Nm6/EMafxe+fc5R02QgKapX2BobfbnCVVpl7/+L7LaQ4CMat5IKSTBuo5Y/KEXIviVpdCc1BLcGQjbNEet4lFO/eDA+FkoY90BSJPcPbMZojsFGgW0kNsIld8Z5rcawJCVepxR5w9is0wJ1t/BO1q6Os9t60/YQWejw/HRpqumgCoAGBrW29dMf5Tyw/cE8tUCAmg+xg/1C/ILLW4zLa07nIEOKp/dK59AM0P7hytOrFftOyLR8O+OfbwODX0lpdOMmMif598rgjRyibRUF3mGzaOISrCa63V13pIAJodIfgvChUZBrG45mF/rdq/XT9KfQEFFaZ/hZ9THPepJUYmEjZECWgMxbcW0jdceOknK/rDfsZUqJ/EJq/eRcE3lXRZrNWK0Cj3F8Nw3g/kNmhZlkWCWmXZuZ9Jgq9ezdHumoi2orqwOvIwA2G4qFuqD5dsOBihuoN8pYlqVmaebc0GYIfUeQOtP5eM5F4ceW6bvZCCbbePaaWDa5MdnJQ4vijeB9/IjOJ8xFzXmR30ClWT1/WU2V2D/2KYJV4FJ5W6QCEZ+kz/oa/pf6NEJSqaetIkr00/o3HjWCOKDzzaWUnDniVEvZE2AtAT8dEf1SVFfHUi4eikWRQfZKkKSEK6UJ9loFpfGsgGXVCFPW/+G+XqP38gGmo6UpNvALnmOwyqK//Y08cipjMFNvAOE8zSvd+JGUb9m+v+hH29rY/EnfmcGZvFtBO96NRON67vlwKhs76GvbkBuK+fHs+LrT3iiOu/+AaORO1Rs1dTKR6fJW02lsqNEOxUOxal4LHu1nySg7WRBjnvEQkPW1RdhtVA516GHGRSQEM9xs7M0A53znyqkk9mcfga04nuw9JNAqnMx0RXY5fuBr5samrLHqM0mmjRG6X0Z15b86ZfMD73t9uAQp1MpmEObo3JoJ/7ZG3AAKOtgQQJAKYAQJIcQFpAAANgAABdfHSgqmFwUIGKL4qHE6Z8II5s64O7CAMJezH+o8SBBCsApgBAkpxAWOAAA2AAAF18t1f6TVPD6zXLxSCEwYK5sVOSLhF5MaUyKkDzpuPsR4j8Or4DcgBb9vw7IZ1VpF+XgKPAgQRMAKYAQJKcSFiAAANgAABdfLdJvvYwfGVAzMNwYcxdszo5pAOLhofq0yJyG1/LE51B5WgfoOkPs7NDIZHYAKPTgQRtAKYAQJKcRFgAAANgAABdfL4e5/+HoWzk0gzn36s8eYkUds7f6ko/SzB1r1PEHAShhgFTq2efXsGnRHpiAlzyOGNLwFMU1m+ldqk/oEW3Rvyj1IEEjwCmAECSnFRYIAADYAAAXeLcyZcKOE8xyUj6f/8U9UysY9rJYhWSjHBJYrbrI0bKV2k/Gyj1/Lwon7b0jklIm/jpHwnynTGocPGkNUJMGR9ZAKPSgQSwAKYAQJKcZFggAANgAABdfL4LyJwcH77LLTShmNXmc3craa9x/N03Zk+lmpD+h4NVU82ALuCnwrwuj96XoxYHzuXjfc+1x27GtghdZS8yAKPagQTRAKYAQJKcrFggAANgAABdfL4WDOe/IueJfRyGr9Ed3F98zHWYeQT6iJ137sXBygfoxWOjACQAOD4LrWYwNH/4QxPamNJ0BvupDENT4LaccsXLg/NHv/yAo+GBBPMApgBAkpyAWGAABWAuaQAAXeLc0KfjfmGjfaMrYbD25oPaXu1kF4GItRjVG7qogAIBszWWZm/+bR5b2oxQ7pmgF6xBOIOfWvyosEbwkkjUCdLl2sbXy1Uz9P+la9wAo8SBBRQApgBAkpxkWMAAA2AAAF3i5O/e3sHWzrVg9gjhm+oV/37g0soYQ8gNYXbaCNWX8Tf9jrhJHuiHd/iTvjFNSttNkKNBvIEFNQCmAMCSnFBNoAAJZCPINZgwDAAAXeLmzwo9l+H06iODF+8KJd82aoekOy+hG4w2d3kLMUfQtlce6lYKf0z+qZ0H7xgSQi+97CuO+qF8rkTWaNCyQtz7452BsL3xXLeNMKSengj75SnAYBAJGQwuwfJFucSsKCheUVbmAPQXSXgU91TnKUwsk0agI2/mwt3tcc5QoMYFYF0rQ+zutkIBWHqFTSEHUsjSCbdG9/obeoFVnN5hTUD5Qa1JXLQRficO0hiMfjX7GmYV1RjFCgBygWyVigSManT9dTzGBbz0Rue4zeIoVxlQ1scsMCM7fdeeTpjZtU30E1j2ESnMm4VhB+5XZdQ/rHAtxHOh6nPXK6DEjnxyelgULZox/ct0ijlMab0hsCA/L+rohytZSMmBseAKOPhql57mIIrczsfWZ6WNzgbruXUtITY3cD8SgyDRXXaM4DGoRisgHD2IIm6Lme+pN2QUPvnsCIkMveW/VvUYMQ8YvPX+DDM2n99Yoy6pyhVx4UFJesaH/iWO7f43bjG3KBIbQSyZjkaDGRQytYADei7LuXt0XGTw3i0zqw1FLfZaU8eV1AsGAKOygQVXAKYAQJKcPFhgAANgAABdfLcTs2haYW/85Xg6S+QZm1D3XDfrOhMq+lXwGQkeBgCj54EFeACmAECSnIBXQAALZAL+D2f0eAFH4ABd4uTw8jcIwExjDWmAGxJch8mRg7y5iRR1hdX1V/TlcvulYKdGpbgbOoAjDVlQMFFtLlhkbHiOe8V1cCiS/aVhaxBM8WMXEs8ly6zdNkij2IEFmQCmAECSnIhX4AADYAAAXeJL3HpgQws+FPdUsRghfIMWSIgDWKO4gqZlzQRcN9PaQEwIsrkZxXWl1ocS3U0Pp10vuGe6+fUuOJ4mFfYtbhH0RRjOc+Cj2IEFuwCmAECSnIhYAAADYAAAXeJL82+E4b/ukzjC1j2dQ5vpmcVd1bO38I1Lhn8kmzqYopfc9IVkuwJiiaClpzA84roCXRvV5NhpT5vq2PAybuOQaOaBNQSj74EF3ACmAECSnGhYIAADYAAAXeJL8h1gtro4usFm0sEeNc5x+mw4ItoitXRR3x6C6DkM8g0GAZ4FMhQkCuDDSGUpPmx0KhkhGTk0oA2N2qtzaj2dol7J0nq6z5cEJtiDdZghdy6gpSNjXfBHAic48KO4gQX9AKYAQJIckFkAAANgAABd4TBAbIbTDnwPknnY3BG1Da8pZCwgas03xWO/M7AL7SI4Q55kGQCj7IEGHwCmAECSnGxYIAAGYgBtYAAAXeExim+aLpAYFO+nW4Fiwo6EHlawe8d82eOT6vQeOjolPeFx/bxMnATxlll/Sq7SW2315VBfJGBY66kjDaDdmGosIjZ8OrugNObYEWBPapGwEQYMHnZHLqPfgQZAAKYAQJKcmFjgAANgAABd4t1DdVvuGClZawe8SRHi3SRgSL+56AMTgHP5nSB9hBVY+B90fUqUQTBvpS0Tc32qx9JMVX8v+ByWtku2bYHEQmn0rtj4E3cP73SFf5Kj2oEGYQCmAECSHKBZQAADYAAAXeExjNp8g3y6LVXK+RmMcbOH4W9VsevMVI9N7+cvjhQMQuVvX9Rh2GjmMbniemnTfHprmeHauoodYH4V1c8TOCxg+9FWOPuY+KNCBYEGgwCmAMCSnGRNoAALZuGkjspKn7CGpABd5HqPGAB4GY2yPQkM/uRunSbBfTop2ah17cA/HyhRMw+Hu4qLvrT2oNCJriRsQqQsTx9V15G5HtLngLDwvVfEhyCXAzn/BXvLAnzjt+UEEEWylAbCiSw7KyJ4C9XD9a5nRy+xo//lku2MF0n7RfG9TbF5srpaeCRaVqc88pcmg0iQHnCOGr56Nx8BuqMG20ZcAO73kyeetJAgJsQtkz+MxnQhJRKFVporIJ/IPWL+TGC61fpCx5rhD4e1GtiOip6i7v4+ZazgxDoZT/EkHnRzD04TtLz7Fru0a9r6EoUZAf68mjLvJBucyr4nZRSul2QSN7xdgl6E+/Fc/lRbpXCzPl/MZmpssFz5wl0Q16U/+gHgyN6QaTI5z/6EpnS/1A/fRS4G1RqfBVcIsLpD8QSQ71XrLQm9Ro/Cu1VB2PkhTeuAahmCo/d3V1xAg7du9+ikDdkcvtqOQWiMp7x9OGfXCmSabEFPlvqF19rFSldrL+ao355YqtxKOTSjlYvk4qQ1aT9ZdzSLKuQLX5yBy2bG81i/g4iqO7REAHq6jnUtsVH6d2u3NWJevqNGVNjosay7Cn2RH2EiSW2pXHC/0uDzhvGDlB2ibW/ga6SqIyJmHrhANY+VJBIR3l/VUjkbVlSlCZBKs13Y4Zrd+rijuYEGpACmAECSHExZYAADYAAAXeJwy3YMkp/DDNTAZ5VEUL2iuKHcFHhvL0DHc7PVAWGcUVp49p8cQKPIgQbFAKYAQJKcVFigAANgAABd4nDbENDjZ7iqyttA5krUh3g1X63ztkXCLfPHmJFKBbgQQGy4+Ye4Dkl0sGcIU6ws58wi0J4Ao9KBBucApgBAkpxgWGAABWAuWgAAXeLl8f+h/Cvdt5GPqMH3WIusM3AEIJ+ERL8R++6fLMA5TrJ2idc/EQ/bO3BYhm+mXhiFZ7e223GgAACuZtIAo8qBBwgApgBAkpxgWGAAA2AAAF3icN4dOSga0FtvQxpj5x4cLcXthrOnUW7rGw1n/o5Li+Yu4TyJQbV+WrWyT9o5G/ylG2LreI/IAKPjgQcpAKYAQJKcVFggAANgAABd4nBHjU1ewolz5PyyrxBRlYCQojIDk8IDRngVeVLywldfTGHVQCVbZhlZn9w4gHrtxIgER6dzpEZFk69GL+F74YNG8w7TfjcWLi6iVG8L6MgAo9SBB0sApgBAkpyAWKAAA2AAAF3icMZX+SWsXauZIQanigUgVV6uIRk2Bsn/mAnybKCLCukmAuUxg6DQC9LoipLTI7d1eu4F0A4eFtO5tl7gF00SKxKj04EHbACmAECSnIBYwAADYAAAXeJw2xDDpD3dpwnFBw8XgyJCRKHZjkT753OG81O2lSoYMSCYEXq40iGnYGEyS9vQsPPLS8h/8m/cmalEkkWskcuYo92BB40ApgBAkoxwWMAAA2AAAF3icNS8kTcH9Z5AOUtRM6qBIOwDh2acYS2qQdnXcczwBLMQXCeildvO3psHPlsOU7NBtNyEDtg8taGgQiuRDKCJb5X3JoXEUrOg3wCjzoEHrwCmAECSDHRZAAADYAAAXeLl8sI0wID64OjjwcjApTe4QrWzOAJECOSR5+/DfWJMuKz8WNGEVGNFbP5hvOQALKYXvvNZR0thtSLFUB9DtnVmR+eCF3CjSmWBAACAokmDQuAP8Aj2FjgkHBjaAAWAb7+T1v68T+h/P430+5vj+Pu2Fv+Z2b3XY+mM7f/r9+T+jxv6P0ft5X6b+/8Xhel+r9J0z1HzP1/h/N+X4nCP4Py/K/Z8T82iv/F/k/X/xH5PziBDBYNAAGc///4U9H////+FPR/////hT0dj////s4A+JBd2EOo5410mCGymCDUmAScJVD6UNVAJS81AXMmrxC/S/K5JbOxztrenXeAdoNX6bf6kfdH72zZlbUV1SeXEHkVc7wrn2Wotpj75Zf4MOr3NaigEEJX3Saj/Way4xDw6YNOphPslVEkePENNb6HVQqg/jTYaks3mNe23jzUNxCHrbz82E02LVlDYpftz9jj9oxoTdhXdxBJTECl//8O9oWOhzamH3I47e8+L/JDTwsha14/h6OGKAX+Tb7QE2PmeKaKwRym23oNH4xc8NTs+UvkdIO6Ifp2XpLBeH8+AKz/njM0X3lseS8N8fIjRBW34RrS4hYikMh4+aS4IM1V1t4l6+J55CRvjlMaeJex104b86I5JN3Dv4UO/A7Y28sQNZsMQbbSfW8P1iZM1aQQH+sOmxk6AcMiU1ON5aO7uI7dbOxDhtBqUqGm8L5FKtk3DJD8A8OQN4z5WT3OL4h7SQCdCf5RNykHvn/L6fZNcn00RVsV80CqkeQufA4fkFJ1Z6DJLnmwl3dsJHBT6+HSNsjxviOsNAegfIbZ/hCVw02LP3s6rg9EP267mpWx/sBjrx+yE0H8tkiWiaFMrzKdOvT3wazLWG95x6ccZwROer301H4oKCHoLg1l6Uw8lrZMZBr96ODJYbfcP5meJrfetK2J4MDOmsmfwTwJhPi8PPhDYfRP/xaU1f/yF4Pf//49gAFn//+QvFcDqXfq17///IPD/////kLx////IPAAPf//5C8VwOpd+stne549w6npN8TCQf1rwpt96LO9mjSq4Grx/0G3kJGDOO0qTwj/DEiS6lppJZY/URaaKsx9W29tPPx9dq2yqPAzaQ4Ko2PYFadibk5hGj942A27ML7GSs59w1ytEFcw09FjdVzlq4dMUNJirCyeKxnMNCMTKyn4rSNQJLg9nz9DQpUnOL37UVWnKAZHF3c6eLEDR+A0t6LXpDdofc2B2W1TiEAhB3kLe+NrCK8Q10+tU7YbQpCCWREDDdr8lsnHMBlI6j83UdrAv4uUTGD0zZ4c2YLS8gQyDAcIt4T5OgxnzYxzlzsy/4nNSROCcyxsQxtgyUFk9hGYtc699f4sKNndEzIssyVdtWnfrlzkXEJgPpkRXlc/8rD3JkR2DKOnLDf8g8NWHJah2WxA4tf//5B4RESbcTwiu2sCChQR++TKmm6VirTYkZtpmP5JCs60LxLnQHz9Y6pt9wK8evLibq4CXCVbh+IQo747FJFK9pZ3wLf1Cb8mlGPBNnxOsiVTxAxFi0ai2H+P9/6GQQJOErJG8/c9Keat1PWy1ZmmpZxjHswYpVh8bY7Vqtp/bjpT1YXjlkUt5c5fQNGf9n/8VIz4t+SO7JRLPErh4dMnt4hXpZ4lcPDpk9vEKVRbojxojAV4l8KCaKhCI9ttVlBAwslcl+FVxhGesTBsmD7JIzI+z/ePy+1PBdz+aHGxzYGTHvIYwW1f9Tplgjo5yS471RzGHXEqpoI7ZujrYt7eplUxrNAJk43f7rlB6QhXhNkjErn8NoNTKypzNm8mo3WwHkvU/PenP5COU/4HM7ufzJ2sLmGOkErVVq/kSLOXHrumKM+hc51bF/5SIIMoQjCFC2axYJKcMJWyejQqPcvbbaqVlqZsczDuhm+cyyrxDpE+UNr1DWzQl7DPLvlk/Ku0gFLRY+XVQVzB9tSdK+nU1JqVNf95ski3nS4pdcD/hISG5W9JwxtNeN68S8c0qfykEX4F1UB+QaZvXQAvHi8gTqUFPnNMqP53dv0ieCFhK8cegablLoyKA/tFVWMPVHU2ucE/LbKYBohdoZB6IXZ0xer0KmRcLjfG9UdX8moQq7AhklOuE3BrQH6kXWOfzH8O8q4HUwJdQiC4RJuRxY3UIKpoefY/BWWhnU+AQwQ2xIJ/T8DU4h977e3UNHSpN1BJHFgSfvrOy3Av4JNmmOyGAonxzpZ9YXJVBiJXvvlZssC9Z1bAXQyXyRMpzGsFHt2vjGCzBYboDzFAQcktvTxTLX3YV8qSdIb5fZuGzL+TdP3jPVGYtJbKYCpIymGCAubnxQpCWW/AScJDRpr/s/CWylbzyz3zPJQF5NQXub3tURJ9c7ZitNjovaQxlaqcJmtKfa1Qev3Pe/e3+kRdezskuyhDMWsAYYdMvcG7NkeL/pKJR595TEcLFdMmjvpLqBcRMmxhr+g8Ja78/CB7VJwTQ6mHD1cst93p2ghkKo6m4snUdQY7u+VfJPAtEO645R/DD9EcMzVGY372wwoquX9VYyNTBrXj9neMdH4subaBMklfjrSfSen6++cr/X/658rHW/nEknmgm37TtNlIUarESVJX4wLlWLnGl5oDZLv/5b1v7qCGY5v+0Gw1oVPN3Uu8/f/dgvlJP+F6TUzUTD8Z9PO5npb9Q1h/92C+Uk/4XpNTNRMPxn087melv1D9zi8PVqB1RUP/teggI1Fz02A6fCfHS/acU15O8PUMSGrWPTixJv7Ewl3xw7D3WweLpxAAa17rtJ5OqH8Gv6OtIxldH9OqH8Gv6SoTb4O1nDxTjb3fCl+kCm2AiIyDtT2kVzZtBJierAZ9fdLZyWM+R/DiWZwi3uCBXlXtLZ1qFpOSlYID/wh2SUyDCoJTRbQZL9/kHgwLzkSTN8okuPWlL6J2AyHlBf2Bm96Hgm+tGmK1k4iPHnCiFMLC1svmUVRdlLVqwewzLPfei0hUhC927VsdU8stKOEi9IWurxfl6pFM9z97QWy4/cblkFeWi2ANvIZ0jlg9KCeIraWX+QIXb//u16txCzTlv7GHfU03i6FwxJX9//8m5Oz/H+Bm4/30f4GfxlOJK0FX0j6ciLk9JwMeW43xo51lnuSM/D5bryaZeYLEnkmf48pzCaC0AS0J71zfq5+NT19Qs67m3zi4nyUQ2FhDEpiDkfvuVVitTvqXNt6/TG4ch3xqKNWO63CAzSZHgs5hlY3FcBQqN2dmld1MioBuSd1r8FSzK71bx9iir7MKLrZk2N9NUweqk15TF4ERMPdqGMdlTY8+n/S0KjNF0iBub8Ofo0EFS6iJis0iqudiKZaqJbUlvPKLNdzTwFlfQu57z/I+IXn//7VFvwJGemzsKSsArktOF8Bg8QRLp+7i2kR8H6gzLMxWi1dJr4ShVMVSY6v3zDSM0TE2HTPAkt7YKLuE6tolz6iBFCf1YDPr7p3tKM4bX5duAfMwQGIYE+ojljTcIqrz2VGW9spgixdT6OK81tivLShyAskZKPV/bgt40++8rq5mhLQ7KPFj1vvonxoYQEpXnfZRNtxINZRh74cgv6/qk1Rs3nwXPdNzJomc/sGQ4+ezh/EN8/5awXtJFlL2RSb0RtP+f886s8TXZGpcPHACjtoEAIQCmAECSDDRZQAAGYSkaAAAAWibd2s87nQJI2Wlq8gfeCDg0J1fHOFAO8jK/3oiB1+0zAKPNgQBDAKYAQJKMQFiAAAdiUhwBNeAAWkEzQd3SGcCEfap8T2CMQ5GqM8NUM4i2CEuL8jQnFRnGXOq/kqs0RO1X92dLxVG7ys5bUTXDVQCjz4EAZACmAECSjERYgAADYAAAWkES35WxU6oRF6l6TS4fFjDAFYxZg0FI8z3t8LMquI3UTq4BnuXmWr51VlmXAkjga4WYuQdya++p80IMt7ij6YEAhQCmAECSjIBYgAAGYNUKDAAAXS4n0Y93bQfTKHgNcQumgafLmhJSMNilPoXu40NEvgEx9iOPLTFg7Vt8lLHEVGv08LQDKhNWFplE5BjCjjb3WywInoEoZxLXPrOZBr682GQo2dm9MKPCgQCnAKYAQJIMaFlgAANgAABdLiZudfjGHAx9sBg/iClEewkMAF4KaJjTM85cGx8RCupd7dY+EDHDrJkK4UYY3HxEo++BAMgApgBAkgyAWQAABGAbfABdLifT2cM13V/uXEhRYJIP+Y0/yeoL3nMfMYvwKDgFqzNwHusxhsEGEvhO3+aIHH5W0ZUb+UnWPKZQxdPN+MQN4/nA7PiA7kGwkKsiOO1YIIvA/AxlLTlg4faM8/ijuoEA6QCmAECSDGBaAAAGYQDzYAAAXS5or332owCw6yv2Pi9Uj9Ou2W9X2KgnCF0QMkGeugr1ojeeU4Cj4oEBCwCmAECSDFRZYAADYAAAXS5ooZmJyTCT/niAi3Gqqk8IHsJnWuu/pPLECCmflhlMKNFRAAfURHdiqgvqs+9Xtk5md08x3G29yxhNyZGiWuGA4H582UYq6JMlJzSpoeiAo8CBASwApgBAkgxEWgAAA2AAAF0uJwygAb3vUCMw/dP1OjCh50+sI1pzavEtS2+64HKYYqTPJT4COivsAUk2gU+Ao0IYgQFNAKYAwJLxUTgAAIBn+MmBMwGuvrckrWfJ+Z8bhcw/E3tPgIm9d75j6IUAAFlJxPvhygSM2cgWECXhR5xPfjrdlDR6dnFJJJa9n2r/Sud54LfSXQv0+E54zM3iJjBovRKfnUeIoX2wH9s4kvI2spCQ4MRaXNm1jbfOHNeCjPj/Ym21p0urz5B+X1J1dzCg150q58CQM/Pk4IgQCJHn2VaBtyILfR/zrJzDj0GG6r+CDN0Zse8wwvsjaQmLP/cA6GGtlx/eOumMX5HdhQwo/xS+M+3/iJFPe3KyJeSzlkouOt0GiaAY7FDmTNI8GF1li6BYKLOVWxM5zUFGAi5b/2HvMylECsMNpdGHaDY7575VeW0CkHSL/tJCuZAckLZ30SsmtE2jaCDjODhzLoXHAl8SS3dh34oajRSmaT2OI1ALVpL8BjGRlaTPHLB/CuBWr7fJqCN5sWj+5nKX1KiGryjspSL8CWuMWbjziOECdAWv+F+AcPCNb0UtHfuq6IF0G7+UNY1UInJ3FumElA9ZXopMhS7LNa5sdlsn4uMlphHP8bI9ZhQa8nJMizNfRT1efJDlq5zUl2OS03D42bw1Qj21+VzUw41yFU0cjABceRzLpZW8BNZiH7TAw0dX10cqQYJiO7ghYM0jg5w3ztkV6b5OI03XkMpyz0X6Cd2mNO5mHJQHJNqRBgwlBi6E2C35h2NOlUmWloCjqYEBbwCmAECSDFxZoAADYAAAXOCMXpOyM9AmylK4ZtphmLIVkTBbydwAo8yBAZAApgBAkoxMWCAAA2AAAF0uJ9PYt6D/JOXtxZg5YwZTSj5dyvkTdxq2IbfYj9CXKsJNl5CIN1ZcsxoL68Q9HBdfqjQ0EiRAbUjgo9SBAbEApgBAkoxAWCAAA2AAAFzgt24/7IwSmI2yLuyGLiXL3h3VaXh4XyGxAz9FcYWS8RlEwRzbzoF1MUtk2L84uf4UDMDHkmBLg7tra0lR9FuAngCj14EB0wCmAECSjEBYQAADYAAAXS4n0Y/QOmesP3ayoT0ZKCRLi5nCX0Iwptv9a1YTyBTgBbrnpg1RcS8+COlrVqhEF/flnNriN8p8f1S/vW2/0dZNGY2UgKPHgQH0AKYAQJKMQFiAAANgAABdLifNOUM9wzr7txSLIoBk/YnMn8Vmoz2uFl19eNt8kpd4voj3dMcI3azQG+b4PUYmT4ce1ECj0YECFQCmAECSjEBYYAADYAAAXS4nVcccVAB46x/Kn1r6bLwT8UjRcEwOC/Ntb9lJz4W9YdmOBZlPdd4t1XGiEN7OABNHXUeAMjQo1jhrDLUkdKPSgQI3AKYAQJKMQFhgAAZkAwDAAABdLidWvxZxsi7Fsi6uxztdrPZ7lxUxwFAfVjYpUpZRQ3nWsGJH7s2XhC1K5wAMTXn6JEWW94hrm3wBken1EKPZgQJYAKYAQJKMRFiAAAZkAv4AAABdLidWvxZwbGm6dPnM27LJ9un6QPdx4WHzbYazmBI/ywoXJLDUmcVd/6Gss+dv1C7oE3yTzG5DWdKAYBSuX+ZYZR5txGCj3YECeQCmAECSjEBYwAADYAAAXS4n0BkAPqYNVP8wyWTFmQfYwQ8gFFvu3xt7S/CfqimzkeQNtiYlNgurTzYdb0uLbCo9GmVvIyYtfmvno/KgmxtzzW5ABhMQilQegKNBqYECmwCmAMCSnFhNIAAJZCv+2pATbQAAB08kzlIFq4xA8Z2HwmVC2k30QMDZFKpjBJB+JZTi1OxToqPRCbmd5d3EIBNh2g4w674V9Z5VqRJC3non01Jto0BUlr0vIW9hMawYBalwp2y+inPRd8T1Y0ntS5rGDa9j/DkkBK1MEt9UxVfOphULV8W9nk7RER3iIP2TizaqFvBlfdL6zBoMwrAoyg7yMC4bOFBYR/8eRV/GD9PAHdpJ4OFqfiShXXL3fxYbsx9dknCfTIpMWgHvoJA1q4Rwwq64ydNlzz14FPSqMv/vMUMcWoJlrhHtf5mnc2ZFfFTZKdpf0bsTPMcD21Gp82t7vPHYTx7vONFWtN3Yp0jfFSIYzD4IYev1Q+Xjrb50Xi46idvHR9yx94G3G0a3h4S4BywREyCzCYJAcaXeng8h9WUwWTbl1cRvzHwhOS3Teotub1AV4wrAzigijE8lbASRnN3Fr9fzFW1Th7eiPTQx+FSPEjPrEChOSVkFPR6ZNILvdO24OceFK3lpgZxqbJf+RBUQpm47I4mq+EWaRlac7iR0bMAAo7iBArwApgBAkgxAWUAABWA0DAAAXS4qN+1/FDiOSMCtHzneu+36ygnO/2hH4O+ECq4G/wgUofwlmKPPgQLdAKYAQJKMRFiAAANgAABdLiorRXW7pz1gSBtov08QppQiOujgW/sLeQl4f1qc3+6dWlP8NPrvLvYFcPnL4rd3Rf7Ao64LSUGZDj2eIKPHgQL/AKYAQJKMPFiAAAdhJ5QkmgAAXS4qOnu/AxGdv5TT2Gxw5YqbBeZuA9ZA6IQ3ZH+uAf+t7KFFNcaWKjdJLu5m4ana4gCjyIEDIACmAECSjDhYYAADYAAAXS5yxhw//n5vM07jgavw7bijpnLmeAzenXOfZf/Pw3xFt7JZ47tpu6zfyCSD8wpHa5XnIhUXUKPLgQNBAKYAQJKMTFhAAANgAABdLio8A3p26RZnLZrdbb96mCRWKTrERU2wPWSGNe9t6d9nRtHVaE+rDywYSk4/lmgN093kYzuzewgAo8KBA2MApgBAkoxUWCAAA2AAAF0uKitFEsiwD+wlmWIMDaxsseqo5nbwwKCrVzK/++5UhLhlG8X7enRd/FAFqKEkUSKj54EDhACmAECSjIBXwAAEYDOQAF0vGMsBas1OZWZ8Psg5hdt1Ck1Jdr96Qte9b7pSkEIrddkZu1gDijFC53a/bMQgFQGSQaLRwDFHCY1iOJERE9kQU5gaCG8/4C2T7Ahx15nQcgn7LwCjvoEDpQCmAECSjFxYgAADYAAAXS1CO08TN5RnQP4F++DEWOYq0/87UaKisZI7lHJw55YWBhu6WaLQRcWCWJYgo9uBA8cApgBAkoyAWCAABmIBbUgAAF0uI9pIUg1+P42h4TBbIfp+BTOXX2me0Aw2zOZY90bbr9s18iBD2vz85Z6sadylVvtjAym+xY55yqqSCtsgkJVSrvqunXoAo0MhgQPoAKYAwJKcREzgABRn8f0RTnehKRhXQaZPQ9gCAAAAAF1rYRAyatPeCVWTury3NlaXoA2AtVl+vjGE8E78BcHm/JLsSQSsva9LgF51yveQC6ZBK58a2GUwJJr4PFKpk2xmXBtfBSJ1wcVpVoECdTxecW52aBDtZziYsZnsIGzw4QUI5LbuDNjsk0rScRExR3XUzAZwb5R12fdp2OvC+R8J15ttW6Qb474+603wEMEMcnbPxnHWoHewGyVzZOXiTDART6kPQyOFZTF9Bkk72azv37vy0pzOdG//uF03Ra3Ztcu0zYDPisVv77o/Bl/rS/JiQDkC+lhEoUccSADF5c7f8duURwD4nKfaUBBklZ2VbOfJdJesBH2ubCJqeOQHQaR+MJbSBNjImSz+bLYxYhnAFxBvGnZcQi5bzLK5h/4Tk2gLZimxgvugovQNDRR2SI0EHyiLWP/3ChjgP42AD0ueOmg0k5DAuAIYcG7fRWbzoo8fRbBWT1PenakT0O9Njqzsspwv60mKY88vxlYybfcu6p7Iep+CbTwdHQFDT23cqynSImMI1RMHkaBogPuQBX7udu81h9JtLp0gqVBbyxzH7lToiFf9tYAZMh/40Hc4jWAIC/WI3uv4iQnFLVecwuzrpKLhinyVTJgT6BHkKmzG7oqmJtpv4OzDaTyKyrJlfyxkwSam09r8TloHKKgkW91pTCKMvXhmyJ6eg9CI/ByWtzM5BaWAUq4neSlk5QkhUdUWTHxcE003NBaDhYDWU8nnb5o4eZzKJ96DdO8FBfnS3Qz2HUWPA2MJEAlefIWff7YlaH8up3AdkrjMdgzEfD/tLcT/KFjsxoeEiMMrbKVRen1WoaPy6MELaK27r1U0SNiyv8FFCtBUkruqqkYwvge0QB4jh2eOhYBEa7zmQJBAYnWDMNzsLEVANt9hv0Z6rXRKuYcIA6MqCp9MBNj20eWcsgS3jOpEmgpmtSb1O9ZjxE+VTWVbdHoALxPZXuhzxJJk1xytj/3J/Mkcqo44n9idYBybRG1wwYeP+uUulP7EUvGzj7v+5Uglb5LrUlroo7GBBAkApgBAkow0WIAACWEAwD/jyjAAAFzQdoLt0rzC0gATxGzsN6zuBG+oPCQYKwmAo8OBBCsApgBAkow4V4AABmEAkqQAAFzQ4QHkFmUlH//YzA5O7TUhLSGbgSPdPK3dCpHb5pcJvHHsTT2KfOWUkGOqOwCAo86BBEwApgBAkoxAVyAAA2AAAFzQvCW0NQwCjE0ELP1TfDe7O4BfIMTjszulaUIVGuu4SiFADFzBbkcx7znRObjnlq4DMr3o0NIyBXONFgCj0YEEbQCmAECSjFRXIAAGYQCReAAAXNDhAwiDCBJ7YjlpeDdB3lVVKTSI6mSr885Hi0BCPXT1Sudz6MphxMNDwqHOI7UWedACDZMal8Zyb3tNAKPjgQSPAKYAQJKMSFdAAANgAABc0ODpfrPY88oZ6/DcpIJNXtaYjaf0+8pgutQzINsdAls2YCB380sEa/QBRjOdbYiW/6/Rp0greKSk+AlqbAC5PMqu8TzwbjfM2MhAIIQBwqwAo9CBBLAApgBAkoxUV+AAA2AAAF0uBd5CdD1r7tsbKYOsQlu1vypzHJ9dLA/g3ZP3FdODo1Zh9rpjGjp1Ttdf/310ULoJQup4KQgkMmgCXvPAAKPJgQTRAKYAQJKcQFfgAAZiOfgAAABdLgXUWxHEVV1T0gA1hstcJ9RnpGAtt5lDrI0rxCek1q+J6tD1WofxPCNKAkaVLeRY3BzzgKPRgQTzAKYAQJKchFfAAANgAABdLnHUhTzPcAIV3G7xGT4MfeNLnMCLDtgRaA4nWgXKd0Rkh6EtnZxxItVax5MBr64nZj3UcM4ClyokJ+nKJAgAo8+BBRQApgBAkpx0V+AAA2AAAF0ucdSFcuaqoMraKxKyl7ia4GOsyz9k6ypTcdFyD3NbIqbwfm7qD+QqFT/FS4/LguWkIWQefNPSWZF8IcAAo0GpgQU1AKYAwJKcREzgAAlkATDy2h0/AABdMta0ceZtDXur0ns2dFR4KyfByTBOWiId12BLg7QpJ6knQHH48K36qLowpksR6Fik8qQXSY+dOdljNXXI4wXZFr//g6Qh3qdJWUskkR2Eu7O6HCe+bhPTdu+a2J/BujekrWadpaKjLqXmgpga0rm9fs42VyigZlSxHkrXTMCI64mrM/+AwL8+5pxfKSGQWIHKghg7ixR18mmbEKH4QXFuOyk6Eza064UQOig74hW6z9QjXF+lyxHpUELtF42TRuIQ6V9DqJpGQRK2aL0T+G2mXm5wvWcgCnN0+hb9T5Rw76QQu2ocXjCOWEY7nJpiJ3SWd3q31JidbPS29eBwhxjOPOtc5p+WmHWWKg1I9OcbjH6g2cxxyqzPt1cjuy+LhtMPT+nC6g+gCibSZZDO9UYv3RxZ5dXrmq9N+tBhRwatUWwq62sR/t5A5dNB1Fw4wDZ5thdnprj0QbDxyomWNa/56lnTJ/HD3/9BFPICXzOsECdG4yDhDAqEeulntwaA6oiKYXHJxTkVMLPgpl9jj7GvNZSjsoEFVwCmAECSnERXoAADYAAAXNDgqzOpMSYbOMAopFcdesZ6XRWwYkxoV236Sd1VAYkgo8+BBXgApgBAkpwwVoAAA2AAAFzRlLACO7Lr9X4FTZeVtIEWQNy5JLehwaFB1D2Z/XrRatBZ+0hkPFTJQ8TQ1vgHmbNU+S21xhC1iH0U+S4Ao8qBBZkApgBAkpxAVoAAA2AAAF0tRPhg4DA8eFVfKl+xsqSUmlIEXvP6aUM5riqDYAzNaaVMcfamZy8/J/7J6gE4SG2FQGaxeY3YAKPxgQW7AKYAQJKcQFZgAAdiAWtQ+DAAXS4F7oUPzkA5NkNa2XlOtplu43tYuWC4pEAP4f3vG1CgJP7U/muEOc6Mkk5mgCmdQhXg4AXFvrrp+QxhIidG6V30nwFd/ABHqUSJ0FjLeoamJG+X6Ti+g1FecACjxoEF3ACmAECSnEBXQAADYAAAXS4F4O0jfGLpnkcYNtkH9WAIGxRLe3bjhekKAa6LGPskJQf2V1MaLCJOpraJS4H9OYFH+ACj1YEF/QCmAECSnERXAAADYAAAXNGUiWRr3EmzCpJTesT+f4Z5JKvDAWCecBvuiukR7ldzULonIFhuEDcRAflUZSxt6yvu55McOPbGDDHkRXzIxhk8wACj6oEGHwCmAECSnEBXIAAEYNHAAF0uBeG1vO4+bK/WDmIetwH2xbbjl6nlVshG49NAwRLsU2j0k2/L//uTW44v+GYIz8K8Z+ZQxMSwCj5OF7TePnK+Eugjxi/e3KcsL2fw10O7k96KF+XAqACjzYEGQACmAECSnIBXwAAGYQC72AAAXS1Hzx+3saFLJ1WoFieTBPHulyfmnbxesAlnkRjl78UA3utkhkJ/EVy+akf/HktZ7D1nz1Vc7UCAo9eBBmEApgBAkpxcV6AAA2AAAF0ubOp66dFXE+bCMRbIMyxkv5W+ggdg1ItUJoGQF/KIXsBrzGCO4poDnuGxSt8C6NGHglLMNEzIpN+wNfIPGXYDRGS1sACjQiCBBoMApgDAkvEhMgAAQGQBO66uvXqZep9VTBTtAABZScT6b8wpcqT8Glea+MhcGtWEYKHMkqoFzh0GOO2QeXTl/ES81rEAEA6lyGjbe3BjfZ7ZcZ15DOPOQXeb+OOiYTs6NDVze2j9GssYDyi3xL9SShLqMHC9bJnxZvHnpzpSwvwibUyNDbRAbW99HW+jnVHePDFAbgP3AVxaw7AWRIeNZ8ECgnjiOzr/99HJzuTECFbGvUTJIzD2rP+DH+m/oyFooNmU03c97Js8mKRvkTh3NOvEO672UxCpvU1wuVQ6UnAhGG5KTCQZiGtcnc5H36eJVNfd3MbA0GP89x3k+6eMECuKP1fJN2+gMabRFVJLeyUZknSSI5L3L8xnd3UjnHT+/GOthRC8I71rzj/loUQ9GOoUnBrrT9DT4qzYGDwp1zEOpLLhisiOQxc//X8m/6whfvrkf+yTwk3/O+X+IbUrpda7uqgce//9DhT/nDl962/vV/M2/113/iG1QJEkd7Zi+OnvDQsaUe4+qHUHaYq/PBXGZH+REid8irfGXoTVv6rftDP3WpePXl5BTDkT76+/eAertvgha+HSkxh+6t1gqOkrTpuFxRiXRUvscB+It43/knVr1xW7rYMvI7Q7ppZaAhdgGvCaU5K6LgZAcl1LH1nyDtcS78n7vU9TbSv4FBhB9bO0EcYqFXtowFpgpw4+uQf2teTYZTTsoq6CAX0Ao7CBBqQApgBAkpw8WCAAA2AAAFzZ7Yqacn0EJebmDBtbOd9VG0e054Kv5DjQpMbqFgCj44EGxQCmAECSnFxXAAAHYgElSJukAF0ucdSFzDBHObzXZTJdmkkoYzBOA0VO8BqML9TFcSaWa6VSsaQx6tuTEbTTZG54gBbq0FXnOuVLiuqkfOs2i5cprDoFUQCcSTXOPVXBAKPQgQbnAKYAQJKcWFegAAZiAZhgAABdLgXLlBY5SLRkB/1Ympg9fvYlB+0HQxNE/J95npeIZ8AjmEBwBHm+WVfTkp243LQr0t/8yNb9brIAwACj04EHCACmAECSnGRXoAADYAAAXS4Fg0nhTPKEvwneR0RajcjuiTLswOE2eM8+Qc03QwUzaixIOAA2bRLnjckM3We7PbjWk1OaG+vmyLxviK876KgAo+WBBykApgBAkpxUV8AABmIBzUAAAF0uLfMYN1PhHhKQNc7e4v/CT2Br2PwCTofNad6sSojxwLpvs3z6pWuT/ANVl+JVets7waP/qhp/wqnTj/u0Lq9QicNzYbVwRjvAElGtdGhMAKPGgQdLAKYAQJKcjFiAAANgAABdLUvVUl/HPZ7m5ynZTAi5lTPse4+llLtoApCCe4/x74dz+3BTHHER86E3ajFv9gtlTGeBAKPvgQdsAKYAQJKcXFhAAANgAABdLi0Eol4YnLbJVAQ7i2dwZ7vTWuuoSAA/PaF9zef/aHtQJqpxfytnM/04pubMrgbhiPSeh1kRBFZg6Ek92PMGMe8U/mJHfIINXULecN4u16qXs3TEhZXPHXD3mN0Ao8SBB40ApgBAkhxIWUAABmIBl4AAAF0uJOA3pLD6hJzjvbAPZTjTsS3KtK8kmdS34yIPQMyrmzoKCOkLyX3rOPnawVWACKPigQevAKYAQJIcXFkAAAZiAG1gAABdLiN8/Ue5qJAbYqBD5WP2z0TNbDYdCjGVlQRjiZFU9mdCPIQmP9W6k4Q8xUhoiF6B2dRAWHA4J0HlcKhZZWQfWFu0qxtYQN4oj2M42AAfQ7Z1ZWrngh9Ao0q4gQAAgKJJg0LgD/AI9ho4JBwYyAAF4G+xet/Tif0P5vHer3N6T1/zP1dI3f0n027/Xfo+cQtPpenf+E3XknqnXeB7GcApNwPd2oO3737N8P0vtPb7ur19RwD429HU+67T/TX9ue33p807vV6xhjJr+rLaAABnP//+fK3////+fK3////+fK3Y////8MgAgOSoxUC8f/1OwldNmLYW4QrIaUZWPZC1+DXY3vHM2QdTLnm/SLj89ogrzV8rRI4cOVcfxXav/XyoJunHro8zN9OYsiOCWrLLrHoCyfZu488+X7CEBPc4YU8Z4DlFnfqnSwgzM/YIkxzVk9mWqzn8XDAA8eEZBbLORXzou5FMaI58+SG2+mi7nI2tjKrYFFQ6VFxp4snbtHFDiRmsMCC95XGHfmvdiCHVYuPx0n6CygodPFbIqYGAvQUhkkeMEELGhT4dVd5kk+6yXRe1lk4zmoa6xL330sXBshQJnGHET6+o2a/5pIPQBVnCXvbjrdZBl9jx0Wy1Q9VT3sm3c9uwfFB6Nr5cJayhAUlTvAyISanPhj5u35Cq/g5fzH+ZWo8ZJEsWi0SP/Hp2HX0SvnRdyKYynRS+Q+t/rAAAHutqW5vRtADachbYbsGpLv2wG74h89U4SvCZ4tS+EqOcyvPLlx/ouIOAHLkNIZCKLKnbatr/+IwfM8g+Fe5zy5hCGuQcOZjJDa1Lv4mr2Rxyspl9p9mCASEPt2rVaZadrbs5pZh9HLuQO2Ro22xGLOzqtt4tFnVPkEQeim1QxEIM8L9OCnjU3gpVN+C+2FZaRol6sEm2CbWevdpE9nMKqh5pGU8mbyNUePH73r8EJ96HI2UPGllv8Xbo0BazUzwmy9Sw4f/7O2tk/46yMkUiq/HyLtJlIc6auLPPvc//swePf//6ccQAcP//05NVUhoGRhfR///nuZ/////05NX///9OOIAEv//+nJqqkNAyMQ+Ok2TUgyAafT3f6PlrL59dVcJKp4a6V2u8b+bUqoPsaWqE/i34R5LSEBegTPKOZHADPSi/L6FDW7FR68mqEgJaEhEJ3ikWfne7UcZ88kQT/xl/hdeY8eXF29B3nKcPPFgGmGspFIH5T+IiH3nU6rVj5beuooS6vIilpQT3EkXwMbkBlWC4Xcxtu+07/fbQQwgzh6CaDDXupdFuhp43cKHHl6Ox15/aua90VyX+eDyvWakSiPFZvcsbMFAobqqsOo5N0sXBJqlcc+cGaHWI50wpqM5othH4iOMdvnBF45kazxW4gvYDVBwGV2zQL6QGCK/kDgNnlJDALWed7J56LrMEC3FoE+ppwpcFfPD+9e6Ao8yXQ5tBd6eExVaenPqnUsnFpBBZhI2G8qxO9w0bdp+5KfoB+bDRUf///6ccRa7OG6arKX5ZNBHHkudPYaBPkZA7DkSuza3GnivO4oGU8YzsJzRZE/sE/XHH10G/LgLpNPhkhkg9oVKb/1Hba0uc6Co/5K8dvk7qMC1Zj3dfVhbtl6U4cPExLrnr/9OPqGlu9Pe2nXW/uH0XsjfTtvHDjknRUxdeL0W34r0tWGitL0I8zprEGhGR0dy8wlg8Hr+KvcfiGvaao7HegzMKwMktsPqKSU580N1SdyFVeYdoTQPgTJ6wxJJJ9DABOCM35Q97YXlxdvQd4JEeDcqtk/nQzrCPjATBUxPuEuWOXz68VHcJ3jLCjRXp5D25waKnr6jRXp4z6dvPM05ARPwXog+gZDKJwZDq0rh4SLzzaRrwk4Ax8Qznoq0rh4SLzzaRrwk4Ax8Qdy7fNH+bsonSk1wmog1S6s5jT/KsmRFoKDoyoLoJ/fClaaCb/KHWdpYllmlC5prjls4kA94+OqPx5cNar/gjKka7/viAWC/LtF/3dreVw6dUqBlnsXEfFB5jJZ7Fw8UE/XYoR9pGr2Yrrp/aJ7Iuhuv5h3GLQvC/+DnHJ5FwVRda1sIgnSuQ5gib2uKf+0T2U3qMGt5/F3tw3GOQEsLordEcNihVkzLr9xKkOaQ3z6CV5IFQxHAYSwqABbGg5v6yeAcIt9aaICvmQBSK59tyiTNtMGCi8jWPqk6rRoS6CGDIWFV0pefuQNvcsGyfqZarTNY1dU/6uFZrZUAjsXKulgfQv9tv+DuhM5+xKADveC6ZEviTKUXYs/eM65TuMULs1rn/G2JJ1+/6kArG9OkDU2XFloDJ/Uk+PV1o5srjSK5Tb7I9ZXc+K0hrMJyPA8qkRzQ/qROwmW8xG2r68cO4WT77DzSKbAyYiezDIgdyETFkDOIr/dhontRXERiQ4YS25iTqlocq9vtHAYt+Kt9niVaP3dCmn/NFG9lWwguTQhyegPXq2zxUb97qoYwXTO3nxO/J1QDeWXdMbtif4wt2KEmkMwnLSmnEef6RRuzbhMPXSUKVt8M+tM+llbLa74ntdOFKtb8NWDWB1rODqxJf2VgSDnM8BpXDBSB+c2rtQ2iW5XHb5CN6/85qyfXk6ue4CNe8zWeNHuVLeCrllI17zNZ40e5Ut4KuViV1Be4x4zE4fb3Conq/YMqhRENgLKxw/KKDw36p8FJWdbHn+bgSKsvH/iMvCkOWfr6guO6h+MLQLtLJOSu3fd6x13rkIUOIjA+z7BP5+OlieN//6Wkm4Q0y2k0/zqguDnl7+nyTt///sfXH4QfIcYeNeYKh2UPzzhC1aY8w///7H1x+EHyHGHjXmCodlD884QtWmPe5xeFKWrF48Pl6rj2SS93JMr3C1yOQo1AKy7k4PwOmm+/pZqVCYpNKd/I5SFCVv5eyO2fcEx4mthCT5VoidS5OPzykBm3bTCKSoBRsCQCi9yhkNqFgGI8y5nrjmhrtslh5XmK/l8vNOgCURmITofA5y7VNMu3QgYrHlaMBvMMOnrdv+KdCkTzMQeIrH6RHZBuibhjFW97ZVMEoLlDYpgGNo3knXSpQLWEhlXw0+O6W8mous+4b6hz+X8dVxnLPsXjWxDlxcpnY3IGaY0l8TNHJSNy1Ti8DRTiI3pdQ1hwrJW1GrLyvTPPYmdAbyDj2Su3BgUIa1yb8Bwu63DwQUEm9WV6GNntTEGnuAzLvcQd//0lRo9KtIJRgxDWB0ZqaseP/FJPlvDFNiGZfYdkbEoFiN4VoEOpxqDy4PKbdQ6e5TEn5pVq0DqWoFSUDWfHGKIn/FrCQdgpOwPdWUw2E7mjhFCmaF/sR26B4WvJ9mF4lP99d4LHiJvMN3+/2EFHabKrIkXT/j3vkHMsscUq2naOiHFKXKfbb+jhMlgX+5ZfEfY850QgIlBnSMJX18WiM+TFixPH4oLMXFbKEdCmNHhRqcfi57Ypxl2SqNifvi2NNfTCf6PnRC0MMjMDPMbppjFG2U+0WFEMlIJzNWpVU05dQk3c61dscx3rykwHDKcoUo2lH8vceAOL9dIMPUEi/sOYQztLh4ga95iCf9yEq9zE7BXnNpChJ6I7vZKa9F4RChobJuxQDBNPEgLihjsE52kwiMgmqkg7x5F1ju801sOVW/srNME+Vg1GYQLITyuisAa56PydXUhiOSiMkkWgXXhwRmPnPVc7xuAFVIX48DaMrGi80YDu2nHaos7V9604lSsK4nXKY9OCAln93VOiZ9byvx5dpF+PE3j+oWtghSwayC7UPJkCKxf68IQBjYVvaSOCjuIEAIQCmAECSDDBZoAAGYSkaAAAAWiXEg/nS9ychKvGrkIE3uhfJ1OaKWYCXhhUazUhZ0Uiba8AAo9WBAEMApgBAkoxAWOAAB2EA86CSaABaQTEQMhNzzxC2kVda8sX2haTyM4Nr/0/VliuGzwdN7VZawU0nk+JafKy5Gj3i7k5VY8WkgXVCiL/4E/S9NsAAo8aBAGQApgBAkgxEWSAABmJSNAAAAFpBMu1vU0U6nt9GaukXePUB5yzg6BTub8Ci+heTL3/NnHjV8dtyICHWL7Hu6Eg4BPgAo9KBAIUApgBAkoxEWOAABWDKMAAAWkEO476zbE5Ll0XxonTyP8sOwXB00OAexD6G+g71vsvUWejOeQhI3YKQP0tKZicYuOsOBjzcA8iIiTVcPt4Ao8uBAKcApgBAkgxEWQAABGDVQABd4W/yZIPih8q+MOoKo/upqX1QIkH9U1xP8R/s38xVAgjQt1c9bMollFp/YeL/CBs6NIGyIWCRMQCj3YEAyACmAECSjFRY4AADYAAAXeJ5y+dRvBiOpnKypHOrQ7yTbd2XKP3J1p+LvaD3XvDY9q14wNYatnU/lM8w7ROmQihJaQADQTLCm839OpDX8blD6nZoAEFAxOcngKPHgQDpAKYAQJIMVFlgAANgAABd4mo0JXpw/kf9Y7GkjRGAIYDW+mZXFno15aUfxfpR5eC1JDIrIcRV717qGPmlkkJ3FXZeLKCj3YEBCwCmAECSDGRZQAAHYgBv9KqAAF3iecviAGvbgg4y+bSTMbPl/E68Lfh/Z4LI+Nx1H0fZ1d91ft8GB8TkxT/HQQxLiZPSph8cZdcdHoyv4cMrzreQEQZk+gobMKPIgQEsAKYAQJIMWFmgAARgM9AAXeLYGdlFWROdy457PPUAOOvrkShS65dN3kPr6wlq0nVLxBs+AUKa6u0rXOXMnA8SH0bivdAAo0G0gQFNAKYAwJKMSE3AABln+MmA/6FSUeP9Djeu9rKDvs06fp/J/6AAXeR+njeMI1Z48OTgxrJvqydE5SXpByuJco5U+KarRaSvGIGIcEIP8or/KvpXxARL6FpHw7hqNzpZQFxiG325JdDp7no5n8BHl9WgHoth8DMju26qcG2FCbCBQ8z4oESOk6XzTpb07aDLSI1We66gVilpz2YTmryK2oUocvOHfsQmrRyrZqSXwbsYJ8oSh+KVpPvgY8zYa8jmC8YNWEGGUHpIqIzSjRASwQGCPCahsqtxHs26tNKkRCK9kM4JYB8Fao+UfVwB9d0qh3Ge4OUkFrc9Mrf764ScXSF1KlGvvSivf4eMtIQSPtCK6qmp15ZFq6NAnN0YwFoSOt9F/F/E/L4Y+fZFw1e5To8IC8aTtivndDZlc+Kz1nySKAhKv9C/vHW8/KM4FP/yQ9e2IwCcNy+6AtAqUpbEKj8cbOUSf5UZakBLs0nAbUXKqpcop6Kkbwzs1M7Ejs5lvi1HNcZelWdSn78efUlx4lOuggC3c95CcYQb4HAQ10+4fKcdPWofJk7jlUJ/RwIZ9UgmgKOugQFvAKYAQJIMRFmAAANgAABdfLuH5jSmMSYdZUbR5j7wSE+zS/46eHbUBwk1AKPXgQGQAKYAQJKMVFhAAApiAc85j6fpGAAAXeJvln6PP5NuefwOr743kC69IoYbUi4YxX6YVtxd+s6Ic/5MvyAtsZkhR0LxtqtgSYgZWdCoVa4oHfJrbmkAo8WBAbEApgBAkoxAWIAABmIBlkAAAF3hiOhKX+spq50jr1y7kVpHhTXwX7KWMYtWg7HMm7JAvwNibG1mlRHsk1hseujNhgCj5YEB0wCmAECSnGBYQAADYAAAXeLmDn/F27c8OerFhx10doil4rAaLIGrlwtquzNMub8jFQRppU270P33WGdoApC1nLEnt7bsRi19viuzTwgi3uycFWR7xOrgx5ts12hDxEVGAIgAo8CBAfQApgBAkpxQWOAAA2AAAF3ib5K1yFtqrb8A7AJ8EeCQmxOWnHg3vGmCG2z/EG90K7AV4VCI96hHmmDwIK4go+aBAhUApgBAkpxgWIAAA2AAAF3icGuSByF7wYPs6nWHmZVsMwWkG055Qp/p3KouwfboJ0t5drwehjQkPWy8adaJku7VjfN173Jm5aR3OAyr3PAvn/b6Q9cyFRobz4IaqkjoohTf2ECjyIECNwCmAECSHEhZIAADYAAAXeLmum6J8dKbv5sFRLupXhVXBTAQGnVq4I1wCbrxCE9X7E8ezkWq8L94HgNOONvO1iIus8xogKPGgQJYAKYAQJIcXFkAAANgAABd4pj+ddsi4gmL9LhEtiBx3o5jByXwIm8BpZYeUONzQx97KqWp0eColDSqGcDA7ZI5cf7sAKNAhoECeQCmAECSnGBY4AAEYDPQAF3iociOa1MS920iS1TFcah+SzaSubFcLP3BocXql4WsmJedcFsaKXRgzrdq41F6z99LGz4b89zQzWeB1BHmO0HxRmtfmQovtd4HuAHpLt0qb4ZBKpPERTw8B5PsQiDxHfMjJi5iGKZFirBzNkyTw3ISTBkAo0HlgQKbAKYAwJKMRE2AAAxkniCJeWAGqPzfgABjrAT59TJnmFpVgfrQiWBUYdIyOR4wx00VcwyK8BaS7IRp+oWXNnS0ZyOvLFSRPHmFNhYIfcbIB/D4vlO9r9Wi2f6USiAJLVpFx481XHTnjASlu+leuLwHVev9LcVsF13BJ0N001ELpPhi3EUNGYQPhSMoth/DzTL82BzIEFl+i/TX1PpwXbnsnsXMs2TQRdZ2jEYsBOckx3qedNmmYfc7k2nL+FQ9aUlLiPoPghkoOxxPe1HP/M0KDwxhdoq5lpHYhOSguBXwDMmLklQ6aA3yhGWV56+5cXvgZYntKwQC3zd30FZeYugCD8mKgFpoAfcTaRuYVf//e9USP92M7/6FAbzHLO/0slSNSYH2KqHwN/T7L55C/Gl4c+lv05zHkao8jyvLx+Er+u1Pxv6Hyg03rvJR9gCu4QnLk+LKWA2pX26WHdW+iXHCufG8pXyTTIRBeaO83kZmiSHnD4LyoC8BJlfgi4kVPlvVvwYIqZKHkQR1gv5gQHSXpwZ8zAwgwlkps89w9YEDaBWTS59wHX60bQCvYWuwvN+Gkoo1XtJjAHb2Cl7NXUchv06G+Xnn3/dW3y0iNHCYhJEuqv7/CgtXfZzGbsNieFA3iACjsYECvACmAECSHEBaoAADYAAAY6s/bYIg6FloBm7CVAc53m3NVX009j6AjhIH/YqSIoCjw4EC3QCmAECSLERZoAADYAAAY6s/i/1YMqth74GYjw7Ctctzh5AD2yXSteSGnYYtWIHw4cMh3Hao/dwGNqtMGO29BvCjvoEC/wCmAECSLDRZYAADYAAAYxRYMRe0Dk3rJKQEk0g3Hh+o16AdglqyzmeNGmO3z5Ap3IvMSZtK0CKnm8AAo8SBAyAApgBAkqxEWOAAA2AAAGOrP5Q1+J6IfzaVRPcJhtOHHfH2Tg51pwZCbl7glA3sbAL/SGhLO+zQ0NoiwplKGIADoKPPgQNBAKYAQJKsWFigAAVg9KAAAGOrfWhUqU+fR/881CAImarXGyqZmQNjFenj/V5mzlJcsq9XsBz33pAqTPYgz6rCUhJ7QwQspbVIGrPLgKPRgQNjAKYAQJKMWFigAAVgNAgAAGOsJjWw+NMZnl3eb1U7210bqzvaeI7aOOY51pz3mgZQxqCMo8i358Qc2A3l5T04ZCQlUN1n9Ptqvk+KksAAo9GBA4QApgBAkoyAWKAAA2AAAGOsJjVkewQ90YGQr38x6xtxgZz13X7vW/rHhi8DF+PKcdWcDBSHmgR62KSd1KM/UoGuzrbFnkjBSyygkSjgU4Sj04EDpQCmAECSjEBYwAADYAAAY6oN3u50/011damwei06GJ1uv9YG1HQRfnPVihoEcfexO1T8LJq+fXZqxnkndkSkD1/OWNrgJCcQSxXpYpEfnMAAo8mBA8cApgBAkoxUWOAABmEA58AAAGOrsIZ3k3e7E6mS437B1bAGgFtVTfbbKFEKI+WCzQ9sEA5g2d8TDB3yz1WGnxVAVviQnAdAo0H+gQPoAKYAwJKMYE2AAA1kA8r+/9n6RcMsgAAAY67CP8owDXI/qaUCgu6oBIDegYkZ041bIKOIvAhLYgKU0W6k0Bm5BPxWsm52eUZQOWzM5tZd2dGOQ6TZYa2myhkLZB92vXLSennoCxqCdO1bzqgYZ6zRWaXn9ait3xzE40id47d3H5P6zw/CTrFD0tjIquT3/XqvFSxrWNb35pq9DieYEfW7z7vrRdAuih3A76vcA/W/wTAdPD9x4do3hsRJg5WrwkoYlg2JzXcWsqFvKKrJxYMM1XhPIRmtaFyROhVAsyenJLXZqc4vrIm3GlEvD/XtjX34qoYFxAhaE3na+ptyCNMpHRtPnfa79KvN4kS5BT1nTtYKjoK3joS8zNPbt+C7ERJ6L4btj9ZHdX+B4rsf6bGz1OOwfhRtNdud0WSJLMDiX7wJmrFQE0wV/zcMh77NuW3RszEV8ZkknsxKhFoqbfi6pi1CkJU/5uGQ99m3Lbo2ZiK+MyST2YlQi0VNvxdUxahQmU6MHwJGhQQX5DPyIlChO0WagwiuXDnFlDV/dHyQC5ZWSHDvHifep1jHOEFquMVr+gCte5PY15Rnij+GQk7vV/3DPdGxh/wL6XGDww2jE3mBIdFTzJtsZqWwcTBHMkPS0cyVdmy0CK+xpRukASSfioJRv/MAVqGtMlMAo7KBBAkApgBAkoxAWMAABmEAkqQAAGMUdxCWBzGu3OcR8hKhJ1cnuOLmwy2GKZiC8L5FAKPLgQQrAKYAQJKMQFfAAAdhAMw7toAAY6wmNTWDqJDFlTcQOq5pdf6iqEB3b+eLQRdomYh/NLRn3UTbuCnS9hKSAzU/EqmowsIFn8AAo86BBEwApgBAkoxIV8AAA2AAAGOsJixff8H0AUSX9VcuHSSsROViOjRcP0KA8wFzDPCqogWb+7Fm+FT0yw8UeELYsYg9t+xLTR2+HSVx+qSj3IEEbQCmAECSrEhXwAADYAAAY6uvK+ti2CFp8Ukdv0jqJpxuq6a+nTnVUMgmYXq498PQE+EOqHT3n+y36s/h/JuUoGI0XwGN8+w1G3OXs5K8pMghPl2zoH3qlSyAo9SBBI8ApgBAkqxQWCAAA2AAAGOrryvt8n/Krq5Y3NMIn0Uga7ZJB5vbrhuO/LpmGvtvD6zEkEh7h/LuNzpbMIzyzqFlBDdEN5a97S69oefLamnWlUCj9YEEsACmAECSrFhYQAADYAAAY6uvK+ti2CFpNnyetZdUONHV+TLtgFFNF1s7LAX5mbe52ZMWw6Ld839GEI9NHpg39QFTOOqmjOMJYshOSeMmvU9dJvImiZ5bKCG39eFS6qKMFATcA4iQR7p63/1vle4KuXHYAKO6gQTRAKYAQJIseFmAAANgAABjq7CAXseX/ggf+LZTNhZxpLVEeKO7ozl0Cq6JB5CXL9o3ZCjzzT7AAKPLgQTzAKYAQJKMiFjgAANgAABjq7CGd5N1EKtZROpNzdg5I8K5o21Yw0Vv3B4rfBBqRF61F0ROwNUHWdiZ1e07+uYS0/cZQSjNJyyAo+SBBRQApgBAkoyIWOAAA2AAAGOrsDx0FS5f1bAt7c6+ul0C+Jfla13iSUTnP9BMfVtASihl6tJhaBiKyPwKPLSINGfK4C+atkBuMw1rSitWGcDBpcwmesBfsPtRpD8qpr66TjkAo0HggQU1AKYAwJKMQE1gAAhkAS9WOJaQAF/NcJ/KT/oJM55HqB6s6m7fAOWSnBHUkLk4PTo602V0S/UnIMApdwKYruVbyjG145laRrNZ8CJVqX2m2m516gYjokl2w+9WJu/vKzE/rSggC64WwkZdhZb4RnMam/YoWR0R+vnOJPimTKFzirx4LiHkheKbA1ED8RfkmD5WvIwJw+YLlLhZmchNjZ6dSvHwFAg5M0Kq5gCO7oeMlrHaEu2eu+nyqHhNa+rzu0VOGLuiYN9Y0qEOPUi/joWibPnbwwxbbwRozrdVM49ffs75njM9IJoImD6/VrmQ+ebcuoG8rBxiGNQeaxFacxlvMnFFlzIAwFgDZsjegt4aJGcs3w+C2tDWSgsdZKeLqFshKywTCETkRzGJ5Csp3rIn8NwZbaOm4WVBG4fb6cEGGf++mKvg31fjcIi8EOqTxj481npyKOGpGTZk0Fmwrntynx/tmDgKVHKOoKR/fW7PiuBLFUax6hEc083UTqvjVzIzwB1NKgSjRxcnQZ+4em5Evkoe62KIsS7pyhWArE0nUZ0XrkeKuDaoLFFfN0tMnUjYDFzhKvQPKzwngIda8KRiUzuUIv3/ALFv3SvOFqfHIniKUbAGY9AB7qc2A5cAo6yBBVcApgBAkgxIWYAABmEAy+AAAF9YOVkQD3NO0dzOcFDMNDAwRZiStEGH4KPRgQV4AKYAQJKMOFggAANgAABfyxEM9lwd87Sw6Bkqs960250ewpo8x5RMvIchhhSfaL5EYwilEpDbAdHR06YE5duI0o8UCVmp7sj421EqFqfwo+GBBZkApgBAkoxQWCAAA2AAAF/JeN/nJCtB8ZyXDfRd7E6OwaAJitG5W+Tnv2O1lxvt43yrwIXmQw0mZsGkNjJ7vkoEeOHWyXyI2zjJhhU4KiR24eZIVIw8s3JuA9uEdjMAo8qBBbsApgBAkoxQWMAAA2AAAF/LEQ0POJqHUUPgpWBISoQ999D4dLHcva1/xsWEY62YgeQhNIuPb9MgCKVG00bf1gFV3Zi965iGYKPJgQXcAKYAQJKMYFigAANgAABfyxD2bzmNyJE9QK8HSw8nwE9JeKmgpG2PlE9NfZ5WnmcCWvjQwndgz4iWDiUWidaIcpiPMnPl6KPRgQX9AKYAQJKsbFiAAAVg9OAAAF/Lhtr72846kSkSJaTeQic60ipIz0xqLOgBhyuFvz7yZRB8rlRAxbk2Ar8aDwfv1tc8zj1bARZwI6A1pQSgo+uBBh8ApgBAkqx4WIAABGAzuABfyyPduuqx7IXUohuomHmJ0Uf86mYCtNmusrrDerazW6wz0iaQQwpCITDXbD2Do/gbCVRzDhapmszodXGtihnYBJThG5IFKUWnXuAP0u0h2EZ9eM0vBjqkgKPXgQZAAKYAQJIMjFlgAANgAABfyyPJyggUyt8+7Ec3BjLiOHRW6kwdxd0WaYGzuGRg9HObTv+KQf4w8iAaGbNKHrpkN1ZQHlhSsvbBYnm+0ye4PAuke7kAo86BBmEApgBAkgxsWaAAA2AAAF/LI9xZuJtG29TV3Fm5y/LLS7n7cwgJVSdwscDoae8H/jARKbGJeN4oPXiwMgL4M+YnsNOM6WG5ilhpqkCjQfqBBoMApgDAkoxITcAACGQjzoXZOEAAX8sbsetH8XEIWMXOBIiqIFT9OockVAIe6Ed7gDKTYfNSz3BwbaUk4QrZe2OJsBiDsqSyCsHzcCdLcGvYel9BvcabkU+g09EwtukAjXNRgchMdnVt8ge1ECN/i1H+BmI3Mxd/n9nDolEsDJYykV52mjM71fIShcHdkB3w72LG7n+8v5vKSTt4E2Fzx4lOxbsX0YRzPT3V3GPfGpCwGzcCHvlUwtLm93/XK/KydSS3oC4utzJirCtiSqi0Kjyb3sJr8TuvVIasXR/8bsLtmKVYkRpYroNfG17GL6hDIrEBdTgnlk7asglzZ9P2+JFDsIchHmBD8ITPAqSAJUjB2hptHGzWAFinq8+Qfl9SdXc9PhQ6dHJhLQXgmH6s9CaQM1MYK3vkvUKXUXOatUx/lNnhMNUAe8o2C1ObpxLNXX20N2QRXRjSwpSaAih3JXot0sWDWLnLZLEOova31ELjRhKF+ajBTzDhYcpq2J6PLRi9udy+qEyVJ8r+Gfu9+D+TDLTeVd0NQrg7/7JyW06dDwOrNX5xQvvwS/ZoEZP6Kr9rJiD2kvTXyy90t3HnkEMLbfDPD/5jip0ndoxyHXxT9yOyFlBnHrcz0iysMFtdeNRvcUn6KIgaemWUNSHsor/MAD0/OW/AAKO1gQakAKYAQJIMQFmgAANgAABfyu6unvxCJgaTkSPotiD6PUeuSDlyEFnmqXDfiD3BXmuawACjx4EGxQCmAECSrEBYwAADYAAAX8ruva03wOCh1GeWzoq5kNjwqXLbdSmVnM4tp7biyCMcG08Hfq8HCub5Vrj7vwqW3jEbDHhgo8uBBucApgBAkqw0WKAAA2AAAF/K7slS5EbecR2awOXXjxDyuwwQXVtj97NDtOAaGs9gseuqNYRi1WWGCh1M1442k2yTE5vIhBUGsPCj1YEHCACmAECSrERYgAADYAAAX8uFTGdrGdgkaLe9r1zNYkVf8SZQkvkXetodJuR6CtwvYM/v6i5ZSm2jwZltHmCgxaNcFW1ObTQKpaxmqkJYTpV/MHqj04EHKQCmAECSrFxYoAADYAAAX8ruyQjj6adZuhjclldVOWqHkiBE+lktMMIgi93BBLtc8m3oL3EtRXY2yhnUaNvIiKHib4Lxz7GZNJ2nPzpvcCako96BB0sApgBAkqyAWMAAA2AAAF/K7qCN3PB8khDn0x4iu0Uln0JDRDDYh6u5XPQ3ARof9cY7BQ0UGZleD4rb+KE5yssDLj2FrVvzxWd84lMXFycQJ2jvqGsKsCPNe6wAo9iBB2wApgBAkiyAWUAAA2AAAF/K7sxXy2k34Gn32NcYXvoE9x/tsyoLsF9UqWvNzzlgq5xZ/BC9ZZ4nkIK4Aisubec5XAqJT+Q6ALAMjbfWwbNAJUdWpwEAo8uBB40ApgBAkix4WYAAA2AAAF/K7qnbBDdVTEEuvLjue1IxZ7mcNuwhSgyhE9TfwVyr41/JR23RvCaVB2ReckKpW1CsMWOnnULPUxyj/oEHrwCmAECSLJRZYAAGZ/SAAAAAX8rDYFyb+N9E3STOVwyme3nwC8HCF1lS1RZSKKSNajDFdjlOyz1mXSot2RoBP3OG6L1hJCDK7KvC3J5Ex/LZNpLkGz6ASb2x/RFOEOuYZlUVNCyVLdc9thW14ic4u16Bh1xhiK/s3QvAABxTu2vZu4+zgQC3iveBAfGCAbDwgQO7kLOCB9C3iveBAfGCJ9/wgQS7kLOCD6C3iveBAfGCTRvwgQS7kLOCF3C3iveBAfGCcwDwgQS7kLOCH0C3iveBAfGCmU3wgQQ=";
// Browser-side measurement script (runs via executeAsyncScript). Kept free of
// template placeholders; the dynamic values are concatenated in below.
const BROWSER_SCRIPT = `
const notifyDone = arguments[arguments.length - 1];
function b64ToBlob(b64) {
const bin = atob(b64);
const bytes = new Uint8Array(bin.length);
for (let i = 0; i < bin.length; i++) {
bytes[i] = bin.charCodeAt(i);
}
return new Blob([bytes], { type: "video/webm" });
}
function seekTo(v, t) {
return new Promise((resolve) => {
let done = false;
const fin = () => {
if (!done) {
done = true;
resolve();
}
};
v.addEventListener("seeked", fin, { once: true });
v.currentTime = t;
setTimeout(fin, 4000);
});
}
function measureSeek(v, t) {
return new Promise((resolve) => {
const t0 = performance.now();
v.addEventListener(
"seeked",
() => resolve(performance.now() - t0),
{ once: true }
);
v.currentTime = t;
setTimeout(() => resolve(null), 4000);
});
}
function wait(ms) {
return new Promise((r) => setTimeout(r, ms));
}
// Seek SEEKS_PER_LOAD times (after WARMUP discarded warmup seeks), alternating
// between the two buffered positions earlyTargetSec and lateTargetSec (a few
// seconds apart, both mid-GOP), and return the per-seek 'seeked' time. The two
// far-apart targets make every seek a long buffered seek that re-decodes a
// full keyframe to target run, which is the work being measured. In 'warm' the video keeps
// playing so the decoder stays alive across seeks; in 'cold' it is paused
// before each seek so the decoder is released
// (media.dormant-on-pause-timeout-ms is 0, so the release happens at once) and
// recreated by the seek.
async function runPhase(v, mode, earlyTargetSec, lateTargetSec) {
if (mode === "warm") {
try {
await v.play();
} catch (e) {}
} else {
v.pause();
}
await seekTo(v, earlyTargetSec);
const seeked = [];
// Discard the first WARMUP seeks: the initial seeks after a load run slower
// while the decode pipeline spins up, so including them widens dispersion
// without reflecting the steady-state seek cost being measured.
for (let i = 0; i < WARMUP + SEEKS_PER_LOAD; i++) {
const target = i % 2 === 0 ? lateTargetSec : earlyTargetSec;
if (mode === "cold") {
// Pausing releases the decoder (media.dormant-on-pause-timeout-ms is 0).
// That release is dispatched off the main thread, so yield one
// event-loop turn to let it finish before the next seek; that seek then
// recreates the decoder, which is the cold case being measured.
v.pause();
await wait(0);
}
const ms = await measureSeek(v, target);
if (ms !== null && i >= WARMUP) {
seeked.push(Math.round(ms * 100) / 100);
}
}
return seeked;
}
(async () => {
try {
const v = document.createElement("video");
// Muted so play() is allowed under autoplay policies without a user
// gesture in every browser this test can run in.
v.muted = true;
document.body.appendChild(v);
v.src = URL.createObjectURL(b64ToBlob(B64));
await new Promise((res, rej) => {
v.addEventListener("loadeddata", res, { once: true });
v.addEventListener(
"error",
() => rej(new Error("media error " + (v.error && v.error.code))),
{ once: true }
);
setTimeout(() => rej(new Error("load timeout")), 20000);
});
// The two positions the test alternates seeking between, ~6s apart. Each
// jump crosses several GOPs, so the player re-demuxes from the prior
// keyframe and re-decodes forward to the target. Both are mid-GOP (not on
// a keyframe), so a real keyframe to target run is decoded on every seek.
const earlyTargetSec = 1.9;
const lateTargetSec = 7.9;
const seekedWarm = await runPhase(v, "warm", earlyTargetSec, lateTargetSec);
v.pause();
const seekedCold = await runPhase(v, "cold", earlyTargetSec, lateTargetSec);
notifyDone({ seekedWarm, seekedCold });
} catch (e) {
notifyDone({ error: String(e) });
}
})();
`;
module.exports = logTest(
"media seek latency test",
async function (context, commands) {
context.log.info("Starting media seek-latency test");
const post_startup_delay = context.options.browsertime.post_startup_delay;
// Seeks measured per page load. Replicates come from repeating seeks within
// a single load rather than from reloads: it is far cheaper and isolates the
// seek path from page-load variance. The page-load count stays governed by
// browsertime (page_cycles). WARMUP leading seeks are discarded (runPhase).
const SEEKS_PER_LOAD = 30;
const WARMUP = 2;
await commands.navigate("about:blank");
await commands.wait.byTime(post_startup_delay);
await commands.measure.start();
const script =
"const SEEKS_PER_LOAD = " +
SEEKS_PER_LOAD +
";\n" +
"const WARMUP = " +
WARMUP +
";\n" +
"const B64 = " +
JSON.stringify(MEDIA_BASE64) +
";\n" +
BROWSER_SCRIPT;
// The page-side measurement is asynchronous (it awaits seeks and frame
// callbacks), so run it via executeAsyncScript, which resolves once the
// script invokes its injected done callback, then read back the timings.
const result = await context.selenium.driver.executeAsyncScript(script);
await commands.measure.stop();
context.log.info("media seek result: " + JSON.stringify(result));
if (!result || result.error) {
context.log.error("media seek test failed: " + (result && result.error));
return false;
}
await commands.measure.addObject({
custom_data: {
seekedWarm: result.seekedWarm,
seekedCold: result.seekedCold,
},
});
context.log.info("Media seek-latency test ended");
return true;
}
);