Vì sao giao diện Android hoạt động kém mượt mà hơn iOS?

Vì sao giao diện Android hoạt động kém mượt mà hơn iOS?

PV  | 09/12/2011 11:00 AM

thích

Tại sao ngay cả chiếc smartphone chạy Android LG Optimus 2X sở hữu lõi kép "khủng" NVIDIA Tegra 2 cũng có thể hoạt động kém mượt mà hẳn khi chạy nhiều ứng dụng cùng một lúc? Điều gì đang xảy ra với Android? Câu trả lời nằm ở sâu bên trong hệ điều hành này.

Những người sử dụng Android cũng phải công nhận rằng hệ điều hành này thỉnh thoảng cũng hoạt động kém mượt mà nếu chạy nhiều ứng dụng cùng một lúc. Thông thường chúng ta hay tặc lưỡi cho rằng nguyên nhân của điều này là bởi phần cứng của máy chưa đủ mạnh. Sự thực hoàn toàn không phải như vậy.

Ngay cả đối với chiếc smartphone LG Optimus 2X, điện thoại đầu tiên chạy lõi kép “khủng” NVIDIA Tegra 2, sau vài thao tác cho cảm giác ấn tượng cơ bản ban đầu, máy cũng hoạt động kém mượt mà hẳn khi chạy nhiều ứng dụng cùng một lúc. Tại sao một thiết bị được trang bị cấu hình cao như vậy lại không hoạt động mượt mà như nó vốn được mong đợi?


Câu trả lời nằm ở sâu bên trong nguồn gốc của nền tảng hệ điều hành này. Giao diện sử dụng của Android được mã hóa khác biệt so với hệ điều hành iOS, chính vì vậy, cách thức hoạt động của 2 giao diện này cũng khác nhau. Điều này khiến giao diện của Android hoạt động đồng bộ kém mượt mà hơn so với iOS.

Một kỹ sư làm việc tại Google, Andrew Munn đã tìm ra nguyên nhân gây ra sự kém mượt mà và độ trễ trên giao diện sử dụng của hệ điều hành Android. Cùng với sự giúp đỡ từ kỹ sư phát triển phần mềm Android Romain Guy, người từng làm việc tại Honeycomb và một số đồng nghiệp khác, Andrew Munn đã đưa ra câu trả lời thích đáng cho hơn 200 triệu người sử dụng Android.

Lý do chính gây ra hiện tượng này là cách xử lý dựng hình giao diện của Android. Trong khi giao diện iOS xử lý dựng hình với một chủ đề riêng biệt tại thời gian thực thì giao diện Android xử lý dựng hình với đồng thời các chủ đề với sự ưu tiên ngang hàng nhau. Nói một cách đơn giản, nếu bạn yêu cầu làm 3 việc, khi bạn vào việc nào iOS sẽ lần lượt xử lý việc đấy ngay cho bạn, các việc còn lại sẽ được hoàn thành theo thứ tự. Còn với Android, nó sẽ xử lý cả 3 việc một lúc, điều này gây ra sự kém mượt mà không đáng có.


Andrew Munn đã thực nghiệm điều này trên trình duyệt Safari và Android. Khi kỹ sư này chạm và giữ ngón tay trên màn hình thiết bị iOS trong lúc Safari đang tải một trang web, quá trình tải sẽ dừng lại, lúc này giao diện xử lý dựng hình sẽ được ưu tiên toàn bộ cho thao tác chạm tay của người kỹ sư. Cho đến khi Andrew nhấc tay ra khỏi màn hình thì trang web mới được tiếp tục tải xuống, trong mọi thời điểm thì giao diện của máy vẫn hoạt động hoàn toàn trơn tru, hiệu quả.

Cách xử lý của Android lại hoàn toàn khác. Nó sẽ cố gắng duy trì một tỷ lệ xử lý dựng hình hợp lý, vừa tải trang web đồng thời vừa thực hiện theo lệnh của ngón tay Andrew trên màn hình cảm ứng. Chính sự phân bố đều hiệu năng xử lý dựng hình này đã khiến cho Android hoạt động kém mượt mà hơn so với iOS.

Giao diện của Android sẽ không bao giờ hoạt động mượt mà, trơn tru được vì những hạn chế mà tôi đã đề cập: Giao diện xử lý dựng hình trên đồng thời các chủ đề chính và được phân bố ưu tiên ngang hàng nhau. Đây cũng chính là lý do vì sao chức năng giao diện của Windows Mobile 6.5, Blackberry OS hay Symbian hoạt động kém hiệu quả. Cũng giống như Android, những hệ điều hành không được thiết kế xử lý dựng hình ưu tiên trong giao diện người sử dụng. Điều này khiến cho Microsoft, RIM và Nokia buộc phải từ bỏ hệ điều hành của họ để phát triển một sản phẩm khác tốt hơn khi iPhone ra đời” - Andrew cho biết.
 
