meadow-integration 1.0.41 → 1.0.42

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 (56) hide show
  1. package/BUILDING-AND-PUBLISHING.md +2 -2
  2. package/README.md +27 -8
  3. package/docs/README.md +1 -1
  4. package/docs/_cover.md +1 -1
  5. package/docs/_topbar.md +1 -1
  6. package/docs/_version.json +3 -3
  7. package/docs/architecture.md +14 -225
  8. package/docs/css/docuserve.css +327 -0
  9. package/docs/data-clone/diagrams/architecture-diagram.excalidraw +1756 -0
  10. package/docs/data-clone/diagrams/architecture-diagram.mmd +8 -0
  11. package/docs/data-clone/diagrams/architecture-diagram.svg +2 -0
  12. package/docs/data-clone/overview.md +2 -32
  13. package/docs/diagrams/configuration-cascade-2.excalidraw +831 -0
  14. package/docs/diagrams/configuration-cascade-2.mmd +8 -0
  15. package/docs/diagrams/configuration-cascade-2.svg +2 -0
  16. package/docs/diagrams/configuration-cascade.excalidraw +831 -0
  17. package/docs/diagrams/configuration-cascade.mmd +8 -0
  18. package/docs/diagrams/configuration-cascade.svg +2 -0
  19. package/docs/diagrams/data-synchronization-pipeline.excalidraw +3278 -0
  20. package/docs/diagrams/data-synchronization-pipeline.mmd +42 -0
  21. package/docs/diagrams/data-synchronization-pipeline.svg +2 -0
  22. package/docs/diagrams/data-transformation-pipeline.excalidraw +2929 -0
  23. package/docs/diagrams/data-transformation-pipeline.mmd +31 -0
  24. package/docs/diagrams/data-transformation-pipeline.svg +2 -0
  25. package/docs/diagrams/docker-deployment.excalidraw +1963 -0
  26. package/docs/diagrams/docker-deployment.mmd +23 -0
  27. package/docs/diagrams/docker-deployment.svg +2 -0
  28. package/docs/diagrams/high-level-system-architecture.excalidraw +5752 -0
  29. package/docs/diagrams/high-level-system-architecture.mmd +66 -0
  30. package/docs/diagrams/high-level-system-architecture.svg +2 -0
  31. package/docs/diagrams/module-structure.excalidraw +15206 -0
  32. package/docs/diagrams/module-structure.mmd +56 -0
  33. package/docs/diagrams/module-structure.svg +2 -0
  34. package/docs/diagrams/sync-mode-comparison.excalidraw +3660 -0
  35. package/docs/diagrams/sync-mode-comparison.mmd +33 -0
  36. package/docs/diagrams/sync-mode-comparison.svg +2 -0
  37. package/docs/implementation-reference.md +2 -58
  38. package/docs/index.html +2 -2
  39. package/docs/retold-catalog.json +388 -284
  40. package/docs/retold-keyword-index.json +24830 -16291
  41. package/example-applications/mapping-demo/README.md +2 -10
  42. package/example-applications/mapping-demo/diagrams/architecture.excalidraw +1866 -0
  43. package/example-applications/mapping-demo/diagrams/architecture.mmd +8 -0
  44. package/example-applications/mapping-demo/diagrams/architecture.svg +2 -0
  45. package/example-applications/mapping-demo/package.json +0 -3
  46. package/example-applications/mapping-demo/web/mapping-demo-editor.js +5 -5
  47. package/example-applications/mapping-demo/web/mapping-demo-editor.min.js +2 -2
  48. package/example-applications/mapping-demo/web/pict.min.js +2 -2
  49. package/package.json +7 -7
  50. package/source/services/clone/Meadow-Service-DeleteCursorStore.js +105 -0
  51. package/source/services/clone/Meadow-Service-Sync-Entity-OngoingEventualConsistency.js +327 -92
  52. package/source/services/clone/Meadow-Service-Sync.js +2 -0
  53. package/test/Meadow-Integration-BisectionSync_test.js +15 -5
  54. package/test/Meadow-Integration-NewStrategies_test.js +15 -5
  55. package/test/Meadow-Integration-OngoingEventualConsistencyDeleteCursor_test.js +228 -0
  56. package/test/Meadow-Integration-OngoingEventualConsistencyDeleteSync_test.js +311 -0
