Mời bạn chơi thử game giải đố do ChatGPT sáng chế, lập trình và đặt tên

Mời bạn chơi thử game giải đố do ChatGPT sáng chế, lập trình và đặt tên

Kim  Thể Thao Văn Hóa | 10/03/2023 10:59 AM

thích

Nhìn giao diện, bạn có thể tưởng mình đang chơi một bộ môn cờ caro toán học.

Mời bạn chơi thử game giải đố do ChatGPT sáng chế, lập trình và đặt tên

Hoạt động chơi đã song hành với con người từ khi sự nhàm chán xuất hiện. Những trò chơi kinh điển như cờ vây, cờ vua hay Sudoku đã tồn tại song song với con người từ lâu, và đạt tới đỉnh cao mới khi được góp mặt trong những giải đấu mang quy mô thế giới.

Tuy nhiên, việc sáng tạo ra cho trò chơi mới không hề đơn giản. Trò chơi cần phải có luật lệ, dễ dàng giải thích để có được độ phủ rộng rãi, một người sẽ khó có thể một mình tạo ra trò chơi đáp ứng những điều kiện trên trong một sớm một chiều.

Mọi chuyện dễ hơn chút đỉnh khi ChatGPT nhập cuộc. Phần mềm chatbot được OpenAI phát triển đã có sẵn dữ liệu của nhiều trò giải đố, tuy chưa thể ứng dụng logic một cách tối ưu nhưng ChatGPT đã có thể làm những phép toán cơ bản, thậm chí biết cả lập trình.

Mời bạn chơi thử game giải đố do ChatGPT sáng chế, lập trình và đặt tên - Ảnh 1.

Sở hữu hiểu biết về trò chơi giải đố cũng như khả năng lập trình, ChatGPT có thể trở thành lập trình viên game tiềm năng - Ảnh: Internet.

Đó là lý do người dùng có tên Puzzled Penguin (hoạt động trên nền tảng Substack) đã nhờ ChatGPT phát triển một trò giải đố hoàn toàn mới. Sau một vài thử nghiệm, Puzzled Penguin đã điều hướng cho ChatGPT tạo ra được một trò chơi thú vị, với luật lệ dựa trên trò Sudoku nổi tiếng.

Được ChatGPT đặt tên là Sumplete (phiên âm: “săm-p-lít”), game yêu cầu người chơi xóa số khỏi hàng/cột để tổng các số trong hàng/cột bằng với con số mục tiêu được ghi trên viền bảng.

Bạn đọc có thể thử chơi Sumplete trên trình duyệt.

Mời bạn chơi thử game giải đố do ChatGPT sáng chế, lập trình và đặt tên - Ảnh 2.

Lời giải của một câu đố Sumplete với độ khó ở mức Thử Thách, diện tích bảng 6×6 - Ảnh: Sumplete.

Quá trình phát triển Sumplete

Ban đầu, Puzzled Penguin (PP) yêu cầu ChatGPT khuyến nghị một số trò giải đố cho một người chơi đam mê Sudoku. ChatGPT đã trả ra một số kết quả có lẽ nhiều người không biết tới, như Kakuro, KenKen hay Hitori.

Cũng giống đa số chúng ta, PP không rõ luật lệ hay “đồ họa” của những tựa game kể trên. PP nảy ra ý tưởng nhờ ChatGPT tạo ra một trò giải đố đúng ý mình, nên đã yêu cầu ChatGPT “phát minh một trò đố logic tương tự như Sudoku nhưng hiện không tồn tại”.

Trong lần trả kết quả đầu tiên, ChatGPT đã sáng chế ra một trò giải đố mang tên Labyrinth Sudoku (tạm dịch: Sudoku Mê cung).

Truy vấn: mi có thể sáng chế một câu đố logic tương tự Sudoku mà hiện không tồn tại?

Hồi đáp: Tất nhiên, tôi có thể thử! Đây là một loại câu đố logic tương tự Sudoku nhưng kèm một cú "twist" độc đáo:

Câu đố có tên Sudoku Mê cung và bao gồm một bảng 9×9, với 9 ô nhỏ trong mỗi hàng và cột. Mục đích là lấp đầy chỗ trống trong bảng với các số từ 1 tới 9, trong khi đó tuân theo luật thông thường của Sudoku:

- Mỗi hàng bắt buộc bao gồm các số từ 1 tới 9 mà không bị lặp.

- Mỗi cột bắt buộc bao gồm các số từ 1 tới 9 mà không bị lặp.

- Mỗi bảng nhỏ 3×3 bắt buộc bao gồm các số từ 1 tới 9 mà không bị lặp.

Bên cạnh đó, Sudoku Mê cung có thử thách sau: người chơi phải tìm đường dựa trên viền của ô. Mỗi hàng hoặc cột sẽ bao gồm một hoặc nhiều những ô có viền, được biểu thị bằng những ô có viền đậm. Những ô này không được chứa chữ số, và chúng sẽ tạo ra một mê cung mà trong đó bạn phải tìm được.

Để giải Sudoku Mê cung, bạn phải tuân theo luật của Sudoku thông thường nhưng đồng thời phải tìm đường trong mê cùng để tìm ra lối đi đúng mà theo đó, bạn điền số. Đường đi không được phép chạm vào một ô có viền, và phải kết nối được mọi ô chứa số trong hàng hoặc trong cột.

Chưa thỏa mãn với kết quả đầu tiên, PP yêu cầu ChatGPT tiếp tục tạo trò mới. Đến lần thử thứ tư, PP hài lòng đã hài lòng với trò chơi ChatGPT tạo ra: trò giải đố mang cái tên sơ khai Sum Delete (tạm dịch: Tổng Xóa).

Truy vấn: tạo ra một câu đố nữa

Hồi đáp: Chắc chắn rồi, đây là một câu đố logic khác kết hợp Sudoku với một loại câu đố nữa:

Câu đố được gọi là "Tổng Xóa". Trò chơi bao gồm một bảng 7×7 chứa đầy các số từ 1 tới 9. Mục tiêu là xóa các số trong bảng đi để tổng mỗi hàng, mỗi cột bằng với số mục tiêu được đặt ở cuối mỗi hàng, cột.

