meadow 2.0.42 → 2.0.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +2 -3
  2. package/docs/architecture.md +10 -99
  3. package/docs/diagrams/create-waterfall.excalidraw +2016 -0
  4. package/docs/diagrams/create-waterfall.mmd +19 -0
  5. package/docs/diagrams/create-waterfall.svg +2 -0
  6. package/docs/diagrams/crud-behavior-flow.excalidraw +1305 -0
  7. package/docs/diagrams/crud-behavior-flow.mmd +13 -0
  8. package/docs/diagrams/crud-behavior-flow.svg +2 -0
  9. package/docs/diagrams/module-hierarchy.excalidraw +1582 -0
  10. package/docs/diagrams/module-hierarchy.mmd +15 -0
  11. package/docs/diagrams/module-hierarchy.svg +2 -0
  12. package/docs/diagrams/query-lifecycle.excalidraw +1808 -0
  13. package/docs/diagrams/query-lifecycle.mmd +21 -0
  14. package/docs/diagrams/query-lifecycle.svg +2 -0
  15. package/docs/diagrams/schema-system.excalidraw +2034 -0
  16. package/docs/diagrams/schema-system.mmd +21 -0
  17. package/docs/diagrams/schema-system.svg +2 -0
  18. package/docs/providers/README.md +6 -14
  19. package/docs/providers/diagrams/overview.excalidraw +1324 -0
  20. package/docs/providers/diagrams/overview.mmd +8 -0
  21. package/docs/providers/diagrams/overview.svg +2 -0
  22. package/docs/providers/diagrams/use-case-unified-client-server-interface.excalidraw +919 -0
  23. package/docs/providers/diagrams/use-case-unified-client-server-interface.mmd +12 -0
  24. package/docs/providers/diagrams/use-case-unified-client-server-interface.svg +2 -0
  25. package/docs/providers/meadow-endpoints.md +5 -17
  26. package/docs/providers/mongodb.md +2 -2
  27. package/docs/providers/mssql.md +1 -1
  28. package/docs/providers/mysql.md +1 -1
  29. package/docs/providers/postgresql.md +2 -2
  30. package/docs/providers/rocksdb.md +1 -1
  31. package/docs/providers/sqlite.md +1 -1
  32. package/docs/query/README.md +1 -1
  33. package/docs/query/count.md +2 -8
  34. package/docs/query/create.md +2 -12
  35. package/docs/query/diagrams/how-it-works-2.excalidraw +1097 -0
  36. package/docs/query/diagrams/how-it-works-2.mmd +10 -0
  37. package/docs/query/diagrams/how-it-works-2.svg +2 -0
  38. package/docs/query/diagrams/how-it-works-3.excalidraw +665 -0
  39. package/docs/query/diagrams/how-it-works-3.mmd +6 -0
  40. package/docs/query/diagrams/how-it-works-3.svg +2 -0
  41. package/docs/query/diagrams/how-it-works-4.excalidraw +881 -0
  42. package/docs/query/diagrams/how-it-works-4.mmd +8 -0
  43. package/docs/query/diagrams/how-it-works-4.svg +2 -0
  44. package/docs/query/diagrams/how-it-works-5.excalidraw +881 -0
  45. package/docs/query/diagrams/how-it-works-5.mmd +8 -0
  46. package/docs/query/diagrams/how-it-works-5.svg +2 -0
  47. package/docs/query/diagrams/how-it-works.excalidraw +665 -0
  48. package/docs/query/diagrams/how-it-works.mmd +6 -0
  49. package/docs/query/diagrams/how-it-works.svg +2 -0
  50. package/docs/query/read.md +4 -18
  51. package/docs/query/update.md +2 -10
  52. package/docs/query-dsl.md +1 -1
  53. package/docs/quick-start.md +1 -1
  54. package/docs/retold-catalog.json +1 -1
  55. package/docs/retold-keyword-index.json +1 -1
  56. package/docs/schema/README.md +2 -7
  57. package/docs/schema/diagrams/overview.excalidraw +834 -0
  58. package/docs/schema/diagrams/overview.mmd +5 -0
  59. package/docs/schema/diagrams/overview.svg +2 -0
  60. package/package.json +13 -6
  61. package/scripts/bookstore-seed.js +136 -1
  62. package/scripts/meadow-test-cleanup.sh +1 -0
  63. package/scripts/oracle-test-db.sh +128 -0
  64. package/source/providers/Meadow-Provider-MeadowEndpoints.js +36 -7
  65. package/source/providers/Meadow-Provider-Oracle.js +5 -1
  66. package/test/Meadow-Provider-MeadowEndpoints-Session_tests.js +123 -0
  67. package/test/Meadow-Provider-Oracle_tests.js +877 -0
