pyflowred 0.2.0__tar.gz → 0.3.0__tar.gz

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 (1341) hide show
  1. {pyflowred-0.2.0 → pyflowred-0.3.0}/CHANGELOG.md +58 -0
  2. {pyflowred-0.2.0 → pyflowred-0.3.0}/PKG-INFO +19 -3
  3. {pyflowred-0.2.0 → pyflowred-0.3.0}/README.md +17 -2
  4. {pyflowred-0.2.0 → pyflowred-0.3.0}/docker/README.md +7 -7
  5. {pyflowred-0.2.0 → pyflowred-0.3.0}/docs/operations.md +313 -2
  6. {pyflowred-0.2.0 → pyflowred-0.3.0}/docs/porting.md +14 -0
  7. pyflowred-0.3.0/docs/proposals/stream-processing.md +390 -0
  8. {pyflowred-0.2.0 → pyflowred-0.3.0}/docs/releasing.md +1 -1
  9. pyflowred-0.3.0/docs/test-coverage.md +320 -0
  10. {pyflowred-0.2.0 → pyflowred-0.3.0}/pyproject.toml +2 -1
  11. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/__init__.py +1 -1
  12. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/admin.py +37 -0
  13. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/about +58 -0
  14. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/10-stream-state.html +39 -0
  15. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/10-stream-state.py +120 -0
  16. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/20-aggregate.html +188 -0
  17. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/20-aggregate.py +345 -0
  18. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/30-derive.html +133 -0
  19. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/30-derive.py +175 -0
  20. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/40-threshold.html +113 -0
  21. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/40-threshold.py +209 -0
  22. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/50-transition.html +98 -0
  23. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/50-transition.py +164 -0
  24. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/60-assemble.html +125 -0
  25. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/60-assemble.py +175 -0
  26. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/70-compress.html +113 -0
  27. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/70-compress.py +161 -0
  28. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/80-pattern.html +169 -0
  29. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/80-pattern.py +232 -0
  30. pyflowred-0.3.0/src/pyflowred/nodes/core/analysis/__init__.py +1 -0
  31. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/11-kafka.py +10 -2
  32. pyflowred-0.3.0/src/pyflowred/nodes/core/storage/30-gcs.html +421 -0
  33. pyflowred-0.3.0/src/pyflowred/nodes/core/storage/30-gcs.py +720 -0
  34. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/analysis/10-stream-state.html +22 -0
  35. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/analysis/20-aggregate.html +52 -0
  36. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/analysis/30-derive.html +26 -0
  37. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/analysis/40-threshold.html +27 -0
  38. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/analysis/50-transition.html +21 -0
  39. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/analysis/60-assemble.html +24 -0
  40. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/analysis/70-compress.html +27 -0
  41. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/analysis/80-pattern.html +27 -0
  42. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/messages.json +196 -0
  43. pyflowred-0.3.0/src/pyflowred/nodes/locales/en-US/storage/30-gcs.html +173 -0
  44. pyflowred-0.3.0/src/pyflowred/streaming/__init__.py +141 -0
  45. pyflowred-0.3.0/src/pyflowred/streaming/functions.py +182 -0
  46. pyflowred-0.3.0/src/pyflowred/streaming/store.py +318 -0
  47. pyflowred-0.3.0/src/pyflowred/streaming/windows.py +153 -0
  48. pyflowred-0.3.0/tests/test_nodes_gcs.py +844 -0
  49. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_nodes_kafka.py +29 -0
  50. pyflowred-0.3.0/tests/test_nodes_stream.py +746 -0
  51. pyflowred-0.3.0/tools/coverage.py +376 -0
  52. pyflowred-0.3.0/tools/e2e/compose.yml +47 -0
  53. pyflowred-0.3.0/tools/e2eflows.py +3137 -0
  54. pyflowred-0.3.0/tools/uigcs.py +346 -0
  55. pyflowred-0.3.0/tools/uistream.py +234 -0
  56. {pyflowred-0.2.0 → pyflowred-0.3.0}/.gitignore +0 -0
  57. {pyflowred-0.2.0 → pyflowred-0.3.0}/docs/benchmarks.md +0 -0
  58. {pyflowred-0.2.0 → pyflowred-0.3.0}/docs/editor.png +0 -0
  59. {pyflowred-0.2.0 → pyflowred-0.3.0}/docs/writing-nodes.md +0 -0
  60. {pyflowred-0.2.0 → pyflowred-0.3.0}/examples/pyflowred-node-lowercase/pyproject.toml +0 -0
  61. {pyflowred-0.2.0 → pyflowred-0.3.0}/examples/pyflowred-node-lowercase/src/pyflowred_node_lowercase/__init__.py +0 -0
  62. {pyflowred-0.2.0 → pyflowred-0.3.0}/examples/pyflowred-node-lowercase/src/pyflowred_node_lowercase/lowercase.html +0 -0
  63. {pyflowred-0.2.0 → pyflowred-0.3.0}/examples/pyflowred-node-lowercase/src/pyflowred_node_lowercase/lowercase.py +0 -0
  64. {pyflowred-0.2.0 → pyflowred-0.3.0}/package.json +0 -0
  65. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/__main__.py +0 -0
  66. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/__init__.py +0 -0
  67. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/app.py +0 -0
  68. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/auth.py +0 -0
  69. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/comms.py +0 -0
  70. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/editor.py +0 -0
  71. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/projects.py +0 -0
  72. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/router.py +0 -0
  73. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/api/theme.py +0 -0
  74. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/LICENSE +0 -0
  75. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/de/editor.json +0 -0
  76. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/de/infotips.json +0 -0
  77. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/de/jsonata.json +0 -0
  78. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/en-US/editor.json +0 -0
  79. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/en-US/infotips.json +0 -0
  80. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/en-US/jsonata.json +0 -0
  81. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/es-ES/editor.json +0 -0
  82. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/es-ES/infotips.json +0 -0
  83. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/es-ES/jsonata.json +0 -0
  84. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/fr/editor.json +0 -0
  85. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/fr/infotips.json +0 -0
  86. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/fr/jsonata.json +0 -0
  87. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ja/editor.json +0 -0
  88. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ja/infotips.json +0 -0
  89. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ja/jsonata.json +0 -0
  90. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ko/editor.json +0 -0
  91. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ko/infotips.json +0 -0
  92. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ko/jsonata.json +0 -0
  93. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/pt-BR/editor.json +0 -0
  94. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/pt-BR/infotips.json +0 -0
  95. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/pt-BR/jsonata.json +0 -0
  96. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ru/editor.json +0 -0
  97. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ru/infotips.json +0 -0
  98. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/ru/jsonata.json +0 -0
  99. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/zh-CN/editor.json +0 -0
  100. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/zh-CN/infotips.json +0 -0
  101. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/zh-CN/jsonata.json +0 -0
  102. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/zh-TW/editor.json +0 -0
  103. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/zh-TW/infotips.json +0 -0
  104. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/locales/zh-TW/jsonata.json +0 -0
  105. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/favicon.ico +0 -0
  106. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/deploy-flows-o.svg +0 -0
  107. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/deploy-flows.svg +0 -0
  108. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/deploy-full-o.svg +0 -0
  109. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/deploy-full.svg +0 -0
  110. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/deploy-nodes-o.svg +0 -0
  111. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/deploy-nodes.svg +0 -0
  112. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/deploy-reload.svg +0 -0
  113. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/explorer.svg +0 -0
  114. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/grip-horizontal.svg +0 -0
  115. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/grip.svg +0 -0
  116. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/icons/arrow-in.svg +0 -0
  117. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/node-red-256.png +0 -0
  118. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/node-red-256.svg +0 -0
  119. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/node-red-icon-black.svg +0 -0
  120. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/node-red-icon.svg +0 -0
  121. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/node-red.svg +0 -0
  122. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/sidebar-left-o.svg +0 -0
  123. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/sidebar-left.svg +0 -0
  124. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/spin.svg +0 -0
  125. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/start.svg +0 -0
  126. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/stop.svg +0 -0
  127. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/subflow_tab.svg +0 -0
  128. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/09.svg +0 -0
  129. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/az.svg +0 -0
  130. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/bin.svg +0 -0
  131. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/bool.svg +0 -0
  132. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/env.svg +0 -0
  133. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/expr.svg +0 -0
  134. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/json.svg +0 -0
  135. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/re.svg +0 -0
  136. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/images/typedInput/target.svg +0 -0
  137. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/keymap.json +0 -0
  138. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/main.js +0 -0
  139. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/main.min.js +0 -0
  140. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/red.js +0 -0
  141. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/red.min.js +0 -0
  142. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/style.min.css +0 -0
  143. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/2.1/welcome.js +0 -0
  144. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/2.2/images/delete-repair.gif +0 -0
  145. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/2.2/images/detach-repair.gif +0 -0
  146. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/2.2/images/slice.gif +0 -0
  147. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/2.2/images/subflow-labels.png +0 -0
  148. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/2.2/welcome.js +0 -0
  149. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.0/images/context-menu.png +0 -0
  150. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.0/images/continuous-search.png +0 -0
  151. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.0/images/debug-path-tooltip.png +0 -0
  152. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.0/images/junction-quick-add.png +0 -0
  153. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.0/images/junction-slice.gif +0 -0
  154. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.0/images/split-wire-with-links.gif +0 -0
  155. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.0/welcome.js +0 -0
  156. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.1/images/context-menu.png +0 -0
  157. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.1/images/global-env-vars.png +0 -0
  158. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.1/images/hiding-flows.png +0 -0
  159. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.1/images/locking-flows.png +0 -0
  160. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.1/images/mermaid.png +0 -0
  161. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.1/images/node-help.png +0 -0
  162. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.1/images/tab-changes.png +0 -0
  163. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/3.1/welcome.js +0 -0
  164. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-auto-complete.png +0 -0
  165. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-background-deploy.png +0 -0
  166. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-config-select.png +0 -0
  167. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-diff-update.png +0 -0
  168. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-multiplayer-location.png +0 -0
  169. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-multiplayer.png +0 -0
  170. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-plugins.png +0 -0
  171. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-sf-config.png +0 -0
  172. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/images/nr4-timestamp-formatting.png +0 -0
  173. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.0/welcome.js +0 -0
  174. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.1/images/missing-modules.png +0 -0
  175. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.1/images/node-docs.png +0 -0
  176. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.1/images/update-notification.png +0 -0
  177. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/4.1/welcome.js +0 -0
  178. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/first-flow.js +0 -0
  179. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/images/editor-node-docs.png +0 -0
  180. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/images/editor-search-toolbar.png +0 -0
  181. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/red/tours/welcome.js +0 -0
  182. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/assert/strict.d.ts +0 -0
  183. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/assert.d.ts +0 -0
  184. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/async_hooks.d.ts +0 -0
  185. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/buffer.d.ts +0 -0
  186. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/child_process.d.ts +0 -0
  187. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/cluster.d.ts +0 -0
  188. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/console.d.ts +0 -0
  189. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/crypto.d.ts +0 -0
  190. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/dgram.d.ts +0 -0
  191. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/diagnostics_channel.d.ts +0 -0
  192. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/dns/promises.d.ts +0 -0
  193. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/dns.d.ts +0 -0
  194. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/dom-events.d.ts +0 -0
  195. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/domain.d.ts +0 -0
  196. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/events.d.ts +0 -0
  197. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/fs/promises.d.ts +0 -0
  198. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/fs.d.ts +0 -0
  199. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/globals.d.ts +0 -0
  200. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/http.d.ts +0 -0
  201. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/http2.d.ts +0 -0
  202. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/https.d.ts +0 -0
  203. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/module.d.ts +0 -0
  204. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/net.d.ts +0 -0
  205. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/os.d.ts +0 -0
  206. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/path.d.ts +0 -0
  207. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/perf_hooks.d.ts +0 -0
  208. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/process.d.ts +0 -0
  209. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/querystring.d.ts +0 -0
  210. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/readline/promises.d.ts +0 -0
  211. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/readline.d.ts +0 -0
  212. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/sea.d.ts +0 -0
  213. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/stream/consumers.d.ts +0 -0
  214. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/stream/promises.d.ts +0 -0
  215. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/stream/web.d.ts +0 -0
  216. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/stream.d.ts +0 -0
  217. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/string_decoder.d.ts +0 -0
  218. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/test.d.ts +0 -0
  219. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/timers/promises.d.ts +0 -0
  220. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/timers.d.ts +0 -0
  221. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/tls.d.ts +0 -0
  222. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/trace_events.d.ts +0 -0
  223. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/tty.d.ts +0 -0
  224. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/url.d.ts +0 -0
  225. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/util.d.ts +0 -0
  226. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/v8.d.ts +0 -0
  227. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/vm.d.ts +0 -0
  228. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/wasi.d.ts +0 -0
  229. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/worker_threads.d.ts +0 -0
  230. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node/zlib.d.ts +0 -0
  231. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node-red/func.d.ts +0 -0
  232. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/types/node-red/util.d.ts +0 -0
  233. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/LICENSE +0 -0
  234. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/ace-bootstrap.js +0 -0
  235. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/ace.js +0 -0
  236. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/ext-language_tools.js +0 -0
  237. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/ext-searchbox.js +0 -0
  238. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-css.js +0 -0
  239. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-handlebars.js +0 -0
  240. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-html.js +0 -0
  241. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-javascript.js +0 -0
  242. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-json.js +0 -0
  243. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-jsonata.js +0 -0
  244. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-markdown.js +0 -0
  245. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-nrjavascript.js +0 -0
  246. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-properties.js +0 -0
  247. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-python.js +0 -0
  248. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-sql.js +0 -0
  249. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-swift.js +0 -0
  250. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-text.js +0 -0
  251. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-xml.js +0 -0
  252. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/mode-yaml.js +0 -0
  253. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/css.js +0 -0
  254. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/handlebars.js +0 -0
  255. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/html.js +0 -0
  256. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/javascript.js +0 -0
  257. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/json.js +0 -0
  258. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/jsonata.js +0 -0
  259. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/markdown.js +0 -0
  260. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/nrjavascript.js +0 -0
  261. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/properties.js +0 -0
  262. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/python.js +0 -0
  263. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/sql.js +0 -0
  264. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/swift.js +0 -0
  265. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/text.js +0 -0
  266. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/xml.js +0 -0
  267. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/snippets/yaml.js +0 -0
  268. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/theme-chrome.js +0 -0
  269. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/theme-tomorrow.js +0 -0
  270. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/worker-css.js +0 -0
  271. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/worker-html.js +0 -0
  272. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/worker-javascript.js +0 -0
  273. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/worker-json.js +0 -0
  274. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/worker-jsonata.js +0 -0
  275. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/worker-nrjavascript.js +0 -0
  276. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/ace/worker-xml.js +0 -0
  277. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/font-awesome/css/font-awesome.min.css +0 -0
  278. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/font-awesome/fonts/FontAwesome.otf +0 -0
  279. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  280. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/font-awesome/fonts/fontawesome-webfont.svg +0 -0
  281. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  282. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  283. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  284. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/jquery/css/base/images/ui-icons_444444_256x240.png +0 -0
  285. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/jquery/css/base/images/ui-icons_555555_256x240.png +0 -0
  286. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/jquery/css/base/images/ui-icons_777620_256x240.png +0 -0
  287. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/jquery/css/base/images/ui-icons_777777_256x240.png +0 -0
  288. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/jquery/css/base/images/ui-icons_cc0000_256x240.png +0 -0
  289. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/jquery/css/base/images/ui-icons_ffffff_256x240.png +0 -0
  290. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/jquery/css/base/jquery-ui.min.css +0 -0
  291. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/mermaid/mermaid.min.js +0 -0
  292. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/4c354c82c52ca6cc2543.ttf +0 -0
  293. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/LICENSE +0 -0
  294. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/ThirdPartyNotices.txt +0 -0
  295. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/css.worker.js +0 -0
  296. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/editor.js +0 -0
  297. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/editor.js.LICENSE.txt +0 -0
  298. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/editor.worker.js +0 -0
  299. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/f6283f7ccaed1249d9eb.ttf +0 -0
  300. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/html.worker.js +0 -0
  301. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/json.worker.js +0 -0
  302. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/cs.js +0 -0
  303. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/cs.js.LICENSE.txt +0 -0
  304. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/de.js +0 -0
  305. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/de.js.LICENSE.txt +0 -0
  306. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/es.js +0 -0
  307. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/es.js.LICENSE.txt +0 -0
  308. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/fr.js +0 -0
  309. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/fr.js.LICENSE.txt +0 -0
  310. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/it.js +0 -0
  311. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/it.js.LICENSE.txt +0 -0
  312. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/ja.js +0 -0
  313. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/ja.js.LICENSE.txt +0 -0
  314. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/ko.js +0 -0
  315. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/ko.js.LICENSE.txt +0 -0
  316. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/pl.js +0 -0
  317. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/pl.js.LICENSE.txt +0 -0
  318. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/pt-br.js +0 -0
  319. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/pt-br.js.LICENSE.txt +0 -0
  320. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/ru.js +0 -0
  321. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/ru.js.LICENSE.txt +0 -0
  322. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/tr.js +0 -0
  323. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/tr.js.LICENSE.txt +0 -0
  324. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/zh-cn.js +0 -0
  325. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/zh-cn.js.LICENSE.txt +0 -0
  326. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/zh-tw.js +0 -0
  327. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/locale/zh-tw.js.LICENSE.txt +0 -0
  328. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/LICENSE +0 -0
  329. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/ace.json +0 -0
  330. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/active4d.json +0 -0
  331. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/all-hallows-eve.json +0 -0
  332. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/amy.json +0 -0
  333. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/birds-of-paradise.json +0 -0
  334. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/blackboard.json +0 -0
  335. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/brilliance-black.json +0 -0
  336. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/brilliance-dull.json +0 -0
  337. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/chrome-devtools.json +0 -0
  338. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/clouds-midnight.json +0 -0
  339. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/clouds.json +0 -0
  340. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/cobalt.json +0 -0
  341. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/cobalt2.json +0 -0
  342. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/dawn.json +0 -0
  343. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/dominion-day.json +0 -0
  344. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/dracula.json +0 -0
  345. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/dreamweaver.json +0 -0
  346. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/eiffel.json +0 -0
  347. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/espresso-libre.json +0 -0
  348. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/forge-dark.json +0 -0
  349. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/forge-light.json +0 -0
  350. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/forge.json +0 -0
  351. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/github-dark.json +0 -0
  352. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/github-light.json +0 -0
  353. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/github.json +0 -0
  354. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/idle.json +0 -0
  355. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/idlefingers.json +0 -0
  356. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/iplastic.json +0 -0
  357. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/katzenmilch.json +0 -0
  358. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/krtheme.json +0 -0
  359. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/kuroir-theme.json +0 -0
  360. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/lazy.json +0 -0
  361. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/magicwb-amiga.json +0 -0
  362. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/merbivore-soft.json +0 -0
  363. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/merbivore.json +0 -0
  364. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/monoindustrial.json +0 -0
  365. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/monokai-bright.json +0 -0
  366. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/monokai.json +0 -0
  367. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/night-owl.json +0 -0
  368. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/nord.json +0 -0
  369. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/oceanic-next.json +0 -0
  370. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/pastels-on-dark.json +0 -0
  371. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/slush-and-poppies.json +0 -0
  372. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/solarized-dark.json +0 -0
  373. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/solarized-light.json +0 -0
  374. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/spacecadet.json +0 -0
  375. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/sunburst.json +0 -0
  376. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/textmate-mac-classic.json +0 -0
  377. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/tomorrow-night-blue.json +0 -0
  378. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/tomorrow-night-bright.json +0 -0
  379. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/tomorrow-night-eighties.json +0 -0
  380. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/tomorrow-night.json +0 -0
  381. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/tomorrow.json +0 -0
  382. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/twilight.json +0 -0
  383. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/upstream-sunburst.json +0 -0
  384. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/vibrant-ink.json +0 -0
  385. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/xcode_default.json +0 -0
  386. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/theme/zenburnesque.json +0 -0
  387. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/ts.worker.js +0 -0
  388. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/dist/ts.worker.js.LICENSE.txt +0 -0
  389. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/monaco-bootstrap.js +0 -0
  390. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/monaco/style.css +0 -0
  391. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/public/vendor/vendor.js +0 -0
  392. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/ace/README.md +0 -0
  393. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/ace/bin/mode-nrjavascript.js +0 -0
  394. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/ace/bin/snippets/nrjavascript.js +0 -0
  395. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/ace/bin/worker-nrjavascript.js +0 -0
  396. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/ace/mode/nrjavascript.js +0 -0
  397. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/ace/mode/nrjavascript_worker.js +0 -0
  398. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/favicon.ico +0 -0
  399. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/deploy-flows-o.svg +0 -0
  400. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/deploy-flows.svg +0 -0
  401. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/deploy-full-o.svg +0 -0
  402. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/deploy-full.svg +0 -0
  403. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/deploy-nodes-o.svg +0 -0
  404. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/deploy-nodes.svg +0 -0
  405. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/deploy-reload.svg +0 -0
  406. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/explorer.svg +0 -0
  407. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/grip-horizontal.svg +0 -0
  408. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/grip.svg +0 -0
  409. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/icons/arrow-in.svg +0 -0
  410. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/node-red-256.png +0 -0
  411. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/node-red-256.svg +0 -0
  412. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/node-red-icon-black.svg +0 -0
  413. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/node-red-icon.svg +0 -0
  414. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/node-red.svg +0 -0
  415. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/sidebar-left-o.svg +0 -0
  416. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/sidebar-left.svg +0 -0
  417. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/spin.svg +0 -0
  418. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/start.svg +0 -0
  419. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/stop.svg +0 -0
  420. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/subflow_tab.svg +0 -0
  421. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/09.svg +0 -0
  422. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/az.svg +0 -0
  423. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/bin.svg +0 -0
  424. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/bool.svg +0 -0
  425. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/env.svg +0 -0
  426. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/expr.svg +0 -0
  427. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/json.svg +0 -0
  428. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/re.svg +0 -0
  429. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/images/typedInput/target.svg +0 -0
  430. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/comms.js +0 -0
  431. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/events.js +0 -0
  432. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/font-awesome.js +0 -0
  433. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/history.js +0 -0
  434. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/hooks.js +0 -0
  435. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/i18n.js +0 -0
  436. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/jquery-addons.js +0 -0
  437. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/keymap.json +0 -0
  438. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/main.js +0 -0
  439. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/multiplayer.js +0 -0
  440. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/nodes.js +0 -0
  441. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/plugins.js +0 -0
  442. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/red.js +0 -0
  443. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/runtime.js +0 -0
  444. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/settings.js +0 -0
  445. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/text/bidi.js +0 -0
  446. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/text/format.js +0 -0
  447. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/actionList.js +0 -0
  448. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/actions.js +0 -0
  449. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/clipboard.js +0 -0
  450. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/autoComplete.js +0 -0
  451. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/checkboxSet.js +0 -0
  452. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/editableList.js +0 -0
  453. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/menu.js +0 -0
  454. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/panels.js +0 -0
  455. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/popover.js +0 -0
  456. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/searchBox.js +0 -0
  457. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/stack.js +0 -0
  458. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/tabs.js +0 -0
  459. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/toggleButton.js +0 -0
  460. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/treeList.js +0 -0
  461. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/common/typedInput.js +0 -0
  462. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/contextMenu.js +0 -0
  463. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/deploy.js +0 -0
  464. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/diagnostics.js +0 -0
  465. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/diff.js +0 -0
  466. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editor.js +0 -0
  467. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/buffer.js +0 -0
  468. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/code-editor.js +0 -0
  469. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/code-editors/ace.js +0 -0
  470. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/code-editors/basic.js +0 -0
  471. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/code-editors/monaco.js +0 -0
  472. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/colorPicker.js +0 -0
  473. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/envVarList.js +0 -0
  474. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/expression.js +0 -0
  475. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/iconPicker.js +0 -0
  476. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/js.js +0 -0
  477. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/json.js +0 -0
  478. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/markdown.js +0 -0
  479. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/mermaid.js +0 -0
  480. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/panes/appearance.js +0 -0
  481. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/panes/description.js +0 -0
  482. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/panes/envVarProperties.js +0 -0
  483. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/panes/flowProperties.js +0 -0
  484. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/panes/properties.js +0 -0
  485. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/panes/subflowModule.js +0 -0
  486. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/editors/text.js +0 -0
  487. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/env-var.js +0 -0
  488. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/event-log.js +0 -0
  489. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/flowStore.js +0 -0
  490. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/group.js +0 -0
  491. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/keyboard.js +0 -0
  492. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/library.js +0 -0
  493. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/notifications.js +0 -0
  494. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/palette-editor.js +0 -0
  495. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/palette.js +0 -0
  496. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/projects/projectSettings.js +0 -0
  497. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/projects/projectUserSettings.js +0 -0
  498. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/projects/projects.js +0 -0
  499. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/projects/tab-versionControl.js +0 -0
  500. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/search.js +0 -0
  501. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/sidebar.js +0 -0
  502. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/state.js +0 -0
  503. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/statusBar.js +0 -0
  504. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/subflow.js +0 -0
  505. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/tab-config.js +0 -0
  506. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/tab-context.js +0 -0
  507. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/tab-help.js +0 -0
  508. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/tab-info-outliner.js +0 -0
  509. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/tab-info.js +0 -0
  510. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/tour/tourGuide.js +0 -0
  511. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/tray.js +0 -0
  512. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/typeSearch.js +0 -0
  513. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/userSettings.js +0 -0
  514. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/utils.js +0 -0
  515. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/view-annotations.js +0 -0
  516. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/view-navigator.js +0 -0
  517. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/view-tools.js +0 -0
  518. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/view-zoom-animator.js +0 -0
  519. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/view-zoom-constants.js +0 -0
  520. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/view.js +0 -0
  521. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/ui/workspaces.js +0 -0
  522. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/user.js +0 -0
  523. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/js/validators.js +0 -0
  524. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ace.scss +0 -0
  525. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/base.scss +0 -0
  526. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/colors.scss +0 -0
  527. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/dark-colors.scss +0 -0
  528. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/dark-theme.scss +0 -0
  529. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/debug.scss +0 -0
  530. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/diff.scss +0 -0
  531. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/dragdrop.scss +0 -0
  532. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/dropdownMenu.scss +0 -0
  533. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/editor.scss +0 -0
  534. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/flow.scss +0 -0
  535. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/forms.scss +0 -0
  536. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/header.scss +0 -0
  537. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/jquery.scss +0 -0
  538. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/keyboard.scss +0 -0
  539. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/library.scss +0 -0
  540. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/mixins.scss +0 -0
  541. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/multiplayer.scss +0 -0
  542. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/notifications.scss +0 -0
  543. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/palette-editor.scss +0 -0
  544. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/palette.scss +0 -0
  545. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/panels.scss +0 -0
  546. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/popover.scss +0 -0
  547. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/projects.scss +0 -0
  548. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/search.scss +0 -0
  549. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/sidebar.scss +0 -0
  550. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/sizes.scss +0 -0
  551. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/style-custom-theme.scss +0 -0
  552. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/style.scss +0 -0
  553. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/tab-config.scss +0 -0
  554. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/tab-context.scss +0 -0
  555. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/tab-help.scss +0 -0
  556. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/tab-info.scss +0 -0
  557. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/tabs.scss +0 -0
  558. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/tourGuide.scss +0 -0
  559. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ui/common/autoComplete.scss +0 -0
  560. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ui/common/checkboxSet.scss +0 -0
  561. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ui/common/editableList.scss +0 -0
  562. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ui/common/nodeList.scss +0 -0
  563. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ui/common/searchBox.scss +0 -0
  564. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ui/common/stack.scss +0 -0
  565. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ui/common/treeList.scss +0 -0
  566. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/ui/common/typedInput.scss +0 -0
  567. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/userSettings.scss +0 -0
  568. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/variables.scss +0 -0
  569. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/widgetStyle.scss +0 -0
  570. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/workspace.scss +0 -0
  571. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/sass/workspaceToolbar.scss +0 -0
  572. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/2.1/welcome.js +0 -0
  573. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/2.2/images/delete-repair.gif +0 -0
  574. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/2.2/images/detach-repair.gif +0 -0
  575. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/2.2/images/slice.gif +0 -0
  576. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/2.2/images/subflow-labels.png +0 -0
  577. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/2.2/welcome.js +0 -0
  578. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.0/images/context-menu.png +0 -0
  579. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.0/images/continuous-search.png +0 -0
  580. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.0/images/debug-path-tooltip.png +0 -0
  581. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.0/images/junction-quick-add.png +0 -0
  582. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.0/images/junction-slice.gif +0 -0
  583. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.0/images/split-wire-with-links.gif +0 -0
  584. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.0/welcome.js +0 -0
  585. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.1/images/context-menu.png +0 -0
  586. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.1/images/global-env-vars.png +0 -0
  587. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.1/images/hiding-flows.png +0 -0
  588. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.1/images/locking-flows.png +0 -0
  589. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.1/images/mermaid.png +0 -0
  590. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.1/images/node-help.png +0 -0
  591. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.1/images/tab-changes.png +0 -0
  592. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/3.1/welcome.js +0 -0
  593. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-auto-complete.png +0 -0
  594. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-background-deploy.png +0 -0
  595. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-config-select.png +0 -0
  596. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-diff-update.png +0 -0
  597. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-multiplayer-location.png +0 -0
  598. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-multiplayer.png +0 -0
  599. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-plugins.png +0 -0
  600. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-sf-config.png +0 -0
  601. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/images/nr4-timestamp-formatting.png +0 -0
  602. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.0/welcome.js +0 -0
  603. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.1/images/missing-modules.png +0 -0
  604. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.1/images/node-docs.png +0 -0
  605. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.1/images/update-notification.png +0 -0
  606. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/4.1/welcome.js +0 -0
  607. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/first-flow.js +0 -0
  608. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/images/editor-node-docs.png +0 -0
  609. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/images/editor-search-toolbar.png +0 -0
  610. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/tours/welcome.js +0 -0
  611. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/README.md +0 -0
  612. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/assert/strict.d.ts +0 -0
  613. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/assert.d.ts +0 -0
  614. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/async_hooks.d.ts +0 -0
  615. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/buffer.d.ts +0 -0
  616. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/child_process.d.ts +0 -0
  617. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/cluster.d.ts +0 -0
  618. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/console.d.ts +0 -0
  619. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/crypto.d.ts +0 -0
  620. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/dgram.d.ts +0 -0
  621. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/diagnostics_channel.d.ts +0 -0
  622. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/dns/promises.d.ts +0 -0
  623. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/dns.d.ts +0 -0
  624. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/dom-events.d.ts +0 -0
  625. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/domain.d.ts +0 -0
  626. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/events.d.ts +0 -0
  627. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/fs/promises.d.ts +0 -0
  628. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/fs.d.ts +0 -0
  629. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/globals.d.ts +0 -0
  630. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/http.d.ts +0 -0
  631. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/http2.d.ts +0 -0
  632. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/https.d.ts +0 -0
  633. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/module.d.ts +0 -0
  634. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/net.d.ts +0 -0
  635. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/os.d.ts +0 -0
  636. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/path.d.ts +0 -0
  637. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/perf_hooks.d.ts +0 -0
  638. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/process.d.ts +0 -0
  639. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/querystring.d.ts +0 -0
  640. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/readline/promises.d.ts +0 -0
  641. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/readline.d.ts +0 -0
  642. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/sea.d.ts +0 -0
  643. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/stream/consumers.d.ts +0 -0
  644. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/stream/promises.d.ts +0 -0
  645. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/stream/web.d.ts +0 -0
  646. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/stream.d.ts +0 -0
  647. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/string_decoder.d.ts +0 -0
  648. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/test.d.ts +0 -0
  649. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/timers/promises.d.ts +0 -0
  650. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/timers.d.ts +0 -0
  651. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/tls.d.ts +0 -0
  652. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/trace_events.d.ts +0 -0
  653. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/tty.d.ts +0 -0
  654. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/url.d.ts +0 -0
  655. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/util.d.ts +0 -0
  656. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/v8.d.ts +0 -0
  657. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/vm.d.ts +0 -0
  658. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/wasi.d.ts +0 -0
  659. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/worker_threads.d.ts +0 -0
  660. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node/zlib.d.ts +0 -0
  661. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node-red/func.d.ts +0 -0
  662. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/types/node-red/util.d.ts +0 -0
  663. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/LICENSE +0 -0
  664. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/ace-bootstrap.js +0 -0
  665. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/ace.js +0 -0
  666. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/ext-language_tools.js +0 -0
  667. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/ext-searchbox.js +0 -0
  668. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-css.js +0 -0
  669. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-handlebars.js +0 -0
  670. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-html.js +0 -0
  671. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-javascript.js +0 -0
  672. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-json.js +0 -0
  673. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-markdown.js +0 -0
  674. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-properties.js +0 -0
  675. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-python.js +0 -0
  676. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-sql.js +0 -0
  677. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-swift.js +0 -0
  678. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-text.js +0 -0
  679. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-xml.js +0 -0
  680. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/mode-yaml.js +0 -0
  681. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/css.js +0 -0
  682. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/handlebars.js +0 -0
  683. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/html.js +0 -0
  684. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/javascript.js +0 -0
  685. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/json.js +0 -0
  686. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/markdown.js +0 -0
  687. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/properties.js +0 -0
  688. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/python.js +0 -0
  689. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/sql.js +0 -0
  690. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/swift.js +0 -0
  691. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/text.js +0 -0
  692. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/xml.js +0 -0
  693. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/snippets/yaml.js +0 -0
  694. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/theme-chrome.js +0 -0
  695. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/theme-tomorrow.js +0 -0
  696. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/worker-css.js +0 -0
  697. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/worker-html.js +0 -0
  698. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/worker-javascript.js +0 -0
  699. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/worker-json.js +0 -0
  700. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/ace/worker-xml.js +0 -0
  701. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/d3/d3.v3.min.js +0 -0
  702. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/font-awesome/css/font-awesome.min.css +0 -0
  703. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/font-awesome/fonts/FontAwesome.otf +0 -0
  704. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  705. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/font-awesome/fonts/fontawesome-webfont.svg +0 -0
  706. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  707. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  708. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  709. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/css/base/images/ui-icons_444444_256x240.png +0 -0
  710. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/css/base/images/ui-icons_555555_256x240.png +0 -0
  711. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/css/base/images/ui-icons_777620_256x240.png +0 -0
  712. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/css/base/images/ui-icons_777777_256x240.png +0 -0
  713. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/css/base/images/ui-icons_cc0000_256x240.png +0 -0
  714. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/css/base/images/ui-icons_ffffff_256x240.png +0 -0
  715. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/css/base/jquery-ui.min.css +0 -0
  716. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/js/jquery-3.7.1.min.js +0 -0
  717. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/js/jquery-migrate-3.5.2.min.js +0 -0
  718. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/js/jquery-ui-1.14.1.min.js +0 -0
  719. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jquery/js/jquery.ui.touch-punch.min.js +0 -0
  720. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jsonata/formatter.js +0 -0
  721. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jsonata/jsonata-es5.min.js +0 -0
  722. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jsonata/mode-jsonata.js +0 -0
  723. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jsonata/snippets-jsonata.js +0 -0
  724. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/jsonata/worker-jsonata.js +0 -0
  725. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/monaco/README.md +0 -0
  726. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/monaco/monaco-bootstrap.js +0 -0
  727. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/src/vendor/monaco/style.css +0 -0
  728. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/editor_client/templates/index.mst +0 -0
  729. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/flowstore/__init__.py +0 -0
  730. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/flowstore/config.py +0 -0
  731. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/metrics/__init__.py +0 -0
  732. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/__init__.py +0 -0
  733. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/__init__.py +0 -0
  734. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/05-junction.html +0 -0
  735. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/05-junction.py +0 -0
  736. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/20-inject.html +0 -0
  737. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/20-inject.py +0 -0
  738. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/21-debug.html +0 -0
  739. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/21-debug.py +0 -0
  740. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/24-complete.html +0 -0
  741. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/24-complete.py +0 -0
  742. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/25-catch.html +0 -0
  743. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/25-catch.py +0 -0
  744. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/25-status.html +0 -0
  745. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/25-status.py +0 -0
  746. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/60-link.html +0 -0
  747. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/60-link.py +0 -0
  748. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/90-comment.html +0 -0
  749. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/90-comment.py +0 -0
  750. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/91-global-config.html +0 -0
  751. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/91-global-config.py +0 -0
  752. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/98-unknown.html +0 -0
  753. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/98-unknown.py +0 -0
  754. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/__init__.py +0 -0
  755. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/lib/debug/debug-utils.js +0 -0
  756. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/lib/debug/debug.js +0 -0
  757. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/common/lib/debug/view.html +0 -0
  758. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/10-function.html +0 -0
  759. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/10-function.py +0 -0
  760. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/10-switch.html +0 -0
  761. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/10-switch.py +0 -0
  762. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/15-change.html +0 -0
  763. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/15-change.py +0 -0
  764. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/16-range.html +0 -0
  765. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/16-range.py +0 -0
  766. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/80-template.html +0 -0
  767. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/80-template.py +0 -0
  768. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/89-delay.html +0 -0
  769. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/89-delay.py +0 -0
  770. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/89-trigger.html +0 -0
  771. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/89-trigger.py +0 -0
  772. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/90-exec.html +0 -0
  773. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/90-exec.py +0 -0
  774. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/__init__.py +0 -0
  775. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/rbe.html +0 -0
  776. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/function/rbe.py +0 -0
  777. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/monitoring/90-prometheus.html +0 -0
  778. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/monitoring/90-prometheus.py +0 -0
  779. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/monitoring/__init__.py +0 -0
  780. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/05-tls.html +0 -0
  781. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/05-tls.py +0 -0
  782. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/06-httpproxy.html +0 -0
  783. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/06-httpproxy.py +0 -0
  784. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/10-mqtt.html +0 -0
  785. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/10-mqtt.py +0 -0
  786. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/11-kafka.html +0 -0
  787. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/21-httpin.html +0 -0
  788. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/21-httpin.py +0 -0
  789. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/21-httprequest.html +0 -0
  790. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/21-httprequest.py +0 -0
  791. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/22-websocket.html +0 -0
  792. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/22-websocket.py +0 -0
  793. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/31-tcpin.html +0 -0
  794. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/31-tcpin.py +0 -0
  795. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/32-udp.html +0 -0
  796. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/32-udp.py +0 -0
  797. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/network/__init__.py +0 -0
  798. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-CSV.html +0 -0
  799. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-CSV.py +0 -0
  800. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-HTML.html +0 -0
  801. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-HTML.py +0 -0
  802. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-JSON.html +0 -0
  803. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-JSON.py +0 -0
  804. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-XML.html +0 -0
  805. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-XML.py +0 -0
  806. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-YAML.html +0 -0
  807. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/70-YAML.py +0 -0
  808. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/__init__.py +0 -0
  809. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/lib/__init__.py +0 -0
  810. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/parsers/lib/csv.py +0 -0
  811. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/secrets/90-secret.html +0 -0
  812. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/secrets/90-secret.py +0 -0
  813. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/secrets/__init__.py +0 -0
  814. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/sequence/17-split.html +0 -0
  815. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/sequence/17-split.py +0 -0
  816. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/sequence/18-sort.html +0 -0
  817. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/sequence/18-sort.py +0 -0
  818. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/sequence/19-batch.html +0 -0
  819. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/sequence/19-batch.py +0 -0
  820. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/sequence/__init__.py +0 -0
  821. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/storage/10-file.html +0 -0
  822. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/storage/10-file.py +0 -0
  823. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/storage/23-watch.html +0 -0
  824. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/storage/23-watch.py +0 -0
  825. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/core/storage/__init__.py +0 -0
  826. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/alert.svg +0 -0
  827. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/arduino.svg +0 -0
  828. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/arrow-in.svg +0 -0
  829. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/batch.svg +0 -0
  830. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/bluetooth.svg +0 -0
  831. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/bridge-dash.svg +0 -0
  832. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/bridge.svg +0 -0
  833. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/cog.svg +0 -0
  834. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/comment.svg +0 -0
  835. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/db.svg +0 -0
  836. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/debug.svg +0 -0
  837. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/envelope.svg +0 -0
  838. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/feed.svg +0 -0
  839. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/file-in.svg +0 -0
  840. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/file-out.svg +0 -0
  841. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/file.svg +0 -0
  842. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/function.svg +0 -0
  843. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/hash.svg +0 -0
  844. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/inject.svg +0 -0
  845. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/join.svg +0 -0
  846. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/leveldb.svg +0 -0
  847. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/light.svg +0 -0
  848. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/link-call.svg +0 -0
  849. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/link-out.svg +0 -0
  850. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/link-return.svg +0 -0
  851. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/mongodb.svg +0 -0
  852. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/mouse.svg +0 -0
  853. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/parser-csv.svg +0 -0
  854. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/parser-html.svg +0 -0
  855. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/parser-json.svg +0 -0
  856. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/parser-xml.svg +0 -0
  857. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/parser-yaml.svg +0 -0
  858. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/range.svg +0 -0
  859. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/rbe.svg +0 -0
  860. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/redis.svg +0 -0
  861. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/rpi.svg +0 -0
  862. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/serial.svg +0 -0
  863. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/sort.svg +0 -0
  864. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/split.svg +0 -0
  865. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/status.svg +0 -0
  866. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/subflow.svg +0 -0
  867. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/swap.svg +0 -0
  868. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/switch.svg +0 -0
  869. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/template.svg +0 -0
  870. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/timer.svg +0 -0
  871. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/trigger.svg +0 -0
  872. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/watch.svg +0 -0
  873. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/icons/white-globe.svg +0 -0
  874. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/common/20-inject.html +0 -0
  875. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/common/21-debug.html +0 -0
  876. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/common/24-complete.html +0 -0
  877. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/common/25-catch.html +0 -0
  878. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/common/25-status.html +0 -0
  879. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/common/60-link.html +0 -0
  880. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/common/90-comment.html +0 -0
  881. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/common/98-unknown.html +0 -0
  882. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/10-function.html +0 -0
  883. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/10-switch.html +0 -0
  884. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/15-change.html +0 -0
  885. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/16-range.html +0 -0
  886. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/80-template.html +0 -0
  887. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/89-delay.html +0 -0
  888. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/89-trigger.html +0 -0
  889. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/90-exec.html +0 -0
  890. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/function/rbe.html +0 -0
  891. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/messages.json +0 -0
  892. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/network/05-tls.html +0 -0
  893. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/network/06-httpproxy.html +0 -0
  894. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/network/10-mqtt.html +0 -0
  895. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/network/21-httpin.html +0 -0
  896. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/network/21-httprequest.html +0 -0
  897. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/network/22-websocket.html +0 -0
  898. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/network/31-tcpin.html +0 -0
  899. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/network/32-udp.html +0 -0
  900. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/parsers/70-CSV.html +0 -0
  901. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/parsers/70-HTML.html +0 -0
  902. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/parsers/70-JSON.html +0 -0
  903. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/parsers/70-XML.html +0 -0
  904. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/parsers/70-YAML.html +0 -0
  905. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/sequence/17-split.html +0 -0
  906. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/sequence/18-sort.html +0 -0
  907. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/sequence/19-batch.html +0 -0
  908. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/storage/10-file.html +0 -0
  909. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/de/storage/23-watch.html +0 -0
  910. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/20-inject.html +0 -0
  911. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/21-debug.html +0 -0
  912. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/24-complete.html +0 -0
  913. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/25-catch.html +0 -0
  914. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/25-status.html +0 -0
  915. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/60-link.html +0 -0
  916. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/90-comment.html +0 -0
  917. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/91-global-config.html +0 -0
  918. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/common/98-unknown.html +0 -0
  919. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/10-function.html +0 -0
  920. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/10-switch.html +0 -0
  921. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/15-change.html +0 -0
  922. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/16-range.html +0 -0
  923. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/80-template.html +0 -0
  924. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/89-delay.html +0 -0
  925. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/89-trigger.html +0 -0
  926. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/90-exec.html +0 -0
  927. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/function/rbe.html +0 -0
  928. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/monitoring/90-prometheus.html +0 -0
  929. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/05-tls.html +0 -0
  930. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/06-httpproxy.html +0 -0
  931. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/10-mqtt.html +0 -0
  932. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/11-kafka.html +0 -0
  933. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/21-httpin.html +0 -0
  934. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/21-httprequest.html +0 -0
  935. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/22-websocket.html +0 -0
  936. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/31-tcpin.html +0 -0
  937. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/network/32-udp.html +0 -0
  938. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/parsers/70-CSV.html +0 -0
  939. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/parsers/70-HTML.html +0 -0
  940. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/parsers/70-JSON.html +0 -0
  941. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/parsers/70-XML.html +0 -0
  942. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/parsers/70-YAML.html +0 -0
  943. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/secrets/90-secret.html +0 -0
  944. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/sequence/17-split.html +0 -0
  945. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/sequence/18-sort.html +0 -0
  946. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/sequence/19-batch.html +0 -0
  947. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/storage/10-file.html +0 -0
  948. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/en-US/storage/23-watch.html +0 -0
  949. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/20-inject.html +0 -0
  950. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/21-debug.html +0 -0
  951. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/24-complete.html +0 -0
  952. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/25-catch.html +0 -0
  953. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/25-status.html +0 -0
  954. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/60-link.html +0 -0
  955. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/90-comment.html +0 -0
  956. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/91-global-config.html +0 -0
  957. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/common/98-unknown.html +0 -0
  958. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/10-function.html +0 -0
  959. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/10-switch.html +0 -0
  960. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/15-change.html +0 -0
  961. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/16-range.html +0 -0
  962. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/80-template.html +0 -0
  963. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/89-delay.html +0 -0
  964. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/89-trigger.html +0 -0
  965. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/90-exec.html +0 -0
  966. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/function/rbe.html +0 -0
  967. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/messages.json +0 -0
  968. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/network/05-tls.html +0 -0
  969. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/network/06-httpproxy.html +0 -0
  970. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/network/10-mqtt.html +0 -0
  971. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/network/21-httpin.html +0 -0
  972. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/network/21-httprequest.html +0 -0
  973. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/network/22-websocket.html +0 -0
  974. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/network/31-tcpin.html +0 -0
  975. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/network/32-udp.html +0 -0
  976. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/parsers/70-CSV.html +0 -0
  977. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/parsers/70-HTML.html +0 -0
  978. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/parsers/70-JSON.html +0 -0
  979. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/parsers/70-XML.html +0 -0
  980. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/parsers/70-YAML.html +0 -0
  981. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/sequence/17-split.html +0 -0
  982. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/sequence/18-sort.html +0 -0
  983. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/sequence/19-batch.html +0 -0
  984. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/storage/10-file.html +0 -0
  985. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/es-ES/storage/23-watch.html +0 -0
  986. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/20-inject.html +0 -0
  987. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/21-debug.html +0 -0
  988. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/24-complete.html +0 -0
  989. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/25-catch.html +0 -0
  990. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/25-status.html +0 -0
  991. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/60-link.html +0 -0
  992. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/90-comment.html +0 -0
  993. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/91-global-config.html +0 -0
  994. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/common/98-unknown.html +0 -0
  995. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/10-function.html +0 -0
  996. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/10-switch.html +0 -0
  997. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/15-change.html +0 -0
  998. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/16-range.html +0 -0
  999. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/80-template.html +0 -0
  1000. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/89-delay.html +0 -0
  1001. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/89-trigger.html +0 -0
  1002. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/90-exec.html +0 -0
  1003. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/function/rbe.html +0 -0
  1004. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/messages.json +0 -0
  1005. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/network/05-tls.html +0 -0
  1006. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/network/06-httpproxy.html +0 -0
  1007. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/network/10-mqtt.html +0 -0
  1008. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/network/21-httpin.html +0 -0
  1009. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/network/21-httprequest.html +0 -0
  1010. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/network/22-websocket.html +0 -0
  1011. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/network/31-tcpin.html +0 -0
  1012. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/network/32-udp.html +0 -0
  1013. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/parsers/70-CSV.html +0 -0
  1014. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/parsers/70-HTML.html +0 -0
  1015. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/parsers/70-JSON.html +0 -0
  1016. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/parsers/70-XML.html +0 -0
  1017. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/parsers/70-YAML.html +0 -0
  1018. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/sequence/17-split.html +0 -0
  1019. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/sequence/18-sort.html +0 -0
  1020. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/sequence/19-batch.html +0 -0
  1021. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/storage/10-file.html +0 -0
  1022. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/fr/storage/23-watch.html +0 -0
  1023. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/20-inject.html +0 -0
  1024. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/21-debug.html +0 -0
  1025. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/24-complete.html +0 -0
  1026. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/25-catch.html +0 -0
  1027. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/25-status.html +0 -0
  1028. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/60-link.html +0 -0
  1029. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/90-comment.html +0 -0
  1030. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/91-global-config.html +0 -0
  1031. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/common/98-unknown.html +0 -0
  1032. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/10-function.html +0 -0
  1033. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/10-switch.html +0 -0
  1034. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/15-change.html +0 -0
  1035. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/16-range.html +0 -0
  1036. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/80-template.html +0 -0
  1037. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/89-delay.html +0 -0
  1038. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/89-trigger.html +0 -0
  1039. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/90-exec.html +0 -0
  1040. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/function/rbe.html +0 -0
  1041. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/messages.json +0 -0
  1042. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/network/05-tls.html +0 -0
  1043. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/network/06-httpproxy.html +0 -0
  1044. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/network/10-mqtt.html +0 -0
  1045. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/network/21-httpin.html +0 -0
  1046. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/network/21-httprequest.html +0 -0
  1047. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/network/22-websocket.html +0 -0
  1048. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/network/31-tcpin.html +0 -0
  1049. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/network/32-udp.html +0 -0
  1050. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/parsers/70-CSV.html +0 -0
  1051. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/parsers/70-HTML.html +0 -0
  1052. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/parsers/70-JSON.html +0 -0
  1053. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/parsers/70-XML.html +0 -0
  1054. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/parsers/70-YAML.html +0 -0
  1055. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/sequence/17-split.html +0 -0
  1056. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/sequence/18-sort.html +0 -0
  1057. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/sequence/19-batch.html +0 -0
  1058. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/storage/10-file.html +0 -0
  1059. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ja/storage/23-watch.html +0 -0
  1060. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/common/20-inject.html +0 -0
  1061. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/common/21-debug.html +0 -0
  1062. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/common/25-catch.html +0 -0
  1063. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/common/25-status.html +0 -0
  1064. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/common/60-link.html +0 -0
  1065. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/common/90-comment.html +0 -0
  1066. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/common/98-unknown.html +0 -0
  1067. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/function/10-function.html +0 -0
  1068. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/function/10-switch.html +0 -0
  1069. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/function/15-change.html +0 -0
  1070. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/function/16-range.html +0 -0
  1071. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/function/80-template.html +0 -0
  1072. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/function/89-delay.html +0 -0
  1073. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/function/89-trigger.html +0 -0
  1074. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/function/90-exec.html +0 -0
  1075. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/messages.json +0 -0
  1076. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/network/05-tls.html +0 -0
  1077. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/network/06-httpproxy.html +0 -0
  1078. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/network/10-mqtt.html +0 -0
  1079. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/network/21-httpin.html +0 -0
  1080. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/network/21-httprequest.html +0 -0
  1081. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/network/22-websocket.html +0 -0
  1082. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/network/31-tcpin.html +0 -0
  1083. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/network/32-udp.html +0 -0
  1084. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/parsers/70-CSV.html +0 -0
  1085. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/parsers/70-HTML.html +0 -0
  1086. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/parsers/70-JSON.html +0 -0
  1087. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/parsers/70-XML.html +0 -0
  1088. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/parsers/70-YAML.html +0 -0
  1089. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/sequence/17-split.html +0 -0
  1090. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/sequence/18-sort.html +0 -0
  1091. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/sequence/19-batch.html +0 -0
  1092. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/storage/10-file.html +0 -0
  1093. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ko/storage/23-watch.html +0 -0
  1094. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/common/20-inject.html +0 -0
  1095. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/common/21-debug.html +0 -0
  1096. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/common/24-complete.html +0 -0
  1097. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/common/25-catch.html +0 -0
  1098. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/common/25-status.html +0 -0
  1099. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/common/60-link.html +0 -0
  1100. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/common/90-comment.html +0 -0
  1101. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/common/98-unknown.html +0 -0
  1102. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/10-function.html +0 -0
  1103. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/10-switch.html +0 -0
  1104. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/15-change.html +0 -0
  1105. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/16-range.html +0 -0
  1106. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/80-template.html +0 -0
  1107. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/89-delay.html +0 -0
  1108. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/89-trigger.html +0 -0
  1109. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/90-exec.html +0 -0
  1110. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/function/rbe.html +0 -0
  1111. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/messages.json +0 -0
  1112. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/network/05-tls.html +0 -0
  1113. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/network/06-httpproxy.html +0 -0
  1114. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/network/10-mqtt.html +0 -0
  1115. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/network/21-httpin.html +0 -0
  1116. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/network/21-httprequest.html +0 -0
  1117. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/network/22-websocket.html +0 -0
  1118. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/network/31-tcpin.html +0 -0
  1119. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/network/32-udp.html +0 -0
  1120. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/parsers/70-CSV.html +0 -0
  1121. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/parsers/70-HTML.html +0 -0
  1122. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/parsers/70-JSON.html +0 -0
  1123. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/parsers/70-XML.html +0 -0
  1124. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/parsers/70-YAML.html +0 -0
  1125. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/sequence/17-split.html +0 -0
  1126. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/sequence/18-sort.html +0 -0
  1127. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/sequence/19-batch.html +0 -0
  1128. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/storage/10-file.html +0 -0
  1129. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/pt-BR/storage/23-watch.html +0 -0
  1130. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/common/20-inject.html +0 -0
  1131. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/common/21-debug.html +0 -0
  1132. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/common/24-complete.html +0 -0
  1133. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/common/25-catch.html +0 -0
  1134. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/common/25-status.html +0 -0
  1135. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/common/60-link.html +0 -0
  1136. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/common/90-comment.html +0 -0
  1137. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/common/98-unknown.html +0 -0
  1138. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/function/10-function.html +0 -0
  1139. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/function/10-switch.html +0 -0
  1140. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/function/15-change.html +0 -0
  1141. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/function/16-range.html +0 -0
  1142. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/function/80-template.html +0 -0
  1143. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/function/89-delay.html +0 -0
  1144. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/function/89-trigger.html +0 -0
  1145. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/function/90-exec.html +0 -0
  1146. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/messages.json +0 -0
  1147. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/network/05-tls.html +0 -0
  1148. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/network/06-httpproxy.html +0 -0
  1149. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/network/10-mqtt.html +0 -0
  1150. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/network/21-httpin.html +0 -0
  1151. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/network/21-httprequest.html +0 -0
  1152. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/network/22-websocket.html +0 -0
  1153. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/network/31-tcpin.html +0 -0
  1154. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/network/32-udp.html +0 -0
  1155. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/parsers/70-CSV.html +0 -0
  1156. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/parsers/70-HTML.html +0 -0
  1157. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/parsers/70-JSON.html +0 -0
  1158. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/parsers/70-XML.html +0 -0
  1159. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/parsers/70-YAML.html +0 -0
  1160. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/sequence/17-split.html +0 -0
  1161. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/sequence/18-sort.html +0 -0
  1162. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/sequence/19-batch.html +0 -0
  1163. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/storage/10-file.html +0 -0
  1164. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/ru/storage/23-watch.html +0 -0
  1165. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/common/20-inject.html +0 -0
  1166. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/common/21-debug.html +0 -0
  1167. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/common/24-complete.html +0 -0
  1168. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/common/25-catch.html +0 -0
  1169. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/common/25-status.html +0 -0
  1170. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/common/60-link.html +0 -0
  1171. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/common/90-comment.html +0 -0
  1172. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/common/98-unknown.html +0 -0
  1173. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/function/10-function.html +0 -0
  1174. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/function/10-switch.html +0 -0
  1175. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/function/15-change.html +0 -0
  1176. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/function/16-range.html +0 -0
  1177. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/function/80-template.html +0 -0
  1178. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/function/89-delay.html +0 -0
  1179. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/function/89-trigger.html +0 -0
  1180. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/function/90-exec.html +0 -0
  1181. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/messages.json +0 -0
  1182. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/network/05-tls.html +0 -0
  1183. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/network/06-httpproxy.html +0 -0
  1184. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/network/10-mqtt.html +0 -0
  1185. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/network/21-httpin.html +0 -0
  1186. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/network/21-httprequest.html +0 -0
  1187. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/network/22-websocket.html +0 -0
  1188. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/network/31-tcpin.html +0 -0
  1189. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/network/32-udp.html +0 -0
  1190. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/parsers/70-CSV.html +0 -0
  1191. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/parsers/70-HTML.html +0 -0
  1192. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/parsers/70-JSON.html +0 -0
  1193. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/parsers/70-XML.html +0 -0
  1194. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/parsers/70-YAML.html +0 -0
  1195. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/sequence/17-split.html +0 -0
  1196. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/sequence/18-sort.html +0 -0
  1197. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/sequence/19-batch.html +0 -0
  1198. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/storage/10-file.html +0 -0
  1199. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-CN/storage/23-watch.html +0 -0
  1200. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/common/20-inject.html +0 -0
  1201. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/common/21-debug.html +0 -0
  1202. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/common/24-complete.html +0 -0
  1203. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/common/25-catch.html +0 -0
  1204. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/common/25-status.html +0 -0
  1205. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/common/60-link.html +0 -0
  1206. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/common/90-comment.html +0 -0
  1207. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/common/98-unknown.html +0 -0
  1208. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/function/10-function.html +0 -0
  1209. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/function/10-switch.html +0 -0
  1210. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/function/15-change.html +0 -0
  1211. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/function/16-range.html +0 -0
  1212. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/function/80-template.html +0 -0
  1213. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/function/89-delay.html +0 -0
  1214. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/function/89-trigger.html +0 -0
  1215. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/function/90-exec.html +0 -0
  1216. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/messages.json +0 -0
  1217. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/network/05-tls.html +0 -0
  1218. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/network/06-httpproxy.html +0 -0
  1219. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/network/10-mqtt.html +0 -0
  1220. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/network/21-httpin.html +0 -0
  1221. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/network/21-httprequest.html +0 -0
  1222. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/network/22-websocket.html +0 -0
  1223. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/network/31-tcpin.html +0 -0
  1224. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/network/32-udp.html +0 -0
  1225. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/parsers/70-CSV.html +0 -0
  1226. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/parsers/70-HTML.html +0 -0
  1227. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/parsers/70-JSON.html +0 -0
  1228. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/parsers/70-XML.html +0 -0
  1229. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/parsers/70-YAML.html +0 -0
  1230. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/sequence/17-split.html +0 -0
  1231. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/sequence/18-sort.html +0 -0
  1232. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/sequence/19-batch.html +0 -0
  1233. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/storage/10-file.html +0 -0
  1234. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/nodes/locales/zh-TW/storage/23-watch.html +0 -0
  1235. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/__init__.py +0 -0
  1236. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/catalogue.py +0 -0
  1237. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/installer.py +0 -0
  1238. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/loader.py +0 -0
  1239. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/localfilesystem.py +0 -0
  1240. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/nodeset.py +0 -0
  1241. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/plugins.py +0 -0
  1242. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/registry.py +0 -0
  1243. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/registry/subflow.py +0 -0
  1244. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/__init__.py +0 -0
  1245. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/external_modules.py +0 -0
  1246. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/flows/__init__.py +0 -0
  1247. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/flows/flow.py +0 -0
  1248. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/flows/group.py +0 -0
  1249. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/flows/subflow.py +0 -0
  1250. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/flows/util.py +0 -0
  1251. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/library.py +0 -0
  1252. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/multiplayer.py +0 -0
  1253. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/nodes/__init__.py +0 -0
  1254. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/nodes/context/__init__.py +0 -0
  1255. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/nodes/context/base.py +0 -0
  1256. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/nodes/context/localfilesystem.py +0 -0
  1257. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/nodes/context/memory.py +0 -0
  1258. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/nodes/credentials.py +0 -0
  1259. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/nodes/linkcall.py +0 -0
  1260. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/nodes/node.py +0 -0
  1261. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/projects/__init__.py +0 -0
  1262. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/projects/askpass.py +0 -0
  1263. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/projects/auth.py +0 -0
  1264. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/projects/defaults.py +0 -0
  1265. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/projects/git.py +0 -0
  1266. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/projects/project.py +0 -0
  1267. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/projects/ssh.py +0 -0
  1268. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/projects_api.py +0 -0
  1269. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/red.py +0 -0
  1270. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/storage/__init__.py +0 -0
  1271. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime/storage/localfilesystem.py +0 -0
  1272. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/de/runtime.json +0 -0
  1273. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/en-US/runtime.json +0 -0
  1274. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/es-ES/runtime.json +0 -0
  1275. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/fr/runtime.json +0 -0
  1276. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/ja/runtime.json +0 -0
  1277. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/ko/runtime.json +0 -0
  1278. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/pt-BR/runtime.json +0 -0
  1279. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/ru/runtime.json +0 -0
  1280. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/zh-CN/runtime.json +0 -0
  1281. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/runtime_locales/zh-TW/runtime.json +0 -0
  1282. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/secrets/__init__.py +0 -0
  1283. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/secrets/file.py +0 -0
  1284. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/secrets/google.py +0 -0
  1285. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/settings.py +0 -0
  1286. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/__init__.py +0 -0
  1287. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/clone.py +0 -0
  1288. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/cron.py +0 -0
  1289. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/encode.py +0 -0
  1290. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/events.py +0 -0
  1291. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/exec.py +0 -0
  1292. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/hashsum.py +0 -0
  1293. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/hooks.py +0 -0
  1294. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/i18n.py +0 -0
  1295. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/ids.py +0 -0
  1296. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/jsonata_support.py +0 -0
  1297. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/jsvalues.py +0 -0
  1298. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/log.py +0 -0
  1299. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/moment.py +0 -0
  1300. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/mustache.py +0 -0
  1301. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/props.py +0 -0
  1302. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/settings_access.py +0 -0
  1303. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/values.py +0 -0
  1304. {pyflowred-0.2.0 → pyflowred-0.3.0}/src/pyflowred/util/xml2js.py +0 -0
  1305. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/__init__.py +0 -0
  1306. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/conftest.py +0 -0
  1307. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/mqtt_broker.py +0 -0
  1308. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_api.py +0 -0
  1309. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_editor_ui.py +0 -0
  1310. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_flowstore.py +0 -0
  1311. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_metrics.py +0 -0
  1312. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_multiplayer.py +0 -0
  1313. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_node_packages.py +0 -0
  1314. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_nodes_common.py +0 -0
  1315. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_nodes_function.py +0 -0
  1316. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_nodes_mqtt.py +0 -0
  1317. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_nodes_network.py +0 -0
  1318. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_nodes_parsers.py +0 -0
  1319. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_palette.py +0 -0
  1320. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_projects.py +0 -0
  1321. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_runtime.py +0 -0
  1322. {pyflowred-0.2.0 → pyflowred-0.3.0}/tests/test_secrets.py +0 -0
  1323. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/benchflows.py +0 -0
  1324. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/devserver.sh +0 -0
  1325. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/attach-copyright.js +0 -0
  1326. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/clean.js +0 -0
  1327. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/concat.js +0 -0
  1328. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/config.js +0 -0
  1329. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/copy.js +0 -0
  1330. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/index.js +0 -0
  1331. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/jsonlint.js +0 -0
  1332. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/minify.js +0 -0
  1333. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/editor-build/sass.js +0 -0
  1334. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/hatch_build.py +0 -0
  1335. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/kafka/compose.yml +0 -0
  1336. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/loadtest.py +0 -0
  1337. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/rawbaseline.py +0 -0
  1338. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/smoke.py +0 -0
  1339. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/uicheck.py +0 -0
  1340. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/uiflow.py +0 -0
  1341. {pyflowred-0.2.0 → pyflowred-0.3.0}/tools/uiprojects.py +0 -0