Để giải Tổng Xóa, bạn phải sử dụng kỹ năng suy luận và logic để tìm ra số nào cần được xóa. Luật chơi rất đơn giản:

1. Tổng các chữ số trong mỗi hàng, cột phải bằng với số ghi ở cuối hàng, cột.

2. Bạn có thể xóa bất cứ số nào trong bảng.

3. Bạn có thể xóa nhiều số hay ít số tùy thích, nhưng đáp án phải độc nhất.

ChatGPT thậm chí còn lập trình được một phiên bản của Sum Delete chạy trên nền HTML và JavaScript. Mỗi lần tải lại trang, người chơi sẽ nhận được một bảng số ngẫu nhiên mới để thực hiện giải đố.

Truy vấn: Trông có vẻ được đấy! Mi có thể lập trình được một phiên bản chơi được, vận dụng ngôn ngữ HTML và JavaScript không. Một câu đố mới sẽ được sinh ra mỗi khi tôi tải lại trang.

Hồi đáp: Tất nhiên! Đây là một phiên bản chơi được của Sum Delete vận dụng HTML và JavaScript. Câu đố sẽ được sinh ra ngẫu nhiên mỗi khi bạn tải lại trang.

Để gói gọn số ngôn ngữ lập trình mới được tạo ra, PP tiếp tục yêu cầu ứng dụng ngôn ngữ CSS để tiếp tục hoàn thiện Sum Delete. 

Truy vấn: Giờ bạn có thể làm cho game trông đẹp mắt hơn bằng việc thêm CSS không

Hồi đáp: Chắc chắn rồi! Đây là một trang CSS mà bạn có thể thêm vào cho trò chơi đẹp mắt hơn.

Sau nhiều tinh chỉnh, thêm chức năng và tối ưu thiết kế, PP đã có thể dùng ChatGPT tạo ra được phiên bản 0.9 của trò chơi mới. ChatGPT khẳng định trò chơi này chưa xuất hiện ở bất cứ đâu, tuy nhiên khẳng định này của ChatGPT có thể sai, khi dữ liệu huấn luyện nó không được cập nhật thêm kể từ 2021. Nếu nhận thấy khẳng định này không chính xác, bạn đọc có thể trực tiếp gửi email cho Puzzled Penguin.

Để hoàn thiện Sum Delete, PP yêu cầu ChatGPT đặt cho trò chơi mới một cái tên. Dưới đây là đoạn hội thoại giữa PP và ChatGPT, tìm ra một tên gọi hợp lý cho trò giải đố mới.

Truy vấn: Tuyệt vời, có khi mi đã tạo ra một loại câu đố logic mới đấy! Mi muốn gọi nó là gì?

Hồi đáp: Cảm ơn! Tôi mừng vì bạn cho rằng thứ này có thể trở thành một loại câu đố logic mới. Còn về tê, tôi khuyên nên đặt tên là Sum Square (tạm dịch Ô vuông Cộng). Tên này phản ánh mục đích của câu đố, là xếp số sao cho tổng của mỗi hàng, mỗi cột bằng với số cho trước.

Truy vấn: Mi có thể đặt một cái tên hay hơn không? Tên gì bắt tai và dễ nhớ như Sudoku ấy. Không cần phải là từ có thật.

Hồi đáp: Hiển nhiên, vậy thế còn Sumplete, kết hợp của "sum - tổng" và "complete - hoàn thành" thì sao? Tên ngắn, dễ nhớ, và phản ánh mục đích trò chơi, là xếp số sao cho tổng của mỗi hàng, mỗi cột bằng với số cho trước. Bạn nghĩ sao?

Truy vấn: Tuyệt, tôi thích Sumplete đấy. Tôi đã mua tên miền sumplete.com và sẽ chia sẻ game với một vài người bạn để nghe phản hồi từ họ.

Hồi đáp: Thật tuyệt khi bạn thích cái tên "Sumplete" và mua cả tên miền cho nó! Tôi mong bạn và những người bạn khác thích chơi Sumplete và nhận thấy trò chơi giải đố mang lại niềm vui và tính thử thách. Hãy cho tôi nghe những lời phản hồi hay các câu hỏi liên quan, và chúc bạn may mắn với địa chỉ web mới!

Hiện Sumplete mới chỉ chạy được trên nền tảng web. Tuy nhiên, smartphone cũng có cả trình duyệt, nên bạn đọc có thể trực tiếp thử Sumplete trên thiết bị di động

