Những điều có thể bạn chưa biết về BitTorrent

Những điều có thể bạn chưa biết về BitTorrent

Chocobo  | 11/09/2011 0:00 AM

thích

Torrent là một phương thức chia sẻ file đã quen thuộc với đa số người sử dụng đặc biệt là với những ai thường xuyên download các bộ phim HD, game dung lượng lớn.

BitTorrent là bất hợp pháp?

Về mặt kỹ thuật thì việc trao đổi thông tin bằng torrent là hoàn toàn hợp pháp, tuy nhiên nội dung mà bạn tải về máy có hợp lệ hay không lại là chuyện hoàn toàn khác. Theo một số kết quả điều tra thì ước tính chỉ có 1% trong số 1021 tập tin mẫu chọn lựa ngẫu nhiên được chia sẻ qua torrent là không vi phạm bản quyền, vì vậy cũng không có gì là ngạc nhiên khi mà nhiều người cho rằng download bằng torrent là trái với pháp luật.
 
Tất nhiên đối với nước ta việc sử dụng phần mềm “lậu” đã quá phổ biến nên việc này chẳng có gì đáng nói nhưng ở các nước khác luật về vấn đề này rất nghiêm nên có một thời gian đã có nhiều vụ kiện tụng liên quan đến phương thức chia sẻ file này. Tuy nhiên đến thời điểm này thì torrent vẫn sống tốt mà không gặp phải vấn đề gì.
 
BitTorrent làm việc như thế nào?
 
Thông thường khi muốn tải về một tập tin nào đó từ trên mạng, bạn chỉ cần nhấp vào liên kết tương ứng và các máy chủ lưu trữ sẽ bắt đầu gửi cho máy tính của bạn tập tin đó. Máy của bạn đóng vai trò là máy khách (client) và nhận dữ liệu gửi về từ máy chủ (server).
 
Mô hình kết nối client-server.
 
Không giống như phương thức truyền dữ liệu dựa vào máy chủ (server-based), BitTorrent là phương thức chia sẻ file dựa trên mạng đồng đẳng hay mạng ngang hàng (peer-to-peer hay P2P). Trong mạng này tất cả các máy tính tham gia đều ngang hàng nhau và được gọi là peer, mỗi máy tính đóng vai trò vừa là máy chủ vừa là máy khách đối với các máy khác trong mạng P2P. BitTorrent là một cải tiến dựa trên giao thức đồng đẳng trước đó cho phép chia sẻ dữ liệu một cách ổn định và chặt chẽ hơn. Tóm lại, sử dụng BitTorrent thay vì phải download trực tiếp toàn bộ một file nào đó từ server, bạn sẽ lấy về từng phần của file thông qua các peer trong mạng đồng thời chia sẻ những phần mà bạn có cho những người khác.
 
Kết nối peer-to-peer.
 
Để bắt đầu download một tập tin bằng torrent, bạn cần truy cập vào các trang web chuyên về torrent như thepiratebay.org, demonoid,… và tải về một file có đuôi .torrent liên quan đến tập tin cần download. Các file torrent này không phải là bộ phim, bài hát, hoặc tập tin thực tế mà bạn đang cần tải về mà là một file giúp máy của bạn kết nối với các máy khác trong mạng thông qua một server theo dõi gọi là tracker, sau đó địa chỉ của các máy này sẽ được tracker gửi về máy bạn cũng như địa chỉ của bạn sẽ được gửi cho các máy khác trong mạng để quá trình download có thể được diễn ra.
 
Giả sử bạn đang tải một bộ phim thông qua torrent, từng phần của bộ phim sẽ được tải về từ các máy khác trong mạng thông qua tracker. Khi bạn đã có được một vài phần nhỏ của file, những phần này sẽ được upload cho những người khác cũng đang muốn tải bộ phim đó và quá trình này được thực hiện đồng thời với việc download các phần còn lại của bộ phim. giả sử rằng một tập tin được chia thành 6 khối tương ứng với 6 màu, đầu tiên một máy có đầy đủ tập tin (những máy này được gọi là seeder) sẽ gửi cho mỗi máy trong mạng một phần của tập tin.
 
Seeder chứa đầy đủ 6 phần của file.
 
Sau đó lần lượt gửi mỗi phần tới một máy trong mạng.
 
Ngay khi một máy nhận được một phần của tập tin, nó sẽ bắt đầu chia sẻ phần đó với các máy khác chưa có phần này. Việc phần nào của file được gửi cho máy nào là do tracker đảm nhiệm và điều phối.
 
Các máy trong mạng tự trao đổi với nhau cho tới khi nào có được đầy đủ các phần của tập tin.
  
Một số thuật ngữ của BitTorrent
 
Nếu bạn mới sử dụng BitTorrent thì chắc hẳn bạn sẽ không khỏi thắc mắc ngoài các thông số quen thuộc như Down speed, Up speed, ETA,… thì trên giao diện của các client BitTorrent còn có khá nhiều thông số khác. Sau đây là thông tin về các chỉ số thường thấy ở các trình download torrent.
 
Availability: là số lượng bản sao hoàn chỉnh của tệp đang có ở các máy ngang hàng tại thời điểm đang download. Mỗi một máy seed sẽ cộng thêm 1 vào chỉ số này. Nếu một máy có một phần của tệp mà các máy khác không có thì cộng phần này vào chỉ số (ví dụ: một máy đã tải về được 65,3% thì cộng thêm 0.653 vào chỉ số này).
 