@@ -1,5 +1,63 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 - 2026-09-27
4
+
5
+ - **An end-to-end integration test** over the node set and its settings, run
6
+ against the service rather than in-process: `tools/e2eflows.py` deploys
7
+ eighteen tabs with 157 assertions, `tools/coverage.py` measures what they
8
+ reached. **66 of 66 countable node types** carry a message during a run
9
+ (97.1% counting the two set aside), and **183 of 191 reachable dialog
10
+ choices** are covered by a passing assertion (95.8%). Everything set aside
11
+ is named with its reason and both figures are printed, so an exclusion
12
+ cannot flatter the result. `tools/e2e/compose.yml` brings up the broker and
13
+ Kafka it wants.
14
+ - Defects it found:
15
+ - **Window closing wedged for good** on a timestamp containing the byte
16
+ used as the index separator - about one millisecond in 250. The key was
17
+ split on that separator, the unpack raised, and because the index is
18
+ walked oldest-first the poisoned entry blocked every window behind it
19
+ from ever closing again. It is sliced by offset now.
20
+ - **The Assemble node shadowed `Node._complete`**, the runtime's own method
21
+ for finishing a message, so every message it emitted raised.
22
+ - `kafka out` took the topic and key from the message in preference to the
23
+ dialog, the opposite of the MQTT node and of what its own placeholder
24
+ says.
25
+ - The stream operators showed raw catalogue keys as their node status.
26
+ - A Global Config node carrying coordinates is treated as a placed node
27
+ and, belonging to no tab, dropped - so its environment variables were
28
+ never read.
29
+
30
+ - **Stream processing.** Seven operators - `aggregate`, `derive`,
31
+ `threshold`, `transition`, `assemble`, `compress`, `pattern` - on a
32
+ `stream-state` configuration node backed by RocksDB. Windows tumble, hop,
33
+ slide, count, session, and close on a control message, which is what a
34
+ shift, a batch, a production order and a cleaning cycle all are. Event time
35
+ with watermarks and a second output for late messages; quality-aware
36
+ aggregation; a key limit that refuses rather than evicts; and
37
+ `GET <httpAdminRoot>stream-state` to see what is held.
38
+ RocksDB is the state store rather than a fallback: 100,000 keys each
39
+ holding a 300-sample window cost 1,193 MB as Python objects and 39 MB
40
+ resident through it, and its slowest hot path is eighteen times the rate
41
+ the runtime can feed it.
42
+
43
+ - Google Cloud Storage nodes: a `gcs-config` bucket configuration plus
44
+ `gcs in` and `gcs out`, on obstore - the layer the flow store already uses.
45
+ Every operational value is a typed property, so bucket, path, format,
46
+ character set and content type can each be a literal, a message property, a
47
+ flow or global value, an environment variable or a JSONata expression; left
48
+ blank, each falls back to a documented message property. A flow that works
49
+ out where it is writing needs one node, not one per destination.
50
+ Credentials stay on the configuration node, where `${secret:NAME}` reaches
51
+ Secret Manager, and a path cannot climb out of the bucket's prefix.
52
+ - `gcs list` and `gcs delete` alongside them. Listing is shallow (objects and
53
+ child folders at one level) or deep, with a limit and a `truncated` flag.
54
+ Deleting takes one object or a whole prefix, and is idempotent.
55
+ - Folders work the same with and without a bucket's hierarchical namespace,
56
+ as far as the object API allows: shallow listing reports a folder as a
57
+ folder in either case, while obstore cannot address a name ending in `/`,
58
+ so a prefix delete leaves folder markers behind and reports them in
59
+ `msg.gcs.remainingFolders` rather than claiming a clean sweep.
60
+
3
61
  ## 0.2.0