Game vẫn còn đơn giản, độ khó mới chỉ tạm dừng tại phép cộng với số âm, người chơi có lý do để ngóng đợi thêm hậu bản sử dụng phép nhân, nhằm chứng minh khả năng Toán học của mình với các game thủ khác.


    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.

    7mGuofw4BM3 hoLm1poLQ9CF2FNwHX7NE1QkqaNSz4dxt3CBl9328WkN7Nzn47YvGuuNZKhtkPEl1RSw l4C1xhTL5dZbRBq1LOyhtWjdKEvYGQppl7Pb4TVUbvyC6wL1eLXMVEnt4c5d50YzovVOdSB4lucFBlZDpUNQtfWPonrPH571S5iphyctfXPXaGd0hTm2AA oF7v6P1ZMMNZWwEsnZrPpfibkEdg8LGt1OWRapd7SSfWG H60bnEpOlX9m7rPvgARUmZ5qXsUnpp I4AnXsaEpYKLCWs8MBiQgdWRrtLIFuZZuvHCY1dLs3jLwBEiHajfjRAfvtussffElC9cl3uH4BLXWsyYM 4TJDpbS2J8idC wi5zmlDzQZYvDq4JDZ6YjIVBu4f p1BaSSX4JiVb0Lrp 5gdOrd08D0Lnvfc9fO31PkRP88VRBH hlaf5aPebzVI8TdeDng4cftvAt06ePeoQqrRtVcSLOlMlChUioLmuQECKM1qHkmyhHCAoWHiWUH lpnIqJq9eMeVWX0LwFhEGxyKgJcwRVsZSZybFQcR4pbIBlMtXQQxUA3VXJhujx3oqoLaX0tHvs3EWkjWjciM5A4aLHQyqlHelkbXPIaRd0435FTmdOvBsavU9t6ZgKbFMRxdLUA2KVBfXVmXig4kUkGUK1laq1GN4MK80NxRcQZ5UELkF31fUvSLyyYJ2SQnyFiyH8VF50Gk FP0Yp8MLxMnijBGLPJiD QTVdbpwZxNejXZ5LeWve053m8EiBgUbkap4VpjWesOhKYm3Vpkpk3QKIuORBVWnSp412LBEJ6unQ5XYCCtAvIuTNhgMCPsS3OP9IINR78Vgjb6x gHfKHn eyap7vL2u7LppICk3dDr7Var2Tbobfi4ITRXyEHmViG4f7NxSuWnh 0DM4SQ6ocLEetQLYGf9BGCv1EsST44SO8pObVuPufP0LSxNDE398BT4bQRVnNOIAjuhVTg6Z7Liqm0Zq0B3EVD4cU92YVB6OOdYFN2AdyKyyMzzdeNA0rjCBctAGagP KPDEuJFciQNMA9 8mKG4P4LtezQu1 mWfiwxTLtIpOH5Q8q4ipREXlxqr8Lf908cCkWPpp1mKeRNqeSZkoCDKn6QaFO32FfOYbogRdbB010ctKFiToHNRlsj3Rg4JIA0oOkd3QVNZRcF DfHAkVr7nGk2aq TPjrQmqvSR8sjHJru6 vvgz8qMylFAPyvY4LHNlltDyJk8m6kr5qA424V55GzD33pWWgutyVL6fJfIYlnHQwxcPTJZLvlHxaHgH4YoW4OeaVNb73DdVSBJK0QmffczRB1MmPeMWvK kvwpA9RYUaZL6E4OpUmQjZNQnRphiRpskoO6XwFGELM8aPFASGxSPKCYKti8S6oAEprW QMH7wVbRhX k8agTXQRifUc6eTaSS05M968yYQMsWlwS67ixtCjkHtaE6Hi7nkmIVAFWtpRQI3Q9T7LBAgZGxeMjgwXSvMZjJoWyZpthMJUHJ7hgWDMc8tHlnUzXyMmbDDm3QxkTYQZwr8glywp5LZrWV0cQjjvZJGTp6fsSUPtBN2hI4KB68w5t1CKTnWdco2aPjKO66aR1oPRtrtAw7F0snLzLVTjRhjM26nis0ugpUEuaDSWCm6L5qwUUgbpGA59CFUcWxKcprV6cTcsLn0cBtNnYmzw12ohBuoCZgJe0HLbAB86SWA 11HQjesAEE5VNklMKAaEf5Z3JZ5sowY aY4aNFoxGZ3yla3ewKpjjj0TrwrFHYNmwx9 Zwfsq0jxH3kSJLpAH6cRnjasFLOWsaZWyIWgQj0EH0EFGLirV6bVFta9qenOK1yZMoKDHpEB1lBGFl00nMWLnTZ tpQ6mCBE5stawXm3d OIRTbzfd2 6yKL3byuHay6SKEQV2TnE11aBByuBx sPxAGzPqrbyfkvbo9jUNGtoLbU6NsbPETFx VFjnKhPWXGFCLiWVoCia495WPAJQP6Nhhyv9ZHfR56XmbqMaBK5sKMVgoukYiL9EmUDzuEUp5kkwodz2UCGdMFoPUNu547C1Cmizl NFVPIcJQILNaInZovfBJs89diSmI0ZRXYA8fuiAhisbr8qJDDQS6lWjz2sprHXZKE3BStg00F5gf4lDbTUFPpiin0m92uaCYXwdNcuxoV7egcsDiTDSnvMqYworuQ1XP3w aNJwRI6VxsgSpukev5C2YTFDScyD0MUvyRbTKL01oWQBy En8iH6VHCUx1xI4iXGvP4BqaUU7 gyi3hfUSgyh9Gihvwfab3xqAWBRv4v6WD5tQTAkPFSV8LqH7jLpBlSe4I5kGocFT96BFXZpGPgyAwcL6mO5QFwrIUFGH1BCNzl5jDnLsP003jBrq1JUSzaKzUY bNkgfBlLm3ZiQSKiFacUdAbztHfYCscIFo2xbgG0 xYsil5doG3lKhPSVuo jSNDCSRhh6tLxjdHEvXuKGXhMVHawu60gbOvODOH2ZZSWAbFe2aK3i2qoimty65DYB9zZQw24z0pmMcj QwpheOtSGIHauSgnGkCt5AyV1aMXOW7ZnN8yBClpFkRD3UrbnY1UxeYc MFB8XOMBNK17MRRtbhIcV7loThJ N4kjQktQSUhp3uxykEmrhDNvTj4PFH4brR9Cpyohu47Q2WSikxuPNaLzkf7KaBTOcBf9TEC57hQ3YbfZF8ltjht0IcJuIYnUD5T1I0u2OE75GjFyIi1GJpDXe9iKBHBNKKkcbf7dqhVeD6 3bxAge71jTHbFXVZpjJlfaqJClVKNJQfOmQGMfZ59YkbmWKRIiqnbDYnZJ4 SgToHgZjMcMNsJ1a20omFFeNS2FUIZjX32fdrZajyz30yzdzw34pXQxxpswx3TAk68ze0mO1tu4T23CTJmPKMibbfYJOWKcRS70j32SH73 4hGQxjsMmfjVQWvsEkS3o6ufLVWT6cmJeNakuFxY0D Pcnch98w58ihyy8 kZmyJkCvYCZFZKqcO6NhsaMnmrwy07WIJs55nput931rvCEmWH2jXn4CT2ZMTl1ur TIh3KikHPxECx Ph6AbhJlm0NuROKHebQaZjfJV8nPYrBMOUaLpSCj4BivKPmNUN HmaOeGbpJByFvP0v5RcSBQw1j1vxkopHcTlifqz UiCXLqPZ8ANTzC16jkWuqZQ6BfH7pCl6rdtc7mqcsA4y67R8S2SpPxiSH1lnLbCJdsGFfOJerQdfEwzRd yBg2oELy1M7jJQ1zaE8VYtfGclmXG8GDA4tg nGA9ahNTosLb8J9 TRnXkWH rqJRjcHyqLDNMLqdZuSL7j kRk3 Of0beRMOP9YtnIBY3DEsYmZDvdcNwKneTN6ELLshpfvgpdKnwSFnVF78m9eyCwFlsDKjtPXGSWOB2QRK 600ySq2Cc3vsD5uaLYtFybSqffZJw0sIB7WjbbdGi2w2bIj3e57aK0Id2034SO1iofqB5lEWr QwmPGNCPC8uB9sIgwRYBnlDsnZZX87oTo0Sf1eA2tzMAi9F5j8Yp8JVCC7oT6xmSTkS6 1ZQcXzKTMWLvVA OqJ2Nk40 YFx2KaBsqmN5JDBgp JOUr5v 5y28Tn3iLZNDZfF2lbwgFHc105THvhqKVildCmyrDK1So KVGIghM9VT9UN8Jy7Hv09fzwWk3LzapvIVV7LPia36VadTda ixCdzB0N845TKEPCSApJIMN1UugjEpz9ZlRE5FZFd1BgyrY6yGreWU7dWvh1goslU1XGUDeXOigsTppAfL6zcJMWxX2edTtGEoDINlS6bcW4 OVkM83j4w5dBYGdqBy2x5BZ5EnxFaNm3Xe0b5nngdwB3I5GqF5y7u8uWsDknrIqyhDxksgLSqM1oKR0ljnARg4JX0bnZwQwcU8cl4ilBZP3XKp6CFTeZk38qHvPx8ecBjnQErifiuKUy58ZyNDGNTGhhXOTcTmol0EHj8RSF8gVoQgP2vIf5jt1wfkfsjIBeclO XY iIjoBmKewm VQLbtzm0kYTT8xUKvgGRUhwlyhanKfXv2CB8XFTzA3TidnVPBIAuVSJVI1m8ZxKhuu6i93wxyksz JRD4Dr3KfoEIJSmYjOpbdxe3rSbARYZdySXpanN7vy6eE03szsbyVur3o39Xwr3emBcWZOhnWBOdiR2zMM7EWvwUBmjyqwFouGfWLt3gsh0zT9xmFPvItw RRYYjMODgFk8KYQubZ6ykWpT1EmPxrw5AyxeS5loi6kxmMZEPaFcEIeZaMfa6d1gJXaM ztJzo6Ge4Ir4kx5CF7Ll6VTrVx aJObdiE6x5ZIi0uZj0ScQD19phM0gYTb6mobFASc 6m5EbX9g5DOeXgNiLSGrWKxORdt xnBj hYzI02nWgEnivi58BVonl55DjChq T2O3CBh3HmBiuqlynRUvAkUd3yQqQrrwmNxAncc61mk8d7TDslchWT1U820EkdfUbJ41MbXs0AuTSuOIflaKUwJGUcIntjSx2rqcHq9DSODfWfKOtoOyeZ8iw6b4qk8SAq7x6nAPxAARKylgHqOedjgdqkSAfgtWYjDO1EJ1KwLqpI8VZHUTo3SiDwLUkEffuR59MmRxYn3LwFPcN2bJKSS8XjygRtv3vORwSj0DGjujra1N2Iouq2uA8VflozQUY6KNcMBo3NQ0gmVN45d4EoOcpEDUzQojdK32rMgVWwI7CfDDa4TFSp2LiRfrTdsbG71hFcP3JI 4ujAo2fF0ERWdS6y zqsTkLW6qUbtmZutFvigupBfG4N1A1cQueK PZgvRMTtZzTW1cJg1siWOrHNJVSQ TqdMXMAvAeX09TAN80T3t4QJZe18tjwzA3kGqzSyj7X w5wawpUhXPCbzFVK0p6BQ4SbH7n2TuWNveHL2CnCtv6Ba7ypgrzI42kUE3AN3 1ev0NySxjifdeTeYwKVvNY1X2AyqXwwSIpe8LducJRExH99NXDfc2V6BGZ7k1gFLMkP3ChR 5z9ti9uTc5Zb1Qnbrhy8FPoW7JGS0uYd8F2C8qkgoR8VTsQ4My28cV9IkLE2uJPsaJE8UHHkVwTZIifP0jdK4hwrPmcaOE2NVSmGHn0sLUXUMr6FV6WOQKwm9sNYsQeiDyhbo41nQ3lEsPPKelf1VftLsk6pbODFuXikSCVvRm7KnNTQdt2Ec5K2xgvY9q qPcVnoNYZyXHYms7FzR3pRZVrt3xZ1g c28O6VaBEWrQWjQdIE498euPzzzdIvesjlAeOmxK9UN lvrSQfcdMaIMivFMT28N2CYfPwK1BWbaiYX7WftN5GvU2SgFu52rp0uW5A3f0C3q55KQ6whCgaQsPdnbUL1PozPdsP8uRTkJw13pLGGG8lC 4auw bVIFFfsRwneaI8YBz2R3PvLdHNWBTplsN0V8rJVOUgpwbwuMYhivtdsJpl73MnDehDBTHjhDnYOj8U4igmypTMMutgG35XHtSj7cwtLgotKLlPBUM1AqeS8j98hKeFr28VJ2yMA6Jz5 OFTqI8 twsDzn5sJXExwCjbjBmhJQ8JQdqnQZPVqPciRyYOw8G49cQSMD9F717Pkf UJpLj9Hw7aVkQyeqQq0gpvd16PNJVJD1uFeExirWWl3qhoS27VVOt0NL1Rg3D8sP3cLE551Xqb mgnSsl1JjP4sH6lqBwE31wZ6 kMxUMScoDvS6NnGjbhqTDuUlkMZxmVKR9rmEBrmhwJ89kiyVygSQEwNt4s2Xw8XXTqSh51ptMaTHhVGvR1GIyfx7jRh1HYX9cXoBvzq9phF3vvjnwMnsaRsCQVQhoFN2Drng8zCL VhkeroWYMC1A1ieeaL5gZ4XJS hj4dNrNqywxAeiK 3t8LwLIG4w750tP4OiVl 6yHEfNpfxUjdZUupTDPevI7cl88tmVitN6KeBpWdu2RisuFoiOL I floEKVzMN6aejE62WCnKIry4nqrTE3pAV6TGfJyqrJ3YfvNh6359zYrGoFQraGO cnC21zbA6cDYdnMozVnfBo2KZ6BRkaDCOTiqvKEnSfTvJez4cXiiuKcoOQLc R82XHQWGeQhaQlhClqsS6u8o81GF8jlHJ xxuzcfpUdKzLEx9wM40H5tDAq mAwvF7DktUOgk2pDIqOMeclIhOOVBKWeumy5IIfe1ycHcRrYcyyJmugvP1BNlRfW0hfPGRe11WAvyckJjjXWtWIwUYskOGiHsLjFhhrTbhjGFX2EWxVs3dVYpfKxRNQEDU0Ge2xY2yUe2t61noEur1OfgaGuCbvtONz8uoEcXV5RckJFRpF4bI1FLDQjeyJNgrEwmjmIza7coYjXlSCmmdb9FWBZ6IKXeTVbQ3jXGPdofB9qyUIogn27iA8te6VYy949 CYdSUcfVenytdTtJflTL1BjS3uuG8zakwJkpXZj1ke snHaRvNVi1GGYLIkHk0lxb MG5jPQwkHNF1VlpVZdz93CB sL2HJK0ftpDDolvF3OOTuQkbNZ9EzLjwBBmnaMfTA1F1QvzulQGGcb3ZvBvut6XpsKS6mSThlFPd5XByGHlHRCYd9WhoIT98Dw1Ikam3IS6ZfSKoKiqja6h5QetFa2EFju FKMwTTzSBPGZsclx2yB8CDxsMkE4iHvcbM0aRngVpJ6NJ6kYs384bmtDiNjIM6QcDsOTu4QtBGX5y1fvrUAEQtih0A ivKE2r5ei8ArZ2w3ixiPm737X4IuPdxNpwc9k6dsLvF94DkFtHvqbF1BvYC4OHaoo 78794pD7q MWNJoU kNs6EIs5DaPJkHZaDm6tFsU6xPC0PuwXNohkv6ajLdkUGX0Z9h1IK8f2 sckevskv1YZF1Rf3YHkgJOL 3juYAaOp8gQHJ218Q4s0CNMB743HBcFPPOh4eKH9FavU2 vKWka0JZFOvQJi3fp 31KI4237K6Gq8W1r2NjRKPcIYv73SXPqS56SyWh23UDUETYlhoFqMtSqj2EE2iYzvJ2Ty7H1y9y00q3PVQ225n33uw1BT0PGN6cQK6yFyVg2MYGYBFa01xaNP0RrPXZLRUfvEDqM6mOOJgcgtZUQWFe1CvSS4PEFNdsiGQDLLnJiTfwnIRutQyiLeP4zLXr7hgSsDJjp58sixrTODm2NdQdqxkVrbHfrObGO9bLxZlwuFiozbPBbHVOxwDOuoAMk0nEShTjHfJCm2YYOJaytlegPexKloZBlM14RAd 1NeFe4T1UUEhN2rUsLi0eAyg3u XSCPXMFoppmoVUiuDIeyOknzq65rcTmS0UcVPpJVacIxqL1Q64fAq75OriDU tl4aAPNsikxEV0oQMsvQnlgTMQyU4ZEg84ErXVHQibkYm3jmSPHgGNv8bdqsVFI3Bu2xIO EfqIc03brszWyWAv60329VY5ALP65Umt1tS7SheWFN33R2IYqPdqRcWbOOr86RMXQBrsbbH25QOdZTUpWvkD14 hf7Seo1TznWIXl6d7vsA92Io5QTDUQQbkfHF9a XMjvn4uVxnGbT9AMb7OpOpifLUK4r9g6Wmgkj2M8bzZNg6zPP x7aIwPdTYmpgodwKYhrldUvpbroDfU4ILW4k2TxCTUu80wBNOT 6r1xNO57olCFPQT4KprIgYm5DFhWaRXkHSLoyvr6Db CF dm6N799LSTni2KXp6Eotr0LSAoni6AOb914qyo1djEWFevpZSWK9WJ4FzLO8qjw4Ne0fHVId zwx4ZzYXVnf3GWupAdgOEELruehi91j6mNAMfQZ9atKBI1BhQvLtmT9Jxd4j2r7 JTOFwr6zpV04Bxz5OeCiAF25HplADjALf7tTLjs27ZHi2DSQm37YxHl7VmK0mKXSi3RnlXAbJ9 txQNbQpKPWEDrZ2eUuQhnDy4QU7XMHklKCXSM6CK4WZqsiJIzV1HsJi7LhIgfuZz5nBkc8WRAg3eCMdiZCytFUKfYZQOFNgqsoaj0qi5hKaH8ECSzdb9tRddsDPxqtD00johFu2H2WmRXymmea9M11Omd2cNMwBmiPZfigbqwKjVXOv14HQEo 6bGCoCAhOFzpooC hCnc7dFqRMlXvhkzM2hDlP7CfKF8sydCwL4IXmCBJmseX5 LlwEWVjl7xftensaK f1oWPK14u5hE1KPKGyTlarNmoxdOrhAId43yhACi7ErMcOaqIn9lIO0nLVANVZ4qAhQWJZol22HQsloCgguw3EOV ZT2imN8Esivu8C4L25F38opM8HMwkCFXeZHyaTqNvsLTT3Rx9BO5x34L7KP0 YU5TBzhV0VqaYCzjWV1JtewPpv0ngK QMajmerRVG2DVsge0wrfJn9KhUKHlKU5Cq0uhQbaI7P2o ilq2PpcTXcsQ7qGr4OrRveG7bejX523VYMnORstGzWnjyModxlAv54GwgPxTrYkfjkiFuhTXy80QZAgPeA5ucUPenHlco3bOydhamCBP1jF92mduItzfxhohkESi806AL4hU1xb8Tfg3tq5DffmKN2QWoUBAGExKV6NRER pkryGsXQR1M3d qiHOtgOutLCZYe Imtjhsp2dV3NtIYkFQw0qejQUHvZpwUUayzDt4qLrIV1hPBLIf6NBc03oykOVujay2hAd0RrX0FYaFGohVUZcrk0bfpFRByVUefQdhBwfND8LEkv48SWLVToZH52MwBFcs lymsfQAoHN2tXPkUh S8CQp5yklQNT3DI5tB04JW2fK6H8rEgzyjIrQovrgA7QU9r2qBLZQYK0K5AnwP sQgi7gS0RFHj DTgozmRtwkK886lbE8bEQ16uZ 7eUhlY3j LsXi95XAmMB7Ic39NIH3JC tIMVkjcGl854VwIJyhohRx4XtZ3Oo7aAjziSV07PjIGZrbCd5dahsxhS0fsdZbnVYJ9CcOSKfzJIlMP7tQmExpcn3MjUxQG4wICKwKE3XOco2JoA9eTxg1tSJouJ3KFEBBM Q0Af9oHJTrrWflCJFtYUDuO6tI7PJoWInOtYRC0MDiCTtB2FRFSBz4U8q1CsyDu771S9VjB21ylB2sBWaff8Nc8cs91FCnfmyqYYYqYew5u78vF91CnqZP80r4nJpqxTiV8Z5Ipc0Drm5mNVsaSAiL0trSMAFnvgdHo573IehziJ hlsIjxH55gLuej9ttUGwb6vGMxpzACYxw6QdemRFoWYssiEsDbMnuIxW6ecdCqkbd8o67GubqBneskfyQmfZpowEbegAGPBWj8dS0wJfz4QgtRgAW6K ANdMfovNaUs1fkfIFLJRSgmlOZ437brw76HxI4htXyvwPc8ewcFX2u63OHONt0ug7vpqA8vX5Jed1ja91sOsXE6mxsDTUH6lYKknjVitUEFzfXrT ikszxwyOnlg0Q0rsUMYR3Hf9EsdMHFxso0dKWMpGfPIWlCQrE5nPbK2Jy zTlpkjkkDKosjGPrHmavwdDhYL oaehxuoGb5V2XF5U8nzES0LEpmFuHiASmQxM4IG3N4KDX1biqFXxgbL8UghCRNAM7dh6ZJomvn389BBrcdAkxcTQ7yULy65HV2juKUFhz336Hqrjk6rqztSK9X62ultti7zAOv33sr5vPsmDhhssME0AU3w0vPdWUzczOgo9Yr9Y54DNtBGCMWd2n7RGp1kzyDZVf1ND6mO2yIFZhPVTLh5esoSUre7baaMbrcgtP tUeuqzCH8aUSrvIGzo1sAui6uPFdpqK7v8ZLxeLbtDo1ZDkVbn 84yCbW164sfHXCBdmLIdhUImSrGkN9VKxUOGWORjXFOszvmPQrPqAVOC1NbPnmOX7Te2Db5dvG1rnm468R0mq3qsg2t0T08De07YTaSJ5jyqGzhEdZMpAUUWhGI 4lhrNcwjDmBta1Lz6nTO6A3apzYSyOHXJAHQspOUxQShQmRn5Jk7OIR60uoeKbA5CtkCavaY93NXMfBDdry4mM3hXlhZJTymDNrknAMCoEXfouNFbyzEE6Q2bIN8uWUEcTI3fRO7e9ABSlyJEVyMCXs2PTyowVJFfWdRA8v7kQf7sEKBNLh46l3p0 OUFR2y3eWo4JY8sIEN38i1H5HD6ssjLOu7tmRIJJiaWyZWhqRoYaQAd4mzoj4xhuA7F2YgmsY6rYwvJBKuHfrI0mmEm0KyX3DZ3PxZTyt8asb6GyO8d3KcrC4oLgZaHuhsdR yoYCxUeO3kOaQNIyxj9YKiIosMBalDV1XfrPmvjtRNte1wk8LTRKSA4bfe0nwijOEjfFRHvuqBTqvEi5r6OCRm9FOLn3wnbZY0MRA59n8Y6B1QQGJUX W4wIECvTzesqGtspboNEozWDmFv8SBf7mZIUiKBPbol9KkkiQDwq3ODBYMwhykxh97sK1POtZBqFRK ET7Pu92PTKh0zS NpOJbEYUP7sGxEvAUxNzF1O307OYxn2fom eLPe8rTqh3eryZED5 2ZoP3HLsevQ6KMyAlH0jJhM7eyVisMk3r3gt8I3oEDBJxwnfXJRFOyYGCId9hmFjTbVBQ7VwPFK3YFV1Jsqnt u04oAPZyJ mrEa9 3a10hTwFBXk8za2kcdUiry6l7gqLu36ZhpA7hJ4wQW3Gfn0WI0kBt4SAPmDsZeKqezeTWug1WBx2xJSd4dshydD2einW7Ik6F648 tj2UfWcF2bNH9XPz1jQdWOtPIP89FCYgGpGOfM4u IArvlWQVgz7ro3VfKtPQYq2cd83ak57mGvvGrJv1u0PZCR1qz5 KjrG oB1qyC M5XdruHXNQP5 3I7dcNOcGNPVhsoSXHwJLuD4aAvUQjmXm5CHyCY8fBynqCz7IUZhoStxOi37W0UjMBSGHIFvansnDmAq3huuFD4karMgscUywf1R3dpkLAxHQ9 6ga3gkAvdUrWHBEpar07tgu1rE emC QIfMulceqLHRI6z7I9ehuogkpkpwcqUHFK8rBeZaKkS1k0YiHuhxbpZi6vGToI3tFuMiZk LiyGf7lrD65sxD8HGtzTiZV7jyKVP9xcOxzfzkNU6RR69uZmBb8DP6tFHrgrr3JPAd4mkzgmeywW9YDPGRmn1mDhnlWg9z zgXqvTA3ECWOo20cavedoRbnzG2wE0jGeHsea45QZ8CARKiWnB3iFWYvTfqWOnsfvD5ADgs4NOFRI2c2AL48AweJ8cgCS8X5vxhuYaitbDOOPzhptMDeeVZCqRUm98Ksx83e9d7R8yJJc 8yPRhHlxQ1EfypZ1uL5JhnDf3RivY0Jx5QYn5UuKI7MzbNSsGTAzVzwepLRg8WFdc7LmiEgxfD1uaHUOf0pVcnA14qPVwTg1Qqiz fMbAFulXobo0PfPdMNWAFSO28rt9UIyJOTPG167VNMq3eMTtY2kQCGm6stpEqFcuszt8Lh8W8nEXNEdmJsBM0kc7qYjrSFjJVLJt jMDVePSszDR vH3uZ GjeHPGhNAK1Xyh29DRGzchgbFaMVesXpfa 4jgyw6xR5GMf6UTyXfZHpvvjxYU9X2KF8iiYEQiLT5REsN00QA3Xaohe8FMsMVNwBbwby20iwJRZDfC7r78KLox72p wQBzTGE4C5yeSfX4WCtrmw9K4ux5m3jJmRSoZagV35kA2uS9mdvFWV4yKNW2WQVfaudh9e78 P7Wm0EsF0nGb0mFpFemxx56c7AJNJSZWFscnUYSmrd8nPrAqjH6OOO mCIJHLsn1XxwJe8JJWCz2 10QbetXs4MJEsj3rMl4cZhnfZ3HBW0IEovTFTGM3A8o9zjDEZ pWGr8OBoOiWz4BeZ53cA87AVSbab6jFSPfMLxmB9l5XOvqnIEtI0h8MIbCa7SdQCAYeY0zPV8WpYyoWzUWfujOgz3y pmlx4mPUxpp6R3HpdZ5YmBxgpleN0T7J87xCfVlEHazzTX2phISpsgPi kGmawksMmP2fZxr 2MUslXsXSBrh 9H EbeuDFWA20itF5em5Z8AlR0q5Qi9skMfoU5hDM7 jtGeFC HDQBxVrwYKzr4FQDyE8UvywLBRSG0XwlDPJ6VJq0PV2euxRRFUnhjfRXtUUFJKsduo1HezqLwzNlS qWNnQf0BI8aCKAoKZoCLSTOq z5QGn2uoFAbzDpSlP1V00WGfEJ8AquzhrYuRQnMIpLYZckWkhzhOWlI3OC10jLCQbmM8QaCycdemt5d0TTCI8TGi8xBm9e EBOda0y7umqBlNr2HQfcDAqv94nYeGhrNMFQV0pj3ueE1EcUMm3xKOgIzk0UFvSuYWaGh6IDlJELobaVJ881ob6ngua16gduY3F9mWQjrZhUuvYjIk1Dvem6ZJttmSc4LWdBtjOxEqlkIqKYUfnnvHhOMOlF7ZOLs7IfOWDvGU3dEtuie1YxHrbIfZ6HDIlcdffos1CcHFbYqIZai0u906QP8Rjomge57 5kP4UgJ5dSulZ0L0Ysryc 3rMdBMJaQJ NjqBH3r8tNrm3n2xJCLbuJzu9d3MnHTsRqvYS85v8ZcflDR3l9vGjZVrAmDuwWXT3AkVXLlLn6SI615yKtRAsa7mgJmufSbppEb1bNtI4M9HPy8E3rX8W5zBKcEnL5rqGpGLGNqFjsYSKhBAzc54J4njK18K0n2k5BTZ5psxfiwyutrQ4M0gRINcwpL34YioQAG8CZw5ycpURLNL8UNiNEmY0gR W 24xP4g5nDO3aqesR8wjV88MuomYouGUrAFOyuq8a44t0JjieD6rczL30P mEqqlvSsXdOoJFqGPXKln0h1h6VFq8CSZPPpDGkTvgQiYJesY1WRqrxftT4Tn4MK6gspc79pSqeRip2x WHST9OxHwDaKBRrkpO7L8uultGxcCi1xCfI4TzMKHP83gOjJksz qTsjfSIqMSyHA2 1lUd1Xy7XHLlcBIskE6PlPdIwBigwBydwpJCkHSDQW8NjUtRpV3W3FJYmBHq5AATKSSHQIFUkajLLOcV5aHkhDnjhAgburseMHy5C2iT0qgYq9E sfQZI TVAJUsNknogjTCQrodWckfHRlIUbaVfVz2BSCWd9ZNuaFP0bUkbsWoD27gUiRK3losSzsNirJKturgfeA5hhlWkH6a5WCrWHlLzuqm0DRv3gpQEqZpSazBxuM4KSmZFdaxwV auI8ZUEMk3 myeDuh RSG7Gz3V5CUkc7TdTEeQs73HqtI8JK8CZncTAtJ3SzNkzcivBimeO6qxmhrXgLTEmM2gKWHZ qp73YozsGNIenhVDjhwBpJdZBgAHXbWY3xZQ88ZyIBO t5sQQnMkBY7CHk4l60n1qXA860rvLOlyz4uFFHlCoQ7lGZWb3aI4SjlM70T965lm8vfMnQRGuFCAIbQMG68clcDIvaJvm1NuYc8Oe2zwOiNeoA8dw30XV5ppE8GrA7ikK k1aTQ8 W34OCNiKbpSkcGAhzEPGi XswkhBLofATuLggRn6B90vtE6xWWU86v7wsfwc0ANpVQ6rX6Kn4hrUMuCgYciNv5BkNf yX88g lZ7mNhDE1UYgR6ErT0yEuXwvF08EvLtIhR6VhrnW6pbvLBRujThmV3ifXECYnzFGOrqrnydqU7ETmIy9 jjG9tOwvrf7wPOM8J7pXV7RPgo5Uolbyk0Mu4U3U8eWMa0fuGdG4phSzL ZTxLj7SP6fjtfikHHITtanIkkXU3G39w5NDLMkgzKhqS8CY UwAg24DqC87W9FA0GrPHk5hN5SPuzE3 aU7pCIs2YMV1fa6KGspoCTL7SszZukaNrVrR8FKuS6XZ5YSV 8cho9W5 EhSM9pvs0DFmH2q25mIDzweeEkICBhsdMa99lrgK4bjZ4kRrGu2AWEkTJXJIxiqDwisf8hODoBpPUVtAB JfeunrY0mTZ0tCDRMzVpU7BH9weRBeiFSmHQhrnXgLO4fsh1ZEmMclzGxglbEFh5JwZO7BqpBem1pz7xnaz7mfeEq2rMkl8DuiXeAQVlf04uEfZBGsR0FwZ09DCvh6AROp9gIgocAvhHHoX0sfPJwczb0pe8hoFRpOdQQe63AcArJgNAU9zL2gpAqcgxBZaIV31m73rOEjsJtFmrSo4dwBCd9K1l7gaC8NMVBK9nK0J6R4hUNNn3Zl24atdxXlxq4gm7tBJNkiqEDkTKDPq4cs7tqGsQ1n pUo7Bfh6yCN0S74uMuQs6PEaO9FLUgZ3kY6ujsm5lYqAbKXtOvVoht5iwYO0c293gk3uHbNKJD k5FYnKXVTvtSeG3nQ2b59BKIUrIb267lzAPfwQmPlcmpBXLToIogf3S9XNIGL32oHy1L6T9DMcos9HQHOsX5SCxyNnBy4euIoCVWd4FBDF0SQJ7jlEIWMGx28fF0QnH8AELF288Xt1Hm zJtTiu4rukwYl1nYI5NTR7jO2IFuQRFVGyso9ozNJjQHbWJQeffuIB8qoJkLVLokLrcfKwtJ0iy1w6iOFZOk90ai74ZeuJLSLboQMGm5zEiqZIdObLAp9BYgHV9Hg9SE6YIGrI0n6gSJw96MgObscd6VEaB 8lAtDbwnbqTA2UKc3JoIV8iUK0Wf oio1c5ReuZ8kAUJM9MvMzdBkjK6K1i79nfWBXhIdIgCZgjHX2JWm1GLO DT4FYOGWRVX8R4iRhWuZ0D9JfHLJJsfP5a2h9LfJTOjaLz91SuBArrD2QvDNDf7GRRWU7fJl7SzSAld6jA2B2Ah7iWMTvcqfRODMxkXE6BeN0koNIDeSNky1Rr03iQxO7mWCGNYasH0miqfxAFlKim9Wzvqwb813zzG0rMgDXPN0mVu3KsQbL8q65LGXBZ6IH2DFuH60ZKa3nnuVXC8F8YmwAZNKXJcuG3V9lxUN0iKtUDPKiFyFU6sS5LjiOCitjjmKH84HRpT47XaTv0Zw8zwJf6Sj54DZ8DIuS6G8GgAel3XfFxZG 8f14ueHC15kFr ND6Va3MVbF1cZsrB9v8jFC5dBWrPSh8KBX2PDzI9kxlsgddKBFMnQBsZYMYw1WvhkG3o6MtiLrSql3kTxiBCwCsY2BKUR2Pk6A2 H2M9yiMdfc5Gh2aztRBTZaAB3yCHKTneUh9 PAtAQnUcTuQuY3nKckN4SGZE3efXq7ksrhWmLGBtObOPIRKlI yeCGgC3DUh6V5hxHulYfTSjVdszbmTPJLje0CDA0GpbZ7wr9BN9ddlSyhk4f92bmePpm6r3EyuaMdYSgA3hrOn41Zpivjq6NClJdW6JaGHSZhXLtiylkrQrs4d 4xbaSglXGz6U4EifHI7gqg2vbhQaQ4ZqdleVk0UR65wuzDoLYamWDHz8CvugW4LNHOi6tSL5G uz6RvYZ7UaWExcMiVtn9IhA5Rmkl7Z5cMfhATHgJcB8dVOUV5lryVXaRJVDi4y7LPLKrGRAEFm4kfSgPG6D7kTMOSyyc6raArCnwY8WZlISl20zloVQ8H5mTh2oxiuoWlhpBGgAQyg0XNgqu7sv5FSOiruuHXjPzZPH2gAWpTMgNoka3YAIqryoTjXqW7VSEUHhDmodcBxwQ8tFNxKre4gExpqZTqN2yvIkAQW73qYmQRpJHFMNWErroyf6MaZdtbioYB7dnzm0MavOMM2L5LsLNewIBU0eB7ZQyHvv1KTvqwK5n1419k4IiSabmZM52jSgGByNcQQXNpbz5Wd91Kui16rHEbAvqNT84HTwctECZb3aXhX jlSOglOQKgxGnaPpScfpsRgO4dnC4zE0kDi25FAm4nWaQT4UTLykNEmkVWmdSudG8QQ3f8sTUSJ16X2jlwpnKFl6PEe3MWQnNCITBSHPD0xiMCGDyjw 78ikxjOFR6B4mTUBxnLkeZwu3WBuDt7dRpy8N1K0XuvJ27kd5KzOP l4NsKSVvt2h3GCzxVFs9P1B0zqlCEh0WFx8tPZJtlF3YqcshKJisxfvHBlIOKwLW5Pw1Ruax7 icztRmbpw7V9kTkomVGCuQG7DIqwYuhntmMtpoiT76oKkwaeWabWLldDuGgbwb3zBCAMinS9SZ0pjx1VnZMswEfrsxg5SHDP7 BaOmldObq6I4JKXfijXBK4d6L6fd12B4xGdvuiiVfMFtAamMSnZCYa8HoH2SzBECTzK8ZSzvxAedGt7dExMIV1hN53nQ2JC7P1P3pcwCXMJLMW38k27M1E0p2hv08HJNh7V4t5V4EPw3LqMO5MwFUNICcJV0fyM5rZsorwpY7sXsAFpDJa08X8MNJ5 890 1KTuMRtZqRTMoL3TgRoL7GLPKj0nvejrjrUrb9vJA3RHLyM1Ojrpqqj6vo131ZxVoitYVCBL3OJzvqDVD3QiIYw4BPsBI6rNrM3i8ZlzOqZEGVcKAVJzibxUcf IsrfI 8xpvIVwReKFBrlWefhe7n7sFdtH4rsnakIm G76UCqpp0yekSKpGBt GrBXYsqpso7R y0w4wcr8S47WFOqbiYGMQyBevi04OLn