C# : .NET

[".0s4*0|collections;datetime-format;collections",["F@eA","IARKECLAJAGAIAJALASEOGLA","OBOCCOSTUUUUTTUUUUYFADGRDHDGDGDGRDHDGDGDRDHDADGDADADGDRDHDGDADGDADGDFOCCOCBCEOOCCPADADADHDHDHDHDADFOCOBOBOBBBWSTTUUUUTTUUUU","f.wejtddfjs.",".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","Ref."," A ref parameter is passed as a reference, not a value. This means you can assign the parameter in the called method and have it also be assigned at the calling site. ","Parameters ","parameter","Difference."," There is a difference between ref and out. Before you can pass a ref parameter, you must assign it to a value. This is for the purpose of definite assignment analysis. ","However: ","You don't need to assign an out parameter before passing it to a method. The compiler allows this.","Out: ","The out parameter in that method must assign the parameter before returning. This is required.","This program"," defines the Program class with Main and two other methods\u2014SetString1 and SetString2. The methods have formal parameter lists with the reference parameter keywords. ","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 ref and out","\n\nusing System;\n\nclass Program\n{\n static void Main()\n {\n string value1 = ","\"cat\"",";"," // Assign string value\n ","SetString1","(","ref"," value1);"," // Pass as reference parameter\n ","Console.WriteLine(value1);"," // Write result\n\n ","string value2;"," // Unassigned string\n ","SetString2","(1, ","out"," value2);"," // Pass as out parameter\n ","Console.WriteLine(value2);"," // Write result\n ","}\n\n static void ","SetString1","(","ref"," string value)\n {\n if (value == ","\"cat\"",")"," // Test parameter value\n ","{\n Console.WriteLine(","\"Is cat\"",");\n }\n value = ","\"dog\"",";"," // Assign parameter to new value\n ","}\n\n static void ","SetString2","(int number, ","out"," string value)\n {\n if (number == 1)"," // Check int parameter\n ","{\n value = ","\"one\"",";"," // Assign out parameter\n ","}\n else\n {\n value = ","\"carrot\"",";"," // Assign out parameter\n ","}\n }\n}\n\n","Output","\n\nIs cat\ndog\none","Program notes."," SetString1 has the ref keyword in its method signature. This requires that whenever you pass a string to this method, it must be described with the ref keyword. ","Then: ","When the method is called, the storage location of the string variable is copied to the method.","Note: ","None of the characters pointed to by the string variable are copied. This is important to know for performance work.","Program notes, continued."," SetString2 has the out keyword in its signature. This means that whenever you want to call it, you must describe the string parameter with the out keyword. ","Tip: ","You do not need to assign the string parameter before sending it to SetString2.","Out ","out","However: ","You will get a compile-time error if you do not assign the string parameter before any return points.","Compile-Time Error ","compile-time-error","Definite assignment."," The compiler performs a form of static analysis called definite assignment analysis. The compiler proves that each variable is initialized to a value before it is used.","Example 2."," We can refactor code that acts upon multiple local variables or fields. We create a method with a ref argument. And then we pass each separate variable to this method. ","Warning: ","Using a loop for this pattern may be clearer and faster. If your program happens to use separate fields, though, this can help.","Note: ","The ref argument in the NullIf method both reads and writes the string. It is an input and output argument.","C# program that uses ref argument","\n\nusing System;\n\nclass Program\n{\n static void Main()\n {\n string v1 = ","\"dot\"",";\n string v2 = ","\"net\"",";\n string v3 = ","\"perls\"",";\n\n NullIf(","ref"," v1);\n NullIf(","ref"," v2);\n NullIf(","ref"," v3);\n\n Console.WriteLine(v1);\n Console.WriteLine(v2);\n Console.WriteLine(v3);\n }\n\n static void NullIf(","ref"," string value)\n {\n if (value == ","\"net\"",")\n {\n value = null;\n }\n }\n}\n\n","Output","\n\ndot\n\nperls","Implementation."," The difference between ref and out is in the C# language itself. In the intermediate language, we find that the ref and out parameters are called with the \"string&\" type. ","Note: ","The \"string\" type actually aliases the System.String type in the base class library, so it is not special-cased here.","FxCop."," The FxCop tool will warn you when you use ref and out parameters. It is considered that the best object-oriented design methodologies will return new objects. ","FxCop ","fxcop","A warning."," Ref and out can confuse the overload resolution step in the C# compiler. For this reason, it is a bad idea to mix ref and out parameters in an interface or object method group. ","Overloads ","overload","Uses."," Out is sometimes used in methods that enhance performance\u2014it can lead to simpler code. But often it makes code more complex and should be avoided. ","Parse ","parse","TryGetValue ","trygetvalue","Tester-Doer ","tester-doer","A summary."," These keywords allow you to pass variable references, as opposed to object references. The actual storage location of the variable itself is copied on the method invocations. ","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,iVBORw0KGgoAAAANSUhEUgAAAKsAAABSCAMAAAAcq9T6AAAAGFBMVEX////N7Pb2//Xi9Pju/+vx+vup3/Dl/+AUIXGLAAAC/ElEQVR4Xu3Z0Y7rMAgEUGYA5///+GrlRgqKHZom67p7O89bcYRQ1wWZJKTVkJSJQ1tqHla6Ktao+4TSpUodZRfoFGBbAlVROsG7pVw21NrTbuaiajmIzkadt61bqlHLxG210FYvh5lqAvBt6z1ZghXlc74EDqmQmUZAD63+ASMAABO0VQKVB1Pq6vNbIZOEwerjXgBfq89p1Q+y+n9t/VrNeNUatwwfYKX9ZFkWqXEF0HpNkjy3NuF2KyBPWhkTBZWw9lXbL19aXJuQrnhE1VtQcmPls1aG947pPqzWKq05WvAoGluTtGbLqmu8aW19Rmu7t4R0wbPn9q0oWbC3WttahKQERGPBk65NNPmfddZK7VVB2VsZpURS0QdYi4hGQIuqJY0OsKqUvdV21Dz4fSuwtzJSUZ4K7rbmEaG1lyY5drzVrEnNg+FWmrU3fHlUhDbQyq2VXk7Fx1u7E5BXptl1q71i1XIy/po17hVOWbO2Qt0V6XeBGV60mrt7bs3bqiIkKaKdZSpDzWaP1B+RbcJbUnKrZW11IdnFuoicf79Ga8VmVgBba4uK9cC6PiZjNFrtV6xQr4pkBES4WlsOXPi9FXd2kjyTKvVocYpglfFWyCOByl4RPiKtIUj2A1etOLE4rQWq9B1WP7EwQUxD8atWJAu+JEOt/kHWcOuZ24qeFVNbeYNV3mLVv27F3vq1SlYkj05kRRIZZrX8PZBklDVWIZEUmcdq1KO/pt1/29hSU6s83RHGA44Wv9FqZpTUmg8sVqkZZQ3CJL9029jdRFJrbCw6WJLcYDUsYEm7fIfRzk0E+pNmY72/YqsREccKQPsOg9It6i/dRNCeNfR/9P5EIwTJ7eemmwgka+z1neb9Vkkam2BpNtDKgD390h5qlXAv1LPYsVaxC1NQhlmvYzHKeh2rHGmNH7VTWPio76wYax0509LvsQrjRT4NPNS8YrWz1rVH9lRr4UnNxBqTWnvc2loq+tBe0dR6c0hWLF2RQOeKK1DFAFT9JsA/bN688UG2U60AAAAASUVORK5CYII=)","url(data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgYGBggGBggMCAcIDA4KCAgKDhANDQ4NDRARDA4NDQ4MEQ8SExQTEg8YGBoaGBgjIiIiIycnJycnJycnJyf/2wBDAQkICAkKCQsJCQsOCw0LDhEODg4OERMNDQ4NDRMYEQ8PDw8RGBYXFBQUFxYaGhgYGhohISAhIScnJycnJycnJyf/wAARCADCAQoDACIAAREBAhEB/8QAGwABAAMBAQEBAAAAAAAAAAAAAAECAwQFBgf/xAA4EAACAgAEAwUECAYDAAAAAAAAAQIRAxIhMQRBUQUTImFxMoGRoRQzUlNysdHwBiNiweHxNEKC/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAECAwQFBv/EAC0RAQEAAgEBBwEIAwEAAAAAAAABAhEDEgQTITFBUWFxFCMzUmJygZEFIrHB/9oADAMAAAERAhEAPwD9+AICUggECQVJBpJBUBOliSlkg0sCpIQkEEkgSQAhIIAEgihQEgAAAAAAAAAAAAAAAAACCt7kkNkJhZDZDaIbC0icxLZk5K0S5BPSs5EZjJzIzkrdLZSJswUyymC4t7JsyUiykQpYvZKK2TYQsCBZKEgWLAkEEhAAAAAAAAAAAAAAAAAAAKlWWMo42FifV4kZfhaf5ELSVLM5MtJmM2S0xiHLVeolIxlLxL1InInTXo8l5TKd4YymZvELTFrON1qZdTOJYhpGYuKLxu2MzRM5ITN4yKWMcsXQiyMosumQysXBCZLYVKJITJCEgAkSCCQgAAAAAAAAAAAAAAABU+D4lyg9D70+T4vhLvQ14bJbt6P+NzmOWe/XX/rx12hxWF7GLOPpJo0j27x0d8Zv8ST/ADRlj8M1ehxTwmmdcxwy85HuY8XByTdwxv8AD2sHt3HniQjNRdyS2rn6npPj1LePwZ8pgQffYf44/me3TM+Tjwlmo5+0dm4cbOnGTw9Hc+KhLqiO+i+ZxakplOmMO6x9HbHEvZm0JnFhPc6IMrYzzwdsJHRCRxYbOqDM8o5eTF0RvqaxvTy3MIyZtFu0Uc+UWqSW9/6LyVxopmklrv8A4LSvLpuQzvnEJS8Kv1onLJxab5prVlVKXhVb9fItmnT5NNcuVkl2tlk23enLURUlSeuvXyIzTtpLTloy0ZNrxLX/AAFbvSxJmnKud3rpsSm71taarzCNLgzzSqNL1bTJblTrRrbQGlwRb+QthCQQOYEgjUASAAAAAg8zH4fMnoemZOEmthvTTjzuN3HzfE8FJ3UH8DzcTgMS/YfwZ9fiYT6HPLAtm2PNY9Li7bljHyuFwOIsWDyS0kuT6npPhsRf9H8D1lw/iTrmaTwhlzWrcnbblY8F4OJ9h/Bmbi4umqfRntThR5fEx/nS935FscttOLl6rr4RhLc3gjPAjafuOmMBlfFHJl41fDR1QMYROiCMsq5c61izWL28zKOU1jVrT0KObJbMq1RaTaVpW+hXwNeRaTSjbVroQp6xCmtOr/Utn0tJ7pUUTjo9ui9dORa4VotLp0gWfC2dW1T03LRkpK9vUpmgm+ta6Fo5ZK47BWz4Tm8LlQc0m0+W7+ZW4U7jSvXTf4Fk4bLpe3IlGvhKlfLnRJSOVpNKk9Ui4RUgAIAAAAAAAAAABAAAENJ7okgJUlGEU5NaLV+48biO1ZYc77pPD5q3mr12PblFSi4vZqn7zxcfsbFxZ13sVhXq9c1emxbDp3/s6uzXi3e9v97deSGLCOJB+GaUovyatHBxHByliOSaPUWHHDhHDgqjBKMV5LRGco2xMtXwW4+S423G+Hz7PNwMCUM2Zb1RuoHT3ZKgTctr5cu7usowNoxJUDRRK2ssskKKNIpWvkVUN/Muo1T6EM7fkyrYmVVrsVyaUv3oWmrVEK+3ihRj4Wtlt7ycsUn5+ZRRdxt3W769CcmjV872Bfq0yq767hRS25f6KZLbd7kxjlVJ/ugj+Vrg9N9dafMskrvmUyp783ZCivfVX7gjXy0pKktEibMlDRK9tdicu+u4LJ7tSSq6hBVNklWQNmlwV5EhCQASAAAgAAAAEobrV7HkYn8Q9mwxu6lKSV13teD87+R6mNDvcLEw7rPFxvpao+K4vsbj8TF7mGBJtus1eD1zbGnFjhlb13Tt7Dw8HLcu+z6deXjr+fF9g6eqdp7NFXHUrw2C8Dh8HAbzPChGDl1ypKzZIzrC6lsl3PSs8pOU1omgr1M8pOUvQohG1aJI11+Qt2lXqBJEuQuVXXPoVxLrTcEnimxZmnLRfF+8hzklda+hK3S2sWjHNLV8kvjoRnnpp66MaT0t8wzGTkRmCOltmJzGGcZxo6HVF6CzPDlcSWytqmvFayLKORGYp1J6WyZNmaehZMtKrpeySiZZFkJABKAgkAQAAlBR1dXqXexz4kbC2M3WlEpExTpXvWpaiC1WiaJARtFEFgBRat+RIoBKCk+RZtLcpOS2vYJnmiyrp7kOUdFe+xRyVXehLSReyrkVcqVmcppcydLTFo5lHiGMsRa6mMsVVfImYtceN094O8OJ466lXj+ZbpadzfZ7WBO8NMs5HLwc82An5s2cjk5MtZWe1cuWOsrPlLkRmKNizG5mnRF6IsmZReiLpm0qljVFkZoujWVnVkAhZZVIAAgEkABSBIEUAAkAAEAkgCGQSyCEqySa10M8RXz3NJf3KYnIL4+jFxSry/uUa83vZozORZrFJPSmc8qXM1mzmxJFpG+EUnLfXnZzzxNKswxOO4f7fyf6HNPjMF7S+TNscL7V24cGX5b/AE6ZYi6mcsbzOSXFQfMzfERZpMK6MeG+z6nsyebhE/NnW2eb2PPNwUX/AFM77PG5797nPbKvJ5sdcuc/VUthECzHamnRHZGiMovRehdSfJHTjYxsaoujGOJrVGyNcbKzy3FkhQQLqpABKAAAAAAAAEAAAQSAlBUnm0GQlSW3nZTE5GpnNbBbG+LGRnI2aMpIltjXPM5cQ7JxOecDTGujjr5HGbsy1OzFwtTLujtlj3sc5qMNQa92yMhO1uqPpuw/+BH8TPSPP7EVcDH8TPQPn+0fjcn7r/14HaPxuT91AQDFk3j7K9C8UikfZXoXhT9fNWdGPoyqY/We86kcsazqtr0Oo24vK/VlyeiUCQbMwAAAAAAAAAACCSAAAAigSQEqlZrY0orJELSsWjNo2cSriSvK55RM3hnU4EZCdtJnp8liYepm8I7MSDvZlMj6M6up7OPJ4ebkeEVeEdndvoyHhvoyepecny9XsmNcHFf1M7Wc/Zka4RKubOmS8jxuefeZ39VeTy3fLn+6qAl2V1Oeobx9lehrhq4tfqZR9lehpBRaeZ1rpqdOHnPoxyWX1v8A6OpHJD6xVqrWp2G/F5X6suT0+gADVmAAAAAAAAAAAAAIBJAAABIVZYgCrRFFyKITtShlL0KCdvmsSDspkZ9D9C4b7v5v9R9D4b7tfM17x2ztmOvKvnsjHds+i+icP92ifouB93H4DvPg+24/lrg4GLXDpebN2jsjhYcY1GKS6JE5I/ZXwOXPi6rbvzu3NlzbyuWvOvPcWRlZ6OSPRfAnLHoin2f5O++HHFOl6F4PLvfp+2dVLoTSNJxa9VLyb9HLFfzE/M6gC+OPSrllsABZUAAAAAAAAAAAAACAAAAABgBKAAAABAAAAACRIAAEgBAAAAAAAAD/2Q==)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIwAAAB4CAAAAAAFqEXtAAAAoElEQVR4Ae3ZsQ3DIBBAUfbfwxNcfR0dEpInIiOEI7Li4v0JXv9bnLS+dp3UIke13MFErxZXi7mqzR1MX9U6DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDMyPmLyr5Q4mRrW43vUo14uCgYGBgflDMDBx0mOYvKvlc5i5qk0YGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYmHdiclTL5zAnfQArQiNkrpqF2AAAAABJRU5ErkJggg==)"]

["url(data:image/png;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAL4AAAA+CAMAAACiGlF3AAAAMFBMVEX///9uzu6E0u+v5fhCyvH95eX6yMj5+vvT7ffl9vz+8fGwyd371tbUydO22evm6/F782egAAACZklEQVR4Xu3a646rIBQF4O4Ld+x5/7c9FZOxNbhC65jsTlx/LfKJiBS8mU+IIg9Adg4AzNJJVdlV7339Lnujt7D3X8fnJv/z/It/8S/+xb/4Fz/FMANy/jJ+iPJTjrhMc7Hq8tgl/+RfnhNWS1yTW3YqfwqtfJpa4raCLSuyblMmP8fld5qrLGVWmK5Zztf1R8XB9yOS9sJLhTWb5qc+ftV4Z5ePi9JSZw1W+aI4i99nW/xRvdLCryb5cbSArwb5CbDB82uFT69Q4vII73T/cB4/Scu95QlFpeX+FNfSALIzzEcCzX8C/7NJQ+ghexfmlxjjS0+PjtniExIyGDxN8BPsHxE8vCb4grsHg8MW+IQfzmicr/jNGsBxA3zQuuDuWOLjaSWb5kt3ZME/yIb4qHHt83mYf/Ev/sUP3zRw2h73D7227E8ajM95AO/XZpzxxBkn6Bywc43zk57HJ9i8AVzdKD/QiXyBQAF9a5TPepBPgJ/AYgI8uI3s1Cd6lK/ortM+MdAbq7TSN4qO8/F/cAeq7fkTuDI4hq29NbAe5uPeE/QltDCrSwKWyMd6oYukn/KjAn9qgNxf3OdSCtPbGxSv1PIIqSI+Tm+L0IVbjMLK2bnaWWE+sr8lCgL4o6cjZgLr+8d2V/Bp6H1+PL67gt9Y480/cZePwwP8IT+Nbe2GXb3/hJ/G+NiPX7f4fq/iAvn4dJh/fFca+2nyiI/9mA++Cdh+1BCGKkzUv/g74IMExnz8Rcb6DruNJkh3uBbAh0nS0VPZUUVhXvcXp/Y5zEDDb8+hSyWlVeLeKw5MSjyr6oxqDfAfWolmXhwEpDUAAAAASUVORK5CYII=)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAAxCAMAAABqK1L5AAAAMFBMVEX///+zzvd8rvO/1fj1+P4xiu5tpfFbnfDg6/xIk++ZvvWLtvSmxvbV5Pvr8v3K3PnaFXRJAAAA1ElEQVR4Xu3W7QbEMBBG4Xcm3/3a+7/bVZRlqEI5Vs7vhIcwE+3lQbrP4/kHN2LNfbW06zcAMDTWlFnA2LDMAsbGBwaMJTqwJDqw7HRgpQNLogOdDiwHHZjowEXqflXj7r56H2hmW43AevttMIVeA+qsRyILqE4HKrxyhwG3sO1gQPt34AQ6HJgHfMxsBQ081uBrGKC7txJbAcDbjA7scOAQHGhw4DjgQBMbWMUGtswG1iw0cMsiA5dDwgLbkrJEA/rZYpb2gGMAdRMZOIETOIETOIFfGWpGTAdlDEMAAAAASUVORK5CYII=)","A","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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAAA5CAAAAABmcSrfAAAC8ElEQVR4Xu3Z263jMAwE0KhRtsBi2MrUwh5YhfYGizw8pkPZhu+uA8+fBSHIAfWyfAsfSPR9cZP2EzXv90Txw/tygwwEezyB9oreUfp89FOS0KaxHu3UpNDGMZya5C3LmUnevo3k7dtI0b6OpP+IdHfZO8AfWuwkoX0bKRpHAT01CQSyoH3qdKRg0YMqBckBVTUMnv/CAXhsJJnM47PWvEjK1pzk70UUxKfCS+8BeTxYDJAcz/h6Es2a6M/YIsmlUSyWSQ0u1LcgUVaSgov0ii+QQlsSpKQ8fijJl/9YJxKViGPjpIYjSZaPOx6TPnB4snFS8wNJSjP5PdnrckhbDMZJEhkJ/sp2ktBU2nV48mFSMyZxpiQYodQs7q2mz2czni/3YN2Z3dzSxQWtTlQkjk9J8Wx9PW4iCfeObEcO5zVE4VRfVKTCZCTaSnKqCTfZwgC1+UokNYkDMpFoG8m4JPznc1I6b6Mg1SYSbSNJsjqCmAkJ2RRDRapNJEpJVpCyvp6WWbPdbi+Ju7Oo2JfKqYTUmZEkdWpBGjWh2GdiJ0knJG60guQEGDM5kVBMpsASydeTcAhJ4+N9l7BIGooq/S4JMo9+fqnF/FrZ/wMSb7e8nE+SXZzQGdVTv6WNGamljbaB5E+7fzA5kbKiRFYQ2buIryeFPhc5MoG2T4oFXy9IfPijNrbVMr75KhKLeFahuJkUNZ1IJZK+Nh93sjCeI2nrt3D35H0pisXO0pXCqUxlNB06syKBSJMygw4qNwzfgr+/GYn9JHmDMjOaMkU8KyncuRo5qQlALb6KZMTmFj5xYExUlxTjnw60H0rqVoqGSip9nORHkmqT+NAdncQ4Cf1AUj32LKhrJapJ1o8ndZeiRFVXncK1EB1DoiBDCXoSFHAiifA8OozEgRLIvOeJqV8ZzsdWSPKZ49Z/I+HQvy5VeN01+8CUn8QDMFXA6fvSacIkykU6JBfJAZke8HB2EtosF+kiXaSLdJHOEugsCekPLpirci7wXYMAAAAASUVORK5CYII=)","url(data:image/png;base64,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)","url(data:image/jpeg;base64,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)","url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAANIAAAA9CAAAAAD94GjJAAADQklEQVR4Xt3awW4yMQwE4P+heLq8VJ7HZ5/nOtf8DS61QIFJCt0I5kKlKM1+8tpit/3XLiEBd7cedwfYVG63kG1/WpAIt0H8PosYb8G0Cp7Bi0nJGcRHqNT8GsWrQ19L4ggijpM7ZGD2d6Rm6ya5Q5foWJI26R2qRAeTtMmliaJEf0ty01kmmSjRfhKWSRAl2k5y0QxyR248ggTLeET0RpDWu4lmh5HcAbJlCElyAPzZROi5DDuKRMq5dHsm2WQNMFg+inQvy2dStN9+EkS3q+YfcHeTKEiqTKJK2EBqgiR22Hgtq/4eJH9A4u0A3X3j4QlSehOwh4Rfk/yccaflQ+XuIc550t1nb2RBDiHpiazDCwg9Q7GzbSPR1o9EiHAOR+Rw7iHBfnffdVAtp9OpfOXxLs8cQKKbrY9wdpGjgyJtluR/QYI9SlsoUj1NkvATdx5NmjsQWSTrQFVbRtBzNIkr4w5fonoNsO+CfVu/f4yOc++fxdrtQrRk8QvAajlvsBaJX1fLKRjlfGp8SpLPipJUNOk2UAs/HZr6SJDqComzjRQmlG6qWCRVtVBPpUSdxqRYwJcRkmSYFQWpA84qihsPjdF3/aOohUgNQ5LKmRwWno8qLxkPud27qZwi/pBkeYXdLBauCp56XnVW3H9TJIMWJQm0GioqkiVJLbQYD9ckC07OhzJNMmhRmtgZHVVfSArPkJTN1JmYJJkUJSlqw1eSAlfM6l2Sd6x114XEqwDDMmmRhWiKRHKWlM01IKXQY5T/Exe6+Nre6WZdVHM+tNDZmJQyRcIdUjZTSZJ+ujDO0Xk+PFLytIggyRsvBkQdkALdlz1JyoRJUV5/PlvYkASgWwCsjYcyIOUhLUmqANCicHtM21KZ8Pge9xSJtWuqlXukFt4kyTL5VI1W4hlne0WilZKkX+Rp0WZStNIzJKhv7Mc+1UbnrZCUaAHz+tcp+QVipZeUaCspW+mJiQd77pL2v+Y3vFi0/524cV60n0RqUZK0aD+J8XwNkg/+om4Pvv75newjDS5PPAPCprKVpMOPI3l7JxJmSPw4Etqnkbx9Gsnbm5Fc33XvRmpU/yf+fqQewsX/5r8bKUIiZe4A21vmP24hqdv1SRFyAAAAAElFTkSuQmCC)"]