4
62
 
5
63
  **Everything is now called `pyflowred`.** 0.1.0 shipped under that name on
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: pyflowred
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: A Python port of Node-RED: the same editor, the same flow semantics, a Python runtime.
5
5
  Project-URL: Homepage, https://github.com/DataVoyage/pyflowred
6
6
  Project-URL: Documentation, https://github.com/DataVoyage/pyflowred/blob/main/docs/operations.md
@@ -37,6 +37,7 @@ Requires-Dist: prometheus-client>=0.21
37
37
  Requires-Dist: python-dateutil>=2.9
38
38
  Requires-Dist: python-multipart>=0.0.20
39
39
  Requires-Dist: pyyaml>=6.0
40
+ Requires-Dist: rocksdict>=0.3.29
40
41
  Requires-Dist: starlette>=0.41
41
42
  Requires-Dist: uvicorn[standard]>=0.32
42
43
  Requires-Dist: watchfiles>=1.0
@@ -67,6 +68,8 @@ API — with a Python runtime and nodes written in Python.
67
68
  | Flow runtime, node registry, context, credentials, storage | Re-implemented in Python |
68
69
  | Projects (git-backed flows), multiplayer, palette catalogue | Re-implemented in Python |
69
70
  | Prometheus metrics endpoint and exporter nodes | New; the nodes ported from `node-red-contrib-prometheus-exporter` |
