From mboxrd@z Thu Jan 1 00:00:00 1970 From: Douglas Gilbert Subject: [update] scsi_mid_low_api.txt Date: Mon, 18 Nov 2002 01:15:19 +1100 Sender: linux-scsi-owner@vger.kernel.org Message-ID: <3DD7A477.7060706@torque.net> Reply-To: dougg@torque.net Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------010009060405020802070001" Return-path: Received: from torque.net (dm1-68.triode.net.au [202.147.125.68]) by iggy.triode.net.au (8.11.6/8.11.6) with ESMTP id gAHEFn112546 for ; Mon, 18 Nov 2002 01:15:49 +1100 List-Id: linux-scsi@vger.kernel.org To: linux-scsi@vger.kernel.org This is a multi-part message in MIME format. --------------010009060405020802070001 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Here is another version of the scsi_mid_low_api.txt document. It adds descriptions of functions supplied by the mid level for a LLD (lower level driver) to call. It is also tries to describe the two, alternate registration scenarios. How do the terms: "hotplug initialization model" and "passive initialization model" sound? Since the documentation file is in transit (from drivers/scsi for Documentation/scsi) a simple tarball is attached. Doug Gilbert --------------010009060405020802070001 Content-Type: application/x-gzip; name="scsi_mid_low_api_2547.tgz" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="scsi_mid_low_api_2547.tgz" H4sIAAKi1z0AA+196XMb15VvvrL/ilt4H0RoSGixHdcwjse0SEd80eIR6aRSLhWqAVwAbQHd SC+ikLz87+/8zjl36QUUleeZcuYZVYlFoPtuZ19vNa+y6TZbTDfF7TTdZZP6Q/2bn/nz+Mnj x7/9/PPfPJZP+79Pnnz25DP695df/PaLL598/uTpZ/T8Z7/97LPfmMc/90KGPk1Vp6UxvymL 4s6Nf+z3f9GPOfh5keXNB/NHW+Z2Y55OvjCVLTNbJb0Hr59dXxlGIfueHj01hEq21L8WZfbe libLa1su07ntv/77T/kkyVVel8WimddZkSetn27WWWUWxbzZ2rw2RVNvstxWpl7bML2Z2frW 2py/lR265RtZcJovEv6Kd2HiXVQT86L/pTl+8eKiGpu0tOZ9WmZFU232Zp5uNnZhknVR1WbW VCZdpDtahDl+/u352L17Yvh3P9Lzi7EpSrOrbLMo/CtudtqhNZu0xnc0fLPA7greCu2tpn+k tUkNLcds0z1tlf6YldliZfFYmhf0ZGmuXpukambVvqrt1hzbyWrCQ4yaanZa1UWZruxI5xxP DM1JG5unOcbbpvke41d0ojR4UjZ5nuUrI4Od0Ebp4HPafpFbs6PJ1mm5uMXJ1PudnZiX2C2/ jwHnBWC5wcMJ7Xpb0HN89DgU2m7yHX1rP6Tb3cae8BrTbP7lhw8feIv6dmXO+Zjm8uouLXHy mwjjjq+/vxq7xzc451laEWyKXE5sXmx3tK8HleGx5+tsp7jOu3eTJjypnMOsyTY1ppDTfydE QqvdFOmChk4J3rSfRbOx8Qny0cxos3l7K+4Y+VAFKxU8ONCsduB0e8CzDIqEkElWWVmDfxMi r9Y1nrUZQ5s2+f2zK7NIG/relrOCAFJhpdEWEuxhy9jBv5tj/E5/E/hfZO/wG4GNtkPb5FlO jE3na78FgCtZ056zmoa+1Rnt+4zoLV0sSlvRGn/EUdLGT+viFPufFyX9sCvyRZoHukzSgAEg RTqPaDCibwLWlvaEcyF8NqX9a5OVdOKCx7e06eTq+hwbfPns3FFQNZ68TZh65HAVXlXRlDTq hbKMFCzlEf31bVG8e1SRYHSEVxMGmmW2sUlpl0AghjutBt9NzJ9pVkHP3a4sdmWW1jwqxqFH CUdtfSIvEE1s6ZSSptJhVja3JZ5f19vNCVE+73q3WNLWcjpwAjWd6ZIAtSzKLS+Rd5nlPGCC FUREHBjdssmZR9LeE2GN2Apep9HwqOeUtwS52zIjtpKbTDgjLTMrFuZ2TV9t3oH7Tz7/MsGD 84bAltc05oVw9qouiRk3pU16vPqmTBcZ1kAUuVfGRLvgGRjKgQ0Be2bgy0SPG5sS8Ovbgo8X rIYRVIHBgDELAvqceNV+YlpMInUCR/nv6MP+byMePTVrS7RZyonh+8l6pCimiBB+mY8IYc9p W7zymgmYTjAneBV0LiWtkKTP7XovUJ0XzWaRP6jBlUF7Wc4MkLHjrbkutn71wnHW6Xsr290V ZW0XCSFCRTKFWJcpdsCHwFQreZqZI72ch4NpbR2LTBxB6hlg25UFR6ytniWOn1Eum/PeX1+f Vjs7z5b095wIPBFU+q609tvrC36ESYY4wXVDJO+3QcgJ9OW10dRZyYTvwZI0QF5zB9yS5M/A rtTk9pYxIwMGYN/EMiwPzjML418S1ytu8avs43hZ0AyKrsnwFGMiFIJHbmm0CjCA5MyBj2fm ZfrOYqQT86zIl9lqsrabHct+/ZtGngiSLmL2gFU6GimLOXE2kJOse1u8l3Xj16TNVdorc0O0 +VBNhz4xVzXmoMFn6YylBfFWoEfdLPbEFm8J4FnF+MFyFLK1KFdpnv3NLuhQz0XhCfoaeKfd FDsmdZmwMvZ9sXlPm58TQq2sjMKbSDJVr+zCiTfesXKViTnPPcYxH8GvlcKYXiZyTzfZ3+Ss gFDgIYy5+H9Mk9MWnrIwoXWk79NsQ/sUKWmKDQiUSOfEVNmWfilxnLcgGfCeGObClj7XTZ4w 9jipzupDItoQzbiwpB3UkMo1pJejDohqU2dbnpteZ2Qh4mUWXzIkme+MdmlV0Rsj09ke70EW TjhsS/kCPKC4rUQa0+pJ3K+LerdpViuIKVBUk+ufhKHrTGjXK8qV1yHoSV1TEq0JugUvS0e9 77JIVuz8MCyrWSUhBFjQCiDtCQE9vxbUh3AVxOHDxBAkv9KcvoGKW+S5HiydnqWV0n9VSxjh /ZGJVEqV4ZVymEW2ymqaZ55uid+R+uzBFU5rYr7Fsob2VyUM2ayaN1VlPVIENlFZkX4gCWEv Doe9ztwRQY4B36b76ozMlHSsBLsBvb4v3jH3cVKVXtztNhlNPWMBESwIenU2Now0YGY0bg1S cW8Sy+el8DJSwrYVkXMpW3PPiJF0cAYBbjBZGEvqNYtvWifjU6WWVlgwHS9zQZ7fH1jDotuY udutSefM1mh1WU62cY4To/UzgN/lzOXTOg1yn2Ce0oj0PxJkPGfvREj/KKpIJcHsq7Jodjhk AHJDZyBQTB3kDFh1zTL8pR/IH4kfakTkQSCf3DHH7D5zXHlzoTc0n3YffBhzt0nnAfu2djvD L8UyGcnxmOvnNyPSSnJ/lnyU64xEKbh8ysgL9g43jOCCLY/H5seiTFrfTcHU6AcnfIQnDdLG W6wYZ5H19xTIDNozkTLBEgIJzIZ/YruYyGVREKnimdusWvMKcfR7U62h64jcf/XDixedIwha PUtEPpCEthyOgxSrCxK9bO90ziU8BGRlbayakz7ECJ7MU1KaZU5mq9HMXeB4SGAD9gOhzJzA vA/yiXjLW4cxAcs9xswFYyqCPotgrLW0It+F/e69BkTceVSm8/3IWNakWGNkJFNGRkj2PiuL fCtqc/Jcvx4CXU+HbunTV6LzOznTtoJZVw/WM28gCPMEAHZbWJbFdoADTsxzflNt3EgToD3b tIQOXyXeodNafTw8Pb2Bxpk6vYCQpqkXxDkIMfe7DKr5PvGaOnMvRRrhibScpahAljAej8/S +TuVQYRZcxqdNgjjV3Ql4nbE0kSwxAYjaa3nS+DDHEodWV6wsVm/Sp1JiUGTDPpFXjPT0wM9 wYO8tIA0fGaYVKiFzttRp6qx4u25deZg27M0YdA74S+yAYOpD0LBmEKovYtYhGiZeBzDJbB/ afoKeg5cDE0Opia0InIMu8tNswKxZmTBAD6kVlZVYysxkBmJqrnN4a0STK9F0cA0t0X5Dkxp TaSwWgv3I5t2m5Ys8ucQ72qSEeHMsk1W751NqQrtsbMpnPlkZpuCIIhza+NcNU5ob3M5Wrtc ij7BR6BoOJqTPUiixTS7ET+V2w81620KyorsKJijTalKcRc3I+1KuZcDGwG+sptlgFhswF+9 Zr+dYB2zEVocowhxrwVAd0yrD6Y30I5eGKs6ieVHWjwxVLII32cOu49hzlvQFMvUxBPLEiOc 53u3ZJhvW8sS5zjiMDXzLs/NYb9bKNJJygg/pFGOxU4lBbUqRNGVU7ALOQBZGJGDeCrASmkl IhLA7AjGw8Tfx3WoirUjdebCKXsB4cioHcWSOUHKmWol4Bglg/XEy6CZJWwHpbt3U099bBOI tlclTM86HaHDXxurAgXTy1Gbz1hZJP6E7YpdJ/roOGm5hF9cOOpuUS6+73/Cfof85y8uktPT 04FfTt1n6DX6OulqA/Tl1/Il2cZOE/DD/Fvfp+4+/2fwp2pD0ntK1nA6X+voxujwPzVVPaUT bOx0YXc1/f4LGYLdd9Bv54J00BcOPew0UHUrFDsxasCB1ZPT11U83tyKW4JZuTjrnWciUQl3 dg98+BjoHYwxYBui/yQ4ycqVg7zHM/d5hNfX5F0sTJx/IiWNC/QG4hJVhDjjO2t3MCOJ10f6 HEaCahFUreQ49boajVZaMiRysXS6uD9metSh+Ech3CTobe3BVKlWM9mzT9Zh2yg3niRsYM43 eEXdrG5QsJwRcWa7GEUGzakaYP31VCZpv7ws4XgSdtw+28ldJ9N7tQsH6JDf36H+361DDsjH Yzb+OR5wmokqJ6ELPXpV3viP0S287QlkMR2KM3IHbVsJKmCcKSY8HkcjT+0HfJNs03lZVKz9 wSKjo92TqtJSc+vY+MoWsNiWahSPouFHyZbYAHN8M2g4Oa7+kbGwsN5Y4fh1tEkSIllZvraQ vpFe3fJN0QNzxOqISlhNE880WYgceZcY0XxkftxrrHKEv1ikkWZVQ69rSlJJcNBv1czKyDgU nyFcbOIHJhUFvjJS3li5JZxWp8ImY4+AOOrgDMWGLZGtTUSB0vUtzpgtVPBYzmNbTIT+lLS1 Hev1vzcXb67+dPlmenP58vsX5zeXv+MX/5fbZ2dnibdb5impLKPOy7zXBSxCq/aUiZwLkfZd JuqE6picztnN3n054hlrqu/F2csuVejXKRFZEmMoTFr2vw+FTRhhJGL6Pt2Q7hxJj7TlBGUr tkVRbVkCh723yRLvjTwmLUz+IOwUDliZpwFRWUmBBlpJ6FBibhxrgwJakUoT6zEHlRRzl55y WEkxd+kpPSXFUdnHVRJzSIzxxx9ImPweag7G/PS5ht7qSJ//wpcP/PozKFa/pEH+h242uVq2 PGVs4qiHLO0Oxp6ClkGhftoqOazBtizTlGMHeADStlguRRbPt4vpDpk2TT5KJLCK4CKHzkWW ENstF0EHilkYr93LdsexDqq25r+Si/Tk60c1YXMQqe6h6f5sz9CntAhXw0+lSNNX2P6H7EJ0 5Y6xIX4/9zKb6c7YMkIje+9tds77pE0L+jUrAWmzQQDCRW5g8lVrEtHzYiuYb+KI3KD6OxLz TgkhacVXsNqFPW1/R6s79r4KotZMg889RTmJteGJee3cVmplRs5lIXnxCTI5ip9mt7Np6QJg cAW5UBftDX7OnN3VaZWJx0ji4OAARVNzqGjRIFumTjpuVYXCaXu5sBOeeS2ois2C5Lus5FUp M0CgvXqAY4PLr2bn4jPolqzcu6grq1aduPYzfua63tNPE5Mkr9g5t/ZMBuatBBALsqaaepPe jjgXjIBdeRezZDvkRb7fSopCouoncb5Ko4DqDhRPZSsS3PYonvAAqp6dmWSks8Ua7d/NZDL5 RzC/pjeq2/4O0VRNP1sbb4okorlGMR31O4eo7Kg/2AjuLfjanv37vwOYmeqVJdxpc9Lf01XI F6BzkzirEozXTRM1PkFl7wn4ZjWfc8patuGMxGua+9GjEW0PMIB72OZ1d5bklsPvkXczlUew NHkzqNycE1OW6T5WvkGOycsu0UaBuLvNTslQi5Rr3WIc3+y4EAFGRHxmknEo2Y95CofgcTYh q4f2We7F5KzGyht6k9gPeoxV4dwUakW4BD3GLBf0XNutKu26oCT2aQ7n/YmLXF3fHDLA6eUr 65Kdks7OxMqJwvwx6xDTzGiiZdJmLO1YZCUByji6mW5263Rma/W8qi1B9qIcHFu0dVpqkEIs NeDpo4cPE/PQaTziYzSnyAODn1pdwz1e2jJRJhjgmwpvnpEAcR4ZDW4KH3RuDnoUT/PnjZo+ j8F1qoYBcUKsc5XCIWCIwvKCA+hptgF6Cvs8vXz1+uXly7GMdPSqqG11RjyZNu1zAomUXZbE AVEhLpYUI+jMy2Yjhn8/KIsNHl2opUpjx1lHj4RnzOmRh4+QRNM+yuOew+chHxRJ1c7Rd1VB AoIk6TDC8Q9GfuAAUGQB8vFfX+zy+uwoOvzoCQ5vyWDtgfhV0TLPjh7TlHTikdLJvk/a+9HL 6z9Mr6/Ibr+c3pz/gZ6rMjaCj5u8KBdwrY8Pvvf6zcXlm8sLfVEfH3iaF1IdvWoQwWWqpj8l qQbHvuy+QmwAcY/FCc9EBJf7N32szElpULrsvNnx4wRFkjqnOiSQwhynnKVpIuWaIY/nHaoi k1pWiwU75Hvm4qbQ7RdMwRym6gIqpCIr6yMBQ4PTAifmx+s4chY7D705wfmhZVZEHk3vWHyL gbCOKl1a0SLcctg5xVhRNrtaHUeS4tjCBkEQjKNJx0Qo6R7xN9IjNiECp4cb0vY0UokstDvo BP83mZsfK2tN5MNiVsk5jjkO860cLZHS+4LY5iEzqe+FJXAwCZxgq4oqJyY5OjpiXoMvCT+m wKke7ZFOucqnHKg8JSbCXiavlIJa5TfmnCvaUm7wd8z10pjrpcN8z3yDt87iJ3lY+q+bM8wl AoSOmHXZAabZxkT+KDbezahIuemdb9j/IXZ1YqpdluOJKX2F/3YPcZYV1XRXgyL5ELFKAvCO I8QSBBZAPYCjvqwzCSBy5BJnQz+2uFf8SocIo6c6I50g/ZsTRei/KjbacuIZfLCcslohVwQZ MD4GcQzvu0D5Hf6JQMHHMHqebh3vb3IcIz1HhFTSuXVOxR0tb8wjLf23d5L8AGSZhevwFOom dHmS/iV7JT13E/JjumB1UnAzwphvrp9DKsQnJlaJO98oqeBenO4mSogGiyOmiygQMTxxmG5t CuVkr2kMor7KRjD4yiINgqe2zscqqc2eT0uNgxqh7aP4iCDmdzbZjODRxu/OKH0UN3xMXTgA tyokf5wCzSrbRTbRBud7WvBCKnpsSif5b5xjVpQVA2DWLM/uQFh+Zp7u0nlW788MT0f0clwX dboZSzoE7fOLJ0/pUEl5j4emmQkiZFrtGkKTSPi5FeE05w0MkgUbnSG6b0seYb0YHED28bGX aSmDb+sSP/J+jGpt/e/0Cf787yZer7g5qB93yJkAeWL8d5uCkNTB7aTrXfGPYdSHgNNJ5zs6 +e5XOM8uCvosI9IFS8vWW76Ic4+CoHElY07gREr5tN4d1MtdbIef/lCXU6AZHTXM0jJlpJN8 VVLDkH3lrGTOBBVb8dinLMHigXK1QRmHZOI5z42HUz/yOR4Sb9Fi4UvpvxU4/QFk+bMYcxx9 4jwzGVgNOGI2FyeD0RYM4SUvV1JMiRdOzd7WUrmBfB5mRLDIumdBrM8pDmQ7k4S3+apej8Xs 5Lo4jFrNyZaiM8MoZMOlvjgGquA9jA0nwwdYWdt0iVwfD0Uz8jA+hGvOAoywDKamGLBR0eJd +BUjprqsIkQbNgCvHQPo039LvbmWTC6tqPNabnanh5C1Wu8kFLnZQGPFqJINKGHS1Ew16mkI RF4+4X1kIA0mbWt1I9cw+DoZMSVVw/eh59leg65YACfSxRFTqRsS1EKNmQ9Yw0VKWgAIkJTa prKtQoA79krEQsz8U1DKM8K2Y77v5FLNkIDfxySf20J4JCZKlCfKvog4gGk42QJno6pL5Eyg z31061iccND2rCNVYqRSRwInmjXV3vzHf4w/Hc8+fvZtPLuqXQ7izGUCmClbc1PsizFsIOPj nwJcSC26p/eB7I+irKd0GlMk6An54ys5bf7ByC/FrLLleyT838v64XIjeRj2ZW43Z0b/QYKD yxnH8izKG1mQ8OtgyDrhnCsPF3fqpzHgmHYYbMh50FIcd+SZE0cYmp+zMi3GLspsleWcY8xG M7Jpc6l82Gj22QRci95FJa0+7N2YDPzgNJQ4HkmLB7WUokFbdFxBKqbFXx7wAiPkqK0rtzQR 13qkBPZdU+6Q9BnVXdFY2/Qdp4i4ZFD2ADy/fPbH6bPXry6ubq5ev9I84h2nm9asQXzcSBcd um8mdpFkSJFWYxG4qFDuohq9ON3NvdV+Kjkdca0vO9c5iUJ1jajS9JNN7h3syvjJuKjYqRJc WwVd7N449sk2dnvbdxyd/qLP0ve7AROxLmSwbTpdZKwdItxD5NqpbJLCHpZVm3Sl25dDZM8J KS5T/8zZ3W93zoYGml68PJ/evL64/NPVs0s1PjHE9OL85nz65zdXN5fim3PPfvfm9csDT7+5 PL9oPfvt1cXVm8tnwOLzF73Hf3j1x1ev//yK37Cbynr1zr3+6vWry0+AGzun1j1W2j7njkkw cIRdOHUtWIIU+zP7prwwqX/OlNdZPtmYvxcTaKNxzyS/rzEdpBqdQfQH1AK23CLRv2s5gvqE LXt2QzA/O3o1+XZCJLTTqBAn63MupdqJRa4ocm8S/++Q/+zmnUbCv5UW/CnSPwZRT/tvcZme utbJwejAp6v8t1uT9IyAvmXZh1bP9m+r/t/9MlV/hC3+v1H+u3k5H1P/E19Fab67Ky4cPXcg JHysGaFjF/7l2nxpNPCxUszDVYWi4n2s8HIwf/jthPs4cHq2L5tEgkB/I4HAJQ0X7Qc4qVai twlizTsojCFH1eesqJksbSs4lqxjcN1MJxLkyzpJb2kl77KFv//btPX8YLCkglrxO9RIR7y2 bmFe2E477/ZBPPqDqNYz7WRKOFeUaU1SNWwOBlDJPEkATStN6EH1CaByxSLDSMb1Twtbzcts FrbjdDbOcsm2W7tAngQKFWeF73HBWJkF5OMQc7RZzhjheiZkjFQS0YLpm22AdiLOowwTZi3t AuahVW9TLskbvdHI9pnZ22pkOEsdHBBBWKR9hGwRV8eUtuGKoikHV/f2UDb1gyo5AMMhhO8v Ly9GYuyQYE3aK/wIcDSPQRIbQMxRQoNEjSdBcPFHgitIcSSZtbRwqMF1faIu6BPvCTfooaP1 KnCp+xG+qbrmgbTrCNFaBDwdS8KqRFEchxFm3RHiwNXgEMtKBjiKHP/ueQ4AHA94/KMZecck Des19CYrx6v+R0QY2J4Sv/yZf8t95OUfH7/t+fuPt+kH8/SLL8aH3nnydsDLz2/99rODLz19 OxiZ6HsBxW3D6XSrvPD2vnsk4Ff8/Qs66gpf5kPqArJ7yllGEpsUwJUl4kTa0LHvFgKbwzw7 //782dXNX9hFC73Aj5ItO/wwk2xfMqjfZwuXkiP7dGlTlX97F6fluULLbbpABoLWFRiEtYER nGTWnsuPgyRjeBAEoAi1scKqApvXSdAPpHCY23vbsh2BBAJLBIND5QLYaR2iGzyBgvOzt5AZ LSp06QCn9GouOqj/ri4UsU/MbZrVTIKIde8jCpzv+gTo3i9mP9FyhlzGLD80mWlZNGxJ7Qr0 JzEawZDQH/37xGyrlf7Lj8O6i3ynSh9T2zHkaFPJH6Hjz6aaoTZXcbRY+mEeu6Lr/K8NAZpr itTnOBlG4KxfHXd2Nk9zSW/gRBW0I+FKlo1lHeIYkYQ+hRmXX97BUZcFNRmglP7UIeVgbVm3 1uy6Y8kTy8q/ViTsR73pNQNEiqN9AY8bQ2ytyQBRXnT6SEFZKovdjqO+kvoYkh+CmpMHutSn fOhbkYVbZHiNN6IN93tMGPMtzQ77Z9fDZylEEcc1131LP5+1b3bU6xgQIfMaVlDb/PGbkbcn Q9gc8WIuF7prtgkhnYTZmRe6M8kkJi3vc5bsAQTcc9Ok5Z251KOIGYIr/PiRhLqRVuSDPapV 9vYAn2YUGcALSUz2AFcLud2wIjhXi9yZVwo0OVvzw27X79LJ3v6KLArkNWGJx3tbj1kDkgYS Ez8O91Vz1VZyjNq/j4THulg4nbhfbcj1tzoK5zipafW2g41a5xQH5gzQpoeHdj0lBbSsp9Ko CX4T/tszRwJfMc/YAS1V/PNdh636Qscq5shIMJ9JauwAKl7/8OzZ5fU1MMRPJE8bdrR9d371 4vLiE4TzR1mOcBplNOPAgYB7us9m+wkc5irOe2MY2TUrSynb/Jp24p1lrtOWG0V9cMBB6Xio YUzpMmHXETwZoF043ZfP0HsiG8WbHoE5Q8eOVt4gP3EYuJ1Mz1l44ZcL3n8d6A5B6ROA7OMl wxD2ga4OeP2PvksMqlhVMqix4O3zXz64/4WouQewTwA2H0YX2hJslLYS605X6PEQ2EPl0L88 3H+pYA/C2vfwdXk7BEb28toVt/Nie5o1JlZfNJ9JeX5kUbT5xImJ8Mg4FZD24NAiqLaljaw9 dRMcSz7Q3oTUJYVZVFXqw5iGgzEts9H1tJQehEs0ROfyFrYt7FpsGz7iAQroY/EnkIA7u4gA XNWa8/GmG8L8XGMD6m/+Kd2qFy9Wp5027ZMDbFkW0t+2nRfQRv+bNz9cAmL8Lo+9he9cUf/F 9eUB3fhTvAt3YujFXTsOWnt366G8TQbEZl2GYgyg7hkfivR0wcN+sFNXrxx3liZ0buoo6njm gIbyIaIB4lgIdXatQBj40pS2QbfAVtSyB8TQS7A384A/6Pz62dUVWUaIpKB3tqRa0Ebh/UBT 8WAiwQb3/MWPQ5wh1eoZDQKKm0F6zaEjiXavJOPlxISmVa52y41DZr2Vco5lSMmfvP1/x6DX SzTe9lWwyEygqdHEPD4fcZdX6EqmLdVtsHukhsyVdogZWXEBblx3O8C9Gaxtd5caz9qH2B9o nLwZr2uZSbkomCKzFz+SFOn56njXZcQgTsCVrbm95RsaxsHwulEbb3r1+tnNi+n3b15/ezl9 /vr6xmTFvN6YfUYiQ+p5BAVarYNatqDnrGCiB3Z+wLfH0sp1Jo5Wd8WtQ7Ux8RZ5LeXJcLMZ lw+tUQyS31WxCbjkbcsHlRnhNEe8Sqxp7JNAHVbX4s2RCdTnJ8NwcSntAZU3UwxzPHbmt4O5 JLeq17DobDcAXcz8Ac8JVl5r7jPD/d48huHlmT4cWlGPR/61irjDgrhD1JFRX0fTZ1aSFziV 8Ph8CxcaPyLIHn5Ky1XLkQhGDHriBnnSuRasemKuue0gna5PFehwNbToN9WOxb7qWoi6xkW0 WvMZamDbI4jLAdUvU8w5xYjcdkrqiq35Ic8+aPktA4YWz7XVnXG4QFWb9r3PLOrgUvU3Rono wy4lV0Y54jrKkfouXYmrK9NGo8INOoA+xlkF/r4rqoxfV7e8b76p3k3n//NUqAgfzu5nELGO KUQ5SQ2Ca6kZEQ+Yv9ugueJtPlKMkP7XLZbCy8mkAyZcxngOlXQrKNU1n2TPYxT4GEPxEWHn o2oxl/o7zTXov+Ud9aWdFys0ZffjcMyUMPeBqG5C1+1oZ6dhqHZQkDpkL8+898uzVj+XiLB1 1Muw1Vy0tRTvU5hbWrhek4ODQVXgvCglPaHgB0jdUFRF5LtchJEIA0MTJT1W2aRKodByk8U5 ynZvbv4SwPO8uGVltN0TwuVxnV5evfrT+QupBc/9Phcyhx/EzXU76AlvyUCNjwYvrIzwA0Ra 3eQc8tXbAvCGpHs6B7dfj6Qx486dWbrgOMYRz63bi0nid2hZ4MoG9f2OM1AObihiQ3xR0yi3 xMo5u+chMYket/USQNU62ktlHuFbSfD4u0Y3IGH+8ejvrNnnxT8C25w1y6UtESybr3EBEQe3 CfoqOehfx49//3tmonXxZAqu+pivKpKAK9hbVykkynnSe2US8XzUoZ/p/QAjZtiWdciRsOks 3EpSF0QLEg9kGPem6k0UzUN2D5kwZ0b+6y5PkQ2b3qaYH+rFH/0duVWyrGyvqb8GEy1CCkDO SGv4kG2bLYt7mWbsWj+gQJIXFd5SOKniHMIDbhmmJ43VIM+jQNE37VWdmSfm9Gs5Ym2rwrZL YNl03Ld8S1CHEQ5/hD2OLOEN081UFbOvY/z7sP/bo6f96FH4PMaaeAnc2dXL6TgGcr+FEMUO z9yTjQKTA8CbmNeQj7cZifwodL1Oy8D8AnEoNu1Q8SR49qly71BAhE3IPDIvsbXJ3DWIbl1q wFxgWSU+iSsohqrByTpPVKF7KL0gTrDkqVv4SbeBKAaSoxJWBATLC/l3h7q7bCkOzBFnkthm HNo9UfeDeYByqgfsqSmQK9JST+8ZHdaHMdJZvyW8uJxcsmB3oh5yPHEy3t/bxhUT0gSk2qsX wckpoEsuVW9yN5CkmeT+bZmd60xcqhdX0jvt9eiIsIvwiSVsVM7rXVtgSxuc8h63cqQb0VeP ju6KIv9zsWc4qNjkL/JThJwHyO5fMeJ8cyCprbSbVDqPmiWRL9yKZNtyE39pAB+0DNyG4PIX yA7nYCzjENm5z61rB6Wo7NvWBx9bZBsXbPT7+0VcnUkw4lFew/oZIQUZyWPmrex/4GzhSJXL QlgPDjGnd3RT0YQ9dm4WDB7H+HoqGqvBhYJSVGLVcKukQkKU1KtX//nD1Zu/jKN19HeuDSTc 7rWzTRtvlIIiI3t56BSjsLKT4iTCbMnOG7mxrLWcTrCYfaHSH2lu1YMYuuu3DQbAYcV3ExAu ft7NKnFatUs4EGuEr7/zo5RxOlPANnfdm/dXRBnEqgqDJ3bASwDk+wiGUjGJN55+TRCCz3rw hDtLah91aiTVBcKNq4ZMu2rITzOSKUbedAT3OYzqHTOk3X4fr7rOQmlTF5UFcnENgFy44Bw8 LV/z2Rk/N/VK0hFnW3V06VYuyLC7mvuB8AGwQn38ELsYDzw87gk0bXXH0Rz5l3jmpZNJ1QvG f9QTKgwII3UTNeJsOFEzP0Wl4NwucU/A0OXeyoHH4qg7DFQeCarNvaMyvQzdgWbJgbQGePBQ m+VjuJTMj94P7rIoIoNHG+DIKvupcK4p4T3dVXEuc/BaIQpjyCqUNnglg9MZzpy1Jw16MvYY HqmA8lcZLjmXhevJxRea1c4H5rzP8Xs9ltr3imHonyRtl69KxGqHQx+PIeWLd3KThETJlCO1 vOQM+VyZoWRXHcUxJWJ16Tubu9jRz+DMOZfb0SIHp1w0xeZ1V9iwT0LyjLAyPSG5SkMNeRwv w4e7CHFuCwoiW63uhL9ihO9clyHJyebLQ3rZ3/zk1YG0z7ZjtStdUlYXpIhnsK2rv2lkQAML DacwhiYZIj18nW6WLuIoHEXgow6i9ip5fuftUE9TFRKw/S2GMf1/dN0Tc9Qmr49WFhDuHiAy rQQ/bW2F0ZKDT4KUaG1ppM/mq8LVycXU0o35mnYG14BHuT2BrGKYeAaqwf45ZI/6JYbb0hwj 8VsPF/C4ODM2isJgrlaIFl0XZa6nArqG8zGkBjkRpC06mJadkuH4WXfqoFBImVyO687aBz54 0CGdkc45qg74MXbn+a5NR/OgbJ86ruXEvNxAh7/EpOUsaGmdGpXwHoVCnhjNbt3AsX8vdWO2 y2V4IXQ6HLNTVJZ6ubiH2l24nFzALXHtQdktbfKNOJ7fJKFveeK7JYFtDZZVMCShJz18+FAj b9H1OXH+OF9kG92M5gt+/M23JIajVvjITk/r5JY0cXcnWusGuHA5mmmnqYe8AUK9x67NyiR5 abtOKKk84nia+5zKn+HCoOMqqtlDFAUOCOLL8Xo6bgcR83xdsr+2r4ETmnfPobJENIFiPnWz 68QazDKjyBH0lX/w60dfqZPs65G0GA63DYSrCCBKtJuqjXSQdZIQkGBboTUOsdRwyVbF0cF8 tfGiDQYQ35Tn7pYM13wwI13yLZzu6i/30CJbcul7HV9M4i9S9xdO8RDp4n2aV3tP4ZIJUMl9 noghYxsIKc/h0cPdIV3Bk5x2Pm18PXhTSWhjI5fkhMvnE7cjKY3ojRCOG/oM32PucDPL9YLv RPuTxqVV0X3Bh1cFc0k6HKCApneTUtAlsWLUW+mF4m4FaevOCdFxo+unoeSGnN3A+F76qx87 dKGY5uhC41e3GSpA8oyErPMuOiHFuAv2qpmde5ZE/U/IQZC73YREcKsb+4+4VEo09Mdy66xD mS6JcYivEB3KdbBcbrgb/CJoWVXG5zY0gkZBZwVyqlnBkstjfNt5IdTgYeKTeHz6daPHz1b0 iVkx3LTeVn/upPazitr/LArRzSxfMOMuyo7KKaL6+sinN0ncQU5JDDgIwbeYLVwWPrEu/oJR guQvBz1On0giWK2Xt+HNajXl3HvtFecc/aSf1tjUSmqJtU4rNDTVdjeToW09ZrUNSSGdUZwi KnE33zHHINvlw9QVZUWrGKjYaiq53NyVmFVjt6ahpcitqcLc2K+iRzqJFpkXbj7ZTaTQDq/F Z6OzO0VwL6TsufuCB1bTbaBqlRBeE4WW2YIIR8uG9Qa4uhCL/7B+y7OQEr226Ek4zaoU7R5o 1U9Ov/ZCi5hqTfT05Lfm5bdYP0oOj8FkL16eu6ycA9QKhlBm0h3iBMiN7TbcrZok7WcEgkyI Z2YB6DGGHBpHZ5FAjSy6stP5ptHkEFlxDCFmqrGRHiqMZkiJKlfcO3foQ8tc0Elwq4p4SH7L bXSdrdbEPKdZweTzRLaGE4GCV4BcCsk9wZOagzU4oZI86btg5OLmqUBoLhwI5h3G8Oy1dgOc xs7+IX7N7ND1pMwGUeuwZEEyCh37rbvmmDm7Y2ioE0JVtziSoWUs2pW3Vvtuc330omhQpUMm 9bthckMVrBlWecMlY0w2KJSVQD3viNFcGMpBzSbWZQbuVetdvHOa/IG9lsQtTkLSCJSDuMxe rAE/39KV0DDibIoVF/CSyKuTwl2vN+Fj9v2/IHpFJkIbDbdzeV+vZE3vOXFauMhJQoeKdqKZ KGzxPI7RHEsH57uOQ8p526cBF2BfN7qKr8TubJnL+femTXyh0eAkufTnobBcszq/K4pNF9js gAygvmVVBaIl4ZVLKqQNF+YNOhuGM9/aja1F2XP6fopQHwcxO9Dtra0NX/VH3OuQE7aZxXaS IzlMc3JAaDosoSKtB9MXkmhXmratLZpdK8pYk3PptHEHAe9gTHydFmeCOxc0jAnvWxl224Q4 lmtr2r0LpNB0CsS1W6v0vqB5p/3yOEQFBEDiZ/R36Dbcg9mgo5daHupODwIxeKa0VUhP8R9Y utwhJnfXFiJLrcvnGrrQsXPss33SVL5vb2tDYgrgEukMeQsF6y6gUi5WX2jPCTbnuV+AS23X 28BCmrw6XBkzXDCoA1ZY0EnkctAgBnsG5gV6+JIiVSJoxKvWwJjv2zKWFDg54aVGW+n5vNmk JRYszlxn/tB0P8gliITo8cCVScLQEZWMXVyMNO8qm8l1dT81qxW3PJY3yXJpa764SsRFSoLb IXwnCSX01yn/Oe7QHofDzl+ePqWjlutb4EkYAS3w0padCOogZiURQ7LYdRpzSIYiqzRj45Rw Zs5sOvGYHGLqIuhiXjhyN6sejDglnMxfTaThi7oMeoEivV856rJS5CGjkQ1QV7Ob9mJaOjed uM0gys4k2yGVqmFgt+vKw0vflUVdzIk9CyT5u+9TiEIirNAK4/j6+6uxv10JBO8WnWsHXVFh crNbw73l8rmdr1s0kRkwL9x+jHxFuSX8zeV//nB5fWOuL19dX4bG+9xZMEkueSOknuy7PmlS SQg+nBanjYxkZNBOEjhGCMGh2hwaMNPwneE3tI7w7ueE6+TXmpPKOZF5NpvJ7YhfihM6TNIO QLB7RIIMCRMqj6oEnubRBYzOikUGhq/Lb7HZx+5eSxZMek6D96/Jxe5cfnfgeCd6baX1l1Vj M92sDG7BlNsPTTVyofNMS7WEVDUxKM5nsm27B91IrbtdIdU7rQGA1rIS8AwoOqpLV3uyVUqy 2vWuJ6EJsND1XlNLZ7aq447CSYyXnphwSRTf+FAZuYi9dXfpXZf6JFnhGsBpHocLfMUs1zm1 Iu7I+crE5UQm8KuJv91Ibt7irdwlsNShwUpGAvr3TFaUX9ZEpBuXqxXKF8xgtxYtKbNqG6+X r3XWQ5SqerBGuQJsoE8Nir785WfogTkWPG6NFilDMD7OzmCp5fZ2atdTufICzRh7i/B4F90g 6/lRyIAmZXOZrRptQybdjHayPL7rKUlXqxLJ3y4UrXUIh16SDBSiCqE43Aj2wSR+Pt8Do3v9 lwxoJ2u72anH2a//C13/iUkGdpCTVbmWrAm0/jXHW7DEasvd3cftBmUyD0+SSIguOdcLtZga +jekdC5GaT9fH+6cpjcDMV2UdoGUjugOq4g8d7bA1TcMd/ZHZLOmdqnckL56UGfevnuJi3jP ufMNzfMVrXJL33zTVJNstp0QU/jaP/q/+bamb9nfsCGb4iv+YuK/+IZOkChmb/m1kLH3fcoZ 8eYlofAStTLmq11aE7Op4mlMcvRsXZK2VOzW5rndbG6zlflqPV9/k+XLMl2gBKQoV18j4lE0 qw0B6Q/ZhmypOlms5B/fMF2QuYUBkydfEoK9wlVvMLiePn78NPnNr59fP79+fv38+vn18+vn F/v5v8uoUoUAoAAA --------------010009060405020802070001--