Với phần cứng là bộ vi xử lý dual core, điều này là không đáng kể nhưng thỉnh thoảng sự chậm trễ hay kém mượt mà vẫn xảy ra không theo ý muốn của người sử dụng. 
 
Tham khảo: Phonearena

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.

z31M0S5P7zlgpM5sY 5gXBji8O9axT4OtvR70XW0bGpDyoJEyHGJ05ZurdjiaxenygfrmTqGz9j 8a nHYA9XW1Qrmu1yuokhPxpmM5FWLhkI slivRHJwN eKJGSLEw5J8uwFYghwy52C HAGcjW2NsUFWfvpXmkOpAUFcJxWZSF8u0qmIMmWlAUTI7duGL 34eQB5YXSvwKyCWY9GxuXZxyl5BFjQ55lm56bPGbDo3sSkiIFLZ xuh3BwwG9WWNnzgt16C3Afys2ZMD0D9pMKp3tbd2JUrP3JGtsw1KQws4KmyQWE8UkLF9JiggOUXIePTZfmdXPGB5yyHnrYTNFNo3FLJcmbPj2don48e3sN8UWv0MIh12Fbd mUUrovlaEaFhaZP8rKqkxWBdftrZmBzscxDTUGlhYkpYVgQ4PC4jQpdMmwVRGLl 4wYiVFa3N5IsJHjNVO4NaKr8VSo2T9E40TW0c H63BJ7Kf75xbY1G9G5lkRp2SvUpbZauNRsqH4WzUQQjKhxwE9DH27THCZommAlGxfrziOmOLhNwPFYI Rb9cq4xv42ldQKnvSXiA5HX5CmrSY1MwuRUHcpYXRo3bmqpbUaoz6hyB2IiIEJuVlqGBQ5oBG4QiqWv2YGR6RGE6YjzKpmcAzzVr04TKAPf4R9eJyi4pdp7zHuGNIGkPuROrgU21j9k07VYmrMQcZ3fqq7pi SmxycLBaCjmbUUbQd0nPdfQggvVvebEQGeuf2XTVgz5CDVkRY7AmAOe8ru2o8QqTZXGx dL4UiaOEhHe3U7ZbI92IaBJ 34cgig8ZEhO0IPkyKaCZGNjYLsT9etsoFCnYNZf1gQXb9Ldap6v5NeBqOOZXchvGQy0M lFM1tgq2zcJppMSR9izA095OyXNbaboir9GikE71QtCblaf6Nvnf323ayBZb5AGnAGRaaVJBwYEBdCLt8vrigQIaPcp6RiqxGITVXZEsACwRhyL4HLcPsnH9DQk4N22ZODNBBCi40nYk7nh9AY03LMPD85bemVf3PaG1eC1MHjZdBGSZMGFPWQaFLa CWggEus0pGELBvXPZGfkMlGB4lJjd1NEDOIvoSvVuovEoEztMUGu5AQlTAE2s3qxYFvRAKzQSuhUhvNbFkhm5xjkBotMNm0PunsnI1J4S2yI8N2ANTBCH6HOH0OvFFPXHskOk1 XazXiVIgxFLm7TUVZenrDdHjZLu glDnA80oeXX2qUdlXEMZGdVOVC81rsv7RhrrULrb ikv9BoLLGUbeanyYI1C0sL3x19Oz42GCO5smrVHMxBgazMA395BTmfGKIoRdIG lVgI2YAtKJJ7CYa0WvJtLb0FUAhOc6ACjkCYOrvmLnu5ur6Nwog0kaR5msNVTAbhzsK0IL6V0LULVJugpVhYCZWsjogB93QGbJ9fTgXEQ3WLDb5DkZ jRPfum3tvFKxqEInPPUCxtaEWDJulneNN9KKqOtcWTZH3ZbavzvtZildD7whSXXkcDTARTHiaQc17kS2BNhJHtzmdqClY2qvEujCBAVeW44CzLLkUURLIB0C6BD5vBQ0wt61OFgky6y nvVOBTCAcWTEtMan3JvD1U37nUkSgjLD8eKYBcC2iFXOAJjpdpWbijiD3CwfqHxaZzMYo0036avaSoFzbikPwoYBEEz84GySGa9pR8c6bUw 0VIZhBjHLx92xWHrGbPX8XLurhcjnmbX2XzSUAzAtcXov5b3P3xZSK4dlSy4 nqke4MQSPIA9N9Y7A0pBFBwjTQNObT1qSYeQRMq vCJj72nGT2HC7ImliTeo5rWNctuOTH5BgdyqLnBwYlVhxAMUsTs 6896TTyGg2wbnk3wPfYidFyzBcpjUPvp1LLK5Xa5WovVrgCClVV2M6JJPrbiP8ScKSaDTsKcacSGIcNZU0RaHUqOJDSfkfmbH3Q69dObJSC C04t7P7npEGZ2kqYbK7EVmbaADKogzoe3spAwSBVkITIL7b6nbhpNRXlwFR6Q1bb9rdSPZAu8XHif1BH5am0ZMeGSuV2YWGuSYCAn3atHggvJ69ekB7p8ab6Iq0nS4XUqahm9grjGlWkTIHBolCQ4cH0JgQUf0i6xCR6ukhIIHSj5NYXNXcQchw7A6W8JYQDDf1r5rvLBJJIulkM48aGjIntReho1WqjjDpv8XEJFqkag2g2Wiq0f39DmIhRSV7NzGCg3X3X2zSlTZ5ECOeFrXmycDcKdm6rGoZBthxoNEnulIL fPtDKB lmJpLbbgCRaJrYKRT99SEcEWFWOuVZtp0QAIkAQMgh4KXLQlT1JbNDsW1 napOB5YIG0zkroowBTAEAVbVRDRgjNbJ2u9cgf1VWJtN3oOspYRZwmJx8W8HlTKbwdz8KUtZ6vRBTHucOpvS X4F3TjbaqnX2ifbhCcECrmpyHj k1 LAtUOCNHPjJR6omKzn3fJ1ib1FKRrJ6TVryPRPF4gxRgK99BU5GOuoceQoZrXB0QTIotcWqPU5Q1yIACYDPrtHV7cCece8DyxlRV32IkcJP0pNr 40v kcSGrnQiIJcI6m OPR3T2d0KejeLWcdRxJhOK87mv5oQ0rcYYyPbL5bhlBKOJZvUjBgRRIWAsgpQQ6ZPIPvQV6ODL1QDhL0m5x3ggcvrzAoSltnKsWPkF2rDIzmVf36gSLdVtAKs89kjxFrq2mX5MQy3WhH1uOsDWj7xU3Zfwj3tGuDaW0Vt1T9H2iU7ShSdVINh0yMkOJgHXr8rQb4pVLtEGTcsMq wPA88tX ZciSMw1iikfEKhn3f4Eev41VfhLaxQsKdTaZmlu5Vb0j2jNd70RRC3UrAlZ93NFkfRG YHKIKdm22sVZGQlKJoLbYMAe7RSgrMMYEKyhsL7hdqXEJ9NIozfoNno8sT8mvbzU3ttvezNlUdYoRx4ddHmaJgtr9iyd2HJ3ZAPW2tjICdEe3r2ex4T6n8Sh5ypE2Nb137B azD RCjTVCzSyUesBkTVHqq4OLRpAlpxtrMRLRWzxF3hJjyrIU E2eBwegJJCzwa3AwNtdfGk0P2Nb813Uv7u303j2xdrkzd3z4b4yGJSSEKdb2H0la8G7uYsvC xgui43rVwznK5b1dV59RFUfu24Is36aBoxOKPDzOXfzYoB7zhWjDGuk BDkvTKvnjERsahoPuHJdt9DgcXtJkb4q6C RAiMkSHjzDRGubQS8Su4T8thsfVI9173Sl4eHsjEgN1K0s3364k7V3ec1fZ2wxLiN6t4YFBNtgbcNzhzXQ7JcQgDkQb40lWypIlF3mhj0QToy4EvQT5yETPDqzWCFIUvYb3ptcGCY7HCjVC5 z8rYQzlhwRwrjKu6XBhqoS1V0D3p0VpmNE3apQu2L1rTM6ljISd7LDk7JqCb1aNZm6097Vun250fMz5fE1bZqjYDbR6hAmdMyi30kU7k7VJgRaE0IRtXFp dargAwr0XKUO5 4qxmkMDReXZPkUzio3jcawzHDHRgRsK3g7SaeXnWwxBamsNMxdNeH8aZzD904ADwGgyjuAH41OrsxLldGQvA1afkP5mNbKPl9z3DlCYbsgoKetSnFYXFKpAU7kIwqbW7n6RCr5an49DTlyfvgUeLgdVZ0iV5WiKYOKvoB3dV0aMMEsFhvJg0mqJkG1wEAZCiK7iDzYcDO6MCuyxWfWDdNW2bZ2U2lMi7WAHXI53VF7VwxOMqery28dI4SevdRxcrpDkCE139qe QwCZbGSFRk42vVcW4CEFUDNHJliOTOXOYJjHr3AtismCM i3vvHpemqM2LpH5KceDvoZ5GceKZejkSpR hagjZ1MeBKgxy3GXM6QjhoOAD2x3ZBCaW1E7cypm5ALv32vcjepD2nCFdrV KI1m zPnsTIU1W4BdVX0hL cKIbPxsLtP3cgVpACdz8cZP fldNUTeyExdLGiNVM0 50ML55XJaqmlkA4s1k1tVOU0BRV 9EIGj S yRrv XJD6L0lYyiCmLdswGuJnl5n4imj7jOUnLaNNGnG 3Te5F AeXCeR8IWARU7gJQ1mNf6BOdK7gRtN2ACNxE tHaCkvGUzv R98VhWNlysC9Z4JrpwS83e2I7zBAclVwkKSRX89zocJ3gTJq TxwFLTskCaExxD4bY CTh UIQTKkLb8 8PZHxh560EoV7ElVqV0bXTGTSiEIDu8ZqZT Y2I qr dPP4xhI5dUXLugiqZ8pKg 8IoIhM 8CZlSdQP ZYKiL8sOmWj5CB1K0OtxTgZZ4CnrFakrXCusKhPFTRspKAO8DC2iaDF 5x1dzcQykxw7Og7hgzOIaQ8rOQQroFxc4VgcZSwk d4n UuxEuKw8ridesfVe49mjI5ayjypeSNkD6GkYke2vWJHrztK8fpukw4Jf0b2Xyqq2lkkdsCJg1giWkm1oUPToJbct41ZSVlzgpjtFuQKmw6MInPB7SJxIiO4GJxIflRhvqarqlFuWR5kXnwoM7Ck16pVzh02D 9zlsG4W9E9eQ9wCShu99RcNKxx5zAKYl657dAiYxUN8VxMpYpoHPYUv5zrZ8wn3YdNZYzcJ2EJvQG6NcQMaE7YSsVcMZ8lHSg9l8PVTzE4F0yTjLLUje2wXZyWzku 0z6sObDfxhBqoNVE1fcgCrQs5XlVF50ASJQW4hsk0glIkZNHI h290ULjiWZ8dK2n whHh0Xizy48WnANEBPHSgMZOl6SH KknhR6pS3iYZv1BbiHHDV biWcwwpKoCPlyTPI21jKasLbYWVJDsq2EmGOsCjcoyeT1i4DcIwEu7rr956SEXdNqe6w4fobfou0jyKubjlPMV7JvjKu4HZ5idtyAGdLILyYGks2jnG9OzDeyrGMfo9QGsw UOEwYpv2cn9nTn7pUxXSmFC15s7ugSsYdrNVSvmRBkVASS2Frse1hWwbIWwWSJ7CY4ZGwyhPmrXC5DoS2KVmjdPO5Ir9kMKLJAgrIgJ7K75AHNMn6AcloHVtozrCZ48lilHrN3DifQid5EgMPGFtBGAO0tPgfBMvfwlnAzOX41k8lauU3VK8 JrvLtuZsoBu3748nCoKURvdVr3eoEw5lw0irVcleZQEA0hB6dIbnxZu37 i1DGOwZLkuXKNdhD1AIfc7yEdgjKcyKrLWWoaMWb4SKBvR1wOdFqIxPoW82L6cmXEX397TIupwHW0N7p6hzEzwd6hfcbIXMUNtFesFr6ibZ164Bbq0ZFmIE2nJq4M3V67oq0UEFdK7TaMU7hsVBRHtBO7tIGqPSGGLUTpTY1PZILza9lUeaQbzrYpXOH5HNIbUo3HE7T075aEb9I 0a9HFcjW9uCZbJuAcyByYE59JwkTWii wkZ7BbDhmu3WY4eDGQ9bzx7TfhA5fCydxgFemwTZGhgshvCfLbUzkH1dRzOEn0EEnmlrH8qdQRv7KTOjIG6YfwAkSYC2BAXgE4JDrwXLcDGV6P2f QtJiDoLt7BZYsHkwKK3prh5tO1YadhvsJV rY0BJlWLNfvLqDuFdDVWcbsE3W3f7WB6fisFok Iee7d3RMpXRb7brRb1j8 XRmCpGiTd6Y9Vb2jAB1NkblEUQznQghMjmBlnztJvFc0ATkrh4orYFEABguHiwCARTy9CumFBX0HuubCo7O3dKHjFHz KltwyAJ46kVQZKwa3dbOsP43C gCNWaeWnopIlvtOFSCRX6cK4kyB7UTnduUGzve6zMT L1Sg7QZxCWdbSniswsq A7HFehv08eFcZSx2f5eSUOGHmMBxRjLeaVelnhtKuLHHpPWwkdTNi2QfUqNPmrCAQmaO5TfqVnH1fWjOQocrWhLKGkxJ2G8G9xsS0DedbjlP7zZFeg0SPpaXd8ZaCvVrcJTwpPqSxZdhoz8mQNyfc6YNIHdGHMvP5epEopC3PcMPJWjcWxgnJuqlh0 l Je8c1O1qwjrWINwP9TdDySdDmvZA8tV7FPYXyd tuev7AqgFs6Elp3eIqnpm7lx5ApdlvrbWVVCED9zABQYCYcQZRxmJdf4jLJ5Gohwds uJjGN1b80KoQG6fGs3lEBAd5b7I3gMax x7uvuMSn Y9sM QfiLDQXBmWHsF4cPv0hRhkN4KbIfZtrQspRpXipXHq1H3n8uz0k4tf4plibKjqT0GJ4rBnqyR7FOaDKIfESmthgtCQWkxpMmfDLuNa9NuMxoVeArQdEy1ZLd6l4bvd3OU8T3NWhC1OblLm7zO9wWDJt7El9Fwx 9KBPygsYlX3YoGWYtYfZCghEgLShZuRAzKGQH9 4n285ozHKhqgkTQFI9pto61OWozgvB69i8to6XN1NgjcodHC1f8j5Rk 9aLWOR0wSkFLhmuCm8xRKg5cJeriMlWr2ZrKJDoCrPuiEowArGivwQRp6IJqmDbAJvU5RJ3iL6vmOagQtnFE6Za9fobd pa90tVfl0lRs7qWgzLDgAssEAjKOcppaxVCX4E5mDg1p9SyGZ6QW08V9YufokZkcnBr9NHEW3psBqAC1PkzCkx JLn1cjTGigxpOFjBoyL39yW1aJioqQHEXiOsVddDGPwPgIBdZkBTIJpmalgafZ26ZDpoqXewg48V4gmSy0GFo6yFDKTS7pIxTP8RfUa4dhVjlkc7COIxMPjQr20FNmd9VQaArS24L8SiBzEPqU5p5tgzUjh HksD2gkToQx6OEMGDxnuGYvijbvHuwyT5AOF7XSG5T7Hx5eCxnojfgCGfjTEl9q6qUJMJ7yrJCuvSrPFAcjqfarI7OBCIPFyCOSluBv3JAzInZYr4xv9XYuhp8WlVcSDt7d2LOO7jjxU2jFDiQuxaSIoeMSQIo22wuVv6OTDuFavSoXRhTYpzjnsSqWmBM8H514jvI9uqkQRDytmoIddUBzZyEnnVxpfXCVDgQbPNB35Qt1ZJYCZbgl0x0lgNvzq8POXll ON8L59uQWPWt6mOuaA3dsxkQ9gcDmMB 33 r mbYsxYWwxD3jyzdWxDWepDkzWwPAEUywYp9CBrzivorIcynldiNNgtGgZGnW0r8ApxxO0Xsm5HJBNNmWGQd2datqiaxD1PB3ENME2N6m72BlNvMa43PYF5rOKzBD2H6rbwFTHNbsq6t6f8BW0hAxltKM6kCzhgoT6qTLW9Impbkoo98hL6XxE9flb4UNohhPOad3SbfD0rV Qtn7vDTLm2KD6 s2t11dYCYyxPMqmVtiNWby41RJooRMtDOzu9alENBMfjF0ko3lTmJ EBoXSY6LhwZPnDeXM5QMgPEXtmUiLMHwEZv9de9gtjTENBwvsRXHNaxqG XxML9eqjXiIEX49bwI28maZjKg9l Qxnr9MraIN RGpnAkzzyHfAkIIUCNnw7JneDdtlTpV2x6YMZ5uK5tzFLVEnChLaFsUcDvFdmfR9NuQeIJId 6fgJTT4SNIL1EbsHiK39sSAxVUKPkrBqUJ8uVF7ZDASBIcnNVzQPZoWNlcZK2EFqtxOVP WHUDNVd1Hh9PNrqQMRTW4dCISEo4Ng NKAZNXq5Lm5WAx6Yoz3sVsGk8oZo3P31QyfMg86oSHvvzRd4Sa4mI299EC6iVTIuiEAjq1lC JnM6qEjXeHrTjLeVQ3N99SfTGOGXNTddqoMv9J7qqbYHcdWRaEl9S3qsTqZvqF0eFMrfwauihyr0ScqYsMGmBTxKAP 0szbebAuUz9o0GvAZli1JBx70fL0 lYgFOtfDzvQvkjkzPBspxij4RGbuT9guKe14ji71 YQlKS EQ8Z7ULt4L27KhacIpvse50BLz DBPIPYdHrDvel2GbhzVHyMhMEuUxPljcj g3tcMSqjRuQ5bSGwD41Hz6micz5U8vMFQeOF jI2H72IsEraqgvdxvbIznK5i gVyc1Hht7sROQuH822WsoWsAesCrNAAiO10dBIm9XjaNETrLCDqWIhvEg2W KfcMQUayE8I7ZlSGXWE3 PCVp28N P4fE5lciMxurxFfXumi3acEAlxZNzO16p2nCfjHtbhOLvjL3VsbJJBmbN40W47g5AHVOg5a6k7qG53WWKlcclYhzxjBgQKw862t2HWYy 6gO97rFlfUgEMxTowHxP1w6mr 9rHQaFFXBsbNSZ1GOs6aT1E7qSJnNwcghQk1e3eyH66LNLQifQSKLU zv Oqvh 6xiymaJNS9uMjPDo4DSn6XLpbPKbcGIpuuvUCVxuQl IiMSEsIJznY4pib18Lk6eg1gStmJQcwViBG4Pozj7qiE820r8B43MglrR5mTYlFTxPAEme3Jkf3gr4lHuF55h3VmdyubmZ40iezSBEGUnn22O8wNBROB3TuIjyEp0dDIgckcfdlUkPgce HgRsN8Jsj7PxdELAFtdLC3QDAhNYGN8VDim8RENb8zldEy34kOOarypn4h34CZ94ey0Cu1TVpjVRiZZS699prPzePGTZxnSZzSgLnaajHNc3N3G0vTNJTaSrsR1v5UyANA4hJRoTaBgIfd02KBldZ40BgrAxq49hQYBlPDfUToeVSWUflAmdS rIhvlQcveIJRoF8EIvbT5gBYjrbj8mZUwa2BWeLTcuCGaJZBDE9A2YLVf5iWukKuD3HmmcFeqftbnOMgUf bhsUyKpkBUOzjOqoQWzP QLQtQbbpnAAP R86ink KG68goxIs6AQprfCI1vkT GOb0K9hsH6lHDEIRdAYsmPvC5JSl9Uz9NKeeSzVIkYkk3euWWNiyMNK2wLi2XN4U1gsGLKvtW1C9u6tSySnTH n0q5zOnDs61E2XW4FLbNgu1y4tjl y7tQWvstHSytj7OeatQA qLGjlwlooZXAxEqX0CsMXk43VqxGYAWP3Du5n8GimFsELfDHeu8jfDqy3UZ70LTURsEX47oo1hfQn pQj ahlQf VCof5xyieMrk6uGSXEkR52SSgOgQrpODqcpfEwQLjZrErO5t098R0Tigu9DL7YdEVAuWa0t 18YUXIBqyAURaOVEIeQ O5sZUEDnZHdmHtkJPCok03BmwuwHQ3GP1JPRJiZTOCPXM458f7GLdbWtywonOgFFZRCvZXoTRZIbpsMuSlkfHvllMPJjp9BAIBTicUo v0DfMwMDwRBysdCqLDCDV0JQAzLVLOLDviQcG3qsF9EyUQfe1IQOtuslECflnkJT8VfKQ0KwaHdnmmu2hYZKaLL3rEFUPnI6Z5QMgypegy4r7pYPx3T1EHYEMi2ekg1kdwWvGZ6kqnodpvmiBWyxavyLPRPiDd y8u q1ZAqbsMFIvtNXVJ4KC0lnCreB6tW6zfqaB2gEBnDtehMZIqR6wh2XK0fK0oS50xuCx jY3JOMKkftMY Atr4pmR1YxzptnS1RwbxARKQKFhBLRjaLZg2u272IX28h8jcB8o4GxWMkdWXbTuKofBOwPrrTkY2ezdZHuJYPGUz6jpH88t4IjpVQYz3Ms77ASMWMyyV6UgUgqwLgH6vOZLZw42tUum2F8GptXY2Cosj5jdi1pikRvD8QazpR3LlFtRMlvXZw0pCsdCuT5B5sZHiFhmoje6alVW86RUUk7z xihpOlVAGmr1VevGJXKUoVghjnNy4mECxFLPEJVJjNB8lLRRVKHYAxTptG2iBK5Ak463Rwa X8ixoiIlZXnwl8TxcFj8EFv1SWkCAxr3C7VwRZobhNRTvxrkqrFN1DNbIRrXQqHVKYQSbWXViP3KtgxntQOym6ekrVchnb7ZcvDHot3Od2Zn3TosqZEXJTGMFi2qrsTUvOVaparkNXv5EEsNiWF8XgPQzka78oEudGlnjmNnjXJUvbyOR0ZTZch8X7IHH6jr1e0ASe8b5Mejg6ckJX0qOIFFEe8Fx1ZFfd5CY602dcxumkxehJczkWG5tAJODvtb8nh55f2cLpmDHthFSq0hZx9z2tBZCZ22nhezJRuSNGkbrWzRSU rPZt8KM9UjUHGdLI4GaxxvKV3TAJff23a8mrNSC3IUaGvV5spbVfJeL3o2 is9lAPYHhOkTsD jSbpvHSf7z6krC6GxZrwRUducOYGXfN3FxStp6uJjPJJOSejA13fd7hntB78yOZzoQu5Xq6fUX RnhZYoGOvSityz1pcAh6vQNJPpC HvGe0mykv OYZRvuDHxj2iwc7JcCeRLq1lLb7ZdF2UKTvBajteiwIOK2MG8Nuss QX4O3ikgYogkNUh96PJgH4p8kQJq3AwFbEmwVvMKF8drq1nhXeUX6EcXagy3vp06g0oH7zkvvEqRgJmBGVNNzW3atN8J3M5HxYeFvnCX4 ZIqMk2wmtIzeyc91kF0lLa3H8 HqCpA5OKJZ6hJ4coDGqBrmnxPrQmrpp0uXFXLqAbxHLnhw3rp3fraqadOBK5KZbs9I2IuA2DUCR1MJzOkLTjs1xU0KmHsPkVbvhzvsOXNJ0VzK8n5BfhDY8wfE0hS2p8EUPNKPFPARje0LkDtiIz85HRRJ1APryyos1neRb1am1L0EhFUebJcDDRLyFHBDZsbQJL6PCCDzNvDuLrQgyDNARLNpgXoO2XT8bwAQneioO06da7pah6 vmQFu23mY0CzDMXwng7WLMzkE4kvxVBwxhpebggqvIGQ9EgPlHgZdjvdpPsQ2X4B9D 7rEE7XiRyeDMhQeUfrvmA8u2g VU6iFWIxFfocxvVPr0pEeqBLnSpR7iO4oAESL8bF8GipHqP4fFlJPmwVLDXHspktTrteFVlm4SqR1iu4WAQZh0KRz78TlsE8hDN6AzXYYyb6fhvAxP9Uxe8Qelj1oM5vjNLaguUNa4UUySUpMhVUmAb3pNh16BTPv8GxEYUVeS76Npia5rR1zH8ac7aIx1eE0rSzo u5t2zEsXbRZCRSMGNjenNaqtm18RIfC8D5kThpZz06aHpuP9B1N7pmM5466pSIAtZqj02RWgAbmUe2VCtO7gqrHyAwYhrRinteKlHwJycgzilUsrAGjuX mOrzNu5LUWHNqPYtasd0hkLpuVqO11m fhOa5Om11jQhedOaRV eHUVa7kT5G8PNeiM0ZoNf2ZB 6fnnGmdUPwokwRe5Vz5aGwIVWZsr4U2mp3MuBOGE76UtDqZEOvxj gcX0ObSIcQqLeX2dSH4JHkzyZ28aty0C7JTYvaWgU2NLjIUTOo7x7x6BN6TGe7PyUVENxftXNiFVblzvDEY9bP5FvfSd5Xyj7Ap3gehoTezcon494zCs8GY2GJaRNDVRtp0cSANtdZsE0 QPMlBXZ7mZSdsyqOlzMLYd UItIwrRD9iEUyLt5CG goi95GK2x92ve9NWnmqVD4R164bD5FxcWcblCLLln t9vECXhVmkDQYkSLMOn2KwzSePWVl zgeZOCdff4px86cMzcKhW7s1rLEtrjVJ2Lw3 S94D1E55osvt9rBdxQ19x4hEClVl9eom6xHv2ajYHo1deQ9gf181YDn4n1lD7Di2WAvJ3Dc0Y48bJkgWgFTmqzxlJ ZWjPzVgsvFLhYjXTV7y84ozgwo3Hq4ZUDKNU1ClmGWNBUs5w2vWJzPoiiWSfRT2Oca4WUpCE8jwDkIDrrHlu1zzXW9rriDmt2ysbCNkXQHEgOEOmB97dDqSSl1B28OfWVYMY3poodxvTBsua cze95eo0IENGXfIPX0VDhm2fxVXyEsw gA1Owtc9 gzkeoiwgeOHv8nCZfhovN36e6lgCX3xaXHF479E650tmiW9xUS3KaExHTON4HhmDh0S3GTbdJjDiJIp3UfhkUSQZ0nXotjMbLS5kfpKOOXWq5iUCdX1hykhus77jkrWzbk6rTW4umW5SDquEVv5zi66ULkfISMFAcs Ybwl2BOvkJOoitz1wzJfXAFmIRdJVfu9u47HN3kxRJFc2ATzo3wed7F0dhCVLHlevEcQFHGcBKjxQXS0EpJtfVgIBBmtrlMiRLkapfha8HXiNpB2Cz4rpAXBIW cQqPe9wT 5S o7 OUErwYdNIriVn5WhDsmHnqdCH43x2Ai p9LBjHAvDKhe5FtKVmt9SbsTiX7BqkRflPuPQNZVzr72SX Gl8a3hOVuUgy6EQrLmmyUbkX8C5TS30oq7kT8lBtxSfcokk1s0QgCIYh0kart8DHhbrvmQrndpKxWMDRtdvAHgpf9brmHgLJRkf1f0z87Xq19jf3gZYcHaJ8gBfvghWfnl146YEwLc IQXbU7W5uikTGgPohXWoizf7ltigCwiKWj97gUfOlnK3us2vf2DDOOQ3laCK 2jsVCuIrqx4s6RlbpnRUFoh57J7ez5PxttLAM153pHQgvH50CKxXaVAHN3yBtjWLgQYt7hOWluhmtAVNqzGKWWiqVtrxBKIwnEm7OEcqm9bDALw8vCbUsrGtOrJfAEDeYrYxx zOJ5m0lnBrUakneeOkRYpeowC6ABKb6bRa8Zvo4wYEVgM6dwgJJ6 x86rEHlloyoGGiVipxKJxDp4MYQbkdR3IReLO8L6pWcc0YrzuYk3tMd28UCsnBkxYNjULFSudQyWUP1eecd5eqsHPMHvLKgqthmGV7deQ68Gcw0HVXOnig5UmB PJb8yyjTlMQ99h9azT9Wsv5duty3gfzPgd34nb8pREcJfmHn0ABCHXY1nOzYwWM1iH7rpjvhmtgUZRpP7QGuINOzZUsfC0Z5Npp8H6GohYFFrkNtzAfCvZVdqhfXWhnpsPd09s5LHHuWx3pgrEaEGE7bfh6xXe9Y2iGsdBPw829ACrp7NWXVBPWZWck9Un Oll5BFJKjdj yyho IRb0kymjjGgyqrhfShCavluq2pP nFRIvWFs43sutn8TRiAbbEkR9ala0eSjG6AAA Do6gfqxNzyHYioJhVo cbrCcZmSXFU vrCR2F38z9a5vH8l1yG3Xe6Uf1o OfL6U0gCIpwppenK0pEX8WSWtEPQB5K3gSswqk3f CgTqbQZorHycSGnyxuBrbdDe 61CbYKc9Kcm6UzP5H8xS9gmZ4kHnD0DEBJeTUTyuyHxUWQKHx M6vSqrJMcas182RFIrdwn9emowF60jMODWLmRuNCQ8wYsnS8CkkZffDKSAWyNmyC8WYRIwxS8FQ3hzDKxgxKryR52CSrvReafTRrGRH87giOL4siEa29V2ECvmOCsuQyNKvPe6rS281BBASDgV4yCxKK43ReuxnIPsQrH7EJDO8ctiHw42VWKxAZatpNcJvfV1e9 y9Pn9sezS5w3YtYKxlK6VmhRQDclFkBMRxupyX6WFbiBRURln3l10XAavA0uZpAh8C6YgtI5u5k2wPueUoCTDwXAZCkCuJo1ShmCP4l0Krz5aE3jjWrvvWuidJKJLm9Jt1FLkVonAGon 431OafXLaLZHD5WZIF49CDwES3fzdSDHAN2J6AQ8amylL54koJzyUbAU4aHgR6ylOESJQ81o6NazWSiemeqSbiA3qnSY9xlzZMX8E5fPEPcQIDCacPv2sKlinKBgENiBJ cDqlGWVY3 ce NsrMl2yPaQANo7X5zMs2lEkC EF5darnBRNPyjMH6sqRCM2uHZB3IxiPjXEbaER3oGwa1Z8OTGqFPOod7nFbLYoNxcTPzw3Qsmom7Mc6T6bwhJA6j8wYjKjX7ELPqDPgxrbqelbFF6Zy5aJiCUlwe oTkUOuYs88eWXg vQOB9Ba1tb30LyQQq4zruVyQwpqtUDYUJTl6fLxfO0IuykQv9atIBb8IaRcBXlPsW0ByaFEj7TLsfHh3c6JER7mdhq3hWpQwak7flcGMAF48SCG00ytGMZCwE33PE6sdN5zehSDFqkXeWE6OlZkxRLZ6L InqbnRILKkdpxrjGC02OC n5NyaU8msax7UiptYC2oOvS bXOtoIha VZ8GHv0B1NOuilruZ6Vy2mQ7lVhXn5VQZKOhM3WaJEa6w55UPjKkRf