71
+ | Kafka, Google Cloud Storage and secrets nodes | New; no Node-RED counterpart |
72
+ | Stream processing: windows, aggregation, thresholds, state, patterns | New; RocksDB-backed keyed state |
70
73
  | Core nodes | Re-implemented in Python — all 50 types |
71
74
 
72
75
  The editor is not a reimplementation. It is Node-RED's own editor, talking to
@@ -120,9 +123,9 @@ Two images, same application. `Dockerfile` installs the released package with
120
123
  three stages, Node included.
121
124
 
122
125
  ```bash
123
- docker build -t pyflowred:0.2.0 . # released
126
+ docker build -t pyflowred:0.3.0 . # released
124
127
  docker build -f Dockerfile.source -t pyflowred:source . # this checkout
125
- docker run -d -p 1880:1880 -v pyflowred-data:/data pyflowred:0.2.0
128
+ docker run -d -p 1880:1880 -v pyflowred-data:/data pyflowred:0.3.0
126
129
  ```
127
130
 
128
131
  Your own CA is a build argument or a mount, and reaches every library in the
@@ -188,6 +191,7 @@ src/pyflowred/
188
191
  registry/ node discovery, loading, palette installation
189
192
  api/ HTTP admin API, editor routes, comms WebSocket (Starlette)