@@ -0,0 +1,31 @@
1
+ flowchart LR
2
+ subgraph Input["1. Parse"]
3
+ FILE["Source File\n(CSV / TSV / JSON)"]
4
+ PARSE["Stream Parser\n(csv-parser / JSON.parse)"]
5
+ end
6
+
7
+ subgraph Transform["2. Transform"]
8
+ RECORD["Raw Record"]
9
+ MAPPING["Mapping Config\n(Implicit + Explicit + User)"]
10
+ TEMPLATE["Pict Template Engine\n({~D:Record.col~})"]
11
+ SOLVER["Solvers\n(Expression Parser)"]
12
+ end
13
+
14
+ subgraph Collect["3. Collect"]
15
+ COMP["Comprehension\n{Entity: {GUID: Record}}"]
16
+ MERGE["Intersect\n(merge by GUID)"]
17
+ end
18
+
19
+ subgraph Push["4. Push"]
20
+ ADAPTER["IntegrationAdapter"]
21
+ MARSHAL["Marshal Record\n(schema validation,\nstring truncation,\nGUID prefixing)"]
22
+ GUIDMAP["GUIDMap\n(external <-> Meadow IDs)"]
23
+ UPSERT["Upsert\n(single or bulk)"]
24
+ end
25
+
26
+ FILE --> PARSE --> RECORD
27
+ MAPPING --> TEMPLATE
28
+ RECORD --> TEMPLATE --> COMP
29
+ RECORD --> SOLVER --> COMP
30
+ COMP --> MERGE --> COMP
31
+ COMP --> ADAPTER --> MARSHAL --> GUIDMAP --> UPSERT
@@ -0,0 +1,2 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 5237 422" width="5237" height="422"><!-- svg-source:excalidraw --><metadata><!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dWXdcdTAwMWI3ln7Xr+Bxv8ycidDYl7w5tpx2d5x4LKd7lu5cdTAwMDdaomVcdTAwMWVTpELRsdM56d8+XHUwMDFmiktcdTAwMDFgVaGKi1xczpDW8ZGKxCWWXHUwMDBifN+9uLj49WwweLT45W706OvBo9Gnq+FkfD1cdTAwMWZ+fPSVf/7zaH4/nk3xXHUwMDE2L/6+n32YX1x1MDAxNZ98t1jcff3HPzJuXGLFP/a1dIa5ZanRZHQ7mi7u8bn/xd+Dwa/F/3hnfO3LXk0+3C9G8/OXXHUwMDFm7t9cdTAwMTUlivfWdZiPrlx1MDAxNsPpzWRUvvXJV8BcdTAwMTm5efCLf8DE5u+P4+vFO/+MS7V5+G40vnm3wFNm6ObhUvLXg/LJ/WI+ez96MpvM5v7r/2BcdTAwMWabZ4aXX/5mePX+Zj77ML3efGYxXHUwMDFmTu/vhnM0svzc2/Fkcrn4pZCOjkI3Pkq+42+rWrLk+abU9fD+3Sgohm+9eTdcdTAwMWTd30eFZnfDq/HCd1x1MDAwMaNlM3xcdTAwMTXvnl9cdTAwMTed/o+yUvPh7ei57/Xph8kkXHUwMDE0PL1eXHReXHUwMDBmTjlcdTAwMDRi9eS3sp6jkZfBZPl9iWqEz76fTVx1MDAwYiVcdTAwMTGWSauodJtcdTAwMGaM759COVx1MDAxNoWwt8PJ/ajsZV+ji0BxyjZ8uLtcdTAwMWUuizBjqZRcXGuMvd68P1x1MDAxOU/fp1xynMyu3ld8y3h6PfLK9GhIXHUwMDFmnVx1MDAwNU2sUdDJ8M1oUqOmi9GnRVZDbUtccuXsy1DQpNSD6Gf0xm6KyPF5SrngpjeaWKhcdTAwMGZ6VJJBrF9vZ9PF5fifvtpMRU+fXHJvx1x1MDAxM9+tKpLyeDK+mVx1MDAxNlqLXG6P5o/CTliMsZ5vPrCY3ZXvXkHicDxcdTAwMWTNt3t/Nlx1MDAxZt+Mp8PJ67o6XHUwMDBlPyxmr0b3y1ou5lx1MDAxZkZhXHUwMDBmjP60WXdcdC+rWk491mbqvfZcdTAwMWH8dja/bVxyXHUwMDEwjFx1MDAwNdPNd9M5K1x1MDAxN5719GPMlTpQTj/3hcy/vlx1MDAwM4SzKlS/3Lxkxlx066hcbpa/zz0vSzXl7Vx1MDAxMaJBWbdhokJPZVs9/ULUtC8w0VFcdTAwMWQ5VUJbqYTqjTquYYKTQYWS9Vx1MDAxMCuqK7pcdTAwMWZgiDYzXHUwMDExSj1cdTAwMDEwtLcnhClnWDFccivQgorSxihnofpCpmHf0YLZranYiFx1MDAxNphHVIDI9dGekO3RolZTK0yKLSWtgIpqJf1CdLQvUNFVXHUwMDE3lePCXHRBRW90cVxyXHUwMDE1glxmtjSsh0BRVc39YEK1mYLPp3dcdTAwMWY6gERcdTAwMWUhVDkjT1x1MDAwZadDI4Q1XHUwMDFkZ6WQjmneS4+Tbo9cdTAwMTA1SlqBXHUwMDBmeXCo0s9cdTAwMTM4dFx1MDAwM4euaqipdUxZ0Vx1MDAxZrN2XHJcdTAwMGWMXGZeXHUwMDBl5/ejXkPDdiX3XHUwMDAzXHUwMDA20zTz7t9ccu9G58+ef3dxTovXXHUwMDFi2lx1MDAxYVx1MDAxZXQ5wEU/beODMFx1MDAxNdxMlUOYn37sXHUwMDFi9oyLY04/njz/rNOvXHUwMDAzOFxip0Pdy1r33Dlpud1pUm5qVdZvo0HLNTvQoJtS7SMtKibh5o3fvmpcdTAwMTI6nM9nXHUwMDFml0JfPn51uVx1MDAxNq0m1aKLj1x1MDAwN7JXv1x1MDAxZFx1MDAxOdJs08Rq6pZcdTAwMDZI0y6aU0ZcdTAwMTK1PatUlXNM9WpW9Vx1MDAxZdQ0ZV2mXHUwMDBm08I447jt31x1MDAxZcplsSs9eDaejP7+9+m/Pbn86+CPg9fF/3++/OH7f69cdTAwMDQ7TqOne4Pd7fj6OsSHN8P7kVx1MDAwN6dcdTAwMThXY1x1MDAxNGxcdTAwMDafXHUwMDE0XHUwMDE22zdzP7h0ebhcZpek4VVrvFQ83iCtXHUwMDAwTHlcdTAwMDLM41x1MDAwMWY3XHUwMDFha6XijFx1MDAxYbaTiyNcdTAwMGaYoVx1MDAwZVn12Vx1MDAxMbOF7KXYV1x1MDAxN09+ePV0XfHrPuHx4zxcdTAwMWXX9HpcdTAwMDMgK1x1MDAxMVuZlYgsT4i8P1wicye6zE/GXHJzlivWXHUwMDFmb8dcdTAwMDaRXHUwMDE389HwdmnFzT1YXd3/fH5X/LVCK1L81Xtorlx1MDAwM7otbO7e4P1A+ps8SEdcdTAwMGKVaW/VYuyzMM1kqZYnmD4sTHPVzdtcdTAwMDRmzpzUxzJsIzW6uTpcdTAwMTRQ71x1MDAwMaYtpK/kvr548fK7x6/XM/j2/aG/4PKH7/568Wol/qdcdTAwMWFcdTAwMTbzecjAkzxcdTAwMTmoXHUwMDFi2qbolZBE1tJcdTAwMDHGy8qf6MCOdEBZm875pnVAau6scrJ/O5Kvhlx1MDAxZlx1MDAwN69GV7P5dd/hvlx1MDAxNjJTvK9q0n6A/jRcdTAwMGboL1x1MDAxZb98+fz7b9eGTYU7rTY0Mlx0I1xiNyjXc1axijl7gvTDQDrtXHUwMDE4iGacZkLqnVx1MDAwMtHykFx1MDAxZSvSW3soTF/LTWB3VvNcdTAwMDWfXHUwMDA3XHUwMDE3L/K4WNs/jWGdQbBhoWNWVSCjXG4074SMu1wio+yEjNZZKVx1MDAwNVf9XHUwMDBi63wxvLtcdTAwMWJPb1x1MDAwNk9m07fjXHUwMDFibzc+v72bjNF/g/9cdTAwMThcXHza/Poj7Mje28r18JSi547N3lx1MDAwZmCf5Vx1MDAwMTZZt8btT6dBI0reVei+3kbYk2/7eFxiq3UnhFx1MDAxNZxTR408XHUwMDEywCaKJGpcZttcdTAwMDdH2Fx1MDAxNt9wdMt5I/nJXHUwMDBmL15m/P+fhyF8m2dcYvVcdTAwMDPcRFx1MDAxMYyLXHUwMDAzRpipolxiJ1/6IeJ5eafdbVx1MDAwZVx1MDAxZORcXFLeP+v55fhqMXg9XHUwMDAyQELy4GJcbiQt9n9//dfTr5cmKLmaTf71W+/5QVx1MDAwM7qmXHUwMDA0YYc270dcdTAwMGX+lCdcdTAwMDeRq8/etKdcdTAwMDZWlWPgu15WhInJXG6r4MRcZlx1MDAwZbPrTWWozvlcdTAwMThi7ZxcdTAwMTTqWNvekVx1MDAxYZmD7Xvv449uIX4lN4DssetcdTAwMTNkP89Ddl3HN1x1MDAwMbZV8VFNXVx1MDAxOY3Gq0KsT3jdbe87ID1tZqnjVoM+9S/C+nI28XX1aFx1MDAwNUt2jlx1MDAxNqPaq43h3kN0LcZtx6K1auV+oPznPChcdTAwMDdcdTAwMGLSvD0kc1x1MDAxOYxxodZcdTAwMTWpXHUwMDAypD5tcVx1MDAxZi9PQCdcdTAwMDdcdTAwMWW3xmkr5ZF2uFx1MDAwMyV6PztcdTAwMTQg72PmXHUwMDFlXHUwMDE1kFtcYi+kvrh49e0mUqymW3aQvVx1MDAxNFx1MDAxYtRb3Fx1MDAxY7bej58+fvl6s4jp+z7RlL/kaUq1MjadXHUwMDAxkzJcdTAwMGXXYaIyQk+etuT3ZilGdrIlOGXQXHUwMDFjpXu48/Bkdlx1MDAwYth+N5r6+lx1MDAwMsZ/vZgu0HlYxb/98fnTr1eb27/91nfGUkNcdTAwMDBSvtK9uftRl+9a7OZcdTAwMDfrq2lcdTAwMWZDL8Lj/kVcdTAwMDBOhTshyDBzoi5cdTAwMDfeytfd3Fx0oJpMOWGPtZVcdTAwMWZokfh4KPLSS1x1MDAwMvAwXHUwMDEw/aJFeEB1nzdgtKAy9vy7SkdcdTAwMDKtsDhOXHUwMDEwfdTUgMxcdFxmXCLnsn/H2p571LxcdTAwMDdcbngr+3Y0v1x1MDAxOVxy3vwy8HjVez9CXHUwMDFktqWw3KqJ+yHx93kkji2GcYVrsFx1MDAxNouTuDput3f9eZBcdTAwMDbgXHUwMDA0xlx1MDAwN971V51OzIA7SSeMOpJrP9ajXHUwMDFieVA03s2sbSF9LfjF41eXf3r83epcdTAwMGJkr0D5hzwo13Z+IywnMXvcVW3I82C5O+HyztHsXHUwMDFkcVlTZy3toensQetmPlxcoLaPr4d3XHUwMDExiPZcdTAwMTOO61x1MDAwMa5cbpDr2rZcdTAwMWZcdTAwMGW/bFx1MDAxM99cdTAwMWWuQDdcdTAwMTXerzpcdTAwMWOWNvbnV+Gw5Vx1MDAxNbP4hMOHwWHaaXJzaijTWugjOfRjRXpzsDNr+0Fliy9YXHUwMDBi9lxm+MXjtYH8U1xyk/g8WPyfbeLna/q/XHSLpUuy51disVxysn+esHhHLJa00/ZcdTAwMWKTwjIne2hcIr9cdTAwMTjOXHUwMDAxXHUwMDFkk5X71lx1MDAxYpH3V+9Gt8PBz/5cdTAwMWGTXHUwMDAyxr7CU1xmg1x1MDAwZjdcdTAwMDdmTa82XHUwMDBm/Vx1MDAxY1x1MDAxYtzNR2/Hn/Bm/03qWnDcjq4/QqfsXHUwMDA3/q/y4Fx1MDAxZi9504ozNzXgLyWNfWtV4H/Kw3bEJJ3BXHUwMDFjbpVISjLY4JZcdTAwMWVcdPxjRbr7dLjQ+32wucVcdTAwMTesXHUwMDA1//jy8uLV67X3rKXj/WGw/zKP/bXd34D9mMJx1rdq7D+lfTvEnVxioluSXHUwMDE5ZVx1MDAxZOaqUf1LMlNo2vDOXHUwMDAzXHUwMDFjnozmgMDB4MVoeD37OHj+9L73iF6PeCmit2/pfjD9Olx1MDAwZtPR4iTa385cdTAwMDNcdTAwMGI9ofdVrnJ3OoJ+tMtcdTAwMTZEN/9cdTAwMWLVsNKl3i2Vdlx1MDAxZaUjPZpcdTAwMWPMVf5cdTAwMDVg6I95XGat65wmXGK1SV6WXHUwMDFhV3Yw605cdTAwMTC6a1x1MDAxNJjuNJVcdTAwMTS3XFxcdGb658n+8e5cdTAwMWV4VliIYz/wg9l88ObD5H3vobNcdTAwMTaFUuRs0cL9IPOvTbM5n5IyWYviKS1ixFxmMu+up7Orms3ESs5cZnVSUIl/bFx1MDAxNF4wlp/g/MI8NfL/XHKEVlx1MDAxZUbpllx1MDAxYdlaZiQ1/Tk6ejdcdTAwMWKnQFxc/jYox774Y/P7P76q/HSZXHUwMDE2qN3HXHUwMDFksUYxw6Q2RktanqLwr3NGoJzUKmmY4pRTKr165oRyQVx1MDAxNHPWUa6pXHUwMDE21JV93apOXFxcdTAwMTOn+fpcdTAwMDfTwoTFd6uSoIRcdTAwMGLBnI/uY5yzMjJ4XHUwMDBmmYJcYuWE01JcYmmoOkTXXHRNhKGbn4NU01x1MDAxMe6k41IpyaxwfH+Rklx1MDAxM6aZ1Uppx42g3XSuTOPQ7uOGWGGZkFghXHI3jHUqrSjB0MBcIpZSWVTadSstSKmJ4GjdXHUwMDFhqjTxU4pcbqW1QmnRreHKXHUwMDExo7WlwkpqTZCNoFVpLVxiXHJVyXQrrYm0lPm564R2tNtcZjaUMO5vb1CCc8xcdTAwMTHZrXS3j7u6XHUwMDA18iwpXHUwMDA2un6/eDK7vVx1MDAxZC+wcr/0q+5cdTAwMTaiLIbzxTfgXHUwMDBioFx1MDAxZrHBdju7LkBvNn8zXlx1MDAwNFx1MDAwNsr6+vSQ71RniC9A91P5xdFcdTAwMWFPXHUwMDE0pfH4XHUwMDE2T7ZcdTAwMWFTXHUwMDFhiqPp9d5cdTAwMTWtyZd74JpcdTAwMTad+tgzpnej4Vx1MDAxNrqjXHUwMDFk4XsptVx1MDAxYU3ezD42Wmh/y3O65uylTazOuThksILVXHRd5ec80bp9aZ3oRus4UExcdTAwMTmsWP0x3D4nsVx1MDAxM4pcdTAwMDDqXHUwMDA1s1xcSqadi1x1MDAxNvBcdTAwMWTJiZKY6tYxLbgwgvGOoFx1MDAwMLqESaHc8idcdTAwMDbD3SrkOFx1MDAwMe2yjPt7XHUwMDBmQEP0/lwiXHUwMDE5w3omXHUwMDAxeFx1MDAwZaOvODtEvzFuiU9ftf7RXHUwMDA3oGBcZrSIaYxcdTAwMDNWKK6CyNo9RGrojMRcdTAwMTBx6bRcdTAwMDJj4N1cdTAwMTTUXG7SjeDAcCNaMWWMokJy17G0t11cdTAwMDQ6k1JuYH27btXlwlx1MDAxMuo26si7TS90OZGKOk1RXHJpbDd2hfpcdTAwMTKUYtbf0KO1XHUwMDEz3Vx1MDAxOFx1MDAwZnegpei2tUJ147SYuEQ6qFx1MDAwN4BLc92xsMCQQYNhQytlubPdai5UN1x1MDAxMlx1MDAxYmBr8vmzpNyDkbuH4UyHYHd16ZG/LHr3X3l6l0+z10TxgI5JMkhXxls1ue4koSBcdTAwMDebl+lyTeeJ33W9ptOAdjjOdjtccvK7o3ex307EUH1OYforcFx1MDAxOKpcdTAwMDU4MViXtCqPh5HTzkidiGTCUmtcclX4kOMu71x1MDAwNYzdeNyoRCDQg2NUqXTCcqFZTmCzXHUwMDBm79wvVJZpLVFPWXxpXHUwMDFlzFwiXHUwMDA3XpDAeyXQKCetscA5iTelyFxubPLegTxSKZyimlx1MDAxOW6FkzTf4sh1J6nQiUChXHUwMDA0XHUwMDEwXHUwMDFjLN9QKHF2jGO/XHUwMDFkNzZcdTAwMTGnjb9cYlx1MDAxN13oeZXhPCsv7jCwcdDwzYtn21x1MDAxN7v2YKXoRFx1MDAxZYZcdTAwMDWDXG78sVx1MDAxY0pnTU5go7dcdTAwMGbytFx1MDAxMSD2kFxuglx1MDAwYpabXHUwMDE11+T+g7hQgVxympCV1+hcdTAwMTA8XHUwMDE3hFx1MDAwM0VAJtH9oJXWZuXFXHUwMDFlQptU0M9oXHUwMDBi9OYgmZhgxmVcdTAwMTUkcVx1MDAxYTKbyCtcdTAwMTR3pcFoSHZCJG5EnrbXWlx1MDAwYvZcdTAwMGZcdTAwMTZccipcblx1MDAxMy4nLvErWp6Ic7CytED/4lx1MDAxYtHm7Fx1MDAxMlx1MDAxNXtcdTAwMWHPt1x1MDAwMD1XPnY9NpU/S+Q8XHUwMDE4Xa1N891DwlqfcrS5stCt8JWYcrBXdPRqaMWRuex/57lsNqFzI5VVND5Z5bBGmbBvtogtN1x1MDAxNd5L61xiVUGpk+eyXHUwMDFis2WdmK3w/MP06F7Az+q3xFx1MDAxMl/4LFxypS6ZyFx1MDAwNpxcdFx1MDAwMFx1MDAwNLhcdTAwMDWWWJGFXHUwMDBiKcnaV1x08qp4vNxcdTAwMGKv405cdTAwMDFcIp1RRoMxZOHWgNGa0mNcdTAwMTStkJoo5zlcIqfgKWBYJivOgHCtPJfKulx1MDAwNLxcdTAwMTlcdTAwMDPZtUopiFx1MDAxM+C1LksurFwiTC6dllx1MDAxY3JZvHWs0Xuou0Bccj0y8WznOUtKXHUwMDBmk5GxI1x1MDAxNMZcdTAwMDJcYoejkCOVZ41ZLUB7wGNcdTAwMGJXZeHwi5hcdTAwMDB3xF9VralFXHUwMDFmcjA+nZXHXHUwMDE1WfspMXQm1jJhYK1o6lx1MDAxNPOXXHUwMDA2XGJYXG5ZecLGzkvojorAPCtBMbJ2ZMLqSjbF8aZcdTAwMDNpXHUwMDAyT+TKWjCyfFx1MDAwYrVcIiCyhWuz8MlG1Vx1MDAwM/NcdTAwMDNcdTAwMTNSXHUwMDA2XVxuplx1MDAwNvaZXHUwMDE1ZyyRvE53XHUwMDE1XHR1N2/oMMdcYibU0vVcdHsrdkFcdTAwMWFO/DhcdTAwMWJnrEPX5XWNU1x1MDAwNcNp6Vx1MDAwYpWMstjrZ2AlQLNccoxERbli2a7znmEqeI2/3XJS6OxKeW1Wd7ngZOUstVYzXHUwMDE5h7Ng2jnnhEFcdTAwMTVcdTAwMDUmvc6Sdi41WbtPi32GqLHWXHUwMDEyvzlcdTAwMDKbXHUwMDAyTFx1MDAxYmZzXHUwMDBiMztcdTAwMWHKLejOlk++v778WVwi58E47G6OzJj22djP3YVcdTAwMTT2mNomb29cdTAwMGbWg1Hb/8lT20yO1SZii1UzSVx1MDAwMWy3fbSsKlpaqMQoO1HZI15yjYWcXHUwMDAyZcxu+fN+d2SWg0RoI1x1MDAxNFfCXHUwMDE4zq1KPZZ+XHUwMDEznTrqXHUwMDFj596TlHW4XHTwLsatk/5IJmhU6mBcdTAwMDTtw8ywUvhjm1JnkVJ6XHUwMDE3XCKzq1x1MDAxZr7lL1MuhEqXZ9xcdTAwMGVFUIZcdCqY566RPFx0XHUwMDA2QoWRTnIr27iPQLiNoY45qlxyZyr2Rmm/hithNSTCLMh7XHUwMDFiwXIsUHr9XHUwMDEzb12eXHUwMDAz9+ya/oBcdTAwMDfl2bsgTmrYblx1MDAxNlx1MDAxNlx0XHJcdTAwMTLiXHUwMDE30pgng6BwQFx1MDAxOYFVroUvyYIhWmqc0sxPIVx1MDAxYbvKmPStxVx1MDAxOFx1MDAwMFx1MDAwMzxRzlx1MDAwZkXim2KGqMg5my1voWqOUymsgyHgXHUwMDEyVy/1Y8lcdTAwMTmFKOiHyrJcdTAwMWVGtSdcdTAwMTZcdTAwMWHqhm7xzDCWJ0B7XHUwMDE0mFx1MDAxZqVCt5CG/mBcdTAwMWK9ZTbmQOcwXHUwMDBlOiou4+Cs3HlcdTAwMTVcdTAwMTDc2HQrgHvy7GdcdTAwMWXl4M5g8Vl5sGMlpUpa7XOhq8RzL1xuXHUwMDAywkuTIC/PXHUwMDEyLUvt5bG6gaFcdTAwMDbsPT9cdTAwMTWwNkDbXGajSnMsXHUwMDE0qTRBLFcl4+Z580kpX1x1MDAwMS2N1FjJXGZLXHUwMDFjvZKYXHUwMDE1PTZSXG6Xb66OJ+dcdTAwMTaKZ1x1MDAwNVjaVsBZXCLowWjtrpzws/hmqzM3d1wir0mQTI/8ssPWftm6XHUwMDFiezp5ZbHU13DS8oapiktqTvFcdTAwMDarOu14lF52iic13EdcdTAwMWKApJyYLF5YwSlYXHUwMDA3XHUwMDEwXFw640RcdTAwMTL3tVPAgWLEgiDBZDCagbCqxoBcdTAwMDMpsmRWO1wig1fCyJJ4XHUwMDAzRfP+Y6uJXHUwMDA1QzfKXHUwMDAw+z22JVx1MDAwMqN4XHUwMDAzk6d4IHZk3VprXHUwMDAwvGlccqN4gzZOPc5cYqC3fCUktHPAgadcdTAwMTls1VxcP9ypvDDeQNK8i9vzXHUwMDAyXG6avFx1MDAxOeaE1XaOOGBJpEtcdTAwMTJyIFSeqlhcdTAwMWaMu9RjXHT2lTK9OObA5l3H3nlpQaGcRe/Allx1MDAxM4m8jjFcdTAwMDewXHUwMDA0IS54pfKioFx1MDAwM5ZcdTAwMGb64MKRZUtcdTAwMGJl1nTPoFx1MDAwM5g6ZKm/yzan4rrGXHUwMDFj+GDYUId1XHUwMDFhxFx1MDAxMFx1MDAwNlx1MDAxZFxil1VcdTAwMTGs21g6NsNrRUIl46BcdTAwMDNu8kY3RVx1MDAwN/qRXelxXHUwMDFhXHUwMDE00TXqXHUwMDAwXHUwMDE2XFxiXHUwMDE2d1xmO1x1MDAxMLJ13MJZXCLoi/LZJlx1MDAwN8FSPlx1MDAxOar+XHUwMDE2YzxcdTAwMDTnrbtf7cD0/Mjk9k2e3DZeT9Xol2VBYGxxvck2l+VVV1x1MDAxOelUZ09cXLZcdTAwMGKX1d3uX1RCYe039OSV9S9uibDlbmNytpUoXHUwMDAz1snBwyRX2rEsYEvqfZ6bnW1cdTAwMWFcdTAwMDfOXHUwMDAyi1x1MDAxYySCMUnDvPszJ06BMVx1MDAwNFx1MDAxYu823veVXHUwMDA01VxuYlx1MDAwZfOkXHUwMDE44LreaPT5uSO3m/U+zyXPXHUwMDAx8Vx1MDAxNPmNWqOJ5/7r0yPJQSaQsVx1MDAwMFxiOc12XHUwMDFkqFx1MDAxOCv3pFV8wpn5iIpcdTAwMTL3VT5cdTAwMWHPXHUwMDExv1x1MDAxYl3EekhcdTAwMThcclHlwJRVyXKcMHlyzVx1MDAxOJFcdTAwMThNvT5HXHUwMDE3idNEu4DVtWCu8XE5scVcXLNcdTAwMDL8RXFOXHUwMDAx95bnb9KIh4CZs1x1MDAxNsxcXGriXHUwMDAzRYpcdTAwMWRtJWnscJPcXHUwMDFiN2tLXHUwMDA0fZpcdTAwMTVcdTAwMDdSaMNwkUiaITLirPlcdO1AXHUwMDA12OawYWxt+lhcblx1MDAxNdiaeXFcdTAwMTYjuVxmKCqOa8WOKOWdxStcdTAwMDPEMNtiIJyAkVBcdTAwMWVkTFwiPVx1MDAxY4n4ap5Pw36QqzNsPtAjmu9cdTAwMWFGMvgnjE+sRFC0vH3DmSGalXFFLmqsXHUwMDE2RKLXLLrDcVx0wS3Mh2gx3lx1MDAwMu5s+Xg9bCh/lsh5MK76QDyvXHUwMDFmblieXHUwMDA0QqTvNjTgyET1Kk9Um246a+Sp1sVXg3tHR3DT/CaEoHRQXHUwMDA0IVx1MDAwNCY513Diqp3O8XeLhsWS6YOj5Mnv6l+gLW65Rac1Y0ak57ywxq9dLdbfXFyalVx1MDAwN5hu2JdkJCRcdTAwMTFcdTAwMTI4klx1MDAxMyhcdTAwMDTRclx1MDAxM0PgWHpEXHUwMDA2VCDw3+R5iXAg50Kutp5cdTAwMWRL3EuSaLNkl4wzv4Gakyd9XHUwMDE0JchcdTAwMDK0XHUwMDAwXHUwMDA0SfG4XHUwMDAz/S4oXHUwMDE4KF85hPJcdTAwMWPTXHUwMDFmMCpDXGKUiJ1zPvqhZDk0z0xcdTAwMTT4NDqliFx1MDAwZXHUJuex/KauXHUwMDAz/Vx1MDAwMc9cdTAwMDdcdTAwMTFqXHUwMDExXHUwMDFlon2U6SpYQviTRsno+k1akHfQPVDaNtvY2pDEY2uJinw0OVx0RpByU1x1MDAxZEpcdTAwMWF7rjwrXHUwMDBmyFxi6FRWnoVcdTAwMDbw5S4zhbol3ltZXHUwMDA0LWMtUyCuPM80rVx1MDAwNFsrI2BcdTAwMTLfXHUwMDFlZktH9bU+klx1MDAxOVxygX5cdTAwMTaBP7F+XGK/T8LRXHUwMDFmXHUwMDEyK5zwJmNOnlMgc1qtI0NcdTAwMTJx3lnN0XNcbpOB+fOG2dWHelx1MDAxZn5cdTAwMTlIYLb26UOervKHPFx1MDAxOTWEXHUwMDA1IT/JqVGhsFx1MDAwMGA8MPSscPRn5bHiXHUwMDA0mlx1MDAwZm5cdTAwMTLCZ+pLXCJcdTAwMTNgdllcdTAwMDH7UpqCXHUwMDE021x1MDAxNvk84kCTLTDPXG5IXHUwMDBm6dVcdTAwMGI4S1x1MDAwND1cdTAwMTiB3YVcdTAwMTVqTYNXklVccnpcdTAwMTW+S8Wx42NrrqDsQmylSlx1MDAxYzmJu5g1uYuPTG2vWyQxaLhot4nabt0wzVj20Fc1zT25ZJd12vEm29JB1C5Slvpccihl+nNNz0F57nlHontcdTAwMWUzXcvTyVxmNXfAfOX5XHUwMDBi01nX4nkz02WE+TNcdTAwMDFcbqxcdTAwMGIoXHK2kJVcdTAwMTdcdTAwMTNd0MXYXHUwMDFmSCBlQ/xcdTAwMTQ1WVfqeTPTlf7kv6fgqLvzh2my8mKmK2Pk1KQkWWCGWVx1MDAxYz6PiS70KpRmXHT4TcCLWoiLiG5cdTAwMTL96Vx1MDAxZK0rX56SioK3ZuXFTFfE8Z8+ONQuXHUwMDFkl1RbJliW1p+nRJclKJ8lfudcdNFcdTAwMTVxXHUwMDBii1RVheNcdTAwMTlcXE6J/C77eSPR5T40O7CD8uJcdTAwMTKim1x1MDAxY+dTJNBemVx1MDAwZpc9b+S5mHqarvZPMFx1MDAwNDzP6s+beC53XHUwMDA0hi/mvYOxXHUwMDA26y+fyew84bk0NjtcdTAwMDQj5baC/yXffc0811x1MDAxZlx1MDAxMFM+XHUwMDAySFx1MDAxOFx1MDAxMN1cdTAwMTazK6G5PDZLhY95WFt9XHUwMDA25L6NwEjftrA8LyCmuVxyXHUwMDAyzlx1MDAxMkFcdTAwMGaXymB/jihcdTAwMTKa+8CnwHbh6X1cdTAwMGInXHUwMDE4tfTS1t6A3c1P63dnMO82r4pjX6bijkmmOKGhXHJzctp2O/clO7FZpZRcdTAwMDC4l9n9fl9kdodjX2XUY7Ln7oFJaWEs7G8s/DZcdTAwMGaOXHUwMDFlXcpoNlx1MDAxYXMnIDdcdTAwMTPOMaOdkp7v5KRJUF9cdTAwMWZcYlBcdTAwMTlt57NcdTAwMGWAcZSvrDSQ2E0kIEhs5D9cdTAwMDPr8XFcdTAwMGaoPOBJgIDmXHUwMDEzJFx1MDAxOVwi7SpQUZkk+yr3jGjZTK5cdTAwMThcdTAwMDX9yInTiqggktJEXHUwMDBiKfi3r9LmlXdOgeIp2Fx1MDAxM8swT0iLQFsxQtdcclXet5r3XHUwMDE1goZcdTAwMDRxijw+ki+IpMHQZilcblx1MDAxOFmE4EZcdTAwMTOf+bX08ORcdTAwMDQ49H1cdTAwMTCPbeJIXHUwMDEx9P1aZ1x1MDAwNW2xXHLN/K422NIyjljx2LeNdcvHpFpLtbJS6HxnecYkw0jnmK4zTjrpLSviQdaB2CCCSSSLIMLfPKG4LvS3hTyHXG6sI8U1i09UsYIgXHUwMDE2Srtqclae8ElcdTAwMGbcRnXj3pMwzkLNzVx1MDAxZm+TmrAy1D5cdHr271q+XHUwMDE5W95cIpJdSVwigyjqOFNcdTAwMGKD8aiLYV3qbz7URsfpi7fAOysg1tYmXHUwMDAxZ4mgfjtpQ+rjXFzKXuN3j81eY0Y3Vl8ogX2bJ7DZm+NcdTAwMWJcdTAwMWSygsZcdTAwMWM2/LskreWzkrT6rDVcdTAwMWX9XGagXHUwMDBm5jBcdTAwMTWj81x1MDAxMlx1MDAwMk/EddDGXHLb7bY3cEwlNKjribhcdTAwMGVcbuIqy3zsNs5cdTAwMGaaPyPGiSlDTZPcoKpAXHUwMDA0ycDuqMU/3uqeIXCqTY52fzQ8jlx1MDAwM9xJJDipj3dcXMV18m6J28FP+TLfVFx1MDAxMUAsu3Wv9m62TZCk7XqpjvDZzJa5wqRLciTt1Fx1MDAxN/5cdTAwMWNqeZ1cdTAwMDNcdTAwMTPd+sJ2y1x1MDAxY+80KZPOo5rdXHUwMDFh74/OoewyPVRcdTAwMTGa2q04+KFcdJL9247FuU8+XHUwMDA3u21114TqlvXe3/9QhCQvg3eTtKr54kJcdTAwMTdnjDaK07G49DbiJvo1ySyRL65g9Vx1MDAwNLdCdFx1MDAxY7c4RDz/+dqBPUvKPVx1MDAxOG97KNpzkG30iLDczL5QinbTJuf/sqXxtdw/Vdy+W3lXZ1x1MDAxOe9QS9GqUv6fXHUwMDE42iHO4XdiaFr7QHZrTq7F4uNNef9b3HlcdTAwMTPm+GdaXHUwMDFkgKPFaf5lfPJjJ4lJnv+OiVxuopz+4DTd0K4xg3++dGO+/t34alPK/iNftcm7aVecfF853a3zenTXpk32XHRzpZO0+bJj6aYk+Vx1MDAxZO/a1Lybgnzxd20+XHUwMDE04zlcdTAwMDQ7i7nK1H6h7Oxdnp2tW1x1MDAxYd38btqd1ZFBWsNcdTAwMTM5e+h93/JYaaskScr6a3P4iZxcdTAwMTVcdTAwMWY/IDnbuoDpXHUwMDAw5Mwn8/tcdTAwMWSxM9ZcdTAwMTHjXHUwMDEzduaSjOondtZY/MTOTuyseKePjOdcdTAwMTDsLOIq4vZcdTAwMGIlZ+NcdTAwMTU5O1tccvej4d3d5Vx1MDAwMui66Vx1MDAxOFx1MDAxMIbx9eX4n8tTXGJfXHUwMDA1z1x1MDAxNqM7PFPBo1x1MDAxN+i/i+nwzST9zkc/j0dcdTAwMWa/2eZHf3j2zTNzcbGq8VxupF98mCzGl+jyq1x1MDAwNbiDXHUwMDA35199/Yo+8eRptHr02/9cdTAwMDHWPbRMIn0=<!-- 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 LR\n subgraph Input[\"1. Parse\"]\n FILE[\"Source File\\n(CSV / TSV / JSON)\"]\n PARSE[\"Stream Parser\\n(csv-parser / JSON.parse)\"]\n end\n\n subgraph Transform[\"2. Transform\"]\n RECORD[\"Raw Record\"]\n MAPPING[\"Mapping Config\\n(Implicit + Explicit + User)\"]\n TEMPLATE[\"Pict Template Engine\\n({~D:Record.col~})\"]\n SOLVER[\"Solvers\\n(Expression Parser)\"]\n end\n\n subgraph Collect[\"3. Collect\"]\n COMP[\"Comprehension\\n{Entity: {GUID: Record}}\"]\n MERGE[\"Intersect\\n(merge by GUID)\"]\n end\n\n subgraph Push[\"4. Push\"]\n ADAPTER[\"IntegrationAdapter\"]\n MARSHAL[\"Marshal Record\\n(schema validation,\\nstring truncation,\\nGUID prefixing)\"]\n GUIDMAP[\"GUIDMap\\n(external <-> Meadow IDs)\"]\n UPSERT[\"Upsert\\n(single or bulk)\"]\n end\n\n FILE --> PARSE --> RECORD\n MAPPING --> TEMPLATE\n RECORD --> TEMPLATE --> COMP\n RECORD --> SOLVER --> COMP\n COMP --> MERGE --> COMP\n COMP --> ADAPTER --> MARSHAL --> GUIDMAP --> UPSERT\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(2982 242) rotate(0 1122.5 85)"><path d="M32 0 C468.78 5.86, 907.64 5.82, 2213 0 M2213 0 C2233.92 -0.22, 2243.9 11.59, 2245 32 M2245 32 C2244.36 73.35, 2245.03 116.36, 2245 138 M2245 138 C2243.19 157.66, 2233.83 170.79, 2213 170 M2213 170 C1667.5 178.58, 1121.03 177.45, 32 170 M32 170 C11.33 170.29, 0.68 159.62, 0 138 M0 138 C2.33 96.41, 2.75 59.58, 0 32 M0 32 C0.36 12.31, 10.59 0.63, 32 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.5" fill="none" stroke-dasharray="8 9"/></g><g transform="translate(2982 247) rotate(0 1122.5 10.5)"><text x="1122.5" y="13.215" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="15px" fill="var(--diagram-deemphasis, #8A7F72)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">4. Push</text></g><g stroke-linecap="round" transform="translate(1126 10) rotate(0 598.5 145.5)"><path d="M32 0 C263.78 2.31, 495.65 2.43, 1165 0 M1165 0 C1186.61 -0.21, 1195.31 9.12, 1197 32 M1197 32 C1193.73 85.65, 1196.8 136.29, 1197 259 M1197 259 C1195.19 281.07, 1187 290.05, 1165 291 M1165 291 C894 294.41, 621.05 294.01, 32 291 M32 291 C10.25 290.82, 1.69 280.02, 0 259 M0 259 C-1.49 176.27, 0.55 92.44, 0 32 M0 32 C1.16 12.47, 12.21 1.92, 32 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.5" fill="none" stroke-dasharray="8 9"/></g><g transform="translate(1126 15) rotate(0 598.5 10.5)"><text x="598.5" y="13.215" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="15px" fill="var(--diagram-deemphasis, #8A7F72)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">2. Transform</text></g><g stroke-linecap="round" transform="translate(2385 20) rotate(0 516.5 125.5)"><path d="M32 0 C225.8 1.02, 421.11 1.13, 1001 0 M1001 0 C1022.39 -0.89, 1034.57 12.07, 1033 32 M1033 32 C1033.86 83.8, 1033.94 137.17, 1033 219 M1033 219 C1034.45 239.16, 1021.08 251.02, 1001 251 M1001 251 C628.2 252.84, 253.26 253.76, 32 251 M32 251 C10.53 250.38, -0.92 240.11, 0 219 M0 219 C-2.19 171.68, -2.45 127.15, 0 32 M0 32 C-1.33 10.61, 8.77 -1.78, 32 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.5" fill="none" stroke-dasharray="8 9"/></g><g transform="translate(2385 25) rotate(0 516.5 10.5)"><text x="516.5" y="13.215" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="15px" fill="var(--diagram-deemphasis, #8A7F72)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">3. Collect</text></g><g stroke-linecap="round" transform="translate(10 20) rotate(0 527 85)"><path d="M32 0 C234.49 0.53, 435.43 1.24, 1022 0 M1022 0 C1044.91 1.3, 1055.99 10.78, 1054 32 M1054 32 C1052.66 54.66, 1054.34 79.49, 1054 138 M1054 138 C1054.67 158.92, 1045.16 168.91, 1022 170 M1022 170 C761.81 169.83, 503.32 169.14, 32 170 M32 170 C9.93 169.23, -1.44 159.26, 0 138 M0 138 C1.68 112.51, 0.63 88.84, 0 32 M0 32 C1.14 12.3, 10.26 0.31, 32 0" stroke="var(--diagram-deemphasis, #8A7F72)" stroke-width="1.5" fill="none" stroke-dasharray="8 9"/></g><g transform="translate(10 25) rotate(0 527 10.5)"><text x="527" y="13.215" font-family="Excalifont, Xiaolai, sans-serif, Segoe UI Emoji" font-size="15px" fill="var(--diagram-deemphasis, #8A7F72)" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="alphabetic">1. Parse</text></g><g stroke-linecap="round" transform="translate(69 88) rotate(0 186.5 28)"><path d="M14 0 C84.59 1.5, 152.82 0.79, 359 0 M14 0 C121.24 0.01, 227.98 0.27, 359 0 M359 0 C368.59 -0.44, 371.05 3.12, 373 14 M359 0 C366.52 -0.84, 371.1 2.63, 373 14 M373 14 C371.58 24.49, 374.21 33.71, 373 42 M373 14 C373.9 20.87, 372.69 27.04, 373 42 M373 42 C374.76 52.31, 370.02 56.79, 359 56 M373 42 C373.38 50.91, 368.62 57.12, 359 56 M359 56 C287.11 58.67, 215.37 58.72, 14 56 M359 56 C267.04 57.15, 175.67 57.62, 14 56 M14 56 C3.47 56.16, 0.4 50.28, 0 42 M14 56 C5.09 55.94, 1.9 50.35, 0 42 M0 42 C0.53 30, 1.15 21.68, 0 14 M0 42 C0.02 34.21, 0.45 28.08, 0 14 M0 14 C-1.38 5.26, 4.27 0.08, 14 0 M0 14 C0.45 5.6, 3.59 0.6, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(77 103.5) rotate(0 178.5 12.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">Source File\n(CSV / TSV / JSON)</text></g><g stroke-linecap="round" transform="translate(532 88) rotate(0 236.5 28)"><path d="M14 0 C104.19 -0.57, 193.02 -1.49, 459 0 M14 0 C183.84 1.54, 353.75 1.13, 459 0 M459 0 C467.73 -1.14, 473.95 4.06, 473 14 M459 0 C466.35 -0.51, 470.93 2.48, 473 14 M473 14 C474.44 21.91, 471.58 31.06, 473 42 M473 14 C472.25 21.89, 473.05 30.11, 473 42 M473 42 C472.47 50.67, 466.41 54.07, 459 56 M473 42 C472.52 49.4, 469.16 56.08, 459 56 M459 56 C357.39 53.13, 254.81 52.93, 14 56 M459 56 C332.08 56.97, 205.6 57.06, 14 56 M14 56 C4.76 55.06, 0.62 49.61, 0 42 M14 56 C2.56 56.36, 0.67 52.64, 0 42 M0 42 C1.66 35.09, -1.27 27.03, 0 14 M0 42 C0.53 35.85, -0.27 30.12, 0 14 M0 14 C0.16 5.34, 5.5 -0.53, 14 0 M0 14 C1.54 4.71, 6.86 1.26, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(540 103.5) rotate(0 228.5 12.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">Stream Parser\n(csv-parser / JSON.parse)</text></g><g stroke-linecap="round" transform="translate(1372 88) rotate(0 71 28)"><path d="M14 0 C34.96 0.82, 61.28 -0.96, 128 0 M14 0 C53.47 1.94, 91.55 0.92, 128 0 M128 0 C136.41 -0.64, 141.48 4.77, 142 14 M128 0 C139.11 1.14, 143.72 6.3, 142 14 M142 14 C143.43 21.04, 141.1 25.82, 142 42 M142 14 C141.53 23.42, 142.4 34.23, 142 42 M142 42 C142.03 50.5, 137.32 56.5, 128 56 M142 42 C141.82 51.06, 136.26 55.46, 128 56 M128 56 C87.47 56.55, 49.99 57.69, 14 56 M128 56 C84.07 56.75, 39.08 56.29, 14 56 M14 56 C3.18 57.56, 1.71 50.3, 0 42 M14 56 C3.68 53.87, -0.88 50.29, 0 42 M0 42 C0.44 33.34, -0.25 27.39, 0 14 M0 42 C-0.88 34.49, 0.13 27.14, 0 14 M0 14 C-0.15 5.77, 3.68 0.41, 14 0 M0 14 C-2.22 4.84, 4.82 -0.04, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1380 103.5) rotate(0 63 12.5)"><text x="63" 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">Raw Record</text></g><g stroke-linecap="round" transform="translate(1185 199) rotate(0 258 28)"><path d="M14 0 C111.94 1.6, 209.45 0.28, 502 0 M14 0 C189.15 -1.02, 363.79 -1.13, 502 0 M502 0 C509.38 0.49, 516.18 6.28, 516 14 M502 0 C510.67 0.06, 513.75 5.42, 516 14 M516 14 C514.84 26.23, 517.09 35.93, 516 42 M516 14 C516.84 20.27, 516.48 28.98, 516 42 M516 42 C514.05 51.63, 510.57 55.35, 502 56 M516 42 C514.71 50.41, 509.98 56.48, 502 56 M502 56 C398.05 57.74, 293.93 57.82, 14 56 M502 56 C383.6 56.33, 264.42 56.26, 14 56 M14 56 C5.86 57.07, -0.03 51.5, 0 42 M14 56 C2.74 57, 1.11 52.66, 0 42 M0 42 C0.06 29.21, -1.76 18.51, 0 14 M0 42 C0.25 35.29, -0.01 27.28, 0 14 M0 14 C1.36 5.94, 6.61 -0.11, 14 0 M0 14 C1.63 3.29, 5.48 1.26, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1193 214.5) rotate(0 250 12.5)"><text x="250" 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">Mapping Config\n(Implicit + Explicit + User)</text></g><g stroke-linecap="round" transform="translate(1791 189) rotate(0 236.5 28)"><path d="M14 0 C103.39 -1.19, 194.35 -0.94, 459 0 M14 0 C136.99 0.2, 259.63 -0.73, 459 0 M459 0 C469.61 -0.08, 473.47 2.89, 473 14 M459 0 C467.07 0.64, 473.12 6.1, 473 14 M473 14 C475.18 21.32, 472.04 25.51, 473 42 M473 14 C474.06 20.33, 472.46 26.05, 473 42 M473 42 C472.91 52.3, 470.24 56.04, 459 56 M473 42 C472.08 51.71, 469.65 56.56, 459 56 M459 56 C360.18 54.74, 261.85 55.51, 14 56 M459 56 C316.28 57.76, 173.91 57.42, 14 56 M14 56 C5.91 56.84, -0.87 50.21, 0 42 M14 56 C3.03 58.11, 0.92 50.93, 0 42 M0 42 C0.63 33.63, -1.76 23.25, 0 14 M0 42 C1.02 35.97, -0.84 30.64, 0 14 M0 14 C1.88 4.3, 4.91 -1.74, 14 0 M0 14 C1.49 2.77, 2.58 -2.21, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1799 204.5) rotate(0 228.5 12.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">Pict Template Engine\n({~D:Record.col~})</text></g><g stroke-linecap="round" transform="translate(1858 78) rotate(0 170 28)"><path d="M14 0 C75.83 -2.05, 140.22 -1.63, 326 0 M14 0 C103.72 -0.9, 192.25 -0.66, 326 0 M326 0 C334.94 -1.12, 341.19 5.4, 340 14 M326 0 C333.64 -1.88, 341.3 4.34, 340 14 M340 14 C341.34 21.15, 340.25 31.96, 340 42 M340 14 C340.75 20.93, 340.59 25.39, 340 42 M340 42 C338.99 51.37, 336.49 55.05, 326 56 M340 42 C339.38 49.73, 336.92 56.19, 326 56 M326 56 C210.91 56.2, 98.06 54.92, 14 56 M326 56 C260.43 56.15, 196.01 56.17, 14 56 M14 56 C5.06 54.61, 0.57 49.74, 0 42 M14 56 C6.88 57.55, 1.01 50.69, 0 42 M0 42 C-0.96 31.51, 1.38 21.53, 0 14 M0 42 C-0.42 36.39, -0.07 29.65, 0 14 M0 14 C-1.48 5.59, 3.01 0.41, 14 0 M0 14 C-2.28 2.94, 6.93 -1.47, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(1866 93.5) rotate(0 162 12.5)"><text x="162" 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">Solvers\n(Expression Parser)</text></g><g stroke-linecap="round" transform="translate(2444 148) rotate(0 231 28)"><path d="M14 0 C103.23 0.86, 190.48 1.31, 448 0 M14 0 C157.59 -2.16, 300.07 -2.37, 448 0 M448 0 C457.57 0.85, 460.36 6.54, 462 14 M448 0 C458.15 0.23, 461.06 6.47, 462 14 M462 14 C462.49 23.74, 461.95 31.86, 462 42 M462 14 C461.66 21.69, 462.14 27.06, 462 42 M462 42 C460.21 49.97, 457.59 54.41, 448 56 M462 42 C460.57 51.3, 459.62 53.74, 448 56 M448 56 C323.63 56.41, 201.17 56.5, 14 56 M448 56 C347.8 55.96, 248.33 56.51, 14 56 M14 56 C6.46 57.99, 0.36 50.64, 0 42 M14 56 C3.22 54.73, 1.57 52.12, 0 42 M0 42 C-1.96 31.62, -0.37 21.37, 0 14 M0 42 C-0.78 32.62, 0.86 25.8, 0 14 M0 14 C0.68 3.16, 5.77 1.82, 14 0 M0 14 C1.22 3.09, 5.71 -1.9, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(2452 163.5) rotate(0 223 12.5)"><text x="223" 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">Comprehension\n{Entity: {GUID: Record}}</text></g><g stroke-linecap="round" transform="translate(3041 108) rotate(0 159 28)"><path d="M14 0 C72.58 -0.74, 131.88 -0.28, 304 0 M14 0 C74.44 -1.01, 134.24 0.2, 304 0 M304 0 C312.84 1.71, 316.03 4.3, 318 14 M304 0 C312.89 -1.33, 317.5 4.08, 318 14 M318 14 C317.44 20.33, 317.86 25.14, 318 42 M318 14 C318.36 20.11, 318.22 26.09, 318 42 M318 42 C317.17 51.32, 315.13 55.86, 304 56 M318 42 C315.95 51.82, 314.29 55.98, 304 56 M304 56 C206.07 57.6, 106.76 55.64, 14 56 M304 56 C194.6 54.28, 85.9 54.13, 14 56 M14 56 C4.54 54.11, -0.4 52.63, 0 42 M14 56 C2.65 58.26, 2.03 51.44, 0 42 M0 42 C-0.41 32.8, -1.32 22.72, 0 14 M0 42 C-0.42 30.87, -0.79 20.52, 0 14 M0 14 C1.08 5.73, 5.07 0.72, 14 0 M0 14 C-0.46 2.99, 3.18 -0.37, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(3049 123.5) rotate(0 151 12.5)"><text x="151" 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">Intersect\n(merge by GUID)</text></g><g stroke-linecap="round" transform="translate(3085 309) rotate(0 115.5 28)"><path d="M14 0 C55.01 0.66, 95.68 -1.01, 217 0 M14 0 C57.12 -1.24, 100.89 -1.7, 217 0 M217 0 C227.18 1.57, 232.93 3.36, 231 14 M217 0 C227.29 -1.5, 228.74 3.72, 231 14 M231 14 C230.61 22.03, 232.72 26.18, 231 42 M231 14 C231.23 23.65, 230.64 34.18, 231 42 M231 42 C231.77 51.48, 226.43 56.69, 217 56 M231 42 C231.95 50.95, 225.62 56.03, 217 56 M217 56 C169.01 56.53, 122.72 57.72, 14 56 M217 56 C150.1 55.02, 82.02 55.94, 14 56 M14 56 C4.55 56.29, 1.24 51.88, 0 42 M14 56 C4.06 53.72, -1.99 49.78, 0 42 M0 42 C1.47 34.18, -0.69 27.92, 0 14 M0 42 C0 33.99, -0.48 26.06, 0 14 M0 14 C0.65 4.35, 3.53 1.96, 14 0 M0 14 C-0.27 4.62, 4.21 -1.88, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(3093 324.5) rotate(0 107.5 12.5)"><text x="107.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">IntegrationAdapter</text></g><g stroke-linecap="round" transform="translate(3494 309) rotate(0 412.5 28)"><path d="M14 0 C175.69 -1.76, 336.36 -1.93, 811 0 M14 0 C330.12 -3.29, 645.7 -2.93, 811 0 M811 0 C819.93 -0.48, 826.34 3.11, 825 14 M811 0 C822.25 -1.34, 826.78 6.25, 825 14 M825 14 C825.01 22.78, 826.33 31.03, 825 42 M825 14 C825.41 22.14, 825.09 32, 825 42 M825 42 C824.21 50.2, 820.77 57.86, 811 56 M825 42 C825.78 49.92, 818.32 56.8, 811 56 M811 56 C649.49 58.55, 486.75 57.04, 14 56 M811 56 C578.1 55.99, 345.54 55.67, 14 56 M14 56 C6.55 57.52, 0.55 49.92, 0 42 M14 56 C5.94 56.95, 0.85 51.58, 0 42 M0 42 C1.51 35.12, -1.66 26.98, 0 14 M0 42 C-1.1 34.6, -0.15 27.51, 0 14 M0 14 C-0.45 4.53, 3.76 1.27, 14 0 M0 14 C-1.89 6.29, 3.39 -0.42, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(3502 324.5) rotate(0 404.5 12.5)"><text x="404.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">Marshal Record\n(schema validation,\nstring truncation,\nGUID prefixing)</text></g><g stroke-linecap="round" transform="translate(4409 309) rotate(0 186.5 28)"><path d="M14 0 C83.42 -1.08, 153.73 -2, 359 0 M14 0 C148.11 1.31, 281.01 1.58, 359 0 M359 0 C369.76 0.41, 373.76 3.17, 373 14 M359 0 C366.55 -2.29, 372.56 5.48, 373 14 M373 14 C371.4 19.97, 373.4 25.48, 373 42 M373 14 C372.37 21.52, 372.93 26.46, 373 42 M373 42 C372.72 52.95, 367.01 55.88, 359 56 M373 42 C370.73 50.95, 366.38 54.79, 359 56 M359 56 C253.52 55.76, 150.12 56.46, 14 56 M359 56 C281.32 57.21, 203.73 57.9, 14 56 M14 56 C5.26 57.68, -0.92 50.44, 0 42 M14 56 C5.57 57.4, -0.09 51.29, 0 42 M0 42 C-0.35 30.26, 0.08 21.41, 0 14 M0 42 C0.79 34.12, -0.74 26.88, 0 14 M0 14 C-1.58 3.7, 5.6 0.61, 14 0 M0 14 C-1.09 5.1, 3.42 2.28, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(4417 324.5) rotate(0 178.5 12.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">GUIDMap\n(external Meadow IDs)</text></g><g stroke-linecap="round" transform="translate(4872 309) rotate(0 148 28)"><path d="M14 0 C68.89 0.83, 121.85 2.33, 282 0 M14 0 C110.66 1.83, 206 0.54, 282 0 M282 0 C292.68 -1.2, 296.26 6.23, 296 14 M282 0 C291.86 1.66, 294.97 6.66, 296 14 M296 14 C298.04 20.28, 297.13 31.35, 296 42 M296 14 C296.59 20.57, 296.02 27.5, 296 42 M296 42 C295.4 49.52, 292.26 54.37, 282 56 M296 42 C294.9 52.6, 291.09 57.82, 282 56 M282 56 C217.48 53.79, 154.71 55.88, 14 56 M282 56 C213.83 56.53, 144.58 56.68, 14 56 M14 56 C5.38 56.63, -0.85 49.93, 0 42 M14 56 C5.75 56.01, -2.15 52.34, 0 42 M0 42 C0.5 35.42, 2.08 25.34, 0 14 M0 42 C0.41 32.54, 0.78 22.86, 0 14 M0 14 C-1.33 6.2, 4.97 -0.02, 14 0 M0 14 C-0.14 4.52, 5.35 -1.28, 14 0" stroke="var(--diagram-ink, #1B1F23)" stroke-width="2" fill="none"/></g><g transform="translate(4880 324.5) rotate(0 140 12.5)"><text x="140" 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">Upsert\n(single or bulk)</text></g><g stroke-linecap="round"><g transform="translate(442 116) rotate(0 45 0.2230127511130462)"><path d="M0 0 C3.46 1.28, 6.21 1.32, 16 0 M0 0 C3.88 -0.11, 8.76 0.58, 16 0 M16 0 C16.84 -0.26, 17.66 -0.27, 19.88 0 M16 0 C16.87 0.12, 17.83 0.12, 19.88 0 M19.88 0 C20.75 0.26, 21.97 -0.23, 23.52 0 M19.88 0 C20.81 -0.14, 21.57 -0.07, 23.52 0 M23.52 0 C24.65 0.27, 25.37 0.17, 26.96 0 M23.52 0 C24.4 0.07, 25.19 0.07, 26.96 0 M26.96 0 C27.77 0.1, 28.83 -0.02, 30.23 0 M26.96 0 C28.01 -0.03, 29.13 -0.08, 30.23 0 M30.23 0 C31.27 0.02, 31.77 0.23, 33.36 0 M30.23 0 C31.19 0.07, 32.23 0.06, 33.36 0 M33.36 0 C34.38 -0.27, 35 -0.3, 36.37 0 M33.36 0 C34.12 -0.01, 35.24 -0.04, 36.37 0 M36.37 0 C37.23 -0.25, 38.23 -0.23, 39.29 0 M36.37 0 C37.39 0.08, 38.27 -0.15, 39.29 0 M39.29 0 C39.71 -0.05, 40.43 0.18, 42.16 0 M39.29 0 C40.1 0, 41.11 -0.1, 42.16 0 M42.16 0 C42.74 -0.19, 43.31 0.24, 45 0 M42.16 0 C42.99 -0.01, 43.62 -0.04, 45 0 M45 0 C45.61 -0.03, 46.33 0.05, 47.84 0 M45 0 C45.6 -0.03, 46.52 -0.03, 47.84 0 M47.84 0 C48.92 0.03, 49.62 -0.24, 50.71 0 M47.84 0 C48.81 -0.07, 50.04 -0.1, 50.71 0 M50.71 0 C51.95 0.09, 52.55 0.27, 53.63 0 M50.71 0 C51.18 0.12, 51.84 0.06, 53.63 0 M53.63 0 C54.4 -0.16, 56 0.28, 56.64 0 M53.63 0 C54.66 0, 55.5 -0.06, 56.64 0 M56.64 0 C57.83 0.19, 58.52 -0.19, 59.77 0 M56.64 0 C57.35 0.06, 58.22 -0.12, 59.77 0 M59.77 0 C61.06 0.16, 62.37 0.08, 63.04 0 M59.77 0 C60.57 0.04, 61.5 0.04, 63.04 0 M63.04 0 C63.75 0.03, 65.17 0.07, 66.48 0 M63.04 0 C64.13 0.04, 65.13 0.11, 66.48 0 M66.48 0 C67.56 0.16, 68.03 0.01, 70.12 0 M66.48 0 C67.35 -0.14, 68.37 0.08, 70.12 0 M70.12 0 C71.51 0.14, 72.35 0.35, 74 0 M70.12 0 C71.33 -0.17, 72.36 -0.12, 74 0 M74 0 C79.83 -1.39, 84.16 0.46, 90 0 M74 0 C80.52 -0.36, 86.17 0.48, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(442 116) rotate(0 45 0.2230127511130462)"><path d="M82.59 3.01 C84.22 3.04, 85.48 2.46, 90 0 M82.59 3.01 C84.36 2.14, 86.64 1.67, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(442 116) rotate(0 45 0.2230127511130462)"><path d="M82.39 -2.46 C84.02 -1.33, 85.32 -0.81, 90 0 M82.39 -2.46 C84.22 -1.85, 86.56 -0.84, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1005 116) rotate(0 183.5 -0.37891123340139643)"><path d="M0 0 C1.65 -1.66, 6.25 -1.67, 16 0 M0 0 C3.56 -0.67, 8.07 -0.13, 16 0 M16 0 C25.07 -0.05, 29.49 -1.4, 35.39 0 M16 0 C23.62 -0.51, 30.64 -0.41, 35.39 0 M35.39 0 C38.13 -1.42, 45.29 1.62, 54.51 0 M35.39 0 C42.2 -0.74, 48.28 0.32, 54.51 0 M54.51 0 C62.19 -0.47, 68.45 -0.26, 73.38 0 M54.51 0 C57.63 0.25, 61.67 0.35, 73.38 0 M73.38 0 C81.56 -0.85, 85.87 -0.8, 92.05 0 M73.38 0 C78.7 0.31, 82.67 -0.53, 92.05 0 M92.05 0 C95.11 -1.68, 100.09 0.9, 110.55 0 M92.05 0 C97.12 0.51, 103.37 -0.7, 110.55 0 M110.55 0 C116.45 -1.68, 126.32 -1.3, 128.91 0 M110.55 0 C116.44 0.54, 122.72 -0.28, 128.91 0 M128.91 0 C134.2 -1.63, 137.13 0.79, 147.16 0 M128.91 0 C133 0.16, 137.94 -0.67, 147.16 0 M147.16 0 C149.97 -0.15, 155.96 -0.98, 165.35 0 M147.16 0 C153.08 -0.55, 159.04 0.42, 165.35 0 M165.35 0 C171.75 -1.36, 175.97 -0.35, 183.5 0 M165.35 0 C168.87 -0.49, 173.27 -0.5, 183.5 0 M183.5 0 C189.34 -0.06, 194.71 -0.13, 201.65 0 M183.5 0 C188.17 0.9, 194.24 -0.5, 201.65 0 M201.65 0 C208.04 1.48, 213.74 -1.68, 219.84 0 M201.65 0 C206.84 -0.75, 211.92 0.72, 219.84 0 M219.84 0 C224.08 0.3, 229.24 0.06, 238.09 0 M219.84 0 C225.72 0.79, 232.55 -0.81, 238.09 0 M238.09 0 C243.74 -0.69, 249.96 -0.51, 256.45 0 M238.09 0 C243.06 -0.6, 248.64 -0.89, 256.45 0 M256.45 0 C262.39 -0.13, 265.89 0.2, 274.95 0 M256.45 0 C260.59 0.93, 266.22 -0.11, 274.95 0 M274.95 0 C279.97 1.42, 284.59 -1.87, 293.62 0 M274.95 0 C279.57 -0.29, 285.76 -0.87, 293.62 0 M293.62 0 C302.08 -1.77, 307.16 -1.19, 312.49 0 M293.62 0 C299.54 -0.16, 307.59 0.15, 312.49 0 M312.49 0 C318.38 0.46, 319.99 -0.81, 331.61 0 M312.49 0 C319.84 0.34, 327.03 -0.19, 331.61 0 M331.61 0 C337.4 -0.24, 341.9 0.09, 351 0 M331.61 0 C338.23 0.62, 343.8 0.67, 351 0 M351 0 C356.15 -1.39, 364.1 -0.5, 367 0 M351 0 C355.36 -0.34, 359.28 -0.28, 367 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1005 116) rotate(0 183.5 -0.37891123340139643)"><path d="M359.4 2.5 C360.14 1.17, 362.36 0.66, 367 0 M359.4 2.5 C361.08 1.49, 363.23 1.09, 367 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1005 116) rotate(0 183.5 -0.37891123340139643)"><path d="M359.57 -2.97 C360.29 -3.19, 362.47 -2.6, 367 0 M359.57 -2.97 C361.18 -2.5, 363.29 -1.43, 367 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1701 227) rotate(0 45 -2.0787406769414787)"><path d="M0 0 C4.49 -1.15, 5.87 0.27, 16 0 M0 0 C6.1 -0.81, 12.06 -0.59, 16 0 M16 0 C17.13 0.11, 17.75 0.33, 19.88 -0.04 M16 0 C16.93 -0.22, 17.95 -0.01, 19.88 -0.04 M19.88 -0.04 C20.48 -0.06, 21.4 -0.25, 23.52 -0.14 M19.88 -0.04 C20.88 0.11, 21.97 0.06, 23.52 -0.14 M23.52 -0.14 C24.73 -0.3, 25.45 -0.24, 26.96 -0.3 M23.52 -0.14 C24.62 -0.28, 25.61 -0.11, 26.96 -0.3 M26.96 -0.3 C27.92 -0.26, 28.79 -0.76, 30.23 -0.51 M26.96 -0.3 C28.05 -0.38, 29.21 -0.29, 30.23 -0.51 M30.23 -0.51 C31.05 -0.77, 31.98 -0.96, 33.36 -0.76 M30.23 -0.51 C30.73 -0.66, 31.6 -0.51, 33.36 -0.76 M33.36 -0.76 C34.38 -1.04, 35.31 -0.64, 36.37 -1.04 M33.36 -0.76 C34.53 -0.96, 35.45 -0.86, 36.37 -1.04 M36.37 -1.04 C37.57 -1.18, 38.49 -1.29, 39.29 -1.35 M36.37 -1.04 C37.04 -1.23, 37.87 -1.16, 39.29 -1.35 M39.29 -1.35 C40.38 -1.55, 41.54 -1.77, 42.16 -1.68 M39.29 -1.35 C40.33 -1.47, 41.14 -1.47, 42.16 -1.68 M42.16 -1.68 C42.62 -2.03, 43.22 -1.94, 45 -2.01 M42.16 -1.68 C42.72 -1.7, 43.62 -1.79, 45 -2.01 M45 -2.01 C45.83 -2.25, 46.41 -2.31, 47.84 -2.35 M45 -2.01 C45.99 -1.99, 46.77 -2.29, 47.84 -2.35 M47.84 -2.35 C48.72 -2.52, 49.17 -2.39, 50.71 -2.67 M47.84 -2.35 C48.69 -2.52, 49.4 -2.34, 50.71 -2.67 M50.71 -2.67 C51.18 -2.72, 52.38 -2.72, 53.63 -2.98 M50.71 -2.67 C51.68 -2.74, 52.38 -2.99, 53.63 -2.98 M53.63 -2.98 C54.29 -3.31, 54.8 -2.84, 56.64 -3.27 M53.63 -2.98 C54.68 -3.18, 55.92 -3.23, 56.64 -3.27 M56.64 -3.27 C58.08 -3.33, 59.2 -3.58, 59.77 -3.52 M56.64 -3.27 C57.5 -3.37, 58.1 -3.24, 59.77 -3.52 M59.77 -3.52 C60.66 -3.37, 61 -3.75, 63.04 -3.73 M59.77 -3.52 C60.29 -3.42, 60.97 -3.58, 63.04 -3.73 M63.04 -3.73 C64.64 -3.74, 66.06 -4.13, 66.48 -3.89 M63.04 -3.73 C63.79 -3.6, 64.51 -3.78, 66.48 -3.89 M66.48 -3.89 C67.39 -3.95, 68.29 -4.06, 70.12 -3.99 M66.48 -3.89 C67.97 -4.12, 69.04 -4.12, 70.12 -3.99 M70.12 -3.99 C71.9 -4.36, 72.62 -4.25, 74 -4.03 M70.12 -3.99 C71.61 -4.22, 72.91 -4.13, 74 -4.03 M74 -4.03 C79.26 -5.07, 84.45 -2.95, 90 -4.03 M74 -4.03 C78.17 -3.25, 81.34 -4.14, 90 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1701 227) rotate(0 45 -2.0787406769414787)"><path d="M82.53 -1.18 C84.68 -2.33, 85.26 -2.2, 90 -4.03 M82.53 -1.18 C85.36 -2.65, 88.14 -3.63, 90 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1701 227) rotate(0 45 -2.0787406769414787)"><path d="M82.44 -6.65 C84.58 -6.69, 85.18 -5.44, 90 -4.03 M82.44 -6.65 C85.34 -6.06, 88.16 -4.96, 90 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1514 121.97333333333333) rotate(0 138.5 44.40947328559614)"><path d="M0 0 C1.74 0.61, 5.2 -1.13, 16 0 M0 0 C4.37 0.17, 7.99 -0.49, 16 0 M16 0 C20.26 -0.92, 24.1 0.17, 30.18 0.79 M16 0 C20.81 0.89, 25.83 -0.09, 30.18 0.79 M30.18 0.79 C34.43 1.52, 40.45 3.12, 44.16 3.05 M30.18 0.79 C32.92 1.7, 36.75 1.2, 44.16 3.05 M44.16 3.05 C46.05 4.26, 51.33 5.2, 57.97 6.6 M44.16 3.05 C47.41 4.39, 50.09 4.38, 57.97 6.6 M57.97 6.6 C63.15 7.58, 66.38 8.69, 71.62 11.24 M57.97 6.6 C63.04 8.44, 68.41 10.3, 71.62 11.24 M71.62 11.24 C75.98 13.36, 80.68 14.34, 85.15 16.8 M71.62 11.24 C76.75 12.89, 81.21 15.32, 85.15 16.8 M85.15 16.8 C88.1 17.49, 93.46 19.7, 98.57 23.09 M85.15 16.8 C90.12 18.25, 94.46 20.48, 98.57 23.09 M98.57 23.09 C102.36 26.22, 110.46 27.75, 111.92 29.93 M98.57 23.09 C103.2 24.85, 107.79 27.51, 111.92 29.93 M111.92 29.93 C115.2 31.3, 121.21 34.24, 125.22 37.14 M111.92 29.93 C116.1 31.93, 119.7 35.16, 125.22 37.14 M125.22 37.14 C130.45 38.7, 134.44 43.22, 138.5 44.53 M125.22 37.14 C129.06 39.61, 134 42.45, 138.5 44.53 M138.5 44.53 C143 48.32, 148.04 51.53, 151.78 51.92 M138.5 44.53 C141.6 46.95, 146.09 48.7, 151.78 51.92 M151.78 51.92 C155.65 55.09, 158.11 57.01, 165.08 59.12 M151.78 51.92 C155.33 54.26, 159.62 56.15, 165.08 59.12 M165.08 59.12 C169.36 61.05, 172.63 62.66, 178.43 65.97 M165.08 59.12 C169.85 61.74, 175.66 64.22, 178.43 65.97 M178.43 65.97 C182.35 68.9, 189.62 69.87, 191.85 72.26 M178.43 65.97 C183.77 68.6, 187.39 70.77, 191.85 72.26 M191.85 72.26 C198.14 73.28, 202.07 77.42, 205.38 77.81 M191.85 72.26 C196.73 74.13, 200.69 75.96, 205.38 77.81 M205.38 77.81 C209.59 79.95, 215.59 80.34, 219.03 82.46 M205.38 77.81 C207.75 78.97, 210.44 79.99, 219.03 82.46 M219.03 82.46 C223.99 83.54, 229.81 86.18, 232.84 86 M219.03 82.46 C222.09 83.31, 224.95 84.68, 232.84 86 M232.84 86 C239.03 87.55, 242.83 87.7, 246.82 88.26 M232.84 86 C237.34 87.37, 242.9 87.97, 246.82 88.26 M246.82 88.26 C251.55 88.07, 256.33 89.1, 261 89.05 M246.82 88.26 C249.73 88.34, 254.3 89, 261 89.05 M261 89.05 C266.67 89.61, 270.33 88.46, 277 89.05 M261 89.05 C267.43 88.73, 273.24 88.95, 277 89.05" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1514 121.97333333333333) rotate(0 138.5 44.40947328559614)"><path d="M269.41 91.58 C270.22 91.37, 271.87 89.98, 277 89.05 M269.41 91.58 C271.48 91.02, 273.18 90.03, 277 89.05" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1514 121.97333333333333) rotate(0 138.5 44.40947328559614)"><path d="M269.56 86.11 C270.29 87.01, 271.91 86.74, 277 89.05 M269.56 86.11 C271.62 86.96, 273.28 87.4, 277 89.05" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(2264 217) rotate(0 90 -17.61522366753003)"><path d="M0 0 C2.56 -1.17, 5.09 0.75, 16 0 M0 0 C4.29 -0.31, 8.7 0.44, 16 0 M16 0 C18.88 -0.75, 20.61 -0.29, 24.57 -0.31 M16 0 C19.42 -0.55, 22 0.14, 24.57 -0.31 M24.57 -0.31 C27.05 -0.02, 29.52 -0.66, 33.01 -1.2 M24.57 -0.31 C28.23 -0.65, 31.45 -0.98, 33.01 -1.2 M33.01 -1.2 C35.3 -1.71, 36.92 -1.28, 41.35 -2.59 M33.01 -1.2 C36.36 -2.1, 39.99 -2.07, 41.35 -2.59 M41.35 -2.59 C44.18 -2.99, 46.6 -4.52, 49.6 -4.42 M41.35 -2.59 C43.37 -2.85, 45.77 -3.44, 49.6 -4.42 M49.6 -4.42 C53.42 -4.94, 56.33 -6.66, 57.77 -6.61 M49.6 -4.42 C52.67 -5.13, 56.16 -6.01, 57.77 -6.61 M57.77 -6.61 C60.56 -7.9, 63.6 -9.21, 65.88 -9.08 M57.77 -6.61 C59.5 -6.91, 61.15 -7.36, 65.88 -9.08 M65.88 -9.08 C68.1 -9.15, 69.22 -11.13, 73.95 -11.77 M65.88 -9.08 C68.54 -9.43, 70.33 -10.94, 73.95 -11.77 M73.95 -11.77 C76.97 -13.58, 79.4 -14.27, 81.98 -14.61 M73.95 -11.77 C75.4 -12.12, 77.45 -13.2, 81.98 -14.61 M81.98 -14.61 C84.24 -14.5, 85.19 -15.68, 90 -17.51 M81.98 -14.61 C83.67 -15.13, 85.01 -15.47, 90 -17.51 M90 -17.51 C92.64 -18.32, 95.3 -18.62, 98.02 -20.42 M90 -17.51 C91.67 -18.58, 94.12 -18.9, 98.02 -20.42 M98.02 -20.42 C100.29 -21.9, 102.63 -22.29, 106.05 -23.26 M98.02 -20.42 C100.58 -21.5, 103.62 -22.1, 106.05 -23.26 M106.05 -23.26 C108.65 -23.99, 110.73 -24.43, 114.12 -25.95 M106.05 -23.26 C108.97 -24.21, 112.6 -25.81, 114.12 -25.95 M114.12 -25.95 C116.7 -26.26, 119.52 -27.93, 122.23 -28.42 M114.12 -25.95 C117.34 -26.94, 120.97 -27.87, 122.23 -28.42 M122.23 -28.42 C124.63 -29.32, 127.64 -30.09, 130.4 -30.61 M122.23 -28.42 C124.92 -29.47, 128.35 -30.12, 130.4 -30.61 M130.4 -30.61 C134.1 -32.05, 137.5 -32.66, 138.65 -32.43 M130.4 -30.61 C133.74 -31.01, 136.74 -32, 138.65 -32.43 M138.65 -32.43 C140.5 -32.85, 142.97 -33.37, 146.99 -33.83 M138.65 -32.43 C141.27 -32.86, 144.44 -33.68, 146.99 -33.83 M146.99 -33.83 C149.91 -34.05, 150.99 -34.08, 155.43 -34.71 M146.99 -33.83 C149.3 -34.06, 151.81 -33.99, 155.43 -34.71 M155.43 -34.71 C157.96 -34.12, 159.32 -34.35, 164 -35.03 M155.43 -34.71 C159.12 -34.8, 161.91 -34.72, 164 -35.03 M164 -35.03 C169.2 -35.01, 174.82 -35.19, 180 -35.03 M164 -35.03 C168.02 -35.53, 171.12 -35.54, 180 -35.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(2264 217) rotate(0 90 -17.61522366753003)"><path d="M172.36 -32.66 C173.55 -33.72, 174.74 -33.24, 180 -35.03 M172.36 -32.66 C174.38 -33.51, 176.49 -33.84, 180 -35.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(2264 217) rotate(0 90 -17.61522366753003)"><path d="M172.62 -38.13 C173.81 -38.09, 174.94 -36.51, 180 -35.03 M172.62 -38.13 C174.6 -37.37, 176.63 -36.09, 180 -35.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(1514 110.02666666666667) rotate(0 172 -1.8223840160105027)"><path d="M0 0 C2.22 -0.9, 5.82 -1.28, 16 0 M0 0 C6.01 -0.16, 10.42 0.1, 16 0 M16 0 C20.15 -1.2, 24.74 -0.17, 34.06 -0.04 M16 0 C22.72 -0.81, 29.09 -0.81, 34.06 -0.04 M34.06 -0.04 C41.34 1.65, 48.8 0.28, 51.87 -0.14 M34.06 -0.04 C39.1 0.51, 45.38 -0.34, 51.87 -0.14 M51.87 -0.14 C58.18 1.29, 64.32 -1.09, 69.44 -0.3 M51.87 -0.14 C58.09 -0.13, 65.41 0.06, 69.44 -0.3 M69.44 -0.3 C77.55 -1.62, 83.49 1.17, 86.83 -0.51 M69.44 -0.3 C75.95 0.53, 81.88 0.48, 86.83 -0.51 M86.83 -0.51 C91.4 0.46, 96.45 0.14, 104.06 -0.76 M86.83 -0.51 C91.29 -1.02, 97.31 0.03, 104.06 -0.76 M104.06 -0.76 C109.09 -2.59, 114.81 -1.18, 121.16 -1.04 M104.06 -0.76 C108.89 -1.53, 114.98 -1.03, 121.16 -1.04 M121.16 -1.04 C123.6 -0.53, 129.82 -1.89, 138.16 -1.35 M121.16 -1.04 C127.32 -1.37, 131.21 -0.35, 138.16 -1.35 M138.16 -1.35 C143.31 -1.74, 148.25 -2.95, 155.09 -1.68 M138.16 -1.35 C143.06 -1.91, 149.15 -2.04, 155.09 -1.68 M155.09 -1.68 C158.78 -1.47, 161.37 -0.68, 172 -2.01 M155.09 -1.68 C162.08 -1.79, 167.6 -1.91, 172 -2.01 M172 -2.01 C177.57 -3.66, 180.33 -3.8, 188.91 -2.35 M172 -2.01 C176.62 -2.3, 179.31 -2.06, 188.91 -2.35 M188.91 -2.35 C194.58 -3.17, 202.08 -3.58, 205.84 -2.67 M188.91 -2.35 C195.39 -2.07, 200.6 -1.68, 205.84 -2.67 M205.84 -2.67 C209.77 -3.42, 214.07 -3.24, 222.84 -2.98 M205.84 -2.67 C210.27 -2.97, 213.77 -3.2, 222.84 -2.98 M222.84 -2.98 C225.7 -4.28, 231.34 -4.59, 239.94 -3.27 M222.84 -2.98 C228.23 -3.02, 232.27 -3.29, 239.94 -3.27 M239.94 -3.27 C244.98 -3.38, 247.05 -3.74, 257.17 -3.52 M239.94 -3.27 C246.41 -2.41, 251.54 -2.66, 257.17 -3.52 M257.17 -3.52 C260.83 -5.03, 266.27 -1.99, 274.56 -3.73 M257.17 -3.52 C263.72 -3.11, 270.13 -3.38, 274.56 -3.73 M274.56 -3.73 C278.5 -3.25, 283.38 -4.37, 292.13 -3.89 M274.56 -3.73 C277.9 -3.78, 281 -4.46, 292.13 -3.89 M292.13 -3.89 C295.5 -5.21, 298.97 -3.05, 309.94 -3.99 M292.13 -3.89 C299.39 -4.01, 305.77 -3.76, 309.94 -3.99 M309.94 -3.99 C316.47 -4.32, 321.77 -4.76, 328 -4.03 M309.94 -3.99 C316.68 -4.17, 324.47 -3.58, 328 -4.03 M328 -4.03 C335.19 -4.5, 341.34 -3.89, 344 -4.03 M328 -4.03 C333.9 -3.35, 339.56 -4.48, 344 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1514 110.02666666666667) rotate(0 172 -1.8223840160105027)"><path d="M336.44 -1.42 C337.48 -2.4, 339.2 -3.12, 344 -4.03 M336.44 -1.42 C339.29 -2.4, 341.35 -3.17, 344 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(1514 110.02666666666667) rotate(0 172 -1.8223840160105027)"><path d="M336.53 -6.89 C337.5 -6.75, 339.2 -6.35, 344 -4.03 M336.53 -6.89 C339.35 -5.98, 341.37 -4.86, 344 -4.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(2198 106) rotate(0 123 32.07274113516479)"><path d="M0 0 C2.62 1.15, 8.03 0.3, 16 0 M0 0 C5.5 -0.46, 9.61 -0.18, 16 0 M16 0 C20.25 1.01, 23.41 1.09, 28.39 0.57 M16 0 C20.38 0.63, 24.49 0.94, 28.39 0.57 M28.39 0.57 C33.2 1.72, 36.5 2.72, 40.6 2.2 M28.39 0.57 C31.16 1.47, 34.83 1.33, 40.6 2.2 M40.6 2.2 C42.84 2.72, 45.98 3.24, 52.66 4.74 M40.6 2.2 C44.86 2.53, 48.7 4.32, 52.66 4.74 M52.66 4.74 C55.96 6.14, 59.53 8.03, 64.58 8.08 M52.66 4.74 C57.02 6.63, 62.71 7.01, 64.58 8.08 M64.58 8.08 C66.41 8.02, 71.09 9.87, 76.4 12.08 M64.58 8.08 C68.75 9.53, 74.12 11.44, 76.4 12.08 M76.4 12.08 C79.79 14.22, 85.34 14.89, 88.13 16.6 M76.4 12.08 C81 13.5, 85.93 15.64, 88.13 16.6 M88.13 16.6 C92.68 18.15, 96.63 19.17, 99.79 21.52 M88.13 16.6 C92.03 18.1, 96.81 20.49, 99.79 21.52 M99.79 21.52 C104.8 22.33, 108.33 26.05, 111.4 26.7 M99.79 21.52 C102.49 23.61, 105.73 24.24, 111.4 26.7 M111.4 26.7 C115.16 27.84, 120.78 31.73, 123 32.01 M111.4 26.7 C113.26 28.01, 115.77 29.22, 123 32.01 M123 32.01 C125.13 34.43, 129.47 34.86, 134.6 37.33 M123 32.01 C125.64 33.41, 127.87 34.57, 134.6 37.33 M134.6 37.33 C138.79 39.23, 141.98 40.29, 146.21 42.51 M134.6 37.33 C138.86 39.35, 143.07 41.66, 146.21 42.51 M146.21 42.51 C148.9 43.9, 154.49 44.5, 157.87 47.43 M146.21 42.51 C149.65 44.15, 153.36 46.03, 157.87 47.43 M157.87 47.43 C160.04 47.48, 163.62 48.8, 169.6 51.95 M157.87 47.43 C162.3 49.56, 166.77 50.36, 169.6 51.95 M169.6 51.95 C173.48 53.64, 176.42 55.12, 181.42 55.95 M169.6 51.95 C172.9 53.32, 177.54 53.91, 181.42 55.95 M181.42 55.95 C186.65 56.27, 189.47 58.22, 193.34 59.28 M181.42 55.95 C185.69 57.02, 189.93 58.12, 193.34 59.28 M193.34 59.28 C197.67 61.09, 200.67 61.47, 205.4 61.83 M193.34 59.28 C195.75 59.7, 198.92 60.19, 205.4 61.83 M205.4 61.83 C208.74 62.24, 211.7 62.99, 217.61 63.46 M205.4 61.83 C209.05 62.29, 213.04 63.49, 217.61 63.46 M217.61 63.46 C219.4 62.99, 224.27 62.66, 230 64.03 M217.61 63.46 C221.39 63.64, 226.18 64.13, 230 64.03 M230 64.03 C235.92 63.64, 239.09 62.83, 246 64.03 M230 64.03 C233.46 64.63, 236.34 64.39, 246 64.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(2198 106) rotate(0 123 32.07274113516479)"><path d="M238.6 67.05 C239.76 67.01, 242.35 65.97, 246 64.03 M238.6 67.05 C241.18 65.91, 243.05 65.14, 246 64.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(2198 106) rotate(0 123 32.07274113516479)"><path d="M238.38 61.59 C239.63 62.66, 242.26 62.72, 246 64.03 M238.38 61.59 C241.01 62.08, 242.95 62.96, 246 64.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(2906 167.04) rotate(0 67.5 -18.4891590854145)"><path d="M0 0 C4.4 -1.05, 5.03 0.69, 16 0 M0 0 C4.36 -0.18, 8.21 -0.12, 16 0 M16 0 C18.68 -0.15, 19.8 -0.29, 21.96 -0.33 M16 0 C17.77 0.07, 19.46 -0.12, 21.96 -0.33 M21.96 -0.33 C24.22 -1.01, 26.8 -1.48, 27.84 -1.27 M21.96 -0.33 C24.25 -0.46, 26.2 -1.13, 27.84 -1.27 M27.84 -1.27 C29.82 -1.91, 30.79 -2.31, 33.64 -2.74 M27.84 -1.27 C29.45 -1.85, 31.03 -2.14, 33.64 -2.74 M33.64 -2.74 C34.89 -3.42, 35.55 -3.97, 39.38 -4.67 M33.64 -2.74 C35.67 -3.62, 37.63 -3.96, 39.38 -4.67 M39.38 -4.67 C40.22 -5.75, 41.35 -5.15, 45.07 -6.98 M39.38 -4.67 C40.73 -5.17, 43.01 -5.69, 45.07 -6.98 M45.07 -6.98 C46.79 -8.42, 49.9 -8.96, 50.71 -9.6 M45.07 -6.98 C46.29 -7.59, 47.82 -8.26, 50.71 -9.6 M50.71 -9.6 C52.53 -10.66, 52.92 -10.6, 56.33 -12.44 M50.71 -9.6 C52.21 -10.69, 53.79 -11.11, 56.33 -12.44 M56.33 -12.44 C57.43 -13.51, 58.93 -13.6, 61.92 -15.43 M56.33 -12.44 C57.94 -13.54, 60.18 -14.38, 61.92 -15.43 M61.92 -15.43 C63.32 -16.39, 65.32 -17.47, 67.5 -18.51 M61.92 -15.43 C63.48 -16.32, 64.96 -17.31, 67.5 -18.51 M67.5 -18.51 C68.7 -18.76, 69.61 -19.56, 73.08 -21.58 M67.5 -18.51 C69.21 -19.65, 71.36 -20.85, 73.08 -21.58 M73.08 -21.58 C74.31 -21.85, 75.65 -22.6, 78.67 -24.57 M73.08 -21.58 C75.55 -22.67, 77.54 -23.65, 78.67 -24.57 M78.67 -24.57 C80.23 -25.17, 82.91 -26.3, 84.29 -27.42 M78.67 -24.57 C80.73 -25.84, 82.93 -26.77, 84.29 -27.42 M84.29 -27.42 C85.6 -28.25, 87.31 -29.22, 89.93 -30.03 M84.29 -27.42 C85.69 -27.98, 87.16 -28.74, 89.93 -30.03 M89.93 -30.03 C91.95 -30.29, 94.51 -32.02, 95.62 -32.34 M89.93 -30.03 C92.09 -30.99, 93.53 -31.8, 95.62 -32.34 M95.62 -32.34 C97.63 -32.71, 99.91 -34.24, 101.36 -34.27 M95.62 -32.34 C97.15 -32.74, 98.58 -33.53, 101.36 -34.27 M101.36 -34.27 C103.46 -34.51, 105.37 -35.01, 107.16 -35.74 M101.36 -34.27 C103.32 -34.85, 104.63 -34.89, 107.16 -35.74 M107.16 -35.74 C109.39 -36.38, 111.15 -36.2, 113.04 -36.68 M107.16 -35.74 C108.92 -36.21, 110.75 -36.3, 113.04 -36.68 M113.04 -36.68 C114.4 -36.9, 115.94 -36.73, 119 -37.01 M113.04 -36.68 C115.16 -36.74, 117.6 -36.95, 119 -37.01 M119 -37.01 C121.67 -36.42, 126.44 -36.05, 135 -37.01 M119 -37.01 C125.03 -37.48, 131.48 -36.53, 135 -37.01" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(2906 167.04) rotate(0 67.5 -18.4891590854145)"><path d="M127.57 -34.04 C129.65 -35.16, 129.86 -34.89, 135 -37.01 M127.57 -34.04 C129.63 -34.91, 131.4 -35.66, 135 -37.01" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(2906 167.04) rotate(0 67.5 -18.4891590854145)"><path d="M127.4 -39.51 C129.52 -39.53, 129.76 -38.16, 135 -37.01 M127.4 -39.51 C129.45 -38.95, 131.27 -38.26, 135 -37.01" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(3041 141.97333333333333) rotate(0 -67.5 16.928645801737275)"><path d="M0 0 C-2.97 1.24, -7.74 -1.39, -16 0 M0 0 C-5.78 -0.45, -9.92 0.39, -16 0 M-16 0 C-18.19 -0.09, -20.69 -0.39, -21.96 0.3 M-16 0 C-18.21 0.17, -19.83 -0.07, -21.96 0.3 M-21.96 0.3 C-23.77 -0.08, -24.75 0.67, -27.84 1.17 M-21.96 0.3 C-23.86 0.64, -25.19 0.88, -27.84 1.17 M-27.84 1.17 C-29.62 1.33, -30.51 1.72, -33.64 2.52 M-27.84 1.17 C-30.31 1.99, -32.37 2, -33.64 2.52 M-33.64 2.52 C-35.65 3.05, -36.82 3.26, -39.38 4.29 M-33.64 2.52 C-35.21 3.37, -37.39 3.71, -39.38 4.29 M-39.38 4.29 C-41 4.95, -42.49 5.53, -45.07 6.42 M-39.38 4.29 C-41.14 5.16, -42.65 5.55, -45.07 6.42 M-45.07 6.42 C-46.83 6.88, -48.5 7.52, -50.71 8.82 M-45.07 6.42 C-46.22 6.94, -47.79 7.4, -50.71 8.82 M-50.71 8.82 C-51.48 9.62, -53.93 10.22, -56.33 11.44 M-50.71 8.82 C-52.74 9.38, -54.23 10.65, -56.33 11.44 M-56.33 11.44 C-58.1 11.73, -59.25 12.5, -61.92 14.19 M-56.33 11.44 C-57.86 12.12, -58.83 12.76, -61.92 14.19 M-61.92 14.19 C-63.5 15.3, -65.86 16.66, -67.5 17.01 M-61.92 14.19 C-64.02 15.34, -65.85 15.76, -67.5 17.01 M-67.5 17.01 C-68.55 18.16, -71.21 18.5, -73.08 19.84 M-67.5 17.01 C-69.3 17.73, -71.29 18.93, -73.08 19.84 M-73.08 19.84 C-75.39 21.1, -77.36 22.21, -78.67 22.59 M-73.08 19.84 C-75.14 21.02, -76.73 21.35, -78.67 22.59 M-78.67 22.59 C-80.46 24.18, -82.87 24.79, -84.29 25.2 M-78.67 22.59 C-80.34 23.52, -81.66 24.01, -84.29 25.2 M-84.29 25.2 C-85.89 26.09, -87.1 26.92, -89.93 27.61 M-84.29 25.2 C-86.54 26.1, -88.18 27.13, -89.93 27.61 M-89.93 27.61 C-91.83 28.66, -94.24 29.47, -95.62 29.73 M-89.93 27.61 C-91.28 28.08, -92.91 28.6, -95.62 29.73 M-95.62 29.73 C-97.02 30.47, -100.13 30.39, -101.36 31.51 M-95.62 29.73 C-97.13 30.04, -98.23 30.27, -101.36 31.51 M-101.36 31.51 C-102.52 32.4, -103.96 32.33, -107.16 32.86 M-101.36 31.51 C-102.84 31.73, -104.74 32.51, -107.16 32.86 M-107.16 32.86 C-109.1 33.65, -109.69 33.3, -113.04 33.72 M-107.16 32.86 C-109.64 33.13, -111.47 33.57, -113.04 33.72 M-113.04 33.72 C-114.32 34.02, -115.68 33.34, -119 34.03 M-113.04 33.72 C-114.74 33.82, -116.48 34.07, -119 34.03 M-119 34.03 C-123.25 33.78, -130.42 32.87, -135 34.03 M-119 34.03 C-123.02 33.71, -125.96 34.72, -135 34.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(3041 141.97333333333333) rotate(0 -67.5 16.928645801737275)"><path d="M-127.39 31.57 C-128.79 32.68, -131.1 31.86, -135 34.03 M-127.39 31.57 C-130.15 32.15, -132.1 33.38, -135 34.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(3041 141.97333333333333) rotate(0 -67.5 16.928645801737275)"><path d="M-127.59 37.04 C-128.96 37.05, -131.22 35.13, -135 34.03 M-127.59 37.04 C-130.28 35.83, -132.15 35.27, -135 34.03" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(2906 184.95999999999998) rotate(0 89.5 75.93674459732364)"><path d="M0 0 C2.56 0.88, 6.42 1.38, 16 0 M0 0 C6.56 -0.75, 11.17 0.24, 16 0 M16 0 C18.77 0.55, 22.8 0.46, 24.51 1.36 M16 0 C19.42 0.68, 22.09 0.57, 24.51 1.36 M24.51 1.36 C26.84 2.96, 27.89 2.72, 32.9 5.21 M24.51 1.36 C27.72 2.43, 30.81 4.15, 32.9 5.21 M32.9 5.21 C36.4 7.65, 37.81 10.23, 41.18 11.26 M32.9 5.21 C35.5 7, 38.9 9.85, 41.18 11.26 M41.18 11.26 C42.94 12.4, 44.07 13.7, 49.37 19.19 M41.18 11.26 C43.4 13.06, 44.53 14.19, 49.37 19.19 M49.37 19.19 C51.74 23.82, 54.39 25.91, 57.49 28.68 M49.37 19.19 C52.32 22.87, 54.94 25.58, 57.49 28.68 M57.49 28.68 C59.28 30.67, 61.53 34.09, 65.54 39.42 M57.49 28.68 C59.8 31.85, 61.56 35.02, 65.54 39.42 M65.54 39.42 C69.18 41.83, 69.28 47.3, 73.55 51.1 M65.54 39.42 C66.88 41.49, 68.37 43.91, 73.55 51.1 M73.55 51.1 C75.68 55.38, 80.34 60.25, 81.53 63.4 M73.55 51.1 C75.1 54.46, 78.07 56.58, 81.53 63.4 M81.53 63.4 C83.07 66.13, 86.56 68.19, 89.5 76.02 M81.53 63.4 C84.94 68.03, 87.51 73.36, 89.5 76.02 M89.5 76.02 C92.22 78.83, 93.47 82.76, 97.47 88.64 M89.5 76.02 C91.62 78.92, 92.92 82.72, 97.47 88.64 M97.47 88.64 C100.47 92.31, 102.52 95.08, 105.45 100.94 M97.47 88.64 C99.26 92.26, 102.16 95.7, 105.45 100.94 M105.45 100.94 C107.67 106.64, 111.98 111.3, 113.46 112.62 M105.45 100.94 C108.33 104.79, 110.12 107.85, 113.46 112.62 M113.46 112.62 C116.43 115.9, 118.36 118.88, 121.51 123.36 M113.46 112.62 C115.67 116.43, 118.65 119.99, 121.51 123.36 M121.51 123.36 C124.11 126.94, 127.04 130.65, 129.63 132.85 M121.51 123.36 C124.59 126.95, 126.65 130.11, 129.63 132.85 M129.63 132.85 C132.95 135.75, 133.14 136.34, 137.82 140.78 M129.63 132.85 C131.82 134.97, 133.13 136.56, 137.82 140.78 M137.82 140.78 C139.55 141.99, 142.69 143.4, 146.1 146.83 M137.82 140.78 C140.77 142.1, 143.06 144.87, 146.1 146.83 M146.1 146.83 C149.62 148.2, 152.74 149.09, 154.49 150.68 M146.1 146.83 C147.81 147.84, 149.8 148.37, 154.49 150.68 M154.49 150.68 C157.05 150.34, 159.9 151.03, 163 152.04 M154.49 150.68 C157.62 151.37, 159.61 151.93, 163 152.04 M163 152.04 C166.14 152.44, 170.23 151.67, 179 152.04 M163 152.04 C167.75 151.9, 172.81 152.29, 179 152.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(2906 184.95999999999998) rotate(0 89.5 75.93674459732364)"><path d="M171.53 154.9 C172.69 154.76, 174.51 154.44, 179 152.04 M171.53 154.9 C174.61 153.48, 176.73 152.92, 179 152.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(2906 184.95999999999998) rotate(0 89.5 75.93674459732364)"><path d="M171.44 149.43 C172.64 150.39, 174.49 151.17, 179 152.04 M171.44 149.43 C174.55 150.01, 176.7 151.46, 179 152.04" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(3316 337) rotate(0 89 0.06683165302365524)"><path d="M0 0 C2.54 0.27, 5.49 0.18, 16 0 M0 0 C5.41 -0.59, 10.59 0.14, 16 0 M16 0 C17.19 0.75, 19.78 0.18, 24.45 0 M16 0 C17.86 0.05, 19.74 0.46, 24.45 0 M24.45 0 C26.67 -0.43, 28.85 -0.51, 32.78 0 M24.45 0 C27.22 -0.18, 30 -0.19, 32.78 0 M32.78 0 C35.98 -0.6, 37.25 -0.07, 41.01 0 M32.78 0 C34.82 -0.06, 37.08 0.16, 41.01 0 M41.01 0 C42.69 0.76, 43.73 0.28, 49.15 0 M41.01 0 C43.23 -0.33, 45.93 -0.24, 49.15 0 M49.15 0 C51.36 -0.54, 55.04 0.36, 57.21 0 M49.15 0 C50.73 0.34, 52.77 0.2, 57.21 0 M57.21 0 C58.75 0.82, 62.35 0.55, 65.21 0 M57.21 0 C59.13 -0.14, 61.96 0.02, 65.21 0 M65.21 0 C66.91 0.33, 68.11 0.31, 73.16 0 M65.21 0 C66.87 0.31, 68.58 -0.06, 73.16 0 M73.16 0 C75.04 -0.49, 76.95 -0.53, 81.09 0 M73.16 0 C76.66 0.2, 79.69 -0.1, 81.09 0 M81.09 0 C82.8 0.5, 85.41 -0.7, 89 0 M81.09 0 C83.1 -0.38, 85.25 0.21, 89 0 M89 0 C91.78 -0.18, 93.9 -0.57, 96.91 0 M89 0 C91.4 0.04, 93.43 -0.17, 96.91 0 M96.91 0 C99.26 0.51, 102.68 0.43, 104.84 0 M96.91 0 C98.69 -0.27, 100.93 -0.37, 104.84 0 M104.84 0 C107.62 0.61, 111.14 0.26, 112.79 0 M104.84 0 C107.1 -0.35, 109.15 -0.39, 112.79 0 M112.79 0 C114.91 -0.11, 118.49 -0.55, 120.79 0 M112.79 0 C115.48 -0.41, 118.35 -0.2, 120.79 0 M120.79 0 C124.36 -0.8, 126.24 0.34, 128.85 0 M120.79 0 C123.72 -0.35, 125.52 0.14, 128.85 0 M128.85 0 C131.58 -0.28, 134.16 0.03, 136.99 0 M128.85 0 C131.56 -0.28, 135.29 -0.03, 136.99 0 M136.99 0 C139 0.29, 142.72 0.52, 145.22 0 M136.99 0 C139 -0.31, 140.95 -0.22, 145.22 0 M145.22 0 C147.89 0.26, 148.95 0.23, 153.55 0 M145.22 0 C147.56 0.2, 150.02 -0.33, 153.55 0 M153.55 0 C154.95 -0.01, 157.19 -0.52, 162 0 M153.55 0 C156.57 -0.09, 159.41 -0.23, 162 0 M162 0 C168.91 0.15, 174.06 -0.72, 178 0 M162 0 C166.38 0.17, 171.62 -0.12, 178 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(3316 337) rotate(0 89 0.06683165302365524)"><path d="M170.47 2.71 C171.64 2.29, 173.02 1.71, 178 0 M170.47 2.71 C173.01 1.54, 175.45 1.05, 178 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(3316 337) rotate(0 89 0.06683165302365524)"><path d="M170.49 -2.77 C171.67 -2.08, 173.05 -1.57, 178 0 M170.49 -2.77 C173.06 -2.18, 175.49 -0.93, 178 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(4319 337) rotate(0 45 -0.06689307067651384)"><path d="M0 0 C3.13 0.12, 7.68 -0.41, 16 0 M0 0 C3.91 -0.24, 9.1 0.65, 16 0 M16 0 C16.83 0.08, 17.9 -0.22, 19.88 0 M16 0 C17.3 -0.18, 18.97 -0.14, 19.88 0 M19.88 0 C20.89 0.15, 21.47 0.34, 23.52 0 M19.88 0 C20.9 0.1, 21.85 0.13, 23.52 0 M23.52 0 C24.53 0.3, 25.15 0.22, 26.96 0 M23.52 0 C24.45 0.03, 24.99 0.11, 26.96 0 M26.96 0 C27.96 0.12, 29.35 -0.28, 30.23 0 M26.96 0 C27.72 -0.14, 28.83 0.04, 30.23 0 M30.23 0 C31.18 -0.15, 32.29 0.02, 33.36 0 M30.23 0 C31.28 -0.13, 32.33 0.02, 33.36 0 M33.36 0 C34.03 0.28, 34.6 0.14, 36.37 0 M33.36 0 C34.32 -0.08, 35.3 0.12, 36.37 0 M36.37 0 C36.79 -0.05, 37.56 -0.16, 39.29 0 M36.37 0 C37.28 -0.11, 38.38 -0.08, 39.29 0 M39.29 0 C40.1 0.26, 40.65 0.24, 42.16 0 M39.29 0 C40.58 0.14, 41.62 -0.12, 42.16 0 M42.16 0 C42.75 -0.19, 43.93 0.13, 45 0 M42.16 0 C43.24 0.06, 44.21 -0.14, 45 0 M45 0 C45.65 0.01, 46.2 -0.26, 47.84 0 M45 0 C45.58 0.11, 46.31 0, 47.84 0 M47.84 0 C48.41 0.06, 49.39 -0.19, 50.71 0 M47.84 0 C48.95 -0.09, 50.04 -0.02, 50.71 0 M50.71 0 C51.05 0.04, 52.22 0.03, 53.63 0 M50.71 0 C51.78 0.09, 52.88 0.04, 53.63 0 M53.63 0 C54.59 -0.29, 55.81 0.22, 56.64 0 M53.63 0 C54.48 -0.06, 55.09 -0.01, 56.64 0 M56.64 0 C57.54 -0.28, 58.93 0.27, 59.77 0 M56.64 0 C57.54 0.11, 58.4 -0.05, 59.77 0 M59.77 0 C60.61 0.1, 61.95 -0.22, 63.04 0 M59.77 0 C60.7 0.08, 61.63 -0.16, 63.04 0 M63.04 0 C63.71 -0.25, 65.02 0.3, 66.48 0 M63.04 0 C63.78 -0.1, 64.67 0.01, 66.48 0 M66.48 0 C67.28 -0.17, 67.92 0.23, 70.12 0 M66.48 0 C67.6 -0.03, 68.59 -0.13, 70.12 0 M70.12 0 C70.85 -0.09, 72.05 0.09, 74 0 M70.12 0 C71.18 0.18, 72 0.18, 74 0 M74 0 C78.8 -0.54, 81.46 -0.47, 90 0 M74 0 C79.46 0.13, 84.01 -0.2, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(4319 337) rotate(0 45 -0.06689307067651384)"><path d="M82.45 2.64 C83.9 2.16, 86.08 1.35, 90 0 M82.45 2.64 C84.28 1.8, 86.76 1.52, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(4319 337) rotate(0 45 -0.06689307067651384)"><path d="M82.52 -2.83 C84 -2.19, 86.17 -1.88, 90 0 M82.52 -2.83 C84.32 -2.17, 86.78 -0.95, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/><g stroke-linecap="round"><g transform="translate(4782 337) rotate(0 45 -0.0723153663965661)"><path d="M0 0 C2.1 -0.12, 7.84 -0.92, 16 0 M0 0 C3.64 0.03, 8.64 0.21, 16 0 M16 0 C16.99 0.32, 18.44 0.31, 19.88 0 M16 0 C17.46 -0.16, 18.85 0.14, 19.88 0 M19.88 0 C21.58 -0.37, 22.54 -0.06, 23.52 0 M19.88 0 C20.9 -0.09, 22.05 0.08, 23.52 0 M23.52 0 C23.99 0, 25.2 -0.17, 26.96 0 M23.52 0 C24.17 0.05, 24.92 0.07, 26.96 0 M26.96 0 C27.58 0.22, 28.58 0.2, 30.23 0 M26.96 0 C28.33 -0.13, 29.46 -0.09, 30.23 0 M30.23 0 C31.19 -0.05, 32.42 0.17, 33.36 0 M30.23 0 C31.35 0.1, 32.87 0.1, 33.36 0 M33.36 0 C34.34 0.03, 35.26 -0.23, 36.37 0 M33.36 0 C34.65 0.09, 35.85 -0.01, 36.37 0 M36.37 0 C37.07 -0.27, 37.68 0.02, 39.29 0 M36.37 0 C36.9 -0.11, 37.71 0.1, 39.29 0 M39.29 0 C39.87 0.24, 40.91 -0.08, 42.16 0 M39.29 0 C40.34 0.12, 41.22 0, 42.16 0 M42.16 0 C43.06 -0.19, 43.55 -0.25, 45 0 M42.16 0 C43.35 -0.06, 44.31 0, 45 0 M45 0 C45.69 -0.17, 46.36 0.27, 47.84 0 M45 0 C45.98 0.11, 47.21 -0.05, 47.84 0 M47.84 0 C48.43 0.18, 49.43 -0.26, 50.71 0 M47.84 0 C48.69 -0.01, 49.39 0.16, 50.71 0 M50.71 0 C51.82 0.19, 52.88 0.06, 53.63 0 M50.71 0 C51.75 0.05, 52.81 -0.01, 53.63 0 M53.63 0 C54.52 0.01, 55.23 0.14, 56.64 0 M53.63 0 C54.27 -0.13, 54.87 0.12, 56.64 0 M56.64 0 C57.38 0.16, 58.78 -0.05, 59.77 0 M56.64 0 C57.73 0.02, 58.43 0.08, 59.77 0 M59.77 0 C60.59 -0.26, 61.36 0.1, 63.04 0 M59.77 0 C60.82 0.12, 61.95 0.12, 63.04 0 M63.04 0 C64.2 -0.25, 65.08 0.18, 66.48 0 M63.04 0 C64.21 -0.03, 65.47 0.03, 66.48 0 M66.48 0 C68.14 0.07, 68.85 0.03, 70.12 0 M66.48 0 C67.75 0.14, 69.4 -0.15, 70.12 0 M70.12 0 C71.34 0.04, 72.22 -0.05, 74 0 M70.12 0 C71.32 0.01, 72.41 0.13, 74 0 M74 0 C76.92 0.21, 80.76 0.54, 90 0 M74 0 C78.5 0.54, 83.65 -0.41, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(4782 337) rotate(0 45 -0.0723153663965661)"><path d="M82.44 2.62 C83.41 2.04, 86.19 1.11, 90 0 M82.44 2.62 C84.14 1.93, 86.52 1.31, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g><g transform="translate(4782 337) rotate(0 45 -0.0723153663965661)"><path d="M82.52 -2.85 C83.47 -2.33, 86.23 -2.16, 90 0 M82.52 -2.85 C84.21 -2.07, 86.57 -1.21, 90 0" stroke="var(--diagram-link, #2E7D74)" stroke-width="2" fill="none"/></g></g><mask/></svg>