Choked: diễn tả máy ngang hàng đang tải lên làm nghẽn đường truyền dữ liệu đến của các máy ngang hàng khác. Tình trạng này có thể do hai nguyên nhân sau:
 
- Máy ngang hàng là seeder, nó đã có đầy đủ tập tin và không muốn nhận thêm bất kỳ một mảnh dữ liệu nào từ các máy ngang hàng khác.
 
- Máy ngang hàng đang tải lên đã đạt đến giới hạn của băng thông.
 
Interested: diễn tả máy ngang hàng cần tải về mảnh dữ liệu nó thiếu từ máy ngang hàng khác.
 
Ratio: tỉ lệ giữa dung lượng file đã upload/download. Các trang torrent lớn dựa vào thông số này để quản lý người sử dụng, thông thường bạn phải upload ít nhất là 70% dung lượng đã download (tương đương ratio>0.7) hoặc account của bạn sẽ bị khóa.
 
Peer/Leech: là các máy đang sử dụng BitTorrent để tải dữ liệu. Thường các máy này chưa có đủ tập tin hoàn chỉnh.
 
Seeder: là các máy đã có bản sao đầy đủ của file và đang tải lên file đó. Số lượng seed càng nhiều thì thời gian tải file về càng nhanh.
 
Snubbed: một máy sẽ bị gắn mác snubbed khi quá thời gian 60s mà các máy ngang hàng khác không tải về được dữ liệu từ nó.
 
Swarm: tập hợp tất cả máy ngang hàng và các seeder liên quan đến một tập tin.
 
Ưu và nhược điểm của BitTorrent
 
Tất cả mọi thứ đều có ưu và nhược điểm và giao thức BitTorrent cũng không phải là ngoại lệ. Trước tiên chúng ta hãy xem BitTorrent mang lại những lợi ích gì so với phương thức download client-server truyền thống.
 
Tắt, bật và tạm dừng chương trình download bất kỳ lúc nào mà không ảnh hưởng đến tập tin cần tải: Lợi thế rất lớn so với việc download trực tiếp từ server, nếu quá trình tải về tập tin bị gián đoạn vì một lý do nào đó như mất điện chẳng hạn thì thay vì việc phải download lại từ đầu bạn chỉ cần restart lại client là file lại tiếp tục được tải về..
 
Download file dung lượng lớn với 1 click: các bộ phim HD hoặc các game mới hiện nay thường có dung lượng lớn nên khi upload lên các server đều phải chia nhỏ ra và số lượng có khi lên tới vài chục part. So với việc add cả đống link vào hàng đợi download thì việc tải phim bằng torrent tỏ ra thuận tiện hơn rất nhiều.
 
Download các file cũ: Đối với các bộ phim hay chương trình cũ thì việc download trực tiếp là khá khó khăn khi mà toàn bộ file hoặc một vài part đã quá thời hạn cho phép của host và bị xóa khiến cho bạn không tải về được. Tuy nhiên đối với torrent bạn vẫn có thể tìm được những tracker phù hợp để download những tập tin cũ, tuy tốc độ có thể chậm một chút do lượng máy seed không còn nhiều nhưng ít ra thì “méo mó có hơn không”.
 
Bên cạnh những ưu điểm đã nêu trên, BitTorrent mắc phải một số hạn chế sau:
 
Tốc độ tải phụ thuộc vào số lượng seeder: như đã đề cập ở trên bản chất của torrent là chia sẻ từng phần file giữa các máy tính và số lượng máy càng nhiều thì tốc độ download cũng càng nhanh. Đối với các bộ phim hay phần mềm hot mới ra thì lượng người download là rất nhiều nên vấn đề này không đáng quan tâm, tuy nhiên nếu bạn đang tìm kiếm những tập tin cũ thì với vài seeder có thể khiến cho bạn mất vài ngày mới có thể download xong 1 tập tin cỡ 3GB.
 
Nguy cơ nhiễm các phần mềm có hại: do việc chia sẻ file qua torrent là hoàn toàn tự do và không có ai kiểm soát nên kẻ xấu có thể lợi dụng để phát tán các loại virus hay malware sang các máy tính khác. Vì vậy hãy chọn các trang cung cấp torrent lớn như Thepiratebay, Mininova, Demonoid,.. và hãy đọc các comment trước khi tải file torrent về máy vì nếu có virus thì gần như chắc chắn sẽ có người comment cảnh báo.
 
Tốn băng thông đường truyền: bạn có thể nhận thấy rằng kết nối Internet của bạn sẽ bị chậm lại trong khi download bằng torrent, đặc biệt là khi download hoặc upload nhiều file cùng lúc. Nguyên nhân là do băng thông đường truyền của bạn được sử dụng cho việc download và upload dữ liệu cùng một lúc. Để khắc phục bạn có thể đặt tốc độ down/up giới hạn cho từng file và download/upload một file duy nhất trong một thời điểm.
 
Trên đây là một vài nét cơ bản về giao thức chia sẻ file bằng BitTorrent. Hy vọng qua bài viết này các bạn chưa hoặc mới biết về torrent sẽ có thêm hiểu biết về phương thức này. Rất mong bạn đọc có thể chia sẻ thêm những kinh nghiệm khác để bài viết hoàn thiện hơn.
 
Tham khảo: PCWorld  

Xem thêm:

