C# : Lambda

[".0s4*0|collections;datetime-format;lambda",["F@eTU","HAFAPEECIALALCMGLAOEHAOGECJA","OBOBOBCSTUUUUTTUUUUYFGHDADHDADHDADGDFOCOBOBCOCCCPGDGDGDGDFAOOCBOCBCEPFAOOBCBCEPADADFOCWSTTUUUUTTUUUU","ewrtr..efhdrjds.",".NET","Array","Dictionary","List","String","2D","Async","Console","DataTable","Dates","DateTime","Enum","File","For","Foreach","Format","IEnumerable","If","IndexOf","Lambda","LINQ","Optimization","Parse","Path","Process","Property","Random","Regex","Replace","Sort","Split","Static","Substring","Switch","Tuple","While","Action."," This is a function object. Action objects return no values. The Action type is similar to a void method. This generic type is found in the System namespace. ","Void ","void","To specify an Action,"," we must have no return value. The Action must never return a value onto the evaluation stack. Often we use lambdas to specify Actions. ","Lambdas ","lambda","Start."," The Actions point to anonymous functions. These functions cannot return values onto the evaluation stack. An Action instance can receive parameters, but cannot return values. ","Return ","return","So: ","An Action instance is similar to a void method. The program shows how to Invoke the Action instances.","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto","Based on:"," .NET 4.6\n\n","C# program that uses Action type and Invoke","\n\nusing System;\n\nclass Program\n{\n static void Main()\n {","\n // Example Action instances.\n // ... First example uses one parameter.\n // ... Second example uses two parameters.\n // ... Third example uses no parameter.\n // ... None have results.\n ","Action","<int> example1 =\n (int x) => Console.WriteLine(","\"Write {0}\"",", x);\n ","Action","<int, int> example2 =\n (x, y) => Console.WriteLine(","\"Write {0} and {1}\"",", x, y);\n ","Action"," example3 =\n () => Console.WriteLine(","\"Done\"",");","\n // Call the anonymous methods.\n ","example1.Invoke(1);\n example2.Invoke(2, 3);\n example3.Invoke();\n }\n}\n\n","Output","\n\nWrite 1\nWrite 2 and 3\nDone","Notes, above program."," We use Action with 3 lambda expressions. The first Action instance uses the constructed type Action<int>, and an explicit parameter list in the lambda expression. ","And: ","It receives one argument when invoked. It returns no result\u2014it is a void delegate method.","Notes, continued."," The second and third Action instances also return no value. The second Action receives 2 int parameters. The third Action receives no parameters. ","Int ","int","Notes, Invoke."," The Invoke method receives a number of arguments equal to the specific type of Action. We must specify these arguments in the Action type declaration. ","Generic Method ","generic-method","Tip: ","This information is determined at compile-time, before runtime. If a program compiles, it uses the correct argument types.","A benchmark."," How much slower are delegate method calls than direct method calls? To test this, we use the Action type with a single parameter. ","Overview: ","This program introduces the Method1 method, which contains some dummy code for testing.","First: ","In the first loop, Method1 (which uses no Action) is called directly 100 million times.","Second: ","In the second loop, an Action instance that points to Method1 is invoked the same number of times.","C# program that tests Action invocation","\n\nusing System;\nusing System.Diagnostics;\n\nclass Program\n{\n const int _max = 100000000;\n static void Main()\n {","\n // Create Action delegate for Method1.\n ","Action<int> action = new Action<int>(Method1);\n\n var s1 = Stopwatch.StartNew();\n for (int i = 0; i < _max; i++)\n {","\n // Direct call.\n ","Method1(5);\n }\n s1.Stop();\n var s2 = Stopwatch.StartNew();\n for (int i = 0; i < _max; i++)\n {","\n // Delegate call.\n ","action.Invoke(5);\n }\n s2.Stop();\n Console.WriteLine(((double)(s1.Elapsed.TotalMilliseconds * 1000 * 1000) /\n _max).ToString(\"0.00 ns\"));\n Console.WriteLine(((double)(s2.Elapsed.TotalMilliseconds * 1000 * 1000) /\n _max).ToString(\"0.00 ns\"));\n Console.Read();\n }\n\n static void Method1(int param)\n {","\n // Dummy.\n ","if (param == -1)\n {\n throw new Exception();\n }\n }\n}\n\n","Output","\n\n","0.32 ns\n3.52 ns","Notes, above benchmark."," For a method with one parameter and no return value, the Action invocation costs more than 3 ns extra each time. This is unlikely to cause many performance problems.","Funcs."," What is the difference between Action and Func? The Action type receives parameters but does not return a parameter. Func receives parameters and returns a result value. ","So: ","An Action instance never returns anything, while the Func always returns something.","Func ","func","Abstract."," Next, we compare abstract methods. An Action<int> can be an instance that points to any function that receives an int parameter. ","However: ","You can design an abstract class with an abstract method that also can be used in this way.","Abstract ","abstract","Next: ","In the following program, we test such an abstract class against an Action<int>.","Benchmark ","benchmark","C# program that benchmarks abstract","\n\nusing System;\nusing System.Diagnostics;\n\nabstract class A\n{\n public abstract void MethodA(int y);\n}\n\nclass AB : A\n{\n public override void MethodA(int y)\n {\n }\n}\n\nclass Program\n{\n static void MethodA(int y)\n {\n }\n\n static void Main()\n {\n A abst = new AB();\n abst.MethodA(0);\n\n Action<int> action = new Action<int>(MethodA);\n action.Invoke(0);\n\n const int max = 100000000;\n var s1 = Stopwatch.StartNew();\n for (int i = 0; i < max; i++)\n {\n abst.MethodA(i);\n abst.MethodA(i);\n }\n s1.Stop();\n var s2 = Stopwatch.StartNew();\n for (int i = 0; i < max; i++)\n {\n action.Invoke(i);\n action.Invoke(i);\n }\n s2.Stop();\n Console.WriteLine(((double)(s1.Elapsed.TotalMilliseconds * 1000000) /\n max).ToString(\"0.00 ns\"));\n Console.WriteLine(((double)(s2.Elapsed.TotalMilliseconds * 1000000) /\n max).ToString(\"0.00 ns\"));\n Console.Read();\n }\n}\n\n","Output","\n\n","3.54 ns\n6.68 ns","Results, above benchmark."," The Action was slower to call than the method from the abstract class reference. If you can use abstract classes instead of Actions, this will be faster.","Dictionary."," It is possible to use Action as the value in a Dictionary instance. This makes it possible to call functions by a string key. ","Dictionary ","dictionary","Here: ","In this example, we invoke two static void methods based on simple string keys.","Static Method ","static","Idea: ","You could use a Dictionary of an abstract class. Then, instantiate each method as an instance of a derived class.","Inheritance ","inheritance","C# program that uses Dictionary with Action","\n\nusing System;\nusing System.Collections.Generic;\n\nclass Program\n{\n static void Main()\n {\n Dictionary<string, Action> dict = new Dictionary<string, Action>();\n dict[\"cat\"] = new Action(Cat);\n dict[\"dog\"] = new Action(Dog);\n\n dict[\"cat\"].Invoke();\n dict[\"dog\"].Invoke();\n }\n\n static void Cat()\n {\n Console.WriteLine(","\"CAT\"",");\n }\n\n static void Dog()\n {\n Console.WriteLine(","\"DOG\"",");\n }\n}\n\n","Output","\n\nCAT\nDOG","A summary."," Programs use Action for many purposes. The Action type specifies a function object that can receive parameters, but never returns a value onto the stack. ","Note: ","Thanks to Turker Tunali for helping clarify the Action descriptive text. All contributions are appreciated.","Void methods."," Action instances are void methods. As higher-order procedures, they can be passed around as objects. This is powerful. ","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","3679700504","data-ad-format","link","br","ins","class","adsbygoogle","data-ad-client","ca-pub-4712093147740724","data-ad-slot","6227126509","data-ad-format","auto"],"url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJYAAABdCAMAAABw8G+nAAAAGFBMVEX///+DvOv76rDR5flpsu/a3MKayPD88s5VVf4yAAABmElEQVR4Xu3aC2rDQAwGYUv7uv+NGyiw0CwZGjeMgP4n+DCDiXCuj6/13i5hqAKXpup9llOBS1X1Hq2gCgITVOVc/edmqbL2ooYrtqhU+NtVK7BZ1DVKhp85Coafj41y4ef3igWWWdGVe5XCXy9dobcF4ZsPjAPzXRzYvLlGrvfC7zc3bwYmsJ5dGYfAFBaH77A4MIfFLofF4UssDt9hcfgOiwMTWL92jbsDypvh582tP/1J4bDY5bA4MIXFgU2FxW/WaA6LA1NYHFgzWPy8wmI99kplbjcv3NsQ2IhDWLbrmLu/56xGSVXm+vBVzXuOPR/LT54YvNbPqswlsc6qsd+FDusce+45rHPse1Jb7Rz7TkthnbPaKoPFKoPFsTuseBX7uhxW6xC7cFVjVtJVPUFlsDh2hdUgdoPFsRssjt1gcewOKyB2gcVZGSxWCYOsqqrq/CfJV/lZ/cd+n8VZ+a5IUAkuyEpwgcpxQezWAmJ3lhlK7PxRICArRbX3r2IWZeW7ripbkJXmApXmApXrusptQVaa6w3VFyLLQb5f38LoAAAAAElFTkSuQmCC)","url(data:image/jpeg;base64,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)"]