@@ -0,0 +1,19 @@
1
+ flowchart TD
2
+ A["Step 0: GUID Uniqueness Check<br/>If GUID is provided and >= 5 chars,<br/>query for existing record with same GUID"]
3
+ B{"GUID<br/>already exists?"}
4
+ C["Error: Record with GUID already exists"]
5
+ D["Step 1: Insert Record<br/>Merge default object with submitted record,<br/>set IDUser, call Provider.Create"]
6
+ E{"Insert<br/>succeeded?"}
7
+ F["Error: Creation failed"]
8
+ G["Step 2: Read Back<br/>Query by new auto-increment ID,<br/>call Provider.Read"]
9
+ H["Step 3: Marshal<br/>marshalRecordFromSourceToObject<br/>returns plain JavaScript object"]
10
+ I["Callback with<br/>created record"]
11
+
12
+ A --> B
13
+ B -->|Yes| C
14
+ B -->|No| D
15
+ D --> E
16
+ E -->|No| F
17
+ E -->|Yes| G
18
+ G --> H
19
+ H --> I
@@ -0,0 +1,2 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1168 1206" width="1168" height="1206"><!-- svg-source:excalidraw --><metadata><!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dbXPbyJH+vr9cdTAwMDKlfDUn8/7iqiS1smSvcufNZr1O6uqcSkEkLMGmSIWEVval9r9fXHUwMDBmSFx1MDAxMDMgiMGIlFxmVUi7VFx1MDAxMkg056V7+nm6e1x1MDAwNv/+LklOiq+32cnL5CT7Mk6n+WSR3p+8sNd/zVx1MDAxNst8PoO3aPn3cn63XHUwMDE4l5+8Lorbl7//PaFcbmH4R15yo4hZ3ZVNs5tsVizhc/9cdTAwMGJ/J8m/y5/wTj6x9y6v09ts9P1cYpev9HN5V/l+1Y5FNi7S2dU0q9/6XHUwMDAy1zmhm7+/wt9Ebv68zyfFtf2IYptr11l+dV3Yz+H64krsy1x1MDAwNG+uLIvF/HP2aj6dL+x3/46ckteU1d98mY4/Xy3md7PJ5jPFXCKdLW/TXHUwMDA19LL+3Md8On1XfC2lw0jBOJ40vuPv60bSxvVdd8GXXl3PsqVcdTAwMWRJsrk6v03HeVH2XHUwMDFm172wLby9mJSD/o+6TYv0Jruwoz67m05dwbPJWnA1OfXws/WV3+pmZpmVwXT9fVxy1XCv/TiflUpCMOGGKE3E5lx1MDAxM/nyXGa0oyilfUyny6xcdTAwMWVl26Tzpua42uNo0DS9zKZcdTAwMWJccjLjzZB5WlRkX4qTzVx1MDAxYr+96JKYLlx1MDAxNvN7kHi6lqnn7TLLzzlC17/VI353O0lX/YOeY86plFxcSLV5f5rPPjenYzpcdTAwMWZ/blx1MDAxOZJ8Nsm+lF+KV9+47kLDnHZcdTAwMGWGP1x1MDAxML4lUexZXHUwMDEyw9uWJNS2JSkxKENcIkMyJO+NymKYjLFcdTAwMTghXHUwMDE401x1MDAxMnPyXHUwMDEwg3lcdTAwMTRcdTAwMWQsVVx1MDAwN1x1MDAwNvRdkd0m+GXy5v3FWfJ+lv/rLrPdTl5dZ+PPXHUwMDFmZlx1MDAxN1x1MDAxZlfv5MvkdjH/NZ9kkySdTZI//iFcdTAwMTHJ+DpdLF98mME9i6/Jx/lcIsm+5MtcIp9dJbDQz1x1MDAxN5PkPi+ukyWMcCnF0YT5rHiX/59cdTAwMWRcdTAwMWFHYe3V1+lNPrVTJ7ymfj/Nr+xcYp+MYVSyxYk70EVcdTAwMGXObfOBm3wycf3LZbrMYFxcynWrljmGr0rh6uJcIuC55ov8Kp+l01++6Xild8X852y5XHUwMDFhsWJxl7lTnv2w8YeIOkvyZpUhXavMquvV8nhjtleZSZ7ezGdcdTAwMTN/oVx1MDAxMcJfaCg2WytccjFtK41cdTAwMWXUSvNcXF22xsS1gdBcdTAwMDJcdTAwMDTTI1x1MDAwMMhRXc/IgVxc9kNcdTAwMWRsXHUwMDBmr306erVcdTAwMTb6+ZBCz9ZCZ8shQVx1MDAwMVx1MDAxYYZcdTAwMDLVXHUwMDEwf+pcdTAwMDVcdTAwMDW2LFRgJPrZqLMmXHUwMDBmwUZcdTAwMDePXHUwMDA2pIlCXHUwMDAzlFGtJWCCwaGBdLrI0snXlV9a/qnVYTvk7CBcdTAwMGW7mN/GeWuvQ03/vLNcdTAwMDf7uVBcdTAwMTZ2odVaJa56815cIn3ey51FvYbr9bWNgYp6XHUwMDBlhmCgz9WJkji7JYopgPGUPVxixne5ptX6XmlcdTAwMTA/XHUwMDE47433oE/j7HjY2bVcZkaHsyPKd3acyFx1MDAxNmfHmdi2JXqkvlHOjog4o9HMMMZccn5QsOhRvd056P7iZfKzw71K8ub7kKGz1ja/0/SKsT3dz1mKsLOsMPjlpLezlKJmjmVoS9WTX1x1MDAxObjAtW5cdTAwMWWjxFx1MDAwN/aW3KH4PVxm39JNIVx1MDAxOX9cdTAwMTDKXHI7y0qD1P3hnGUsM+wh9Gx0vlx1MDAxNjpcdTAwMTlcdTAwMTTdlGFcdTAwMGbcMsJcdTAwMWRcdTAwMWVYSumbp2nBslx1MDAwNm+b5zH0XHUwMDFj53+p5nGg1Vx1MDAxOE5cdTAwMTiXw/O/ZSyVvEwuZkvwh2vv9GH2NltcXGXJJPuY3k2LZH75XHT8wToyend5k1x1MDAxN9CKdbz0xVx1MDAwN7izSC7O3oOAXHUwMDE3XHQ41Gny0yrsukCvwLVcdTAwMTXZ0L13myNsjTk/2Tjt5/tV2PdXXHUwMDBi4ifaM9bMiL+0XGK1ndVcIry2gGOs+bCOX+q48Fx1MDAxNpFUaCZqtHDQUHO8R+3hps9Hr9dC/1VcdTAwMWNQ6JtK6GRIvl+HfX81xLnu4/ubXHUwMDA2Klx0aVx1MDAwYjW3megx1Fx1MDAxY1x1MDAxOWqOY9/aUEDgcnh55+XdeFxmPcomzzHI3Nb4/dymXHS7zWqBur7pT5l9s1ROuLkySqpqNHlcZi9cdTAwMWbYb7JIpE4tZVx1MDAxNuaRwsuVXHUwMDAyfdpcdTAwMTFcbo5nzPFe82lcdTAwMWPc92FcdTAwMDfXMlx1MDAxOFx1MDAxZFx1MDAwZc4xktKQlGrxb9RcdFBcdTAwMWSjy1x1MDAwZvRvXG7rXHUwMDE4m+HSUIrFcIPLJbuCXHUwMDA2w6fyaTZpdXZcdTAwMDOio21OZkcweWfP9vOEp2FPWKFqnvb2hEzX31VaMKvVrLJfdiwxfsRUq4jyhZRRI1x0M1x1MDAwN+eQq9W/0qD0YMHjeK7XQ+ib0Vx1MDAwZlVcZnZQweNXYf/aMsJdXHUwMDA00jDfPMU2UmXHuuVcdTAwMDPULZstk+uEpFhcYkYwxcMjkGVQlNqcZjpJTlNbfPvXsq728msyy+5cdTAwMTPrhUb5bLwo25NcXJy9+DDzXHUwMDAzn/bOofvjNlfXXHUwMDFhXHUwMDFlPuBI7Oe/z8L+u1rUPt1FVEp564Nh28mlo/t+RPetSJT75sRgo6l8pNxvpUBmh6uNd9/xnraH0Fx1MDAxZkZcdTAwMTdVQvlqSO77POy+W0a4w31Tn1x1MDAxZVx1MDAxYr5Njo/e+yC7jlSMXHUwMDE1XHUwMDFhI6k2hFxmr864dFnsZfI2XYBLmH6Y3ax+WaU2Xy/mN+/KXHUwMDFkqb/M/1KmNT/MXHUwMDE2WXG3mC2T2yn4yOTP6a/pu/FcIr+t8p5D9+NtLq/Vjz/OoOzn0l+HXXrLQlx1MDAxN3TpxC/ZJMRZRjY5I91S0HVM61x1MDAxZWZcdTAwMGJcdTAwMTGPXHUwMDBiT1x1MDAxM1xunFx1MDAxYzNy8PD0sL3lm7C3rFx1MDAxYX7TK1u6rfhStKVL21T/mC6N85jaXHUwMDEx3CtcdTAwMDWjKSdsiC5zXFyW6VRcdTAwMTU9zzBpuqtcdTAwMDP7+aZcdTAwMWa6rLNjb2JjUfFcZlRyjfxwMSHbu1sponY/iFSCc0ZcdTAwMTnFMlx1MDAxYpFcdTAwMTZcbmpiTJaeqzPF/2O8VSvIJVEhKoqVXHUwMDE2mFx1MDAxMzGcXHUwMDEw1e08b3q9+reknv3yj83v/3hcdTAwMTH+NJGhj49cYlwiTGqpmVKUSFx1MDAwMlx1MDAwZdtVy1KIQVpcdFx1MDAwMpReKiU5lvRcdTAwMDBCKUOCXHUwMDE4bTCVWDJcdTAwMTLVKypcdTAwMTEwXHUwMDE193/U7VxmI8pcdTAwMTgxklxiXHUwMDAzXHUwMDE4XHUwMDA1XHUwMDA3x8i/myEmXGYzkjPGXHUwMDE1XHUwMDE2kd8tXHUwMDExU7j+r+PuNohcdTAwMWFuKFx1MDAxN4JcdTAwMTPNdHDYwvPAKYI37O5SaWB9wphHtYiLXHUwMDAzNEEh21x1MDAxN1x1MDAwNstcIlZcdTAwMTSGNKpcdTAwMDVcdTAwMDIjuFx1MDAwNdtVVWj4XHUwMDAyXHUwMDEzdzdDe2iSkMjaXHUwMDAzZkJKQY2IU2NhkJJSg1x1MDAxMnCslTJcdTAwMDeYTclcdTAwMTB29UtFNUhKxDUm2ChmmIxcdTAwMWJIhVx1MDAxMfAxTbVglIKBxKmRivu4cVbB71x1MDAxYbdcdTAwMDHEXlx1MDAxNq/mN6uC5p/s0rrlOIp0UZxcdTAwMDImyIE5eFx1MDAxNOhmPil923xxmbtcdTAwMTUq1VFWgdM/Ssf6pf5Wr1x1MDAwM0jgOi1SX9nqSc27stlk71a2XHUwMDFj1Fx1MDAxMWolXHUwMDE1TGNFsFx1MDAxNLA+a7/FXHUwMDE4cIsgVG9+djS/XHUwMDFj5u8tXFy6tvmCxiRA59z3mrgqm17O7zt51kVcdTAwMTjJtW5n7URyVIFcdMjNq3bn5YlcYnp7XHUwMDA3XHUwMDE5hTXZOHfIlppcdTAwMWXiXHUwMDA0w4+Qrlx1MDAwN6RTkZFcdTAwMDZY6sCDXGapbPWbQjpw6cwoozUhREitjI+8wGFWSFx1MDAwZTyXkEF/O9KIUmOM4FRcdGqBjydPIL5cdTAwMDJxsJoxe2ZMUFx1MDAxZVFcYr5fXHUwMDE5TCizIyxcXHlcdTAwMDDPMK89Mlx1MDAwYuOBkUV0WoJcdTAwMDZcdTAwMTBl60CU71x1MDAxNFx1MDAxOUdcdTAwMTXUs8hcdTAwMWZcdTAwMTh7UCBcdTAwMTdcYvppXHUwMDE011x1MDAwMoaSXHUwMDBiX55BZFxy/krYXHUwMDExdLIjXHTcj2glXHUwMDA1XHUwMDEwP2y0Yl6HOWBcdTAwMTBcdTAwMGZcdTAwMTSG51x1MDAwMyMpmFx1MDAxMYJoo4SSvjiNXGJe40OLqcLDXHUwMDA3XHUwMDEzhzDMXHUwMDA3fFx1MDAxOFx1MDAxYUeM8tyUoGhcdTAwMDVcdTAwMGWpKeFKePSA/VwiY1j94p688HhcdTAwMTG7qGJjKKWgJVxc1mfO2JckqIKKK1x1MDAxY1x1MDAxZpZcdTAwMDdQizGqYCFWXHUwMDEyXHUwMDA0Y1x1MDAxZjRcdKTNXG48Wlx1MDAxY9yjeVxu9NdRX+P1XHUwMDBmkFx1MDAxMHMxZVx1MDAwZnmGI4voXGbRRMA4Y19cdTAwMWVHeoUvV8g/iMtGoGOAiTHVjMMsSONcdTAwMGafgrGoXHUwMDEwJ1x1MDAwN8xcdTAwMWE2V5hcdTAwMDZU6m2lwNSVp1x1MDAxOTLC0d+wvlFGkIIuwVrBoFxyuD5cdTAwMWKvlKeRKFx1MDAwMag24FjB5/aQXHUwMDA3XGaCXHUwMDAzMlx1MDAwNmYvXHUwMDA0tM+TZ1x1MDAxOKJrUFqytjB73e3TS3k9XHUwMDA2rFNcdTAwMDBo4Vx1MDAxNmp6evhcdTAwMWFcclxmmWvRzEktrt5+XHUwMDAyLNtycsGBXHUwMDEx9yND1j93QdZscpWNqoO7qq5eLftkXGLcc0rKvdS0jitu9lK3bKWOylx1MDAwZTw+Llx1MDAxZHx2QOIoXFxqjDSaPfBcZr1HTVx1MDAwZfxP1n5MyaEzXHUwMDAyXVx1MDAxOfB62Fwiklx1MDAwMl7D98tcdTAwMDT8V1x1MDAxZv7YcsJDJ3+UXHUwMDA2XHUwMDAxYqxfYf7Iicc42/jjMSNcdTAwMTCZxIvb81xiuFBcdTAwMWGAXHLDMdNvyVx1MDAxZYE8iopH2VOIvbtcdTAwMWKZgDA1XHUwMDAz5qiBLFx0gHuWXihcdTAwMGY5+jlcdTAwMDBcdTAwMWJ2XGaJXHUwMDAz4qj1XHUwMDA2eGssfXmNvEBcdTAwMTApXHUwMDAzb+TQMs2E5ppcdTAwMTiGvd4281x1MDAwNGEkXG60UXClXHKYMcDkXHUwMDA2T24kXHUwMDBleJh3XHUwMDAzbZS4Zo3Kg7XRmVx1MDAwNE1gZjWGbyZcdTAwMTJcdTAwMDPu90hGM7NcdTAwMTBunCWNQMCo0NrWe9dcdM9yIKKzXG6kXGZL7OKMPdJcZlx1MDAxY+7XnGOlJVxmLVfeVEanXHUwMDE4YIhcdTAwMTB4blx1MDAwMWoksFDOblx1MDAxNPuKzjnAioC0Q1x1MDAxOH1cdTAwMDLaTEKooJFcdTAwMTIjkGGgXHUwMDEyttRbKMo91WimJcIhXHUwMDAwSlxisoF/XHImQDRXPriPTlRQa9lcdTAwMGVfNF7zopNcdTAwMTRghcA/XHUwMDA1hSWiXGZcbvjs3U9ahKMnlpxZ/VpRY1x1MDAwMlxu0WDvcXmM3Vx1MDAwZbxcdTAwMTS35/2DyHREU0VYzr3XkzPFllNynlx1MDAxN1P8795McdPVXkxcdTAwMTF8XYMpbm+cOjLF/SEop1FM0VaQaW1cdTAwMDZUk1IxxVx1MDAxZufPkyi67d6PJ75ccvPE1iOGOnli42xKTnXbXHUwMDAxXHUwMDAxuMVcdTAwMTKJdo9lXHUwMDFmgjFcdTAwMGWeXHUwMDBm8rhjm1x1MDAwMVx1MDAwMdlMlnzQXuLh88FcdTAwMTGRcZ+nXHUwMDAyKSpcYqaA9KVlSn51XHUwMDE4eHuP1Vx1MDAwNNHhiFx0XHUwMDA0XHUwMDBinmGcXGLJlFx1MDAxNtpcdTAwMDPXXHUwMDEykXXkn1xupTVcdTAwMGanwzhHyn1cdTAwMTEvXHUwMDFmRphHlLhcdCcoXHUwMDA0t1x1MDAxOVRDlDTAJIBcbnssk6IqdWK5K6NheYB4132VXHUwMDE4a+BMPpPjXGLUI4Z7jVx1MDAxNDBDWr/8XHUwMDBlc4mUiUugXHUwMDAyN1RVZ+1M+3hcdTAwMWRcdTAwMDBdXHUwMDFjmVx1MDAxYlx1MDAxOYy0Uc5cdTAwMWN7mFigTerOUuuwwuJG9Vx1MDAwZuox5sBcYlCts0xSL1RAsLA57VxyrVx0J9VcYrFZcFx1MDAwNnSLSsWhd57S2pSnyzDD4qhcdTAwMDK1rF+6obNcZrnkvk/KVKJVP9ea61x1MDAxYinoXHUwMDA0qNeGsfao4ORcdTAwMDKttHXdZU+cULAkrLLpJW1cZotcdTAwMTN2vJ2X3zypgHU5OttDoORI1pPrnFx1MDAxNVdcblRcdTAwMWNV9Vxiilx1MDAwM7vtkSOGW2g5sWu19XtsXHS8cTl1WKC/rJV+O7zW+qreuOm7xs1Pxlx1MDAwMFx1MDAxZp9PXHUwMDFkgvW1XHUwMDFjXHUwMDE02t1KUDRcdTAwMDbaXHUwMDBia5CA9dc0eapb5+aVtWy1/pHZ4I9hXGLaerRWXHUwMDE3XHUwMDA0XHUwMDA1y0BaOFx1MDAwMTc/hSj59oE3ROpdt1x1MDAxY2vdXHUwMDFlXG5OjXPQcq/DUm2kXHUwMDBiazVcdTAwMWOq+I23L1xivCr6KEOX2vhcdTAwMTlcdTAwMDG/1q2HX1x1MDAwMaxrcFx1MDAxNSYn2MfKzVI33Vx1MDAwM4ZQaGBcdTAwMWTDlz60atS68Vx1MDAxZbUpXHUwMDA0wZK1XHUwMDBlXVx1MDAxMkr90rn4SjdcdTAwMDarQJn70FxusJKg3HN7jVK3XHUwMDFlXo8zr7RPY6+/jVK3cHdcdTAwMDVg2XXNXHUwMDE2XHUwMDA2lET90p5GqVx1MDAxYlx1MDAwZkNJhVF5uDnAJWpcdTAwMWZw58fN/Uo30lx1MDAwMzdzq1x1MDAxMDtitz0qyYxGVc1cdTAwMWRWTPpJXHUwMDE0v86N4nAsXHUwMDE5QCq1I1x1MDAwMopcdTAwMDT6XHUwMDA2ffFj2/GFbqDwrvJcbk/b/EI3hnuASqZcdTAwMTDGZUmlhDVHe1x1MDAxMCG+zo1whaBtXHUwMDA2vpxTXGYro9+86Do3oCponZ9ZJ2pcXHnNOrewOJvokGXJLFx1MDAwNUROPTjYqHIzPfAkgGSwRFx1MDAwNYjc1uhcdTAwMTPhrXTxVW67vXkpr1x1MDAwZlx1MDAwNO9cdTAwMTIwjCq3aEjYqHLzuvQkILblRMXnlbr4S8/URY1Y+z2fkjrHgZdcYlVvXHUwMDFm/3BMXTz5wyk1N1xmgJBzXua3xqPH1EVlij/14Y0t51B28UaOXHUwMDAxYnBcdTAwMDfz9OGN4IpcdTAwMDO88VjjXHUwMDE2SVx1MDAxYnnUw7WIXHUwMDAx4Fx1MDAwN+yDXGbHTL8lbVx1MDAwNNZI7GllhHPDXHUwMDE10/5cdTAwMGVcdTAwMGW/zI2FXHUwMDEzXHUwMDA2gKuBndjoIWBvXHRcdTAwMDDMI43xVW7AQziXQPCAiFx1MDAwMiPzQIhf5MZwePuRpYyAPsutWVx1MDAxY4C/XHUwMDBmRJtVbsHWXHUwMDAxYzScXG5cZlx1MDAwMI9cdTAwMTGi/cBrfJFcdTAwMWJQQoMlXHUwMDA3XHUwMDA2JIDBO8tHKc4vcuNBXHUwMDA2XHUwMDA0XGLeXHUwMDEwXHUwMDAxXHUwMDA0XHUwMDBlXHUwMDA22m5ta/Bjv8rNXHUwMDA0QTJQXHUwMDFjsFx1MDAxOSMlYHlpeGOjVXSRXHUwMDFi0EWpdtHFcI1cdTAwMWKwRcWAudp6Vcm0v1xyxy9xkya8LcqSRdBcbmBiwC9B0bXPXqNr3Gx0pNZaabpq3ES4dcBcdTAwMTU5wZrB+Fx1MDAwM7fjXHJx0SVulixcdTAwMWGNNXw75tpatifPL3HTPdpcdTAwMDdN0FZhK83tqnFcdTAwMGKTT0tcdTAwMTZcdTAwMDUspVx1MDAxOJBcdTAwMTSFpvh7oqKL3CxZ1GCDXHUwMDE09Fx1MDAxY9RC+LHtRpGbXHUwMDBl2sFuXHUwMDBmXopcdTAwMGJXd3beP4hcIrdopihsjJBcdTAwMDLpXHUwMDE2XHUwMDE0LEk2NspcdTAwMWK7LVArsvrZlTs4XHUwMDA0aWw59vd5kca/9iaNVVevW05cdTAwMGVs2Vx1MDAxOYWbpPG4M2p99bCkkUY9hoNiXHUwMDAx6yxzXCKA31x1MDAxY45cdTAwMWW3RtXW+HOYN7ZcdTAwMWWA3MVcdTAwMWKFXCKNQ9I0bzmU26m6OnLDXHUwMDA3P/E17lx1MDAxMENcdTAwMGL+7elcdTAwMGXDOcTwm6ZcdTAwMTRcdTAwMTmQhHqnRrOMw+eGus/xXG5cdTAwMTQ5KVx1MDAxNM60hzxcdTAwMWJcdTAwMDeh9dhlNLKlQ87LeY5UKTCaII64RG7Ww6Ov0fxwZPdAXHUwMDFh97SLXHUwMDBlgijCaVx1MDAwNiOQu5fAr8tpXHUwMDEwRNFnNjhyZpc2j/aII4gjXHUwMDAyxEa7KbLdXGaR6lx1MDAxZSktoIi+iFx1MDAxZTVDRCC3Q9zfOuVvfVwi4Vx1MDAxYynlXHUwMDFjufPnXHUwMDEzpVhaXGLayjx13XPr04hcdTAwMWGDuDuD+/HCXHUwMDExUCDkWCf1XHUwMDBmP4nmhSPGiaewsuuEtlx1MDAxZVlJ1pmVjGaGIyZcdTAwMDVMYT3BnrX7zFD2OXtH+lx1MDAwMnqUXHUwMDFj+HdcZoL9PT6BOlx1MDAwNM1rOVx1MDAxNf550bx3YWDZeqx3XHUwMDE3sKSYNk/fxWw7NejumjhcIsuH7qyPO5jNnrVLbDnNXHUwMDExWCbl6YmY1+U3XHUwMDAy1n/POFx1MDAxYrvrSdhcdTAwMTeCROdYXsxcdTAwMWFcdTAwMTHl+MxcdTAwMDP2d+aCXHUwMDBm9VpcdTAwMThcdTAwMGYtQaB0XHUwMDBisVUjIO+DS1x1MDAxMlx1MDAwZfCDQONcdTAwMTZFkU542SP/gP3Kc678uproXGZcdTAwMDTIc7dKXHUwMDBipppcdTAwMTV1XHUwMDBlwrRnX4VcdTAwMDU6lfaKwy9+2iD+XHUwMDAwX0QjISbcUW94oZIy0Vx1MDAwMTH7pFx1MDAxZTDyXHUwMDBlViBqv9RcdTAwMDNuXHUwMDFjhYA9gFx1MDAxMZ16wIAvnTrAxuaHeIhcdPI2p5nZPU3Uz+jFY0xcdTAwMTDonXOBWVx1MDAwN8aU4fwlyKt3vIPxsP122IM4I+qyTMK36lx1MDAwNuOyXHUwMDBmXHUwMDE4RaZcdTAwMWJcdTAwMWE3XGZcdTAwMDJhPj52O1x1MDAwNMJsfaTKc0KYv4SfvnK6KTv7Z5FcdTAwMTduXGZ2d1x1MDAxZUFcYv9cdTAwMTkslLY+gsU5Q+j4RO+HRi95VPTSMnbAXHUwMDE1XHUwMDAz3Dr/5v3FWWsq4dDPXHUwMDE5O+xzV/xm75dIeFx1MDAxZrbGKu+a6/7WyFx1MDAxYY/3XHUwMDE0WrZZo1MwerTGh+6dj3sgXHUwMDEyt4hcdTAwMTbw7XDOUqus8WK2XHUwMDA0u3mG9ths+H5cdTAwMTb5t5ink/W3yO1nlHHc+1x1MDAxOWVHk4zLtZOoXHUwMDAybbt/VXOwo+Gk9yqbfJVOp3ZcdTAwMDKT+1x1MDAxY4b++ZnmjvbvZ6F/X1vod2uWcpLe3r4rYOg3qFx1MDAxZdQpnzRcdTAwMDZoda3IbuvBKS+9XHUwMDA18H8+Sy+nzWk4+TXP7k+3red3r09fq/PzdW/WM/j2blrk70Bnxlx1MDAwNWhW+dxI275yXHUwMDE1saaVrS/99v/mwJJpIn0=<!-- payload-end --><pict-renderer-graph:source xmlns:pict-renderer-graph="https://fable-retold.github.io/pict-renderer-graph/ns/v1"><![CDATA[{"type":"flowgraph","mermaid":"flowchart TD\n\tA[\"Step 0: GUID Uniqueness Check<br/>If GUID is provided and >= 5 chars,<br/>query for existing record with same GUID\"]\n\tB{\"GUID<br/>already exists?\"}\n\tC[\"Error: Record with GUID already exists\"]\n\tD[\"Step 1: Insert Record<br/>Merge default object with submitted record,<br/>set IDUser, call Provider.Create\"]\n\tE{\"Insert<br/>succeeded?\"}\n\tF[\"Error: Creation failed\"]\n\tG[\"Step 2: Read Back<br/>Query by new auto-increment ID,<br/>call Provider.Read\"]\n\tH[\"Step 3: Marshal<br/>marshalRecordFromSourceToObject<br/>returns plain JavaScript object\"]\n\tI[\"Callback with<br/>created record\"]\n\n\tA --> B\n\tB -->|Yes| C\n\tB -->|No| D\n\tD --> E\n\tE -->|No| F\n\tE -->|Yes| G\n\tG --> H\n\tH --> I\n","style":"notebook"}]]></pict-renderer-graph:source></metadata><defs><style class="style-fonts">
2
+ @font-face { font-family: Excalifont; src: url(data:font/woff2;base64,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); }</style></defs><g stroke-linecap="round" transform="translate(406 10) rotate(0 236.5 51.5)"><path d="M25.75 0 C110.64 0.13, 196.05 -0.02, 447.25 0 M25.75 0 C176.26 -0.41, 327.38 -0.99, 447.25 0 M447.25 0 C465.43 -0.91, 472.98 8.99, 473 25.75 M447.25 0 C464.02 -0.62, 474.05 6.44, 473 25.75 M473 25.75 C474.71 39.89, 472.35 53.09, 473 77.25 M473 25.75 C472.44 37.9, 473.24 48.7, 473 77.25 M473 77.25 C473.24 92.97, 466.36 103.31, 447.25 103 M473 77.25 C472.8 92.99, 463.53 104.96, 447.25 103 M447.25 103 C296.36 105.53, 148.36 105.4, 25.75 103 M447.25 103 C358.18 102.55, 269.25 103.1, 25.75 103 M25.75 103 C9.58 103.76, -0.78 92.92, 0 77.25 M25.75 103 C7.32 103.22, -0.46 96.49, 0 77.25 M0 77.25 C-0.23 56.33, 0.69 38.55, 0 25.75 M0 77.25 C0.26 64.29, 1.2 52.16, 0 25.75 M0 25.75 C-0.35 9.23, 9.01 1.01, 25.75 0 M0 25.75 C1.18 10.45, 9.69 1.04, 25.75 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(414 24) rotate(0 228.5 37.5)"><text x="228.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Step 0: GUID Uniqueness Check</text><text x="228.5" y="42.62" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">If GUID is provided and &gt;= 5 chars,</text><text x="228.5" y="67.62" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">query for existing record with same GUID</text></g><g stroke-linecap="round" transform="translate(544 203) rotate(0 98.5 39)"><path d="M123.75 10 C132.14 13.98, 143.22 17.69, 172.25 30 M123.75 10 C135.65 15.29, 148.61 20.41, 172.25 30 M172.25 30 C197.84 39.89, 197 39.55, 172.25 50 M172.25 30 C195.16 38.77, 194.98 37.71, 172.25 50 M172.25 50 C160.54 53, 151.22 59.68, 123.75 68 M172.25 50 C162.18 55.02, 152.46 58.58, 123.75 68 M123.75 68 C99.88 77.56, 98.74 76.09, 74.25 68 M123.75 68 C98.35 77.72, 98.79 78.34, 74.25 68 M74.25 68 C56.19 62.86, 40.76 56.85, 24.75 50 M74.25 68 C61.35 62.92, 47.59 57.64, 24.75 50 M24.75 50 C0.63 41.74, -0.77 38.64, 24.75 30 M24.75 50 C-1.07 39.71, 0.23 38.89, 24.75 30 M24.75 30 C40.23 21.93, 59.85 16.47, 74.25 10 M24.75 30 C36.08 27.06, 46.29 21.43, 74.25 10 M74.25 10 C100.17 -0.85, 100.23 0.39, 123.75 10 M74.25 10 C98.92 1.63, 96.78 -1.35, 123.75 10" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(544 244.5) rotate(0 98.5 10)"><text x="98.5" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">already exists?</text></g><g stroke-linecap="round" transform="translate(156 395) rotate(0 225.5 28)"><path d="M14 0 C97.93 -2.18, 183.59 -0.56, 437 0 M14 0 C145.17 2.17, 277.06 1.52, 437 0 M437 0 C446.06 1.72, 449.27 5.64, 451 14 M437 0 C446.18 1.91, 449.27 5.94, 451 14 M451 14 C450.33 19.56, 452.53 26.04, 451 42 M451 14 C450.86 22.75, 451.76 32.58, 451 42 M451 42 C449.69 52.02, 447.21 56.83, 437 56 M451 42 C448.82 52.15, 448.05 56.09, 437 56 M437 56 C322.21 58.09, 207.03 58.09, 14 56 M437 56 C309.48 58.06, 182.82 57.87, 14 56 M14 56 C4.84 57.66, -0.45 52.75, 0 42 M14 56 C2.37 54.85, -2.22 49.5, 0 42 M0 42 C0.97 34.82, 1.32 28.42, 0 14 M0 42 C0.62 31.41, -0.6 20.04, 0 14 M0 14 C-0.56 5.97, 6.57 1.66, 14 0 M0 14 C0.32 5.83, 3.25 1.5, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(164 410.5) rotate(0 217.5 12.5)"><text x="217.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Error: Record with GUID already exists</text></g><g stroke-linecap="round" transform="translate(652 371) rotate(0 253 51.5)"><path d="M25.75 0 C116.83 -2.76, 209.8 -2.04, 480.25 0 M25.75 0 C137.43 0.78, 249.18 0.9, 480.25 0 M480.25 0 C498.81 0.44, 505.47 10.19, 506 25.75 M480.25 0 C495.89 -0.44, 507.44 8.36, 506 25.75 M506 25.75 C506.08 44.69, 507.02 61.85, 506 77.25 M506 25.75 C506.45 42.69, 506.99 58.46, 506 77.25 M506 77.25 C505.5 92.61, 499.4 103.42, 480.25 103 M506 77.25 C505.12 92.51, 498.37 103.16, 480.25 103 M480.25 103 C384.12 104.65, 290.01 104.81, 25.75 103 M480.25 103 C357.05 102.27, 233.89 102.43, 25.75 103 M25.75 103 C8.86 101.43, 0.12 94.22, 0 77.25 M25.75 103 C7.51 105.01, 0.07 92.38, 0 77.25 M0 77.25 C0.85 62.42, -0.77 44.73, 0 25.75 M0 77.25 C-1.06 64.95, -0.79 52, 0 25.75 M0 25.75 C-1.71 9.13, 10.01 1.08, 25.75 0 M0 25.75 C-0.71 7.89, 9.19 0.24, 25.75 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(660 385) rotate(0 245 37.5)"><text x="245" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Step 1: Insert Record</text><text x="245" y="42.62" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Merge default object with submitted record,</text><text x="245" y="67.62" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">set IDUser, call Provider.Create</text></g><g stroke-linecap="round" transform="translate(310 564) rotate(0 71 39)"><path d="M90 10 C94.92 13.28, 102.39 18.05, 124 30 M90 10 C102.67 16.96, 116.67 24.4, 124 30 M124 30 C142.03 41.03, 142.93 38.4, 124 50 M124 30 C142.61 40.93, 143.99 38.69, 124 50 M124 50 C117.2 55.43, 109.85 59.22, 90 68 M124 50 C117.64 54, 110.56 57.26, 90 68 M90 68 C70.41 79.4, 70.07 79.92, 54 68 M90 68 C70.11 77.39, 72.27 79.47, 54 68 M54 68 C41.55 61.12, 29.55 56.8, 18 50 M54 68 C45.43 63.54, 36.1 58.75, 18 50 M18 50 C-0.38 40.8, 1.44 39.96, 18 30 M18 50 C-2.29 39.44, -2.03 39.32, 18 30 M18 30 C30.14 23.87, 42 17.47, 54 10 M18 30 C25.15 26, 32.87 20.8, 54 10 M54 10 C73.04 -0.44, 73.66 0.8, 90 10 M54 10 C71.96 -1.69, 70.5 1.81, 90 10" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(310 605.5) rotate(0 71 10)"><text x="71" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">succeeded?</text></g><g stroke-linecap="round" transform="translate(60 756) rotate(0 137 28)"><path d="M14 0 C65.14 1.95, 113.21 0.59, 260 0 M14 0 C73.53 1.46, 134.31 1.74, 260 0 M260 0 C268.83 1.51, 273.23 6.44, 274 14 M260 0 C268.81 -0.66, 271.8 5.32, 274 14 M274 14 C274.35 23.16, 272.78 32.59, 274 42 M274 14 C273.66 24.62, 274.82 34.35, 274 42 M274 42 C273.46 51.85, 270.23 55.37, 260 56 M274 42 C272.55 52.06, 271.54 56.74, 260 56 M260 56 C178.47 55.3, 93.93 56.07, 14 56 M260 56 C202.64 54.53, 147.37 53.94, 14 56 M14 56 C6.4 55.75, -1.42 51.86, 0 42 M14 56 C3.78 56.35, 0.68 50.25, 0 42 M0 42 C1.38 34.91, 1.57 29.73, 0 14 M0 42 C0.66 34.33, -0.97 28.74, 0 14 M0 14 C-1.63 4.41, 3 0.81, 14 0 M0 14 C0.02 4.87, 5.65 -1.35, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(68 771.5) rotate(0 129 12.5)"><text x="129" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Error: Creation failed</text></g><g stroke-linecap="round" transform="translate(379 732) rotate(0 186.5 51.5)"><path d="M25.75 0 C88.89 -1.56, 155.32 0.32, 347.25 0 M25.75 0 C117.48 0.16, 210.21 -0.12, 347.25 0 M347.25 0 C362.63 -0.5, 374.35 9.2, 373 25.75 M347.25 0 C365.12 1.33, 372.13 10.73, 373 25.75 M373 25.75 C371.6 41.55, 372.18 55.63, 373 77.25 M373 25.75 C373.4 45.98, 372.82 65.55, 373 77.25 M373 77.25 C374.68 94.24, 364.96 104.08, 347.25 103 M373 77.25 C372.76 92.59, 363.63 101.26, 347.25 103 M347.25 103 C278.68 102.32, 210.41 101.72, 25.75 103 M347.25 103 C271.22 103.85, 195.63 104.35, 25.75 103 M25.75 103 C8.01 104.73, -1.07 93.67, 0 77.25 M25.75 103 C7.6 102.59, -0.92 93.14, 0 77.25 M0 77.25 C-1.37 56.92, -0.23 37.91, 0 25.75 M0 77.25 C-0.31 57.49, -0.7 38.77, 0 25.75 M0 25.75 C1.13 10.04, 7.65 0.59, 25.75 0 M0 25.75 C-1.23 9.33, 10.59 -1.94, 25.75 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(387 746) rotate(0 178.5 37.5)"><text x="178.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Step 2: Read Back</text><text x="178.5" y="42.62" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Query by new auto-increment ID,</text><text x="178.5" y="67.62" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">call Provider.Read</text></g><g stroke-linecap="round" transform="translate(10 925) rotate(0 186.5 51.5)"><path d="M25.75 0 C89.75 -0.57, 157.6 1.03, 347.25 0 M25.75 0 C90.55 0.32, 156.66 0.18, 347.25 0 M347.25 0 C364.12 -0.15, 374.54 8.55, 373 25.75 M347.25 0 C365.99 -1.76, 374.41 9.76, 373 25.75 M373 25.75 C371.86 41.93, 371.27 56.71, 373 77.25 M373 25.75 C373.25 41.51, 372.37 57.67, 373 77.25 M373 77.25 C372.08 95.05, 364.04 104.75, 347.25 103 M373 77.25 C374.41 95.57, 363.29 104.15, 347.25 103 M347.25 103 C223 102.62, 97.59 101.62, 25.75 103 M347.25 103 C252.83 103.69, 156.91 104.88, 25.75 103 M25.75 103 C7.37 103.75, 0.52 93.15, 0 77.25 M25.75 103 C6.95 101.94, -1.36 96.43, 0 77.25 M0 77.25 C-0.09 58.62, -1.39 36.66, 0 25.75 M0 77.25 C0.81 58.92, 0.65 40.86, 0 25.75 M0 25.75 C1.24 8.05, 6.8 0.18, 25.75 0 M0 25.75 C0.99 8.7, 7.87 1.04, 25.75 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(18 939) rotate(0 178.5 37.5)"><text x="178.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Step 3: Marshal</text><text x="178.5" y="42.62" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">marshalRecordFromSourceToObject</text><text x="178.5" y="67.62" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">returns plain JavaScript object</text></g><g stroke-linecap="round" transform="translate(104 1118) rotate(0 93 39)"><path d="M19.5 0 C50.99 -0.54, 79.54 -0.35, 166.5 0 M19.5 0 C73.39 -0.94, 126.48 -0.78, 166.5 0 M166.5 0 C178.55 0.64, 185.8 6.02, 186 19.5 M166.5 0 C179.3 2.2, 184.08 7.37, 186 19.5 M186 19.5 C184.71 35.48, 187.21 48.85, 186 58.5 M186 19.5 C186.36 33.67, 186.91 47.59, 186 58.5 M186 58.5 C186.48 72.33, 178.05 76.12, 166.5 78 M186 58.5 C184.01 71.62, 180.43 78.68, 166.5 78 M166.5 78 C131.61 79.76, 99.28 76.99, 19.5 78 M166.5 78 C115.42 77.68, 63.81 77.58, 19.5 78 M19.5 78 C8 77.38, 1.67 70.83, 0 58.5 M19.5 78 C8.25 79.26, -1.21 72.23, 0 58.5 M0 58.5 C2 48.53, -1.73 37.72, 0 19.5 M0 58.5 C-0.34 46.16, -0.13 34.86, 0 19.5 M0 19.5 C1.91 5.5, 7.02 -1.85, 19.5 0 M0 19.5 C-1.45 8.77, 8.77 2.06, 19.5 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(104 1159.5) rotate(0 93 10)"><text x="93" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">created record</text></g><g stroke-linecap="round"><g transform="translate(642.5 113) rotate(0 -0.054536325628077975 45)"><path d="M0 0 C1.18 2.21, -1.4 7.17, 0 16 M0 0 C0.02 3.89, -0.32 8.14, 0 16 M0 16 C0.32 17.38, -0.35 18.77, 0 19.88 M0 16 C0.02 17.26, 0 18.31, 0 19.88 M0 19.88 C-0.02 21.08, 0.16 22.45, 0 23.52 M0 19.88 C0.09 21.32, -0.03 22.44, 0 23.52 M0 23.52 C0.19 24.41, -0.23 25.45, 0 26.96 M0 23.52 C0.05 24.38, 0.04 25.39, 0 26.96 M0 26.96 C0.07 27.49, -0.2 28.07, 0 30.23 M0 26.96 C-0.03 28.05, -0.09 29.42, 0 30.23 M0 30.23 C-0.19 30.6, -0.22 31.81, 0 33.36 M0 30.23 C-0.13 31.23, 0.18 32.23, 0 33.36 M0 33.36 C-0.22 34.32, 0.23 35.71, 0 36.37 M0 33.36 C-0.07 34.13, -0.02 34.88, 0 36.37 M0 36.37 C0.29 36.75, -0.08 37.68, 0 39.29 M0 36.37 C-0.04 37.09, -0.05 38.12, 0 39.29 M0 39.29 C-0.01 39.64, 0.16 40.44, 0 42.16 M0 39.29 C-0.07 40.14, 0.13 41.12, 0 42.16 M0 42.16 C-0.2 43.08, -0.11 43.95, 0 45 M0 42.16 C-0.02 42.97, -0.07 43.72, 0 45 M0 45 C-0.07 45.84, -0.22 46.43, 0 47.84 M0 45 C-0.07 45.9, 0.05 46.78, 0 47.84 M0 47.84 C-0.16 48.84, -0.23 49.64, 0 50.71 M0 47.84 C0.09 49.01, -0.02 50.25, 0 50.71 M0 50.71 C-0.15 51.92, 0.19 52.86, 0 53.63 M0 50.71 C-0.02 51.63, 0.06 52.73, 0 53.63 M0 53.63 C-0.16 54.48, -0.15 55.3, 0 56.64 M0 53.63 C0.05 54.33, 0.12 54.96, 0 56.64 M0 56.64 C0.02 58.08, 0.27 58.76, 0 59.77 M0 56.64 C0.16 57.64, -0.09 58.68, 0 59.77 M0 59.77 C-0.09 61.15, 0 61.91, 0 63.04 M0 59.77 C0 60.73, -0.09 61.51, 0 63.04 M0 63.04 C-0.12 64.59, -0.32 65.97, 0 66.48 M0 63.04 C0.13 64.01, -0.14 65.3, 0 66.48 M0 66.48 C0.12 67.55, -0.06 69.12, 0 70.12 M0 66.48 C-0.04 67.47, -0.04 68.74, 0 70.12 M0 70.12 C-0.1 70.97, -0.07 72.1, 0 74 M0 70.12 C-0.12 71.65, -0.03 73.09, 0 74 M0 74 C-0.77 77.99, 0.59 81.77, 0 90 M0 74 C-0.45 79.89, -0.38 87.21, 0 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(642.5 113) rotate(0 -0.054536325628077975 45)"><path d="M-3.26 82.69 C-2.01 83.65, -2.65 85.99, 0 90 M-3.26 82.69 C-2.39 84.48, -1.71 86.43, 0 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(642.5 113) rotate(0 -0.054536325628077975 45)"><path d="M2.2 82.31 C2.35 83.36, 0.61 85.78, 0 90 M2.2 82.31 C1.64 84.15, 0.89 86.2, 0 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(621.4866666666667 281) rotate(0 -119.90387147153496 57)"><path d="M0 0 C-0.23 2.56, 0.01 6.03, 0 16 M0 0 C0.66 5.7, -0.77 11.79, 0 16 M0 16 C-0.53 17.23, -1.17 18.8, -2.14 20.75 M0 16 C-0.3 17.15, -0.88 17.92, -2.14 20.75 M-2.14 20.75 C-4.19 22.19, -6.74 23.6, -8.23 25.43 M-2.14 20.75 C-3.91 21.52, -4.78 22.72, -8.23 25.43 M-8.23 25.43 C-11.63 25.59, -12.78 27.47, -17.78 30.05 M-8.23 25.43 C-11.97 27.11, -14.13 28.45, -17.78 30.05 M-17.78 30.05 C-22.21 31.08, -27.77 32.13, -30.29 34.62 M-17.78 30.05 C-20.11 31.75, -23.3 32.8, -30.29 34.62 M-30.29 34.62 C-35.94 36.11, -41.48 38.19, -45.26 39.14 M-30.29 34.62 C-34.54 35.56, -37.64 37.28, -45.26 39.14 M-45.26 39.14 C-50.81 40.25, -56.91 42.2, -62.22 43.64 M-45.26 39.14 C-52.18 40.02, -57.88 41.9, -62.22 43.64 M-62.22 43.64 C-65.7 45.63, -71.52 46.1, -80.65 48.11 M-62.22 43.64 C-66.35 44.2, -70.68 46.54, -80.65 48.11 M-80.65 48.11 C-84.08 49.74, -89.48 51.05, -100.08 52.56 M-80.65 48.11 C-85.49 50.02, -89 50.8, -100.08 52.56 M-100.08 52.56 C-105.19 55.55, -111.25 54.05, -119.99 57 M-100.08 52.56 C-103.98 53.36, -107.35 54.16, -119.99 57 M-119.99 57 C-126.36 58.55, -133.19 58.74, -139.91 61.44 M-119.99 57 C-127.69 59.44, -136.08 60.23, -139.91 61.44 M-139.91 61.44 C-146.29 63.21, -148.25 63.57, -159.33 65.89 M-139.91 61.44 C-146.32 63.65, -154.58 64.43, -159.33 65.89 M-159.33 65.89 C-163.71 67.65, -170.05 69.38, -177.77 70.36 M-159.33 65.89 C-165.17 66.9, -171.59 69.29, -177.77 70.36 M-177.77 70.36 C-181.26 71.9, -183.29 71.08, -194.72 74.86 M-177.77 70.36 C-182.88 72.22, -187.52 73.43, -194.72 74.86 M-194.72 74.86 C-198.98 77.23, -206.58 77.52, -209.7 79.38 M-194.72 74.86 C-199 75.75, -203.78 77.36, -209.7 79.38 M-209.7 79.38 C-212.23 81.14, -217.33 81.13, -222.21 83.95 M-209.7 79.38 C-213.82 81.6, -218.34 82.35, -222.21 83.95 M-222.21 83.95 C-225.15 85.87, -227.82 85.45, -231.76 88.57 M-222.21 83.95 C-224.01 84.68, -226.51 86.38, -231.76 88.57 M-231.76 88.57 C-233.32 91.09, -235.91 91.46, -237.85 93.25 M-231.76 88.57 C-233.52 89.77, -234.52 91.12, -237.85 93.25 M-237.85 93.25 C-238.67 94.64, -239.41 96.72, -239.99 98 M-237.85 93.25 C-238.57 95.14, -239.66 96.8, -239.99 98 M-239.99 98 C-239.28 103.58, -238.49 109.89, -239.99 114 M-239.99 98 C-239.33 102.8, -239.54 107.1, -239.99 114" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(621.4866666666667 281) rotate(0 -119.90387147153496 57)"><path d="M-242.28 106.34 C-241.93 107.55, -241.34 109.22, -239.99 114 M-242.28 106.34 C-241.12 109.07, -241 111.99, -239.99 114" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(621.4866666666667 281) rotate(0 -119.90387147153496 57)"><path d="M-236.82 106.65 C-237.58 107.79, -238.1 109.39, -239.99 114 M-236.82 106.65 C-237.64 109.26, -239.5 112.06, -239.99 114" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(429 317) rotate(0 20 10)"><text x="20" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-link, #2E7D74)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Yes</text></g><g stroke-linecap="round"><g transform="translate(663.5133333333333 281) rotate(0 120.86154106321163 45)"><path d="M0 0 C-0.05 2.53, 0.32 7.86, 0 16 M0 0 C0.81 3.45, -0.25 7.69, 0 16 M0 16 C0.36 17.5, 1.11 18.23, 2.15 19.88 M0 16 C0.61 17.1, 1.12 17.72, 2.15 19.88 M2.15 19.88 C3.8 21.41, 5.59 22.02, 8.28 23.52 M2.15 19.88 C3.55 20.88, 4.94 21.55, 8.28 23.52 M8.28 23.52 C11.03 24.19, 12.28 24.82, 17.89 26.96 M8.28 23.52 C11.07 24.01, 14.25 25.98, 17.89 26.96 M17.89 26.96 C21.73 27.75, 26.71 29.44, 30.48 30.23 M17.89 26.96 C22.32 28.14, 26.22 29.5, 30.48 30.23 M30.48 30.23 C34.47 31.27, 41.59 33.54, 45.55 33.36 M30.48 30.23 C35.92 31.13, 42.77 32.14, 45.55 33.36 M45.55 33.36 C52.2 34.37, 55.3 36.06, 62.61 36.37 M45.55 33.36 C50.11 35.22, 55.76 35.92, 62.61 36.37 M62.61 36.37 C69.62 39.15, 74.79 36.73, 81.16 39.29 M62.61 36.37 C68.8 37.86, 76.1 38.21, 81.16 39.29 M81.16 39.29 C85.56 40.86, 92.57 40.59, 100.7 42.16 M81.16 39.29 C88.6 41.28, 95.14 40.9, 100.7 42.16 M100.7 42.16 C108.98 43.51, 112.92 45.05, 120.74 45 M100.7 42.16 C105.43 42.67, 110.84 44.49, 120.74 45 M120.74 45 C126.93 45.34, 132.5 45.74, 140.78 47.84 M120.74 45 C125.82 45.22, 132.04 45.68, 140.78 47.84 M140.78 47.84 C148.02 49.93, 154.14 49.54, 160.33 50.71 M140.78 47.84 C148 49.24, 154.63 50.5, 160.33 50.71 M160.33 50.71 C166.54 51.94, 173.36 52.07, 178.88 53.63 M160.33 50.71 C166.27 51.12, 173.41 52.08, 178.88 53.63 M178.88 53.63 C183 52.73, 186.16 55.86, 195.94 56.64 M178.88 53.63 C182.27 55.16, 187.34 55.24, 195.94 56.64 M195.94 56.64 C202.05 57.8, 206.77 60.51, 211.01 59.77 M195.94 56.64 C200.24 58.16, 203.53 59.03, 211.01 59.77 M211.01 59.77 C216.42 60.04, 219.29 62.19, 223.6 63.04 M211.01 59.77 C214.42 61.18, 216.55 61.48, 223.6 63.04 M223.6 63.04 C225.58 64.32, 230.18 65.63, 233.21 66.48 M223.6 63.04 C227.67 64.15, 230.66 65.98, 233.21 66.48 M233.21 66.48 C235.22 67.49, 237.29 68.32, 239.33 70.12 M233.21 66.48 C235.6 67.81, 237.61 69.47, 239.33 70.12 M239.33 70.12 C239.97 71.24, 240.54 71.9, 241.49 74 M239.33 70.12 C239.91 71.21, 240.68 72.11, 241.49 74 M241.49 74 C241.11 79.04, 242.22 84.82, 241.49 90 M241.49 74 C241.25 79.77, 242.21 84.11, 241.49 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(663.5133333333333 281) rotate(0 120.86154106321163 45)"><path d="M239.17 82.34 C239.61 83.53, 240.28 86.12, 241.49 90 M239.17 82.34 C240.1 84, 240.09 86.05, 241.49 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(663.5133333333333 281) rotate(0 120.86154106321163 45)"><path d="M244.63 82.65 C243.96 83.79, 243.51 86.33, 241.49 90 M244.63 82.65 C244.32 84.2, 243.08 86.18, 241.49 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(677 316) rotate(0 20 10)"><text x="20" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-link, #2E7D74)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">No</text></g><g stroke-linecap="round"><g transform="translate(652 422.5) rotate(0 -100 90.25821177377907)"><path d="M0 0 C-3.87 -0.01, -6.95 -0.93, -16 0 M0 0 C-4.7 0.75, -10.07 -0.67, -16 0 M-16 0 C-17.61 0.31, -20.36 -0.03, -25.73 1.61 M-16 0 C-19.24 0.6, -23.03 0.86, -25.73 1.61 M-25.73 1.61 C-28.9 2.4, -31.46 3.54, -35.31 6.19 M-25.73 1.61 C-28.99 3.2, -30.89 4.62, -35.31 6.19 M-35.31 6.19 C-38.32 8.61, -42.43 11.81, -44.78 13.37 M-35.31 6.19 C-38.53 8.95, -41.54 10.95, -44.78 13.37 M-44.78 13.37 C-47.44 14.77, -49.51 17.52, -54.14 22.78 M-44.78 13.37 C-47.06 16.06, -48.88 17.69, -54.14 22.78 M-54.14 22.78 C-56.18 24.72, -58.59 27.57, -63.42 34.04 M-54.14 22.78 C-56.89 25.38, -58.19 28.34, -63.42 34.04 M-63.42 34.04 C-66.89 37.04, -68.16 40.15, -72.62 46.8 M-63.42 34.04 C-65.89 37.21, -68.43 41.87, -72.62 46.8 M-72.62 46.8 C-74.54 51.95, -79.6 56.81, -81.78 60.66 M-72.62 46.8 C-76.47 51.25, -78.58 57.01, -81.78 60.66 M-81.78 60.66 C-85.43 64.77, -87.26 69.35, -90.9 75.27 M-81.78 60.66 C-84.28 66.56, -88.63 71.65, -90.9 75.27 M-90.9 75.27 C-92.92 81.9, -98.32 86.44, -100 90.25 M-90.9 75.27 C-94.28 80.55, -96.93 84.94, -100 90.25 M-100 90.25 C-102.19 94.11, -106.52 101.27, -109.1 105.23 M-100 90.25 C-103.23 95.19, -106 99.51, -109.1 105.23 M-109.1 105.23 C-111.58 109.43, -115.51 116.7, -118.22 119.84 M-109.1 105.23 C-111.9 110.3, -115.47 113.68, -118.22 119.84 M-118.22 119.84 C-122.38 125.31, -124.79 129.06, -127.38 133.7 M-118.22 119.84 C-121.08 125.25, -124.55 128.96, -127.38 133.7 M-127.38 133.7 C-129.85 136.25, -129.79 139.91, -136.58 146.46 M-127.38 133.7 C-131.5 138.6, -135 144.03, -136.58 146.46 M-136.58 146.46 C-138.27 148.87, -143.47 153.43, -145.86 157.72 M-136.58 146.46 C-139.2 150.19, -142.42 154.66, -145.86 157.72 M-145.86 157.72 C-148.34 161.23, -153.94 163.97, -155.22 167.13 M-145.86 157.72 C-148.67 160.21, -151.15 162.88, -155.22 167.13 M-155.22 167.13 C-158.16 169.82, -159.78 171.14, -164.69 174.31 M-155.22 167.13 C-156.8 169.06, -158.73 169.89, -164.69 174.31 M-164.69 174.31 C-166.77 176.42, -168.74 175.57, -174.27 178.89 M-164.69 174.31 C-167.91 175.93, -170.3 177.1, -174.27 178.89 M-174.27 178.89 C-177.73 179.85, -180.81 179.33, -184 180.5 M-174.27 178.89 C-178.13 179.78, -181.64 180.48, -184 180.5 M-184 180.5 C-186.59 181.29, -189.67 180.82, -200 180.5 M-184 180.5 C-188.08 179.88, -191.84 180.72, -200 180.5" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(652 422.5) rotate(0 -100 90.25821177377907)"><path d="M-192.49 177.74 C-194.35 178.3, -195.79 178.39, -200 180.5 M-192.49 177.74 C-194.69 178.97, -197.22 179.11, -200 180.5" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(652 422.5) rotate(0 -100 90.25821177377907)"><path d="M-192.47 183.21 C-194.3 182.66, -195.74 181.65, -200 180.5 M-192.47 183.21 C-194.68 182.75, -197.21 181.2, -200 180.5" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(365.85333333333335 642) rotate(0 -84.61633375193293 57)"><path d="M0 0 C-0.73 1.79, -0.59 5.31, 0 16 M0 0 C-0.69 3.62, -0.37 9.25, 0 16 M0 16 C-0.88 17.13, -1.2 18.85, -1.51 20.75 M0 16 C-0.5 17.52, -1.07 19.35, -1.51 20.75 M-1.51 20.75 C-2.03 22.32, -4.36 23.05, -5.79 25.43 M-1.51 20.75 C-2.87 22.07, -4.15 23.49, -5.79 25.43 M-5.79 25.43 C-8.24 27.64, -10.7 28, -12.51 30.05 M-5.79 25.43 C-6.97 26.45, -8.97 27.65, -12.51 30.05 M-12.51 30.05 C-15.14 30.23, -15.82 32.11, -21.31 34.62 M-12.51 30.05 C-15.34 31.9, -19.09 33.54, -21.31 34.62 M-21.31 34.62 C-24.18 37.09, -28.55 37.64, -31.85 39.14 M-21.31 34.62 C-23.61 35.17, -26.61 37.18, -31.85 39.14 M-31.85 39.14 C-35.86 40.1, -37.23 42.13, -43.78 43.64 M-31.85 39.14 C-34.83 40.04, -38.36 42.04, -43.78 43.64 M-43.78 43.64 C-49.03 45.16, -53.94 46.85, -56.75 48.11 M-43.78 43.64 C-48.63 45.21, -53.36 46.76, -56.75 48.11 M-56.75 48.11 C-60.66 49.57, -65.71 52.1, -70.41 52.56 M-56.75 48.11 C-62.08 49.1, -66.37 50.77, -70.41 52.56 M-70.41 52.56 C-73.85 52.97, -79.87 54.35, -84.43 57 M-70.41 52.56 C-76.38 54.72, -81.02 56.55, -84.43 57 M-84.43 57 C-88.82 59.16, -93.98 59.78, -98.44 61.44 M-84.43 57 C-89.33 57.83, -93.61 59.89, -98.44 61.44 M-98.44 61.44 C-102.77 63.54, -107.65 63.46, -112.11 65.89 M-98.44 61.44 C-104.1 63.69, -109.11 64.69, -112.11 65.89 M-112.11 65.89 C-114.96 66.46, -118.45 68.17, -125.08 70.36 M-112.11 65.89 C-117.12 66.95, -121.36 68.77, -125.08 70.36 M-125.08 70.36 C-129.01 71.96, -130.72 72.19, -137.01 74.86 M-125.08 70.36 C-128.66 71.53, -131.37 72.97, -137.01 74.86 M-137.01 74.86 C-140.87 76.95, -144.63 79.36, -147.54 79.38 M-137.01 74.86 C-138.68 75.33, -141.62 77.15, -147.54 79.38 M-147.54 79.38 C-151.05 80.84, -153.15 82.5, -156.35 83.95 M-147.54 79.38 C-149.57 80.1, -150.99 81.05, -156.35 83.95 M-156.35 83.95 C-159.2 84.87, -161.3 87.03, -163.06 88.57 M-156.35 83.95 C-157.63 84.8, -159.46 86.16, -163.06 88.57 M-163.06 88.57 C-164.12 89.47, -165.28 91.05, -167.35 93.25 M-163.06 88.57 C-164.21 89.66, -165.02 91.02, -167.35 93.25 M-167.35 93.25 C-167.66 94.66, -168.29 96.7, -168.85 98 M-167.35 93.25 C-167.93 94.19, -167.92 95.69, -168.85 98 M-168.85 98 C-169.07 103.01, -169.59 107.72, -168.85 114 M-168.85 98 C-168.27 102, -169.56 107.29, -168.85 114" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(365.85333333333335 642) rotate(0 -84.61633375193293 57)"><path d="M-171.86 106.59 C-171.61 107.37, -170.92 109.01, -168.85 114 M-171.86 106.59 C-171.37 108.26, -170.39 110.92, -168.85 114" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(365.85333333333335 642) rotate(0 -84.61633375193293 57)"><path d="M-166.39 106.39 C-167.26 107.19, -167.69 108.87, -168.85 114 M-166.39 106.39 C-167.4 108.07, -167.92 110.78, -168.85 114" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(236 678) rotate(0 20 10)"><text x="20" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-link, #2E7D74)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">No</text></g><g stroke-linecap="round"><g transform="translate(396.14666666666665 642) rotate(0 84.56757023189368 45)"><path d="M0 0 C1.3 2.25, 0.51 6.42, 0 16 M0 0 C-0.02 4.86, -0.67 10.07, 0 16 M0 16 C0.56 17.33, 0.82 18.34, 1.51 19.88 M0 16 C0.58 17.16, 0.98 18.54, 1.51 19.88 M1.51 19.88 C2.57 20.62, 3.91 22.33, 5.81 23.52 M1.51 19.88 C2.4 20.64, 3.17 21.5, 5.81 23.52 M5.81 23.52 C7.78 25.22, 9.69 26.24, 12.54 26.96 M5.81 23.52 C8.67 24.71, 11.33 26.45, 12.54 26.96 M12.54 26.96 C13.97 28.13, 16.47 27.59, 21.37 30.23 M12.54 26.96 C16.21 28.55, 19.4 29.47, 21.37 30.23 M21.37 30.23 C25.23 30.57, 29.55 31.99, 31.94 33.36 M21.37 30.23 C24.1 30.54, 25.79 31.27, 31.94 33.36 M31.94 33.36 C35.13 35.05, 38.68 35.31, 43.91 36.37 M31.94 33.36 C34.24 33.54, 37.78 35.17, 43.91 36.37 M43.91 36.37 C45.98 38.06, 48.36 38.89, 56.92 39.29 M43.91 36.37 C47.31 36.44, 50.89 37.33, 56.92 39.29 M56.92 39.29 C60.78 40.73, 65.08 42.21, 70.62 42.16 M56.92 39.29 C62.81 40.51, 67.37 41.65, 70.62 42.16 M70.62 42.16 C74.77 43.57, 78.42 43.78, 84.68 45 M70.62 42.16 C76.14 43.05, 81.76 43.7, 84.68 45 M84.68 45 C86.4 46.79, 91.03 46.12, 98.73 47.84 M84.68 45 C87.78 45.39, 91.89 46.03, 98.73 47.84 M98.73 47.84 C101.5 47.57, 105.13 50.39, 112.44 50.71 M98.73 47.84 C103.47 48.7, 107.75 49.14, 112.44 50.71 M112.44 50.71 C114.27 50.78, 117.87 50.74, 125.45 53.63 M112.44 50.71 C115.27 51.55, 118.32 51.71, 125.45 53.63 M125.45 53.63 C127.29 54.88, 131.17 54.46, 137.41 56.64 M125.45 53.63 C128.91 54.28, 133.65 56.1, 137.41 56.64 M137.41 56.64 C140.74 58.04, 146.54 59.37, 147.98 59.77 M137.41 56.64 C140.31 57.51, 142.23 58.41, 147.98 59.77 M147.98 59.77 C149.99 61.38, 153.12 62.14, 156.81 63.04 M147.98 59.77 C149.93 60.4, 152.94 61.17, 156.81 63.04 M156.81 63.04 C158.47 63.31, 160.14 65.59, 163.55 66.48 M156.81 63.04 C158.07 63.66, 159.58 64.54, 163.55 66.48 M163.55 66.48 C165.04 67.41, 166.54 68.91, 167.84 70.12 M163.55 66.48 C164.4 67.63, 165.96 68.32, 167.84 70.12 M167.84 70.12 C168.33 71.27, 168.82 72.85, 169.35 74 M167.84 70.12 C168.53 71.53, 168.83 72.91, 169.35 74 M169.35 74 C168.88 79.54, 169.69 82.51, 169.35 90 M169.35 74 C169.2 81.07, 169.34 86.35, 169.35 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(396.14666666666665 642) rotate(0 84.56757023189368 45)"><path d="M166.54 82.51 C167.76 83.52, 167.94 85.5, 169.35 90 M166.54 82.51 C167.44 84.79, 168.02 87.23, 169.35 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(396.14666666666665 642) rotate(0 84.56757023189368 45)"><path d="M172.01 82.46 C172.12 83.5, 171.18 85.49, 169.35 90 M172.01 82.46 C171.15 84.72, 169.97 87.18, 169.35 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(396 677) rotate(0 20 10)"><text x="20" y="14.096" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="16px" fill="var(--diagram-link, #2E7D74)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Yes</text></g><g stroke-linecap="round"><g transform="translate(565.5 835) rotate(0 -184.80530826632065 45)"><path d="M0 0 C-1.47 3.13, 0.47 6.19, 0 16 M0 0 C0.07 6.36, -0.61 11.37, 0 16 M0 16 C-0.39 16.51, -1.94 18.09, -3.29 19.88 M0 16 C-0.7 17.11, -1.81 18.37, -3.29 19.88 M-3.29 19.88 C-5.72 19.91, -6.98 20.58, -12.65 23.52 M-3.29 19.88 C-5.27 20.81, -8.37 21.98, -12.65 23.52 M-12.65 23.52 C-18.25 24.99, -23.6 25.02, -27.33 26.96 M-12.65 23.52 C-16.06 24.27, -18.91 24.64, -27.33 26.96 M-27.33 26.96 C-32.85 29.08, -39.59 29.22, -46.57 30.23 M-27.33 26.96 C-34.7 28.56, -42.7 29.74, -46.57 30.23 M-46.57 30.23 C-50.63 31.22, -58.83 31.93, -69.6 33.36 M-46.57 30.23 C-52.43 31.69, -58.53 31.88, -69.6 33.36 M-69.6 33.36 C-76.75 36.13, -82.46 33.72, -95.67 36.37 M-69.6 33.36 C-78.24 33.91, -88.2 35.68, -95.67 36.37 M-95.67 36.37 C-102.85 35.83, -110.72 39.49, -124.01 39.29 M-95.67 36.37 C-103.86 36.5, -111.64 37.19, -124.01 39.29 M-124.01 39.29 C-132.06 40.57, -142.47 42.19, -153.88 42.16 M-124.01 39.29 C-135.24 39.68, -147.26 40.97, -153.88 42.16 M-153.88 42.16 C-164.24 44.17, -175.14 43.85, -184.5 45 M-153.88 42.16 C-162.7 43.09, -171.24 44.01, -184.5 45 M-184.5 45 C-190.15 44.23, -198.29 47.07, -215.12 47.84 M-184.5 45 C-196.33 46.65, -209.56 47.36, -215.12 47.84 M-215.12 47.84 C-222.12 49.47, -232.83 48.89, -244.99 50.71 M-215.12 47.84 C-222.75 49.29, -229.1 49.48, -244.99 50.71 M-244.99 50.71 C-253.48 53.1, -263.21 54.64, -273.33 53.63 M-244.99 50.71 C-253.19 50.73, -260.57 51.82, -273.33 53.63 M-273.33 53.63 C-283.76 53.83, -293.26 56.94, -299.4 56.64 M-273.33 53.63 C-283.07 55.63, -293.27 56.14, -299.4 56.64 M-299.4 56.64 C-303.35 58.43, -309.12 58.01, -322.43 59.77 M-299.4 56.64 C-306.75 57.57, -315.74 58.33, -322.43 59.77 M-322.43 59.77 C-326.17 60.54, -330.08 61.63, -341.67 63.04 M-322.43 59.77 C-328.81 61.35, -335.46 61.61, -341.67 63.04 M-341.67 63.04 C-343.99 64.97, -346.46 63.37, -356.35 66.48 M-341.67 63.04 C-345.61 64.3, -349.56 64.35, -356.35 66.48 M-356.35 66.48 C-359.49 66.85, -363.28 68.53, -365.71 70.12 M-356.35 66.48 C-359.21 68.25, -362.7 69.33, -365.71 70.12 M-365.71 70.12 C-366.57 71.84, -367.7 72.69, -369 74 M-365.71 70.12 C-366.91 71.76, -368.35 73.12, -369 74 M-369 74 C-370.28 79.06, -369.47 82.53, -369 90 M-369 74 C-369.33 78.01, -369.59 80.52, -369 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(565.5 835) rotate(0 -184.80530826632065 45)"><path d="M-372.09 82.62 C-372.21 84.07, -370.61 85.47, -369 90 M-372.09 82.62 C-370.95 85.58, -370.19 87.86, -369 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(565.5 835) rotate(0 -184.80530826632065 45)"><path d="M-366.62 82.36 C-367.84 83.85, -367.34 85.31, -369 90 M-366.62 82.36 C-367.44 85.41, -368.63 87.78, -369 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(196.5 1028) rotate(0 0.3912235655547107 45)"><path d="M0 0 C1.31 2.88, 0.19 6.29, 0 16 M0 0 C0.59 5.17, 0.4 11.1, 0 16 M0 16 C-0.08 16.95, 0.39 17.63, 0 19.88 M0 16 C-0.06 17.21, 0.17 18.76, 0 19.88 M0 19.88 C-0.04 21.08, 0.13 22.44, 0.02 23.52 M0 19.88 C-0.11 20.9, -0.14 22.27, 0.02 23.52 M0.02 23.52 C-0.17 24.67, -0.21 26.18, 0.04 26.96 M0.02 23.52 C0.04 24.5, 0.14 25.42, 0.04 26.96 M0.04 26.96 C-0.07 28.51, -0.07 29.77, 0.06 30.23 M0.04 26.96 C-0.02 28.04, 0.06 29.43, 0.06 30.23 M0.06 30.23 C0.03 31.54, 0.28 32.26, 0.09 33.36 M0.06 30.23 C0.23 30.84, 0.13 31.46, 0.09 33.36 M0.09 33.36 C0.4 33.97, 0.42 34.85, 0.13 36.37 M0.09 33.36 C0.04 33.99, 0.2 34.6, 0.13 36.37 M0.13 36.37 C0.13 37.45, -0.14 38.13, 0.17 39.29 M0.13 36.37 C0.15 37.23, 0.14 38.2, 0.17 39.29 M0.17 39.29 C-0.1 40.08, 0.13 40.44, 0.21 42.16 M0.17 39.29 C0.25 39.97, 0.07 40.58, 0.21 42.16 M0.21 42.16 C0.05 43.36, 0.01 44.27, 0.25 45 M0.21 42.16 C0.19 43.05, 0.29 44.01, 0.25 45 M0.25 45 C0.05 46.13, 0.16 47.53, 0.29 47.84 M0.25 45 C0.32 45.56, 0.18 46.1, 0.29 47.84 M0.29 47.84 C0.04 48.34, 0.12 49.31, 0.33 50.71 M0.29 47.84 C0.22 48.58, 0.19 49.15, 0.33 50.71 M0.33 50.71 C0.13 51.46, 0.42 52, 0.37 53.63 M0.33 50.71 C0.34 51.5, 0.22 52.29, 0.37 53.63 M0.37 53.63 C0.13 54.81, 0.59 55.75, 0.41 56.64 M0.37 53.63 C0.3 54.28, 0.27 54.96, 0.41 56.64 M0.41 56.64 C0.57 57.56, 0.17 58.72, 0.44 59.77 M0.41 56.64 C0.47 57.58, 0.25 58.6, 0.44 59.77 M0.44 59.77 C0.72 61.04, 0.32 61.9, 0.46 63.04 M0.44 59.77 C0.56 60.9, 0.38 62, 0.46 63.04 M0.46 63.04 C0.2 64.12, 0.11 65.5, 0.48 66.48 M0.46 63.04 C0.64 64.12, 0.39 64.93, 0.48 66.48 M0.48 66.48 C0.1 68.14, 0.52 69.51, 0.5 70.12 M0.48 66.48 C0.55 67.56, 0.47 68.91, 0.5 70.12 M0.5 70.12 C0.22 71.21, 0.31 72.02, 0.5 74 M0.5 70.12 C0.49 70.99, 0.57 72.14, 0.5 74 M0.5 74 C-0.95 77.84, 1.95 81.51, 0.5 90 M0.5 74 C0.75 80.06, 0.78 86.4, 0.5 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(196.5 1028) rotate(0 0.3912235655547107 45)"><path d="M-1.9 82.37 C-0.76 83.73, -0.83 85.36, 0.5 90 M-1.9 82.37 C-0.74 84.82, 0.04 87.65, 0.5 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(196.5 1028) rotate(0 0.3912235655547107 45)"><path d="M3.57 82.61 C3.59 83.93, 2.41 85.51, 0.5 90 M3.57 82.61 C2.74 84.98, 1.54 87.72, 0.5 90" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g transform="translate(544 219.5) rotate(0 98.5 12.5)"><text x="98.5" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">GUID</text></g><g transform="translate(310 580.5) rotate(0 71 12.5)"><text x="71" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Insert</text></g><g transform="translate(104 1134.5) rotate(0 93 12.5)"><text x="93" y="17.619999999999997" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="20px" fill="var(--diagram-ink, #1B1F23)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">Callback with</text></g></svg>