Kiến trúc Jaguar - Quân bài dành cho Windows tablet & Ultrabook của AMD

Kiến trúc Jaguar - Quân bài dành cho Windows tablet & Ultrabook của AMD

Leopard  | 07/09/2012 0:00 AM

thích

Bước cải tiến mới từ kiến trúc Bobcat.

Dù yếu thế hơn Intel ở dòng chip x86 cao cấp (HP), AMD lại tỏ ra khá mạnh mẽ ở các thiết kế x86 tiết kiệm điện (LP). Hẳn một số bạn vẫn còn nhớ phong trào netbook do Intel khởi xướng hồi 2008 với các cỗ máy dựa trên chip Atom. Điểm khôi hài ở chỗ dù Intel là người đặt ra khái niệm netbook, song AMD mới là người thành công ở dòng máy này khi ra mắt thế hệ APU đầu tiên dựa trên nền tảng Brazos với kiến trúc Bobcat vào 2010. Ba năm sau, hãng này tiếp tục cải tiến dòng sản phẩm x86 LP bằng kiến trúc Jaguar.

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd

Một cái nhìn sơ bộ

Tuy được AMD tiết lộ trước báo giới tại Hot Chips năm nay, song các chip Kabini và Temash dựa trên Jaguar sẽ chưa xuất hiện trong 2012 mà phải tới năm sau mới có mặt trên thị trường. Vì kiến trúc Jaguar được định hướng sản xuất trên dây chuyền 28nm thay cho Bobcat dựa trên 40nm cũ.

Thêm vào đó, những gì AMD công bố lần này chỉ là nhân x86 Jaguar. Còn nhân đồ hoạ dành cho chip Kabini hay Temash vẫn chưa được hé lộ, nhưng nhiều khả năng chúng sẽ dựa trên kiến trúc GCN mà AMD đang áp dụng cho dòng sản phẩm HD 7000 của hãng này. Trong khuôn khổ bài này, chúng ta chỉ đề cập tới nhân Jaguar.

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd
Lộ trình của AMD.
kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd
Lộ trình của Intel.

Dù cho kiến trúc Bonnell / Satwell hiện có trên các chip Atom của Intel chưa thực sự tốt, điều này không có nghĩa Intel sẽ không cải thiện chúng. Một số thông tin rò rỉ cách đây không lâu cho thấy các chip Atom 2013 của Intel sẽ dùng kiến trúc Silvermont hứa hẹn sẽ thay đổi cái nhìn về Atom khi chuyển sang chế độ tính toán OoO (out of order) tương tự Bobcat và con chip cao cấp nhất sẽ có tới 4 nhân so với chỉ 2 nhân như hiện nay. Tức AMD không thể hài lòng với những gì Bobcat đang có, họ phải tiếp tục cải thiện chúng.

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd

Jaguar được thiết kế với mục tiêu:

  • Đem lại hiệu năng cao hơn (thể hiện qua mức IPC)
  • Xung cao hơn trong cùng mức tiêu thụ điện
  • Tiết kiệm điện hơn khi không chạy hết công suất
  • Có nhiều năng lực tính toán hơn (qua số các tập lệnh cao cấp)

Nhiều năng lực tính toán cho server?

Jaguar vẫn trang bị các tập lệnh (ISA) vốn có trên Bobcat, nhưng kèm thêm các bộ tập lệnh khác hiện chỉ có trên kiến trúc Bulldozer / Piledriver của hãng này, ví như SSE4.1 & 4.2, AES, AVX... Thực sự tôi chưa rõ mục đích của việc này để làm gì vì Jaguar được nhắm đến các thiết kế tiết kiệm điện và không cần hiệu năng quá cao (vốn ngốn nhiều điện). Khó hình dung được có mấy ai dùng chiếc tablet Windows 8 hoặc Ultrabook để chạy render hoặc giải mã AES. Song chọn lựa của AMD là của AMD.

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd

Nền tảng Brazos của AMD cho phép quản lý đến 64 GB bộ nhớ RAM, nhờ năng lực lập địa chỉ bộ nhớ đến 36-bit. Sang tới Jaguar, AMD đẩy con số này lên 40-bit, tức một chip Kabini hay Temash có thể quản lý tới 1 TB (!) Song điều khó hiểu là trên tablet hay Ultrabook thì ai sẽ dùng tới ngần này bộ nhớ? Ngoại trừ việc Jaguar có thể xuất hiện trên server, tôi chưa nghĩ ra được một sản phẩm phổ thông nào cần tới 1 TB RAM.

Sau cùng là năng lực ảo hoá (virtualization). Tính năng này vốn chỉ cần thiết với những ai chạy máy ảo. Dù cho vài người dùng laptop có thể xuất hiện nhu cầu này, song cũng rất hãn hữu. Vẫn hợp lý hơn nếu chạy máy ảo trong môi trường server. Dường như AMD không chỉ nhắm Jaguar cho các thiết bị tiêu dùng cá nhân mà kể cả môi trường doanh nghiệp.

Nâng cao hiệu năng

Việc bổ sung thêm các năng lực tính toán sẽ hoàn toàn vô nghĩa nếu hiệu năng con chip không đổi. Tuy tốt hơn kiến trúc Bonnell của Intel, Bobcat vẫn chưa đủ sức chạy các tác vụ cần nhiều sức mạnh. Dựa theo bảng so sánh của chính AMD, mức xung trên Jaguar sẽ cao hơn Bobcat tối thiểu 10%. So với nền tảng Brazos mạnh nhất có mức xung 1,7 GHz, có thể dự đoán con chip Kabini sẽ đạt mức 2 GHz hoặc trong ngoài khoảng này.

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd

Nhưng để có mức xung cao hơn không chỉ là vấn đề overclock (OC), việc này cần đến một vài thay đổi để Jaguar có thể hoạt động ổn định ở mức xung cao. Chúng thay đổi ở bản chất đơn vị xử lý số nguyên INT và số thực FPU.

Nhiều nhân hơn

Tương tự cách làm của Intel với chip Atom Valleyview, AMD cũng cải thiện hiệu năng bằng cách tăng nhiều nhân xử lý hơn. Một chip Kabini sẽ có tối đa 4 nhân Jaguar. Điều này đạt được phần lớn nhờ lợi ích của việc thu nhỏ transistor (từ 40nm xuống 28nm) giúp "nhồi" thêm nhiều trans hơn mà mức tiêu thụ điện không đổi.

Vì có nhiều nhân hơn, AMD áp dụng một phương pháp từng làm với các thiết kế đa nhân trước đây: chia sẻ bộ đệm L2 hoặc L3 Cache nằm giữa chúng. 4 nhân Jaguar sẽ xài chung một bộ đệm L2 Cache 2 MB (trung bình 512 KB mỗi nhân).

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd

