Dot Net Perls
Top 37 C# Example Pages

[",rw.y.sef.aaBBBBCST~~}T~~YF96559457847FXB]CECCsBCZBCXS}T~~}T~~","Fisher-Yates shuffle."," Shuffling an array randomizes its element order. With the Fisher-Yates shuffle, first implemented on computers by Durstenfeld in 1964, we randomly sort elements. This is an accurate, effective shuffling method for all array types.","First,"," this Shuffle implementation relies on the generic method syntax in the C# programming language. An instance of the Random type is also allocated and stored in a static field. ","Random ","random","Static Method ","static","Generic Method ","generic-method","Static Field ","static-field","Next: ","In the Main entry point, we use the Shuffle(T) method on integers and strings. It is equally effective on all types.","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.7 (2017)\n\n","C# program that implements generic Fisher-Yates shuffle","\n\nusing System;\n\nclass Program\n{","\n /// <summary>\n /// Used in Shuffle(T).\n /// </summary>\n ","static ","Random"," _random = new Random();","\n\n /// <summary>\n /// Shuffle the array.\n /// </summary>\n /// <typeparam name=\"T\">Array element type.</typeparam>\n /// <param name=\"array\">Array to shuffle.</param>\n ","static void ","Shuffle","<T>(T[] array)\n {\n int n = array.Length;\n ","for"," (int i = 0; i < n; i++)\n {","\n // Use Next on random instance with an argument.\n // ... The argument is an exclusive bound.\n // So we will not go past the end of the array.\n ","int r = i + _random.","Next","(","n - i",");\n T t = array[r];\n array[r] = array[i];\n array[i] = t;\n }\n }\n\n static void Main()\n {\n {\n int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };\n ","Shuffle","(array);\n ","foreach"," (int value in array)\n {\n Console.WriteLine(value);\n }\n }\n {\n string[] array = { ","\"dot\"",", ","\"net\"",", ","\"perls\""," };\n Shuffle(array);\n ","foreach"," (string value in array)\n {\n Console.WriteLine(value);\n }\n }\n }\n}\n\n","Output","\n\n6\n4\n8\n5\n2\n9\n1\n3\n7\nnet\nperls\ndot","Results of the program."," The Shuffle(T) method rearranged the nine-element integer array so it is not in its original order. The three-element string array was also randomly rearranged. ","Int Array ","int-array","Is it correct?"," Some Shuffle methods have an interesting problem. They return incorrect results because they remove elements as they go along. This means that there is a bias to the results. This can be proven through tests. ","Princeton: ","This code the same as the Java shuffle algorithm from the Princeton computer science introductory course.","Arrays: Princeton.edu ","http://introcs.cs.princeton.edu/java/14array/","Math.random: ","In Java, the Math.random method returns a double between 0 and 1. The NextDouble method in C# is equivalent.","Note: ","Thanks to Darrin Henning for pointing out that the previous algorithm was incorrect.","Discussion."," Shuffle algorithms are hard to develop and test. Often biases can occur. Previously, I had based this code on a Java implementation from Wikipedia, but this was removed. The implementation may have been wrong. ","Fisher-Yates shuffle: Wikipedia ","https://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle","So: ","Currently the method is based on that from a CS textbook used at Princeton University.","Also,"," there is a different implementation of Shuffle. The version simply allocates a separate list and then assigns every element a random number key. It sorts based on that random number. ","Shuffle Array ","shuffle","Caution: ","The linked implementation is likely much slower than Fisher-Yates in the C# language.","Summary."," The Fisher-Yates shuffle algorithm, implemented in 1964 by Durstenfeld and described by Donald Knuth, is an efficient and correct way to sort arrays. It provides a useful, versatile shuffling routine. ","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","url(data:image/jpeg;base64,/9j/2wBDAAcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwf/wQARCACAAPMDACIAAREAAhEA/8QAOwAAAwEBAQEBAAAAAAAAAAAAAAECAwQFBggQAQADAQEAAgMAAwEAAAAAAAABAhEDEiFhBBNBFDFRYv/aAAwDAAABAAIAAD8A/SIAAAIAGQ0tBmNTNkTYhjTSmzObJmwXjX0n0ym5e4PDxt6Hpz+1exgx0ejiXPFlRYYWN9PWMWaaRYo0wo0AAAAAAAAAAAAAAAAAAAgUyDPSmUzZnNiVENJsibM5sztc4hUQ2myJuwm7K1/tpFTx0TdE3c1usMbdftUUVjrm/wBpm7hnsn9zSOR49D9hxf7eb+2F16fYmhY9GLta3edXo3rdnNUy74s0rLjrd00llaEumFMay1hMSiTAIyMENLQAWgaZgtGjQoEDIwAAUomTmWVpJcQUyytcXs572aVhcQq12Frsr3c1+mN60XEOi3X7c9+zlv1+3Ffv9uivEO+/f7YW/Ij/AK8u/wCTn9clvyft0V4FNoh7NvyPsv3/AG8T/Imf9SqvaZVPHE+4e1Hb7bV6PGr0dVLsbVxXqJevS7ppd5lLOyk647zCZelzs66WcHN1Vs5L2RLsrZtFnDF2lbsvSYdmwXphFz9H7VjbRrPR6L0eNNDP0NP0MaaNRqtPSxRpNaTABkizKW0xpTUmkS5LxLlvEvSmjC/PWlbKiXj9Nhw9LTD2unGf+PL7cZ+XXytDSJeT1vjze3WYel25z8vMvxtefp6PLwz62yHFa9rz9CtJl2x+PMfxrTh8/wCmlu0RHw8+/adctOUy6acJdnPh9O2nH6cPX8jDraZedXh9OinHHo14rjk4r/k/+nRXXLSkw7aVVXnjelMcd++t4hdPhr6REDJck3VNVepXW0soquIlHtHlvWzWLOerWJP2cVbehrKJOJVFl4109ZqhrEjFxK4nWS4VEomGkHCFw0hEmAFpMEZgFMRJgBjfnEuLrwiYn4emm1dOLTC4s+Z7fjfTk/xM/j6a/GJc1+MOmv5E5jPr8w+cv+Pn8Z14/L3L8fplHH6XPb4cX6vlx05OunNtXnn8bRRw9rurlRjFIPw28njitaXXFWPlUQvDZzMtIgsPDw2cmWHgwyGA9SAMaRKqs4aVaVDRaIW3hnIXVKoaQiVfxcI/i4aQgwAYBaZTCkjTiU4ICl6CGmkTGsb0bCSDhtziUTziHbNYT4E2keYcfg/DpmiZqwt8rhy+UzDpmqZoymrSJc+DG3g/CZqcSxiFeWsUV4R5XrLynG/gpqXgemODGvksT5PUxCoGKrDSsCZVCyhUQ3hlJxC4KIXjSIRMg4JS0gGFYkEYMEDBAgYAIAAFgwzGBMwzmrYsTNVRLGap8N8LynyesfA8NsGF4P0yih+WuAeIL0y8lNWxYJoPTCal5bTUvKJoqLMPKsaeTioiqvSIhcQcQpcVRMgxhrSDgYFJAMGQIAAADQYBaNLQYLTAAMjAABAgZAAAkgwAoAjCQQMBSTMDAWA8PFYnSwwZgjABAAAP/9k=)","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANYAAAA3CAMAAABHJUQ7AAAAMFBMVEX////7/f7y/f+38v//6en/1dX/tbX/xcXl+v/U9//G9f//qKiq8P+U7P+e7v//lJQSDb6dAAAEaklEQVR4Xt2Z27KiMBBF050bN/X//3aQiBvZoeMZHoYz+8myKYtFeuWCDomfcY30n3EXTXh8xtnp7p+5KlbcYYXGYE1rCpZeFCvtsBpdOPiSFe6qXfjYJTWwlgBt+AVqteXSfgnQ/MXVSl/Jpd2Svu/6oUQvrVZ24zdy6RrXlUHrr4mFMcosV2Pc+jnXxArAioZcRj/qldUaPwjtSEzPi0RnMFWpFrcJIea0qpvyZ1GEfn77laieU8tZcm2IQ17ZRVXFKurzi1VZZAzLWEu56G13XN0VPO3ktNvZ628lvUP6W4mHWkBhuRgrJDA4ETGLQusHCERFSgvDafwknvaMNXRbrAEIhDqwWo7lYiw8+tAsLsyMheF8Um3Jq90hM5ZXh3QvhLtDbq90rJYpV+3G7KKNlYo2i5nCToO0YA0OkZVBifRWUYvkOoFFHVoFL/bBbzgNtQrWpIZctlok11ksfWGllOKcMCfDrtdw7SBKALpiddX5gUFZLVMuaqK43LlRLB22T6xgQS5Wa8XqDbkMtYjSwsrhxaNyUFzXNEcZ0fUL+o6C1HK6YEGuDYU21aKeJCwwoaAq9aKUHQgNF83m1HN0UcHy1so12GoBMx1hZdnte7mI/WLXMRY8qn9JU9dCBayaXJOhli1XvTu103pxhlqwXBurIpeQWndgcdMJmpLVYs42lhxhPY8sNSzMhcn4eVILWDRF0BRCallyHeCWNuPi8AywQsRed4dFcrFaHlgkV0stksvAkjaW908sLVv68cFJhnGkFrBYLlstastjLEFBD7A8sIzdU02uulo7LIVchlqP9M5IpIyl2j3dKfaohSVExVgsV9gYr1Usd3/LBbUmqHWcaGAtFs/xQ3+ANc1Y5XXA2MJiufLGeJ2pgFWRC2oNEOY4+RjrSdXCWmtxA7LsC2HRoVxQq2BNwCK5DLU4LBe1+3T/Civtl2rCIrnkozOKWpjlSK6KWlZCC+tuN2FRawQFY9XlglqMxXKxWtnEiuexeAlhLJZrq5bTwQOrJtdeLdg8pm1ILsIqE6EvC66FxSXG4pVlhKkL1gQslmt6q9XZG6XMcrE+iJzDYrneH2TFmqlWLJbr/UH2agk9NiI4jZVbWLDw47F2dSzMf/5IrfHgsUULCzFmQlmVQS0kPiOw6VCr9wXr7hBsBBFWKxvn13NYur3ZGGJODyRL+0/RdXJ63raQXIipFst1HiuaSwjLhQh2TrhxlqupFst1AgsLl43FcsE9wiK5EG+oRXKdwPpiuIIhF3ZOwLLk6ltqASH/Pdb9NVzmoh8suXAoYSyWC8X0CtuSUwmwrKudVIoz07C+ognb7hpzCKmOJTgY4bzfa+dvVSzxc96d6P5BQiyPKYZCEmLkR8TLmqis/8L7OeoQ3slfO5m8NjNArSuHNbVzx6HkwuG38XYUr9IuHajF+cVqpZ+p5f9PtW7/pVrdL1EL5/2vgvP+tTP+TK3pd6gVfqaWXlwtfk1jhl/TXDsxlcQvsXxJ75A/ZMHNEnLfXgIAAAAASUVORK5CYII=)"]