190
193
  metrics/ the Prometheus registry, runtime instrumentation, endpoint
194
+ streaming/ keyed state on RocksDB, windows, aggregate functions
191
195
  nodes/core/ the core node set: Python implementations + Node-RED dialogs
192
196
  editor_client/ the Node-RED editor, vendored and built
193
197
  tools/
@@ -196,6 +200,14 @@ tools/
196
200
  uicheck.py load the editor in a real browser and report on it
197
201
  uiflow.py deploy and run a flow through the editor, in a real browser
198
202
  uiprojects.py commit a deploy through the project UI, in a real browser
203
+ uigcs.py check the Cloud Storage dialogs are typed inputs, in a browser
204
+ uistream.py check the stream processing dialogs, in a browser
205
+ e2eflows.py the end-to-end integration test: 18 tabs, 157 assertions
206
+ coverage.py what a run reached: node types and dialog choices
207
+ e2e/ the MQTT broker and Kafka the test talks to
208
+ e2eflows.py the end-to-end integration test: 12 tabs, 45 assertions
209
+ coverage.py how much of the node set a run actually reached
210
+ e2e/ the MQTT broker and Kafka that test talks to
199
211
  benchflows.py seven benchmark flows, 82 nodes across 33 node types
200
212
  loadtest.py drive them and sample the runtime's CPU, RSS and fds
