HobbyProject/doc/LowLevel/UserManagement/User Management_ Create Account.svg
Im_Alpha 27dc15577e moved designs
svgs
2021-12-08 00:53:21 -08:00

1 line
118 KiB
XML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2062" height="2744"><desc>title%20Create%20User%20Record%0Aactor%20User%0Aparticipant%20Controller.cs%20%2390EE90%0Aparticipant%20RDSFactory%20%2326abff%0Aparticipant%20UserAccount%20%23CBC3E3%0Aparticipant%20SystemAccountManager%20%23ffffe0%0Aparticipant%20AccountService%20%23ff8b3d%0Aparticipant%20SqlDAO%20%23D3D3D3%0A%2F%2FSqlDAO%0Adatabase%20SqlServer(MariaDB)%20%2300FFFF%0A%0A%2F%2Factivate%20User%20%0Aactivate%20Controller.cs%20%2390EE90%0AUser-%3EController.cs%3A%20%2B%2BCreate%20new%20User%2B%2B%0A%0A%2F%2FRelatDSFactory%0AController.cs-%3ERDSFactory%3Afactory%20%3D%20new%20RDSFactory()%0Aactivate%20RDSFactory%20%2326abff%0ARDSFactory-%3ERDSFactory%3AConstructor()%0AController.cs%3C--RDSFactory%3Areturn%20RDSFactory%0Adeactivate%20RDSFactory%0AController.cs-%3ESqlDAO%3A%20%2B%2BIDataSource%20factory.GetDataSource(string%20name%2C%20string%20connInfo)%2B%2B%0Aactivate%20SqlDAO%20%23D3D3D3%0ASqlDAO-%3ESqlDAO%3A%2B%2BConstructor(string%20connInfo)%2B%2B%0AController.cs%3C--SqlDAO%3A%20%2B%2Breturn%20SqlDAO%2B%2B%0Adeactivate%20SqlDAO%0A%0A%0A%2F%2F%20Create%20new%20Admin%0AController.cs-%3ESystemAccountManager%3A%2B%2B%20manager%20%3D%20new%20SystemAccountManager(IDataSource%20conn)%2B%2B%0Aactivate%20SystemAccountManager%20%23ffffe0%0ASystemAccountManager-%3ESystemAccountManager%3AConstructor(IDataSource%20conn)%0AController.cs%3C--SystemAccountManager%3A%2B%2B%20New%20SystemAccountManager%2B%2B%0Adeactivate%20SystemAccountManager%0A%0A%2F%2F%0Aactivate%20UserAccount%20%23CBC3E3%0AController.cs-%3EUserAccount%3A%2B%2B%20new%20UserAccount(string%20username%2C%5Cn%20string%20password%2C%5Cn%20string%20email%2C%5Cn%20DateTime%20RegistrationTimeStamp)%2B%2B%0AUserAccount-%3EUserAccount%3A%20%2B%2BConstructor(string%20username%2C%5Cn%20string%20password%2C%5Cn%20string%20email%2C%5Cn%20DateTime%20RegistrationTimeStamp)%2B%2B%0AController.cs%3C--UserAccount%3A%2B%2BNew%20UserAccount%2B%2B%0Adeactivate%20UserAccount%0A%2F%2F%0AController.cs-%3ESystemAccountManager%3A%2B%2Bmanager.CreateUserRecord(user%3AUserAccount)%2B%2B%0A%0A%2F%2Fcheck%20if%20there%20is%20an%20admin%20user%0Aactivate%20SystemAccountManager%20%23ffffe0%0ASystemAccountManager-%3ESqlDAO%3A%2B%2BisAdmin(user%3AUserAccount)%2B%2B%0Aactivate%20SqlDAO%20%23D3D3D3%0ASqlDAO-%3ESqlServer(MariaDB)%3A%2B%2BSqlRead%20confirmAdmin()%2B%2B%0Aactivate%20SqlServer(MariaDB)%2300FFFF%0ASqlServer(MariaDB)-%3ESqlServer(MariaDB)%3A%2B%2BSelect%20*%20from%20Admins%5Cn%20where%20Username%20%3D%20%40UserName%20%5Cnand%20Password%20%3D%20%40Pwd%2B%2B%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2Breturn%20true%2B%2B%0Adeactivate%20SqlServer(MariaDB)%0ASystemAccountManager%3C--SqlDAO%3A%2B%2Breturn%20true%2B%2B%0Adeactivate%20SqlDAO%0A%0A%2F%2FUnauthorized%20role%20section%0Agroup%20%232f2e7b%20Unauthorized%20User%20%23white%0AController.cs%3C--SystemAccountManager%3A%2B%2B%20return%20%22Access%20Denied%3A%20%5CnUnauthorized%22%2B%2B%0Adeactivate%20SystemAccountManager%0AUser%3C--Controller.cs%3A%2B%2Breturn%20%22Access%20Denied%3A%20%5CnUnauthorized%22%2B%2B%0Aend%0A%0A%0A%2F%2FAuthorized%20role%20section%0Agroup%20%23blue%20Authorized%20User%20%23white%0Aactivate%20SystemAccountManager%20%23ffffe0%0ASystemAccountManager-%3ESystemAccountManager%3A%2B%2BValidCredentials(user%3A%20UserAccount)%2B%2B%0Agroup%20%23red%20Invalid%20Information%20%23white%0AController.cs%3C--SystemAccountManager%3A%2B%2Breturn%20%22Invalid%20input%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2B%20return%20%22Invalid%20input%22%2B%2B%0Adeactivate%20SystemAccountManager%0Aend%0Agroup%20%23green%20Valid%20Information%20%23white%0Aactivate%20SystemAccountManager%20%23ffffe0%0ASystemAccountManager-%3EAccountService%3A%2B%2BAccountService.CreateUserRecord(user%3AUserAccount)%2B%2B%0Aactivate%20AccountService%20%09%23ff8b3d%0AAccountService-%3ESqlDAO%3A%2B%2BSqlDAO%5Cn.CreateUserRecord(user%3AUserAccount)%2B%2B%0Aactivate%20SqlDAO%20%23D3D3D3%0ASqlDAO-%3ESqlServer(MariaDB)%3A%2B%2BisUser(user%3AUserAccount)%2B%2B%0Aactivate%20SqlServer(MariaDB)%20%2300FFFF%0ASqlServer(MariaDB)-%3ESqlServer(MariaDB)%3A%2B%2B%20Select%20*%5CnFrom%20Users%5Cnwhere%20Username%5Cn%3D%20%40UserName%20OR%5Cnemail%20%3D%20%40Email%2B%2B%0Agroup%20%23red%20data%20store%20timed%20out%20%23white%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2BSqlException%2B%2B%0Adeactivate%20SqlServer(MariaDB)%0ASqlDAO-%3ESqlDAO%3A%20%20%20%20%20%20%2B%2BCatch%5CnSqlException%2B%2B%0AAccountService%3C--SqlDAO%3A%2B%2Breturn%20%22Database%20timed%20out%22%2B%2B%0A%0ASystemAccountManager%3C--AccountService%3A%2B%2B%20return%20%22Database%20timed%20out%22%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2B%20return%20%22Database%20timed%20out%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2B%20return%20%22Database%20timed%20out%22%2B%2B%0Aend%0Agroup%20%23blue%20data%20store%20is%20online%20%23white%0A%2F%2F%20User%20exists%0Agroup%20%23green%20User%20does%20exist%20%23white%0Aactivate%20SqlServer(MariaDB)%20%2300FFFF%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2B%20return%20True%2B%2B%0AAccountService%3C--SqlDAO%3A%2B%2Breturn%20%22User%20is%20already%20registered%22%2B%2B%0ASystemAccountManager%3C--AccountService%3A%2B%2Breturn%20%22User%20is%20already%20registered%22%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2Breturn%20%22User%20is%20already%20registered%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20%5Cn%22User%20is%20already%20registered%22%2B%2B%0Adeactivate%20SqlServer(MariaDB)%0Aend%20%0A%2F%2F%20User%20doesn't%20exist%0Agroup%20%23green%20User%20does%20not%20exist%20%23white%0Aactivate%20SqlServer(MariaDB)%20%2300FFFF%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2B%20return%20False%2B%2B%0ASqlDAO-%3ESqlServer(MariaDB)%3A%2B%2B%20SQL%20insert%5Cnuser%20credentials%2B%2B%0ASqlDAO%3C--SqlServer(MariaDB)%3A%2B%2B%20return%201%2B%2B%0AAccountService%3C--SqlDAO%3A%2B%2Breturn%20%22User%20is%20now%20registered%22%2B%2B%0ASystemAccountManager%3C--AccountService%3A%2B%2Breturn%20%22User%20is%20now%20registered%22%2B%2B%0AController.cs%3C--SystemAccountManager%3A%2B%2Breturn%20%22User%20is%20now%20registered%22%2B%2B%0AUser%3C--Controller.cs%3A%2B%2B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%20%5Cn%22User%20is%20now%20registered%22%2B%2B%0Adeactivate%20AccountService%0Adeactivate%20SqlDAO%0Adeactivate%20SqlServer(MariaDB)%0Adeactivate%20SystemAccountManager%0Adeactivate%20Controller.cs%0Aend%0A%2F%2Fdeactivate%20User%0Aend%0Aend%0Aend</desc><defs/><g><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g/><g><rect fill="white" stroke="none" x="0" y="0" width="2062" height="2744"/></g><g><text fill="black" stroke="none" font-family="sans-serif" font-size="13.5pt" font-style="normal" font-weight="normal" text-decoration="normal" x="951.1768527163085" y="18.8483115" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Create User Record</text></g><g><rect fill="rgb(213,213,229)" stroke="none" x="50.262163999999984" y="1044.0708016900003" width="906.8800904013672" height="140.9853700199999"/><rect fill="rgb(204,204,255)" stroke="none" x="12.565540999999996" y="1203.9044832100003" width="1966.3645086552733" height="1496.5559331"/><rect fill="rgb(255,204,204)" stroke="none" x="50.262163999999984" y="1292.6172026700003" width="906.8800904013672" height="110.82807161999995"/><rect fill="rgb(204,230,204)" stroke="none" x="25.131081999999992" y="1422.2935857900004" width="1941.2334266552734" height="1259.31851902"/><rect fill="rgb(255,204,204)" stroke="none" x="50.262163999999984" y="1701.7512176300006" width="1809.3184626790364" height="296.04414596000015"/><rect fill="rgb(204,204,255)" stroke="none" x="37.69662299999999" y="2016.643675090001" width="1834.4495446790363" height="646.1201182199995"/><rect fill="rgb(204,230,204)" stroke="none" x="50.262163999999984" y="2050.570635790001" width="1809.3184626790364" height="241.25838720000002"/><rect fill="rgb(204,230,204)" stroke="none" x="50.262163999999984" y="2310.6773344900007" width="1809.3184626790364" height="333.2381473199998"/></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 94.24155749999998 99.14211849 L 94.24155749999998 2744.43980981" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="9.665800769230769,4.188513666666666"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 314.7495088665364 99.14211849 L 314.7495088665364 2744.43980981" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="9.665800769230769,4.188513666666666"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 509.19425294986974 99.14211849 L 509.19425294986974 2744.43980981" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="9.665800769230769,4.188513666666666"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 652.9614346761067 99.14211849 L 652.9614346761067 2744.43980981" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="9.665800769230769,4.188513666666666"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 913.1628609013671 99.14211849 L 913.1628609013671 2744.43980981" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="9.665800769230769,4.188513666666666"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1307.3676757854819 99.14211849 L 1307.3676757854819 2744.43980981" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="9.665800769230769,4.188513666666666"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1601.524761177409 99.14211849 L 1601.524761177409 2744.43980981" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="9.665800769230769,4.188513666666666"/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1815.6012331790364 99.14211849 L 1815.6012331790364 2744.43980981" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="9.665800769230769,4.188513666666666"/></g><g><g><path fill="white" stroke="black" paint-order="fill stroke markers" d=" M 101.40391586999998 45.98988006 A 7.162358369999999 7.162358369999999 0 1 1 101.40391228882109 45.98271770282372 M 94.24155749999998 53.15223843 L 94.24155749999998 68.48219845 M 85.19436797999998 58.681076469999994 L 103.28874701999999 58.681076469999994 M 94.24155749999998 68.48219845 L 85.19436797999998 82.80691519 M 94.24155749999998 68.48219845 L 103.28874701999999 82.80691519" stroke-miterlimit="10" stroke-width="2.13614197" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="81.57358874999998" y="95.37245619000001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">User</text></g><path fill="none" stroke="none"/><g><path fill="#90EE90" stroke="black" paint-order="fill stroke markers" d=" M 267.7701937565364 65.21515779 L 361.7288239765364 65.21515779 L 361.7288239765364 99.14211849 L 267.7701937565364 99.14211849 L 267.7701937565364 65.21515779 Z" stroke-miterlimit="10" stroke-width="2.01048656" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="281.4038057415364" y="86.57657749" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Controller.cs</text></g><path fill="none" stroke="none"/><g><path fill="#26abff" stroke="black" paint-order="fill stroke markers" d=" M 462.8887659648697 65.21515779 L 555.4997399348697 65.21515779 L 555.4997399348697 99.14211849 L 462.8887659648697 99.14211849 L 462.8887659648697 65.21515779 Z" stroke-miterlimit="10" stroke-width="2.01048656" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="476.52237794986974" y="86.57657749" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">RDSFactory</text></g><path fill="none" stroke="none"/><g><path fill="#CBC3E3" stroke="black" paint-order="fill stroke markers" d=" M 604.9801664411067 65.21515779 L 700.9427029111067 65.21515779 L 700.9427029111067 99.14211849 L 604.9801664411067 99.14211849 L 604.9801664411067 65.21515779 Z" stroke-miterlimit="10" stroke-width="2.01048656" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="618.6137784261067" y="86.57657749" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">UserAccount</text></g><path fill="none" stroke="none"/><g><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 834.1649911038671 65.21515779 L 992.1607306988672 65.21515779 L 992.1607306988672 99.14211849 L 834.1649911038671 99.14211849 L 834.1649911038671 65.21515779 Z" stroke-miterlimit="10" stroke-width="2.01048656" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="847.7986030888671" y="86.57657749" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SystemAccountManager</text></g><path fill="none" stroke="none"/><g><path fill="#ff8b3d" stroke="black" paint-order="fill stroke markers" d=" M 1252.0475403629819 65.21515779 L 1362.687811207982 65.21515779 L 1362.687811207982 99.14211849 L 1252.0475403629819 99.14211849 L 1252.0475403629819 65.21515779 Z" stroke-miterlimit="10" stroke-width="2.01048656" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1265.6811523479819" y="86.57657749" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">AccountService</text></g><path fill="none" stroke="none"/><g><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1566.2173210674089 65.21515779 L 1636.832201287409 65.21515779 L 1636.832201287409 99.14211849 L 1566.2173210674089 99.14211849 L 1566.2173210674089 65.21515779 Z" stroke-miterlimit="10" stroke-width="2.01048656" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1579.850933052409" y="86.57657749" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlDAO</text></g><g><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1797.2555433190364 74.51365813 L 1797.2555433190364 48.12602203 L 1833.9469230390364 48.12602203 L 1833.9469230390364 74.51365813" stroke-miterlimit="10" stroke-width="2.13614197" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1833.9469230390364 47.208737537000005 L 1833.9460057621875 47.29166872539741 L 1833.9432540233674 47.37459162074508 L 1833.938668097748 47.45749793082258 L 1833.9322484439176 47.540379365068006 L 1833.9239957038367 47.62322763540699 L 1833.9139107027722 47.70603445708154 L 1833.9019944492159 47.7887915494785 L 1833.888248134783 47.87149063695759 L 1833.872673134094 47.95412344967897 L 1833.8552710046351 48.03668172443023 L 1833.8360434866058 48.11915720545271 L 1833.814992502741 48.20154164526702 L 1833.792120158122 48.28382680549784 L 1833.7674287399643 48.366004457697706 L 1833.740920717389 48.4480663841699 L 1833.712598741176 48.53000437879014 L 1833.6824656434997 48.61181024782725 L 1833.6505244376444 48.69347581076251 L 1833.6167783177043 48.774992901107666 L 1833.5812306582634 48.85635336722162 L 1833.5438850140577 48.93754907312557 L 1833.5047451196208 49.01857189931656 L 1833.4638148889092 49.099413743579525 L 1833.4210984149122 49.18006652179738 L 1833.3765999692414 49.26052216875953 L 1833.3303240017044 49.34077263896832 L 1833.2822751398592 49.4208099074436 L 1833.232458188552 49.50062597052522 L 1833.1808781294367 49.58021284667339 L 1833.127540120476 49.65956257726682 L 1833.0724494954263 49.738667227398565 L 1833.0156117633044 49.81751888666954 L 1832.9570326078358 49.89610966997953 L 1832.8967178868875 49.974431718315685 L 1832.8346736318813 50.05247719953845 L 1832.770906047191 50.13023830916473 L 1832.7054215095218 50.20770727114838 L 1832.638226567273 50.28487633865774 L 1832.569327939883 50.36173779485038 L 1832.4987325171567 50.43828395364472 L 1832.426447358578 50.51450716048868 L 1832.352479692602 50.59039979312509 L 1832.2768369159342 50.66595426235392 L 1832.199526592789 50.74116301279123 L 1832.1205564541342 50.816018523624635 L 1832.0399343969182 50.89051330936544 L 1831.957668483279 50.964639920597136 L 1831.8737669397399 51.03839094472039 L 1831.788238156385 51.111759006694236 L 1831.7010906860214 51.184736769773615 L 1831.6123332433237 51.25731693624304 L 1831.521974703962 51.32949224814635 L 1831.4300241037154 51.401255488012495 L 1831.3364906375666 51.47259947957729 L 1831.2413836587848 51.543517088501034 L 1831.1447126779883 51.61400122308193 L 1831.046487362195 51.68404483496526 L 1830.946717533854 51.75364091984821 L 1830.8454131698659 51.822782518180276 L 1830.7425844005818 51.89146271585925 L 1830.6382415087933 51.95967464492259 L 1830.5323949287026 52.02741148423424 L 1830.4250552448798 52.09466646016672 L 1830.3162331912033 52.16143284727848 L 1830.205939649788 52.22770396898644 L 1830.0941856498964 52.29347319823366 L 1829.980982366835 52.35873395815202 L 1829.866341120838 52.42347972271992 L 1829.7502733759343 52.48770401741485 L 1829.6327907388018 52.55140041986086 L 1829.513904957606 52.61456256047079 L 1829.3936279208265 52.67718412308321 L 1829.2719716560662 52.73925884559405 L 1829.1489483288506 52.80078052058278 L 1829.0245702414097 52.86174299593317 L 1828.8988498314486 52.92214017544849 L 1828.7717996709036 52.98196601946112 L 1828.643432464685 53.04121454543651 L 1828.5137610494062 53.09987982857144 L 1828.3827983921005 53.15795600238648 L 1828.2505575889252 53.215437259312644 L 1828.1170518638496 53.27231785127214 L 1827.9822945673357 53.32859209025319 L 1827.8462991750002 53.38425434887876 L 1827.7090792862693 53.439299060969404 L 1827.5706486230176 53.49372072209976 L 1827.431021028196 53.54751389014908 L 1827.2902104644477 53.600673185845366 L 1827.1482310127114 53.653193293303374 L 1827.0050968708144 53.70506896055612 L 1826.8608223520514 53.756295000080094 L 1826.715421883754 53.80686628931404 L 1826.568910005848 53.856777771171174 L 1826.4213013693989 53.90602445454491 L 1826.2726107351475 53.95460141480795 L 1826.1228529720331 54.00250379430474 L 1825.9720430557077 54.04972680283724 L 1825.8201960670367 54.096265718143975 L 1825.667327190593 54.14211588637218 L 1825.5134517131362 54.18727272254325 L 1825.3585850220861 54.231731711011186 L 1825.202742603983 54.275488405914196 L 1825.0459400429386 54.31853843161926 L 1824.8881930190785 54.36087748315967 L 1824.7295173069733 54.40250132666556 L 1824.5699287740622 54.44340579978727 L 1824.4094433790656 54.48358681211157 L 1824.248077170389 54.52304034557071 L 1824.085846284519 54.561762454844235 L 1823.922766944409 54.59974926775347 L 1823.758855457857 54.636996985648786 L 1823.5941282158751 54.67350188378943 L 1823.4286016910503 54.709260311716015 L 1823.262292435897 54.74426869361554 L 1823.0952170812022 54.77852352867899 L 1822.9273923343621 54.81202139145141 L 1822.7588349777118 54.844758932174436 L 1822.5895618668462 54.87673287712127 L 1822.4195899289352 54.90794002892407 L 1822.2489361610315 54.93837726689365 L 1822.0776176283691 54.968041547331595 L 1821.9056514626589 54.99692990383457 L 1821.7330548603738 55.025039447591 L 1821.5598450810305 55.05236736766993 L 1821.3860394454625 55.07891093130213 L 1821.2116553340886 55.10466748415337 L 1821.0367101851743 55.1296344505898 L 1820.861221493089 55.1538093339356 L 1820.6852068065557 55.17718971672257 L 1820.5086837268964 55.199773260931934 L 1820.3316699062716 55.221557708228076 L 1820.1541830459162 55.242540880184414 L 1819.9762408943682 55.26272067850126 L 1819.7978612456945 55.28209508521558 L 1819.6190619377114 55.30066216290285 L 1819.4398608502006 55.318420054870785 L 1819.2602759031213 55.335366985344976 L 1819.080325054819 55.351501259646504 L 1818.9000263002283 55.36682126436138 L 1818.7193976690744 55.381325467501895 L 1818.53845722407 55.39501241865983 L 1818.357223059109 55.407880749151474 L 1818.1757132974565 55.419929172154504 L 1817.9939460899375 55.43115648283665 L 1817.8119396131212 55.4415615584762 L 1817.6297120675038 55.45114335857427 L 1817.4472816756881 55.45990092495884 L 1817.264666680561 55.46783338188055 L 1817.08188534347 55.474939936100334 L 1816.8989559423962 55.48121987696869 L 1816.7158967701278 55.48667257649675 L 1816.5327261324292 55.491297489419125 L 1816.349462346211 55.49509415324837 L 1816.1661237377002 55.498062188321256 L 1815.982728640604 55.50020129783677 L 1815.7992953942796 55.50151126788572 L 1815.6158423418988 55.50199196747221 L 1815.4323878286136 55.50164334852666 L 1815.2489501997231 55.500465445910706 L 1815.0655477988369 55.498458377413606 L 1814.882198966042 55.49562234374054 L 1814.6989220360695 55.491957628492514 L 1814.5157353364593 55.487464598138004 L 1814.3326571857287 55.48214370197629 L 1814.1497058915404 55.47599547209256 L 1813.9668997488714 55.46902052330469 L 1813.7842570381831 55.46121955310173 L 1813.601796023595 55.45259334157421 L 1813.4195349510562 55.44314275133608 L 1813.2374920465222 55.4328687274385 L 1813.0556855141315 55.4217722972753 L 1812.8741335343861 55.40985457048024 L 1812.6928542623325 55.39711673881608 L 1812.511865825747 55.38356007605536 L 1812.3311863233225 55.36918593785306 L 1812.1508338228584 55.35399576161104 L 1811.9708263594546 55.33799106633424 L 1811.7911819337075 55.32117345247886 L 1811.6119185099099 55.30354460179228 L 1811.4330540142546 55.28510627714487 L 1811.2546063330426 55.265860322353724 L 1811.0765933108928 55.245808661998296 L 1810.8990327489594 55.2249533012279 L 1810.7219424031505 55.20329632556125 L 1810.545339982353 55.18083990067784 L 1810.369243146662 55.15758627220146 L 1810.1936695056143 55.13353776547559 L 1810.0186366164278 55.10869678533084 L 1809.8441619822452 55.08306581584454 L 1809.6702630503848 55.05664742009227 L 1809.496957210595 55.029444239891596 L 1809.3242617933147 55.00145899553787 L 1809.1521940679427 54.972694485532195 L 1808.9807712411073 54.94315358630161 L 1808.8100104549487 54.91283925191143 L 1808.6399287854033 54.88175451376981 L 1808.470543240496 54.84990248032468 L 1808.3018707586405 54.81728633675284 L 1808.1339282069441 54.783909344641444 L 1807.9667323795225 54.74977484166192 L 1807.8002999958185 54.7148862412361 L 1807.6346476989322 54.679247032194965 L 1807.469792053955 54.64286077842971 L 1807.3057495463142 54.605731118535395 L 1807.1425365801238 54.56786176544706 L 1806.9801694765442 54.52925650606848 L 1806.8186644721509 54.4899192008934 L 1806.6580377173095 54.44985378361955 L 1806.4983052745615 54.409064260755294 L 1806.3394831170183 54.36755471121891 L 1806.1815871267631 54.32532928593076 L 1806.0246330932637 54.2823922073982 L 1805.868636711792 54.23874776929329 L 1805.7136135818569 54.19440033602347 L 1805.5595792056417 54.14935434229512 L 1805.4065489864558 54.10361429267006 L 1805.2545382271937 54.05718476111515 L 1805.1035621288047 54.01007039054485 L 1804.9536357887725 53.96227589235695 L 1804.8047741996063 53.913806045961444 L 1804.6569922473411 53.86466569830259 L 1804.510304710049 53.81485976337418 L 1804.3647262563613 53.76439322172823 L 1804.2202714440023 53.713271119976824 L 1804.0769547183324 53.66149857028755 L 1803.9347904109052 53.60908074987223 L 1803.7937927380328 53.55602290046922 L 1803.653975799365 53.50233032781926 L 1803.5153535764791 53.44800840113486 L 1803.3779399314822 53.393062552563414 L 1803.2417486056236 53.337498276644006 L 1803.106793217923 53.28132112975791 L 1802.9730872638065 53.22453672957302 L 1802.8406441137581 53.16715075448201 L 1802.7094770119825 53.10916894303458 L 1802.5795990750805 53.050597093363564 L 1802.4510232907376 52.991441062605105 L 1802.323762516425 52.93170676631299 L 1802.197829478114 52.87140017786707 L 1802.0732367690036 52.81052732787594 L 1801.9499968482612 52.749094303573855 L 1801.8281220397757 52.687107248212065 L 1801.7076245309268 52.624572360444446 L 1801.5885163713644 52.561495893707665 L 1801.4708094718058 52.49788415559583 L 1801.3545156028424 52.43374350722974 L 1801.2396463937646 52.369080362620785 L 1801.1262133313971 52.30390118802954 L 1801.0142277589523 52.23821250131915 L 1800.9037008748933 52.172020871303545 L 1800.7946437318171 52.10533291709056 L 1800.6870672353466 52.03815530742005 L 1800.5809821430423 51.970494759996996 L 1800.4763990633246 51.90235804081976 L 1800.3733284544146 51.83375196350349 L 1800.271780623287 51.764683388598726 L 1800.1717657246406 51.69515922290542 L 1800.0732937598818 51.625186418782185 L 1799.976374576125 51.55477197345114 L 1799.8810178652077 51.48392292829813 L 1799.7872331627218 51.41264636816864 L 1799.6950298470592 51.340949420659264 L 1799.6044171384747 51.268839255405034 L 1799.5154040981636 51.196323083362365 L 1799.4279996273558 51.12340815608804 L 1799.3422124664253 51.05010176501401 L 1799.258051194017 50.97641124071832 L 1799.1755242261881 50.90234395219197 L 1799.0946398155666 50.82790730610209 L 1799.0154060505256 50.75310874605127 L 1798.9378308543762 50.67795575183318 L 1798.861921984573 50.602455838684605 L 1798.78768703194 50.52661655653396 L 1798.7151334199104 50.45044548924624 L 1798.644268403785 50.37395025386472 L 1798.5750990700064 50.297138499849176 L 1798.5076323354504 50.220017908311014 L 1798.441874946734 50.142596191245104 L 1798.3778334795413 50.06488109075865 L 1798.315514337966 49.986880378296924 L 1798.2549237538701 49.90860185386619 L 1798.1960677862614 49.83005334525364 L 1798.1389523206876 49.75124270724469 L 1798.083583068648 49.67217782083746 L 1798.0299655670212 49.59286659245471 L 1797.9781051775133 49.513316953153186 L 1797.9280070861194 49.43353685783052 L 1797.879676302607 49.353534284429756 L 1797.8331176600148 49.27331723314158 L 1797.7883358141673 49.19289372560427 L 1797.7453352432126 49.11227180410156 L 1797.7041202471714 49.031459530758404 L 1797.6646949475094 48.95046498673481 L 1797.6270632867233 48.869296271417674 L 1797.591229027948 48.78796150161089 L 1797.5571957545797 48.706468810723656 L 1797.524966869917 48.62482634795716 L 1797.4945455968218 48.54304227748964 L 1797.465934977396 48.46112477765999 L 1797.4391378726775 48.37908204014992 L 1797.4141569623548 48.296922269164824 L 1797.390994744498 48.214653680613324 L 1797.3696535353092 48.132284501285724 L 1797.350135468892 48.04982296803132 L 1797.3324424970365 47.96727732693471 L 1797.3165763890254 47.88465583249123 L 1797.3025387314563 47.80196674678145 L 1797.2903309280828 47.71921833864506 L 1797.2799541996753 47.636418882853896 L 1797.2714095838983 47.55357665928455 L 1797.264697935206 47.47069995209034 L 1797.2598199247575 47.387797048872926 L 1797.2567760403501 47.30487623985354 L 1797.2555665863697 47.22194581704398 L 1797.2561916837603 47.13901407341742 L 1797.2586512700132 47.05608930207912 L 1797.2629450991712 46.97317979543711 L 1797.2690727418558 46.890293844372955 L 1797.277033585307 46.80743973741269 L 1797.2868268334475 46.724625759897975 L 1797.2984515069609 46.64186019315754 L 1797.3119064433888 46.5591513136791 L 1797.3271902972497 46.47650739228167 L 1797.3443015401701 46.393936693288516 L 1797.3632384610403 46.311447473700746 L 1797.3839991661841 46.229047982371554 L 1797.4065815795484 46.14674645918143 L 1797.4309834429102 46.06455113421409 L 1797.457202316104 45.98247022693355 L 1797.4852355772641 45.900511945362126 L 1797.5150804230877 45.81868448525968 L 1797.5467338691153 45.73699602930404 L 1797.5801927500283 45.65545474627272 L 1797.6154537199668 45.57406879022607 L 1797.6525132528632 45.492846299691884 L 1797.6913676427948 45.411795396851524 L 1797.7320130043554 45.33092418672773 L 1797.7744452730424 45.250240756374126 L 1797.8186602056644 45.16975317406651 L 1797.8646533807648 45.089469488496036 L 1797.9124201990649 45.00939772796436 L 1797.9619558839222 44.929545899580816 L 1798.0132554818097 44.84992198846169 L 1798.0663138628104 44.77053395693174 L 1798.1211257211303 44.69138974372798 L 1798.177685575629 44.61249726320575 L 1798.2359877703689 44.53386440454739 L 1798.2960264751785 44.45549903097321 L 1798.3577956862375 44.37740897895527 L 1798.4212892266762 44.29960205743372 L 1798.4865007471938 44.22208604703584 L 1798.5534237266922 44.144868699298094 L 1798.6220514729293 44.0679577358909 L 1798.692377123188 43.99136084784651 L 1798.7643936449613 43.915085694789894 L 1798.8380938366577 43.839139904172804 L 1798.9134703283187 43.76353107051101 L 1798.9905155823587 43.68826675462486 L 1799.069221894316 43.61335448288324 L 1799.149581393625 43.538801746450886 L 1799.2315860444032 43.464616000539316 L 1799.3152276462533 43.3908046636613 L 1799.4004978350852 43.31737511688902 L 1799.4873880839507 43.24433470311596 L 1799.5758897038977 43.17169072632263 L 1799.6659938448379 43.09945045084618 L 1799.757691496432 43.02762110065394 L 1799.8509734889917 42.95620985862109 L 1799.945830494395 42.88522386581231 L 1800.0422530270207 42.81467022076773 L 1800.140231444696 42.74455597879307 L 1800.2397559496603 42.674888151254095 L 1800.3408165895466 42.60567370487549 L 1800.4434032583747 42.53691956104423 L 1800.5475056975636 42.4686325951174 L 1800.6531134969557 42.40081963573468 L 1800.7602160958593 42.333487464135494 L 1800.868802784104 42.26664281348091 L 1800.978862703111 42.20029236818027 L 1801.0903848469802 42.134442763222836 L 1801.2033580635905 42.0691005835142 L 1801.317771055714 42.00427236321791 L 1801.4336123821472 41.93996458510195 L 1801.5508704588535 41.876183679890545 L 1801.6695335601235 41.81293602562108 L 1801.7895898197455 41.75022794700626 L 1801.9110272321939 41.6880657148017 L 1802.0338336538282 41.626455545178814 L 1802.1579968041092 41.56540359910323 L 1802.283504266825 41.50491598171867 L 1802.4103434913338 41.44499874173646 L 1802.5385017938193 41.385657870830684 L 1802.6679663585574 41.32689930303898 L 1802.7987242392 41.268728914169145 L 1802.9307623600678 41.211152521211616 L 1803.0640675174589 41.15417588175769 L 1803.1986263809686 41.09780469342383 L 1803.3344254948227 41.04204459328191 L 1803.4714512792227 40.986901157295456 L 1803.6096900317045 40.93237989976214 L 1803.7491279285084 40.87848627276225 L 1803.8897510259603 40.82522566561361 L 1804.0315452618684 40.77260340433252 L 1804.1744964569266 40.720624751101276 L 1804.3185903161348 40.66929490374188 L 1804.4638124302269 40.61861899519629 L 1804.610148277113 40.56860209301313 L 1804.75758322333 40.51924919884095 L 1804.9061025255062 40.47056524792802 L 1805.055691331835 40.422555108628885 L 1805.206334683561 40.375223581917446 L 1805.3580175164739 40.32857540090694 L 1805.5107246624173 40.28261523037659 L 1805.6644408508034 40.23734766630516 L 1805.8191507101417 40.19277723541133 L 1805.9748387695752 40.14890839470103 L 1806.1314894604277 40.1057455310218 L 1806.2890871177606 40.063292960624025 L 1806.4476159819396 40.02155492872937 L 1806.6070602002103 39.98053560910625 L 1806.7674038282837 39.940239103652424 L 1806.9286308319308 39.90066944198488 L 1807.0907250885855 39.8618305810368 L 1807.253670388957 39.82372640466191 L 1807.4174504386513 39.786360723246105 L 1807.5820488598 39.74973727332638 L 1807.7474491926978 39.713859717217204 L 1807.9136348974494 39.6787316426443 L 1808.080589355623 39.64435656238585 L 1808.2482958719115 39.61073791392123 L 1808.4167376758037 39.57787905908727 L 1808.585897923259 39.545783283742075 L 1808.7557596983936 39.51445379743643 L 1808.9263060151718 39.48389373309287 L 1809.097519819104 39.45410614669234 L 1809.2693839889525 39.42509401696867 L 1809.4418813384434 39.39686024511066 L 1809.6149946179855 39.369407654471964 L 1809.7887065163955 39.342738990288765 L 1809.9629996626277 39.31685691940526 L 1810.1378566275132 39.29176403000697 L 1810.313259925501 39.267462831361925 L 1810.4891920164075 39.243955753569736 L 1810.6656353071703 39.22124514731859 L 1810.8425721536073 39.19933328365019 L 1811.0199848621812 39.17822235373265 L 1811.1978556917693 39.15791446864136 L 1811.3761668554364 39.138411659147906 L 1811.5549005222151 39.119715875516995 L 1811.7340388188877 39.10182898731139 L 1811.9135638317734 39.08475278320503 L 1812.093457608521 39.06848897080409 L 1812.2737021599023 39.05303917647625 L 1812.4542794616127 39.03840494518806 L 1812.6351714560724 39.02458774035047 L 1812.8163600542327 39.011588943672436 L 1812.9978271373848 38.999409855022805 L 1813.1795545589714 38.98805169230029 L 1813.3615241464022 38.97751559131169 L 1813.5437177028696 38.96780260565834 L 1813.7261170091701 38.958913706630696 L 1813.908703825525 38.95084978311126 L 1814.0914598934048 38.94361164148566 L 1814.2743669373551 38.93720000556203 L 1814.4574066668238 38.93161551649862 L 1814.6405607779907 38.92685873273968 L 1814.8238109555969 38.922930129959624 L 1815.0071388747776 38.91983010101546 L 1815.1905262028938 38.91755895590749 L 1815.3739546013653 38.91611692174833 L 1815.557405727505 38.91550414274021 L 1815.7408612363536 38.91572068016051 L 1815.9243027825128 38.916766512355665 L 1816.1077120219807 38.91864153474334 L 1816.2910706139864 38.92134555982284 L 1816.4743602228236 38.92487831719393 L 1816.657562519684 38.929239453583804 L 1816.8406591844905 38.934428532882464 L 1817.0236319077294 38.94044503618629 L 1817.2064623922806 38.947288361849985 L 1817.3891323552484 38.95495782554668 L 1817.5716235297884 38.96345266033639 L 1817.7539176669352 38.97277201674272 L 1817.9359965374272 38.98291496283779 L 1818.117841933529 38.99388048433545 L 1818.2994356708525 39.00566748469268 L 1818.4807595901752 39.018274785219276 L 1818.6617955592567 39.03170112519569 L 1818.8425254746503 39.04594516199911 L 1819.0229312635156 39.06100547123772 L 1819.2029948854238 39.07688054689316 L 1819.3826983341628 39.09356880147108 L 1819.5620236395375 39.11106856615993 L 1819.740952869167 39.12937809099784 L 1819.919468130277 39.14849554504757 L 1820.0975515714904 39.16841901657964 L 1820.2751853846116 39.189146513263516 L 1820.452351806407 39.2106759623668 L 1820.6290331203825 39.23300521096251 L 1820.8052116585534 39.25613202614441 L 1820.9808698032132 39.280054095250236 L 1821.1559899886936 39.304769026093034 L 1821.3305547031218 39.330274347200294 L 1821.504546490172 39.356567508061175 L 1821.6779479508107 39.3836458793815 L 1821.8507417450362 39.41150675334669 L 1822.0229105936128 39.44014734389258 L 1822.1944372797993 39.46956478698398 L 1822.3653046510701 39.49975614090109 L 1822.5354956208305 39.53071838653368 L 1822.7049931701251 39.56244842768299 L 1822.8737803493404 39.59494309137134 L 1823.0418402798994 39.62819912815945 L 1823.2091561559484 39.66221321247135 L 1823.3757112460398 39.69698194292695 L 1823.5414888948033 39.73250184268218 L 1823.7064725246119 39.76876935977668 L 1823.8706456372404 39.805780867488934 L 1824.0339918155141 39.84353266469903 L 1824.1964947249517 39.882020976258715 L 1824.3581381153972 39.92124195336889 L 1824.5189058226465 39.96119167396454 L 1824.6787817700626 40.001866143106895 L 1824.8377499701844 40.043261293382926 L 1824.9957945263243 40.08537298531211 L 1825.152899634158 40.12819700776035 L 1825.309049583306 40.171729078361075 L 1825.4642287589033 40.21596484394351 L 1825.6184216431618 40.26089988096797 L 1825.7716128169216 40.30652969596818 L 1825.923786961193 40.35284972600067 L 1826.074928858688 40.399855339101045 L 1826.2250233953432 40.447541834747156 L 1826.37405556183 40.495904444329184 L 1826.5220104550556 40.54493833162647 L 1826.6688732796545 40.594638593291144 L 1826.814629349466 40.64500025933846 L 1826.9592640890053 40.69601829364378 L 1827.1027630349183 40.747687594446184 L 1827.2451118374304 40.80000299485866 L 1827.38629626178 40.85295926338475 L 1827.526302189642 40.90655110444174 L 1827.6651156205405 40.96077315889018 L 1827.802722673248 41.01562000456981 L 1827.939109587174 41.071086156841766 L 1828.0742627237407 41.127166069137054 L 1828.2081685677472 41.18385413351116 L 1828.3408137287204 41.2411446812049 L 1828.4721849422551 41.29903198321124 L 1828.6022690713392 41.35751025084822 L 1828.731053107668 41.416573636337816 L 1828.8585241729456 41.47621623339069 L 1828.9846695201716 41.53643207779683 L 1829.1094765349162 41.597215148021995 L 1829.2329327365821 41.6585593658098 L 1829.355025779652 41.72045859678959 L 1829.475743454923 41.78290665108985 L 1829.5950736907287 41.84589728395719 L 1829.7130045541448 41.90942419638082 L 1829.829524252183 41.97348103572243 L 1829.9446211329707 42.038061396351466 L 1830.058283686916 42.10315882028569 L 1830.170500547858 42.168766797836945 L 1830.281260494204 42.234878768262156 L 1830.390552450052 42.30148812041938 L 1830.498365486297 42.36858819342889 L 1830.6046888217256 42.43617227733932 L 1830.709511824093 42.50423361379859 L 1830.8128240111857 42.57276539672977 L 1830.9146150518718 42.64176077301168 L 1831.0148747671315 42.71121284316419 L 1831.113593131077 42.781114662038156 L 1831.2107602719545 42.85145923950995 L 1831.3063664731305 42.92223954118044 L 1831.4004021740648 42.99344848907843 L 1831.4928579712653 43.065078962368496 L 1831.5837246192295 43.13712379806299 L 1831.6729930313686 43.20957579173837 L 1831.7606542809153 43.28242769825565 L 1831.8466996018183 43.35567223248489 L 1831.9311203896166 43.429302070033714 L 1832.013908202302 43.50330984797971 L 1832.0950547611624 43.57768816560676 L 1832.1745519516094 43.652429585145086 L 1832.2523918239901 43.72752663251502 L 1832.3285665943822 43.8029717980744 L 1832.4030686453723 43.878757537369545 L 1832.4758905268172 43.95487627188968 L 1832.5470249565894 44.031320389824785 L 1832.6164648213055 44.10808224682677 L 1832.6842031770364 44.1851541667739 L 1832.7502332500035 44.262528442538404 L 1832.8145484372542 44.34019733675719 L 1832.8771423073235 44.418153082605556 L 1832.9380086008764 44.496387884573885 L 1832.9971412313344 44.574893919247174 L 1833.054534285484 44.65366333608738 L 1833.110182024067 44.732688258218445 L 1833.1640788823563 44.811960783214026 L 1833.216219470711 44.89147298388768 L 1833.2665985751155 44.9712169090856 L 1833.3152111577015 45.05118458448171 L 1833.3620523572513 45.13136801337512 L 1833.407117489684 45.21175917748976 L 1833.4504020485238 45.2923500377762 L 1833.4919017053508 45.37313253521559 L 1833.531612310234 45.45409859162548 L 1833.5695298921462 45.535240110467726 L 1833.6056506593604 45.61654897765804 L 1833.6399709998302 45.69801706237747 L 1833.6724874815502 45.77963621788543 L 1833.7031968528995 45.86139828233439 L 1833.732096042966 45.94329507958604 L 1833.7591821618553 46.0253184200289 L 1833.784452500978 46.10746010139728 L 1833.8079045333209 46.18971190959149 L 1833.8295359137007 46.27206561949925 L 1833.8493444789972 46.354512995818205 L 1833.8673282483703 46.43704579387943 L 1833.8834854234583 46.51965576047189 L 1833.897814388557 46.60233463466777 L 1833.9103137107818 46.68507414864855 L 1833.920982140211 46.767866028531785 L 1833.9298186100102 46.85070199519847 L 1833.9368222365404 46.933573765120975 L 1833.9419923194444 47.01647305119136 L 1833.9453283417183 47.099391563550114 L 1833.9468299697626 47.18232101041509 M 1833.9469230390364 73.596373637 L 1833.9460057621875 73.6793048253974 L 1833.9432540233674 73.76222772074507 L 1833.938668097748 73.84513403082258 L 1833.9322484439176 73.928015465068 L 1833.9239957038367 74.01086373540699 L 1833.9139107027722 74.09367055708154 L 1833.9019944492159 74.1764276494785 L 1833.888248134783 74.25912673695758 L 1833.872673134094 74.34175954967895 L 1833.8552710046351 74.42431782443023 L 1833.8360434866058 74.5067933054527 L 1833.814992502741 74.58917774526701 L 1833.792120158122 74.67146290549783 L 1833.7674287399643 74.75364055769771 L 1833.740920717389 74.83570248416989 L 1833.712598741176 74.91764047879013 L 1833.6824656434997 74.99944634782725 L 1833.6505244376444 75.0811119107625 L 1833.6167783177043 75.16262900110766 L 1833.5812306582634 75.24398946722161 L 1833.5438850140577 75.32518517312556 L 1833.5047451196208 75.40620799931656 L 1833.4638148889092 75.48704984357951 L 1833.4210984149122 75.56770262179738 L 1833.3765999692414 75.64815826875953 L 1833.3303240017044 75.72840873896831 L 1833.2822751398592 75.80844600744359 L 1833.232458188552 75.88826207052522 L 1833.1808781294367 75.96784894667339 L 1833.127540120476 76.04719867726682 L 1833.0724494954263 76.12630332739856 L 1833.0156117633044 76.20515498666954 L 1832.9570326078358 76.28374576997952 L 1832.8967178868875 76.36206781831568 L 1832.8346736318813 76.44011329953844 L 1832.770906047191 76.51787440916473 L 1832.7054215095218 76.59534337114837 L 1832.638226567273 76.67251243865773 L 1832.569327939883 76.74937389485036 L 1832.4987325171567 76.82592005364471 L 1832.426447358578 76.90214326048867 L 1832.352479692602 76.97803589312508 L 1832.2768369159342 77.05359036235392 L 1832.199526592789 77.12879911279123 L 1832.1205564541342 77.20365462362463 L 1832.0399343969182 77.27814940936543 L 1831.957668483279 77.35227602059713 L 1831.8737669397399 77.42602704472039 L 1831.788238156385 77.49939510669422 L 1831.7010906860214 77.57237286977362 L 1831.6123332433237 77.64495303624304 L 1831.521974703962 77.71712834814635 L 1831.4300241037154 77.78889158801249 L 1831.3364906375666 77.86023557957728 L 1831.2413836587848 77.93115318850103 L 1831.1447126779883 78.00163732308192 L 1831.046487362195 78.07168093496526 L 1830.946717533854 78.1412770198482 L 1830.8454131698659 78.21041861818027 L 1830.7425844005818 78.27909881585924 L 1830.6382415087933 78.34731074492258 L 1830.5323949287026 78.41504758423424 L 1830.4250552448798 78.48230256016672 L 1830.3162331912033 78.54906894727847 L 1830.205939649788 78.61534006898644 L 1830.0941856498964 78.68110929823365 L 1829.980982366835 78.74637005815202 L 1829.866341120838 78.81111582271991 L 1829.7502733759343 78.87534011741485 L 1829.6327907388018 78.93903651986085 L 1829.513904957606 79.00219866047078 L 1829.3936279208265 79.0648202230832 L 1829.2719716560662 79.12689494559405 L 1829.1489483288506 79.18841662058277 L 1829.0245702414097 79.24937909593316 L 1828.8988498314486 79.30977627544848 L 1828.7717996709036 79.3696021194611 L 1828.643432464685 79.4288506454365 L 1828.5137610494062 79.48751592857143 L 1828.3827983921005 79.54559210238646 L 1828.2505575889252 79.60307335931263 L 1828.1170518638496 79.65995395127214 L 1827.9822945673357 79.71622819025318 L 1827.8462991750002 79.77189044887876 L 1827.7090792862693 79.8269351609694 L 1827.5706486230176 79.88135682209975 L 1827.431021028196 79.93514999014907 L 1827.2902104644477 79.98830928584536 L 1827.1482310127114 80.04082939330337 L 1827.0050968708144 80.09270506055611 L 1826.8608223520514 80.14393110008008 L 1826.715421883754 80.19450238931404 L 1826.568910005848 80.24441387117118 L 1826.4213013693989 80.2936605545449 L 1826.2726107351475 80.34223751480793 L 1826.1228529720331 80.39013989430472 L 1825.9720430557077 80.43736290283724 L 1825.8201960670367 80.48390181814398 L 1825.667327190593 80.52975198637218 L 1825.5134517131362 80.57490882254324 L 1825.3585850220861 80.61936781101117 L 1825.202742603983 80.6631245059142 L 1825.0459400429386 80.70617453161925 L 1824.8881930190785 80.74851358315966 L 1824.7295173069733 80.79013742666555 L 1824.5699287740622 80.83104189978727 L 1824.4094433790656 80.87122291211156 L 1824.248077170389 80.91067644557072 L 1824.085846284519 80.94939855484422 L 1823.922766944409 80.98738536775346 L 1823.758855457857 81.02463308564877 L 1823.5941282158751 81.06113798378942 L 1823.4286016910503 81.096896411716 L 1823.262292435897 81.13190479361553 L 1823.0952170812022 81.16615962867898 L 1822.9273923343621 81.1996574914514 L 1822.7588349777118 81.23239503217442 L 1822.5895618668462 81.26436897712126 L 1822.4195899289352 81.29557612892407 L 1822.2489361610315 81.32601336689365 L 1822.0776176283691 81.35567764733159 L 1821.9056514626589 81.38456600383456 L 1821.7330548603738 81.412675547591 L 1821.5598450810305 81.44000346766992 L 1821.3860394454625 81.46654703130213 L 1821.2116553340886 81.49230358415336 L 1821.0367101851743 81.51727055058979 L 1820.861221493089 81.54144543393559 L 1820.6852068065557 81.56482581672256 L 1820.5086837268964 81.58740936093193 L 1820.3316699062716 81.60919380822807 L 1820.1541830459162 81.63017698018442 L 1819.9762408943682 81.65035677850125 L 1819.7978612456945 81.66973118521557 L 1819.6190619377114 81.68829826290285 L 1819.4398608502006 81.70605615487078 L 1819.2602759031213 81.72300308534497 L 1819.080325054819 81.73913735964649 L 1818.9000263002283 81.75445736436137 L 1818.7193976690744 81.76896156750189 L 1818.53845722407 81.78264851865983 L 1818.357223059109 81.79551684915147 L 1818.1757132974565 81.80756527215449 L 1817.9939460899375 81.81879258283664 L 1817.8119396131212 81.8291976584762 L 1817.6297120675038 81.83877945857427 L 1817.4472816756881 81.84753702495883 L 1817.264666680561 81.85546948188055 L 1817.08188534347 81.86257603610034 L 1816.8989559423962 81.86885597696867 L 1816.7158967701278 81.87430867649675 L 1816.5327261324292 81.87893358941912 L 1816.349462346211 81.88273025324835 L 1816.1661237377002 81.88569828832125 L 1815.982728640604 81.88783739783676 L 1815.7992953942796 81.88914736788571 L 1815.6158423418988 81.8896280674722 L 1815.4323878286136 81.88927944852666 L 1815.2489501997231 81.8881015459107 L 1815.0655477988369 81.8860944774136 L 1814.882198966042 81.88325844374053 L 1814.6989220360695 81.87959372849251 L 1814.5157353364593 81.875100698138 L 1814.3326571857287 81.86977980197629 L 1814.1497058915404 81.86363157209256 L 1813.9668997488714 81.85665662330469 L 1813.7842570381831 81.84885565310172 L 1813.601796023595 81.8402294415742 L 1813.4195349510562 81.83077885133608 L 1813.2374920465222 81.8205048274385 L 1813.0556855141315 81.80940839727529 L 1812.8741335343861 81.79749067048024 L 1812.6928542623325 81.78475283881608 L 1812.511865825747 81.77119617605535 L 1812.3311863233225 81.75682203785306 L 1812.1508338228584 81.74163186161103 L 1811.9708263594546 81.72562716633423 L 1811.7911819337075 81.70880955247885 L 1811.6119185099099 81.69118070179228 L 1811.4330540142546 81.67274237714486 L 1811.2546063330426 81.65349642235373 L 1811.0765933108928 81.63344476199829 L 1810.8990327489594 81.6125894012279 L 1810.7219424031505 81.59093242556123 L 1810.545339982353 81.56847600067783 L 1810.369243146662 81.54522237220147 L 1810.1936695056143 81.52117386547559 L 1810.0186366164278 81.49633288533083 L 1809.8441619822452 81.47070191584453 L 1809.6702630503848 81.44428352009227 L 1809.496957210595 81.41708033989158 L 1809.3242617933147 81.38909509553785 L 1809.1521940679427 81.3603305855322 L 1808.9807712411073 81.33078968630161 L 1808.8100104549487 81.30047535191142 L 1808.6399287854033 81.26939061376981 L 1808.470543240496 81.23753858032468 L 1808.3018707586405 81.20492243675282 L 1808.1339282069441 81.17154544464144 L 1807.9667323795225 81.13741094166191 L 1807.8002999958185 81.1025223412361 L 1807.6346476989322 81.06688313219496 L 1807.469792053955 81.0304968784297 L 1807.3057495463142 80.99336721853538 L 1807.1425365801238 80.95549786544706 L 1806.9801694765442 80.91689260606847 L 1806.8186644721509 80.87755530089339 L 1806.6580377173095 80.83748988361955 L 1806.4983052745615 80.79670036075528 L 1806.3394831170183 80.75519081121891 L 1806.1815871267631 80.71296538593076 L 1806.0246330932637 80.6700283073982 L 1805.868636711792 80.62638386929328 L 1805.7136135818569 80.58203643602347 L 1805.5595792056417 80.5369904422951 L 1805.4065489864558 80.49125039267005 L 1805.2545382271937 80.44482086111515 L 1805.1035621288047 80.39770649054485 L 1804.9536357887725 80.34991199235695 L 1804.8047741996063 80.30144214596145 L 1804.6569922473411 80.25230179830258 L 1804.510304710049 80.20249586337418 L 1804.3647262563613 80.15202932172822 L 1804.2202714440023 80.10090721997682 L 1804.0769547183324 80.04913467028754 L 1803.9347904109052 79.99671684987223 L 1803.7937927380328 79.94365900046922 L 1803.653975799365 79.88996642781926 L 1803.5153535764791 79.83564450113485 L 1803.3779399314822 79.78069865256342 L 1803.2417486056236 79.725134376644 L 1803.106793217923 79.66895722975791 L 1802.9730872638065 79.61217282957301 L 1802.8406441137581 79.554786854482 L 1802.7094770119825 79.49680504303458 L 1802.5795990750805 79.43823319336356 L 1802.4510232907376 79.3790771626051 L 1802.323762516425 79.31934286631298 L 1802.197829478114 79.25903627786707 L 1802.0732367690036 79.19816342787593 L 1801.9499968482612 79.13673040357385 L 1801.8281220397757 79.07474334821205 L 1801.7076245309268 79.01220846044444 L 1801.5885163713644 78.94913199370765 L 1801.4708094718058 78.88552025559582 L 1801.3545156028424 78.82137960722973 L 1801.2396463937646 78.75671646262079 L 1801.1262133313971 78.69153728802954 L 1801.0142277589523 78.62584860131915 L 1800.9037008748933 78.55965697130354 L 1800.7946437318171 78.49296901709056 L 1800.6870672353466 78.42579140742004 L 1800.5809821430423 78.35813085999699 L 1800.4763990633246 78.28999414081976 L 1800.3733284544146 78.22138806350348 L 1800.271780623287 78.15231948859872 L 1800.1717657246406 78.08279532290541 L 1800.0732937598818 78.01282251878217 L 1799.976374576125 77.94240807345113 L 1799.8810178652077 77.87155902829812 L 1799.7872331627218 77.80028246816863 L 1799.6950298470592 77.72858552065927 L 1799.6044171384747 77.65647535540502 L 1799.5154040981636 77.58395918336235 L 1799.4279996273558 77.51104425608803 L 1799.3422124664253 77.43773786501401 L 1799.258051194017 77.36404734071832 L 1799.1755242261881 77.28998005219196 L 1799.0946398155666 77.21554340610209 L 1799.0154060505256 77.14074484605126 L 1798.9378308543762 77.06559185183318 L 1798.861921984573 76.9900919386846 L 1798.78768703194 76.91425265653395 L 1798.7151334199104 76.83808158924624 L 1798.644268403785 76.76158635386471 L 1798.5750990700064 76.68477459984918 L 1798.5076323354504 76.607654008311 L 1798.441874946734 76.5302322912451 L 1798.3778334795413 76.45251719075864 L 1798.315514337966 76.37451647829693 L 1798.2549237538701 76.29623795386618 L 1798.1960677862614 76.21768944525364 L 1798.1389523206876 76.13887880724468 L 1798.083583068648 76.05981392083746 L 1798.0299655670212 75.9805026924547 L 1797.9781051775133 75.90095305315317 L 1797.9280070861194 75.82117295783051 L 1797.879676302607 75.74117038442975 L 1797.8331176600148 75.66095333314158 L 1797.7883358141673 75.58052982560426 L 1797.7453352432126 75.49990790410155 L 1797.7041202471714 75.4190956307584 L 1797.6646949475094 75.33810108673481 L 1797.6270632867233 75.25693237141766 L 1797.591229027948 75.17559760161089 L 1797.5571957545797 75.09410491072366 L 1797.524966869917 75.01246244795716 L 1797.4945455968218 74.93067837748964 L 1797.465934977396 74.84876087765998 L 1797.4391378726775 74.76671814014992 L 1797.4141569623548 74.68455836916482 L 1797.390994744498 74.60228978061332 L 1797.3696535353092 74.51992060128572 L 1797.350135468892 74.43745906803132 L 1797.3324424970365 74.3549134269347 L 1797.3165763890254 74.27229193249121 L 1797.3025387314563 74.18960284678144 L 1797.2903309280828 74.10685443864506 L 1797.2799541996753 74.0240549828539 L 1797.2714095838983 73.94121275928454 L 1797.264697935206 73.85833605209034 L 1797.2598199247575 73.77543314887292 L 1797.2567760403501 73.69251233985354 L 1797.2555665863697 73.60958191704397" stroke-miterlimit="10" stroke-width="2.13614197" stroke-dasharray=""/></g><g><g/><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1761.9234988040364" y="95.37245619000001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlServer(MariaDB)</text></g></g><g><path fill="#90EE90" stroke="black" paint-order="fill stroke markers" d=" M 308.4667383665364 105.42488899 L 321.03227936653644 105.42488899 L 321.03227936653644 2625.0671703100006 L 308.4667383665364 2625.0671703100006 L 308.4667383665364 105.42488899" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#26abff" stroke="black" paint-order="fill stroke markers" d=" M 502.9114824498697 179.05895925 L 515.4770234498698 179.05895925 L 515.4770234498698 265.76119215 L 502.9114824498697 265.76119215 L 502.9114824498697 179.05895925" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1595.241990677409 304.21174761 L 1607.8075316774089 304.21174761 L 1607.8075316774089 397.44806183000003 L 1595.241990677409 397.44806183000003 L 1595.241990677409 304.21174761" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 435.89861729000006 L 919.4456314013671 435.89861729000006 L 919.4456314013671 525.8678908500001 L 906.8800904013672 525.8678908500001 L 906.8800904013672 435.89861729000006" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#CBC3E3" stroke="black" paint-order="fill stroke markers" d=" M 646.6786641761067 525.8678908500001 L 659.2442051761067 525.8678908500001 L 659.2442051761067 748.0266557300001 L 646.6786641761067 748.0266557300001 L 646.6786641761067 525.8678908500001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 786.4772111900002 L 919.4456314013671 786.4772111900002 L 919.4456314013671 1112.6786555500003 L 906.8800904013672 1112.6786555500003 L 906.8800904013672 786.4772111900002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1595.241990677409 824.9277666500002 L 1607.8075316774089 824.9277666500002 L 1607.8075316774089 1025.2224901900001 L 1595.241990677409 1025.2224901900001 L 1595.241990677409 824.9277666500002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 863.3783221100002 L 1821.8840036790364 863.3783221100002 L 1821.8840036790364 986.7719347300002 L 1809.3184626790364 986.7719347300002 L 1809.3184626790364 863.3783221100002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 1218.9831324100003 L 919.4456314013671 1218.9831324100003 L 919.4456314013671 1384.5969627900004 L 906.8800904013672 1384.5969627900004 L 906.8800904013672 1218.9831324100003" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#ffffe0" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 1437.3722349900004 L 919.4456314013671 1437.3722349900004 L 919.4456314013671 2625.0671703100006 L 906.8800904013672 2625.0671703100006 L 906.8800904013672 1437.3722349900004" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#ff8b3d" stroke="black" paint-order="fill stroke markers" d=" M 1301.084905285482 1475.8227904500004 L 1313.6504462854818 1475.8227904500004 L 1313.6504462854818 2625.0671703100006 L 1301.084905285482 2625.0671703100006 L 1301.084905285482 1475.8227904500004" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#D3D3D3" stroke="black" paint-order="fill stroke markers" d=" M 1595.241990677409 1529.3519951100004 L 1607.8075316774089 1529.3519951100004 L 1607.8075316774089 2625.0671703100006 L 1595.241990677409 2625.0671703100006 L 1595.241990677409 1529.3519951100004" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 1567.8025505700004 L 1821.8840036790364 1567.8025505700004 L 1821.8840036790364 1755.2804222900006 L 1809.3184626790364 1755.2804222900006 L 1809.3184626790364 1567.8025505700004" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 2065.649284990001 L 1821.8840036790364 2065.649284990001 L 1821.8840036790364 2272.980711490001 L 1809.3184626790364 2272.980711490001 L 1809.3184626790364 2065.649284990001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><path fill="#00FFFF" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 2325.755983690001 L 1821.8840036790364 2325.755983690001 L 1821.8840036790364 2625.0671703100006 L 1809.3184626790364 2625.0671703100006 L 1809.3184626790364 2325.755983690001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g><g><rect fill="white" stroke="none" x="145.4482520249674" y="124.27320049000001" width="111.81179181660156" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="147.33308317496738" y="137.84398477" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Create new User</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 94.24155749999998 143.87544445 L 298.12110960986973 143.87544445" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(308.4667383665364,143.87544445) translate(-308.4667383665364,-143.87544445)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 297.9954541998697 138.63980236666666 L 308.4667383665364 143.87544445 L 297.9954541998697 149.11108653333335 Z"/></g></g><g><g><rect fill="white" stroke="none" x="335.901502883203" y="162.72375595" width="152.14075605" height="16.3352033"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="337.78633403320305" y="174.03274285" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">factory = new RDSFactory()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 321.03227936653644 179.05895925 L 492.56585369320305 179.05895925" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(502.9114824498697,179.05895925) translate(-502.9114824498697,-179.05895925)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 492.440198283203 173.82331716666664 L 502.9114824498697 179.05895925 L 492.440198283203 184.29460133333333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="530.3462469665365" y="197.90727074999998" width="73.783334175" height="16.3352033"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="532.2310781165364" y="209.21625765" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 515.4770234498698 214.24247405 L 565.7391874498697 214.24247405 L 565.7391874498697 230.57767735 L 525.8226522065364 230.57767735" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(515.4770234498698,230.57767735) translate(-515.4770234498698,-230.57767735)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 525.9483076165365 225.34203526666664 L 515.4770234498698 230.57767735 L 525.9483076165365 235.81331943333333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="360.074354445703" y="249.42598885" width="103.795052925" height="16.3352033"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="361.95918559570305" y="260.73497575000005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return RDSFactory</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 502.9114824498697 265.76119215 L 331.3779081232031 265.76119215" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,265.76119215) translate(-321.03227936653644,-265.76119215)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 260.52555006666665 L 321.03227936653644 265.76119215 L 331.50356353320313 270.99683423333335 Z"/></g></g><g><g><rect fill="white" stroke="none" x="747.8883817528321" y="284.60950364999997" width="420.49750653828124" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="749.773212902832" y="298.18028792999996" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">IDataSource factory.GetDataSource(string name, string connInfo)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 321.03227936653644 304.21174761 L 1584.8963619207423 304.21174761" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1595.241990677409,304.21174761) translate(-1595.241990677409,-304.21174761)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1584.7707065107422 298.97610552666663 L 1595.241990677409 304.21174761 L 1584.7707065107422 309.4473896933333 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1622.6767551940754" y="323.06005911" width="182.24376813496093" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1624.5615863440755" y="336.63084339" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor(string connInfo)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1607.8075316774089 342.66230307 L 1658.0696956774088 342.66230307 L 1658.0696956774088 358.99750637 L 1618.1531604340755 358.99750637" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1607.8075316774089,358.99750637) translate(-1607.8075316774089,-358.99750637)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1618.2788158440756 353.76186428666665 L 1607.8075316774089 358.99750637 L 1618.2788158440756 364.23314845333334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="909.4347608421875" y="377.84581787" width="97.4047483595703" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="911.3195919921875" y="391.41660215" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return SqlDAO</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1595.241990677409 397.44806183000003 L 331.3779081232031 397.44806183000003" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,397.44806183000003) translate(-321.03227936653644,-397.44806183000003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 392.2124197466667 L 321.03227936653644 397.44806183000003 L 331.50356353320313 402.6837039133334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="417.37265378278" y="416.29637333000005" width="393.16706220234374" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="419.25748493278" y="429.86715761000005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> manager = new SystemAccountManager(IDataSource conn)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 321.03227936653644 435.89861729000006 L 896.5344616447005 435.89861729000006" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(906.8800904013672,435.89861729000006) translate(-906.8800904013672,-435.89861729000006)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 896.4088062347005 430.6629752066667 L 906.8800904013672 435.89861729000006 L 896.4088062347005 441.1342593733334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="934.3148549180338" y="454.7469287900001" width="169.841927925" height="16.3352033"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="936.1996860680338" y="466.05591569000006" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor(IDataSource conn)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 919.4456314013671 471.0821320900001 L 969.7077954013671 471.0821320900001 L 969.7077954013671 487.41733539000006 L 929.7912601580338 487.41733539000006" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(919.4456314013671,487.41733539000006) translate(-919.4456314013671,-487.41733539000006)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 929.9169155680338 482.1816933066667 L 919.4456314013671 487.41733539000006 L 929.9169155680338 492.6529774733334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="515.2300069932293" y="506.2656468900001" width="197.4523557814453" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="517.1148381432292" y="519.8364311700001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> New SystemAccountManager</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 525.8678908500001 L 331.3779081232031 525.8678908500001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,525.8678908500001) translate(-321.03227936653644,-525.8678908500001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 520.6322487666667 L 321.03227936653644 525.8678908500001 L 331.50356353320313 531.1035329333334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="367.5230545617513" y="544.71620235" width="232.66483441914062" height="19.60224396"/></g><g><rect fill="white" stroke="none" x="367.5230545617513" y="559.79485155" width="112.61335126484374" height="19.60224396"/></g><g><rect fill="white" stroke="none" x="367.5230545617513" y="574.87350075" width="85.395394721875" height="19.60224396"/></g><g><rect fill="white" stroke="none" x="367.5230545617513" y="589.9521499499999" width="228.36872235859374" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="369.4078857117513" y="558.28698663" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> new UserAccount(string username,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="369.4078857117513" y="573.36563583" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> string password,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="369.4078857117513" y="588.44428503" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> string email,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="369.4078857117513" y="603.5229342299999" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> DateTime RegistrationTimeStamp)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 321.03227936653644 609.55439391 L 636.3330354194401 609.55439391" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(646.6786641761067,609.55439391) translate(-646.6786641761067,-609.55439391)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 636.20738000944 604.3187518266667 L 646.6786641761067 609.55439391 L 636.20738000944 614.7900359933334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="674.1134286927734" y="628.4027054100001" width="190.2382902296875" height="19.60224396"/></g><g><rect fill="white" stroke="none" x="674.1134286927734" y="643.48135461" width="112.61335126484374" height="19.60224396"/></g><g><rect fill="white" stroke="none" x="674.1134286927734" y="658.56000381" width="85.395394721875" height="19.60224396"/></g><g><rect fill="white" stroke="none" x="674.1134286927734" y="673.63865301" width="228.36872235859374" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="675.9982598427733" y="641.9734896900001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Constructor(string username,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="675.9982598427733" y="657.05213889" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> string password,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="675.9982598427733" y="672.13078809" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> string email,</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="675.9982598427733" y="687.20943729" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> DateTime RegistrationTimeStamp)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 659.2442051761067 693.2408969700001 L 709.5063691761067 693.2408969700001 L 709.5063691761067 709.5761002700001 L 669.5898339327733 709.5761002700001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(659.2442051761067,709.5761002700001) translate(-659.2442051761067,-709.5761002700001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 669.7154893427734 704.3404581866668 L 659.2442051761067 709.5761002700001 L 669.7154893427734 714.8117423533334 Z"/></g></g><g><g><rect fill="white" stroke="none" x="424.3495773888997" y="728.4244117700001" width="119.01178876484374" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="426.23440853889974" y="741.9951960500001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">New UserAccount</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 646.6786641761067 748.0266557300001 L 331.3779081232031 748.0266557300001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,748.0266557300001) translate(-321.03227936653644,-748.0266557300001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 742.7910136466668 L 321.03227936653644 748.0266557300001 L 331.50356353320313 753.2622978133335 Z"/></g></g><g><g><rect fill="white" stroke="none" x="460.010104954655" y="766.8749672300002" width="307.89215985859374" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="461.894936104655" y="780.4457515100002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">manager.CreateUserRecord(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 321.03227936653644 786.4772111900002 L 896.5344616447005 786.4772111900002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(906.8800904013672,786.4772111900002) translate(-906.8800904013672,-786.4772111900002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 896.4088062347005 781.2415691066668 L 906.8800904013672 786.4772111900002 L 896.4088062347005 791.7128532733335 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1167.8320877995443" y="805.3255226900002" width="179.0234464796875" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1169.7169189495444" y="818.8963069700002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">isAdmin(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 919.4456314013671 824.9277666500002 L 1584.8963619207423 824.9277666500002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1595.241990677409,824.9277666500002) translate(-1595.241990677409,-824.9277666500002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1584.7707065107422 819.6921245666668 L 1595.241990677409 824.9277666500002 L 1584.7707065107422 830.1634087333335 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1628.2516599857422" y="843.7760781500002" width="160.62267438496093" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1630.1364911357423" y="857.3468624300002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlRead confirmAdmin()</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1607.8075316774089 863.3783221100002 L 1798.9728339223698 863.3783221100002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1809.3184626790364,863.3783221100002) translate(-1809.3184626790364,-863.3783221100002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1798.8471785123697 858.1426800266669 L 1809.3184626790364 863.3783221100002 L 1798.8471785123697 868.6139641933336 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1836.753227195703" y="882.2266336100001" width="138.21408979023437" height="19.60224396"/></g><g><rect fill="white" stroke="none" x="1836.753227195703" y="897.3052828100001" width="221.26015607441406" height="19.60224396"/></g><g><rect fill="white" stroke="none" x="1836.753227195703" y="912.3839320100001" width="154.06253949726562" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1838.638058345703" y="895.7974178900001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Select * from Admins</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1838.638058345703" y="910.8760670900001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> where Username = @UserName </text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1838.638058345703" y="925.9547162900001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">and Password = @Pwd</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1821.8840036790364 931.9861759700002 L 1872.1461676790364 931.9861759700002 L 1872.1461676790364 948.3213792700002 L 1832.229632435703 948.3213792700002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1821.8840036790364,948.3213792700002) translate(-1821.8840036790364,-948.3213792700002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1832.355287845703 943.0857371866668 L 1821.8840036790364 948.3213792700002 L 1832.355287845703 953.5570213533335 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1673.462566968164" y="967.1696907700002" width="70.20086042011718" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1675.3473981181642" y="980.7404750500002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return true</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 986.7719347300002 L 1618.1531604340755 986.7719347300002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(1607.8075316774089,986.7719347300002) translate(-1607.8075316774089,-986.7719347300002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1618.2788158440756 981.5362926466669 L 1607.8075316774089 986.7719347300002 L 1618.2788158440756 992.0075768133336 Z"/></g></g><g><g><rect fill="white" stroke="none" x="1222.2433808293295" y="1005.6202462300001" width="70.20086042011718" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1224.1282119793295" y="1019.1910305100001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return true</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1595.241990677409 1025.2224901900001 L 929.7912601580338 1025.2224901900001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(919.4456314013671,1025.2224901900001) translate(-919.4456314013671,-1025.2224901900001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 929.9169155680338 1019.9868481066668 L 919.4456314013671 1025.2224901900001 L 929.9169155680338 1030.4581322733334 Z"/></g></g><g><g><rect fill="rgb(213,213,229)" stroke="none" x="534.6819494370769" y="1077.9977623900002" width="158.54847089375" height="19.60224396"/></g><g><rect fill="rgb(213,213,229)" stroke="none" x="534.6819494370769" y="1093.0764115900001" width="94.536019721875" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="536.5667805870769" y="1091.5685466700002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Access Denied: </text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="536.5667805870769" y="1106.6471958700001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 1112.6786555500003 L 331.3779081232031 1112.6786555500003" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,1112.6786555500003) translate(-321.03227936653644,-1112.6786555500003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 1107.443013466667 L 321.03227936653644 1112.6786555500003 L 331.50356353320313 1117.9142976333335 Z"/></g></g><g><g><rect fill="rgb(213,213,229)" stroke="none" x="124.08030158551426" y="1131.5269670500002" width="154.5476926955078" height="19.60224396"/></g><g><rect fill="rgb(213,213,229)" stroke="none" x="124.08030158551426" y="1146.6056162500001" width="94.536019721875" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="125.96513273551426" y="1145.0977513300002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "Access Denied: </text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="125.96513273551426" y="1160.1764005300001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 308.4667383665364 1166.2078602100003 L 104.58718625666666 1166.2078602100003" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(94.24155749999998,1166.2078602100003) translate(-94.24155749999998,-1166.2078602100003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 104.71284166666665 1160.972218126667 L 94.24155749999998 1166.2078602100003 L 104.71284166666665 1171.4435022933335 Z"/></g></g><g><g><rect fill="rgb(204,204,255)" stroke="none" x="934.3148549180338" y="1237.8314439100002" width="235.59685651386718" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="936.1996860680338" y="1251.4022281900002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">ValidCredentials(user: UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 919.4456314013671 1257.43368787 L 969.7077954013671 1257.43368787 L 969.7077954013671 1273.7688911700002 L 929.7912601580338 1273.7688911700002" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(919.4456314013671,1273.7688911700002) translate(-919.4456314013671,-1273.7688911700002)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 929.9169155680338 1268.533249086667 L 919.4456314013671 1273.7688911700002 L 929.9169155680338 1279.0045332533334 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="547.7249105576824" y="1326.5441633700004" width="132.46254865253906" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="549.6097417076824" y="1340.1149476500004" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "Invalid input"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 1346.1464073300003 L 331.3779081232031 1346.1464073300003" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,1346.1464073300003) translate(-321.03227936653644,-1346.1464073300003)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 1340.910765246667 L 321.03227936653644 1346.1464073300003 L 331.50356353320313 1351.3820494133336 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="133.12248450787754" y="1364.9947188300005" width="136.46332685078124" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="135.00731565787754" y="1378.5655031100005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Invalid input"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 308.4667383665364 1384.5969627900004 L 104.58718625666666 1384.5969627900004" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(94.24155749999998,1384.5969627900004) translate(-94.24155749999998,-1384.5969627900004)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 104.71284166666665 1379.3613207066671 L 94.24155749999998 1384.5969627900004 L 104.71284166666665 1389.8326048733336 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="934.3148549180338" y="1456.2205464900005" width="351.90082685078124" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="936.1996860680338" y="1469.7913307700005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">AccountService.CreateUserRecord(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 919.4456314013671 1475.8227904500004 L 1290.7392765288153 1475.8227904500004" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1301.084905285482,1475.8227904500004) translate(-1301.084905285482,-1475.8227904500004)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1290.6136211188152 1470.5871483666672 L 1301.084905285482 1475.8227904500004 L 1290.6136211188152 1481.0584325333336 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1328.5196698021484" y="1494.6711019500003" width="55.78681317890625" height="19.60224396"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1328.5196698021484" y="1509.7497511500003" width="251.85309735859374" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1330.4045009521485" y="1508.2418862300003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlDAO</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1330.4045009521485" y="1523.3205354300003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">.CreateUserRecord(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1313.6504462854818 1529.3519951100004 L 1584.8963619207423 1529.3519951100004" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1595.241990677409,1529.3519951100004) translate(-1595.241990677409,-1529.3519951100004)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1584.7707065107422 1524.1163530266672 L 1595.241990677409 1529.3519951100004 L 1584.7707065107422 1534.5876371933336 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1624.2579084598633" y="1548.2003066100006" width="168.61017743671874" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1626.1427396098634" y="1561.7710908900006" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">isUser(user:UserAccount)</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1607.8075316774089 1567.8025505700004 L 1798.9728339223698 1567.8025505700004" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1809.3184626790364,1567.8025505700004) translate(-1809.3184626790364,-1567.8025505700004)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1798.8471785123697 1562.5669084866672 L 1809.3184626790364 1567.8025505700004 L 1798.8471785123697 1573.0381926533337 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1836.753227195703" y="1586.6508620700006" width="57.39696637714844" height="19.60224396"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1836.753227195703" y="1601.7295112700006" width="78.96882001484374" height="19.60224396"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1836.753227195703" y="1616.8081604700005" width="113.41491071308593" height="19.60224396"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1836.753227195703" y="1631.8868096700005" width="125.2133421095703" height="19.60224396"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1836.753227195703" y="1646.9654588700005" width="105.21647016132812" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1838.638058345703" y="1600.2216463500006" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> Select *</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1838.638058345703" y="1615.3002955500006" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">From Users</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1838.638058345703" y="1630.3789447500005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">where Username</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1838.638058345703" y="1645.4575939500005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">= @UserName OR</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1838.638058345703" y="1660.5362431500005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">email = @Email</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1821.8840036790364 1666.5677028300004 L 1872.1461676790364 1666.5677028300004 L 1872.1461676790364 1682.9029061300005 L 1832.229632435703 1682.9029061300005" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1821.8840036790364,1682.9029061300005) translate(-1821.8840036790364,-1682.9029061300005)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1832.355287845703 1677.6672640466672 L 1821.8840036790364 1682.9029061300005 L 1832.355287845703 1688.1385482133337 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1664.6524091922852" y="1735.6781783300007" width="87.821175971875" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1666.5372403422853" y="1749.2489626100007" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlException</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 1755.2804222900006 L 1618.1531604340755 1755.2804222900006" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(1607.8075316774089,1755.2804222900006) translate(-1607.8075316774089,-1755.2804222900006)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1618.2788158440756 1750.0447802066674 L 1607.8075316774089 1755.2804222900006 L 1618.2788158440756 1760.5160643733338 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1622.6767551940754" y="1774.1287337900008" width="58.05675641621094" height="19.60224396"/></g><g><rect fill="rgb(255,204,204)" stroke="none" x="1622.6767551940754" y="1789.2073829900007" width="87.821175971875" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="9pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1624.5615863440755" y="1787.6995180700007" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">     </text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1641.2315082190755" y="1787.6995180700007" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Catch</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1624.5615863440755" y="1802.7781672700007" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">SqlException</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1607.8075316774089 1808.8096269500006 L 1658.0696956774088 1808.8096269500006 L 1658.0696956774088 1825.1448302500007 L 1618.1531604340755 1825.1448302500007" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1607.8075316774089,1825.1448302500007) translate(-1607.8075316774089,-1825.1448302500007)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1618.2788158440756 1819.9091881666675 L 1607.8075316774089 1825.1448302500007 L 1618.2788158440756 1830.380472333334 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1364.2032406639648" y="1843.9931417500009" width="180.48595563496093" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1366.088071813965" y="1857.5639260300009" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "Database timed out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1595.241990677409 1863.5953857100008 L 1323.9960750421485 1863.5953857100008" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(1313.6504462854818,1863.5953857100008) translate(-1313.6504462854818,-1863.5953857100008)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1324.1217304521485 1858.3597436266675 L 1313.6504462854818 1863.5953857100008 L 1324.1217304521485 1868.831027793334 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="1018.0219014268229" y="1882.443697210001" width="184.48673383320312" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1019.9067325768228" y="1896.014481490001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Database timed out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1301.084905285482 1902.0459411700008 L 929.7912601580338 1902.0459411700008" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(919.4456314013671,1902.0459411700008) translate(-919.4456314013671,-1902.0459411700008)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 929.9169155680338 1896.8102990866676 L 919.4456314013671 1902.0459411700008 L 929.9169155680338 1907.281583253334 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="521.7128179673504" y="1920.894252670001" width="184.48673383320312" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="523.5976491173503" y="1934.465036950001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Database timed out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 1940.4964966300008 L 331.3779081232031 1940.4964966300008" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,1940.4964966300008) translate(-321.03227936653644,-1940.4964966300008)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 1935.2608545466676 L 321.03227936653644 1940.4964966300008 L 331.50356353320313 1945.732138713334 Z"/></g></g><g><g><rect fill="rgb(255,204,204)" stroke="none" x="109.1107810166666" y="1959.344808130001" width="184.48673383320312" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="110.9956121666666" y="1972.915592410001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return "Database timed out"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 308.4667383665364 1978.9470520900009 L 104.58718625666666 1978.9470520900009" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(94.24155749999998,1978.9470520900009) translate(-94.24155749999998,-1978.9470520900009)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 104.71284166666665 1973.7114100066676 L 94.24155749999998 1978.9470520900009 L 104.71284166666665 1984.182694173334 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1669.3317152225586" y="2084.497596490001" width="78.46256391132812" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1671.2165463725587" y="2098.068380770001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return True</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 2104.099840450001 L 1618.1531604340755 2104.099840450001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(1607.8075316774089,2104.099840450001) translate(-1607.8075316774089,-2104.099840450001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1618.2788158440756 2098.8641983666676 L 1607.8075316774089 2104.099840450001 L 1618.2788158440756 2109.3354825333345 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1344.6071636986328" y="2122.948151950001" width="219.678109565625" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1346.4919948486329" y="2136.518936230001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is already registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1595.241990677409 2142.550395910001 L 1323.9960750421485 2142.550395910001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(1313.6504462854818,2142.550395910001) translate(-1313.6504462854818,-2142.550395910001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1324.1217304521485 2137.3147538266676 L 1313.6504462854818 2142.550395910001 L 1324.1217304521485 2147.7860379933345 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1000.4262135606119" y="2161.398707410001" width="219.678109565625" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1002.3110447106119" y="2174.969491690001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is already registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1301.084905285482 2181.000951370001 L 929.7912601580338 2181.000951370001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(919.4456314013671,2181.000951370001) translate(-919.4456314013671,-2181.000951370001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 929.9169155680338 2175.7653092866676 L 919.4456314013671 2181.000951370001 L 929.9169155680338 2186.2365934533345 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="504.11713010113937" y="2199.849262870001" width="219.678109565625" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="506.0019612511394" y="2213.420047150001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is already registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 2219.451506830001 L 331.3779081232031 2219.451506830001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,2219.451506830001) translate(-321.03227936653644,-2219.451506830001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 2214.2158647466676 L 321.03227936653644 2219.451506830001 L 331.50356353320313 2224.6871489133346 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="112.3240607407877" y="2238.299818330001" width="105.39927045429687" height="19.60224396"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="112.3240607407877" y="2253.378467530001" width="178.06017438496093" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="114.2088918907877" y="2251.8706026100012" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">               return </text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="114.2088918907877" y="2266.9492518100014" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">"User is already registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 308.4667383665364 2272.980711490001 L 104.58718625666666 2272.980711490001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(94.24155749999998,2272.980711490001) translate(-94.24155749999998,-2272.980711490001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 104.71284166666665 2267.7450694066674 L 94.24155749999998 2272.980711490001 L 104.71284166666665 2278.2163535733343 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1666.262570019922" y="2344.604295190001" width="84.60085431660156" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1668.147401169922" y="2358.175079470001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return False</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 2364.206539150001 L 1618.1531604340755 2364.206539150001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(1607.8075316774089,2364.206539150001) translate(-1607.8075316774089,-2364.206539150001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1618.2788158440756 2358.9708970666675 L 1607.8075316774089 2364.206539150001 L 1618.2788158440756 2369.4421812333344 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1655.852802869043" y="2383.054850650001" width="75.797738471875" height="19.60224396"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="1655.852802869043" y="2398.133499850001" width="105.42038861835937" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1657.737634019043" y="2396.625634930001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> SQL insert</text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1657.737634019043" y="2411.7042841300013" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">user credentials</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1607.8075316774089 2417.7357438100007 L 1798.9728339223698 2417.7357438100007" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray=""/><g transform="translate(1809.3184626790364,2417.7357438100007) translate(-1809.3184626790364,-2417.7357438100007)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1798.8471785123697 2412.5001017266673 L 1809.3184626790364 2417.7357438100007 L 1798.8471785123697 2422.971385893334 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1679.8645139896485" y="2436.5840553100006" width="57.39696637714844" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1681.7493451396485" y="2450.154839590001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve"> return 1</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1809.3184626790364 2456.1862992700007 L 1618.1531604340755 2456.1862992700007" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(1607.8075316774089,2456.1862992700007) translate(-1607.8075316774089,-2456.1862992700007)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1618.2788158440756 2450.9506571866673 L 1607.8075316774089 2456.1862992700007 L 1618.2788158440756 2461.421941353334 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1355.0134060692383" y="2475.0346107700007" width="198.86562482441406" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1356.8982372192384" y="2488.605395050001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is now registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1595.241990677409 2494.636854730001 L 1323.9960750421485 2494.636854730001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(1313.6504462854818,2494.636854730001) translate(-1313.6504462854818,-2494.636854730001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 1324.1217304521485 2489.4012126466673 L 1313.6504462854818 2494.636854730001 L 1324.1217304521485 2499.8724968133342 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="1010.8324559312174" y="2513.4851662300007" width="198.86562482441406" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="1012.7172870812174" y="2527.055950510001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is now registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 1301.084905285482 2533.087410190001 L 929.7912601580338 2533.087410190001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(919.4456314013671,2533.087410190001) translate(-919.4456314013671,-2533.087410190001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 929.9169155680338 2527.8517681066674 L 919.4456314013671 2533.087410190001 L 929.9169155680338 2538.3230522733343 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="514.5233724717449" y="2551.9357216900007" width="198.86562482441406" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="516.4082036217449" y="2565.506505970001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">return "User is now registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 906.8800904013672 2571.537965650001 L 331.3779081232031 2571.537965650001" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(321.03227936653644,2571.537965650001) translate(-321.03227936653644,-2571.537965650001)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 331.50356353320313 2566.3023235666674 L 321.03227936653644 2571.537965650001 L 331.50356353320313 2576.7736077333343 Z"/></g></g><g><g><rect fill="rgb(204,230,204)" stroke="none" x="122.73030311139317" y="2590.3862771500008" width="105.39927045429687" height="19.60224396"/></g><g><rect fill="rgb(204,230,204)" stroke="none" x="122.73030311139317" y="2605.464926350001" width="157.24768964375" height="19.60224396"/></g><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="124.61513426139317" y="2603.957061430001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">               return </text><text fill="black" stroke="none" font-family="sans-serif" font-size="10.799999999999999pt" font-style="normal" font-weight="normal" text-decoration="normal" x="124.61513426139317" y="2619.035710630001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">"User is now registered"</text></g><g><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 308.4667383665364 2625.0671703100006 L 104.58718625666666 2625.0671703100006" stroke-miterlimit="10" stroke-width="1.0471284166666666" stroke-dasharray="5.0262164"/><g transform="translate(94.24155749999998,2625.0671703100006) translate(-94.24155749999998,-2625.0671703100006)"><path fill="black" stroke="none" paint-order="stroke fill markers" d=" M 104.71284166666665 2619.831528226667 L 94.24155749999998 2625.0671703100006 L 104.71284166666665 2630.302812393334 Z"/></g></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 1044.0708016900003 L 957.1422544013672 1044.0708016900003 L 957.1422544013672 1185.0561717100002 L 50.262163999999984 1185.0561717100002 L 50.262163999999984 1044.0708016900003 Z" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><path fill="#2f2e7b" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 1044.0708016900003 L 50.262163999999984 1059.1494508900003 L 160.7384150673828 1059.1494508900003 L 168.27773966738278 1051.6101262900004 L 168.27773966738278 1044.0708016900003 L 50.262163999999984 1044.0708016900003" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="7.2pt" font-style="normal" font-weight="bold" text-decoration="normal" x="62.82770499999998" y="1054.1232344900002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Unauthorized User</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 12.565540999999996 1203.9044832100003 L 1978.9300496552733 1203.9044832100003 L 1978.9300496552733 2700.4604163100003 L 12.565540999999996 2700.4604163100003 L 12.565540999999996 1203.9044832100003 Z" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><path fill="blue" stroke="black" paint-order="fill stroke markers" d=" M 12.565540999999996 1203.9044832100003 L 12.565540999999996 1218.9831324100003 L 111.83868232617186 1218.9831324100003 L 119.37800692617186 1211.4438078100004 L 119.37800692617186 1203.9044832100003 L 12.565540999999996 1203.9044832100003" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="7.2pt" font-style="normal" font-weight="bold" text-decoration="normal" x="25.131081999999996" y="1213.9569160100002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Authorized User</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 1292.6172026700003 L 957.1422544013672 1292.6172026700003 L 957.1422544013672 1403.4452742900003 L 50.262163999999984 1403.4452742900003 L 50.262163999999984 1292.6172026700003 Z" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 1292.6172026700003 L 50.262163999999984 1307.6958518700003 L 161.26340896386716 1307.6958518700003 L 168.80273356386715 1300.1565272700004 L 168.80273356386715 1292.6172026700003 L 50.262163999999984 1292.6172026700003" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="7.2pt" font-style="normal" font-weight="bold" text-decoration="normal" x="62.82770499999998" y="1302.6696354700002" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Invalid Information</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 25.131081999999992 1422.2935857900004 L 1966.3645086552733 1422.2935857900004 L 1966.3645086552733 2681.6121048100003 L 25.131081999999992 2681.6121048100003 L 25.131081999999992 1422.2935857900004 Z" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><path fill="green" stroke="black" paint-order="fill stroke markers" d=" M 25.131081999999992 1422.2935857900004 L 25.131081999999992 1437.3722349900004 L 128.13547027441405 1437.3722349900004 L 135.67479487441403 1429.8329103900005 L 135.67479487441403 1422.2935857900004 L 25.131081999999992 1422.2935857900004" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="7.2pt" font-style="normal" font-weight="bold" text-decoration="normal" x="37.69662299999999" y="1432.3460185900003" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">Valid Information</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 1701.7512176300006 L 1859.5806266790364 1701.7512176300006 L 1859.5806266790364 1997.7953635900008 L 50.262163999999984 1997.7953635900008 L 50.262163999999984 1701.7512176300006 Z" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><path fill="red" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 1701.7512176300006 L 50.262163999999984 1716.8298668300006 L 167.13683730859373 1716.8298668300006 L 174.6761619085937 1709.2905422300007 L 174.6761619085937 1701.7512176300006 L 50.262163999999984 1701.7512176300006" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="7.2pt" font-style="normal" font-weight="bold" text-decoration="normal" x="62.82770499999998" y="1711.8036504300005" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">data store timed out</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 37.69662299999999 2016.643675090001 L 1872.1461676790364 2016.643675090001 L 1872.1461676790364 2662.7637933100004 L 37.69662299999999 2662.7637933100004 L 37.69662299999999 2016.643675090001 Z" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><path fill="blue" stroke="black" paint-order="fill stroke markers" d=" M 37.69662299999999 2016.643675090001 L 37.69662299999999 2031.7223242900009 L 150.31502494628904 2031.7223242900009 L 157.85434954628903 2024.182999690001 L 157.85434954628903 2016.643675090001 L 37.69662299999999 2016.643675090001" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="7.2pt" font-style="normal" font-weight="bold" text-decoration="normal" x="50.262163999999984" y="2026.6961078900008" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">data store is online</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 2050.570635790001 L 1859.5806266790364 2050.570635790001 L 1859.5806266790364 2291.829022990001 L 50.262163999999984 2291.829022990001 L 50.262163999999984 2050.570635790001 Z" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><path fill="green" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 2050.570635790001 L 50.262163999999984 2065.649284990001 L 146.36184341210935 2065.649284990001 L 153.90116801210934 2058.1099603900007 L 153.90116801210934 2050.570635790001 L 50.262163999999984 2050.570635790001" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="7.2pt" font-style="normal" font-weight="bold" text-decoration="normal" x="62.82770499999998" y="2060.623068590001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">User does exist</text></g><g><g/><path fill="none" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 2310.6773344900007 L 1859.5806266790364 2310.6773344900007 L 1859.5806266790364 2643.9154818100005 L 50.262163999999984 2643.9154818100005 L 50.262163999999984 2310.6773344900007 Z" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><path fill="green" stroke="black" paint-order="fill stroke markers" d=" M 50.262163999999984 2310.6773344900007 L 50.262163999999984 2325.755983690001 L 163.95400649804685 2325.755983690001 L 171.49333109804684 2318.2166590900006 L 171.49333109804684 2310.6773344900007 L 50.262163999999984 2310.6773344900007" stroke-miterlimit="10" stroke-width="1.7950772857142856" stroke-dasharray=""/><text fill="white" stroke="none" font-family="sans-serif" font-size="7.2pt" font-style="normal" font-weight="bold" text-decoration="normal" x="62.82770499999998" y="2320.729767290001" text-anchor="start" dominant-baseline="alphabetic" xml:space="preserve">User does not exist</text></g></g><g/><g/><g/><g/><g/><g/><g/><g/></g></svg>