Lợi ích? Nếu một hay nhiều nhân không xài hết phần "của mình", các nhân còn lại có thể dùng phần "thừa" đó. Cho dễ tưởng tượng, hãy hình dung bạn chia sẻ bàn làm việc với các đồng nghiệp, nếu bạn không dùng hết phần bàn của mình, ai đó có thể hỏi "mượn" để chứa đồ của họ. Thiệt hại? Đôi khi các nhân "rỗi" cần không gian nhớ của riêng nó, sẽ tốn một thời lượng nhất định để các nhân kia "dọn bớt" những gì chúng "lấn chiếm". Nhưng rõ ràng lợi ích của việc này lớn hơn nên đây có thể xem là một thay đổi hợp lý.

Thay đổi cấu trúc nhân

Nếu so sánh cấu tạo của từng nhân Bobcat và Jaguar (cả INT lẫn FPU), bạn sẽ thấy nhân Jaguar có phần đơn giản hơn. Tuy vậy đây chỉ là hiệu ứng thị giác. Thực ra một số thành phần chức năng đã được AMD "gom" chung thành một đơn vị (có thể thấy ở bên FPU có ít khối chức năng hơn hoặc ở bộ phận front-end).

Thực tế là AMD có bổ sung thêm một số thứ khác vào những gì có sẵn trên Bobcat. Như thêm vào một đơn vị thực hiện các phép chia (Divider) cho nhân INT được thừa hưởng từ chip Llano. Các đơn vị chức năng khác ở INT hoàn toàn không thay đổi (2 ALU, 1 AGU nạp, 1 AGU chứa, 1 bộ nhân). Bên cạnh đó, AMD còn tăng kích thước các đơn vị hỗ trợ xử lý OoO như bộ điều lịch (scheduler) và ROB lớn hơn.

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd
Cấu trúc nhân Jaguar.
kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd
Cấu trúc nhân Bobcat.

Thứ duy nhất bị bỏ đi trên Jaguar mà bạn không thấy trong sơ đồ là L2 Cache. Bởi vì L2 Cache lúc này được dùng chung giữa 4 nhân Jaguar nên nó không thuộc dùng bất kỳ nhân nào. Chỉ có đơn vị BU (bus unit) sẽ giúp 4 nhân này "nói chuyện" với L2 Cache và cầu bắc (north bridge).

Bên cạnh đó, AMD còn bổ sung một thành phần khác tương tự trên Steamroller là một bộ đệm tập lệnh (không nêu trong sơ đồ). Bộ đệm này sẽ lưu lại các tập lệnh được dùng lại nhiều lần (loop) và bộ phận decode có thể được tắt đi để tiết kiệm điện.

Với INT có lẽ không thay đổi nhiều, thì FPU lại có nhiều cải tiến. Các cải tiến này lại không thể hiện trong sơ đồ. Cụ thể là độ rộng các FPU được tăng lên 128-bit, so với mức 64-bit trước đây. Chi tiết này có phần nào trái với dự đoán trước đây của tôi về Jaguar: kiến trúc này không có sự chia sẻ FPU như Bulldozer / Piledriver. Và để tính toán các tập lệnh 256-bit (ví như AVX), một FPU của Jaguar sẽ tốn đến 2 chu kỳ để xử lý (2 x 128-bit). Có nghĩa năng lực FP của Jaguar vẫn không bằng Bulldozer, nhưng dù sao nó vẫn nhanh hơn Bobcat vì kể cả có hỗ trợ AVX, một nhân Bobcat phải tốn tới 4 chu kỳ để xử lý (4 x 64-bit).

Ống lệnh dài hơn, xung cao hơn

Thoạt nghe vài bạn có thể "phản ứng" với cách làm này. Vì sử dụng ống lệnh (pipeline) dài sẽ có nguy cơ bị "thiệt" về hiệu năng nếu cơ chế tiên đoán rẽ nhánh (branch prediction) kém. Đây là điều từng xảy ra trên kiến trúc Netburst của Intel và Bulldozer của AMD. Song không phải cứ làm dài ống lệnh là dở. Vì một số điều sau:

- Ống lệnh dài hơn giúp đạt xung cao hơn. Đây là lý do mà Intel thực hiện với Netburst khi muốn tạo ra con chip 10 GHz! Song cũng là lý do nếu bạn muốn một thiết kế có xung thấp (dưới 2 GHz chẳng hạn) có thể ổn định ở mức cao hơn (giả dụ 3 GHz). Các ống lệnh ngắn khó duy trì mức xung cao ổn định bằng (với cùng lượng trans).

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd

- Sụt hiệu năng là do bộ tiên đoán. Hãy hình dung ống lệnh như một kế hoạch dài hạn, ống lệnh ngắn chỉ thực hiện trong 2 - 3 năm, còn ống lệnh dài từ 5 - 10 năm. Bộ tiên đoán đóng vai trò của ban lãnh đạo ra quyết định sẽ thực hiện gì trong suốt thời gian đó. Nếu lãnh đạo ra quyết định sai thì kế hoạch thực hiện không như ý muốn và ngược lại. Nên hiệu năng cao hay thấp phụ thuộc bộ tiên đoán chứ không phải chiều dài ống lệnh.

- Lợi và hại. Tăng chiều dài ống lệnh có nguy cơ bị hại do tiên đoán sai, song thiệt hại là bao nhiêu so với mức IPC đạt được? Theo AMD, mức IPC mà Jaguar đạt được cao hơn Bobcat đến 15%, trong khi tăng thêm 1 bước cho ống lệnh chỉ gia tăng nguy tiên đoán sai lên 7,7% (13 bước trên Bobcat vs. 14 bước trên Jaguar). Như vậy nhìn chung, tăng chiều dài ống lệnh có lợi trên Jaguar.

Tiết kiệm điện hơn

Thiết kế chip trong hôm nay không chỉ là vấn đề sức mạnh, mà còn là hiệu quả tiêu thụ điện. Một chip đạt 3 GFlops nhưng ngốn 100W vẫn không hiệu quả bằng chip chỉ đạt 2 GFlops mà chỉ xài 50W. Đặc biệt với các thiết bị bị hạn chế về nguồn điện như tablet hay laptop, điều này càng cần thiết hơn. Nên cải thiện hiệu quả tiêu thụ điện cũng là một mục tiêu thiết kế trên Jaguar.

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd

Bằng việc bổ sung / thiết kế lại các bộ đệm tập lệnh (IC Loop Buffer), bộ chứa yêu cầu (Store Queue), L2 Cache có khả năng hạ thấp xung (clock)... kiến trúc Jaguar cho phép dùng điện hiệu quả hơn Bobcat. AMD có một bảng so sánh sau:

  • Khi không xử lý (halt) cả hai đều không phát sinh IPC
  • Khi xử lý (apps) thì Jaguar đạt 1,1 IPC so với 0,95 IPC
  • Khi chạy các ứng dụng tối ưu cho Bobcat thì mức IPC của cả hai tương đương nhau
  • Khi chạy các ứng dụng tối ưu cho Jaguar thì mức IPC của Bobcat chỉ đạt 1/2

Sơ kết

Nhìn tổng quan, Jaguar là một thiết kế dựa trên Bobcat, nhưng có nhiều cải tiến nhằm giúp kiến trúc mới có thể đạt hiệu năng cao hơn thế hệ cũ. Với tối đa 4 nhân Jaguar, chip Kabini về lý thuyết sẽ hơn hẳn chip Zacate vốn chỉ có 2 nhân Bobcat. Nhờ dây chuyền 28nm, với cùng lượng điện năng tiêu thụ, kiến trúc Jaguar cho phép đạt mức xung cao hơn Bobcat do sản xuất trên 40nm.

kien-truc-aguar-quan-bai-danh-cho-windows-tablet--ultrabook-cua-amd

Nhưng tất cả các điều trên chỉ đạt được nếu xung của Kabini cao hơn Zacate. Những gì AMD mới trình bày hôm nay chỉ mới hiện trên lý thuyết. Vẫn cần có sản phẩm thực tế để kiểm chứng. Và điều này chỉ diễn ra trong năm sau. Sẽ là một câu chuyện thú vị để xem giữa kiến trúc Silvermont của Intel hay Jaguar của AMD tốt hơn.