201
213
  rawbaseline.py a bare Starlette endpoint, to measure the runtime against
@@ -213,6 +225,10 @@ tests/ the test suite, including a browser test of the editor
213
225
  .venv/bin/python -m pytest tests
214
226
  ```
215
227
 
228
+ [docs/test-coverage.md](docs/test-coverage.md) is the standing record of what
229
+ is tested, how, and what is not - including the 24% of end-to-end assertions
230
+ that so far only check that something arrived rather than what it was.
231
+
216
232
  The suite covers every node group against real sockets (including an
217
233
  in-process MQTT broker), the runtime (subflows, groups, context, credentials,
218
234
  deploy types), the admin API, projects against a real `git` binary, and — when
@@ -17,6 +17,8 @@ API — with a Python runtime and nodes written in Python.
17
17
  | Flow runtime, node registry, context, credentials, storage | Re-implemented in Python |
18
18
  | Projects (git-backed flows), multiplayer, palette catalogue | Re-implemented in Python |
19
19
  | Prometheus metrics endpoint and exporter nodes | New; the nodes ported from `node-red-contrib-prometheus-exporter` |
20
+ | Kafka, Google Cloud Storage and secrets nodes | New; no Node-RED counterpart |
21
+ | Stream processing: windows, aggregation, thresholds, state, patterns | New; RocksDB-backed keyed state |
20
22
  | Core nodes | Re-implemented in Python — all 50 types |
21
23
 
22
24
  The editor is not a reimplementation. It is Node-RED's own editor, talking to
@@ -70,9 +72,9 @@ Two images, same application. `Dockerfile` installs the released package with
70
72
  three stages, Node included.
71
73
 
72
74
  ```bash