["url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAB4BAMAAADS7QcCAAAAGFBMVEX///95cvSaspm/zr6ppPiuqvilofiMhfa6xS0cAAAAfUlEQVR42u3XsQmAMBgF4V9xAAOCfVxAdAEdQtwg1il0fsHS8IpIsLob4OvPnKy1V7WXWR9ER8oMs8hbZ6ImZUYTTTAwMDAwMDAwMDAwMDAfmX4T7Tl3V+o1iYieKifLYs5NFLOYxUQrDAwMDAwMDAwMDAwMzA/MFUSx0GveDtlxrtujxRkAAAAASUVORK5CYII=)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAABLCAMAAADu113MAAAAMFBMVEX////5//7k//7Z//7w///e8uHO69Dm9Ofv+PDT7dT5/PnZ79rL6czI//3Q8NzX9+3Xrv9VAAAC+0lEQVR4Xu3a+26DIBTAYc6Fu7bv/7YbKz2BFic10+LS35/VmC8EtSqqUXDWOfUQMCKrUXNxShkLBYBp/glhSLOd7vkgAJwlGNYsajGPrA5Tmb4BYC6j4dB6qgoy0CMPtanRVqWoRuMugGDjMweQumeHpGV27Do/gtNptB7AtyvW6+i4J1rAfrpVgpHmW1tHmvZDuwyu0EzfzbnNc5p2m9N2WkCLevPVo1bDMWjqRofHKZ0CKtWkjkCL+tWjGLkjlmo4DE29aKUr85OaQB2CFvVrJ7QOBYCzGkGNhZaCs7b1f5pZAAehSdC79EEjSSdC4wfddRZrHaO2LlSnMSMiM0MXulCrdrpdjFEzMz7GwtOSK5+KJW+hmKOY02W+ROtcvEhXwhRVoVIwLXZBpKewccu3comvMy6R66ZXutD8HK2hsR8dYgMQUdqGpi1o7EHrNMymCfAjo93iQd6Bxg50FHOj66joYJYB5h1oXEd7Mbe6vgONS+jOzA5oX9U+h15AG/807ojIjDmT8rlqzwQwdRdKrb4OiNUzYq4frR1/53z9I9zfcCNLsHwbL8dJNfpbtA8qk2KpiaLhI9GIK2jBca7UGOGUHYDGdXQsXbrkhLegc8to2RsAOOVaaDgYLS2hPWR06mF+OPEMhZa3JJA7A1pccM+soWFnNK+irTohOpwW/UF/0PyP0dxG48Bo5iU0dqLpSDTn2mhMnRCdOhs6dy60dEo0/j80nRP9QeNuaDgjOggaSYLB0a6F5iPQYupCu9YjGxRmwsHRpoWmAdCUErQcox7qEj3jGOjshudFU66BnvmRCMrZOl9IvLX61jWVNXxvA5qKoLFoSjtZhkDX68X8fEckrte+kfJTd1lN9/4C7aaHTNRaXy6m/vhZvlvfgqZf0fAiWpkXvthuRRP9GZpVyu6Ppi40pTrRyu+MJlpHU64b7X5Fz2OilTsjWjlzQrQK+lxoYZum+dpCo1LQn6prbmpv7chZ7UVu8iIoQKSCS4igxiuk2qOjpC/q0/WPOTPkGQAAAABJRU5ErkJggg==)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAABFCAMAAAAIJEiLAAAAGFBMVEUAru+g2Pf///8xt/BpxvPS6/vp9f0TtPCISbH1AAADCklEQVR4Xu2bwY7CMAxEPWM7/P8fr9baaNSG0lIQK6q8U2vhxk9ODD1gJBE3uwS3AEkjwy5EkCajqzgZ7GLAwi5G2M2uxceEJpPJZDKZTCYTzzCBsH8kAMCeA0OOJykNkLDP4iZAMu05UjkyYnMZveyEX3QJf9iVJN6npIC6FNTtWfSI/aeRfLsSpCAnup0nyF4nPqwkAwwV5ctKrS9G4qNKPtT/+nEK9t44/0EJ2mUiFTyr1EoEdSGlQGYi+t0vpRSFS6k+CZgwh5K1FJCJRkrJ7zYk7kQdiCeUUIskCSlFY8EWmiJCpy89WaRLiEruoLEjJfRNLxTesxRjdpB0r4ueB4p4rJTrQj0poHXuKG0UGsOcapXnh5WcJEDSajnNQWQJ+LaSUBG5Dsooc6EUW3W2laqziMNKlqVElFJ/ZLoavjkeCrhBn0OPRbm11VdeSknjZXfnPa0EsjUyuhLU5bp8rFQRnfqm5HIKXayVsmeLjfZBzT2mFCyslLSUtvUjJSwqVV810BRbKSkslBirOuHHvyb+Th/qLvtSUewqtVWl6rB6V7EYlRReo4TnycWaySqRgntKeU/JTNGm2FElzYfzSlFr9p7FaSVdKMozSvmykpPE+5TaQqmbfXbjWWoy6XCKUxtPUXxUqWmBrqTSTyvFYuItYu3cxItM2DE4KLk2zxmloLwxDnFQOUpaUwnjC8dZpdh+gMrZVjL2ZL2gVreaV4aUtCHF+GD1lvQTStCrE5kIiwio41nh3yjivpKqBiA5/IWS42+8ODLDWeC8Uq0lIGPFNpU82VFMAbnrYO3+HlJ393GSGJUMg1KRO0qDU7oVUJ5yNDfExhnzPKwUoxJWr3HMUAL2lAq0ITNaTxveanPndUmxtBeJACL8bvRQri9DgNIetcm1HYdp+w3kOMmgkHBW8BsInbhHX0Ge39EkGeRDI0DD4YucfLgTLOD2VU7QTRkNSgj7JkAogMHIIsK+DSwEZPR+JpPJZDKZTG7XEwq7GG6wi4Er/n+J7VJO0Wgk4Vf5L6CD5A+G4BPe8JfzjgAAAABJRU5ErkJggg==)","url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAACNCAMAAADrVuThAAAAYFBMVEX////4x9v2s9D85e761OP97fP++fvEwIH0msH+8/fe2HbRy3zq4XH71I6VlZWhoZq9vKWxsbHNzc3PzKXi4uKxr5Lx8fH28bD4+Pjd2anp5a3/+rP06HCa9NH/9Gj/9429Bui2AAAD/0lEQVR4AdzYa4viMBTG8bwr1OE5J9dexul+/2+5GGZhbepYY8Rn+n9hQAj05wnWal5REkmXNYgzh8sBWWWB0RytUWxGOag5Xi7kJVjz3j5fkfq8+Ly8r5fidDowTubj4gZ8/grcMHnVGKOqn3aMI2bcJL8AN6ngqujnPTiv7Lghy4rED3dx0XPjBsWtxN/DYaLGTYIfkpsXn+EzZmLcoLiT/oTzGHhxg+Bucfv6ccGpfNLisq1Sl0cqkQlXYQO2BAM0v9DiIna2QZgvb3penMfupsIWIaqyH4f/+3qiP9eZ7RL2J+P1Vot/2dHsqhluPbntLB7Irv5iQKGjwgU8VLi50xLiLFA3ulEKNxsuAZWjc4WbDueAutGNWCd0OIvK0TkUseESUDk6yz85h8dL26cSyoazeDx34w6S2HCoKB8/3TCT4RJyFV8pglXWsOEcarLFp7L/t+VXERkOyYTSRoezqMoZVz4tHAUn643BHAeH4oGAESeoa7XP8ePq0yPjLCXOEkyOHecoce7IuIAmJUpcQovEUOKMoEGOFKdoUCLFhSZ3ORpc+3MZaHGuweBocO1Hl+hwQa3knrY5Q4ZLFq1S86bWuOW7s6BVcXmu9rjY0EaHQ6u6hQ/XoU39Qohb+oink+68EOJy54++P526rosxijwKi6ePJUeJKztfuP3pG5zJcgUSiTF23akvJsaB4+tvu3WX4zYMAwGYpH4wfmhP0Pufs6VKrdiFoZdULjadeXAUmA73A1aUiSOOOOKI+zK47zl4IcdwL+Rv4YgjjjjiiCOOOOKIIw45xBFHHHHE/Y84HuLEEUccccQRRxxxxBH3ZIg7hWsKmJX3xBk874kreGNcBdBi/ZY4+ZK4CkANsCqe6/e6iwiA2tRgGHFfUYzKdNcXpuOZq/qzxeuqGeJ3vMG4oX010Jp7ncRFdG0vWBNBZOFmrfV1NxYpVcQQsfFQeqwhkns9gEORPpqZX25wF2Z0h4OIYqZJvWfnXkdxpY8P9av1OUGCph97Tr1Uun/0ddcfbNIwfqdrGqtteEaDS4pXyxX/Fb3kXj9O4uIsM7/o3FB+sdJFconG31zibtSG3PfR+Br5wMksKGvwpl7fzuJCMIbAr0xcTdNyMha9LsHnoqqGkZobIA3e1esxXORVnCKyx0Wex5UXcA1j2tcXcAf3nGTL7Z7b4nzdY71wt3vu/CEerTXmoQNKxt1Pyz3uusWtaZl7PXPOlfXlBpfPuS2uzCPMkRmXzrnc66E3FN3h0hvKHrcIQPkT19JJ/xwu3i2LGmBW6x1Oms7KPa6r+Y8UtU+49W6Zex3FSWvyL3MW91iII46450PcPsQRRxxxxBFHHHHEEUccccT9BMmBXcwVjbcYAAAAAElFTkSuQmCC)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMsAAABDCAMAAAAFxgG0AAAAMFBMVEX////h4uKrq6vKy8r3+/eOpJCSkpKc06HU8dbr+Oyh46eWvZm868CGhoaMmI201rfYDxXGAAACNElEQVR4Xu3a227DIAwAUGxzT9r9/99u0GqeosysEl4hwm9VRaJDawh2zM+wcd9zDptztxKISATWTBg25q8IDwcHTUhJuVIYMa/F5hq3K1hipbgrWCz/w6a3xGrZngBPYEyyBQBpOsteLfcnxTJy9swHBsy+IKMAmC1d6EIWWJaBljHeKe2FLH8BLMuyLMuyLEuKpboQts2VJ1qPSPAXgP0e5vxjHBIBHHbJY5zCfp4+0UhfyvMVy6cHg8OTbUHqRTYexmPxbZacw9k9PUgUed7fZgnV9NIx1vIFxrHIATLlfpvCIh9qW5SSL3uJzZV4AtwjsIaqxSMRxVySh40k5woPBUgpxvjxAUSE1F6T9Sye4DQRvFAnkla891kIfi3OQbN8hywZwJKEZCChtsKUcSxSNmArW8AMZRHnvTHXZMayiFAQb3uDwSxy8UQs33kzk4VEKQ5u4ZlvW2gui5xNQ1t47PUsKFrS3BZh91mWZVmWZVmWZemzV9oLWaCHhdH3i1gY7dUsOs/8Mvp1y7IkhXOlcC5Xt/B5X8VCehb9OgzPkL5Fvz5mhV9bwaJVt5Qrv+xUsPCl+9WTjwV3DyevamtYzN6/zs/LI2O4wRtKg1fHkvr0X+ReGxLEL0gI3ODuZpE7UYe+GEqW1xvTehbOmN/jZQu7NS3CbtDXIjenXVCxMKajhTHuVJKzioVXyux6WDhS1YSDBje1vfK47p8EgmlF+3WhykCC/329yZUb83tKZYn+BEC7wdLf6AjIAAAAAElFTkSuQmCC)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOsAAACFCAMAAACNKv/NAAAAYFBMVEX/////8///1f//z////P//2f//5v//4v//+f/M2v/W4f//6///zP9eXl45OTn9/f3f6P/s8f/q6ur7+/v+/v79/v+QkJDQ3f/x9f/+//+fn5/8/Pz4+v/7/P/39/e9vb3JuSWtAAADnklEQVR4AezasarFIBCEYVu3UVFJggn3/d/yLBZyiygKB06GzF/bfK075jslzTlXtNiraPomaQa5Sm3QEbdi8al2pob9u4/WB1Wpk1bF4lvjlDWCW9OyNUFby7S14FvjpDWiW92S1dGKYqWVVlpppZVWWmmllVZaaaUVNFpppZVWWgH/h9fD/fdfD/eeg9qiFZm6fn991YbgV9HKHQz3TQ2r3H7OIVDP4GWzdhMfzgG2aoelh1OPIPZfEo4utjZgPp26N2nT7qajHQQgzd7e5LPphOrULrG3yWVgG1Bfgs1iu0n+UGN2y42DMBj9BEiQWvZs05m0zUXf/zG3Y1fYqG28NL7YnpsAEcyc4U8Yuww8M+AX4Pdqwx/sIjoj+P95Od3k5X5XWkAXyfXq5Hwdx2kcr2dsebjt+vB6tyvrDLognWH8hLfLZFzeUHk87fD4+1zP47Qynven1XgAPEQyQ2njmgcRISykQWaoABR0hqjU5VykAImWqIHqwMNST0iDzgQi9PK0qBrjk+XAp11cblxYK1HM1QiEd/KmAayGWHmIShJ8L9pEklbQy2VquTRLuGcRk27JzlVjalSVnatB0vQqQIl6iOt58pybC6fj2knakJyrCop2u2oGsh7jep0817pdezesNpB3DRh+4MqAHuQ6Tp4RM8/7rs+fXSNz8K6VImbNHG67Bq4N7d6gY1wNzJz+AbSU5bj0rjmFamGE7M7hqhaooJCIsHONWd6hO87h6UDXIX65hgXZnHQl0vZ+tWImILFusZWfO+7XznntX8PVxLtagVLUFXauvmiswxzvOv70bOJvXdlahkbC2ofGtWiLk7NqSDjsHO6/c2wZZueazZBSKcLxk2sUsuLqEsm5amDmKLXKctD92pFLeFcONg/yxQxFZnauNvXOld3Ja5F0fN7UnyOytnhXBqmx59rYxW8SksPy4f7cf9hxpVaDrYdzRfSu0tTW/w975/S/6VK86ZrRuMZiPbyreNcUGtf6/3Hv19fet7o9R0IOHxcjBzWYABSO1bwAazYxbF0hSxTn+GGXJGyHyToTDvguccc3mEREBcD8s0AzMHydNqFtUALSGlm2gakO0c/fdu3YBAAQBqJobeP+41rbSEBETt/f4LW5bN/W3Ezdwm0cgdtVveRNsl7W1vxQ9R+C80ltHSsrKysrKysrKysrKysrKysrKysrKysrK+u1WFklSZLUp1hZWT+1srKysrKysrIO0+xfN4TEF4oAAAAASUVORK5CYII=)","url(data:image/png;base64,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)","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAABpCAMAAADflzs9AAAAVFBMVEX////2+fju9PHy9/X0+Pbx9vTo8Ozj7ejZ5uDP4tmwz8Dd6uTL3dTV49x8sJe208Wuzr/P39drpoq61chopIecw7CSvahgn4F1rJFjoYOAsppyqo9IgRfDAAACtElEQVR4Xu3XyVKEMBSF4cxh7Hn2/d9TrtE+VUhTaJrcLPIvLGXjJyegiq/0ZfPIoIBRt2sOBYzLCePzwZiA+bgwtvnBaNES5iylYUlrLbffGGnlF+YiteJKNyPMWUjNkh0wu18YprTNCCM1PwZpZfLBmJwwumAKpmAKpmCSVzAFUzAF47oQvlgCcEMrYtxfMBboVTBtTpguG4wfDCoXjCXQNMb3g6/3Iwo1Bvlq3/Wti8aIfdfVwFCghtw8BnP3JhbjCQEMLMjNYhSAdSyGFO43Zk+KvuoJs39iTLhQDT0xNSm86wM7DiPCww0MoA6fvD7A6ueOtKSPxVSkGGPa502vCTuD8T9YQ8xYDDHUGENr+Oc362cw9LNYQRHGRmJoJz/GYBwoxxgcLmepeEwYov4/pkPxmDCEeRNGxGIsTTJ/ZtJhaPbqH08T2AqAaAzt5Be+ZwxhzOjR7u3bMEG16A2MWSqBlx6qojHYff53E2YhJy68GVMBA820RVjAoXkTBqz5v2eQaseXXRU2da7831QwBbNmUjapMPK4na1pds0lFcadrgtKhTlkhPH5YIxoCXM/ve5wSIXRAbNTbjLvvFKXK3VOgJEVYRqpJ7PWmPPTsjJG2m+MsFMpZRUsqTBbIScyRmhYEmJeBEsSTAvMjCUl5jhv4cfAwo+BhR8DSzKMUMBMWh4yIeblTE2wWJEQo19gtsGihGC+M7A4wYyBZaPA4JsJG/HfGVj4McfReeF66cGygYURc8RG3BicF34Mzgs/BueFGwOLEvwYbMSPgYUbsx2dF14MLPyYY4eNuDH3xwGW5BhkFDmw0SLMppls20S0o84nWJZhEgQLP+bmxTLMx/qWUy8WYjbX+7pdb5VYlFau7uq12g8NH71YilHGGLlKhpJieUZbtWbWavGH5MqJuEqfDRAN8iKPPjsAAAAASUVORK5CYII=)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL4AAABBCAMAAABYbu5jAAAAMFBMVEX///+1wv+jqv9siv/p6//W3f8zZv9gb//19v9NK/8zAP999//S//8z//8zzP+z6P/0gInFAAABg0lEQVR4XtXXy1ICURAD0H7c96D+/9/KQqkhlEKD0iTrWZzKYtJXbou2s+jvn1Q55f2mfAMOb6Ec5D6+c/ObcvOdm98qN9+5+a1w842b3wo33/6Dv2H22g3zCL+PKF/uSKDsGL8pN9+5+U25+c7Nb5Wb74R8h+ki41eYLja+Qf1k/AL1k/HF4XIg4ytMFxl/X7/z8aF+Ov6A6bqR//FTnswXa2B96LmyPZtfoH4yvsDlwMaHy4GLj/Xz8RXqJ+PD5UDGh+ni448O08XEh+lSrtUVnC6qm+ey/krGx+li4+N0sfHh7Cfj43Sx8bF+Mj5OFxkf67c8frF+jJUovzRIBr/4+kovMb5YPr/OdcrUGL9k8FG/Tw3xxbP55/o1R4hfk/m6IBbii+fyJ/JnjK+5/HWRGuJLfzG+xvh6lX89f8m3GH90ar7Ya/FrkF8y+XNhRpAvlsi3+H8fUxP5A+svYb54Hl8Uy4/zNZEvCvo4XzyRLzrhXg7zNZMvw/o6ptsQpvDnE+wJyVGQ5SG7AAAAAElFTkSuQmCC)"]