Tổng hợp.

    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.

    tRXYMtKcxMT5dhssYPeQh84Z2zkJyuY7XrVKtTCbhlvgvMXd48U3vPlju9fnM00 KCDt3HLfruaqmaycBrUKMOgbR HGqnMoIF1mU8bBNk38svuO5CRaBMwGVtCaHT6dpjXXbySXiqK5IYS8Cdok5K1CWYUIK15oEsk8bDmnmj94 3 Rc7ojeCRHMirP4atAPT7KjiyI3p R4nj689vKmGn7AfFCpucRVCo1iUQxO98jDaUYLE9gJ3My2P2i7O3ztdmPx5OivUS7foApyDZS1KNvatVok9buT3dCFUxEy6etkKn0nrHjd8v9YLd7CMaxOC4SfQJiHz5D5rDHdWYysvnN3i q3eHFmu1XJltwKqWx72LhkqY2ebwjsTX3nPg99QrguSLwEgevSxlyfF u4fGZgAUWjnq5xPTEhX1mGMw1He3DYbFJRoWZ000oTP8GuDjm2twXXIhfdzzkQDF1htMAHHyDhzwt87wZyPe2SJErV6XAu3hbAuEMgW0KpIBGLpkt9nQ0dLftHGV6KIRbAgAPT4jbpNCnEiTvbQxWkxYZkF7Hnu2 TYM99Ujop5mOlhx0mdW RHuSCs45xBqgtss0uAHGDTF 61jHXjEjIr K3w939vQCHaUixg0hwde9LTWxwq505zRFejoIFkeuS43citabhMjPZQaN7jMFbdDIKWQvgi6zn03Y4qiqLDmUeZHJwLa1hNCamIR791 67mslvo EtJNUNFEwICLg9pLRhYRxZtcehAiS9ZWM2l9MyM1ZDX8R4RFjwQQX6gJQDwfWOoRgXAFwgPSszrEmKoOUmLZigSLCG2pOMehTHH5CL3SQyzshFvJeq4FWJ7n4h4SK4T2J 9J1tbx0qf0V398LOS9ZZNLwySrll StyLhil3w LmChrwlh7uhu4yJ2Uf03UGrnvIS386PLLGbE2B2dsSUhN3KZDdwCLNDAm8OcSBJsFNPylip4lIAH4YfLuToxA 9bAv7TJzg8L6yJLqNebH3gOTrRVCMMq XeeZUbhb0618Zsv6B 77ytvctDPQiTGbc7Xkwm7pBEnilMKoS8jar4F3zqh30di7iUjS3cojFYwFyC5ebDUCeeb5eU3l9QSfZertbgpO6g0yfw0LxhMxopxmykgmdpA2XcerfC9Lqyl4LZh1Hgv46vUYsmc6E5asqpYBE38NNn99ULrGUt31sNod9UbSbSBRSud9cIEiUCEznEvY3 wKwiVgyZinmNOxm9IV3uiTQHSEhNo7ohNHnObt7W7EW2E Av6K4ErePqzziHMEHGBQrQGgNpx9MOS0XovD9RYKFaoKBJqNkzX8o8gt6Y4hAM6fDBx563y0m1o3aTllWHwBTx4LMbNAu9zAhLWKmdwAWBu2obh583cIq9VxaLZBcEtekmrwGnlc49IPae40zm9eZU0gfkXVPvVTucpGWs3afLmlZ7wfuy4k6Tq4cIAV7UVJyPOoRBZ7djBxGmIrwr56OE g5CEfeXXtz1asOk4SdX6cznuWiNzDt6UsreTH6NmjDwnYBcNUO1sONpNKTQPbN57BDch2YQIJvNRnri2eiOYmA114d3BuJKukM7pfRFpdcnIi8PYk8QlTGtWGa3nUruHCZJv7Q8QoUeQBBYOR5XZdS XtcuxFONmiGK7xjf9NORiEv5xxkKbCAERwdizWNDSD1YH0USosjU6pFR6vWQEtPUaRMb51da3xk3xcHY76DUjDjFmzjAqYonH 3FBRFUq8fnppF5Tp2K0hHRreZxylXS5tB2ZSlkIB6Osp1NmRTFaSK5bDFI9XNRGe2dDTQRtixGp59O9 yP wiiZCFBucLpRGG8I8dAhljr151Vdue2fXfKesG6d8yEvCXOKdLp6toWirwe6xKv8Mc9ul3VUWlKfdZXi3qvwwwIcd5Z1rVFZX8TOZTk44kAwKq wv2TZgtHp4XsuOcsoMl3bV17cTy7B2xPwTr3Ape66YluH9vjTG9JENKRELzeuCpBrs8sZXojv9kIPSiMrtQ5ajjiLvM97vM1rWO39bKPWZhtjtBQAOR5DXcXYvTbPOHeftB55 qO6q6rdSKp3VGtBbbSGzx78jaSMKn0fPEmGfT3eQH59S64PFOoGox7rbegA9KRoJEbEl6LysSDlNZQob7Qr6BgJW wQ4s6pmzqYFRwAyDU5WrV7c76aiBWDHYkW3PguhnfxE77qXiCxhRWHH5sJGWDmYq wdfEMYTqA1HeVAjH8M252EZVTzmjWlsik7Rk8vAVFE qJ0dsRsYKhfh 6bfnSzBUDzPJWaw1Au3LwZhzMFdCQYpUkWwCruB5L7Lg5OEh0AbijCJ79pF3GkYAhe yoWcnngwwbD6NbIqSlUtr26aSY8kDwSFNZSks2LzUNl9pucOrj0w6Zjcn0kAbqSXeY9zUkhcIn3IDPr2haJPzjnyPryps4qj2WdO2uTt5qsULFpzIdRS3 cGu6ebgwO0SjBBmSv4zAXvCIGM5tzz 32dt0aec2ALOutY2jND32FixXmVeYn8Z3ysfegCzmKgTR4Q7gHjwum6T5BmjJIBeWM 7QU1INDzPNbPc0S7s2LIekg4Fb50mD3SO2t4C2W6Arev4hMV NX0OXszN6pyKpH8aanE4nYerRNgztakdEnaigp8NlCHJZMbgmO2YqcI1GrGPHC35tguTZD EHwCBbylu8Fo l6MB7UUfcImatO2e1irBN7K8wlcapzlhFyedt4F0L5MyjuWvFuaAFRNe4UXkFW10V8Qtwor5SIHgkozyUfQuUL6ICwGLdhe2UDmmjg19JnRQsBAjcWPICDfX3wddxnXu0grkmppVjGbEAGu6DLNxymHVclu511y3iEEmq3hHNot4cQ9dZW8MfP5MXMbwSdhMZUAtIOyM482LR3v1GmoKgDWWPO9f4rkecJSqUGxTPvjYF8qtNcjqPndPWNEcmdIsEe3NKlqdOUXMnZReJP p0HHWLdga7VByJdaJUkBMuD0EQIEljP16jGqYW6Fl7luGhPD27FNApUmOBkg1baK6vORQOIcjbc71PennsnUcP9wh eGV 2Pci7iEFIxX8l0TREOuIBEKPQH5bCUtwdLv3GbCjyKLXCBG uoJ8KcBBa3uXEFursPwYzbIu H2wGzv32CLoaG86XAaolNRArkaDhTyvhoyIN2f2A7MAihp0nQ5Y8sDy6FUdMNlwnzKQ6kFsqIzV3lgsYJF0bfgt5Ys2zA5OaYEs3 NMvUtoguKattgvWjwAqRgKc4 7qQYUTN6xSBlJhfPCYBNqG3YLfb2WDnPjwqsZFGmWL4D4IlLZN4C6djQiiyP3CPo89pSlRCgmz5ex rODnp6Cl9rrE9j83eH6RZkVFJIZhMS1XgwJM13EWDq2CdN w463HZ4fEm9gaokWkzBC1 0JPkbqvLBPvxDPfKtJg8CVFNXpQY0JoVxO0zQLb5ssAN fyquInRkDaaiBbR5pAvC8uVmiC9KnNMcgQ5YaYFOeEfh1wKeE47X5c2iJfnqSr7jCNBF n8GwucSyA7LzRGAp7rIbNYUbHvtSkUsS6Ys31wxZLEoZOL5 dc3mXqdfHMOW0Hi13s9UdIWYLGlbd3Jo0R8FijdMWDps fJlxXXYJfdvUpCkFPQcLo1l26qXPG7t0cUn0nkCOI eZgoexPocvH3ASFXlzEZ9py2E2dmm1HH81rpK7d5E1yU7eWkE vaYTzeW6T2Ftwj4JpjL6YGCZ7hbdI6AbZnCK04UVLXfBn5RKncKyASWmB2GFjXS3lHfUbNR2SbwfR4Rjjz059ECfV7d3vx0l6soTpeM437ka1bMaQEHXt4cydufo07U1cukLeH2QUgmPqYySsJk9y5GNkrkUuYulwxX TOUx0uqd2Dtuw xkEn6WYdNtAo7zH6iAU1LbBI 5pnVNlRv2 xH6NC8rJMmJyYtIBsfhGPGe4YoDO6OsVDTkPECe3xMJL6cv51gDega4v6oRyuzm 9vVNaosTU6z8SybC0Tqv0Y2cIxspmWBzUJ5PWQeJbMLuIssVcUxyC999dk9Np8gKMQVlMihffLXw1rpvYBQbDYwjQQY1vrJXt F SqHOKq6NYulnuWs2fbuys8jFuZH5MYrGyrisNkOzGSk69vlUpKRENYiEWkcQwW4Xjen zdhO6v4H3axRkVakQol4GuV5sco1n8mDEfod2vfYgIwgPS8OD5fayT88Q6fNAPFhBDXtkWnsHePON29d6umLmX9LGWsTgZjQJjqVNS0nTWvfzngjrWLdANzzinKbQh1eTGlKg seTQs4uKKb1ef2 dB5nY f6ebByUhmfnZMmOTeensdOWerYqM1bYyRhCpx93l2WJgt3vFQ0ZOKocAGO6Vf9jBKwzQSEVge Se se9 SRpxM4a06Qctt9zEMmbM4u9duqScGw9Lw7AbCliXuMydxw88wYOKfaQe73MQ3GdV0CX5ipB2daWCp9 OZKtRTyehIAql7tQOOY8Pu8uyqfkMyapxW2vYS6xD 5DNDdnukNaYbpFFg5v9vIuJbiPS7b4E77MSZBVwrZ0R5R9cxK5uYP0RKZ6sOIMRVm25VKixiqedrdNFE8c6biitSJho7RZo9sGPoNt4FodpJwv4AEPUGLP1l0B9ro1FCrqkuYsffA2UF cRuqj0CZ3VcOGM5pY5h0dZPh9L5JLevKd6HOkkkozARjmHHi5WPqK YXbqPYpVA1WqXRVmysm6XWHsDk6eDZtBrNvRT mE93mgZ4mLPjJJ8YSniQP78a8cpZAHxWMyJ4h5YzGVlwDoV5eHwjUFeUTI7ZwjXS2N4zFnv6qBTj3aeIZ5zgUQltVIyCaDgz1F ligE4hZQ1G9tf 9BifS0GvC1LJWgNSouPemVVgzMLjASRuSoy520GG10tlL7vYXRYJ5oX4ipRiYn8WVPIcqI8mA0tlAFKKJZKllfG1oXDHH7AdZnQsnXGJjWqQDSGOr8FbGYss6Oy974z5DYlACGzqeIj22ZTuLlL 3Al5mnwCPVHdKwx4GW9zNy19Ynp54TNJ5fH1KtnsQaKOj IJPBpr9jaSnVQ1UAyhtn YPEaAH0uMww 46xr 5fA2PvRsJvA AYdQGKOBwsw84HUJnbe0tuXyD32bRX08H1ZFcdRTiHwBfbApUQOI6ZaO0T Ij3ngwp3Xzag7L6iskZ9Sznk39E0VI7 D1hmaWfrnA27prygNByP9JROdgLYnkMo 9GsQs4mipUTUCnUryHCKjDcTr7kOZOb3dv0xTl4Ymh8BWnWuLA55Xg r6gSCRhor1Hrk1zTrxwHyGN0maKOONWD5S5Wm6XuEG6L0JPDAr i6WM6o4pdoUheZLyzQoE2aff2pRZWMHWNAv7W6e5Pm6zuPxmAo2YIJ98igQNdk AOl8 BEQ2sqtqvQhVSWkZGrZn8 3pInLY jYIHzeSlMn307jGBKjUlQh9UL38erCdlgLLgH0XaO83FDyEcmk4XZlvqYmv8ksYebjl xnjqJazerEygV24 XCcwkZ mqtXC03hByHde1Dsh6foL926Sh XkmiFiP1liOq6n4Mfm5W Vk8JfvdNH31F8izZTc 7ebV4eiPefjH6mTDk6BD5PTzr3i8Cx29uuQFwnD1F6KQiOyertNJXycPYG64HvkxKy1TVkEmqK twE2uxOvyAGxKUeDCY8zKA2wjjSA79qElOd5ORQRqyn1FR9vxtdiM03QDFZoN4HqSQOesPy5Z2TMWD41Vq5uzC3s1UGXHIpqpMhz2VrRHAsXyiW2DMspaB w7Ci1fuA4sKk7nL2xpHAp6M6gzAmckh2tesh0aAJLq94owUu24SzJ4T8ux6nTqrauETjaGTuQZ2D1ceId7UeOmA6yr0NDoEfPbtCez3GVRSyqkyoIF7FTPwJ2L2Jicz7v5fuBtS0HqTPdZ3g3NKCxGLrNsEMqxE4gy5QEsGp9VfPXmVeFElfUo ytpYnEpVROAFSjIfauCbXKYjaPkWPyMfBoZIop75F 3DQNyrONRSWq27DLQ0o0ooYSchtF7fkCq18PbWnJF68uKPkujqWZbq07n0HTzGs7OyL0vGifWYLcKLYMuXtOSVdu3fVHX2GEwwaujTlpFXAA21Qwwg90TfioeAfoEGxmV64jyxCah3zkOebUoHPCvZ2TTMW98T3ThpXPObcc8qiYZfxAvAnT9yAyz6byhnaIhpxWx42secUA1vfZeUdcRNX9lNPDjjXdn1tot0KeuPagIPCzsIonV20q DGu0frt3xhQ4n70vlQJzCuB06Hh2t2hmkd5ybXPYa7Et7uZRDvRwHoRUbPe6RsA42qsPvQ28zgkuLwnI60OOlKqcNFqj5OLl9ftPWXHf4P9Ddr8lFdCZNdnQF93Nhs2L e8W1vGMSsadFGUYYW9hfdnU axXGj0 eKPdOkr56 bqaKBiiKzsp8pFov5ChgUdVRn0i766Bz0eZqqdBet3YU0wtvvS7hhwIDbmtA9Cp85WFQJ35L1RxjpdyW7UpXmkgFtHYCslk6ezIh Q6BCFUuj 4rZVLqWhlv3kuDUywbbnkNRjDXd1aqZDV dmsGBLURsZ2MetCAgKMj9kbNHulpfLFDI4fQKAw4tg9yRK3QxJW3NIGo1jW65qj9xlXoeGR5ebW7FYa2fuvHzohlsocz3BrubdI5X7GpYm77ryi3C0okmeKmNHw80L1Js oRCyekGSKA6 eyWv3FeaJ2Z0fNuFckc0bTZ7jfx4xkaqKRfTkDA7PwkLaKqxNsrGBOYpIBhSpEuc4u0hgnMPaGq35hrlqBmNh8cA 8QLk4vs6FPO2OuCuAEjzVbGIaOzDmLQ3TLBa fk5yYREGFbjBer7LDEU9zm7LQke2MFk9nTf9jwjY2OcKtLwgtl8MEBJ1xb4QlVhsR7ORBA4IuiHf40Lz4xmIEF3NIwGIb5Cut4CcXpekSHRkt2HMcaxUEmXAM0DePNIRN6QU Y5ARm4pPY2qpvEqJCbhsUVWZ2QxsytONzU0mLGI1c Ts3SUYELFEagsF3pXgt5R3iZij2l1NjqzHKqvxBDdim9k6gzLAjDGJkI1LJtdHp2FySJkrhZJP3y QOJ7r9UrV8Rz2bWVfZXsRjB0fFnir6Cr4CgsQrw2F99md7yp2IZVGSJZXlG1ZIFZds8wxbadJRLUIeWLaGBkILwIFIwpZpY4fXyuDIZFZQXm1jqyRQ4T RdIVVsz7dma6GtC4nrYc3ekNxAb8P4OnynR1bpx4dByJGJ8ezBofZiCUucvA28TpcJBY90am3Vjfxpn2bWMn5zqgVq0dKQqsMUqD73RojzDeRf1A1spByOi9PMbiOgKJYG xwpyBnO3RRhSZIuAhdYjJ0Rff3LEqG6F4Vza8rEOqMvQyevT0w1lICQm6KI 4Qfgb6fKFV28pn9j4yoihWBjMicllOIjxmLX7Zq8 B4PiDc0TVKqLQwNxB3BGrGlBFP4qMano8AngK5g5n5 slp27vmjPbNZ9tzDIMlWhFTbdNzZPn7PXZrEjrNg7JvilAx8dXcM0yhoC1HN1KwO s7kDZ4sgGcaImlIM6jQQW97Hu95Q2LyDNETOJk0kHW12DGIQjlVCoSWOb9rYmJPAuPubkKpoeHAg2PgLVr8PDhwfAgIaWBQZCL4YIVhodJVuBIsbvt77FA7EpFjbZo0fH5eHb6XklhkBut4p2O7E0NWhIC0vq8 IKClB1bCBTxHdm DZBY5U3R0f7K2wGdUAm6FFeo8yEGeJIQVV5vLD1 zzv0dj9QAJaHmmp9s0syuLa8CiZiZWouq1 PPSH9Yz7omnLDeDX93o OPTUQzvG7AzotuXgbzJTCa8rPYWtGGpIcaBwRoqCDn7eM4k9hMwVYGEkvQCSmCRNfNgTdcqPcK4aoINNfO7231AAhAXtjBli6s9dSCFAmYWZb8yetToy90i2lRiv2xa7cEIJuxZZVSulQ4GdhavvX8nH0T2DmnT7buvp8p0ZvsCeSFrv5ShNGFgEm9xDZTDfkovtYDQ1MdjM2CeHW5ZkkIYGkPTg0PX2Yft3U6PJJhwj9VPW2k3WoPVsIUqT9JIdfjAMcuFcIqpuj4f0OCUIPQbKrdFcOGSjWdd5E7wRH 3CG4eoQaV 0Ly4eGBVka7ItlpC2GVrJ YrIyxVBHpeSmBu7NY4I4dlXQXjNlTgpmmNkaSZiwbYyRfsregnHWDlehexo4SlykjcRo6gVJdBY5X2h2tIcvQDvt7 fxBu qykoKZZXpf9C3RW2W8rp0oUMac5jXDuF7TeouIO3RjIoq4SguqMBoU1pHkXu3hpGpS3lt6HMccLCFQRHBgOkscV9FZ7EVGOe1lYbFLOOg746Fj18m8fm05KuGvDl382RT mofwl8354xkloFt5mGWeFesnXciqbbirfjMh0EbCMMFoz1BW6pGGWZzCKhTol87H8bewtw iSiNRu0urzKZzQrxSD26S4pfYvTm2aVei8Mx1i iVR8opCBNPZe5i1YV4q0pqQ29HhbpRcLoFSn0iBnNhSeuQo3hOjje42ZGtdzLlNlU9HbIqEbq9NTp paUhPhSJr42gmzjZZ7BOywfxndlkE Khs95o0qjk2zCJNvih5pU0giyjtfBxiXHuFXMsCAO7hlV3AMTGMr3s8Fh8w2nj8K987WvbCKf xEeBRcnWycX9gBK2Nuiqa32SAY04tw4AZX8vHn4xgBA90mxD 6IZla9Kr48AX1J7RmEHevhopdsuivtyskqml8kk0R0l YFzFQuii7YtpxMhE9cqzOw7gcl2CCmvpJEPPSbaBO3CouUc5qjed8kCtG0tUA7no9CTqpajgRCXMNvAxEL5OBsfWfCoCdc1UyFN2lmSFHCTr6hJ1e2QbCGTU6OhD3JJmqipEmFkux Q7Arf7UFkzBjjZ8OQWVLcxbaKPQi4pmsJfGZU fd BQTctZvdku2zh6 E55L7oKotHz6hNQTDrNtv4JGEbNfBRhJ4JLVTY1rqtaaYeBi42xbCLYB5O 2vgI13WRYR7baqdEMxhgI15qojZB9SmVbppX9g1XyUnyTWqmNKbhpGaBvvY3WG5BhzlAkTNcv4aKdlrO JsuYDX9KH oGDrC xgrNJybrpfNySQtJHK8dDV7NUJ8o5i5Ar1inJf4bOB0JrW3Si tHOCigMBPekOz5Y8 XJIlL08Pq3GnpmYGJKSFHIp5XU7SMC0RYIy4BuYXnSbTjAPZpMdFQrYuT22kZdYgH6GPMqxowwrSjwXNK dgUAL YDP17xydFm8MUDX2PR8OMmbApVqhNT66I3f0xa7lQGRMN1fxsnJHzBQgW3sDkXpnTCtP34SaXiWPn9VUZvJLgSsMDdKb67BGEqovQiYnnk q fzWzRCQRTSqVVzdL702o6ClclTyjEaFWMFBxM7muXRhOvHexIa7c9Ysp5zLc2hfhTfUUIlJzLYytmYEAjf8uedLb9sCudfl22Miodea1JX2LyE92t CXJ6ulDC4Bd08F6OKF7nEUICiMGk3yTHmDL6WxB5fPc1wHM10vb0RCabZi3QBK ObX0xrV WoZFOhL1Ao1vPC0Sedj8plHDYagfPUmxdzwSzlHuh91rbOCh2cbkjAqW4s23Y2rMfNI91pfd0LS oY13jiwSgin8PP fM3TaXjiSX tlFsygA4nFPbnNSbVRJz12Nfn59Lfu8YdSaf1RkAMPWC38 ZK3xjnTvZb9QxkMWFC4V5tTW2Ao5jouHX2srwtmdy5k0YVjWCxjiE jJqbqhqFFL aGPVxG96MBQWw3laB7e0NdEQwH5IoxiE2e9u6hkovsFtoQgSi9QeCPCTh5syY YTh2gFMPPRAQh nindg4Fcton4Hw53hxEK1NSKrAgxxIHHN41pV1wdtTHumGFIcraExAEwxeyC86jfo5it8V1PJ QiF2l7IuqhBJaovtsWadc0vnZSoaNPeIS l816ebgkUTrES8vMITEiBsRCYL1jqfLjjUylPT7xrE SXNSCHTqs1tv WZFuZs3vlDYqz7wPAx7v9q8LzZMuki3lL3s1uyO6Xf2V9ekdcuv1omW H9vpvMVPSTUoRVH3lSw0jdjKYn8i7wz1Q5leEj8Yw28gqlQjvEfJ2YbMwBQHZGMipu5dPW5S04lf6UjSMYb9RFc15GGdojI5WxWs7e5mz5PmQz8GRbGT0EfJJU qDNbBqDjThj dON9q2E2nDv1oLoNzuEaUecEvfPUGVHtf3rhw8iH50prPQZttGQjvsgSuUdjNskX4QsifkgcXg S6lrGFzlTHS7P6LIjCK0q4uDnDS8MUdLIP6AXpse8v3EM5nRImZ92BL3omnh3EFjarJ8R2HgR549RCKVkL4Dk6s0Y4t u1ERR R1oiMiu oh68CxOTQPP tF38oZfOO7gCVvr7 IW4K5EzcQTKlISbNyXIejqDeC8iOvujxMsX0wWJ5hD 8bfvmK9XLHew1efcC72Kre4xoVZBVgHFWQvDZyBzjqsjHLg8wGSkbYTPLxRjTwa9PMIWt5sPo6IRx6SqGNxVTlz8LLn2SKF4PceFQ8caIJq21AfhGGxOqbm tUdSPYWGzcqWokTaqrSufVXy8u0haPTkg6GoBG76gSroMYnY f9seJSxIGiQi1XSHI8k3Uaw9DmABah37d0uIag4dMLweteUrfCHpZsTzXcFlJsoYaTG5TIFG17YOaFadWYVYosJoSVFo chusBhfU5DbLG9fFGVqt0srwjLMVHNmDRbxjgRU9ofk9E5yHR4ITMS6SQ92deEloJcfLz4gM64s4xchxlPxj3WCVsBS0MjN16ex6GfNtQx8jaHXcdeD 8e byXfXr0QV X0ScFgheJCISLBvZwMqDQVAWWflZIOgCgDr4v nnqvdtw0T5duo5NUsT8CFYeucd3kCSwikQZajue 2i5d5ozAxdyCeKaNshuvk4a9T3PkTyCLPW7cJuMupjnboqtuSqQx5GFEmu0jLYc9lC498hhNeMWfSnAKTldupmMqtbn2LiqT2qSQ4 XQKIp09U5AQ6prBcwlvPSsug6R2c7Jm49uieRhyXWcCLLsRgUg2RPbhmRF7QcWa95XukVyxPd78j4xTJQOvurnxvazOFkdEEUBFjZBamzCOWkdFHiocOYELlLuGQ o9qx OSzDpuDh0tL1HqsQAnEEvGDVhIoDEYoOPVnw6AqF8erRq vOWcxWuQSg4Eqp1ihGwrHVvnmX9qPKz5L8erwv2HdR 4BOi7bMg5oBz029FyIaMZPVv4KPNu4z2zraK2K7vZqRinMDhzE4niKANbKj71vXExc3LqSYbk k2CIm9WBSZAITlGhZ34J67QOZHkRStgU04PyB2Uq2gHTwAYbrr6oO8Kps6wY86LGrg S42Dkw1UWh0UoHHWBCmlVUuVuvM7JHk0L5Vf0T9cCSrpFuQP8nIWbemVSbS2XylJjm79kJ7o3gO9ZHhDrc cW O777fCW5iA3Q4h GtT8HjI aR9v0AByFGDMArrjXdqATi19hHk67gYwStWzXHer JC0FKDIYklCVAXarMcKu57ZT6Gq9QYtzDmzLGV2aQKwDmtVez4rymTKmRPw098V9ERZdwwefUNtiSvE mHuACRBCT4Cd3JJ0Fc9vwpo5RFcITrAvMNY7WtirXiBh5mHkDbL6F9uUqzOQ llNbXgihIsewWMqJQSGMuPraCB0ll1AHI emEyU79KQLeotNzBo1 vc0XvVN2C840ezvn7fYQ0hO2WM1xN5b4JX3h4RoPXKx3D7s8ovTZrtxzkntscrplwSdQvRrSWlqyNEmbPeMe3SUOZnjR3tHuzxzviB0kkaxBTaOzRy1rRmqMF9jyjUVrVI9tJoiEN8HsnJlgoKoTpDBUmIplkIespDS9M1eUhwoVThjUCPmhDGlhWImEjiU4czn0BmVR1oX7jH2Aj28lbFKPQVhbMRhaQKvVjjQlfYVdj76menbxxJ0pXRq2y5sdBtNwwG1p665lmQiZYSluG wse6KNSBFFFVhD5E9 mOi BlN0jtZ UOrIUQOiLewM6UrFeIERpafJlSibgioEZ7IraxA39SNYiZGq2Ft9DLjW2H8QwVcJhKsULMWR1u4Oen39XorQAOu VLBHqaqfeiTYOizNjHvre9yQHiEK8ed0f WZoumg2X6WCdZ34VcGlz4gNcin52ygvCIG3hJvAr8gkZ5pm0405Ha0 vZi7GCNjyC7GBnGG7sCLkFE7FJqM6nc54yR8t2IsV5PcuSCSPjukFxP8BcVYJm5a04QRRqmUJNiFPUuNvpapd01jc6SyDHCEhke2FCi5OxnH2bXpLvPPnqyaS711 6ci7dzLI0HMXBylxjlibre9LNmRpL5ouJ fdywy8HQN2ombAWsp9i2RpL6F7K0SrsD3qqbKep1wBczn7Xi Dblh1y4h62Wny8p49olPjVDgj 4Ky8iVQeo84nLKfmwYThYeMd2H723p dah2RVEUoFc9v2cO81ai07eUsqPWA3a0yAyIiufKLNDtAuJwO4Vo6kKiLGFR 6f2JylR2D k9w9SIbdJFY2da84MKD0xR I01H6 iVIBsULJR3xn3JUOftre5MSfJo0ATEE7TLNZuoOOeaTrQdptwxjjgWBCfdftgR85rJQ11FhDLPUXlJp8QLtYljzXd DcLkVTbl3AFJpNpjan8tfSDAk3lTNG39li6HE8TKScACX80EzN8gGW4YZ2VqNKNS6gqJP8bW5lJGPwJIZuvrCsDiDKybjy7TE Oh04em4xbS1OF9QATffkr3LqGwYHtkyl4TSYee2 YHxzZTEsmi80bPF5m2t788TfXNYDKh4eQl692EW0uZtPH7Yoy1H4UICjmQVTx79vG6dEHMTpP8J AD6Je2JTC4dOm6G2OoTfPH9hRKibUc42hJb82yp KOpim2IPYSQNX5sfTeA HEhAX2l0Pvi6qZSgL6 mk5EQeHGiU5qMUnfLmYUpCuzzU86rT7rP1GZOjpI1NbI8Ovv8 D4eCRcAl9T51J4Aq22bqiOk05oXLlQzqLfyXxrYObWM4Gu7tjbeMnyXMzodm5hwywD7bAaOVxdWV8tOcgkKuVOePObvKfLtIh98cD3EKG FG mwMXAU1NGj5QbBdUiaQPInrSp1QDiRWUaxhtW Fkxr9g5Vsar9mizaRWzyPIGUNGx94Tl1mPsYKNqA30Fut5W9f2kY LQgxMNlqR507vqRdq4g4lES3RGzMVInnut7sBgmIMR0YSi0BRyXVQ7krpTYDu1CC4xHqvbtsVu2oeLkKyRwWy5F6eSAXVg nnCq0J29F98i5mDFYAHqXS7rE8giNi0HSiPC0bqniba4azg8HEJ6FEcFcvM5E9LvdqbMvp4iCkTO11oJnSYwXCH0uvWu9TNBjYgpUUYJCXn0zjeLC3eKHV7Pk rAWuaUmkE ghVWS6GOdpRotKn8rptAjFK dLbtleytafw8eEjZQRXspcGXA3kpOrDCEB1UGEe4KrBPycVGm8PW09JNO8VPyOBg0qVlEPADYTyvQxYkY9Inoqrt2Leoc07HAgj39grIkBUcHohc3ykafU9jsLQN8KJMUzvRI Eb5TjKqHK7DjLOpknIKQwZdFLivnfrrvSXmabgVR5wZY4Mp8SQBKvBHk7iDODOFe3NCHL73MOnMLz85OgEyL3nWiuDqNit5LvzrmhwPJpzWdsSa0YpV aLg2w86yzFYlFKtQ2G1Pt5sXQnpfws1NdMNyxwDu0ginxGjd44np3B4IBvvKUVrQVoWqW9DAgZgEVPAFa8TdPfzaKZJNVRWRYTyxbhPBZBBp3YSrrZVJnDt0bykraXxTgrYJHpxaUBbGfBc8DghkGJLAlTYS8RFYXwsgfyQymdkkU4XZY9EwIdJTXHLfI0Twjeaw4dRRUKG9Kixc3OBCfR2EwFmTLMySa2cy7670subQBReQCcvsvpeOmHhY3oC7Q8SCf8W1H1SogUzSnDd0yP1sD 64mYrXeZmbLjoq4hWG6jfiK7oks9fzZfgen Evh4K19ivBAvQSSR4QwI4r1a4CLAph4YzPOYxa vQ4KsQ4leZRqjc4Hjdi11rWK G3oM15otMhfFcIGDbpCJI0JJfuWGVVuyF 8C52cqtGjzP7qU6on1RxJKX1keiJkAvp2t33Cr53LahEfCHOJiFeYOkwhcK7lzu3f5gaFlTiFzlnbHJygxvgNfjg09oSy39oCcyGyNlHGZ5p7kSmBbeBzOO3RUbYlbdFvL547FThJX41eIem XNsh1reJKGY0PGJkP0Nx6pc x8Sp6w8IuL9ahA5C1tlwXk2vhaZtYmcLQoQ3Qb9zqgOWbN4qRyNUaNKMT2SCFMORzosOsTu8A4H8AYsjPb9vPPrnc9AHU9NjuLN1RgcQqL0DoIWMlm9iqBbp0mIYmYEMZGPnu8GBb3Zr7Q80sYomi5ijGw581jBLoj9fIGb2odhekcSm5jJ4fQ6vYeDKPL8ib7233KXG5 fE51NSfECfbYLkwtgfLCKxMFCCM9B1uxllD9NL71ENz4CGB9vXDsAH1h37I9ujimmUz4X 8oTnVdNzSeKo0QXuW3q98zhi55nE6xZBBT3zUeSQa7lrBFoiIkQtqS7uImiZSjeBwYuWgzQH1f2vyY7p23faDCsLPaFn4YrET6s8ta JOua0XvAKreVpyNqbV1M00IQKRThoxHydeoqY23 w8VuuOy8OPxbhgSPffd3cdewo1VwVEVtEzVO240AhKb67QL nMJz6Yl HF2HZW8LomPvioCeXUgdfeJfNx6zJG9u1sntNNoCMIK7M88DHA0grg7nw7NATtohW hpXwXmIWNahd19J 9EJZlc HoK3AxIN8BWYVhDrfqR1bEgKH AhbJLkDJplLa9 UFM7EFlS6Gip5Wd3ts kXrmY5GqmNGjwP5xVIDfwJqKlTRUlQ9evfOwxq9MYUciOsBoovFFJUi1C0AYpCK0GqWbEfOPYLOCBAMgw253jGDuU7bfuL fSGInyMpR1W6g1c4ztD0wMeEQykxgRzOkZP0sInpvfzK9lrO9jN4yXdND8BgpInnWH gK8kaEqwXF91YgCXeoo5HdW39G5 lCsZ U7ZKchMs4P1PdbMRV0Khm5Z6evaea1ZzHKt8P01GFhTPfI4jn8cy199ltNQly6gLRyuZObfJB4tGFzlkPhuPZEP FHslnmtkeFuvzC 9jksAR1QcuSWr5SkaQrYKc7tv ZopxUKLnmY2 MLJzGW jwaGiY9X2LI GN2tLeXUnVDAsot4SHpTSiDJg2mwbOAsGBUr9HX qkKf0PYPogR0NErPBvAQ90cRvwnNbDYb5ZA38gkB iwYDL j0TvVRV43OVypegvCiW1VSVLPz7qagj 5eB0UICsVyeIkqXHxuW8rSNp7icsRZdDzkC89DmaIe0NNTHyEVBEfSk37J8WqoW7losa3Xt CoXOLzPUsEGO2SbNSVtr5j0U29yZmuP6sP0yzNPsnSBpomuGRMm4T8y4V7QbFQOJ58YNXKlPCmUAwz5I JYMfKhjOPOQK190Ci2bR5hUuAGu9JRODKTOoSfOMt8rbjO3DwzynplxaLnSUIpl0MxWn0yA7yXa55toxuUFMS6yTYZQx1Yf2BlHp3QOjVaDTcUhxlliMJZ0ZkoayDlMeVjsYM8apPm uXm1JMP6ESI0059tLcA2teOEDZNG2MR9IjkyqRp7vn8NLjw2uK2uo6VKXTw0oW9yaxmUkAIEnzQTkJBtRB95y Xp6uoKl6eMgl7JPDEJW7pVzJ37TeOmKK Lv5v4QX2PdF3sYQ7wGg9xGvg6IBJy95zzHR8WAiFsbvebQspLROFjubt5qllwzf2yPQpHuatgcT80gGCmijf5AsajR0j2JDdcJIvf54dsdO91EPAFPFSRMmPY2WkF5nNRhMfmWPBAGj32T0W3RT2vJfAxDyUuOn50kMSkVUD94GEBYIjrx6w038Qm mMh6VP5Cq18dHCWRdOyoqzzTZRfzVshT3UjfNANbPdRz7UuJ2OTXj7SXvDYwAYJNVO8sVYoF2 BzFfOvXzi6G4wDpbCarpj1b1A35f6f9rxSU3RlpQ6ChgUUE3lqDw86vjojgBIU0PxiknxkX9FTLhF3lUvRgXzXrMqZaBa6IsvE2RHuBB1Yeu5hoMcKD8vlrun3tNNNVIPdSHH zCoe8Fwz IyJt3WlCqWwyeOdJ6GjXYtp4YZjqYPQg7