73
- docker build -t pyflowred:0.2.0 . # released
75
+ docker build -t pyflowred:0.3.0 . # released
74
76
  docker build -f Dockerfile.source -t pyflowred:source . # this checkout
75
- docker run -d -p 1880:1880 -v pyflowred-data:/data pyflowred:0.2.0
77
+ docker run -d -p 1880:1880 -v pyflowred-data:/data pyflowred:0.3.0
76
78
  ```
77
79
 
78
80
  Your own CA is a build argument or a mount, and reaches every library in the
@@ -138,6 +140,7 @@ src/pyflowred/
138
140
  registry/ node discovery, loading, palette installation
139
141
  api/ HTTP admin API, editor routes, comms WebSocket (Starlette)
140
142
  metrics/ the Prometheus registry, runtime instrumentation, endpoint
143
+ streaming/ keyed state on RocksDB, windows, aggregate functions
141
144
  nodes/core/ the core node set: Python implementations + Node-RED dialogs
142
145
  editor_client/ the Node-RED editor, vendored and built
143
146
  tools/
@@ -146,6 +149,14 @@ tools/
146
149
  uicheck.py load the editor in a real browser and report on it
147
150
  uiflow.py deploy and run a flow through the editor, in a real browser
148
151
  uiprojects.py commit a deploy through the project UI, in a real browser
152
+ uigcs.py check the Cloud Storage dialogs are typed inputs, in a browser
153
+ uistream.py check the stream processing dialogs, in a browser
154
+ e2eflows.py the end-to-end integration test: 18 tabs, 157 assertions
155
+ coverage.py what a run reached: node types and dialog choices
156
+ e2e/ the MQTT broker and Kafka the test talks to
157
+ e2eflows.py the end-to-end integration test: 12 tabs, 45 assertions
158
+ coverage.py how much of the node set a run actually reached
159
+ e2e/ the MQTT broker and Kafka that test talks to
149
160
  benchflows.py seven benchmark flows, 82 nodes across 33 node types
150
161
  loadtest.py drive them and sample the runtime's CPU, RSS and fds
151
162
  rawbaseline.py a bare Starlette endpoint, to measure the runtime against
@@ -163,6 +174,10 @@ tests/ the test suite, including a browser test of the editor
163
174
  .venv/bin/python -m pytest tests
164
175
  ```
165
176
 
177
+ [docs/test-coverage.md](docs/test-coverage.md) is the standing record of what
178
+ is tested, how, and what is not - including the 24% of end-to-end assertions
179
+ that so far only check that something arrived rather than what it was.
180
+
166
181
  The suite covers every node group against real sockets (including an
167
182
  in-process MQTT broker), the runtime (subflows, groups, context, credentials,
168
183
  deploy types), the admin API, projects against a real `git` binary, and — when
@@ -11,7 +11,7 @@ Two images, same application.
11
11
 
12
12
  ```bash
13
13
  # released
14
- docker build -t pyflowred:0.2.0 .
14
+ docker build -t pyflowred:0.3.0 .
15
15
  docker build -t pyflowred:0.3.0 --build-arg PYFLOWRED_VERSION=0.3.0 .
16
16
 
17
17
  # from this checkout
@@ -19,7 +19,7 @@ docker build -f Dockerfile.source -t pyflowred:source .
19
19
  ```
20
20
 
21
21
  ```bash
22
- docker run -d -p 1880:1880 -v pyflowred-data:/data pyflowred:0.2.0
22
+ docker run -d -p 1880:1880 -v pyflowred-data:/data pyflowred:0.3.0
23
23
  ```
24
24
 
25
25
  The editor is then at <http://127.0.0.1:1880/>. Flows and settings live in
@@ -38,7 +38,7 @@ Settings can come from the environment, so nothing has to be baked in:
38
38
  docker run -d -p 1880:1880 \
39
39
  -e PYFLOWRED_UI_PORT=1880 \
40
40
  -e PYFLOWRED_FLOW_STORE=gs://my-bucket/pyflowred/production \
41
- -v pyflowred-data:/data pyflowred:0.2.0
41
+ -v pyflowred-data:/data pyflowred:0.3.0
42
42
  ```
43
43
 
44
44
  ## Your own CA
@@ -51,13 +51,13 @@ proxy, where `uv` and `npm` cannot fetch anything without it:
51
51
 
52
52
  ```bash
53
53
  cp corp-root-ca.crt docker/ca/
54
- docker build -t pyflowred:0.2.0 .
54
+ docker build -t pyflowred:0.3.0 .
55
55
  ```
56
56
 
57
57
  **Mounted at run time** - so a certificate can be rotated without rebuilding:
58
58
 
59
59
  ```bash
60
- docker run -d -p 1880:1880 -v ./ca:/certs:ro -v pyflowred-data:/data pyflowred:0.2.0
60
+ docker run -d -p 1880:1880 -v ./ca:/certs:ro -v pyflowred-data:/data pyflowred:0.3.0
61
61
  ```
62
62
 
63
63
  Every `.crt` and `.pem` in `/certs` is picked up at start-up. Starting twice
@@ -97,7 +97,7 @@ at a time:
97
97
  cp corp-root-ca.crt docker/ca/
98
98
 
99
99
  # released: one index, which proxies PyPI
100
- docker build -t pyflowred:0.2.0 \
100
+ docker build -t pyflowred:0.3.0 \
101
101
  --build-arg HTTPS_PROXY=http://proxy.corp:3128 \
102
102
  --build-arg HTTP_PROXY=http://proxy.corp:3128 \
103
103
  --build-arg NO_PROXY=.corp,localhost,127.0.0.1 \
@@ -123,7 +123,7 @@ well:
123
123
  docker run -d -p 1880:1880 \
124
124
  -e HTTPS_PROXY=http://proxy.corp:3128 \
125
125
  -e UV_INDEX_URL=https://nexus.corp/repository/pypi/simple \
126
- -v pyflowred-data:/data pyflowred:0.2.0
126
+ -v pyflowred-data:/data pyflowred:0.3.0
127
127
  ```
128
128
 
129
129
  ## Compose
@@ -3,8 +3,8 @@
3
3
  ## In a container
4
4
 
5
5
  ```bash
6
- docker build -t pyflowred:0.2.0 .
7
- docker run -d -p 1880:1880 -v pyflowred-data:/data pyflowred:0.2.0
6
+ docker build -t pyflowred:0.3.0 .
7
+ docker run -d -p 1880:1880 -v pyflowred-data:/data pyflowred:0.3.0
8
8
  ```
9
9
 
10
10
  Two images: `Dockerfile` installs the released package with `uv` and carries
@@ -255,6 +255,317 @@ The Kafka tests use it and skip themselves when it is not running:
255
255
  .venv/bin/python -m pytest tests/test_nodes_kafka.py -m slow