$/9j/2wCE?YEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSgBBwcHCggKEwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKP/BABEIAOQAyAMAIgABEQECEQH/xABh?ACAwEBAQE)))?QIDBAUGBwgQ?EDAgMDBwcKAwcFAQ)ABAgM.QUSIRMiMSNBUXGRsdEGFCQyUmGBFTNCU3KSk6GywSVz0gc0NUNUY4IWF2Kis/D/2gAMAw?AQAC?A/AP1S)IZTUSpDBJI6+VjVd77IO19BEnOKnSIcKo8paX2Kj7rfE583lRTdFT91via2Ucvsle1Z0no6mpyZdekp88955WbylpZLbtT91viKnxykmnjiY2ozPcjeCcV+Jp8yfztI7Zt+J7BlUXtmQ86lQ5iO/8VNENW/oQodB0Frbu4HcSXh1k9ohxvOn9CFU2Jy29VnYpXsFXgTyqd7aITa48t8sS5vVZ2L4nUoq50rU0QH07mpdSPA7I0KYnlpmVLDG?I)?DiPkyInvXnUm1txKp2xWM0LtW9ZqIqgxWAYEb?ACjARjxRf4dVfyndymlxgxd/8Nq/5Tu4sjTeTrIu4KfPKlyZma7t9TZJhVDsNttpdlb1rpw7Dj1cnA9DE+P5FjdMzPHs27vSejkzMRqopgbZb3ObU4TSeYPqaeSV+l26pZdbdBgwyBflCl0/zW96HQmjdO1JaaF8dNb4cTThdN6ZT6f5je8e1VrF1uPLwOxJEvKac/7hKq09HPNl+bjc/rslzqPg3Xac/wC5F9K2WB8Uibj2q13x0OQ6U6MfAz/JtdyLflXD2Pm9SN1I6/C625XWxXJgldtth8r0G2y59n5m7Nlva/zvC/ON1JJ8u4HNUVMk+ylkjjzNa3K10L+hEv6rRYrDL/1bLU007oJ2UMUebKjt10kiqllTpaZkfJeyKNb8DhQ535s9szXvZupZFyuVt7fA72FouzaZYqNI25bq7VXZue6qqqvap16GHk26G2SS7ERSDjpU98pqTgZ4uBec13ECQAB)AYHFfTSPc1ckmnuO0VtvpqvaTa6wlKIWOa5ujuPQayPPxUkRuM?B?lGJQApkORjjl+Sq3+S7uOvIc3FIFmoamJqpyjFYnRdTRCqI5FXpQg7gfKFlXatdq5L3sp3osdbkyeZtyezn07gd5LVd/nqb7y+BdD5M1V05Wn+8vgeikmp385hayROCGiP.np1hbTpG37XD8jo4XDy8X2k7yukwGo+sh+8vgdmiw6WJ7Mzo7XReK+BzZpY0RcilzWuvqdHJuqQymn6KlLkXoXsOaimtq2ObLyOKJUvpJ6nIxux2b28m/fRy2c5OKOtzlNY9azEKedlDU08l8sskj2b0aNfZtmvW+86/A6b0d7K9hS5HeyvYSRqXuNXJxKmxoboGbiFDEXoU1xeqg3uIK65awsIEihQJgQkVdm7qUyxtlkROVXX3qCNvqRc+y2sbQMVO9+3RrnO576m0HNygx+dLgVtdoWARJkMyadZMDI275X8q5u90iVxFz8tjWBhlc5jvnHO+IENoVLUJe1jcJRgWF5BxRNHuKaRWSxJFsBzPNk6CTadOg3ZQylm0FYoZGWtaTDUiq3ApqZNhA6SxzHYpL7MfYvibMXX+HS/DvQ83LKkUEkr77jVd77Ihz6mV7XojVNtNE17Fc5DpuxOb2Y/wAytcRm9lnYvifL/wDu/wCT/wDpMU/Cj/rPQeTPlpg3lJNsMPlkZU5c+xmZld77cUW3uUpWSdNbqW7OBeZD2TcRk9lnYp0qWfaxNfY82+508Pl9Hbr095opJXyPXNroZK2OOJiOYltTttcWXMCyLpqpZyntfmblMrHXTiaZF5J/2VMsVQjI0bl/OxNrnZ01Xj0mpAuiJZQexVW6KYqZfSU06ToERicuYcbMqWG?QJgYFerJ3OsnFTeBFzSD2ZrWU5jlzOXQDpgQ2fvKvN/e?BaaAENRDABDI3AQKIAUYjDjX+GTf8f1Ieeisegxtf4ZN/x/Uh5h75NhJsUTa5VyddtDm1fzqdR0qT5pes+A0dc7Cv7Wq+rioJa/Y11X6NC3ecnKJoll4Jrw4Idv8As0ghxv8AtBqcY2kNFs5JJ2UTb5rORUsmiJZM2vdqLAfJnyxo/LOPHZMLi2z6h8svLR5eUuj7JnvwdoWS+RvlJhXlRUz4RG3ZzOk2dQyRG5WPul+N0VE6Ofhcnpa1zO9VTWx9hlNdC/km/E5rMzIWMe5X5Wpve+3E3UfzTfj3kqJLSL1GDEZuTTrOrn4GqN/Jrvfmc9i8NUNMaL0odBTJBLexqjXfb1my5jibqmqGtpFxvR1yYyI0UiSGMQIAxgAC)G?ACEo?wEpEaiGIFIqNSKgRMmKxvmoJmRpvafkqKea82qf9PN9xT0WM1UlHh0k0CM2mZjd9F53InN1nO85xX6yh/Cf/UZ5qZJXZlWxY2uSnblXnMGxqPqZfuKQfHN9VJ91Tc+oxT6yi/Cd/UZpJsR9uk/Dd/ULzJvtGWbFW9CfmYnRyew7sN1I1dk3QyufX+3S/hu/qNWGyPqKVkkiNz3d6qWTRyp+xfFTtiW6KcmerWo3bcDY39icFXE5U1XVbIqppcVu4xU8cjGMds37r75cv5lqk4UO/FxTrNbTHCq7unwNiCU6kfAmNCKEiJcSASDESG?I)Y?AIQlGJRgRBQEqj;IjUiMiczyk/wiT+ZF/8ARpSaMeZtMMk1+nH+tpVk94zBWIqqlizzRMubaJ2GCRvE6saehr1KYlgdlza9gzNPDomVOYwuaSwNn8OZ9uT9bi/Ze8lgkX8OZr9N/wCtRlVPDxLlRLpovwLmK3ocKRu+nUWOamVuglOgyMsjc3MmjuJqaYmeu3rQ2iNbUsTQZFCSESxCSDIoO4hjQYkGIY))hKMSjERUioyt7iLn2Cw7kVK3PI5yrboJWlGL/3B/2mfqQqLMQu+kflRXatXhdfWQzOn/2aj8J3gXMfmMdQxVVLGxJo8nquIPlZslY1FMfnH+xU/gu8CqWqXL8xU8fqXeBaUudJbh+RoJ4P/cGfaf8ArU5/nbvqKr8B3gacKdKyiZnRzFzO9Ztl1coXIwrlVbobpU5T4E2yLpo0sYiOa3MiXt0E0Y32W9gG5EKGeu3rQ2FaMbf1U7CQiZO47kLhm0FYdy1B3KEepJHrfmEO5cMg1SZEmMB?DEox?imscrKd+q82qdZcY8Td6FJ8O9DLWyZKeR3Qi9xJiXciGF1Q/23dpBJ3677u0ybQ+c4H5SY1XNxSbztmxpHtzXjZfecqJbd14HjqeaWpu5rtE9685te1G6WPp6zO9pe0NqvtL2ni4cWxDzLzrbt2e02fqtvwv0HqKeRXwRuv8ARRV7AdNJHxUjlRTr07lyJqaDJSfNNNbeB6ygero29RhkSyqMpqU3E6y8rnYrmplTnOnzGd6XapTTqt8vMVyOW/5FiRSdC9obGS/D8xalFltYvjTcb1FiCYm63qJDNKJoBFSRFwDI50K56qOGNXSLlb1ErHMxxvojftp3KNbWMlTM6KJz05kNMeK0l/nF+6pY3E6W6cp/6qecpaeSeVI4k3u46MWFVDJW6s+C8Cs5cGIVcurWIqdS+J2o6yD217FNbHI5qOavE4bI1Y9W++x16ROQZ/8AucLnXpZ3yqqOQv?EbhkbgQc4AE5xgxZ/oEvw70NMjzn4o70KT4d6HGxh2Wkl+y7uJw/ON60OQxxy/KxY4fJqtyo1q7nNa++03tcYcWwGlx7Y+dyTs2GbLsnJ9K173RehD53hFS3bN2i6HVmYuVbGbyCe2bBpeF9uun/ABaekscjA/JqjwapfPSy1D3uYsfKOS3FF5kToO41p26hGySq6NbopnbdE1N9C3kGfHvNdiqjb6Oz495oPbUEeWFnUhz5NXKRULErBY6BURsBKwWALCGgwAYWFYkOwrhYqynNx5vobP5idynXsc3ygT0Jn8xO5RGOvb6M/q8Dm4MsjKh2zjz6b1lRLdp1oWxTTPlhc5kv0tO9Dj0M76Zztmjd5Og6VNWSuRGuRvXYicqgkY1jWOXnvw7lJoxdq7N06nSp/mmmNiLc3Q/NoB2KVtlVSY?G0qc5OlO0pkccvEqmaGphZE/de13Mi2tz6m6FVdAzeR65U3m8F95U2VVVNCxWJYpkl14p2mapTziB0bHNzac/vNM.ct8yuzarZOgpZEzzpNmq5eZVI1VOypjdE9NHIqL8TCyofma6ycTC3Cp/aj7V8DTTYVOzNvR9q+B1Y2l55+HyUoInZmo77y+B01rJXJZe45aYdL7TO1fAsbQydLO1TpAdKPBaVnMvaVbd6lMLFjja3QnYmKx1WNRjUanBClddSDlRqcdBIqW46BM1dmuVNVIbN1n6Zc3BCxLCsTa5OkSPbf1kIxsdnTSyIlusaR8qu7u2HoOxPM2/FAztsmqWUrkjc6TdTm0UFjdsmaLe911FoFi3O3L6ydAI9ll3ksnETW8nq3qQTWLsF3d61gsg7FjXNci6ppxKaiGGsj2T3c/wBFdSyKPd581uAoGObbM343TQVkE5jXtVrkuimJmGUt92STtTwNEdFAx6bzs3WhNrH582X6Sra5N6P2yuy/RtxDKhS2kgb6rUBY4mL63apc22VMpnmje565W81uPE0MRcjeF7cxHSxejUbwG?IkYpqGOVybWON/NvJcmyHI1GtRMtr;cxqsRIJG1FuNXqcdlXFG5ckzfuqv7EqWWGSduSRM2ttF8DxOP19RR1EWwfuujc5dxOKdfMeh8npdvLSyZmuzN1y8L5VueVpsdqZJY2ua2zlROfp6znNRLoemaWWESPXG5AFYkAD;JWCwxEQHYL?gHYLAIQErBYBisNEGAg?HYBg?I))YhDAjcSnmpcFpZno+RzXut6zoLrboNOHYfDSTRbJ+626NZs8vMp1I4uQ4JmsllK0iXaM4cf2U5seE0kb2vazVFumq+JQsaX0Q0NJkCVzqliEg?JgA7BYAEAWCw?BYL?AOwWABAM)B))D)OA7yoo/qan7rfEsw/yjpK6tjpYoqjaPv67URNEVen3GPBUWCqy8ns32z5vdfxK6XPN5UwyPybmZm5wWzXAdV1PBvbq6Je9/2senRi24p2CRi5k1TsLAFY5JBxFzkY1XOXmupYU1aeiTfYd3CkcrGOd0IvcpFdNSlMRpfrf/VfAugqoZ3K2J+bS9rKhiw2njdSN5Jua6rmcl7+AsLZ6XJonqr3ocaCtqnOi2iNs/oRdNPepBrnaX5zr?HbLQ))))?AY))?ABz1wmn9qTtTwJU+FwQVDZmLJu350twt0G4BFu2kXS4?AVAVVKejy+9q9xaBCX5t3URPOxHSw1OUd9k6AHl8MTlmlEfE?D1hp))))))))P:Z%iVBORw0KGgo)NSUhEUg?ANo?ADOCAM?ABvhOxk)wFBMVEX::08+/19vTv8fPt7urj5OH5+fjn6Oj49/fe3t/49/X+/v78/PvS1NPz8/jY297p6/P8+vb7+/v9/f3:fX7+fP38NL49uz:vvBxcvz8Of6+vn+9vn:viytryXnKNucXb2+Pn5+vve3tjy9+7:PAyMjL89dn9+/P/++n839X79uLy7tr:/3/+uT/+dvg3/X++fv:f307uL/99X0/vT389/97vP:v/99tD4+/b7:vq6Mj4:j6887m5MCepJfd?AJX0lEQVR4Xu3c527jvBKAYbOrd/de03u2lu/c/12dkWyF8XqwcKpNQe8CK+XngzEpWkDS+KSusBqHqqbVtJpW02paTatpaV5izZK7u8HdfcNtBLYymqZh3l0yu7MCaDAY3AOKhaHpNDdNZskURKD6FgQRC74N7t0UaLbhtNSbTacg2xRFESdESirNpyVSTi1KacCKOOs9cN4jUxpVYGp/fhbRoi8/vywWdMFkaj7N/fXrz6YvRcUtmzYi33xaydL9+cKsjupWg/al6jQdC4AWVnNqgZvTzO6X9+RaPNkWEc1pMKDOvl0d36kXnthQkMfWBQENGO0ALYOWSBnS8ArpsDTXTcu8stSjNAXacDjMsAyhIV4IaKKaNJfSjom0mqaOi1ZPrf5A2hWlpcbR6qlV+DRSiakVZ8ckSWZP9ftJP6jCWvOkRWkQsGdxzphTBVpfOhQijOgolZ7qigp8IBP4CErZh39QX1pTuKTKN53muh3QFV/SNiUSVltypXzT1xoXoe93u93RU/OT1uXl5Vdh/NRAlrvGupHv+/O5.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@6cuFMVmq80jBDOKkTrijXMpUwpoRY/5RWtFA2SlAugOZWhdUd2udAYV0IRal0RXhFauKG5/XxuHGgsqgIt1DSLKy5sTh2gJdWicTsU9pqmPotm2/Zn0CSlyhaVpEFMAM2qIq3PhZ5ahdYaJJVdRVpqOZJ8/DYCi+vT15rkSoknWr9KNM+hrIq0NG3QYmblDmlV5KDVn0FTShmHGKMWrwRN+N0wYKynokgp21ZQxJSSmW5f2fBgNLycRjhvzW0x9/25sIHHlZpe/buGAQFtfvkb+l9Rfvn9W4Ti7bT7u8FgcHd/OBqL8u1jHvplIcxPqeittO8AK7r7fiiaFQQBi57HWBDMZm+kfR/oDmUDFgsKUH4HAWw6ezPtbqC7OxAtKGLBdDot7igN8vs30u4HzzvQeitI04B6aSqnlpRyRhmlb6XB0A4/ttlMTiGZuqmXJB5kBVP61rU22K5xBGlARWg1rabh24j5NHzzN5i2/yM7TfWNkTQIOWiZTtv/eGwWDf9SYzDt7dW0mvZ/wevPEqY/FB)?SUVORK5CYII=$/9j/2wCE?gGBgYGBggGBggMCAcIDA4KCAgKDhANDQ4NDRARDA4NDQ4MEQ8SExQTEg8YGBoaGBgj;;IycnJycnJycnJycBCQgICQoJCwkJCw4LDQsOEQ4ODg4REw0NDg0NExgRDw8PDxEYFhcUFBQXFhoaGBgaGiEhICEhJycnJycnJycnJ:BABEIAIMA0gMAIgABEQECEQH/xAB8?ABBQEBAQ)))?AQIDBAUGBwgQ?EDAgMGAwQIBAUFAQ)I?QM.QUSIQYTIjFBUTJhcQcUI4EVM0JScpGhsSRissFDc4LR4RYXNZLw8REBAQACAQQCAgMB))?ECESEDEjFBYXEisQQTMlH/2gAMAw?AQECAQA/APf0iVI6AS6a6HdRkSDbRKfAXo6znMSF2e3a6tylwF6KgzPfKyEHUvMD00V8vifuz2UkcQQ34WbvrdN0BiK+vK6ZMcQtzfN69UI+J6hDqhyvumb+bRQtHvCGcyfrw21f1REAZTKJ8xjfhbm7JKmcwjYhbIWnqgy3c/JHPONNEABfNfiv1d+6bBLJvHyvnLspACI5nlmFi+7r5c7KOashil4BytfxM3NBvzbqeonklfL4bOPJQlWNG3N7qqeIhfObtu/PmkeenlcSAv8A9Swlz/5WjHUMYDkU29qN4wZCy28VlhgUpzCNPrme3kz9nWvSVswF7uWYpb+HTRmReDsM9+bZ9NQJo4gbncvJOOoWdVVZbt8xNdU4sRYo8tnMr2780ia9bXDoPeI7NqoDrGj9FnPUFGxgTMDacV+bvzVSauY2eMH1SwmXX4+XQDVtopBqR7rkYa8pKj3fXhbiJXPeZLvxtlFBJ/Irqx5Ml@BfAj/?t+ykSLku5CoSXSoKEIQgETXdOdMJ0EphKEiTzdQEhFlTZC4XVZi5KY30dVi5oQ5UyR2zc7Mq8nE46211srBmFnEP1VJgOWTLa8d+LW2iEWX7XcsVOBHGbZ7dFnVk+cM2e2jP6t1TZ4hiMhjMt3z8rKOJxlAjlNspvwg/RLDcsrfx1pXjOSj4ojzlN9l9bM/qoJaqaerLJrpYo3to/qlqckJFIPFlNsmqrO7TPmAmB5n8LNe2Xun8eUVt8IKmGfOIZuHr6pSmemtDmvy+bum1NRVZX3lrZtfRVKnOMo5uHXmgmnYbOVDnDOJBw3Z8/or2QDmKov8W3D6Lj8ErakKl4N4+SR8uS9ms3N2XXGD5BDebsr9Gv+aZlxU+GW8Zx/lB@0lQTbti7Zxa9r9bKIGmoYzz24b8uROzclqPKUMLZzbNbi6LJqxcrcbEF+Ine9r9k2DKSczyzqivkIGORn4n6dL90wZRzE5X8Ldddeqhqc1xOC5cWXj6M3VRyTBNUNpmfRs3on6Q2tOLLlzeHk2fursZPHE43Ys2vLosYal8+UGzD+S0qVnlmb7vnySU6Xl2NOXwI/wALfspcyrQv8IPwspMyRpS8T6TM6co7p7IPlOQkQgpHURKQlCboMyRGoSTzULoQ5UhcnUBM1nu6mfk6gexOw/JCPIhOGgi3FzWdWSDTZiu+98uyvkRCThZgb7xLNr8pu+RmL+buliPPwip6ljlfejvZf5uTMoq34vBEDDu7kopY5adx0beH37Ppdk6qdoabLmfMXCR+vS6VFbxds2tMt1GN8xHbr59FUkqDCoyQmw/ytpa3NEu9nq2IWfdxfOwiyqvAfvW9kZ8ode6fwjWRqClMRkccgFxHbmShq5R0PTNrl8mZ+fzUJS6jGPhF7l3T6gW3TzX8Og9b9XdBU+E2grQnkb6y+W2rsXl2XWFWjSygdQ7ZSJm87rBwhqfPFxE9T9yzO3FzXSSUVLJYZLSSRv4r+HrxKPPyfhLrapVztIdxJ8pPfTV1Qqa1wEoS4eB+Dnf7qs1h/H+G2WGN+3iJ1jVkjRZ8/wBcT/3/ANk2Et8pIZmGNoJn48jvz5X+6msbQE;LZStxdrc1UacQFpJA+MbO3k3ZEbVNRmyiWUW4cvK7KQ1uQhBw6tcnzP6K/TOMZN81gx8HjJ7gzfqtaiMpHKUr5BbskOnp2ET/CD8LfspFHD9TH+Fv2UrJrRniJBUjKMVIyEkOQhCDjSVeRWlXl5IMyU5CUOZOmdVSNCtleU7lwv6KKPNmf8A3THk4X9FD7xyEW1vZIZammOI2feN+aoTR0cfjfP9rR+XZPqDciy30626LPquJnyO7v56aJUeWW/QmlKaTgs;7Nr+nNJUw5nfmeVm66a83VKYtGG3EI8Xe7pJDyQtztl6vzdOiNJDNBA76OZEz+Dpd1TqG1YrPxX56OzKKnqHGdyEchEPiv3TK+pOWc4o8xZBbi7l3ZL7NrPlppSk0fr+nVPxCRhsAM+TTht0QVSQSbupZ4ydv7qSpOLO5WzacOun/zpxVRqyWIwkikcJCK4jbsukpsZCkhjjkjzb523pWuT35aLnaenhrJGKbMOr8vLopKqQoy1LNl/fpySWbG9OmrpcpuRH23cVtbv9rRcziBSS1DcV9f3dadDNT7kM4ynNI3iN7vflZk2rheBzns3NhG+rKPwFGVjuEWZn8+dvJalPJLfdyXB7Nl6NZlTmoqsCiKYGyWYxP5qwBbwnNtX5CX/?nELOYRs7C/m9+b2VyCqIBALeN266rKlzSyCVuHl8lbhNt5vOgDa/7pCvRqZ/4eL8A/spmdU6ST+Fg1+wP7KcTSNHH19LQp7KACUwoSSnoSIQecopB0UqaTaIJWTUjzWbIT3W3Ux6OsaoB7pKqdWaQvJwv6KtvHF83XolN3s6rm+iTaC1O8g3zXa1uJn6qjPK5eBuInskl5KMWyNmtr+yWGWqpkZTnm7ZW9W6JkpHbgbQWyi36pZAIx3Qd7n3TpgGODhd/XvZSbNVd3MWQAcd79rNyZRPJDkLVxkEvBfQvR1YgIfrZbfdEf90T029Icotw9m5OgijWyDVhuiG0t+qzXKW5R347sI2/stGbD5yNyB37c9dVTOI6cx+3zHP8AdSwqQZPdRk3ZcXhAv6nToihMBaU/FbN1fRNpYXzANSzcs28/t+SmqShhlfhYQG2Xz7oo0meWaEWqYY3OEbB8Txf6VdjqvpKaKnOMYowHeHe7/h+ayKuullcIQDgNsx+r8mU2F1kNJO1PIBZzbIWZ/wD1smdpZG7XHLXgMRGOUNcvhuzdX58lVNghZxF+Bhds3V7+Shp6mabED+GxRB8MdHy+rrRKgjqIj3hcYvfRtWcf7OmhTBxGPKLa8vJTQwuYbsOZf/OiCn4d3brofm6sNC4E2tm5XZJQ6enkyU8QfdAf0ZWY5FlRScAejK7A73ZKs45NSJWhVaAdFbFKtYeCoSoQkCEIQEUgZmWZVU/PRbChkiayEeeHdHKzwvqqJCulqqXR9FjzU7i/JNsUs8NVmkPNNJuHzVk43URA6RHYpvG4Nm89fRJUFwtpw2e3mrRDwqrKL5deSdKbeGfDExPlLvm17vyUsozDGYxlxX8TeXROgiKQ3y3yg9/V1PHEwlye/wBlu/dOtN17JTCBG/cG4vJ7LN9zKEil8YXfN1tmda9JTvnmIgc2J/R9FONHJmYraXcrN2ZrMyO7k6Y2zw5yURN33TOWr2j9G6LJaeUZWhnFy14czcruuz+g;J5gkKMyvmyv1fyWLi+H1v1fDKAM/GPCXzR37L22NCHBAl3c1ux/koMYwneD7zTtxhrp1bqs7B8WrRIqWKTeZb/?zft9266DCsT35HvR+LDfPH/dk298peENJXSUscdNuhzyuxFbR83d/ktaRymjzfaLxP6LnDqwLFW3Q+F3/Xn+S33lbdiAdvzsjPz8aEvpG7sJaNbq6czOmsBXzKyET6aJgizAL2H0WvSxclXpKZ7DotmCHknyLPSwt5SxBopkjJUq3JoIQhBQhCEAIQhARSRsTLNqaXnotdRSRsTIR54bjl5oNeSpnG910FTT89FmyQPfkksU88NVmGGijkpyyDlG+vJabU2YuWinjpms2n/CQyYbZtLSgIPmHX7Ts3dL@byZNLZH8Tc7LaGBtbtooJm55eZJLupP69TSnFTtGD8WnL591HNMwC4jblbMpDc8pfl6OoTgb/ELxc2Sao1dccIxc8pGJeJlUOmzSNmd8zuzq7nijHLdsv9mTYpA46gx8LW18+yNE7fDk8UwWWkJ6+kb7TZu7Pzd28lbjmlLDXrtPeIOA/wCa/ddPFGVWJbuJyjHhLTuubqaWpppZaXI+Tnl+alxu5q+Z+jbhz9qeDUzzVUs9n4G/qXTRURgA9r9VVwSnkCDNk8RcV+vZbYBPMXF6ZU3LduvQmCuFO9+bfJaVNRv2VinonHpqtOGBhZtESJun0tkgp2AW0VqyLJUq3MZAhCEFCEIQAhCEAIQhACEIQ.kTWVOWlbstNMcGQZlhKzY6dg/dOkFoY5ZRZswiR/Nmuru7ZQVcf8ACzf5Z/s6DZhp5fs7tZ7R9q8Cix3C8Jwj3WfeN.tROEt4jKP7mXmOnEtfZHaxtrMJmrJaUqKtpJ5KOtpXLPkmitfKdtWsTLzfY7BtvP+2H05s9tPJS08EdXLDg0dJEX1Ukm8y1BFn4srl4ea9I9luGYHDsXhlZhBHJ78z1dZJMTHIdUVgnzl/KQZW9EgzxaZNJJ0fJzvy5Lzh9uqiXbL6E92D6ImrJMMhxDM+b3mGMCKP7vjNhXq21eKQ4Hs1iWLGw/wNOcocuI7cAf6jsy8BxHD9pYNgaQD2crYarDZvpn6Ykkhy7zMU0spxi+e2Uv0a6UydN7a2HgOQA4i8utlzftFx+o2MwOlrqCnCrqKmsjpTp5MzeOOSThya3vHZdRslXhtDhlJjEfCNTCE34c4s5N8n0WF7Uo4z/6P4WzFtNho8uf1vNJybhigqNvqfD/Z9LtvgoDOeWEvdJn4c0k0cBxnkfxBnf8AJdjilBFUn7zHwyWbp4r/APC+f/aHh1TsFFjezQCRYBtE0dZhWVmyQVEVRFJPD6ZB/LL5r6Tp4iyZTb8KDrjufdrznajaLGMCxnAdnsEoqWoqcY34h72RgAblhJtY26sT9FLBtjjuz+PYdhO2+FQUdPixtDQYrQSlLTtM/wDgzNKIkLu9tfPtd2h26AY/ab7PyN2Fs9bxcm+rBVfbVPT42Gzmx+EVIyY7V4nDURRwuxnF.cse+Nh8LM8jFq7Xyv2dKfj03roRsuP2t2yxDC8Yw7ZPZmijxDaLEgOcRqDcKemgBn+PUZGzWdxdmZrcud7M/aryqrIcJ9utLV4gbRU+L4Q9NQSyWyFMB8UQl97h5fzMhJJprYPtntFQbS0uyO3lHSU9diUZy4VX4YUhUs278cJDPxgTefP5su/Xk3tDb6X9p2wGFYdL/G4fPPXVu74t3Bmgk+J91jGAxXrKCvMMU9qOIYX7QZdmJ6GD6FhrKHD5sQzHvRkxCn38PD4bZhK/kpfaZ7S8Q2KqIqXCKGGukjpffsQ35GO6iOeOlgy5PvyEX5LmNpsDPHsV9rdNBm97pY8ErqTJ497TUZzcH9K57F6us2n9me1e3uJR7uoxOXDqKm/yaI4f6586A+jKOYqikp6g2ZiljCQrcmchYnt+aFFhf8A4yj/AMiL+hkIC2hMQgHoTEIB6ExCAehMQgHJpgJiQG3CTPm+aEIDOwTZ/CNnMMiwbBqb3bD4XN44M5yW3hOZ8UxGT3In5umYFs3guzVEWHYJS+60ZSFNud5JILGds2XemeVn7NotRCCM7Gdn8I2hoDwzGKZqmikIDkhzmGbdkxhm3ZC9mKz25K5PRUtVTyUlREMkEwFFJH0cDbKQ/NlKhA0z8C2fwjZvDYsJwWm92oYXLdQ55JMuct4XFMRl4ivzTsUwHCca9y+kqdpvo6qixCj4jDJUwfVyfDIc2XN4Su3dleQgrJ2i2V2f2sowoNoKIaymjNpYxzHGQnbLwnCQH+q2UxCAwdpthtltsSpj2joPfSo8/u776aLLvMuf6iSPnkbmk2e2F2R2UPe4BhUNJP4PeOKWbKX2d7MRnb5rfQgHrH2k2awLajD/AHLHqGOtgC5x58wkBW8QHG4mL+jrVQgOb2O2N2Y2Xpd7gWHR0k1Q3xpuOSQv5d5MRll+dl06YhAUaXAsKo8SxLF6enYa7GGh+kZcxk0vuwPDDcDJwHKGnCzX6qjLsTsvNs2OyJ4eP0ENv4IZJQa7Sb/6wDaT6zi8S3EIAiiCGIIYuGOMWAB1ewi2jaoQhAf/2Q==$/9j/2wCE?YEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSgBBwcHCggKEwoKEygaFhooKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKP/BABEIAF4AyAMAIgABEQECEQH/xABg?ADAQEBAQEB)))AQIDBAYFBwgQ?EDAwIDAwYJBg8))BAgM.RIFIQYTMRQiQTJRYXGBkQcWIyUmM0KhsRU2UmJ0syQnRVNUZHJzhZWisrTR0v/a?wD?AB?I?D8A/qk)QKTclVAoVybiyFkMu4XMsgzHcZrkMxzHkO4GwGWQZAI0AgeQrhYoVxXFcLiKuBIguIsCcgyC4y7gQO4XAsCHOaxquc5Gt6qt7Ih82XX9Ojk5faEnl/QgRZPwGB9UDh07UO2yzx8iSHlY/WbO3v4eHQBgdwhkqpKgJSHDcYyOMnOGh5P4WKyoouAtRqKOpmpps4GtlherHtvMxq2VN+l0MPiOzL85uKf8AM3f9HL8NEn8W+qf3lN/yIz1zpO/7RZWQ0a254/WeFOwaPXVUPEfEvMggkkb84uts1VS+x6XhGolqOFtHmmkdJK+jhc971XJzlYirdfFTl4pk+jmq/skv+xTPgx/0T0T9hg/dtKR1zTA9Jktuo2u26nNnsPPoVcMTyXM16q4s19mlapHFHSOgxpqmPOJ2USKu6bt38x3fGev0784NGqIWf0qj+Xi9aoneanrQw4fd9NOLP7dL+5Q9UxxVycTn0nW9O1aPPTa2Go2+w7vJ629U9p9K54qOOGL4@5MUcfM0hz34tTvLzmpdfOp7G5KkqhtcVyLiRdyFUzL9pGZMj+8ck9QjXgikKqIduY8jgZN0NFlS3UY73OvMrM+d2pDZkm3UpCkPPaJp1PrNTqdRqfOquTXzQxskldgxrXbWbex6ulp4KWPCmhjiZ+o1G/geW4JlTla5df5WqU/1IfeqNTpqWPmVU0cEX6cj0b+JYzLTJPpHrX6rYPva4D5nCuoU+pcScQT0UrZqe1O1sjemzXXsAyT1hClEOuZuAlxjL0NL7GEj1su3dOd6jQ81x5oDuJ+GKzSO19jdULG5J+XzMFZI1/k3S/k26+J574vcZ/a45id/g0X/s/QJ7cvPwOFyuzbmid7oGVjdu54uo4e4oqaaanqeLo5IpWLG/5rY3ZUsvRx6nRKT8naVRUXM5nZoGQ528rFqJe3h0OpzFNmxfJ9PAtFU12QGKl13KyTJNwSNMMreH3lsjTFuxo3clzkPH11NrekcQanqml0lNqVLWrFnBzuXM1WMRuyr3V850UHHej9o7Lqrp9HrP5rUI1i9zvJVPaeoaxt3beNkM6ygpNQi7PWUsNTTu8qOViPb7lNLGOZ5iKZkvwtQcqRr43aE9zXNX+sN3RT27VS/U8roHA2h8P8Qu1TSKaSmklgdA6JsirFirmuVUat7LdvhZOux6h9mvbt3fHchxKuKkcnnJY5tr3RF9ZnUWa/Fqe0x3IsYudY1kf317x8+pajLYr1OvBThrHpdG2XZVuU1phK/bc0i8lAncuw6RUe1G2XYdVE7DKy7F2G1/cuCtTs/gXRu2ccvO+Swsp10Ma4Ltuo7GjJEc5LHj04b1mGor/nzslDVVktTyqWJOZ33X3evRbW6IfXoeC9FgYlRUQSV9Vb66tkWZ3uXb7j7ldE7lo5qeT1Ijqf4OkeK5dBoD5cXLkd+nNZHCkcTGsY37LUsiewC6FitiuAFs8lDqM3r6DQlxm7coyRFxOd6OxVmK+s61JsYOYCKc08Kup1a3rY4MJJZYsmK3Dqqn10JczcMDRrjglZuSxu51SN3IazqaYlZbGK233QnwQU8TGNduuXgOFq4IdKRoiZIc6yqq4qZuXc0iX0mEv12IN7kqG6RpY51lW52paw+7fqhg5VwUlE+TV1yOUiiWRTpVu40ZuRTv7iHSxpk6MbXZEY7kuhZe+Dd/QdGK3HgJEsXa5zNia1e61PYhasN8dysQKaljkWBl/Ib7i2tN1YLECuhOOw2wx38hvuNG9CrAPr1G1AGgAUMSlCEqAQCl2FYhWgQpDjWwrAjRnO5plKncdt4HWpCtGiAp8Zj++rpUX0IdMCr;7Wsd+JOJu6RHeBi2NW+J8yoY6OVH2FGx002WK4n1MAwLSXbpuZrDv12OOWFXRr5zlydy1jxU+tgGHoG2S2yidFfdDkpo1YxPP1OtiFYF4kOdfcbWWJxNMR2KRDM1RCbDshQCKsTYWJYrAFhWGiD?G?Aw?AY?CsAhF?EWFYs?zsKxpYBgZ4hiXYPEYibBYuw7DFYiw7FAILCsUACG))?AD)P/Z!