Total Page Preview: 000000000333
What is Remote Validation in ASP.NET Core MVC
Remote validation
Remote validation in ASP.NET Core MVC is used to perform server-side validation that requires an asynchronous call to the server. It's typically used when you need to validate user input based on values that are not available on the client side. For example, checking if a username or email already exists in the database.
Here's an example that demonstrates how to use remote validation in ASP.NET Core MVC.
Assuming you have a model class named User:
In this example, the Username property is decorated with the [Remote] attribute, which specifies the action method and controller responsible for performing the validation.
Next, create a controller named ValidationController with an action method named VerifyUsername:
![](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA2YAAAFPCAYAAAAm6d0pAAAgAElEQVR4Ae2dP48kx5G3CzhHlhzhDDmiIeuc80kQ9wUILAUIIM5bX0sssBga62kF8AvIIUFgMP6B3uvJmHXpC8Tsd5DTvpx8EZkZmZFRWdVVPd1d3T3PAGR3V+WfyIinquOXmV07DMMQ+A8fwAAMwAAMwAAMwAAMwAAMwMCmDGzaOaIQYQwDMAADMAADMAADMAADMAADqGKEKQzAAAzAAAzAAAzAAAzAAAxszsDmBqCOmSGBARiAARiAARiAARiAARh46QwgzJgdgAEYgAEYgAEYgAEYgAEYgIGNGSAAGwfgpc8MMH5mx2AABmAABmAABmAABmAAUYIwhQEYgAEYgAEYgAEYgAEYgIHNGdjcANQxMyQwAAMwAAMwAAMwAAMwAAMvnQGEGbMDMAADMAADMAADMAADMAADMLAxAwRg4wC89JkBxs/sGAzAAAzAAAzAAAzAAAwgShCmMAADMAADMAADMAADMAADMLA5A5sbgDpmhgQGYAAGYAAGYAAGYAAGYOClM4AwY3YABmAABmAABmAABmAABmAABjZmgABsHICXPjPA+JkdgwEYgAEYgAEYgAEYgAFECcIUBmAABmAABmAABmAABmAABjZnYHMDUMfMkMAADMAADMAADMAADMAADLx0Bs4tzL4Kw/e/huGbr87j+IenIH+7j3e5v7vwuJMDj+HOwv/uMezCLjy+O7c/ntff/ac4vPS/T/fGp/fhKTyFezvGFe/vPkYnHdEf2e/WxujzFTZKeR+3MqbcvrrD9lPKPM/Xa2eRkg9DeHrQfiUmIYQLsG3tWCivMeQVFmAABmAABmAABk7GwMkaNiJhwz6yMCvJcBQDHWG2UfL+LLBlbJNC5TnCrIqcKmifG0Nt04jfowkzL/r85+faflh9FWbFh57Fa2QOmy/jvkYciAMMwAAMwAAM3CIDK5LOL38Ow/c/VCf4z8N3Yfjx1/Y/XRn77If2+Jeu329+CcPbH9JqWmzj59qPgCd9advfix2/hsG30QM0ipddXWlxnzV5Tgst/dWbZlXKrELZ408PeTXErYg07XsRpSJRV3mCXV0ZwlTd5ripm8SnscOeW7MamAXTo6yaeZuHcfsqPKJdnx7TimTs24iwIYmlp09PdcVoJMzatstKU8dPaWg5Xj2BGuuY/lUUxYomzrbt3WO4jyuFUmhB3R5v5lj0x24XdnmFTD7vdrs0fm9frJfGX8adfZbG2p9MSAya8Zj+nyX6aae9/+AP/AEDMAADMAADMHB6BpxAmuvQC7Hmc96iaMXSZxPbFd92RJUIsx9/CcNn2R4p8/a7BEAUdeacijTb15TdMWl/Ck+7lGhLcvz0sbclTpLicYIbE1+z9Swl23YbpK4Ejev6sm1b0p9J/och3L3T7ZZZlBlR1NZNPortG9vaRLw/nrZMP/al3Sge7LiyuCpb84YwvLsrW0JjPTumKIa0vtaV1zzupv10XkXeEAVg659Byhuf6Fh6vtFz8bWxY+zbWsZuec2+8QIq8mTj3/ehtJn8KFQlH9x/2oXHj1WYjuxu2vb+GMKo/JCPdbhtxj91bXCcLxgYgAEYgAEYgAEYuCQGphPLUXLXCLG8ilVW0PJq2RKxNCXMVIgJILavuJqWRVqEpyMCp6DKye7jJ1mNyqLgoZfg94RM75j3V0qg6yqHnu8ct0m+fT+yfU/dXL4IqFF9sWGJ7WqrfbV9Sxt2Fc9/tvVUiNjfudm2zHuJiQjK6IMs3BpRktoVIVKFmojAXtySOGnKOX+M2smrfk3MOv0L//26TjC6/vS6SfGRFUQpn+OhY5c6dvy+r4mxatu8tuzhD/wBAzAAAzAAAzBwAwysCKIVS5JY+s9+u2IRba6PDYTZ3cNT2H18TKsX3aS3I2Rc4twPthEcTYIu7fkE3h2TJN3+ldUvVy62Oz52EmEWx1ztHq3SxPPGaLOCNbbH+sa/34VHEch5tSfWNc2Wt8Un88Ks/IawiYFwZ/tVDjvHusIslSu2mDeNqBv1mfpRf8hrWaW1wsza5lnr2qP289q/FvELfoEBGIABGIABGLhqBlYY74XY6LNd1RrCYLcj2uR1rTB79lbGx3CngkJXaoygSACL8NFtd+qTzjFpp6nbSfLjWDvHow0qeu7C/UPduqgCIq387Kub7NPEv38Bdmy3MZh43xdI1S/3D3ZFrN1eN7bHjsO+H8JQROn0itloXCPf5zj1RIzxdX/Vy64EZnuauKa2x3WVjf2vxR95rDG28t6ITS2jr2XMvbG6uqXsRCw5vz9G+AgfwQAMwAAMwAAMXBADK4IRBZJ5KIcILF0VE5EmD+fQh31IsngsYSZtafvSx+qHf8hvgkSo5K1xvaR3Yutfu2KUxEW7bc4JDpMkx2TbJPu2rXiu2SbYtj1XV+EZJfOm77SV0YmPznkrElpxqFwkv8UVIiswcluzY4rlVdR5P6XPoYhh009sO31u7DNiS32QXnNbRfC4z40dM78xM7Eq7bu6KijbFbOOreU3ZrplM8dC2it2io9z3YYFOZ7GUFnz/knxif4vPtSY8Vri1zCPX/ALDMAADMAADMDARTOw0jgRW/p0xLfuKY3+qYz2N2N+m6O2ocLO/47Mrsb5c8P635jJv1kmSWxMqI0wU4FkdqnFtzUhzqtCWsAk1Skp1hP51ZwX8Jv2feIfhUatb/ucq9u0WarrSpyJZxQVWsCf74iJWN6Xy+MvtlchEVs2401Ccc9TGe2DQ7zoMSJF2vb+GPmkESQq9PJ4jV3xBtT4QsWi/s5LfaSvzgdNXXduSkRq7KMdYluuJ2052yJHxb8mfu6pjD1/IMysv3gfWUeMXtKPuLEFHmEABmAABtYwcAXJTHcro1m5I+BrAn6yskmYtVsdSRRPfX2JUDZCk2vhZHzD8qlZpn0YgwEYgAEYePEMXIkD7FZG+1h9EtGLSUQRZue+lvrbG7mpnzsO9AdzMAADMAADMAADR2HgKI1cjDgACuIJAzAAAzAAAzAAAzAAAzBwhQwQtCsMGkKYlVIYgAEYgAEYgAEYgAEYuC0GEGYIMxiAARiAARiAARiAARiAARjYmAECsHEAmOm4rZkO4kk8YQAGYAAGYAAGYAAGDmEAYYYwgwEYgAEYgAEYgAEYgAEYgIGNGSAAGwfgEDVNHWZhYAAGYAAGYAAGYAAGYOC2GECYIcxgAAZgAAZgAAZgAAZgAAZgYGMGCMDGAWCm47ZmOogn8YQBGIABGIABGIABGDiEAYQZwgwGYAAGYAAGYAAGYAAGYAAGNmaAAGwcgEPUNHWYhYEBGIABGIABGIABGICB22LgjMLssx/C8OMvYfjsjH0+PIXmb/cY7o4VwHePYXfM9pbYFcfzFO73lV1abl87nOeGBwMwAAMwAAMwAAMwAAPnYOCMIuncAe2Ik7uPuxCOJaYuWZid29f0d46LlT7gDAZgAAZgAAZgAAZul4GFwuybX8Lw9rsKgv8cV8N+DcOP5r8vc9tSthz/ubYRnfpVGL7/NQzfyGparmv7kTJvTZtvfw7Dj76N/hiiCPt07/rLZUVUhV14fGfr3gdZX3t6sGWa9bZ0LtZtj6dPdiXrLjzuapndx7tshxzfhV0+9/SQ+gzB1rU2ufcdsWm3Yt5/qn2OBaj0tQuPH+sqYrUr9VPr53JexOax+3rWBt67mN3uzaN/bTFe/AIDMAADMAADMAADhzCwMIn0Qqz5/N14i+JnX3WMkXJeVGVh9v0PubyU+TUMVtSVcyrSfBsTY4giJoQpETESblK+CJEsYoxwu3un4ir3N7NiFgVOEYVJpCXBZ94bkSXliyCcA9nUmRVAXduyCFS7osiq4rRdTczCsvjDjDlM+3TWprlxca5zvUxwja/wFQzAAAzAAAzAAAzcIgMLk79GiA1hsJ8X/3ZsRpipEBPIZIXsGxF2WbTZc7GvhcIsAqsrUnklyQqNKEx0pcoIJqnnREtXcHTFj9bVdpN/qwiUfrIYMvXl/JSAbPp+tjCrQmwY7Jjt+8xEI1QXcsJN4hZvEowJrmEABmAABmAABmDg9AwsTLitEBOj/OcvZYuh3XJotj2WQWwhzNrxxZUsI87kcxREjUgzwsTsDAy60qTjMcJqLJ5sRSsKL1WYjVcIB4QZNyBlnVdYgAEYgAEYgAEYgIFTM9AKl0ZgWOd7IdZ8/ioMX9qti/q7MXtM+lkrzLIAPGgrY0doyHi8AMsrUE8q0MqY78L9g926mFaUmlWtKWHm+yhtig8uVZixYjbJfhO/hdcLdU5946J9GIMBGIABGIABGLg1BhYmmrIiVgRSFl76kA4RafZ3YboFMW5HtO0fIMwEuAMf/hFXx9wDPuKxZuUrCRL/8I249dA+CCRv+xsJM9d+Su69iMt9xJU6eb9kK6P7PZheeCfbyjgEfmNmWeU9QhUGYAAGYAAGYAAGYOCsDCztLIuxuF1RntDontLon8poRZkKN7vVUd5P/Y7siL8xU4FVNhY2oiyNPZbpHE+ra6Vm9zdgbfv2d2Uq+HL90v4xhFm1Sd+pYExiVI/W1/RgEb+KmGy0Dx2p9XkqIzeipfcGysEKDMAADMAADMAADByBgQt3ooi6slKXV890pU5XkZ716sXKhfvjWWNdObaJ35iJGFUheAQAb20JmvGck1H6gjcYgAEYgAEYgIHbYWBlsr7FwO1WRivSnmmLrnYhMiYY6Aiz6DPz8BSE2YTvnskmfsWvMAADMAADMAADMPDiGHhxA2ZWAdEAAzAAAzAAAzAAAzAAAzBwaQwgzJiNgAEYgAEYgAEYgAEYgAEYgIGNGSAAGwfg0pQ69jB7BAMwAAMwAAMwAAMwAAPnZwBhhjCDARiAARiAARiAARiAARiAgY0ZIAAbB4DZiPPPRuBzfA4DMAADMAADMAADMHBpDCDMEGYwAAMwAAMwAAMwAAMwAAMwsDEDBGDjAFyaUsceZo9gAAZgAAZgAAZgAAZg4PwMIMwQZjAAAzAAAzAAAzAAAzAAAzCwMQMEYOMAMBtx/tkIfI7PYQAGYAAGYAAGYAAGLo0BhBnCDAZgAAZgAAZgAAZgAAZgAAY2ZoAAbByAS1Pq2MPsEQzAAAzAAAzAAAzAAAycnwGEGcIMBmAABmAABmAABmAABmAABjZmgABsHABmI84/G4HP8TkMwAAMwAAMwAAMwMClMYAwQ5jBAAzAAAzAAAzAAAzAAAzAwMYMEICNA3BpSh17mD2CARiAARiAARiAARiAgfMzgDBDmMEADMAADMAADMAADMAADMDAxgwQgI0DwGzE+Wcj8Dk+hwEYgAEYgAEYgAEYuDQGEGYIMxiAARiAARiAARiAARiAARjYmAECsHEALk2pYw+zRzAAAzAAAzAAAzAAAzBwfgYQZggzGIABGIABGIABGIABGIABGNiYAQKwcQCYjTj/bAQ+x+cwAAMwAAMwAAMwAAOXxgDCDGEGAzAAAzAAAzAAAzAAAzAAAxszQAA2DsClKXXsYfYIBmAABmAABmAABmAABs7PAMIMYQYDMAADMAADMAADMAADMAADGzNAADYOALMR55+NwOf4HAZgAAZgAAZgAAZg4NIYQJghzGAABmAABmAABmAABmAABmBgYwYIwMYBuDSljj3MHsEADMAADMAADMAADMDA+RlAmCHMYAAGYAAGYAAGYAAGYAAGYGBjBgjAxgFgNuL8sxH4HJ/DAAzAAAzAAAzAAAxcGgMIM4QZDMAADMAADMAADMAADMAADGzMAAHYOACXptSxh9kjGIABGIABGIABGIABGDg/AwgzhBkMwAAMwAAMwAAMwAAMwAAMbMwAAdg4AMxGnH82Ap/jcxiAARiAARiAARiAgUtj4AzC7JtfwvD2u4mBfxeGH3+t/33zVb/cZz+E4cdfwvDZGewVSGN/xq4vz9Tv7AXyuxCG34dHV+Z++GMIw2/DnTs+Fpy/DbtYVsr/MTxNlpd+fhfuJ8+LL/4jPM62MfbX3fD7sBv+ox/f2JfYNx7feBzjtufLyHjSmHv+m68735f4ftqP83Wn+hU/VXt9HH4TnspY/rjHn4f1P2XX848v5e8Qu6XtJdfAmrbn7Z2P05p+KPt8tvAhPoQBGIABGLgJBs4wiFlhZvqXclPCbFYkmDZOUe7tr2G4CGGWxFArbtYLJLlwny8o1ve7X5idIo5ezPrPz+vz+X6c619EmBdmtfw2/qz9r/sCSCKnilj/+dB2td4phJm2ve96mY/TOj/VPqmHL2AABmAABmDgxTGwcMAiTr6RVStdRfrZrHzIqpddzXKfozD7IQzfa11b1vTfE2ZyrNunqSe27SszJdi+/NnUnRBgU8LM9vv9D8YfYptbCRT7rOhsxiX2W3+asTm70yy9XRmQhLRN3tMKmq4Q2bK13Z6g2F8vJdNpNee3oxWzqRWE9rjaJa+/iT5rz7djSTekJAJ1FakVppIUyypbXRWr5/viMY0z9T0M7QpUFQ5DUF/LymDqu9rW+krP1xUse/6p6UP7nRuTxmk+4Rf76li1jrxOjcn2KT6r8ey3Y9us7+8/hRDC054V1VpeYij+8H2of9NKr7XNl5XYJt5SHOyqah2D8tHGqnIhvNW41Fi2/C2/XuqX5VScpsdU7ZAVVxsv5aP1X+2L4/gCBmAABmAABm6YgYXBjSLEiAcRFkWMOCEWRYkRX1GEmM9RDJm2VHxIOSte9Hh8lT46dcQuu02ysWvP2LwdU9sle8Ks6TeLsLKq9lUSoeWzbI00WzSl3+I7sfGrFVs0WyGWksqazKWETz+nhM+KDQVZyvWOp/PSh09QfVsp4dU2ekl2LxH3x9Se9NpLcFNyW+t5O9JnFXlDFBuauMs49H2PBd9WWz6NqdZvfZvam/ejJuZVBKRx7huT2trzh55LwrH6RY/32q5jqH4WMeljrG3Mv64XZt7Pvv2ezZbPOda0rR6zek5Ftm0znWu5TQKyslTrz8e5H6eWlzRGvV4sB/u3DVc7Uj0+4wcYgAEYgAEYuFEGFgZWhEgjmqwYs++lPfdZxJIVTyJEZPXMChcRX6uFmfTTEWuNoJsZX09w9eouKdf4R+zqjE/bXiMetU55tQmefd8fpySH4+R939asXpKbVi3q79jm+/aCUS4eOdazpV5YvQRXbGmFTZtMSx0rPKxd47q1L/GXH1ObmI/H0C/fJts2DtYWe3xsVzsmLdvzh56b8mffxtbv3me1zdY/xzq+r799/vBjGpdPgnxaaI5jKWPrxUfatjwlH6wXZmMbxzb0+j+Wz2nnNCzjV/wKAzAAAzBwUgYWNt4ID6ljxZd9789lwXUKYRZXuA4VZhPisAgg45cpYeYfEGKFqz/XrJANYZA2y/bLGRHXsacmeOPkL10scny8vc5eSPOJptRvk9zap/qll1RKAl779SsP0kYrELQtfe0JEZ+US1l7zCf91i4ZxzjJVj+Mx6QrK2nFcXze9ptsnvejtUXH6O3X4+O205bEVpSq7fLa82ey2cZA3+sqqvTnfaY2nOo1cTEtYHtjt8fse7Gxx/2YWe8rz2PfD33fzMdZ6vg4ic3qe/tqr6spPk4VB9q1TPAeHmAABmAABi6QgYVBuURhFsWhE2YiiLwI6oibGIiR4BKxZrZcar1RuSysbD/eP1+6p1DKeRWnn33Xbl2MIq7Tr/Y/etXEVJI/m3Drik9N/iSh7Imh+USzl+T65LhNKpMgqMnpWNT0hUR7QfQSXB1r5TS1rWP0ibS1y76v9WXsyW9+TOq/UwuzfWNSW3v+0HNT/hyPqfWx1Pc+q22Oyx7nXI/DGsd9/vBjGpe/hhWzsW/7fI7LHScGtIsfYQAGYAAGYODiGVhooAgL+4CPZjueW32Kv90yQkPK2q19/rddKjxWb2XMAkkFj26RtCtX2nbv1dvRjMn4ZSTM/FbF/Fn7je26rZ9FmGVf2S2Yq4VZSuhkRr4VXZJw29/RpM9tmTSu9cLMty3JsvaV7Kn9qH2taKyJuPFtExfpo4q7dPPwbXs75LNdFUvl6+qM2GnP28++LUn4a9mxuPQCoRVy45udt0XHvW9MWq7nDz03Jcz8mNLnVsDLsTrOsd21j9659b8xk/bEt8qL/7zPH97vU8JsekzjWKYxeiaraG99MH+99OLkx5Q+t7/rS8cqq22fPd9zDB/BAAzAAAzAwE0zsHBwIiwmn8o4hEHFiAiwt/KkQyfM3k49lTGLGrutL77PK2Eq6vx5FUGS2EfRmLcGFpG2cFzW7pFYctsNxQZdJfP11M7yuzk3Lm+Xlo/jMr5qhMr0GFJC2UtEJYnVrVO/C4/538RKyV9Kjut5LZdWn1JSqsfqa00cbX3/VEZ7TuxKdlSxJmPR5FTbtitTeqy+1rptvXpc2vQio5fsWp94n6lwSf3WsSbh0woaLxC0/7HNfV9aoTo9phTb2qbGK427tVfPtQ+QaMtUf7V9at16fpo3+yVwmDCTti0jVqTJuda21ibvd2nHC3iNl/pNz9vY+3NpvK2/dSV2bK/6S8VVW0/btpMl7ZgsS/v5SLZZv/Men8AADMAADMDAzTOwcIBRmJknCy4UEAC00L/40/1zA/iNawcGYAAGYAAGYAAGYOBFMbBwsAgzhAPiEQZgAAZgAAZgAAZgAAZg4FQMLBRmBOBUAaBd2IIBGIABGIABGIABGIABGECYsUQMAzAAAzAAAzAAAzAAAzAAAxszQAA2DgCzI8yOwAAMwAAMwAAMwAAMwAAMIMwQZjAAAzAAAzAAAzAAAzAAAzCwMQMEYOMAMDvC7AgMwAAMwAAMwAAMwAAMwADCDGEGAzAAAzAAAzAAAzAAAzAAAxszQAA2DgCzI8yOwAAMwAAMwAAMwAAMwAAMIMwQZjAAAzAAAzAAAzAAAzAAAzCwMQMEYOMAMDvC7AgMwAAMwAAMwAAMwAAMwADCDGEGAzAAAzAAAzAAAzAAAzAAAxszsC4Adx93ofx9ukfZo+xhAAZgAAZgAAZgAAZgAAZg4PkMrBFm9+Ep7MLjuzV1KLux8uYief5Fgg/xIQzAAAzAAAzAAAzAwKkZWCOcRJg9hXuCcuqg0D6MwQAMwAAMwAAMwAAMwMDLYgBhxorWGgYoCy8wAAMwAAMwAAMwAAMwcAIGFjr14SkEtjEya/GyZi2IN/GGARiAARiAARiAARg4FwMLhZkE5N1j2O0ewx3BOVdw6AfWYAAGYAAGYAAGYAAGYOBlMLBCmA38xuwES5ZcaC/jQiPOxBkGYAAGYAAGYAAGYGCOAYQZYmsNA5SFFxiAARiAARiAARiAARg4AQNrnMrj8k8QgDnVzDlmVWAABmAABmAABmAABmDgZTCwRpgNYYgPAcn/xDT/wDQXycu4SIgzcYYBGIABGIABGIABGDg1AyuFGQE5dUBoH8ZgAAZgAAZgAAZgAAZg4OUxgDBjeyIMwAAMwAAMwAAMwAAMwAAMbMwAAdg4AMyGvLzZEGJOzGEABmAABmAABmAABjwDCDOEGQzAAAzAAAzAAAzAAAzAAAxszAAB2DgAXinzmdkTGIABGIABGIABGIABGHh5DCDMEGYwAAMwAAMwAAMwAAMwAAMwsDEDBGDjADAb8vJmQ4g5MYcBGIABGIABGIABGPAMIMwQZjAAAzAAAzAAAzAAAzAAAzCwMQMEYOMAeKXMZ2ZPYAAGYAAGYAAGYAAGYODlMYAwQ5jBAAzAAAzAAAzAAAzAAAzAwMYMEICNA8BsyMubDSHmxBwGYAAGYAAGYAAGYMAzgDBDmMEADMAADMAADMAADMAADMDAxgzccAA++yEMP/7slWj9/PbXMPyY//v+h3q8Ue9fheH7X8PwzVcT59f67y487kL3b/fxzvRxH56k1Kd7c2xhX+8ew273GO6acdi6yYa2P3t+/fv7T50hHWL7pM0TNslYTddPD51ye/0xrnM3/D6E4XfhvrHnP8Lj8McQht+sj0nTTu3vfra934SneF76/GN4mmjD3kCS3b9tYp+OHc9m299lvc/X1iz71ffF9j8M4V9/HcK7Bf4tdWxZqf/3IfzjD522bTneP+u6SfeYJ3dN4vMuk7D2LNbwKdcVDMDAhgzcsPP3CTP98pJyk8LshP55EOk1kWjEc6I4Js6r7b3XA4TIcwGUpKkVeklYtsdO6MthCGLDsYTZMCRR1IohOfb78Njz+QmOiWjbDf+xKsF4ycLs7uMuhLWiTOL2XGF2gtg/93q81foxxueY8CGmq+47t8ob4zrtdzb+xb8w0GWge/Bybsrf/BKGtyKcdHXrlzB8pjbn1awvJz6rMJM2dGWst/LVE2axrvb5axhKH9rXEIYvf67tSvu9MnNf8DPCLAmdx7hqNhIbbpWoiB93vC4kZXHnzo/aHYYQEx+t2CS5IrR24fFjXMeLJUq/WRTZz3KxtUlUu1LYLav9xlcVpKletdV/rvEYCTM33tq8tl3r9m4O49Ws34Uw2NWo6RWtVFdXumw5Wbmyn7340lW5VFdWyvQ/EYk94TUMYlda3eud9ytm1rbU9pIxWbtEnP427LJtSTym80/muF9ZTHboeOxqpNj/+9zeb8N9XK30fpEyvboawzQRUDnR41l4/X0I/zb//fPz/nEt85Nct5+bOn8Zwk9/qZ/l/Ls/189SL9Yx1/s//jqEf/45rabFdv9ibBra9v71l1TOt9HjchjytfhO2/Of0yRF5T04wZp8peerz+w1uguPD3U1Ol2v+dr7WI/7Ff3m/mEnleRet9ul1e3dY7gXES1m2V0CZTJKzkxdo+Ox9n2kvuEV/8AADMAADFwVAxdubBRVRoxFMaTbE5cIM7sN8bskpLyA6gkzk2ANsuXR12nsGMIQhZyx09afej8pzGryMVqJimJjFx6bpMytFEmZRlSNYzwSMSqkTD0pUxOvnMzpbLWzY2RnTB5r4tW25cRVTNrs1su7cFfG58oO/nMdW29M8Wa0wB/9m1YrxNoVrCRE6opWbzVNxYwVIcMYIFsAACAASURBVNVe6VPESm3DnlOhY4/J+/Fxa9c+YeZFmrRXt7wuGZOKSivmql1VuKZyuuLY2uX7UT/b4yL8tA95b1cqtbzxzeS1NIR/um2G7/yWwz0rZirAopibuJalDy+qRJj922yRlDLaRmzTnFPR59voc1nvD+l8+7mdEBEfja+nKojaurU9L+ZSO3EbdrlHpHuCCrvYbzmXrtPST7nGzXF7Xbr7yVDKmxhH35v6E7Ho+8y3w2f8BAMwAAMwcJEMXKRRdcUurph9Vz8PVozZ9zIO9zmKJRVxeZyj9rKomtvK2BNmvWNrE4WpZNIkJW2yk1ahSrIz1Z9NeCbKjEVMR/A0yZJP4NryUXjpFHx+LXbGdtoZcJs8+jG2N4q2H0kyJTnUZNCWHY8px3yBP2w79b0VW/a9tDsWB1YgpTbGIqq2nWxbL8x01Ux/MyaipQq/VgDVPnT1Kq2Wad3sn8LIkjF5P2gb47GO/aFl/Rik32ST1EliTvpJ4xq3M7ZhkqElv/9aIszcapeP45QwUyEm5UV8/evPyQdxNU1W7dT32c5jCLN4LeoEiravr+beon1L+XKtxnL+Wlc7x9feuK6WdSvm0m+2qV6n0k+6L4zbmbIhrwZOjU/HyWtlC1/gCxiAARi4JgbqF6l+UV/U60hIWfFl38s43OeTCTPXz6HATwgzSVI0iRkacZSSkjaJ6sRvgRCpyZHW7yVC9ph9L3XaJM0mVqMkOY7TqTb5WGbXx1uvqvBq+/H9WlbHY8pjW+AP2459X0VBK1qSANKtdfbVip6xWLFty/tDhFnaCplWkJIdtc99wkxX3Oq2wLoStWxMY1GUxjQea/WdMiZ1e76aE2ap3Wpvra+rcdGPc78vs1sSZTujF1k3Jsz0GqlXXF1hj9dmPVHfNULHX+saP38t9u5HUtf8abuzwiy1a2qVt/U+oDYgzPw9hM+VDXyBL2AABm6AgQsP4kUKsyGMtzeKWDvGVkaX2OQURcWYJFb6XuEbCZIFQmRUxwmt2HYjCn2y1iZpVpil38CYVa3YTrtipranfu7Dfdm6OIRWjLb9aNI5lbD1jsf2jAhs+t4rqpMgk989tVsOW6HWb3MsVny5w4TZEET0yO/Kxg8jGdvVCqTfuKfaSXldcRvX9fZaUdieG4/V9ptEn/bz3BWzzj1rYpJDbPzJrkwNQ5DVKl25imPYQJidcivj8HDfxtj6Rt7vvRb8ta7+9tdiK8yS6KvXefy8SJi17bRcad/6mmzw98D5OlqXV/wEAzAAAzBw8QxcuIEizOyDNfxvu2RLoT7QI66Qmd+D6ee3uhXyhL8xEzvntkP2BIBNmPR851hMcDSZasTSEOJvMfwP5X0Zbdu8joVZ3nqk/eQHepSVu9EDB9okrRVm3i6fTKXPKUHM7+0YnP1N2/GcEX17xhRvQK69dTeluspjV2j0AR71mJarq1e6OlXLjK+1Q4XZUB6yYfuT9pMdtc/0kI70WW3U325JeSvMfF0tb/uQY3WVrfpyTpilc1XYps+6fTHZkPoQMVdtVSFnbVSbtZz6NE1oeGHe+31YV5i536HVceWHfPhVNsOdlF27lVHq6O/K5MEg6x7+0V576R6gq2J5Ysdcx+09wvspl1cBFcclx7Q99a+8un6bh/6kc1Uw5eta25X7Wn5f7z3STxZy/r4XP/eu8ynbrJ28t/zyHh5gAAZg4KoYuHBj44rZ1FMZ9aEb+m+R/Zye3qgP6tCtjCruROCpiJMERESdPq3Rvkp9FXX2uLy34qt5KqP7LZtL3OpFkROWslmnvtl9/H/p3zjTZEbb8GIkf041ewlUFlml6Zz8NPXKyWYGPc1653M2uVsrzFTYaeKVk7rSqxtj069PCq3du6fwZH9jZs+VxtttkuL7tv06q1/jMn0d6OpU+2+aSXkVLml7XRUeuqJVt92lrXgqcNp6dZueCBEVLb6uFVPS91gI1bEkMabtWrukTBqPtq/iR8ff2lbr9u3y56sgTP3U89YmEXYitvTJi/J+TpiJbal8GlNPGI4nFoo/8u+39ImLzWpZvsZUwGmZ+FsvvwUyP9VRfwfm62hdbd//jux4vzHTiY8M/CeRN+19QMRP/fO8ZzGWC4zEVK0Y3/nzVvz2Jk1S9foE11h/nzCTOGQxVurbVfQcp3gdu3tHibPeL3m9pt9SYCu8wgAMwEDLgCZkF/oahZmueF2oja1DAQx/nIEBESperL306yNPejQTCpfpk+5Wxj2rci9dgCSx6UXmZcb3pceK8cMlDMAADBzMwMEVz5B8DmFAmJ3Hz4ipK/Gzrlz1V424EV74/cxcZ3Yro32sPjG8nhgSK2IFAzAAAzBwZAZw6JEdeiUJPnEn7jAAAzAAAzAAAzAAAzBwQQwQjAsKBqLOrCgQF65NGIABGIABGIABGICBF8QAwX5BwUb4IfxgAAZgAAZgAAZgAAZg4DIZQJghzGAABmAABmAABmAABmAABmBgYwYIwMYBYMbiMmcsiAtxgQEYgAEYgAEYgAEYOCcDCDOEGQzAAAzAAAzAAAzAAAzAAAxszAAB2DgA51Th9MWsDwzAAAzAAAzAAAzAAAxcJgMIM4QZDMAADMAADMAADMAADMAADGzMAAHYOADMWFzmjAVxIS4wAAMwAAMwAAMwAAPnZABhhjCDARiAARiAARiAARiAARiAgY0ZuJIAPDyF8rd7DHeo93Oqd/qCNxiAARiAARiAARiAARg4LQPXIMzuwuMuhKeHa7AVGzeeaeCGcdobBv7FvzAAAzAAAzAAAzBwGgauQUiIMNuFx3fXYCs2IsxgAAZgAAZgAAZgAAZgAAZWM7C6wgYKGWEG2NfAKTbCKQzAAAzAAAzAAAzAwMEMHFzxPALt3WPYBbYxAviFc3qa5ezzXGPYjp9hAAZgAAZgAAZg4BIYuIaE9z48hadwDzCXAAw2wCEMwAAMwAAMwAAMwAAMHJ+BaxBmbGVkxewaOMVGOIUBGIABGIABGIABGDiYgYMrnlElI8wA/Bo4xUY4hQEYgAEYgAEYgAEYOJiBgyueWZjxOzMgvwZWsRFOYQAGYAAGYAAGYAAGDmLgoEpnFGXZvvwQkPiPTPMPTJ/f/8ffQ8sY8CkMwAAMwAAMwAAMwAAMVAauRJhVgwkevoABGIABGIABGIABGIABGLg1BhBmLLXCAAzAAAzAAAzAAAzAAAzAwMYMEICNA3BrSp/xMHsFAzAAAzAAAzAAAzAAA+sZQJghzGAABmAABmAABmAABmAABmBgYwYIwMYBYDZh/WwCPsNnMAADMAADMAADMAADt8YAwgxhBgMwAAMwAAMwAAMwAAMwAAMbM0AANg7ArSl9xsPsFQzAAAzAAAzAAAzAAAysZwBhhjCDARiAARiAARiAARiAARiAgY0ZIAAbB4DZhPWzCfgMn8EADMAADMAADMAADNwaAwgzhBkMwAAMwAAMwAAMwAAMwAAMbMwAAdg4ALem9BkPs1cwAAMwAAMwAAMwAAMwsJ4BhBnCDAZgAAZgAAZgAAZgAAZgAAY2ZoAALAvAq/Dmw4fw5uu+v754/T58eP86fLFUGX/+Orz/8CF8yP/Vdr8Ir99P97PM1r6NwyBjeB9efz51fsnxZN/711/0Z0Gaca3pS2x7E16N/HdKfywZL2WUuVffVl5XsT6K6TN9GhnrsfLMdg+18+s34UOX3X32TDG/r97C8wfbNd++cFDvV6as9LfmHniov4chiA2T96Beu8LMAbat7qfXN8f63xX4Bb/AAAzAQI8B88WKg3oOisei8Pr21cT5lYIni5eS3DSfTylEVtq5mofn2D6VpD6nTdhWUXXU1wOT3KPZEK+XCxJmq68T5XKKeT1/ma8Is8uMy9Gur4N5xi/EAAZgAAaOwABO3O/EPeJg5Uxxbxa2rrjlvl6bFTUvCONMuK5edBLU5ryd3XbCLAvCD7793hezlh2t8Ak/0q7aY1+XrJjtq3sEf/TGE485f3RWFCVWuqoZX5tZ99b2IrTzjL7We/O1KRd9vX9MkYfiUxPjyNr7tNr6/nV4JSu1H/zqgelvZpW3y/1snPO9Qso0fhjCYOsZuz7YFdqGSzOmEovqa78aYv3xJl4buX7s13OWxm/j0R1r5sK23az4ZHtrO9mv+Xpp2PD+6IypxqmNj3LS+KpzTXmfTI1p3i7p+314/VpW+ZK/D2q3sGnYi2y+Dq/LNePjkrhf228ap/HZ+9RHY7flzzLvjmvfzQqnK1PjrStzr8397XBuU9+2/nP8wff2FP8chw0YgIErZ4AA7g1gTjj62xRzkj2xxXHcdkow7Jd/WyZ/WZdEz5X3iai3LSaT5su/KZ+TsriV0bWbk9TWlj4bkvj17bft9+tOty91jd3Fnmf6o7TTs8fb236OCXsjWr8IX5RtoMmumhy2ddM4s+2jcc2PKfZb4u/6KfE2xyXGU+U7YnMyBg0rQ2jtMP5r+jPHxdeRP5Osq/9d27FcsVl8Z5jyDLvPSXhUVkZxKj5ytqkt9tW13W0rx0/6rfE2bXf9keLTXCeff+G2Osu46zhqXJbUNf3b8dj3XbuSr8tkjI+LrT/xfvL6j76scfT8xLiV66kzxon+hsGwLmWizSYWbgy+3+jXri+0rSogfd0ua2u4LWUlXvb+kURfiUMeY8PLpD8WxJ66E7tb8F29z+ALfAEDF8oAgZkPjEsK/BeeS+zm2xJf9xJ4G4NxwmITQvs+9dW2J+env9y17J4x+TG6z9N9aPt2PEvfS91lSar1gX3f88d8PLy97WdpuyZObhyd5H9syziWyZ7x8XHd2l8jFqRfs2KTYm18t8iu2vasf2LC24nJVJIrnHT6lz7G42t93drRnhvV9XY1n8e+bdu2Y++UbdpKZaX/uNrRJNmmna4/ZAxz16LUN3FrrrEldU3/TV1zfNKuKkRU9EzfM0x7uR/xR7e8j731pX2f22m4nhqDHO/UHTFh63fKxzam4jdTd9xPy2bLVnvOi7ymbMfGxf6w9vIeAQYDMAADt8bA+Iu3+QJ56QHvfIFa/4y/uPf5c1/SNU4Wax/pXN2OU7d+pURpXNfaqqLw/ft1W5jaNlKS3U3M9orOOd+IXzoioDOTvNwfc/3JuTaRGn/2/q4JbUyizHauEpOyIiDtT8VjfLyOSW1OnIza3SPMltmlffRfxZbSby8mck1MJbk+OY/3D+/H2r7lqLVdfT321Wyivud6bVl2Pi7x1L6zf2RMo+2ixndT/oi21LE22ySjX6aYVzEyV9f0P3WP7trlme/4d6q9fFz4sHErPvWxt7HIPqxc5bFNcWRt8O12hX5egSoxdPeSri+qD6eY71+XLR99blPbbbvGb8/xh/UN728tIWM8MA0DMFC/nMoXLE4pF8b4i9n4yyYeK3zWazN+ucckZZwo2fL2fS9ecr5NmqQ9TSRyIiriIdqux82YFoxj3IfW90mfHl/yOpWkPs8fPR/VY95e9/nrV+1TImMylRO+TrJY29Xxjm1PZcbHbVxTolcTy/hZBZ/0u3LFbGyX2udeIxOGnym+5fhUQj3hFzu+sT3id7M1zQnmUd2eXTk2b6a2G3a5Hsdhyrb0u7aJ62XCH6++bh8WJOPQ2KV+ppgfwv66Lna98XXtcoxPTh5Mty/jaO8xuayPvY2Tfd+zde5Yp27DRDxvbOqUn1wx21O36SfaaP03z+3w+avwqmx9VrGdGerZOOcDzpXv5PE1Os0qZfENDMDAFTJA0KaDZr+Ex35qEuY1X5zdZEATi3Gy2CQHOQEtj5WPn7Wu/sbHJfUliW7HU8XgeGzTPjnlipkZR/HnM/1R2umN0bUdfanJd0q6mlWOxvfpfE1Qc3kVULFf136xZXy8xjidq79lSp9LQi82zAmzKGqsH3t29Xwx/k2ZF4iFCeG3MOXaEvt65xrfKafZzu45jYOWrUyLr5qHNxhfj487+0oM0nF/DaQx177j5+xvX3bWH3FMVmzmFZ2GD89QtnVR3flxRdu6cZI+6/imV3Wn24/+b8Zh7Laxb8THBNe2vItN8W8Wj+WayPdP/ezjkmJYeSm+aMadbN5XN7FW/dWUn+U2X7d2xTnarW09xx/Tsak+owy+gAEYgIErZYDATQUufgn3EpCYQPgEZ6Ufc3KhW3tqgp++sOvnlNBpEhJtzYlbqqtf9Kb/5rxNULzNOXlYkhw5e9XulISnBLMc0+1Ek74zttpkrLFbx3UEf9g+/Hvb57dvXNK6Z3tUFkE6bhujlNCZrWjik+KPPWNqfF2foBfbF3tzO9JH4kT87+Nc+7Z2TbGejmcecvzev85Po8t8dMekv6NqbNa+NYY53tbXLklu2v72dfy3/KzISsl2ard5KqOJ5/z1OsHckAWpMmv8mPq0fm2vl8bmUl9jIv2566LE39gy6ZMFdc3YbVzn7ZJ2bVzGLNq2+u9b2wpfMhZ7L4lMdPynvur5Y2JMjS9HT2Wc51bHYBmqbM3XFV+W6yDabcfj7g97uG2fuikMtH3rda328mquk0kuKAMnMAADN8fAzQ3oOFseYlJhE5jWTzH5WZVYtPW5kPAHDByTAS84jtk2bcEqDMAADMAADMDAWRg4SyfHEUvMmuFHGIABx4CuhJSVG3eeLxLu8TAAAzAAAzAAA1fCAIG6kkCRkJNwwwAMwAAMwAAMwAAMwMDtMoAwQ5jBAAzAAAzAAAzAAAzAAAzAwMYMEICNA8Csx+3OehBbYgsDMAADMAADMAADMLCUAYQZwgwGYAAGYAAGYAAGYAAGYAAGNmaAAGwcgKUKmnLMtsAADMAADMAADMAADMDA7TKAMEOYwQAMwAAMwAAMwAAMwAAMwMDGDBCAjQPArMftznoQW2ILAzAAAzAAAzAAAzCwlAGEGcIMBmAABmAABmAABmAABmAABjZmgABsHIClCppyzLbAAAzAAAzAAAzAAAzAwO0ygDBDmMEADMAADMAADMAADMAADMDAxgwQgI0DcJpZj4enEMJTuF87o/DuMex2j+Fust5deNyFsPt4dyS7e+2lY08PsHmTbE6w9e7PQ/jXn58R88+H8O+/D+GnifYP8qVcD8H8fbpvuL//ZM4dcr3F6zS3MXvdOb/86X/D8H/fhuG//zMMP/0tDN//V2NXGet//08u5+pP+ejNt9NtTdU59Pj3fwvDm//s2722zaX+WNuulBc7f/qfMERf/i0Mf5rwpfhOyh3Sx8XVyVx14/NfYfi//+2MM9eZ8s8aX16cPyZijp0dDvDVbdwDiOOGccT5Gzr/8m5qe4XZsXlBmMFfYurZwuwUSVIUZgsmOJaWa2x8xgREFAk5OT6mwLlWYXYqf0i8ik9EkIgYPvY98Nrae4Yww5eX953f3JOujUXsJX+4SQZuclDPv/m9/TUMb79r2/nmlzB8/0M9JmV+zP/Z45/90B6XerHcL2H4bIm/U8Kmc/F2dSrN0JtEMc+46+pSM4Pfm4H3KwCyriYrU53jqf/clzuv/elN4e7jLoRPj3E1ramnN/2m/lN4+qSrbkuE2X2Q9T/7Z30y2FWHZtXC+nEXHh/q6keqL+3uwuPH2nrT7jCEKX/KeHe7vJby6b6Ua/wyaZcwsGdM6rdjvwqLb38Iw/fK7s+V59jXd5VdYfbLzGusl6+HL3+u14Y9vsdWEV6yomX/k9Wt3vFY5i+p75/+Uuv88/Mh/FPb6Jz/91+H8M7ZIeX/Yfr2q3L/+KtpX/qybURuzfXm2lb+0/WzoFxTX/jchcd3S+4JrowIEV2dEWFmVykk+f2/v5n//OqGJNbmvK/7vbSt521dXUWRVbh8fmqlrhmn2m76Fdu9oIyrXr1+c307Lh279jPnDy1z6Kv0G1eOvCDJ/lBfyKv3h7W5WWVa4kvjL2nbxmnfWKJQVV/m11hf2pSVPTn2bRj+lGOp/vT1mj6dPWXcKlYXjGnSl8oIr+Wesi/GnHffXbADOzfDwM0M5LgXaRRXVkh9lZJZTVQb4ZaTWT2nN0xJYCW5/earVbZFMVC2TCVxYRP+ej4Li15iJwnlSJiNy9+9c1sSu/VaRqR/a4/cDKIwE5GTbak2St0kQkqdLNKSCNonzMbjH97d1a2Wsa3abxRp3XGHEKaOq69dW3NjSEJUtrWZsYkQm2irtWvPmJSf3msj9oxUHY2tjVm5YcdJAsN1w3FmvPAqXOey8XrIIi5OSJj3nvue3bLN0AoeEWR/aG3ct2KmAmpyq+IfhvAv14eMOwq5LOIGKSNCLfcdRZ+eG4YQ+7BtRCYWCK6l5RrfCAeG3eZc65sSv1Lmv6owk2S3SaBN3ZhoW3GVk2stH89rYp1Xh+yqkIinIjZy4q1J/ODaKraZ/ssxTdrz1kUVALpVLooyY6eMqfQzhKF3vtgl/S30R7GnZ+PEMek72iljMDb6tsRma1MzBjf+YZ8vffksqBat1nXKypbXaK85V+yTvgwDOi4v+PV4jHvPD/vGlOO4xJelr4mYcH5VTjG+f+BXfAIDF8wAwZkMjiSgmqTaxLT3pWDL6nkRZnYlTY/PvXYSvCoCNFZJDEha7ld4ylikHZ+sx7b3JIK9es7eSWGmokTKi4DQ/u373Ja0sUyYGeHj7JCx1nasb/wYpQ1/TMr74x3BZPq0fcUVs/g7O5NcG9/Zsikmtq/5MZUYmr6PdsyvcFlG7Xvtu3CtIu2rtOL2VgSbCDkj8rRO5zWuilnBM1HGr2bZcYtokhUze6x5PyPMVIhJedtOXE2zAtELyHjNnECYxXbHExzNeDo+Wn3eCzMRGVbwSB9WfHlx0ZTPibeKOq2r4mrOXm+Hr+tXzxrR1+m3195c/+c4533n+2zOd8ZkfdD4PTNvz/u27efom47QimVEmGVRJX2okJS2bVylbO+Yb8P2q2LTtrPU5qadmWt8slz2p4xHxmUnFybrTPTT8/2+NmZ9PtGPtCn+kesx1u/EYLLf9B2SpuZ6320zfU62OVHn6zfhw4c34VW33hfh9fsP4f3rL6bvy1rv89fh/YcP4YP/7/3r8IWW2eT1VXhjbFo0lrPaucLHzq5X334Ib76eiKuUjTF5H17Pfa+6Nld/B1F//7Ux9tFM0MaFD+ngeuvYRLUkqMZfdstib2XM1l/qy4UrIpL4h67YyPYZkdBcSL59K6bExql6xn7pu6x+5eMj8WjFmH2fy1fhksRQKzCdQMpJbFkfUsE3pHLluHnT2mdFkYnfEmHm+lY754XZArtcu0XEGj83cTvW8TlhFlfTdIujeY1benXF+Lu0jVHKfilizW+FtP5t39stibJV0YusJStmvk7jo2sSZjGewuUC0fec2HsB04iDHB97zL6XfpskdY+YmLOzaSf3W5L2TrtNki9iwm3Li5+nxEfLXcPInI3PPed9F9tztqsQasbn/aErl50xl/p7xhjFialf6t2qMMsiRyYJPPNr49pjdW0bS8sXZiQuh/E8+u5d2veickkUTCb3ItqWCqsoAqYE3h6eF9n6/Da+eP1+mcg8kz3PvXftFWZXMo7n+uEK6z8f5isc9EKxqKsE+mp8JULNrob1hNshwiwm7HuStSiunsKj/K6riBRjm1xs0s7o3F24f7BbFzuiqFuvbXu1MLPb/dQ2s9pXRZr20wqp+4fOk/CyoBzX1Tbsa9te5dUfbwWhtG39a/uaF2a9lTxrzxDmxlTta+vE415YqxgdxbpTV3w/J8z28Rrr/pxWkWNZ95vLuZv8H4bwk12ZclsKZWxbCLPr3co4EV8fA5+k9pJOEUiauJdEMbfflO8IqCKu9tjj7RA7bV37Po4hC5q4+tLp14/zEj5738lnXZ0S+5rznTFZHzR+3+Pb0dj/Mwx/0q2LUjf3FVc2b1yYCS/Cml8VjvwZoWpX9cR/4nsV+2/MqnKMQ/7NprQZY2qeJqqfY12/vVP9PvObTKnv4zKK5574y3eCn2DNbcTvsOdM/uwRU5L4L15h2tPWEFfm7ApPXsn69lXJ16S/suJmBGEUVO/fp3PfvgpaTgVlsvO1WRnrC8RJYZZtS333605+b0/WTaLXClvp/8OHvIIV/VXHq2Ox/eg4vU9Gx/OKoMYq9aNt+/FkMf7arHCaGEj/tv33374J7ydXVB27Xsj7z67tOC4T52FoVzerT7Iv4zjfh9dfV9vTmKXe+/D6taz+pnGrL9Sfkz6JNr5Pq73vX4dXMUaO+8kYy/hbm6V/37faYF6d49beFG69vK4iWBE2iFAzD0bQz7rtUX2yL9HVcs2rF0t59aUk3lY8+LImlh2BFWfW9GEfsc9O/SgM57dGyM2+XZHKvzGzXw5+lSy2qyrCPvwjb3s0Xx7JzixOsxDRlSoBN37ZaF/xvBGyuXxrnxdg6id/3PpWztlxps9qxz5hlh5IMmHXvjE1PKitR3qdE2bKcfnNWOZcH4IjPBfu8znP/ITto9+HTQgz/zs0c6NqtiDa4+X9AStmUldti6t41/Lwjwk/F1/o+ZEgsoInJ7F2pr4RD0dcMWvEgfZrElxJgL2Iscm12OU/W7t1vDOvz05SZ9qOfm98p0m5CqT8WQWw+sMKBCvMmq2ccu3nuJX6M/cDsUOEQmnb2nIsYWbbV1tyP6VfJ773+S+fPzhOMu7Yt/m9obQZrwGzGtVjqbCVx6Cfi0A2PuwJv+7v7lxbGkPrH2k/CjMp64Wd+nXPq3yflPygLXuwL3MskqCZ2Ka4T2j5eC8pHxPcJBR831EMFIGQkl1NzGNSHc+Z49JWLp+ERBUgsXyT8Ce/yfFR0hztNtv9YqK+cPvl3rpJUMQ+Z/wj9utY9R5fx6wx/yJ84bYk9upp/fQq/qp+Sce8YDQ+HYbgfed927avtuVX7zv3eX5MxleRLbHLxKUc+9BZxU1jUB78Fs52TK6fYqM5LrFSfmZjnOo0sfv8iyVbd53j/MX00j/rdsWSrGZ/aZIqiaps51IBJ+W0TjynW8KW/RYnQZ0EgsqYOhuWj6sokdhkJ/XiZQAAIABJREFUwaOCId2IS83ypgiVRiDp77xaBlTApcpZXLh6peH8hRDrWLvsl4V9n3kSO9VmGXPbpxeGSRSVPm0/0l4WOum8rev8mBuo/c4JM99uXqHMYm2vMJu1S/y9Z0zZT7M3uUPKzAozsSsLLmXXCq/md5a6tbFlZ87e+DszfaKieQCHrWNF0r97T13U+uaBHX6LpD71Ubc9+t+RXcRvzGLs7ETAcj9af+19PxJm0k9O8uMsv0uwG3FxTGHm+pXEtxEiuS+1yYo05VwFR3d1Yr//npuk7vW19130vVuJEdtLIu587/3h4xTr7R9ntLPpW/vUGMz8xszX03ioUNFYRCFtxhYfSpKFiBUeozHtt//kcWquiY7NRYxlJlUMy1hU+I34NIJXfbRXfO/3xV7mcl/p+9N+9x2hbZ9wlnGltmNCXoTSgv5ie7pKo68+sTarMZr4un7VJ9K/iihJrNN7SYTNilNuw5ZN9XtJfRId2mavn7m6Wt6+LurX+KVJ4M24pR1/To4VoWHK+v59PXs+reb0hZmtV8fRExqyOuXbmOChiJx83n2eHZMrK+Oodml//bimcVrWOuMwPmwEovRrBH7yi/STxjxvQxKE1pet/9Xu0evoQFk2XtgA5U1A8VmPpyRCWnF45C8RYsB1eAADva2MzQNI/ISEmxRoJ0LMCulSW2z7E7Pez7qn+NWBpXbdZDm5Dx0Qo0W+yAn+GvG0qN3e/fTWj50oTiKsVGgWYSWCyqymSUyuTZjJPeQE944mOR2xOpUAz7AZBciCBF4S4antXkbE2DKnE2Ypgdftb/Z1f7K9tK6Wm/aNJP/j/rTevMgd17MxqgKjfs+kdm29Kj7G59Lq07Tttd0hxO2qVnCPxNb0mCKP5iEtJRbN5MAUl/54Zxx+y6G2OyvMvL0aCxMvx6zdutr4pr3GbJB4P+MoEt8WnHX+sAlos0UQ5mBuWwZ6q3RXHZNnriwdPvYsTkryqysM28Y3jcdNDj3nXlbquvHqyko5f8pxu1VPLy7OYsMpxneCOOkqoK7k3dqKmewYcRNGh1/DGlOfyOrx9Dov2tqyxZZFwkz6/RDexN832RWOvJJmkvoqFuxKlyTKp14xmxhf55qzNhY/uHLRl+9fh9czK2BdYfb1q/ZJmVHQtgKpW6/pX/zd1hmGsWix41B79Umacm76qZ3OV16IjT7PjMmXbcah/Uxx64+3Y0yir/qh4Vv6XbViprak11df199ICgPRXyr6umOI9dpGpuDhOH6CARiAARiAARi4Kgb8qnGcuDC/52rOZ7GtWzdl9UwF96VuZZwRZgdvC51NgtukdjELC4SZTYhbAZAFW3n0e/qs2w6l7L6tjOWhGp3fSekYajvmGhdfWPESP5sVkenkOq0Qzda1gsGPsdowFlipbLP64u1cJAKknSpIkh/G8bXCTMokMZZWh1Y9/MMxENspYnvfmLx/cvlG5MixVtCnMfnjdozpvbKkwlTFWFzlmxFm6aE1xoeWj/y+to0wW7eiM3dxcQ5fwgAMwAAMwMAVMuBWNt/kpySq+JKYlm2O8pRE91TGOWHWrE6brZKLf0dYk28VB2tfR7/vNoweJsxs0tqxT5LNkkx3zpv+m7H4LV26LS23FYVYIxKSHaWvnOSmLWxvwuv8dDzZclcFldSZWjGbeipjTvDVnvI6TrZT373Ef8YPjd22burXJu3Nkyn3+Et8awVSIx5LDNqxaV/J13XbnW4LTOfH8a/CbHxu1VZGZ/Obb8cszY+pP54ipkrssmgs/76e1LO+d+NofF2f3hj9IfGbE2bi68kYCxetzdpWc22UeBWOypsrvOFi+57gEtMx8PgEn8AADMAADFwxA2nLZ3qe1dzvJtf/Xi8m7ZPCKyWZ9vdH15CDVGFBzvjceHk+opBqVq3w8XN9PByhgSu+uQEQ8YcBGIABGIABGLg1Bk7we70rFfMIs+Oy3axqTYr44/b5wu5POO+FBRwhfaVfLnDKvQoGYAAGYAAGYAAGbpqBmx4cIgQRAgMwAAMwAAMwAAMwAAMwcA0MIMyYeYABGIABGIABGIABGIABGICBjRkgABsH4BrUOzYyywQDMAADMAADMAADMAADp2UAYYYwgwEYgAEYgAEYgAEYgAEYgIGNGSAAGweAmYfTzjzgX/wLAzAAAzAAAzAAAzBwDQwgzBBmMAADMAADMAADMAADMAADMLAxAwRg4wBcg3rHRmaZYAAGYAAGYAAGYAAGYOC0DCDMEGYwAAMwAAMwAAMwAAMwAAMwsDEDBGDjADDzcNqZB/yLf2EABmAABmAABmAABq6BAYQZwgwGYAAGYAAGYAAGYAAGYAAGNmaAAGwcgGtQ79jILBMMwAAMwAAMwAAMwAAMnJYBhBnCDAZgAAZgAAZgAAZgAAZgAAY2ZoAAbBwAZh5OO/OAf/EvDMAADMAADMAADMDANTCAMEOYwQAMwAAMwAAMwAAMwAAMwMDGDBCAjQNwDeodG5llggEYgAEYgAEYgAEYgIHTMoAwQ5jBAAzAAAzAAAzAAAzAAAzAwMYMEICNA8DMw2lnHvAv/oUBGIABGIABGIABGLgGBhBmCDMYgAEYgAEYgAEYgAEYgAEY2JgBArBxAK5BvWMjs0wwAAMwAAMwAAMwAAMwcFoGEGYIMxiAARiAARiAARiAARiAARjYmAECsHEAmHk47cwD/sW/MAADMAADMAADMAAD18AAwgxhBgMwAAMwAAMwAAMwAAMwAAMbM0AANg7ANah3bGSWCQZgAAZgAAZgAAZgAAZOywDCDGEGAzAAAzAAAzAAAzAAAzAAAxszQAA2DgAzD6edecC/+BcGYAAGYAAGYAAGYOAaGECYIcxgAAZgAAZgAAZgAAZgAAZgYGMGCMDGAbgG9Y6NzDLBAAzAAAzAAAzAAAzAwGkZQJghzGAABmAABmAABmAABmAABmBgYwYIQDcAfxjCv/4+hJ9OoIrf/XkI//57/e+gPt49hl3Yhcd3y+N393EXwu4x3JkxxWOf7m9z9uPhKUz+LRjzTfvGMDDm/y48Ciof71ZzIT6brXcAt2P7LPP3QaL89OCPrbs25vuwbd/C+xTfcm0suBaW+0fi8RTuZ/ma8eHR+bB95XG7e+Dysdm2rvv9/SeJ/jPidGh8qbf6nvoS+WTM131/IX7Pjt+zG7jNG80JhZmF9p8nEn+2D33/4oSZSQJ6Y1e/TL2+XGF2+D1hrzAzMZny+7rjCLN1/sripIgx//nw2Cc7ninMjs5HHc8h94B1vq19XUM97m/XFa9rYAobYQoGjsLAURq5PXGWhdk/zOrWv/7c+qpZ+frrEN65pOIff62rYr6uwrtWmMUv0zLV3Z/xTLOhpVBZJeslJv7LeapusjclwdqyXaWw9Z4eTLmYAKbk7+mjrPLlv5IYJp9OjktWvXayNhjiOO5l1U/e2tWcZmWs75Pe2OOY4gx9tsmtvPR9Y1dizDhd3SHa/Rge48x0tHjV6qbycdjrlF3jFYPk9zymGV+oHTbOKRBpBbaNX/VnyHFuz/sY7efD9rv79BR2ZbY/jdWyOAxyzMTJjUuss+Ub2+xqiuXq032oNmT798a4jUNlVsa7E6zjX71erF9yrLIra93e9RJHtGyVKttsV80Ht0o16Q/168e6El3taseazZYr1XDflql1h9D0WWKr99v9fKQx1F6jR0arqG3cE9OOFR2j2YlQ457bt4wM03Gy9WqMQ0jXxP4xTfsk2Zz42YXHh3xfbexqfW1512t5dJ3Y7698zdgY1XoaF17xCQzAAAycgAGc2nVqFmZWUImI+ufnyV9RlBkx9tNfhvDvv1Rfiiibqmv7WyvMal354rWJXOo7fpk3oucu3OUkI55rvrxzQmST54m6Q05A6he1T2ikf01SvF35eOk7JQ2aLLR2pbKln5JImuOSNGhbLqlUQdQknkMep9bRBMTVbe3o+Kapb+yJ7Tl/5KS+P8bKSY2nHsu+anPM+EnbGtfRujUGxX+jRNPYHcfvY5XakqTS9zfHltokZWrf1i593+M2j7n4d46PIQsktbstm+ywsbDvkw1378wWzRgnbauNuR3TONEfQmTNiLyWH2dX008ab/SvOW59HpP6ci2a8sKa1Cm+kjHVa1xtnnpt29WY1Nd2DNnXxY40JhXbXtBV31d/Vjvm/FH7T2LB15/noycwmhirzzr3y3Hdlpd9zLf+dHGK94Vs+6jv+TG1cUhl63VVbazlpIyK4OnyNR6Jm8kty/He4CbA4nhsrHjf+hN/4A8YgIGjMHCURm52xcz+/iuKsSy+RHipSIsg6grbH4YwdLZBeiGn8B5bmLWJQhvb+iVej9vEY67uOBlMSVtNFqTNlBD4hL53XPpq6/Ztiv3mxFDqpLYlMUnJ27idmrSoj+W1N3Z7Pr53QqX4xiTPpc4oOXb+8Odd26WdYyc7vt/B2SX95aSrKzayPdXXNS5yrCTlE3aLz6bimsZcY1d9MOamxnV8Ltmvybu0p1yorYaBOFZNWPW8vu5rO5UrHPgxe1/PxtjYFK+TbJPUySKr+K7TjrUhvm+EmY5n/2v1a6/slD/Uf3YMUr9TPk4EaGx6fegx35Y97uuP+2nGMRvj1O60z7wd7edZ5vfEKfE9tn3qeDMmx5qNfyNehUF/f/Rc9u4B5jrX+vV61Fjwik9gAAZgYAMGcHrX6VPiKgszEVT/EBFmvkDLsc+H8G+zmhbL9I4NQzi2MNNkqS64aFLVFyftF35KIibr1hP1XZlNF188JwmRhMj8abu9xKMkf97eWt+Lw+nELK8KlKo1KUx18jZKN+Mdz5U65o212ybPnSTOsnOs93vtiryq3+pYff+SJHofanzraCtbWl/6vyhhJuMVhuyfxihyZE/o+3Zc0aeljrnmfQLciXEbD21X/J/fSx0vzLy9xaz64J4oGPT4SJgaG839SWI0KzRGq6vSjhUq9v3U9S5lprnq+8Pa26s/vq+MRIz3mYtX7Ndej8Uvfkz+s14r6myNYYerUqTGSa+ZqWvJHh+NyfNZxmR8JOPOx6W+tNf6WI3qT6rM82Djwnu9x/EKCzAAAydmAAd3HbxHmF3qitnwcN/+1iQmLDlRkvcuOWmSgZV1x34bJ1CpzPi47TclEjWZi581CekkHnbG2LYztqey3U3MYiJtBIhLrJNdKREbJTAdXzb9+/Ou7aZsSRLFXp8I1sTKJnGT9X2/TdvJH+qL+Ps39bMrJ+Md9TfHR64vbR9XmI0nFGIsSvI/ZqtdUbsL9w9m62L2b7KxU9f5Qfwc/dXzk/d1E2NJnu2qsE34pd8ZYda0UxkuMX93H+7Nb6D6Wwo79WRs3mY5FvsTezr+KOekPTsG+dwpH8vUa7nYnEVGZcO3pfbKcV9/3E973c/FOLcr4x612xuTs2uO+X1xiiyNbU8+GR+3Y0r3nuqHlkHjIxmXE2bdGHe41vjVmGgMeK3c4gt8AQMwcHYGzt5hs8p0sQHPwsz+bkxWt3T7ot+aeBm/MZMv7PSQjPIbqyYhSedLwh0TC03AV9bV2dwmYR0nGym+4+M1CUnnanKQPmuysW8rY1oNqQlM+qxjqmzHxMaJUn9sfzJk23W+9P7wCfCiJK7ae/h1sceuaKfO+vuytX+JT+EkJnX7+Eh1vU/H45B2TLwmktfKR2pXPutf+/CPCeFmVqGkXh1Ly5u3NzGg/jFjajjPfpqLcXPd6eqKtis25PfChbHVCsbRNRHL5evD+jCypW1n23R1zJYzvi7Xl04E5PF5f0S/l7FL7Gw/yZbqW+l7gqlZf1Sb7aRLZWfcj+UjxWw6xqmdCbu8uIx26hhTnWYyqxlHsqsfJx3T2PZkz/h4HdNEu00c8jUk9uTjUj/Fwo81j6PUV9vkuI5Vj+XX/N1Qx+bOd4UeZSqz+AJfwAAMHMzAwRWvQ2Ad+gWShdkpnsoYRZ35d8z03zSzDwuZAlqTEE1S9dV+gcZkSk/4xCx/4eppW0/6nK2r4iNXtnXberlASQTmkhCdsS8Whcf81LfY/mTiYZL7mCyZ+nY1IcffJ5zJv8muUvPjYyNsY50yBk2uNfmR6yYnPLkB64/RrHX0u7H5UC4X1ZuyKx0f2anCxbGhfrGJaRvn3nhan2rSOM/tHB/jc+2KWLp/zdrlxtWMX1fEymDNmBqutIA7b8W+i3Fj06fH+G/DpVUbGVNOiKXOSJjJmPp+1PtC689+cp36N/YWdla0bcfXiPpqYyvM6nWSPFZtm/bH9Pa7FKsxA9JWE8c9MRa/9e8Bzt5PMm1Qbd5/T5z2ZTNexafcT/aMqRnPrr0nxjjkuHbvj3vuTfaeWOxJ15Hyla4x5+PCjyvL8dvOhYgv8YWBczPATbZ8GQHfueGjP5jby4BPqGPCO5VQ4s+9/ny597ssohqx+TK//5Jo7In26g+57hrxy7XFtQUDMAAD52Cg3ohf7hc2PiD2MHDJDDSrDyTW5/hioI8XnID4yZBLvjdgG99dMAADN8YAAb2xgJJQveCECpa5n8EADMAADMAADMDA1TJwtYYjQBAgMAADMAADMAADMAADMAADt8IAwoxZBRiAARiAARiAARiAARiAARjYmAECsHEAbkXhMw5mq2AABmAABmAABmAABmDgcAYQZggzGIABGIABGIABGIABGIABGNiYAQKwcQCYVTh8VgHf4TsYgAEYgAEYgAEYgIFbYQBhhjCDARiAARiAARiAARiAARiAgY0ZIAAbB+BWFD7jYLYKBmAABmAABmAABmAABg5nAGGGMIMBGIABGIABGIABGIABGICBjRkgABsHgFmFw2cV8B2+gwEYgAEYgAEYgAEYuBUGEGYIMxiAARiAARiAARiAARiAARjYmAECsHEAbkXhMw5mq2AABmAABmAABmAABmDgcAYQZggzGIABGIABGIABGIABGIABGNiYAQKwcQCYVTh8VgHf4TsYgAEYgAEYgAEYgIFbYQBhhjCDARiAARiAARiAARiAARiAgY0ZIAAbB+BWFD7jYLYKBmAABmAABmAABmAABg5nAGGGMIMBGIABGIABGIABGIABGICBjRkgABsHgFmFw2cV8B2+gwEYgAEYgAEYgAEYuBUGEGYIMxiAARiAARiAARiAARiAARjYmAECsHEAbkXhMw5mq2AABmAABmAABmAABmDgcAYQZggzGIABGIABGIABGIABGIABGNiYAQKwcQCYVTh8VgHf4TsYgAEYgAEYgAEYgIFbYQBhhjCDARiAARiAARiAARiAARiAgY0ZIAAbB+BWFD7jYLYKBmAABmAABmAABmAABg5nAGGGMIMBGIABGIABGIABGIABGICBjRkgABsHgFmFw2cV8B2+gwEYgAEYgAEYgAEYuBUGEGYIMxiAARiAARiAARiAARiAARjYmAECsHEAbkXhMw5mq2AABmAABmAABmAABmDgcAYQZggzGIABGIABGIABGIABGIABGNiYAQKwcQCYVTh8VgHf4TsYgAEYgAEYgAEYgIFbYQBhhjCDARiAARiAARiAARiAARiAgY0ZIAAbB+BWFD7jYLYKBmAABmAABmAABmAABg5nAGF2MmH2zS9h+Oari4Lz7uMu+L+nhzMy8O4xiAW7j3cjvyTbnsL9BMz3n0IIn+5H9abjdx+eQgjt+OTYLjy+O+OYJ8Yzbfehtt2Fx3F4c7iXjPm0vknxXWLHoeOn3vGZwqf4FAZgAAZgAAbOyADOPpmzL1CYtWPtCZdT8pCEQ0+URbseooyaFGat7Uvs7I3vtOJjvY1LxnFImd7Y97VzBt9IjHeP4e5sYnXfmDl/OcwSC2IBAzAAAzDw4hl48Q7or8B8+XMYfvw1/ff2uzC8ze9//LmWF+GlZb7/oX9cz8urtCMJqbRty9vPn/3Qtln6+CUMn5m6xZ58/KBEd5y8x1Upu6TWJNGpvJ5uVqJywv0oq1rxr7Mysk94dZP2ts+eqBuvAuqq23h8wyDHjG15BU+tllc7rqZt64s4llzr032ofst97/XH1LhEvO7CLq98PT1oOR2TXK/tyljPJ2mc7Vj0Zl9tlaVLK5ImfGNWKSf9kW16+phWRKNnTD3tW223Pq7n8li79bhPVT/hC3wBAzAAAzAAAzfKAIGdDawKoy+dn6JwcyJNhZeKpKkVMyvEekJNj4mY81shY7+/hkHtkT6syNO+F72mRFiT5Jh0N0nxXbgrW/7askMUNEbgZKHStNUk/UMSL037zqddYVbLiH0jETKqM2Nz9IkVH/Z96ufundliGcdUBdHYP0NQoaLjLizN+sP5suknia7YnjkuYkr7iMKq+NGUb2Lu+sjn2rq+jPWHPzeEwdgj42z9kcViiXmnfteGGl8Vk+u2q9r6vC/8NSzgF/wCAzAAAzAAA1fCAIGaDZQIHy+4hq/C8L0RR5IExZUuI9Tk2HOFWU9weVHX63dxUtYmz23S7riQpLwk3elcU96fj8KtihpdKRkJK2ur1HF92Nj0hFkUB5N12vGltuRYFpReXFpbdAXI/v5uNCYvTozP9vrDlG1W8UTgGPvy2MrYF9vQG7vts8awxkR9k0RWPS5lOwKwsWV8Xvho20h9zsdsbKNlgPf4BwZgAAZgAAZg4IYZILizwe0Ks+/qdkO7VfFHt63wyoSZJt91W19dEYvJdFmlScw0x/YKkV6y79iTRH9SZCUR1Ev0o0CsRpeVJV2B0ZWmFGcVH7lvsdv+lTEmYWNPpffVJ9Je4wMr7Pb6I9ctHWi74qcZYebt1fojv80IsyiotKIVT8k3uo2y9fU+fyDMZu8jlg3e123f+AJfwAAMwAAMwIBlwCXHOMc6J616LVkx6/nt2oTZw3374I0oAtrfTNmHNqxbMVuwlfEQYfbuPtyX7ZZDaLdYjsVCOq8reXfh/sFsXcyrQkmQdOp2YnyYMEsipwqfJIjSkyL3CLNmlWru2k19tKI0x8CIuHZVK4svEaexHxWL0s8+f4zPt21XWxtuOj5F4FRf4Qt8AQMwAAMwAAMvioEXNdhWdC1JCrsrZnmbot1qKOV6K2a2jPbntx/Kgzx8Ob9lUev6474tLbfgNSbIQUVKTspN0t7+psgl+j5xX7BC1La3njsRQVXMSP0kBkIZgxdmeVXKjCmOOX+Ooqp52EdqT/uI503dVN6KlQNXzKzglTjFz9qu2DCzYtaIR+MDY2e6gbt4RR78sfRZx+sfjNIdv+mn9cdSYTYuV79wkj38xmz9tVF9SF18AQMwAAMwAANXzADB6wZPH7LRbFXs/IasnHfnYiKcf4umZezKW3mqojyt0TylMQotfQKkvpotks8RZlFM1S1s/jdj4ock1rSMijZlJCfO+XSzGrNEmI1EhbabXlOiP9+nWmbFWKqnZ1Tg1LZnx+R8UkWKtUnbNrZFMaXH9dWdNyKmXalzfv70mP/9Mam/T5iJXUncaK99IeNFWPZHY/dTeMz/rl2KpdSx/sv9mHG0vjbjzTZZJsTv3p9RhJr22msPYdb6ozLMcXwBAzAAAzAAAy+CgRcxyPUrZQtWnLhADmAnC6FRwo6/b57RdoVtgh0RjuV3fhNlYOXmWeHeCvswAAMwAAMvlAEC/0IDT3JHgn9ZDMTVPLsKx72JexMMwAAMwAAMwMCLYuBFDfayElGEAfGAARiAARiAARiAARiAARhIDCDMmImAARiAARiAARiAARiAARiAgY0ZIAAbB4AZAmaJYAAGYAAGYAAGYAAGYAAGEGYIMxiAARiAARiAARiAARiAARjYmAECsHEAmB1hdgQGYAAGYAAGYAAGYAAGYABhhjCDARiAARiAARiAARiAARiAgY0ZIAAbB4DZEWZHYAAGYAAGYAAGYAAGYAAGEGYIMxiAARiAARiAARiAARiAARjYmAECsHEAmB1hdgQGYAAGYAAGYAAGYAAGYABhhjCDARiAARiAARiAARiAARiAgY0ZuPAAPDyF8rd7DHcoaWZTYAAGYAAGYAAGYAAGYAAGbo+BCxdmxeF34XEXwtPDtdiLnRvPOHCzKtcOLMIiDMAADMAADMAADFwBA9cTpPtPCLMrAApBhCCCARiAARiAARiAARiAgfUMXJcw2328I8jrg4zP8BkMwAAMwAAMwAAMwAAMXDYD1yPMhiFtZwz81oyL6rIvKuJDfGAABmAABmAABmAABtYycD3C7O7jLrBidj3xYtslsYIBGIABGIABGIABGICBxQwsLrhW8R29PL8xu55YcQESKxiAARiAARiAARiAARhYxcCqwkcXW2uChTC7nlitiStliSsMwAAMwAAMwAAMwAAMXM3eTx6XD6zcsGAABmAABmAABmAABmDgZhm48IHZf2D60/2mK3ZcBBfOytVMMuBHriUYgAEYgAEYgAEYgIERA6MDiB8SfBiAARiAARiAARiAARiAARg4LwMIM9Q6DMAADMAADMAADMAADMAADGzMAAHYOADMRJx3JgJ/428YgAEYgAEYgAEYgIFLZABhhjCDARiAARiAARiAARiAARiAgY0ZIAAbB+AS1To2MYsEAzAAAzAAAzAAAzAAA+dlAGGGMIMBGIABGIABGIABGIABGICBjRkgABsHgJmI885E4G/8DQMwAAMwAAMwAAMwcIkMIMwQZjAAAzAAAzAAAzAAAzAAAzCwMQMEYOMAXKJaxyZmkWAABmAABmAABmAABmDgvAwgzBBmMAADMAADMAADMAADMAADMLAxAwRg4wAwE3HemQj8jb9hAAZgAAZgAAZgAAYukQGEGcIMBmAABmAABmAABmAABmAABjZmYFkA7j7uQvn7dH+JChObmPmAARiAARiAARiAARiAARi4VgaWCbOqHu/DU9iFx3dr61G++hBf4AsYgAEYgAEYgAEYgAEYgIGGgebDAnV5Fx53CDMgWssN5WEGBmAABmAABmAABmAABmYYWOscEWYhPD2srUf5mSAsEMT4D//BAAzAAAzAAAwyWAscAAABeUlEQVTAAAzAwA0zcEhwZTtjCIHfmiGo2MMMAzAAAzAAAzAAAzAAAzBwDAbWC7P7T6yY3bBSPwZUtMHNCQZgAAZgAAZgAAZgAAbWMbBWmPEbM0TZWmYoDzMwAAMwAAMwAAMwAAMwsIeBtQ5CmO1xKDMD62YG8Bf+ggEYgAEYgAEYgAEYgIH1IoPH5a/32VrxS3l8DAMwAAMwAAMwAAMwAAMvjIFlAbf/wPTu4x2KllkNGIABGIABGIABGIABGIABGDgeA8uE2QtTqwB2PMDwJb6EARiAARiAARiAARiAgf0MIMwQnTAAAzAAAzAAAzAAAzAAAzCwMQMEYOMAMHuwf/YAH+EjGIABGIABGIABGICBW2cAYYYwgwEYgAEYgAEYgAEYgAEYgIGNGSAAGwfg1pU/42N2CwZgAAZgAAZgAAZgAAb2M4AwQ5jBAAzAAAzAAAzAAAzAAAzAwMYMEICNA8Dswf7ZA3yEj2AABmAABmAABmAABm6agf8PVvGrlJdaMZ0AAAAASUVORK5CYII=)
In this VerifyUsername action method, you can implement the logic to check if the provided username already exists in the database or any other external data source.
Make sure to include the necessary scripts in your layout file (_Layout.cshtml) to enable unobtrusive Ajax, which is required for remote validation:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validation/1.19.3/jquery.validate.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validation-unobtrusive/3.2.12/jquery.validate.unobtrusive.min.js"></script>
With this set up, when a user enters a username in a form, the remote validation will trigger an asynchronous call to the VerifyUsername action method in the ValidationController to check if the username already exists. If it does, an appropriate error message will be displayed to the user.
Thank You
About Author
Brijesh Kumar
Database Developer
I have more then 6 years Experience in Microsoft Technologies - SQL Server Database, ETL
Azure Cloud - Azure SQL Database, CosmosDB, Azure Data Factory, PowerBI, Web Job, Azure Function, Azure Storage, Web Apps, Powershall
and Database Migration On-Premise to Azure Cloud.
LinkedIn : https://www.linkedin.com