256
256
  ```
257
257
 
258
+ ## Google Cloud Storage
259
+
260
+ A `gcs-config` node holds the bucket and the identity, and any number of
261
+ `gcs in` (read), `gcs out` (write), `gcs list` and `gcs delete` nodes point at
262
+ it - the same shape as Kafka and MQTT. Built on `obstore`, the same layer the
263
+ flow store uses.
264
+
265
+ ### Everything can come from the message
266
+
267
+ This is the part that matters in a flow. Bucket, path, format, character set
268
+ and content type are all typed properties: each can be a literal, a message
269
+ property, a flow or global value, an environment variable or a JSONata
270
+ expression. Leave a field blank and it falls back to a documented property of
271
+ the message.
272
+
273
+ | Field | Falls back to |
274
+ |---|---|
275
+ | Path | `msg.filename` |
276
+ | Bucket | `msg.bucket` |
277
+ | Output as (`gcs in`) | `msg.format` |
278
+ | Content type (`gcs out`) | `msg.contentType` |
279
+ | Encoding | `msg.encoding` |
280
+ | Listing (`gcs list`) | `msg.depth` |
281
+ | Delete (`gcs delete`) | `msg.mode` |
282
+ | Limit | `msg.limit` |
283
+
284
+ The order is always the field in the dialog, then the message, then the
285
+ default. So a writer whose path is the JSONata expression
286
+
287
+ ```
288
+ "orders/" & payload.tenant & "/" & payload.id & ".json"
289
+ ```
290
+
291
+ serves every tenant and every order from one node.
292
+
293
+ After either node, `msg.gcs` carries `bucket`, `path`, `key`, `size`,
294
+ `contentType`, `eTag`, `lastModified` and, on a versioned bucket, `version`.
295
+ `path` is what the node was asked for and `key` is where that landed once the
296
+ bucket's prefix was applied - keeping both is what lets `msg.gcs.path` be fed
297
+ straight into another node without the prefix being applied twice.
298
+
299
+ ### Credentials, and why they are not on the message
300
+
301
+ Credentials are the one thing that stays on the configuration node. They
302
+ belong to the connection rather than to the operation, and a message able to
303
+ choose the key it is written with would be a way to write somewhere it should
304
+ not.
305
+
306
+ * **Application default** is the default and needs nothing configured: it
307
+ works from `GOOGLE_APPLICATION_CREDENTIALS` on a workstation, from the
308
+ metadata server on Compute Engine, and from Workload Identity in GKE, where
309
+ there is no key file at all.
310
+ * **Service account key** takes the JSON itself, stored encrypted in the
311
+ credentials file. `${secret:NAME}` works here, so the key can live in Secret
312
+ Manager and be rotated without touching the flow.
313
+ * **Service account file** takes a path, for a key mounted as a Kubernetes
314
+ secret.
315
+ * **Anonymous** signs nothing, for a public bucket.
316
+
317
+ The **Options** table takes any obstore GCS setting by name and is applied
318
+ last, so it overrides the fields above - `base_url` against an emulator, for
319
+ example.
320
+
321
+ ### Listing and deleting
322
+
323
+ `gcs list` has two shapes. **Shallow** asks what is at one level: objects in
324
+ `msg.payload`, child folders in `msg.folders`. **Deep** walks the whole
325
+ subtree and returns no folders. Both stop at **Limit** (1000 by default) and
326
+ set `msg.gcs.truncated` when there was more - a bucket can hold millions of
327
+ objects, and a node that tried to put all of them on one message would take
328
+ the runtime with it.
329
+
330
+ Each entry carries `path` and `key`. `path` is relative to the bucket's
331
+ prefix, so it goes straight into a `gcs in` node; a `split` node turns the
332
+ array into one message per object.
333
+
334
+ `gcs delete` removes one object, or everything under a prefix. It is
335
+ idempotent: something already gone is not an error, it simply does not appear
336
+ in `msg.gcs.deleted`.
337
+
338
+ ### Folders, with and without a hierarchical namespace
339
+
340
+ A bucket has folders in one of two ways, and a flow should not have to know
341
+ which. With a [hierarchical
342
+ namespace](https://cloud.google.com/storage/docs/hns-overview) they are real
343
+ resources. Without one - still the default, and it cannot be switched on
344
+ afterwards - a folder is either implied by an object name containing `/`, or
345
+ is a zero-byte object whose name ends in `/`, which is what the console and
346
+ gsutil create.
347
+
348
+ Measured against a real flat bucket:
349
+
350
+ * **Shallow listing reports a folder as a folder** - as a child folder, not
351
+ as an object - even when nothing sits under it. That is why it is the
352
+ default here.
353
+ * **Deep listing does not.** A zero-byte marker comes back as an ordinary
354
+ object, with its trailing slash removed, because obstore normalises paths.
355
+ * **obstore cannot address a name ending in `/` at all.** It strips the slash
356
+ before the request, so it can neither create a marker nor delete one: the
357
+ delete returns "not found" while the object stays in the bucket.
358
+
359
+ So a prefix delete removes the objects and leaves the markers, and says so:
360
+ `msg.gcs.remainingFolders` lists what is still there.
361
+
362
+ With a hierarchical namespace the first two hold, but two things differ -
363
+ taken from Google's documentation rather than measured here:
364
+ [empty folders are excluded from a delimited
365
+ listing](https://cloud.google.com/storage/docs/hns-overview), so
366
+ `remainingFolders` will not report one, and a folder is removed by its own
367
+ operation, which the object API obstore speaks does not reach.
368
+
369
+ Either way nothing breaks and no wrong object is touched. What can remain
370
+ after a prefix delete is an empty folder.
371
+
372
+ ### The prefix is a boundary
373
+
374
+ A bucket configuration may carry a prefix, and it is not only a convenience:
375
+ a path is refused if it tries to climb out of the prefix with `..`. Paths
376
+ normally come from messages, so without that a payload could read and write
377
+ anywhere in the bucket.
378
+
379
+ Cloud Storage has no append. Writing to a path that exists replaces it.
380
+
381
+ ### Testing against a real bucket
382
+
383
+ The node tests run against an in-memory store, so they need no network. The
384
+ round trip against a real bucket is marked slow and skips itself unless the
385
+ environment names one:
386
+
387
+ ```bash
388
+ GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json \
389
+ PYFLOWRED_TEST_BUCKET=gs://a-bucket/a-prefix \
390
+ .venv/bin/python -m pytest tests/test_nodes_gcs.py -m slow
391
+ ```
392
+
393
+ The edit dialogs are checked in a real browser, because whether a field is
394
+ really a typed input is not visible from Python:
395
+ `.venv/bin/python tools/uigcs.py http://127.0.0.1:1890/`.
396
+
397
+ ## Stream processing
398
+
399
+ Seven operators that turn raw tag traffic into measurements and events, and
400
+ one configuration node holding what they remember.
401
+
402
+ | Node | What it does |
403
+ |---|---|
404
+ | `aggregate` | group by a key, collect into a window, compute |
405
+ | `derive` | arithmetic against the previous value: delta, rate, integral, counter with rollover, running total |
406
+ | `threshold` | level events with hysteresis and a dwell time |
407
+ | `transition` | discrete state changes with duration and debounce |
408
+ | `assemble` | last value per field into one record, with staleness |
409
+ | `compress` | deadband and swinging-door reduction |
410
+ | `pattern` | all / in order / absent, within a window |
411
+
412
+ Every operational field is a typed property, so a flow can work out its own
413
+ group key, value, limits and window.
414
+
415
+ ### Windows, including the one that matters most
416
+
417
+ Tumbling, hopping and sliding by time; tumbling and sliding by count; session
418
+ by a quiet gap - and **closed by a control message**. That last one is the
419
+ generalisation: a shift, a batch, a production order and a cleaning cycle are
420
+ all a period whose boundaries the plant announces. Send
421
+ `msg.control = "close"` with the same group key and the window emits and
422
+ resets.
423
+
424
+ ```
425
+ inject (cron) ──► aggregate (external window) ──► …
426
+ mqtt in ──► transition ──────────┘
427
+ ```
428
+
429
+ That is availability: `transition` gives run/idle/fault with durations, the
430
+ cron `inject` closes the shift, `aggregate` sums the durations per state.
431
+
432
+ ### Time
433
+
434
+ Processing time by default. With **event time** the timestamp comes from a
435
+ message property and a window closes when the watermark - the highest
436
+ timestamp seen, less the allowed lateness - passes its end. A message arriving
437
+ after that leaves by the second output carrying `msg.late`, rather than being
438
+ dropped where nobody can see it.
439
+
440
+ ### Quality
441
+
442
+ Name a quality property and a sample it marks as bad is counted in
443
+ `window.bad` and kept out of the arithmetic. A reading from a failed sensor
444
+ averaged in with good ones is a number that is quietly wrong. `compress`
445
+ always passes a bad sample through, because dropping it would hide the one
446
+ thing somebody needs to see.
447
+
448
+ ### State
449
+
450
+ `stream-state` is one RocksDB database, and there is usually more than one
451
+ because retention is the reason to separate them.
452
+
453
+ ```python
454
+ # a five-minute window and a thirty-day counter want different time-to-live
455
+ ```
456
+
457
+ Why RocksDB rather than memory, measured here: 100,000 keys each holding a
458
+ 300-sample window cost **1,193 MB** as Python objects and **39 MB** resident
459
+ through RocksDB. The slowest hot path through it - read, modify and write a
460
+ 300-sample buffer once per message - runs at 46,000 messages a second, which
461
+ is eighteen times what the runtime can feed it. There is no memory tier in
462
+ front of it on purpose.
463
+
464
+ **Time to live reclaims space during compaction, not on read.** An entry whose
465
+ time is up stays readable until a compaction happens to run. It is space
466
+ reclamation and never semantics: every value carries its own timestamp and the
467
+ operator decides what is stale.
468
+
469
+ The database is **not closed on a deploy**. State is meant to outlive one, and
470
+ RocksDB locks its directory, so closing on the way out would hand the
471
+ replacement node a locked directory.
472
+
473
+ ### Not leaking, and being able to look
474
+
475
+ Every operator takes a **key limit** and refuses new keys beyond it rather
476
+ than evicting old ones - evicting would mean quietly not counting something
477
+ the flow was asked to count. The limit bounds *open* state, which is the only
478
+ thing that can run away.
479
+
480
+ ```bash
481
+ curl <httpAdminRoot>stream-state
482
+ curl '<httpAdminRoot>stream-state?node=<nodeId>'
483
+ ```
484
+
485
+ reports every database and operator: keys tracked, refusals, late messages and
486
+ how far the watermark has got. State you cannot look at is state you cannot
487
+ trust, and an LSM tree is not readable in an editor - so this is the way in.
488
+
489
+ ## The end-to-end integration test
490
+
491
+ A flow set that exercises the node types and their settings against the
492
+ running service, with assertions, and a tool that measures how much of the
493
+ node set a run really reached.
494
+
495
+ ```bash
496
+ docker compose -f tools/e2e/compose.yml up -d # MQTT and Kafka
497
+ GOOGLE_APPLICATION_CREDENTIALS=... \
498
+ .venv/bin/python tools/e2eflows.py --deploy http://127.0.0.1:1880 --run
499
+ .venv/bin/python tools/coverage.py http://127.0.0.1:1880 --run
500
+ ```
501
+
502
+ Eighteen tabs, **157 assertions**. A simulated plant runs alongside so the
503
+ MQTT, Kafka and stream paths are exercised continuously rather than once per
504
+ button press.
505
+
506
+ * **Run all checks** on *00 Overview* fires every subject at once.
507
+ * `GET <httpNodeRoot>e2e/checks` returns the result as JSON,
508
+ `GET <httpNodeRoot>e2e/report` as a page.
509
+ * A check whose dependency is not running reports **skip**; one that never
510
+ fires at all reports **never reported**, which is the failure mode that
511
+ otherwise looks like a check that was never written.
512
+
513
+ ### What it measures
514
+
515
+ | | |
516
+ |---|---|
517
+ | **Node types** | 66 of 66 countable carry a message during a run — 97.1% counting the two set aside |
518
+ | **Options within the nodes** | 183 of 191 reachable choices — 95.8% |
519
+
520
+ `tools/coverage.py` reads the runtime's own message counters before and after
521
+ a run, so a type counts only when a message actually went through it.
522
+ Deployed is not tested.
523
+
524
+ For options it reads every choice out of the node dialogs themselves, rather
525
+ than from a list kept by hand that would go stale the first time somebody
526
+ added one, and counts a choice when a node carrying it is upstream of an
527
+ assertion that passed - or is named by one as something it proves, which is
528
+ how the far side of a broker or a socket is accounted for.
529
+
530
+ Read that precisely: it means *a node carrying this choice was proven to
531
+ work*, not *this choice behaves differently from its neighbours*. A
532
+ subscriber cannot tell a message published at quality of service 1 from one
533
+ at 2. Distinguishing those is what the unit tests are for.
534
+
535
+ Everything set aside is named and printed with its reason - a will message
536
+ needs the client to vanish, SASL needs a broker configured for it, the
537
+ Template node's syntax highlighting is never read at runtime - and both
538
+ figures are shown, with and without the exclusions, so setting something
539
+ aside cannot flatter the result.
540
+
541
+ A detailed account of what is and is not tested - including where an
542
+ assertion only checks that something arrived rather than what it was - is in
543
+ [test-coverage.md](test-coverage.md).
544
+
545
+ ### Keeping it honest
546
+
547
+ The assertions and the soak are separate. An assertion needs input it can
548
+ predict, so each subject has a burst with known values. Counters inside the
549
+ assertions are kept per run, because the stream state is durable on purpose
550
+ and a second press of the button must not read as the first one having
551
+ passed more.
552
+
553
+ The generator refuses to emit a Function node whose body will not compile: a
554
+ body built by string concatenation is one stray escape away from a syntax
555
+ error, and the runtime reports that as a node that quietly never fires -
556
+ which looks exactly like a feature that does not work.
557
+
558
+ Deploying is idempotent and additive: the tool replaces every tab whose id
559
+ starts with `t-` and leaves anything else alone. Credentials travel with the
560
+ deploy rather than sitting in the flow file.
561
+
562
+ The test needs a secrets provider, and the Cloud Storage tabs need
563
+ credentials the runtime can find:
564
+
565
+ ```python
566
+ secrets = {"provider": "file", "path": "~/.pyflowred/secrets", "ttl": 300}
567
+ ```
568
+
258
569
  ## Secrets
259
570
 
260
571
  A flow that calls a protected API or connects to a broker with authentication
@@ -138,6 +138,20 @@ confluent-kafka, with the full librdkafka configuration surface reachable
138
138
  through a properties table. Everything on the wire is JSON, by design rather
139
139
  than by option. See [operations.md](operations.md#kafka).
140
140
 
141
+ ### Google Cloud Storage
142
+
143
+ Also not a Node-RED node set, and the same shape again: a `gcs-config` bucket
144
+ configuration plus `gcs in`, `gcs out`, `gcs list` and `gcs delete`. On
145
+ obstore - the layer the flow store already uses, so there is one
146
+ object-storage implementation in the process and not two.
147
+
148
+ What is different from the `file` nodes it otherwise resembles: **every
149
+ operational value is a typed property**, so bucket, path, format, character
150
+ set and content type can each be a literal, a message property, a flow or
151
+ global value, an environment variable or a JSONata expression. A flow that
152
+ works out where it is writing does not need a node per destination. See
153
+ [operations.md](operations.md#google-cloud-storage).
154
+
141
155
  ### Secrets
142
156
 
143
157
  Another PyFlowRED addition. `secrets` names a provider - Google Secret Manager or