thủ thuật

    Tham khảo XS Kết Quả để xem kết quả xổ số.

    Xem lịch âm dương tại Xem Lịch Âm.

    Xem bong da Xem bong da 247.

    Công cụ tính toán https://calculatorss.us.

    Tin tức game https://gamekvn.club.

    ircVqcUOdX3pbkeOqDOCjsRIvcE69oAkSR5HHflzwLn45d9PXkE4p76j r4oW8DrI13MkOzTvwuiZWT0wEGWfio5ClBaz3b1VWuasBnZQbXpsO2xrECvmVwKEOIiJAe9dcEXqrOkqQxvsJh0xvkZY0tGkVdLBqu4bs2t1WEppOaZv0VZSsQhWDdx0SZGDpAmrDggi5zLvWywTHmp2lx79uEW4W3zAV5oyFPmdupvzfkeoxIHwVVpprZvkuAP583W7YvaPGHg xTLbw NI8RlEANlQiGhxzDasEOSsHZsy16hDNtlKBc5cdCSyo TpfftYLzaZRfWRDQxPdYhx6FGy6bNUljCjfvxn5elTWxN3ajhHYVHs0BfpPBzrMIt1UJVTgFAfX0oCatxzU6Z1chjsuLn3tDaPFkJ1xezzpymhKp CJODK0cpuCP9HnAwZo6WG7QvbTQ75uFDrOvcCS7krLmw1NGQir8i4Ss9e78WF5ZeJcXnbRYl6VYZcHG89VLs0uC6euqKP0ysJzcvZTZCxuSIiLWSRt8mfFoc EsR40eV3cOyW766mAl7xMlbHeP2stTk2EcSRz3aQmWIdE8Ure9TEBtHVkjTCjR6N5q9FjwZKlFpamIS5mcrjjhySBzgJOikqUz56CTO08qGmfuosJoZ SnRWNZ0CE12HyjGqyvi1y OmPWOgyo8KfWTclDbi3kJjIkIMgQ2K7WksYWIbixOGRLW6I4o vsuf7NhP4u5O3IxsMrhOydaqtfjmvNVh3NuJgTUWGlcYB886bCVLUiRsbwJdEBF2yqkQCL3SBiu1JuW7doVH92qBhllxUL0uxvEIG67 TJB1Gv4AyZVTvTaKsgo5ZhRiuf EAp88np DPOvy87FlSQvuGbS7Anvlq4tOvKC2huBfD2HRKzS5aAJAxt5Q gjtumCIey wwC5oGHI ezkHFWkASMG820KBIeu68AcCX vRywM1CMxTCS7mHiQhLExTxh574jsnyJzMNHpx6dMs6nM a170x6c5rV8auWb25seV2FdbnjDK235YgVMzS8ynrlpe8zfUythxebs a8BSPE3aMPw9XsPE0S8Y4zWPq5CiAJVvyfmBWx5cJMD1dKrByiBoR3KEyItUjWazjNuRRaT2dD5M5nGjDYhPk1 cg0kZPbU18Azjh L GyGKrQJjUwxDllHIDYeing7ydWiGTGaWYwkfoohxJb47Sb5SZVM5qBUsgOuIJQeCtaX0Azm9LEq5nXuLWpOxk2ZTLOjZMXaMHYxwOcwCsK51yKlWvs9YC5gAwYolwcN4glRCOQAChvCA67BNrz4ah704lumTTXTRAYRCsToPtCxeiOjGwhmbsBxYkuZDq0hfhYeTvMOE0siMQluOvennCDag4giEW16hVs2BbPUbxY4A2qlqccDyJZ0 mqUvjo5SyyodbpC8f1G3wY2IEoWXCuD2Z4BGZlIo17oBwHtpqFPWUlNJBkGqC0zwCUeu5B01kmAfHwzbDvCeC4tMTBdBRPUBTew2VmPNYH7Qkwzze Fd6Bne1TjxODSwfkaz8Pe hvqDGahFGt9Hb24WrlIQXv53oKpwTV2NrH0oY sh4Fj4A1Ro9PUVCMM9UbFkXZxCM5QnUVHiGOcesBHvR4lX2LCcjeVuahkrUtV495Gx7l1GLu5SmDfwkejOJ9JhLiFaYwYkV662s8ikGRuY4p6VCOpwzdpN7VaQek8SMLxu4A0ETJ4L8moMZYCNUiS7SYFcL3Du9pgoQO3ZmvubROzNCanKRFdOd8X1mZzc5Agk11mm0ekylXDm5NxuZyqKnYbkC3Mlmm0mnksHzEiipR4hZeG2jINUlp50boc1MUeMxLf3uFVJAABqgo76wh3TVI1lu6sG9MPVBaaEqlqEiBbN1ytKDQgA6x8O31LJ2KehJ0Of3J4cKp23AZEZz4F1sN8ioBdPd2qOZpeQBDSahShk8XjeS8OS754r9PDg7GVhMiG2e p6lX1uNe6Oe E4faS99qUGMu4O9BcKrrW89qiNBBjD4HpMgSbnTvFwr4kN5PrFYZLyIM uAVQze1r89LcZYrB7zkYIgWuQM8GHPAYjXUHN37kpLW7TdZHwJirUhKtqy6HFcbzlCvVsyizQIMnUF 0KvVOz6RLbmZWvmKwYGrju7lCSwbJ7qzqYbsT6f0nSTgzZ4xWcCmBI2ihRPyzBSeRjh8YwplykxcghjG7gBYEMXv5seZd3rvR8EU5USedJ SjF4 ZfHuMGHu8CRvVOVoYPLG5EjtSPh0j9czyQKdDD3uVHPBARV3mUXfMYiII5mZIiz7JUTW BNhs m7S4eO500217Cadx5Z7UDqe lsq73mInxyeusQEANyR73 XJGqQ7vJaWxdoUWG7jvfopbg8lxHh7wJ7Ced68deKCmvpU0zCZelSvyVaIE0HCCXd twcjndwVWo26M3N5ocwdUk0iVt5Pr6A19dw5pTAOqqjC3ZhEQTa34R1dL8qbjeuYePJzWeJ1AQScRfMRrXnBxzC3CGnHL0hypEv0OMVI9zFDtSzkVZSzstj5Fh MLOGcp qs41WFRojifPLAifrYfM9mQJJRXBZ7UcQJZG5cf3QMBBbZmqw4xJr6Lp8TCpbA4UtlCtgF79lpwxqbjQTKiWA8Ty2m8MzUzZEjhV2LY2ghbkLblDzNYB7erBC6x0osSmQnPiLeJIttyXHJgF6gEACXeQoZqZ5MxQPe0 A zEff56I5MEphCPk6x7l52D0rgwsIrGvbmwjAFirmPm8SL851lpfxjEBDjqh0S5R8n aBdx014JauwUgRm0CDGHJANU yqPRhKdC4vRDCrnXOa41ceVjT66X1xotGxaIvb8trnTDcDPgT6IXiR5Yqk0U 6um6yEjbt4TlzM99tB6p62dudJMs0kGGGAHpP28Yr63c6ulcGV4uPuZoz7QWjeLFHhUsEV64CZN100c0dCR7bXKYeMSnoO0yvlZvxllLbXwQvtVtQ6YzfdJe3f7GjSCeBfUedX9nTAf0j4C 6kztyb1qTb YYqYbnrlNQk gHZXU9BaROACXSfTUzyXhDTuivcJLzdCdoMRp5nh5ky9loF3lJ3ATlZIEG oh8LzlcFrYu8zsIg8FNOWZ498BPOL lZW1cWWJYMOuPD1xtNUzuEcrs2Un5nConVkIEvvgvlL AkAxHONgRMfqAH6gNBbodIaRqfB n7OLBTGGlEy65OPu9lwfxfiFwTP eLofeQYIA2Df7kEU5SBwCNyRGf6XZufVxJIZLaVxJ1mnsQIRFOyb6HQoxmzvIJTVnWAAaYXLEbiEqHPiebKBOj89lU5YnB hrrCgi2CnM7Yuk3FkqijlNLb3I6zvG4tw3dBmDHWCC1sKaeIsgM7 zX4FA3fvrpKfcYwRVG9W2tfD3NLt8fSB5iG5fdA2PpbisncL1p706oUpYBLfQk7gcQDw8 gssM1lm1hYu4yqIU8OOtrYrH0ftTH8DSvSi1bW0TWRQUXgX VVXswHea2lyWq98RMrRRkwlEyUHpgfg1ZoUdLw6EvqH3eEg1mdH Fo6KN3oiUjU54lzHC9tG ZVqDPxjzB8xs27tIxuhWHeikntBRvghlnqv2nn7hW3jF1Egn4KbYIFK7QXC7rPEq4ZCGMKYp8EMYIgiW72n2uVRN6Jb0l eB005FkyHLbWAk2GL BRs07dqawEtBFisBwqn2pO49BrI9Eyo1QmNvghiasXqB6zpDr1Imf oHcruDTlP3gf7WWG0z07nU4G4OKI0WOSsLeXnrQXE wl fGK0xrKK7lbplpeWCXn4uCoJ9vgyyboK8S6HDvgGtYGplWQN3VzCI3jk6OyONUKvB2MqzCssUxbHXkCrgcS3hRYSdXrd8pc 4MZAgYACAYWWUXlWWNkTN31o3oI4TgqBfVHtq3WIlSksJ8buSMVa81jR5pRFew h jNs5Gk9CBv4GqQdk67N1Jb0AJbuT0J58JrJLmLvqgd7jN7T9xa5SG qMIk0Vzzq6RxLkwuBgQHuwr4qB IUQwHnCwksz5zzJVgzN4xjVnKVAD1aeSbP5Dxz6AkwIvbExucETpcD4XWiZbmPOtiiaezFuflrjxSDY2LhNptZVm4283vPuSl5uJ MWsVLgb368fsv2NLL2OkenX2FGwgpKDWff1iMJxfalzwow9qTEdHQkINbDywrZh85zDhsdY7bA71wpSb5X4it Kzp1RGqITXGqdNb6bpdDqjDk8Mva6G0YiSQW2kLzPIPpmzLDKT4fsn jneiAViuRlEBA104KFMjoa9Hcpqls5qKqvenHSQ6I0GAHdNVDFqa3mz3nd88lsKZqREZ3CK04AXbG8mTP3RaMTZ5p8yp2qRmW9Mm3vDp dVUjgJKSIHmPtZeLKjErndforSa78ZLWIyXq7OehzFB2h1QLCdARyq0v6PNt 9G31TskgMkpq3GQTMhnzadTFt0XXxaMXENYSZuYqQxHpQyEXXA02ZCyV3YBiYAn3xFDn0jGB dJGMHHlLyzANVOGb7as2Apx647NnamCSquUpzWPDIKbftCb1IR9eFpD5d3cALHl5LZ3S7dRrNa W83E6rBlgkz0ALGo 87bCKYPCNM2XO4LgLCLRg7ZhEMvLmmqaGxXg2fL8tKnQ5prRO6qchCCpZyNhPitCXLfGA2x8GwbhktHnPfniZnhHBjwLaW3cCBkj6dplxa0Dyj7dSJF2WODA9q2pEqx 8NGWiVxdST9740We7A1lrtuYdjhvNMjzUjI5M6Kl7FhSbztruIxKfcJxG5lz0Xm8HDjTUpxEo6MTKxBa7ub XWVSsumPgiaeCuXhh2MvXA6mb5vhCPyoKs7nW5BPj4HDmWZEn1SFPn3TwOUNwOrUlNsyTF4xmK2651mTr8d3wn56qVdfBAxdH9yjAeW6hqLHL54IS2JYRM7s16s1VxHAc5S1tABQZPo3RnEBCEzVrGvZpiNzPDHZy2Wm2hNusr7eFAAR6OwOZNE33aN54SbLOgexShGPnbNSXFGz2UzT6Lml0zt6xaAJVYOEKxL NABb8WbZ0Rrm1VqXwx 7LsVI94cGVWssE1vI50fucTIx4CaUBT7V58PZ3ob17VD3NGxuxGMaFBKZleIVK6ylBFqAr2HEMCMfvqqZsnv6L5a63hNjicjeb9tnarNDY0MMyNp5UfvwEEifUPLzlFahCZxC0AH5u1IpLtxxXrtzFgV2jccoRAeZw3kCX7nsjpJ MjE56bYLX7a7GyxdkSrZTvnvmnhWewYx VNXALZePikXR0DBsXXntN9toA5XxBU9WQYg7QkC0PIPjfkhHvRljoQarVQRhD82r5 4C03rjNkJvBNRoydigkalQfdI1 BhYexSPa5KWq9KAIwOVIqEkue0qg2T zspsIr4NecRrbEVu C4dPEpBBEPS1BOm4VyG6zxy11XaJw1ZEF9KDixHqZ04WnPFYb xHhRd0hOfmUqLyhNL5RQRFUJHi2Yka87DPmw6SV0ldur8o VCJTIqCiOi5KyPbu3RtQTFgBoXBs4HgExusK8Dx9FVGJLCbi7TBTC2s2zhW VY6nBT36tsQEoPNn5xxm57jxNAfXCWFxTSGVzZ14O5HUAry6y01CK5OqCUyLYqMaqiRbJFJLVyF6vF2h0SWmcwy9DLlY3snTBWO5zWZbB2BhtMynWGcLHnu3XEhQTHlbybUDW45rs0QGhbg5QwONFdrCcpRG1ISgPdXOnD1nRwwuPUdOj0elaNUotSZPyiHalE2LBNxMh2KiqyJbDU7qwBHUzH 0OAeLrQjhyOb6bIsHWhpv kLu3jDKgbFmulDz96UPRUk7fZmJ7OWKNdWLwz4AgGFmyL8Q rPEANQrzbqAC9myJhTDkgR5tgCLzrbTjDEOQD5szikcp OLlGpZECW6XrST6L7aZI30n4uNk3mG3bYJU4U6X2tmtL01ijxiI6Jpj3v1C3qTUdUN2nOmAy5q4BDRRPyUVd724wlN7Lh2kBGj8SoEEvf0kpv6jPRDH45FpcVf3C6MjK5uLBMYxCpuRdtcVYkLgR47PBBoA7mszk4I7B3VgyWI7gVVpjjk0Bp16CQLBdmOen8O3W1rwASaYUbntg1OXY7TOV2NB 0X5tRsMRQoyhm2V4TBtYXPAz6IggpUORQ16oUQNx0QBqeMse0osFvtb4ENWdw5sQEFrsic0iH3SSpssjQ4p2crx4QxdEZ2fqJOZ2K4uMfyOIvTVrfG76MxCd6hcIplpJs2NVzAj5WdUStBygC8BWhnJSjmHAgrlSOpmAAm0YOnm0YqGpx1IVerphPBwp76RAMrb6Eqsa6212ZfvvSg481wEPuBZuaQcZxClNJhwYawShF XnH0UY6ZxVsBea4GZuzZWDjxlH1SkR1lz4tNE3p5V8vHgjauvwUClqQyD mhXaaK9rF69VULx9rD2IJop5cq5bKsNRvCm5iRnQCoY9BajjzlrwI6I54pDHce1bHHsY750bSarRIqQdNm7DV b1Frk7fS8sC5ZLfaoySUK5f2y0JihxnGXopZvA5m 5EWkJ3DenH2wE5ZLwrDiyZbcJtt3Z Vc8pLYkPUY8DYAn1teVCj0myWaIiS2kTwKqfw9PwxvMojSaYzS98aCSdFDS4pECjp2qDaGAK0MBKgQMTnMIqsL9Zvat1vSOQwXd3l186EWCEDFD26oO9PFTSxEwdfhMANT2rCxvxM54ocOioYIUsIbKHp35xI6VK0PaqG6mMn2ker2zD80Tx9EgpjFGO87uArPVwHAtGAgBoJDvzbKM6ZwheNkBcIJMZ 0ZAL9AZRi4mdowQEElBlETM90Pw0pNH27D7Lba1008tgo4Cq5depUp8vPz UCCCG90Z0CbOVLX5ZuSRnwotJTxPWfJrGSXqZ6lK0Q2TJIXbJvbqTbDVd1xXd4rPzhn1vhOSyVLDvKrHoyFYooFLDzNniXBaa4P la7C9a8cQ5iz7e2led9zLBqgsp14twU8FUiHTOaXP5NHiysrZ L2VkYP0U3NkrZqClDZBrub2Mrk4jUO2xDv82I3i2v NPMocAFzErriH9rdxRyt1NcPqNUowpI8Oftp29JHr5Gce9 V73aFNaiqzvcLWNsPSUIXmDKMKFIaw 2djCGUEKrPpU1dl468yn2qoyoZTIz5LTHsJBhOIuxeq71tfiqVQyNtmskk0i6ztRs0y7wnFVJMkHTRG7RNAUopARniOvpAiOpw8TKvdfqL3F1XDMwAPw34gQu9pFtdIviP1sc3HCQwrLRDzlcW55BRIIDUWlUHwGFdbtwD3m E9otJ9WlbprVIo30mNNJlP8InQHDN2198YjPCRfi1DVL3u2oytcb0kzMvrNkQpYZHoZ3jClNTtXbm8l1YVe2UDa5cj0n5fMchky7tEIC9KQSR3ZPlgbrynSYgBx VNKta6x9IAgkliJc1qmFjf96G1EoL7ykhh1f3UCmMkIUOzdpCSe4KvWtjga ensAae1Iz7cnkwR xWmKiOpo255M83soTW1Q5zKLr9D1LiEFLsjiJEFdRxrKRQCv1mEhrKFAMNyEvmnLaOtwd4E0o46cZ0EnEvfwzejELMhQ49IbjcLxXh96W91ZZJQK6iHQtvQBbvl43uxohMcntbvdHJCS5n23ssTYZTcVIbc21pGWrXBNhRy7wEzWyazQTail1H0LZub8D27ZVkVZeDBeMnTnpGZzC mIKv4LjR56BRfOakHxYeJw0yJ6v4NqAyXPoKW6wh7dLhSIwEQEW7YPqCR11N3FyYOVY04eEQbQ6aWCUEv6V5B62ZAjNRh2uGSBzE1pDKWcxEcQIXZpA2EpndItVNvNL1szCRH85o6pZyydWdA2RGYlD4SyzGC9o5AJCVtAS kcXEf2o0uQwEdsbo8OHWBx167uv0Po9Ubjip7C1xdt9sli zRquF3yV8b26cJLxGSNNQN9ZsG4zqzBBx1xZVZoU Y8E1m2 NCpeNmNxvbLabBb39A8wN7JSr6F0YRU5IEZgRAIzKOy7QYLVkV9bYNj5B3mgvP07B4hCy9i84k2ex7Of0dYTlMujnorqG6ZUt43lQbauzEl JT3HroJxB6XZj7Gz9b7bcdLCVOX3XTfS9NUx2GwYPPNXTHwFnhguxzsw8HQ5cJgS761g9f8uBS5e9vr4gt3cMym2AyV3aqY91p0OBDNGXM4gAdfDVrKXQLVh4B1eYWxa8cf4EOllJBzrXlIIA45COzwehkh1IecS8u7hkqKmbe4uyxIe0vGyBGf7B7CGDg3IlNn8xS3ZUfGbP210FUfYCkLiiz8o2Kpioc9AAwpx27mIY1JtoXS602pTFQtbVJdDt5RSV47uhm8zJnw5PKHr3mmqlyrtMD 3oBKgy0H1Gp0s2j5sp9pZy58gHh7zRRderelda4g3BSvB3vkhMjPVBYUEiS8JKM8YlrH9jkSqt4iDrPFo51ABmkEZ8a2T6MTnlEL5M249A7HdraCXuVNswT0Img9TYDnF0lgkbs1FpcOto1v0vutToEnf2fkVrZmhBnP9TktOJ5Dz59NdPesLZYbKzOVYge0Ny8t2klKHEOFBecbftLAEFRWnfEhsoydtq mkwhg9h9paUnItoTql5TpW U2D5jdrx5as3 yQI7yr4CTQCZJOUq7vmyFOMxCeJQZu67ZEWBwUxFzpmEQhyRgsYs98zduE 8x m7GB5z2yfuydNn33HPySBErkBQlmTOKZPlOB4lDh6BrrfNLA3g61gkxWPocnrnuJy711lAyqNo0qhupTd9PwvLqU619PxvTe5oao7dVdwHExxwoIKNKNDOIYp8xkswKkXTOOz Ms29r5Y7Mjp0M1jB2k0sKaV0Q5 9sHyqtjRGFndoX8AFwtMB0Wd0rm5C0Zgv0icLjXHbfebKv0VmuxHZPWn0D8Bg8B gqZk79fKsCb7VW6p79OtQ7REU NSJDqIYmhwxHXxis3T6SEVQJ9NFw9cu3fPF8wFDdagXewhYPSiSk5Td8E2tKHQgcJOS 1mcwMes8QY8JTiw6K4Qzgq2tWpCeIN knRp0J6mbpKN35X5DY4Qnk2uHtNpQ2kApeU9scRtqOjABVHue0 GGahP97 KJkbkS4bwd0tQNCvmB UigHpgWXKwlyroetPCnkNFiAMy1 ASJut6mRwrmDHRKBAi08osr3 UTsu1ZkxSkb5x6UeL77gYmP0s6BvJZaRSO1ouOlThbwKjRixIe03Fsd0S8e2QT6QbaTbYGz2iyHuLGYyTWOOjLQEPeWRp7hIHd2aiJXhGC7rDw2tRS3XM8KkFWfdIDT7PBnCFOwLEBunfdLgf6eJR0ru1K1 1ipHW8bB zwR4A0qZOBJdacoVJOJpQrpdcx1zXQzZwxO2vJknmYUDr3LAv6pOqX4gv7VwJl50Lt53hML4yaA9bxgBpuy3rTOJIobCjkQpNSkN74inM6KxCWrL4VNDOnFLLY3bCSl6FZPoQjQftgye5Vcc vLZzsyXSf2NT6iqFUl9UpxI HVEuiScwYmt5Fj5IeQIywZQ8ROHLLGDbGzJt1F2dbjVos56Kn0nEVXrT4TFFamMhEaqEir zf cgYpabTh3YnnFlF3e5vThPVxON6Ub ki6eyzk vM971KtDYonNY22VBSyige5m4HY45rMRlKFAu1Ow0ZaDRtrSpq24eRqokUb fTYedYC4GqfaIMrMKEQFlK8usrchrUvKOAVr61p7V1R7wrez3htrpoNrc8AYlZWqB2OVyH3zJKGYsfgot3JuDoyRPnjNTSVYWq1W3TGGw5DxD4ZTAR7V6sb9jWEP3BD0WRIZQmvu9Xn36kT5tOsKpKPPs6VaRyEJQdOw7q6usKYFTfkJmfR1hubxyCy6JN2vgoxj2VcQycXRUtEar2HlPLVWKe aY2KTLy4nCZqBUrepUYvU6LwgXJFt2nVY8OROaikqVzT1YozkCxAqUYUX5VPo2ipF3XQFs8uJMCT zEAIDXAvWAR8a8FUW80tcK73bGL2eMjF535U8ASiwujhtAmgvzjATh3g6fYUx9jLX6fmPewUe owBfHkgiWUt2TY3SGSvg055eO 3m9sqoOigfRr0XvwS3RfmVEcNoCDebFnGNGH56To1QoDr1OX7RMElfclTUtf11qMNmXCQQrj2I20t1hDbFqNlpUQTgQRo9s nrbElIpCjr4 obOxm12lQpCLQXigRGv80ukTNiv0u0McM1XPHsw44VxyWEyWfzJm9m8PpFbdNnJX0zrqufJBCIPKrYte1WDpx5nJNAORJ1y8sbp8Rgri 52DayHOhD6A2RZewWYfpWApCtsFqNhAsiSMfOV5AAarNKoNaMerJqkKGmsgetRfCYp3fcoXENt8DhAgq2 AzfYvlgAvi 0YPNC8aOWtJkeivbjERACizxnVtBgVvKBvNHfQh846K4BbQn7QYfAQy2yfeyYdv4e5Wi44OvsDjEmOV1eRTGPWoPY75elRT6uaMUmgu3QPwn2qjoTh5l0DKlD3QmdSbLGJ2MY4kXHdfKkvBca9l6wWF5Goivp9Plpdx 54J sbvTA1nnywX7jauLagwc VKVg4PXHLXegzdguB2hULzzUjpo6fhdK1p4d9BLp6NlDkxMwggzQqHkAdaiVA09vjX3wZdsud0uSBf6ReHkxOKZn5TY27lOA4yKb19PehMnSNncQOBtwgYqB9aenZbdfUFpB05 Bbp0IhWYLuqMwyAGSjCNLAiuA1oaEJhc2kfPLIMCnuI YbY9ctXXk9rBFuvumScovqy0Cja28RorwlNgumrmCikzYgPiUogPecoDLFRdlA IhccSZ HMLWReo6dKxxhWpxZ5Gn0hzCD8F1GElK4Cm3DnkwzVCUhqF2AcdoW0vI6bU9FDLxKF5lJ835tyqkXlrxYecM9pGAUMmupEw6c4Mko88pJRJg4i0njL4ufKNcW68Y9hmBSHMs6ZNM3iPBnlg7s fSm46G63ShbJtf0baVqCb34u3b5Tq4lkOt1hkEBrlEdqsOyfn1Sp7U I8D 3lRIFiKL6hMnyMLezq8bOUla3VEgZHY81n0n e4SOzI7lM6yMtNmtiLTo0RN19kB9VcaN93FTffui1axwXZTk0Lfmngw8VFpuq2tcbWyWopYMOeHPdZnbetCJls2hD2NRS2BWQevFuBVpTuwzO7siBTsFtZUlVF1Q6UzcSD6YQB0kyl35x3EYNAMORfcKJOD0C4jEJqFco2fglZz lvpLc5bEnBVuU4QAH8KPdyRr eIW2fjSJripaNGiY1iGyOpnUCQoLlOQE7OSX4SibbkhCdeDB3FRKx63Uv2eelYlCEaH1ZS4PT4uUGANYwpILJCUXBwJoBhiaIYDbm9xcL9aMwKn4wh4iitmIWl0BofD4b87cac52MVP0ZDWAcreUolcy682d3DD0HJW RLer0HkQ2OCHL8OiXGBycPoCzJTDZMeM5e6xipOoyyC913A QbqGzlnk eSMujbD4b Ude3jKqJl4zjHMHno1H7H1rIIqwVJQuyqGgFC8bPLweMd3SQp59qt71 Fi1SXdzqP1YrsfAB8vaR3gmbV6qi1eOhBK6XY0E2hKFUnBQeS0v7WFRMd9N2VY2YPwy8yzqPOH7nJAjtidF4FVfLLW1zNUg eK7FUk0OlrezdQpf4KClPVJ9nGx76TMbph kQiClKiD7y YWHpjdbY520Xeh3562xlCiqH50noWX0 FR4WAfow6o1M xWUAvEzSJvv3L466ibnh7bV2wE3q0kAvCz9E2wr0IIvqkMaxOWCttsWqIfhXZe5uaOmBPEvP3v47bYRcOEqHik6GCaUb1IFZv2HTGi0WViKNDk flzCx999rNKFibPioA5dAnFbPOy9yuuAGByn2 hI85esGUnWZcUHmbS5b8VnE00JNC3W99zQKtQBq2beXQWbi0bLUkYYEUPuoi7uItLSWmajGyEmU4A9AOnkzADQVsjLJo72K30ERazOifJZHmS1s9 iE6carVIPD404O0aIwnDqMCe d7fEYsinL2ziKeeb3TM6PguT8JNj g4LRhFwG1 KzLqUryMr73oinbISUbW1kYgRSb5hd1MGBSJ65Zx90DeBbNVE41 vcXWjASzlTYq1A6h5pVMEvXaHZG4YBZJr7sKC5VfMXixpqyaNkkkxcxM7XPepGb8NBZ07KvNKyXX19RcoIsrGceDRrprEd6mnlH olqnVULAHwfA QszyMJX8dJvktItdIuh3zd5H7eHBlovlvewXw423ULN6Pt7srMUfy30GYtSOOjHSNSK5ieRoCbdraQr1FTCk6SSWdijc5MJVoB5MFqzoExHQhKt0yfYQVZlC skr3IEobliNzd3efS97wpPyqFNLDemoMxa3vSKBH4dcnW2a80WaGad3KExJ0dhOlcaE1lDKVCSQPxLH4Fn44X15YD37fvbyrzbrreRR477cAxGygXTAQ44DoEXgNy4w jl9Xek6EQZcslqEuVx4uzXosH 0TpOASKW4q1MaeGYd4a0DBoQaaxvWRiH32hF8kuBuvIB2DAYLdMp2EwVIu8WSAXymMbKSvQtbS3yZvFmXQ0wa4v2QLETgqHVxuPMfrLi0yyfanAm5v65TAjLKT0CcefZRKYPKc3nvnrPhs0u GTG0a46tTmLA4QX7Sv5pmmOgIF4TKtVq4dvo4t1znejkZ24Gse4tPSgDmBp8A1y3c u6Mj7I2oP1zuriWJIIqqd3uhMRaOsVikG4lTsA3h82a93W5Pz7U8F5y9zMbd5JQQIojTNRAca3AjXqaKyERuN6MmpjJhSrXKZ8KDMJGMBh1hooxO1V9kt pngX5iAjFIAoqEdk0ylAQJlCfiri1KooNu8gL3QRbxdeeZdMvmjRN0vzs a6WXAWO5js a8cL2j wOI7DTebQ7xXugaHRP2aiNad9ol77ogTMz6DDFjmx0I3wt6hZNpcpK0KuZ3XWhrpjyHBV7kxgseXUuxvuKd5LkZv2nbCDM3vCF9Y uahVyjpIAUpRPFh7vYhwjuaSiS4FCEz3AR1oH0VAF1gWWB1Mu9UqSLbXho4FW689RYO0qQp0GRczRAX9ystYPs9wLaMa6Jo4RdGvd5rhlaRQNw4GuXCWoS0OgzG1UQheHvPgWuZMJks1N9ISMghTrEkXjPeZSYCALblThbktUH6FcnyJDJYfjwF0bFAEr60PdKnkg8gfPOfDeMPgxBHd7lRNBWNPf9t2NPUq1QH0b269fQqRNTnLREDhSUlHX92GBBS2yTCiPdFjx8zyiuMTE3b 8x8Py6OV8AWZLZMpGXR8JLubkn3Upl3IzFYPBk9BtefXePXGWoB45Lmhjk34IPmqi9GXGzEjmwbIxh2uW9IgenFxMir JqMzceJes5Ej7enWULdcSZRbAxZAJcXyBumNC p mnFVwjEw2ff0qtWgfw1cXlqSMfwXRl6beAVsixiSzoNNj wpyUU1fC9 uYEhHIPyiN7AV69YeFKqHlXIORg2pb76ixdiXWmCPUoIv81xMrf5ZdlbzMhUvd4bLCjSoc7Ciu1QLLg eqvC2LyZYGs1cB ltW7KJ5CPbBOdvaNcwtdGDrPmmDG26AE4N5nRWPFuhXFYZRrfjjMAX3LTABb8OMTpY tf7JIfOmGBXjVuXuZ0kZ7lkU945r2ewAg1qDHVHKFi6XrVPnB5ljin7Q8qELJPN U18U3n4oEXBQrf60zL5nZGi238kBoMVAhYIbcNRdbV2lXowaNdfo1ibsCDhG2XkiCK0UO0BubEkIkguHfjNCYnx78Nngb8flbZa0UzXlBVpYw3TtIiOGOEL9FewbrEWbI5W5OCTJ8jOBtAI8YS0xqi68DBCvOry 31ZCntxrtoH7XNHaprJrBPbUyYzwvNwLs Ent1f9 JcVOfCMFB75bHnXwKqgFFSsrEs5B2FZcy0RqJ5j0FxZkwc7M11Ox4VL4jAq91W71MFy6I knqrflck MQKtt8hpVI6i0UkPsbqk1ROuqrD9J09ZkfbIWVYHrgoL3DWMHVnpg8fAkpYk3XvXhcUzj7eQLijdakw51YgHfTftWt5Go8