drawio_dsl 0.5.7 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/.builders/.templates/basic/drawio_extensions.rb +57 -0
  3. data/.builders/blueprint/shapes.rb +3 -1
  4. data/.builders/generators/10-transform-drawio-js.rb +195 -0
  5. data/.builders/generators/20-drawio-extensions.rb +41 -0
  6. data/.builders/generators/project_plans/drawio_dsl.rb +5 -2
  7. data/.builders/generators/sample_diagrams/15-grid-direction.rb +0 -8
  8. data/.builders/generators/sample_diagrams/20-styles.rb +1 -2
  9. data/.rubocop.yml +1 -0
  10. data/CHANGELOG.md +7 -0
  11. data/docs/extensions/analyti_cs.svg +3 -0
  12. data/docs/extensions/android_inputs.svg +3 -0
  13. data/docs/extensions/app_services.svg +3 -0
  14. data/docs/extensions/appliances.svg +3 -0
  15. data/docs/extensions/arrows.svg +3 -0
  16. data/docs/extensions/aws_17___analyti_cs.svg +3 -0
  17. data/docs/extensions/aws_17___application_services.svg +3 -0
  18. data/docs/extensions/aws_17___artificial_intelligence.svg +3 -0
  19. data/docs/extensions/aws_17___business_productivity.svg +3 -0
  20. data/docs/extensions/aws_17___compute.svg +3 -0
  21. data/docs/extensions/aws_17___contact_center.svg +3 -0
  22. data/docs/extensions/aws_17___containers.svg +3 -0
  23. data/docs/extensions/aws_17___database.svg +3 -0
  24. data/docs/extensions/aws_17___desktop_app_straning.svg +3 -0
  25. data/docs/extensions/aws_17___developer_tools.svg +3 -0
  26. data/docs/extensions/aws_17___game_development.svg +3 -0
  27. data/docs/extensions/aws_17___general.svg +3 -0
  28. data/docs/extensions/aws_17___io_t.svg +3 -0
  29. data/docs/extensions/aws_17___management.svg +3 -0
  30. data/docs/extensions/aws_17___messaging.svg +3 -0
  31. data/docs/extensions/aws_17___migration.svg +3 -0
  32. data/docs/extensions/aws_17___mobile_services.svg +3 -0
  33. data/docs/extensions/aws_17___networking_content_delivery.svg +3 -0
  34. data/docs/extensions/aws_17___on_demand_workforce.svg +3 -0
  35. data/docs/extensions/aws_17___sdks.svg +3 -0
  36. data/docs/extensions/aws_17___serurity_identity_and_compliance.svg +3 -0
  37. data/docs/extensions/aws_17___storage.svg +3 -0
  38. data/docs/extensions/aws_19___application_integration.svg +3 -0
  39. data/docs/extensions/aws_19___ar_vr.svg +3 -0
  40. data/docs/extensions/aws_19___blockchain.svg +3 -0
  41. data/docs/extensions/aws_19___business_applications.svg +3 -0
  42. data/docs/extensions/aws_19___compute.svg +3 -0
  43. data/docs/extensions/aws_19___cost_management.svg +3 -0
  44. data/docs/extensions/aws_19___customer_engagement.svg +3 -0
  45. data/docs/extensions/aws_19___database.svg +3 -0
  46. data/docs/extensions/aws_19___desktop_app_streaming.svg +3 -0
  47. data/docs/extensions/aws_19___developer_tools.svg +3 -0
  48. data/docs/extensions/aws_19___ec2_instance_types.svg +3 -0
  49. data/docs/extensions/aws_19___game_tech.svg +3 -0
  50. data/docs/extensions/aws_19___general.svg +3 -0
  51. data/docs/extensions/aws_19___groups_note_repeated_below_without_v2.svg +3 -0
  52. data/docs/extensions/aws_19___internet_of_things.svg +3 -0
  53. data/docs/extensions/aws_19___machine_learning.svg +3 -0
  54. data/docs/extensions/aws_19___management_governance.svg +3 -0
  55. data/docs/extensions/aws_19___media_services.svg +3 -0
  56. data/docs/extensions/aws_19___migration_transfer.svg +3 -0
  57. data/docs/extensions/aws_19___mobile.svg +3 -0
  58. data/docs/extensions/aws_19___networking_content_delivery.svg +3 -0
  59. data/docs/extensions/aws_19___roboti_cs.svg +3 -0
  60. data/docs/extensions/aws_19___satellite.svg +3 -0
  61. data/docs/extensions/aws_19___security_identity_compliance.svg +3 -0
  62. data/docs/extensions/aws_19___storage.svg +3 -0
  63. data/docs/extensions/aws_19_analyti_cs.svg +3 -0
  64. data/docs/extensions/aws_general.svg +3 -0
  65. data/docs/extensions/azure2019.svg +3 -0
  66. data/docs/extensions/azure_cloud.svg +3 -0
  67. data/docs/extensions/azure_enterprise.svg +3 -0
  68. data/docs/extensions/azure_vms.svg +3 -0
  69. data/docs/extensions/basic_network_shapes.svg +3 -0
  70. data/docs/extensions/beds.svg +3 -0
  71. data/docs/extensions/bpmn_2_0.svg +3 -0
  72. data/docs/extensions/cisco_basic.svg +3 -0
  73. data/docs/extensions/cisco_extended.svg +3 -0
  74. data/docs/extensions/common_elements.svg +3 -0
  75. data/docs/extensions/computers_and_monitors.svg +3 -0
  76. data/docs/extensions/containers.svg +3 -0
  77. data/docs/extensions/content_delivery.svg +3 -0
  78. data/docs/extensions/couches.svg +3 -0
  79. data/docs/extensions/cubicle_walls.svg +3 -0
  80. data/docs/extensions/data_flow.svg +3 -0
  81. data/docs/extensions/database.svg +3 -0
  82. data/docs/extensions/deployment.svg +3 -0
  83. data/docs/extensions/desks.svg +3 -0
  84. data/docs/extensions/detailed_network_diagrams.svg +3 -0
  85. data/docs/extensions/developer_tools.svg +3 -0
  86. data/docs/extensions/doors_windows.svg +3 -0
  87. data/docs/extensions/ec2.svg +3 -0
  88. data/docs/extensions/electrical.svg +3 -0
  89. data/docs/extensions/electroni_cs.svg +3 -0
  90. data/docs/extensions/enterprise_application.svg +3 -0
  91. data/docs/extensions/equipment.svg +3 -0
  92. data/docs/extensions/ext_shapes.svg +3 -0
  93. data/docs/extensions/flowchart.svg +3 -0
  94. data/docs/extensions/geometric_shapes.svg +3 -0
  95. data/docs/extensions/google_cloud_platform.svg +3 -0
  96. data/docs/extensions/heat_exchangers.svg +3 -0
  97. data/docs/extensions/i_os_6_i_pad_controls.svg +3 -0
  98. data/docs/extensions/i_os_6_i_pad_elements.svg +3 -0
  99. data/docs/extensions/i_os_6_i_pad_icons.svg +3 -0
  100. data/docs/extensions/i_os_6_i_phone_controls.svg +3 -0
  101. data/docs/extensions/i_os_6_i_phone_elements.svg +3 -0
  102. data/docs/extensions/i_os_6_i_phone_icons.svg +3 -0
  103. data/docs/extensions/i_os_devices.svg +3 -0
  104. data/docs/extensions/i_os_icons.svg +3 -0
  105. data/docs/extensions/i_os_mockups.svg +3 -0
  106. data/docs/extensions/i_os_ui_components.svg +3 -0
  107. data/docs/extensions/i_pad_elements.svg +3 -0
  108. data/docs/extensions/i_phone_elements.svg +3 -0
  109. data/docs/extensions/information.svg +3 -0
  110. data/docs/extensions/instruments.svg +3 -0
  111. data/docs/extensions/internet_of_things.svg +3 -0
  112. data/docs/extensions/kanban.svg +3 -0
  113. data/docs/extensions/kitchen.svg +3 -0
  114. data/docs/extensions/kubernetes_icons.svg +3 -0
  115. data/docs/extensions/logic_gates.svg +3 -0
  116. data/docs/extensions/materials.svg +3 -0
  117. data/docs/extensions/message_routing.svg +3 -0
  118. data/docs/extensions/message_transformation.svg +3 -0
  119. data/docs/extensions/messaging_channels.svg +3 -0
  120. data/docs/extensions/messaging_endpoints.svg +3 -0
  121. data/docs/extensions/messaging_systems.svg +3 -0
  122. data/docs/extensions/mind_map.svg +3 -0
  123. data/docs/extensions/misc.svg +3 -0
  124. data/docs/extensions/misc_floorplan.svg +3 -0
  125. data/docs/extensions/miscellaneous.svg +3 -0
  126. data/docs/extensions/mobile_services.svg +3 -0
  127. data/docs/extensions/network.svg +3 -0
  128. data/docs/extensions/networking.svg +3 -0
  129. data/docs/extensions/on_demand.svg +3 -0
  130. data/docs/extensions/piping.svg +3 -0
  131. data/docs/extensions/power_sources.svg +3 -0
  132. data/docs/extensions/processes.svg +3 -0
  133. data/docs/extensions/pumps.svg +3 -0
  134. data/docs/extensions/repeated_from_the_above.svg +3 -0
  135. data/docs/extensions/restroom.svg +3 -0
  136. data/docs/extensions/s3.svg +3 -0
  137. data/docs/extensions/sdks.svg +3 -0
  138. data/docs/extensions/security_identity.svg +3 -0
  139. data/docs/extensions/server_racks.svg +3 -0
  140. data/docs/extensions/shipments.svg +3 -0
  141. data/docs/extensions/site_map.svg +3 -0
  142. data/docs/extensions/stairs.svg +3 -0
  143. data/docs/extensions/standard.svg +3 -0
  144. data/docs/extensions/system_management.svg +3 -0
  145. data/docs/extensions/tables_chairs.svg +3 -0
  146. data/docs/extensions/technology.svg +3 -0
  147. data/docs/extensions/transistors.svg +3 -0
  148. data/docs/extensions/ui_containers.svg +3 -0
  149. data/docs/extensions/ui_input.svg +3 -0
  150. data/docs/extensions/ui_menus.svg +3 -0
  151. data/docs/extensions/ui_misc.svg +3 -0
  152. data/docs/extensions/ui_widgets.svg +3 -0
  153. data/docs/extensions/uml_class_diagram.svg +3 -0
  154. data/docs/extensions/uml_component.svg +3 -0
  155. data/docs/extensions/uml_entity_relationship.svg +3 -0
  156. data/docs/extensions/uml_sequence.svg +3 -0
  157. data/docs/extensions/uml_state_activity.svg +3 -0
  158. data/docs/extensions/uml_use_case.svg +3 -0
  159. data/docs/extensions/value_stream_mapping.svg +3 -0
  160. data/docs/extensions/valves.svg +3 -0
  161. data/docs/extensions/venn_gradient.svg +3 -0
  162. data/docs/extensions/venn_plain.svg +3 -0
  163. data/docs/extensions/vessels.svg +3 -0
  164. data/docs/extensions.md +614 -0
  165. data/docs/project_done.svg +1 -1
  166. data/docs/project_in_progress.svg +1 -1
  167. data/docs/samples/grid-direction-horizontal.svg +1 -1
  168. data/docs/samples/grid-direction-vertical.svg +1 -1
  169. data/docs/samples/samples.svg +1 -1
  170. data/docs/samples/styles-glass.svg +1 -1
  171. data/docs/samples/styles-plain.svg +1 -1
  172. data/docs/samples/styles-rounded.svg +1 -1
  173. data/docs/samples/styles-shadow.svg +1 -1
  174. data/docs/samples/styles-sketch.svg +1 -1
  175. data/docs/samples/themes-random.svg +1 -1
  176. data/lib/drawio_dsl/dom_builder.rb +23 -8
  177. data/lib/drawio_dsl/drawio_extensions.json +14024 -0
  178. data/lib/drawio_dsl/drawio_extensions.rb +4599 -0
  179. data/lib/drawio_dsl/drawio_extensions_active.rb +32 -0
  180. data/lib/drawio_dsl/layout_engine.rb +17 -7
  181. data/lib/drawio_dsl/schema/diagram.rb +1 -1
  182. data/lib/drawio_dsl/schema/layouts/flex_layout.rb +1 -2
  183. data/lib/drawio_dsl/schema/layouts/grid_layout.rb +1 -2
  184. data/lib/drawio_dsl/schema/layouts/layout.rb +0 -3
  185. data/lib/drawio_dsl/schema/node.rb +16 -3
  186. data/lib/drawio_dsl/schema/node_list.rb +20 -1
  187. data/lib/drawio_dsl/schema/page.rb +14 -7
  188. data/lib/drawio_dsl/schema/shapes/shape.rb +6 -4
  189. data/lib/drawio_dsl/schema/virtual/anchor.rb +2 -0
  190. data/lib/drawio_dsl/version.rb +1 -1
  191. data/lib/drawio_dsl/xml_builder.rb +4 -9
  192. data/lib/drawio_dsl.rb +2 -0
  193. data/package-lock.json +2 -2
  194. data/package.json +1 -1
  195. metadata +162 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dbcff9217d4dba5b4cde6bc9d0fd2e9448ef7c6d953ce721055c3fb09ae8e6b6
4
- data.tar.gz: 618b5bb6db0a4688a4263f671ef83d8f0f188553ced55e9a975898abf84bb5ae
3
+ metadata.gz: 0f477a7317f4d012f3e7c1987de3ccedbf87431f5a5fa689862ba6ab3f19b62d
4
+ data.tar.gz: b76493c62b5fcd11ca2d51a028e2499e221c5a2e0f06a4b09701862f8d557afb
5
5
  SHA512:
6
- metadata.gz: 55c4572a400d3a101261243c417b34d202303954eb83078ded151e4cd3bf7f8b3af1b39214cdbd97b899ce4884a1a9ca85a03b85a66eb9bbbf14e836da662e55
7
- data.tar.gz: bdef286ff06b834b0cf93cc1a3f59dbf966040da92ebaf787722c240d922b9a4b5e3be38f6caa9507abf1f007099abff7ba8b36d4aff60d5ad3467245c089173
6
+ metadata.gz: 684c4a481532aab5570fc06fbbb1bd075fe3b7dfd1d06903dbe8e0df8f08532c112ab73e8363243a8570224302fa104ed4a28ded7343bcba2a800d2997dd7d65
7
+ data.tar.gz: 732f7ebd2f67587caaff22b51970b1a10cc258809deb16f5b060f38853d20c76620f923ad00ccf7c022e12c381ffd028499fc487fce46e0fd246b1bc2653fd35
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module DrawioDsl
4
+ # :nocov:
5
+ class DrawIoExtensions
6
+
7
+ attr_reader :sections
8
+ attr_reader :current_section
9
+
10
+ def initialize
11
+ @sections = []
12
+ end
13
+
14
+ def section(name)
15
+ @current_section = {
16
+ name: name,
17
+ shapes: []
18
+ }
19
+ @sections << current_section
20
+
21
+ yield if block_given?
22
+ end
23
+
24
+ def shape(name, style, original_name)
25
+ shape = {
26
+ name: name,
27
+ style: style,
28
+ original_name: original_name
29
+ }
30
+ current_section[:shapes] << shape
31
+ shape
32
+ end
33
+
34
+ def to_h
35
+ {
36
+ sections: @sections.map(&:to_h)
37
+ }
38
+ end
39
+
40
+ # This methods was generated using Extensions.js
41
+ # This generation can be improved over time and the code to do the generation
42
+ # can be found in the .builders/generators/10-transform-drawio-js.rb.
43
+ # original source: ~/dev/tools/drawio-desktop/drawio/src/main/webapp/js/diagramly/Extensions.js
44
+ def build_extensions
45
+ # Constants
46
+ {{{constants}}}
47
+ {{#each sections}}
48
+ section :{{snake ./name}} do
49
+ {{#each ./shapes}}
50
+ shape :{{padr (snake ./name) 60}}, "{{{./style}}}", "{{./name}}"
51
+ {{/each}}
52
+ end
53
+ {{/each}}
54
+ end
55
+ end
56
+ # :nocov:
57
+ end
@@ -1,4 +1,4 @@
1
- KManager.model :shapes, namespace: %i[domain] do
1
+ m = KManager.model :shapes, namespace: %i[domain] do
2
2
  # microapp = import(:handlebars_helpers, :microapp)
3
3
 
4
4
  table :shapes do
@@ -60,3 +60,5 @@ KManager.model :shapes, namespace: %i[domain] do
60
60
  .add_file('shapes.json', content: shapes, on_exist: :write)
61
61
  end
62
62
  end
63
+
64
+
@@ -0,0 +1,195 @@
1
+ KManager.action :transform_drawio_js do
2
+
3
+ action do
4
+ director = KDirector::Dsls::BasicDsl
5
+ .init(k_builder,
6
+ on_exist: :write, # %i[skip write compare]
7
+ on_action: :execute # %i[queue execute]
8
+ )
9
+ .blueprint do
10
+ cd(:data)
11
+
12
+ source_file = '/Users/davidcruwys/dev/tools/drawio-desktop/drawio/src/main/webapp/js/diagramly/Extensions.js'
13
+ target_file = k_builder.target_folders.get_filename(:data, 'extensions.js')
14
+
15
+ clean = CleanExtensionsJs.new(source_file, target_file)
16
+
17
+ cd(:lib)
18
+
19
+ clean.parse
20
+
21
+ add_file('drawio_extensions.json', content: clean.build_json)
22
+ add('drawio_extensions.rb', constants: clean.constants, sections: clean.sections)
23
+ end
24
+ end
25
+ end
26
+
27
+ class CleanExtensionsJs
28
+ def initialize(source_file, target_file)
29
+ @source_file = source_file
30
+ @target_file = target_file
31
+ @source = File.read(@source_file)
32
+ @constants = []
33
+ @builder = ExtensionJsBuilder.new
34
+ end
35
+
36
+ def parse
37
+ split_source
38
+ end
39
+
40
+ def build_json
41
+ @builder.build_json
42
+ end
43
+
44
+ def build_ruby
45
+ @builder.build_ruby
46
+ end
47
+
48
+ def constants
49
+ @builder.constants.join("\n")
50
+ end
51
+
52
+ def sections
53
+ @builder.sections.select { |s| s[:shapes].length > 0 }
54
+ end
55
+
56
+ private
57
+
58
+ def split_source
59
+ source_lines = @source.split("\n")
60
+ section = :unknown
61
+
62
+ source_lines.each do |line|
63
+ if line.include?('// Global import transformation')
64
+ section = :constants
65
+ next
66
+ elsif line.include?('var styleMap = {') && !line.include?('var styleMap = {};')
67
+ puts '-----------------------------------'
68
+ section = :style_map
69
+ next
70
+ elsif line.include?('};') ||
71
+ line.include?('//Instead of doing a massive code refactoring, thees ugly global variables are used')
72
+ section = :unknown
73
+ end
74
+
75
+ if section == :constants
76
+ @builder.process_constant(line)
77
+ end
78
+
79
+ if section == :style_map
80
+ @builder.process_style_map(line)
81
+ end
82
+ end
83
+ end
84
+
85
+ def process_style_map(line)
86
+ line
87
+ end
88
+ end
89
+
90
+ class ExtensionJsBuilder
91
+ attr_accessor :constants
92
+ attr_accessor :shapes
93
+ attr_accessor :sections
94
+ attr_accessor :current_section
95
+
96
+ def initialize
97
+ @constants = []
98
+ @shapes = []
99
+ @sections = []
100
+ @current_section = nil
101
+ end
102
+
103
+ def process_constant(line)
104
+ line = line.gsub(' ', '').gsub('var ', '').gsub(/;$/, '')
105
+ @constants << " #{line}"
106
+ end
107
+
108
+ def process_style_map(line)
109
+ line = clean_line(line)
110
+
111
+ return if kill_line(line)
112
+
113
+ if line.start_with?('#')
114
+ set_section(line)
115
+ return
116
+ end
117
+
118
+ return unless current_section
119
+
120
+ parts = process_line(line)
121
+
122
+ if parts.length == 2
123
+ name = parts[0]
124
+ style = parts[1]
125
+ current_section[:shapes] << { name: name, style: style }
126
+ shapes << line
127
+ else
128
+ puts 'length not 2'
129
+ puts line
130
+ end
131
+ end
132
+
133
+ def process_line(line)
134
+ line.split(':').map { |s| s.strip.gsub('"', '') }
135
+ end
136
+
137
+ def clean_line(line)
138
+ line
139
+ .strip
140
+ .gsub(' ', ' ')
141
+ .gsub(' ', ' ')
142
+ .gsub(' :', ':')
143
+ .gsub("don't", 'do not')
144
+ .gsub('//TODO', '')
145
+ .gsub(/(\/\/)([^ ])/) do |_|
146
+ match = Regexp.last_match
147
+ "// #{match[2]}"
148
+ end
149
+ .gsub("'", '"')
150
+ .gsub('not all variants covered', '')
151
+ .gsub('Timeline shape', '')
152
+ .gsub('# not all variants covered', '')
153
+ .gsub('not all versions supported', '')
154
+ .gsub('ss + "', '"#{ss}')
155
+ .gsub('s + "', '"#{s}')
156
+ .gsub('cs,', '#{cs}')
157
+ .gsub(/cs$/, '#{cs}')
158
+ .gsub('" + containerStyle', '#{containerStyle}"')
159
+ .gsub('kupIcon + "', '"#{kupIcon}')
160
+ .gsub('gcpIcon + "', '"#{gcpIcon}')
161
+ .gsub('azur19 + "', '"#{azur19}')
162
+ .gsub('ssAzure + "', '"#{ssAzure}')
163
+ .gsub('" + arcSize + "', '#{arcSize}')
164
+ .gsub('//', '#')
165
+ .gsub(' ', ' ')
166
+ .gsub(', #', '')
167
+ .strip
168
+ .gsub(/,$/, '')
169
+ .strip
170
+ end
171
+
172
+ def kill_line(line)
173
+ line.end_with?('NA') ||
174
+ line.end_with?('not working properly, needs specific code)') ||
175
+ line.start_with?('Timeline shapes are postponed, this code is a work-in-progress') ||
176
+ line.start_with?('# *******') ||
177
+ line.start_with?('# 2019 mapping') ||
178
+ line.include?('# "') ||
179
+ line.include?('# "') ||
180
+ line.empty?
181
+ end
182
+
183
+ def set_section(line)
184
+ section = line.gsub('#', '').strip
185
+ @current_section = {
186
+ name: section,
187
+ shapes: []
188
+ }
189
+ @sections << current_section
190
+ end
191
+
192
+ def build_json
193
+ JSON.pretty_generate(@sections)
194
+ end
195
+ end
@@ -0,0 +1,41 @@
1
+ KManager.action :transform_drawio_js do
2
+
3
+ action do
4
+ director = DrawioDsl::Drawio
5
+ .init(k_builder, on_exist: :write, on_action: :execute)
6
+ .diagram(theme: :style_10)
7
+
8
+ ext = DrawioDsl::DrawIoExtensions.new
9
+ ext.build_extensions
10
+ puts ext.sections.length
11
+
12
+ ext.sections.select { |s| s[:active] }.each do |section|
13
+ director.page(section[:name]) do
14
+ grid_layout(wrap_at: 5)
15
+ puts section[:name]
16
+ puts section[:shapes]
17
+ section[:shapes].select { |s| s[:active] }.each do |shape|
18
+ square(title: shape[:name], style_modifiers: shape[:style])
19
+ log.kv(:title, shape[:name])
20
+ log.kv(:style, shape[:style])
21
+ end
22
+ end
23
+ end
24
+ director
25
+ .cd(:spec)
26
+ .save('.samples/20-extensions.drawio')
27
+ .cd(:docs)
28
+
29
+ markdown = "# Extensions\n\n"
30
+
31
+ director.builder.diagram.pages.each_with_index do |page, index|
32
+ page_no = index+1
33
+ puts "Page #{page_no}, #{page.name}"
34
+ # director.export_svg("extensions/#{page.name}", page: page_no)
35
+ markdown += "## #{page.name}\n\n![](./extensions/#{page.name}.svg)\n\n"
36
+ end
37
+
38
+ director
39
+ .add('extensions.md', content: markdown)
40
+ end
41
+ end
@@ -11,7 +11,6 @@ KManager.action :todo_drawio_dsl do
11
11
 
12
12
  grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
13
13
 
14
- square(w: 300, h: 60, title: 'First level child nodes need to hang of node 1')
15
14
  square(w: 300, h: 60, title: 'Add page background to theme, use it whenever the theme is set at a diagram/page level')
16
15
  end
17
16
  .page('To Do', theme: :style_02, margin_left: 0, margin_top: 0) do
@@ -42,7 +41,11 @@ KManager.action :todo_drawio_dsl do
42
41
 
43
42
  grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
44
43
 
45
- square(w: 300, h: 60, title: 'Nodes can belong to a parent node, the top level node responds with truthy to root?')
44
+ square(w: 300, h: 60, title: 'generate extension based graphics based on drawio extensions.js')
45
+ square(w: 300, h: 60, title: 'active? flag on page defaulting to true. set to false to exclude page from diagram.')
46
+ square(w: 300, h: 60, title: 'first level child nodes need to hang of node 1')
47
+ square(w: 300, h: 60, title: 'node has child nodes and add_node will set a nodes parent')
48
+ square(w: 300, h: 60, title: 'nodes can belong to a parent node, the top level node responds with truthy to root?')
46
49
  square(w: 300, h: 60, title: 'add sample diagram for the github readme file')
47
50
  square(w: 300, h: 60, title: 'write samples into docs folder and display in readme')
48
51
  square(w: 300, h: 60, title: 'add export as .PNG, needs to take a page number as the PNG will not support multiple pages')
@@ -1,13 +1,5 @@
1
1
  KManager.action :bootstrap do
2
2
  action do
3
-
4
- # KConfig.configuration.drawio.square.w = KConfig.configuration.drawio.square.w / 4
5
- # KConfig.configuration.drawio.square.h = KConfig.configuration.drawio.square.h / 4
6
- # KConfig.configuration.drawio.circle.w = KConfig.configuration.drawio.circle.w / 4
7
- # KConfig.configuration.drawio.circle.h = KConfig.configuration.drawio.circle.h / 4
8
- # KConfig.configuration.drawio.rectangle.w = KConfig.configuration.drawio.rectangle.w / 4
9
- # KConfig.configuration.drawio.rectangle.h = KConfig.configuration.drawio.rectangle.h / 4
10
-
11
3
  DrawioDsl::Drawio
12
4
  .init(k_builder, on_exist: :write, on_action: :execute)
13
5
  .diagram(theme: :style_01)
@@ -1,8 +1,7 @@
1
1
  KManager.action :bootstrap do
2
2
  action do
3
3
 
4
- # :rounded, :shadow, :sketch, :glass
5
- director = DrawioDsl::Drawio
4
+ DrawioDsl::Drawio
6
5
  .init(k_builder, on_exist: :write, on_action: :execute)
7
6
  .diagram(theme: :style_06)
8
7
  .page('Style-Plain', margin_left: 0, margin_top: 0) do
data/.rubocop.yml CHANGED
@@ -10,6 +10,7 @@ AllCops:
10
10
  Exclude:
11
11
  - ".builders/**/*"
12
12
  - "spec/samples/**/*"
13
+ - "lib/drawio_dsl/drawio_extensions.rb"
13
14
 
14
15
  Metrics/BlockLength:
15
16
  Exclude:
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.5.7](https://github.com/klueless-io/drawio_dsl/compare/v0.5.6...v0.5.7) (2022-03-09)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Nodes can belong to a parent node, the top level node responds with truthy to root? ([3ab5dad](https://github.com/klueless-io/drawio_dsl/commit/3ab5dad60a81880cb603be9ab9f82994d8ac2562))
7
+
1
8
  ## [0.5.6](https://github.com/klueless-io/drawio_dsl/compare/v0.5.5...v0.5.6) (2022-03-08)
2
9
 
3
10
 
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1087px" height="623px" viewBox="-0.5 -0.5 1087 623"><defs/><g><path d="M 148.91 115.22 L 179.23 108.91 L 179.23 51.33 L 148.91 45.02 Z M 125 160 L 96.54 148.23 L 96.54 138.81 L 82.3 142.46 L 64.87 135.11 L 64.87 129.51 L 55.2 131.34 L 45 126.9 L 45 70.68 L 55.2 69.76 L 64.87 70.24 L 64.87 47.12 L 82.3 42.64 L 96.54 44.87 L 96.54 11.77 L 125 0 L 205 33.1 L 205 126.9 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 194.8 110.69 L 179.23 108.91 L 179.23 51.33 L 194.8 49.55 Z M 96.54 148.23 L 96.54 11.77 L 125 0 L 125 160 Z M 64.87 135.11 L 64.87 47.12 L 82.3 42.64 L 82.3 142.46 Z M 45 126.9 L 45 70.68 L 55.2 69.76 L 55.2 131.34 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><path d="M 148.91 45.02 L 148.91 38.23 L 194.8 49.55 L 179.23 51.33 Z" fill-opacity="0.5" fill="#000000" stroke="none" pointer-events="all"/><path d="M 148.91 115.22 L 179.23 108.91 L 194.8 110.69 L 148.91 122.01 Z" fill-opacity="0.3" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 167px; margin-left: 46px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsamazon_elasticsearch_service</div></div></div></foreignObject><text x="125" y="179" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsamazon_elasticsearch_se...</text></switch></g><path d="M 425 63.78 L 345 68.67 L 265 63.78 L 265 33.12 L 345 0 L 425 33.12 Z M 345 160 L 329.18 153.33 L 329.18 143.23 L 314.93 147.53 L 302.58 142.4 L 302.58 135.44 L 291.85 137.99 L 281.93 133.99 L 281.93 128.51 L 273.05 130.2 L 265 126.85 L 265 79.99 L 425 79.99 L 425 126.85 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 345 52.43 L 265 63.78 L 265 33.12 L 345 0 Z M 345 160 L 329.18 153.33 L 329.18 79.99 L 345 79.99 Z M 314.93 147.53 L 302.58 142.4 L 302.58 79.99 L 314.93 79.99 Z M 291.85 137.99 L 281.93 133.99 L 281.93 79.99 L 291.85 79.99 Z M 273.05 130.2 L 265 126.85 L 265 79.99 L 273.05 79.99 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><path d="M 345 68.67 L 265 63.78 L 345 52.43 L 425 63.78 Z" fill-opacity="0.5" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 167px; margin-left: 266px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awselastic_map_reduce_block2</div></div></div></foreignObject><text x="345" y="179" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awselastic_map_reduce_bloc...</text></switch></g><path d="M 595.52 120.39 L 608.49 111.71 L 608.49 111.1 L 601.38 109.69 Z M 566.08 120.54 L 582.28 120.54 L 589.7 107.21 L 548.62 98.26 L 548.62 104.58 Z M 548.62 83.71 L 596.85 94.26 L 604.57 80.1 L 597.8 67.68 L 548.62 81.96 Z M 590.86 55 L 582.28 39.42 L 567.76 39.42 L 548.53 59.41 C 548.62 59.99 548.62 60.4 548.62 60.98 L 548.62 67.41 Z M 602.03 51.72 L 608.15 50.01 L 608.15 47.68 L 594.78 38.58 Z M 631.12 88.28 L 638.84 88.28 C 642.84 88.28 645 91.29 645 94 L 645 121.8 C 645 125.3 642.2 127.66 639.01 127.66 L 615.13 127.66 C 613.84 127.66 612.24 127.25 611.03 126.26 L 596.47 136.01 L 596.47 154.44 C 596.47 156.88 594.18 160 589.83 159.96 L 566.38 159.96 C 563.1 159.96 560 157.52 560 154.25 L 560 131.97 L 541.51 115.1 C 540.91 115.32 540.26 115.4 539.61 115.4 L 494.4 115.44 C 489.83 115.44 485 112.09 485 106.98 L 485 60.71 C 485 56.29 488.79 52.29 494.74 52.29 L 538.32 52.29 L 559.66 29.82 L 559.66 26.74 L 559.66 5.94 C 559.66 1.94 563.32 0 565.95 0 L 589.53 0 C 593.71 0 596.16 2.89 596.16 5.79 L 596.16 23.73 L 610.73 33.44 C 611.59 32.94 612.76 32.3 614.53 32.3 L 637.97 32.3 C 642.33 32.3 645 35.27 645 38.05 L 645 58.96 L 645 65.74 C 645 69.09 641.38 71.41 638.49 71.41 L 631.12 71.41 Z M 622.37 88.28 L 622.37 71.41 L 622.07 71.41 L 617.54 79.75 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 631.12 64.4 L 638.36 64.4 C 641.29 64.4 645 62.27 645 58.96 L 645 65.74 C 645 69.09 641.38 71.41 638.49 71.41 L 631.12 71.41 Z M 559.66 29.82 L 559.66 29.82 L 559.66 26.74 C 559.74 27.57 559.96 28.37 560.3 29.14 Z M 591.34 32.3 C 592.24 32.03 593.1 31.65 593.88 31.15 L 608.15 40.87 L 608.15 47.68 L 594.78 38.58 Z M 548.53 59.41 C 548.19 58.04 547.54 56.33 546.03 55.15 L 567.72 32.3 L 582.28 32.3 L 594.27 54.01 L 590.86 55 L 582.28 39.42 L 567.76 39.42 Z M 605.52 58.27 L 608.1 57.43 L 608.1 58.81 C 608.1 61.59 610.6 63.76 612.97 64.29 L 611.03 68.33 Z M 615.6 76.29 L 622.03 64.4 L 622.37 64.4 L 622.37 71.41 L 622.07 71.41 L 617.54 79.75 Z M 604.91 95.98 L 611.08 84.55 L 613.32 88.55 C 610.34 89.16 608.49 91.44 608.49 93.96 L 608.49 96.85 Z M 548.62 74.84 L 597.8 60.56 L 606.55 76.52 L 604.57 80.1 L 597.8 67.68 L 548.62 81.96 Z M 548.62 98.26 L 548.62 91.14 L 593.23 100.85 L 589.7 107.21 Z M 548.62 104.58 L 547.67 103.75 C 548.23 102.83 548.62 101.27 548.62 100.01 Z M 560 131.97 L 541.51 115.1 C 540.91 115.32 540.26 115.4 539.61 115.4 L 494.4 115.44 C 490.39 115.44 485 112.51 485 106.98 L 485 100.2 C 485 104.62 488.97 108.55 494.66 108.55 L 539.48 108.55 C 540.43 108.55 541.08 108.39 541.51 108.24 L 560 125.11 Z M 593.58 121.69 C 592.8 121.04 592.07 120.89 591.34 120.85 L 601.34 102.57 L 608.49 103.98 L 608.49 111.1 L 601.38 109.69 L 595.52 120.39 Z M 596.47 147.09 L 596.47 154.44 C 596.47 157.03 594.05 159.96 589.83 159.96 L 566.38 159.96 C 563.1 159.96 560 157.56 560 154.25 L 560 147.39 C 560 149.87 562.63 152.84 566.38 152.84 L 590.3 152.84 C 593.58 152.84 596.47 150.21 596.47 147.09 Z M 596.47 128.85 L 611.03 119.13 C 612.28 120.12 613.92 120.54 615.13 120.54 L 638.79 120.54 C 642.24 120.54 645 118.07 645 114.79 L 645 121.8 C 645 125.27 642.2 127.66 639.01 127.66 L 615.13 127.66 C 613.84 127.66 612.24 127.21 611.03 126.26 L 596.47 136.01 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 167px; margin-left: 486px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awscluster_block2</div></div></div></foreignObject><text x="565" y="179" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awscluster_block2</text></switch></g><path d="M 865 137.95 C 865 143.77 861.66 148.04 856.65 148.04 L 850.72 148.04 C 845.85 148.04 843.41 143.41 843.41 138.31 L 843.41 136.04 L 833.04 136.04 C 832.55 147.4 828.92 160 825.01 160 L 777.18 160 C 774.42 160 771.63 155.73 769.78 145.05 L 732.7 145.05 C 727.54 145.05 724.43 138.91 724.43 133.61 L 724.43 100.19 L 713.64 100.19 L 713.64 138.75 C 713.64 141.5 710.93 142.94 709.52 142.94 C 706.96 142.94 705 140.74 705 138.63 L 705 38.71 C 705 35.96 707.3 34.41 709.32 34.41 C 711.51 34.41 713.64 36.48 713.64 38.67 L 713.64 77.75 L 724.43 77.75 L 724.43 42.5 C 724.43 36.2 728.01 30.06 732.76 30.06 L 750.35 30.06 L 750.35 26.23 C 750.35 21.33 753.4 17.58 756.68 15.87 C 755.85 15.15 754.67 13.24 754.67 11.36 L 754.67 3.15 C 754.81 0.92 756.54 0 757.92 0 L 804.39 0 C 806.18 0 808.65 1.44 808.65 3.23 L 808.65 11.32 C 808.65 13.12 806.75 15.31 805.37 16.11 C 807.1 17.54 808.65 20.57 808.65 26.19 L 808.65 30.06 L 824.37 30.06 C 828.92 30.06 831.8 43.46 832.41 51.15 L 842.11 51.15 C 842.46 45.89 845.91 42.18 850.46 42.18 L 856.33 42.18 C 861.31 42.18 865 47.01 865 53.39 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 791.38 14.95 L 791.38 8.97 L 804.31 8.97 C 805.72 8.97 808.65 6.06 808.65 3.99 L 808.65 11.32 C 808.65 13.16 806.75 15.31 805.37 16.11 C 804.59 15.55 803.67 14.95 801.94 14.95 Z M 771.94 14.95 L 760.17 14.95 C 758.87 14.95 757.69 15.39 756.68 15.87 C 755.82 15.15 754.67 13.28 754.67 11.36 L 754.67 3.15 L 754.67 4.07 C 754.67 5.78 756.37 8.97 757.81 8.97 L 771.94 8.97 Z M 713.64 93.02 L 724.43 93.02 L 724.43 100.19 L 713.64 100.19 Z M 713.64 131.21 L 713.64 138.75 C 713.64 141.5 710.93 142.94 709.52 142.94 C 706.93 142.94 705 140.74 705 138.63 L 705 131.01 C 705 133.92 707.65 135.48 709.29 135.48 C 710.99 135.48 713.64 134.16 713.64 131.21 Z M 865 130.77 L 865 137.95 C 865 143.77 861.63 148.04 856.65 148.04 L 850.72 148.04 C 845.85 148.04 843.41 143.45 843.41 138.31 L 843.41 136.04 L 833.04 136.04 C 832.46 148.28 828.75 160 825.01 160 L 777.18 160 C 774.07 160 771.51 154.9 769.78 145.05 L 732.7 145.05 C 727.57 145.05 724.43 138.91 724.43 133.61 L 724.43 126.23 C 724.43 133.21 728.78 137.87 732.18 137.87 L 769.78 137.87 C 771.34 147.24 774.02 152.82 777.07 152.82 L 824.83 152.82 C 829.21 152.82 832.58 139.15 833.04 128.9 L 843.41 128.9 L 843.41 130.97 C 843.41 136.4 845.88 140.86 850.81 140.86 L 856.59 140.86 C 861.46 140.86 865 136.84 865 130.77 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 167px; margin-left: 706px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsemrengine2</div></div></div></foreignObject><text x="785" y="179" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsemrengine2</text></switch></g><path d="M 1085 137.95 C 1085 143.77 1081.66 148.04 1076.65 148.04 L 1070.72 148.04 C 1065.85 148.04 1063.41 143.41 1063.41 138.31 L 1063.41 136.04 L 1053.04 136.04 C 1052.55 147.4 1048.92 160 1045.01 160 L 997.18 160 C 994.42 160 991.63 155.73 989.78 145.05 L 952.7 145.05 C 947.54 145.05 944.43 138.91 944.43 133.61 L 944.43 100.19 L 933.64 100.19 L 933.64 138.75 C 933.64 141.5 930.93 142.94 929.52 142.94 C 926.96 142.94 925 140.74 925 138.63 L 925 38.71 C 925 35.96 927.3 34.41 929.32 34.41 C 931.51 34.41 933.64 36.48 933.64 38.67 L 933.64 77.75 L 944.43 77.75 L 944.43 42.5 C 944.43 36.2 948.01 30.06 952.76 30.06 L 970.35 30.06 L 970.35 26.23 C 970.35 21.33 973.4 17.58 976.68 15.87 C 975.85 15.15 974.67 13.24 974.67 11.36 L 974.67 3.15 C 974.81 0.92 976.54 0 977.92 0 L 1024.39 0 C 1026.18 0 1028.65 1.44 1028.65 3.23 L 1028.65 11.32 C 1028.65 13.12 1026.75 15.31 1025.37 16.11 C 1027.1 17.54 1028.65 20.57 1028.65 26.19 L 1028.65 30.06 L 1044.37 30.06 C 1048.92 30.06 1051.8 43.46 1052.41 51.15 L 1062.11 51.15 C 1062.46 45.89 1065.91 42.18 1070.46 42.18 L 1076.33 42.18 C 1081.31 42.18 1085 47.01 1085 53.39 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 1011.38 14.95 L 1011.38 8.97 L 1024.31 8.97 C 1025.72 8.97 1028.65 6.06 1028.65 3.99 L 1028.65 11.32 C 1028.65 13.16 1026.75 15.31 1025.37 16.11 C 1024.59 15.55 1023.67 14.95 1021.94 14.95 Z M 991.94 14.95 L 980.17 14.95 C 978.87 14.95 977.69 15.39 976.68 15.87 C 975.82 15.15 974.67 13.28 974.67 11.36 L 974.67 3.15 L 974.67 4.07 C 974.67 5.78 976.37 8.97 977.81 8.97 L 991.94 8.97 Z M 933.64 93.02 L 944.43 93.02 L 944.43 100.19 L 933.64 100.19 Z M 933.64 131.21 L 933.64 138.75 C 933.64 141.5 930.93 142.94 929.52 142.94 C 926.93 142.94 925 140.74 925 138.63 L 925 131.01 C 925 133.92 927.65 135.48 929.29 135.48 C 930.99 135.48 933.64 134.16 933.64 131.21 Z M 1085 130.77 L 1085 137.95 C 1085 143.77 1081.63 148.04 1076.65 148.04 L 1070.72 148.04 C 1065.85 148.04 1063.41 143.45 1063.41 138.31 L 1063.41 136.04 L 1053.04 136.04 C 1052.46 148.28 1048.75 160 1045.01 160 L 997.18 160 C 994.07 160 991.51 154.9 989.78 145.05 L 952.7 145.05 C 947.57 145.05 944.43 138.91 944.43 133.61 L 944.43 126.23 C 944.43 133.21 948.78 137.87 952.18 137.87 L 989.78 137.87 C 991.34 147.24 994.02 152.82 997.07 152.82 L 1044.83 152.82 C 1049.21 152.82 1052.58 139.15 1053.04 128.9 L 1063.41 128.9 L 1063.41 130.97 C 1063.41 136.4 1065.88 140.86 1070.81 140.86 L 1076.59 140.86 C 1081.46 140.86 1085 136.84 1085 130.77 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><rect x="925" y="0" width="0" height="0" fill="none" stroke="none" pointer-events="all"/><path d="M 1059.55 78.94 C 1059.69 75.75 1060.5 72.64 1062.83 71.21 C 1064.5 70.25 1067.32 70.33 1068.99 71.77 C 1070.32 72.88 1071.24 74.72 1071.21 77.99 C 1071.12 80.46 1069.91 82.09 1068.62 83.13 C 1069.71 83.45 1071.29 84.33 1071.9 87.52 C 1072.53 91.46 1071.29 94.89 1069.08 96.41 C 1067 97.84 1064.07 97.96 1061.94 96.25 C 1060.64 95.21 1059.2 93.06 1059.29 88.79 L 1061.68 88.79 C 1061.71 91.86 1062.94 93.42 1063.78 93.93 C 1065.65 95.05 1067.78 94.53 1068.99 92.74 C 1069.74 91.66 1070.34 89.35 1069.48 86.88 C 1068.73 85.12 1067.38 84.41 1065.82 84.33 L 1064.5 84.37 L 1064.3 81.61 L 1065.31 81.61 C 1067.24 81.61 1068.27 80.5 1068.76 79.14 C 1069.45 77.15 1068.88 74.52 1067.12 73.64 C 1066.11 73.12 1064.15 72.84 1062.92 74.76 C 1062.08 76.15 1061.91 77.63 1061.91 78.94 Z M 1037.09 96.61 L 1037.09 70.25 L 1040.52 70.25 L 1046.59 92.74 L 1052.64 70.25 L 1056.09 70.25 L 1056.09 96.61 L 1053.73 96.61 L 1053.73 74.76 L 1047.68 96.61 L 1045.53 96.61 L 1039.48 74.8 L 1039.48 96.61 Z M 1013.85 82.21 L 1019.61 82.21 C 1020.97 82.21 1022.49 81.61 1023.1 79.94 C 1023.56 78.66 1023.61 76.71 1023.18 75.32 C 1022.66 73.68 1021.4 72.92 1019.93 73 L 1013.85 73 Z M 1011.38 96.61 L 1011.38 70.25 L 1020.62 70.25 C 1022.55 70.25 1025.54 71.45 1026.15 75.43 C 1026.75 79.86 1025.17 83.25 1023.07 83.73 C 1024.1 84.09 1025.2 84.8 1025.66 87.48 C 1025.86 88.75 1025.95 90.59 1026 92.58 C 1026.21 94.69 1026.52 95.97 1026.95 96.61 L 1024.1 96.61 C 1023.82 96.13 1023.7 94.73 1023.7 92.82 C 1023.73 91.5 1023.5 89.71 1023.27 88.03 C 1022.92 86 1021.97 84.8 1020.04 84.96 L 1013.85 84.96 L 1013.85 96.61 Z M 1001.7 94.17 C 1004.01 93.97 1004.76 91.82 1005.16 90.35 C 1005.5 88.95 1005.88 85.32 1005.16 83.13 C 1004.18 80.26 1002.62 79.9 1001.5 79.82 C 999.4 79.82 998.1 81.5 997.53 83.77 C 996.87 86.36 997.15 88.87 997.53 90.43 C 998.08 92.42 999.2 94.29 1001.7 94.17 Z M 994.97 104.06 L 994.97 77.47 L 997.33 77.47 L 997.33 80.18 C 997.7 78.98 998.74 77.55 1000.87 77.23 C 1003.32 76.87 1005.53 78.07 1006.83 80.86 C 1008.7 84.76 1008.64 91.58 1006.11 94.97 C 1003.98 97.88 999.14 98.2 997.33 94.21 L 997.33 104.06 Z M 989.15 86.72 C 988.78 87.12 988.11 87.44 987.16 87.6 C 986.18 87.71 985.12 87.87 984.46 88.07 C 983.59 88.35 982.93 88.87 982.56 89.75 C 982.18 90.71 982.12 91.9 982.47 92.82 C 982.87 93.85 983.82 94.13 984.66 94.21 C 985.98 94.25 987.08 93.74 987.8 93.02 C 988.55 92.22 989.15 91.06 989.15 89.63 Z M 992.58 96.73 C 992.09 97.08 991.14 97.4 990.33 97.04 C 989.67 96.69 989.15 95.89 989.12 94.21 C 988.37 95.61 986.7 97 984.95 97.16 C 983.36 97.32 981.46 97.08 980.43 95.29 C 979.79 94.33 979.16 91.62 980.11 88.83 C 980.89 87.12 982.21 86.36 984.08 85.92 C 985.64 85.52 987.11 85.48 988.14 84.96 C 989.06 84.53 989.21 83.53 989.12 82.53 C 988.89 80.94 988.08 80.26 987.02 79.98 C 986.44 79.86 985.58 79.78 984.54 80.1 C 983.19 80.58 982.67 81.85 982.64 83.45 L 980.25 83.45 C 980.4 81.93 980.57 80.38 981.81 78.82 C 982.44 78.15 983.51 77.27 985.69 77.15 C 989.03 77.03 991.31 78.35 991.31 82.53 L 991.31 92.54 C 991.31 93.38 991.34 93.85 991.54 94.09 C 992 94.33 992.35 94.25 992.6 93.85 Z M 957.62 96.61 L 957.62 70.25 L 961.08 70.25 L 967.12 92.74 L 973.17 70.25 L 976.62 70.25 L 976.62 96.61 L 974.26 96.61 L 974.26 74.8 L 968.22 96.61 L 966.03 96.61 L 960.01 74.48 L 960.01 96.61 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 167px; margin-left: 926px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsemrmap_rm3engine2</div></div></div></foreignObject><text x="1005" y="179" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsemrmap_rm3engine2</text></switch></g><path d="M 205 357.95 C 205 363.77 201.66 368.04 196.65 368.04 L 190.72 368.04 C 185.85 368.04 183.41 363.41 183.41 358.31 L 183.41 356.04 L 173.04 356.04 C 172.55 367.4 168.92 380 165.01 380 L 117.18 380 C 114.42 380 111.63 375.73 109.78 365.05 L 72.7 365.05 C 67.54 365.05 64.43 358.91 64.43 353.61 L 64.43 320.19 L 53.64 320.19 L 53.64 358.75 C 53.64 361.5 50.93 362.94 49.52 362.94 C 46.96 362.94 45 360.74 45 358.63 L 45 258.71 C 45 255.96 47.3 254.41 49.32 254.41 C 51.51 254.41 53.64 256.48 53.64 258.67 L 53.64 297.75 L 64.43 297.75 L 64.43 262.5 C 64.43 256.2 68.01 250.06 72.76 250.06 L 90.35 250.06 L 90.35 246.23 C 90.35 241.33 93.4 237.58 96.68 235.87 C 95.85 235.15 94.67 233.24 94.67 231.36 L 94.67 223.15 C 94.81 220.92 96.54 220 97.92 220 L 144.39 220 C 146.18 220 148.65 221.44 148.65 223.23 L 148.65 231.32 C 148.65 233.12 146.75 235.31 145.37 236.11 C 147.1 237.54 148.65 240.57 148.65 246.19 L 148.65 250.06 L 164.37 250.06 C 168.92 250.06 171.8 263.46 172.41 271.15 L 182.11 271.15 C 182.46 265.89 185.91 262.18 190.46 262.18 L 196.33 262.18 C 201.31 262.18 205 267.01 205 273.39 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 131.38 234.95 L 131.38 228.97 L 144.31 228.97 C 145.72 228.97 148.65 226.06 148.65 223.99 L 148.65 231.32 C 148.65 233.16 146.75 235.31 145.37 236.11 C 144.59 235.55 143.67 234.95 141.94 234.95 Z M 111.94 234.95 L 100.17 234.95 C 98.87 234.95 97.69 235.39 96.68 235.87 C 95.82 235.15 94.67 233.28 94.67 231.36 L 94.67 223.15 L 94.67 224.07 C 94.67 225.78 96.37 228.97 97.81 228.97 L 111.94 228.97 Z M 53.64 313.02 L 64.43 313.02 L 64.43 320.19 L 53.64 320.19 Z M 53.64 351.21 L 53.64 358.75 C 53.64 361.5 50.93 362.94 49.52 362.94 C 46.93 362.94 45 360.74 45 358.63 L 45 351.01 C 45 353.92 47.65 355.48 49.29 355.48 C 50.99 355.48 53.64 354.16 53.64 351.21 Z M 205 350.77 L 205 357.95 C 205 363.77 201.63 368.04 196.65 368.04 L 190.72 368.04 C 185.85 368.04 183.41 363.45 183.41 358.31 L 183.41 356.04 L 173.04 356.04 C 172.46 368.28 168.75 380 165.01 380 L 117.18 380 C 114.07 380 111.51 374.9 109.78 365.05 L 72.7 365.05 C 67.57 365.05 64.43 358.91 64.43 353.61 L 64.43 346.23 C 64.43 353.21 68.78 357.87 72.18 357.87 L 109.78 357.87 C 111.34 367.24 114.02 372.82 117.07 372.82 L 164.83 372.82 C 169.21 372.82 172.58 359.15 173.04 348.9 L 183.41 348.9 L 183.41 350.97 C 183.41 356.4 185.88 360.86 190.81 360.86 L 196.59 360.86 C 201.46 360.86 205 356.84 205 350.77 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><rect x="45" y="220" width="0" height="0" fill="none" stroke="none" pointer-events="all"/><path d="M 179.72 304.33 L 181.45 290.57 L 190.75 290.57 L 190.98 293.56 L 183.18 293.56 L 182.11 301.02 C 182.97 299.86 184.1 299.14 185.97 299.26 C 190.72 299.62 191.7 305.16 191.61 308.51 C 191.47 312.82 189.48 316.73 185.1 316.92 C 181.04 316.89 178.89 313.54 178.86 309.39 L 181.22 309.39 C 181.45 311.46 182.31 313.89 185.16 314.17 C 187.58 314.25 189.39 312.02 189.42 308.15 C 189.51 303.77 187.24 301.89 185.13 301.93 C 183.78 301.89 182.51 302.81 181.68 304.33 Z M 77.62 316.61 L 77.62 290.25 L 81.08 290.25 L 87.12 312.74 L 93.17 290.25 L 96.62 290.25 L 96.62 316.61 L 94.26 316.61 L 94.26 294.8 L 88.22 316.61 L 86.03 316.61 L 80.01 294.48 L 80.01 316.61 Z M 112.58 316.73 C 112.09 317.08 111.14 317.4 110.33 317.04 C 109.67 316.69 109.15 315.89 109.12 314.21 C 108.37 315.61 106.7 317 104.95 317.16 C 103.36 317.32 101.46 317.08 100.43 315.29 C 99.79 314.33 99.16 311.62 100.11 308.83 C 100.89 307.12 102.21 306.36 104.08 305.92 C 105.64 305.52 107.11 305.48 108.14 304.96 C 109.06 304.53 109.21 303.53 109.12 302.53 C 108.89 300.94 108.08 300.26 107.02 299.98 C 106.44 299.86 105.58 299.78 104.54 300.1 C 103.19 300.58 102.67 301.85 102.64 303.45 L 100.25 303.45 C 100.4 301.93 100.57 300.38 101.81 298.82 C 102.44 298.15 103.51 297.27 105.69 297.15 C 109.03 297.03 111.31 298.35 111.31 302.53 L 111.31 312.54 C 111.31 313.38 111.34 313.85 111.54 314.09 C 112 314.33 112.35 314.25 112.6 313.85 Z M 109.15 306.72 C 108.78 307.12 108.11 307.44 107.16 307.6 C 106.18 307.71 105.12 307.87 104.46 308.07 C 103.59 308.35 102.93 308.87 102.56 309.75 C 102.18 310.71 102.12 311.9 102.47 312.82 C 102.87 313.85 103.82 314.13 104.66 314.21 C 105.98 314.25 107.08 313.74 107.8 313.02 C 108.55 312.22 109.15 311.06 109.15 309.63 Z M 114.97 324.06 L 114.97 297.47 L 117.33 297.47 L 117.33 300.18 C 117.7 298.98 118.74 297.55 120.87 297.23 C 123.32 296.87 125.53 298.07 126.83 300.86 C 128.7 304.76 128.64 311.58 126.11 314.97 C 123.98 317.88 119.14 318.2 117.33 314.21 L 117.33 324.06 Z M 121.7 314.17 C 124.01 313.97 124.76 311.82 125.16 310.35 C 125.5 308.95 125.88 305.32 125.16 303.13 C 124.18 300.26 122.62 299.9 121.5 299.82 C 119.4 299.82 118.1 301.5 117.53 303.77 C 116.87 306.36 117.15 308.87 117.53 310.43 C 118.08 312.42 119.2 314.29 121.7 314.17 Z M 131.38 316.61 L 131.38 290.25 L 140.62 290.25 C 142.55 290.25 145.54 291.45 146.15 295.43 C 146.75 299.86 145.17 303.25 143.07 303.73 C 144.1 304.09 145.2 304.8 145.66 307.48 C 145.86 308.75 145.95 310.59 146 312.58 C 146.21 314.69 146.52 315.97 146.95 316.61 L 144.1 316.61 C 143.82 316.13 143.7 314.73 143.7 312.82 C 143.73 311.5 143.5 309.71 143.27 308.03 C 142.92 306 141.97 304.8 140.04 304.96 L 133.85 304.96 L 133.85 316.61 Z M 133.85 302.21 L 139.61 302.21 C 140.97 302.21 142.49 301.61 143.1 299.94 C 143.56 298.66 143.61 296.71 143.18 295.32 C 142.66 293.68 141.4 292.92 139.93 293 L 133.85 293 Z M 157.09 316.61 L 157.09 290.25 L 160.52 290.25 L 166.59 312.74 L 172.64 290.25 L 176.09 290.25 L 176.09 316.61 L 173.73 316.61 L 173.73 294.76 L 167.68 316.61 L 165.53 316.61 L 159.48 294.8 L 159.48 316.61 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 387px; margin-left: 46px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsemrmap_rm5engine2</div></div></div></foreignObject><text x="125" y="399" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsemrmap_rm5engine2</text></switch></g><path d="M 425 357.95 C 425 363.77 421.66 368.04 416.65 368.04 L 410.72 368.04 C 405.85 368.04 403.41 363.41 403.41 358.31 L 403.41 356.04 L 393.04 356.04 C 392.55 367.4 388.92 380 385.01 380 L 337.18 380 C 334.42 380 331.63 375.73 329.78 365.05 L 292.7 365.05 C 287.54 365.05 284.43 358.91 284.43 353.61 L 284.43 320.19 L 273.64 320.19 L 273.64 358.75 C 273.64 361.5 270.93 362.94 269.52 362.94 C 266.96 362.94 265 360.74 265 358.63 L 265 258.71 C 265 255.96 267.3 254.41 269.32 254.41 C 271.51 254.41 273.64 256.48 273.64 258.67 L 273.64 297.75 L 284.43 297.75 L 284.43 262.5 C 284.43 256.2 288.01 250.06 292.76 250.06 L 310.35 250.06 L 310.35 246.23 C 310.35 241.33 313.4 237.58 316.68 235.87 C 315.85 235.15 314.67 233.24 314.67 231.36 L 314.67 223.15 C 314.81 220.92 316.54 220 317.92 220 L 364.39 220 C 366.18 220 368.65 221.44 368.65 223.23 L 368.65 231.32 C 368.65 233.12 366.75 235.31 365.37 236.11 C 367.1 237.54 368.65 240.57 368.65 246.19 L 368.65 250.06 L 384.37 250.06 C 388.92 250.06 391.8 263.46 392.41 271.15 L 402.11 271.15 C 402.46 265.89 405.91 262.18 410.46 262.18 L 416.33 262.18 C 421.31 262.18 425 267.01 425 273.39 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 351.38 234.95 L 351.38 228.97 L 364.31 228.97 C 365.72 228.97 368.65 226.06 368.65 223.99 L 368.65 231.32 C 368.65 233.16 366.75 235.31 365.37 236.11 C 364.59 235.55 363.67 234.95 361.94 234.95 Z M 331.94 234.95 L 320.17 234.95 C 318.87 234.95 317.69 235.39 316.68 235.87 C 315.82 235.15 314.67 233.28 314.67 231.36 L 314.67 223.15 L 314.67 224.07 C 314.67 225.78 316.37 228.97 317.81 228.97 L 331.94 228.97 Z M 273.64 313.02 L 284.43 313.02 L 284.43 320.19 L 273.64 320.19 Z M 273.64 351.21 L 273.64 358.75 C 273.64 361.5 270.93 362.94 269.52 362.94 C 266.93 362.94 265 360.74 265 358.63 L 265 351.01 C 265 353.92 267.65 355.48 269.29 355.48 C 270.99 355.48 273.64 354.16 273.64 351.21 Z M 425 350.77 L 425 357.95 C 425 363.77 421.63 368.04 416.65 368.04 L 410.72 368.04 C 405.85 368.04 403.41 363.45 403.41 358.31 L 403.41 356.04 L 393.04 356.04 C 392.46 368.28 388.75 380 385.01 380 L 337.18 380 C 334.07 380 331.51 374.9 329.78 365.05 L 292.7 365.05 C 287.57 365.05 284.43 358.91 284.43 353.61 L 284.43 346.23 C 284.43 353.21 288.78 357.87 292.18 357.87 L 329.78 357.87 C 331.34 367.24 334.02 372.82 337.07 372.82 L 384.83 372.82 C 389.21 372.82 392.58 359.15 393.04 348.9 L 403.41 348.9 L 403.41 350.97 C 403.41 356.4 405.88 360.86 410.81 360.86 L 416.59 360.86 C 421.46 360.86 425 356.84 425 350.77 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><rect x="265" y="220" width="0" height="0" fill="none" stroke="none" pointer-events="all"/><path d="M 404.27 316.29 C 404.44 312.02 405.33 306.96 407.24 302.05 C 408.47 298.86 410.09 295.79 411.84 293.24 L 401.88 293.24 L 401.88 290.25 L 414.2 290.25 L 414.2 292.96 C 410.17 298.39 407.35 308.03 406.86 316.29 Z M 299.75 316.61 L 299.75 290.25 L 303.21 290.25 L 309.25 312.7 L 315.3 290.25 L 318.76 290.25 L 318.76 316.61 L 316.39 316.61 L 316.39 294.76 L 310.35 316.61 L 308.16 316.61 L 302.14 294.48 L 302.14 316.61 Z M 334.71 316.73 C 334.22 317.08 333.27 317.4 332.46 317.04 C 331.8 316.65 331.28 315.85 331.25 314.17 C 330.5 315.57 328.83 316.96 327.08 317.12 C 325.49 317.28 323.59 317.04 322.56 315.29 C 321.92 314.29 321.29 311.58 322.24 308.79 C 323.02 307.12 324.34 306.36 326.21 305.88 C 327.77 305.52 329.21 305.44 330.27 304.96 C 331.19 304.53 331.34 303.49 331.25 302.49 C 331.02 300.94 330.22 300.26 329.15 299.94 C 328.57 299.82 327.71 299.78 326.67 300.1 C 325.32 300.58 324.8 301.81 324.77 303.45 L 322.38 303.45 C 322.53 301.89 322.7 300.38 323.94 298.82 C 324.57 298.15 325.64 297.27 327.83 297.11 C 331.17 297.03 333.44 298.31 333.44 302.53 L 333.44 312.5 C 333.44 313.34 333.47 313.82 333.67 314.05 C 334.13 314.29 334.48 314.21 334.74 313.85 Z M 331.28 306.68 C 330.91 307.12 330.24 307.4 329.29 307.56 C 328.31 307.71 327.25 307.83 326.59 308.07 C 325.72 308.35 325.06 308.87 324.69 309.71 C 324.31 310.67 324.25 311.86 324.6 312.82 C 325 313.85 325.95 314.13 326.79 314.21 C 328.11 314.25 329.21 313.7 329.93 312.98 C 330.65 312.18 331.28 311.06 331.28 309.63 Z M 337.1 324.06 L 337.1 297.43 L 339.46 297.43 L 339.46 300.14 C 339.83 298.94 340.87 297.55 343 297.19 C 345.45 296.87 347.66 298.07 348.96 300.82 C 350.83 304.72 350.77 311.54 348.24 314.97 C 346.11 317.88 341.27 318.2 339.46 314.17 L 339.46 324.06 Z M 343.83 314.17 C 346.14 313.93 346.89 311.78 347.29 310.35 C 347.63 308.95 348.01 305.32 347.29 303.13 C 346.31 300.26 344.76 299.9 343.63 299.82 C 341.53 299.82 340.23 301.5 339.66 303.77 C 339 306.36 339.28 308.87 339.66 310.39 C 340.21 312.38 341.33 314.25 343.83 314.17 Z M 353.51 316.61 L 353.51 290.25 L 362.75 290.25 C 364.68 290.25 367.67 291.45 368.28 295.43 C 368.88 299.86 367.3 303.25 365.2 303.73 C 366.23 304.09 367.33 304.76 367.79 307.44 C 367.99 308.75 368.08 310.55 368.13 312.58 C 368.34 314.69 368.65 315.97 369.08 316.61 L 366.23 316.61 C 365.95 316.09 365.83 314.69 365.83 312.78 C 365.86 311.46 365.6 309.71 365.4 308.03 C 365.05 305.96 364.1 304.8 362.17 304.92 L 355.98 304.92 L 355.98 316.61 Z M 355.98 302.21 L 361.74 302.21 C 363.1 302.21 364.62 301.61 365.23 299.9 C 365.69 298.62 365.75 296.71 365.31 295.28 C 364.79 293.64 363.53 292.92 362.06 292.96 L 355.98 292.96 Z M 379.22 316.61 L 379.22 290.25 L 382.65 290.25 L 388.72 312.7 L 394.77 290.25 L 398.22 290.25 L 398.22 316.61 L 395.86 316.61 L 395.86 294.76 L 389.82 316.61 L 387.66 316.61 L 381.61 294.76 L 381.61 316.61 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 387px; margin-left: 266px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsemrmap_rm7engine2</div></div></div></foreignObject><text x="345" y="399" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsemrmap_rm7engine2</text></switch></g><path d="M 645 300.01 L 485 300.01 L 485 253.1 L 564.89 220 L 581.14 226.67 L 581.14 249.28 L 595.02 245.99 L 607.34 249.99 L 607.34 266.79 L 618.33 265.34 L 618.33 262.67 L 637.07 259.77 L 645 262.44 Z M 564.89 380 L 485 346.78 L 485 332.91 L 514.34 329.38 L 485 323.34 L 485 309.32 L 564.89 306.68 L 645 309.32 L 645 323.34 L 615.55 329.38 L 645 332.91 L 645 346.78 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 627.65 300.01 L 627.65 267.71 L 618.33 265.34 L 618.33 262.67 L 637.07 259.77 L 637.07 300.01 Z M 607.34 300.01 L 607.34 266.79 L 618.33 265.34 L 618.33 300.01 Z M 581.14 300.01 L 581.14 249.28 L 595.02 245.99 L 595.02 300.01 Z M 564.89 300.01 L 485 300.01 L 485 253.1 L 564.89 220 Z M 564.89 339.79 L 485 323.34 L 485 309.32 L 564.89 315.99 Z M 564.89 380 L 485 346.78 L 485 332.91 L 564.89 356.23 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><path d="M 564.89 315.99 L 485 309.32 L 564.89 306.68 L 645 309.32 Z M 564.89 356.23 L 485 332.91 L 514.34 329.38 L 564.89 339.79 L 615.55 329.38 L 645 332.91 Z" fill-opacity="0.3" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 387px; margin-left: 486px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awskinesis2</div></div></div></foreignObject><text x="565" y="399" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awskinesis2</text></switch></g><path d="M 865 300.01 L 705 300.01 L 705 253.1 L 784.89 220 L 801.14 226.67 L 801.14 249.28 L 815.02 245.99 L 827.34 249.99 L 827.34 266.79 L 838.33 265.34 L 838.33 262.67 L 857.07 259.77 L 865 262.44 Z M 784.89 380 L 705 346.78 L 705 332.91 L 734.34 329.38 L 705 323.34 L 705 309.32 L 784.89 306.68 L 865 309.32 L 865 323.34 L 835.55 329.38 L 865 332.91 L 865 346.78 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 847.65 300.01 L 847.65 267.71 L 838.33 265.34 L 838.33 262.67 L 857.07 259.77 L 857.07 300.01 Z M 827.34 300.01 L 827.34 266.79 L 838.33 265.34 L 838.33 300.01 Z M 801.14 300.01 L 801.14 249.28 L 815.02 245.99 L 815.02 300.01 Z M 784.89 300.01 L 705 300.01 L 705 253.1 L 784.89 220 Z M 784.89 339.79 L 705 323.34 L 705 309.32 L 784.89 315.99 Z M 784.89 380 L 705 346.78 L 705 332.91 L 784.89 356.23 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><path d="M 784.89 315.99 L 705 309.32 L 784.89 306.68 L 865 309.32 Z M 784.89 356.23 L 705 332.91 L 734.34 329.38 L 784.89 339.79 L 835.55 329.38 L 865 332.91 Z" fill-opacity="0.3" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 387px; margin-left: 706px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsamazon_kinesis_amazon_kinesis_analytics</div></div></div></foreignObject><text x="785" y="399" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsamazon_kinesis_amazon_k...</text></switch></g><path d="M 1051.62 380 C 1039.8 380 1029.7 375.9 1023.33 366.33 C 1018.8 359.3 1017.4 351.46 1017.54 342.91 C 1017.54 337.85 1018.5 333.01 1021.04 328.07 C 1026.46 317.86 1037.14 310.05 1051.66 310.05 C 1062.49 310.05 1074.43 315.99 1080.39 326.16 C 1082.97 330.65 1085 335.52 1085 342.98 C 1085 363.43 1073.58 380 1051.62 380 Z M 1019.2 370.74 L 938.63 370.74 C 930.64 370.74 925 364.56 925 356.58 L 925 232.51 C 925 226.39 930.71 220 938.67 220 L 1059.29 220 C 1066.87 220 1071.74 225.76 1071.74 233.07 L 1071.74 309.8 C 1061.53 305.03 1048.31 301.82 1034.45 307.19 C 1021.6 312.24 1013.38 322.66 1010.14 330.33 C 1005.13 348.45 1011.8 362.76 1019.2 370.74 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 1040.75 360.68 L 1040.75 326.51 L 1045.47 326.51 L 1045.47 343.47 L 1063.41 326.51 L 1069.49 326.51 L 1054.57 340.29 L 1070.04 360.68 L 1063.96 360.68 L 1051.25 343.47 L 1045.47 348.77 L 1045.47 360.68 Z" fill="#ffffff" stroke="none" pointer-events="all"/><path d="M 1071.74 309.8 C 1061.53 305 1048.31 301.78 1034.45 307.19 C 1021.6 312.28 1013.34 322.63 1010.14 330.33 C 1013.64 319.06 1022.37 305.95 1040.42 300.3 C 1050.19 297.44 1061.72 297.69 1071.74 302.14 Z M 1085 342.98 C 1085 363.33 1073.43 380 1051.62 380 C 1039.8 380 1029.7 375.9 1023.33 366.33 C 1018.76 359.26 1017.43 351.46 1017.54 342.91 C 1017.54 355.09 1025.39 365.44 1033.98 370.18 C 1044.66 376.26 1057.04 375.83 1066.36 371.31 C 1078 365.66 1085 354.18 1085 342.98 Z M 1019.2 370.74 L 938.63 370.74 C 930.64 370.74 925 364.49 925 356.58 L 925 350.71 C 925 356.75 930.75 363.08 938.37 363.08 L 1013.64 363.08 C 1015.41 366.12 1017.25 368.66 1019.2 370.74 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 387px; margin-left: 926px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awskinesis_enabled_app2</div></div></div></foreignObject><text x="1005" y="399" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awskinesis_enabled_app2</text></switch></g><path d="M 140.47 523.18 C 140.79 521.49 144.42 520.02 148.65 518.74 C 163.31 514.86 186.95 515.84 196.82 518.74 C 200.93 519.79 205 521.6 205 523.22 L 205 530.14 C 205 531.94 201.01 533.45 198.19 534.35 C 188.44 537.55 162.78 538.83 149.29 534.77 C 145.18 533.68 140.47 531.94 140.47 530.14 Z M 140.47 591.87 L 140.47 536.72 C 143.25 538.68 147.76 540.3 152.96 541.27 C 164.19 543.34 177.37 543.46 189.93 541.73 C 195.21 540.9 200.89 539.62 205 537.32 L 205 592.25 C 204.84 593.72 198.51 596.39 191.99 597.37 C 177.08 600 160.89 599.4 150.3 597.25 C 145.95 596.31 140.47 594.36 140.47 591.87 Z M 136.84 595.97 L 72.11 595.97 C 57.49 595.97 45 584.24 45 570.66 L 45 564.34 L 45 465.28 C 45 451.59 57.69 440 72.23 440 L 178.17 440 C 192.03 440 205 451.06 205 465.66 L 205 515.05 C 199.84 512.68 192.75 511.25 185.79 510.46 C 174.83 509.18 159.4 509.37 148.04 511.4 C 141.03 512.61 131.73 515.54 131.73 518.14 L 131.73 585.25 C 131.73 586.91 135.19 589.09 136.84 589.5 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 131.73 518.14 L 131.73 511.97 C 131.73 509.64 139.18 506.89 146.27 505.53 C 162.87 502.34 182.93 503.05 196.46 506.02 C 200.09 506.85 202.74 507.75 205 508.81 L 205 515.05 C 199.88 512.72 192.79 511.25 185.79 510.46 C 174.87 509.18 159.36 509.33 148.04 511.4 C 140.99 512.61 131.77 515.54 131.73 518.14 Z M 140.47 530.14 L 140.47 523.18 C 140.63 525.32 146.99 527.2 151.18 528.18 C 163.15 531.27 184.54 530.7 195.65 527.96 C 200.69 526.75 204.84 524.91 205 523.22 L 205 530.14 C 205 531.94 201.01 533.45 198.19 534.35 C 188.28 537.51 163.71 538.87 149.29 534.77 C 145.62 533.75 140.47 532.13 140.47 530.14 Z M 140.47 591.87 L 140.47 584.95 C 140.75 587.74 147.76 589.96 154.12 590.93 C 165.24 592.66 181.35 592.29 192.75 590.18 C 198.39 589.24 204.96 586.76 205 585.14 L 205 592.25 C 204.84 593.72 198.51 596.39 191.99 597.37 C 177 599.96 160.93 599.4 150.3 597.25 C 145.95 596.28 140.47 594.36 140.47 591.87 Z M 136.84 595.97 L 72.11 595.97 C 57.53 595.97 45 584.24 45 570.66 L 45 564.34 C 45 577.54 57.29 589.5 72.31 589.5 L 136.84 589.5 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><rect x="45" y="440" width="0" height="0" fill="none" stroke="none" pointer-events="all"/><path d="M 113.6 500.34 L 113.6 460.84 L 151.3 460.84 L 151.3 449.56 L 184.58 480.59 L 159.72 503.8 C 157.43 503.95 154.28 504.29 151.3 504.67 L 151.3 500.34 Z M 60.11 500.34 L 60.11 460.84 L 101.8 460.84 L 101.8 500.34 Z M 71.91 566.93 L 71.91 527.43 L 113.6 527.43 L 113.6 566.93 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 607px; margin-left: 46px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsamazon_kinesis_amazon_kinesis_firehose</div></div></div></foreignObject><text x="125" y="619" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsamazon_kinesis_amazon_k...</text></switch></g><path d="M 293.33 600 C 276.31 600 265 587.01 265 574.44 L 265 465.83 C 265 451.95 277.47 440 292.28 440 L 398.08 440 C 412.2 440 425 451.88 425 466.1 L 425 573.33 C 425 588.28 412.69 600 396.99 600 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 265 566.87 C 265 578.48 275.38 592.43 292.32 592.43 L 397.6 592.43 C 412.16 592.43 425 581.21 425 566.6 L 425 573.33 C 425 588.24 412.65 600 396.99 600 L 293.33 600 C 276.43 600 265 587.05 265 574.44 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><rect x="265" y="440" width="0" height="0" fill="none" stroke="none" pointer-events="all"/><path d="M 321.74 501.65 L 280.09 501.65 L 280.09 461.02 L 321.74 461.02 Z M 333.49 501.65 L 333.49 461.02 L 371.2 461.02 L 371.2 449.49 L 404.44 481.47 L 371.2 513.18 L 371.2 501.65 Z M 344.96 529.2 L 382.67 529.2 L 382.67 517.52 L 415.91 549.5 L 382.67 581.21 L 382.67 569.68 L 344.96 569.68 Z M 291.84 569.68 L 291.84 529.2 L 333.49 529.2 L 333.49 569.68 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 607px; margin-left: 266px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsamazon_kinesis_amazon_kinesis_streams</div></div></div></foreignObject><text x="345" y="619" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsamazon_kinesis_amazon_k...</text></switch></g><path d="M 645 496.72 L 565 503.51 L 485 496.72 L 485 473.17 L 565 440 L 645 473.2 Z M 645 535.64 L 618.44 539.33 L 604.98 538.26 L 604.98 541.23 L 565 546.77 L 524.98 541.2 L 524.98 538.26 L 511.56 539.36 L 485 535.66 L 485 512.09 L 511.56 510.27 L 524.98 510.76 L 524.98 509.33 L 565 506.65 L 604.98 509.36 L 604.98 510.79 L 618.44 510.27 L 645 512.09 Z M 565 600 L 535.9 587.93 L 535.9 580.44 L 524.98 583.4 L 506.11 575.57 L 506.11 570.65 L 498.11 572.24 L 485 566.83 L 485 543.28 L 510.12 541.13 L 524.98 543.44 L 524.98 545.57 L 534.08 544.56 L 553.8 547.58 L 553.8 551.06 L 565 549.35 L 576.2 551.06 L 576.2 547.55 L 595.92 544.56 L 604.98 545.55 L 604.98 543.44 L 619.82 541.15 L 645 543.26 L 645 566.83 L 631.86 572.24 L 623.86 570.63 L 623.86 575.57 L 604.98 583.4 L 594.1 580.46 L 594.1 587.93 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 565 480.2 L 485 496.72 L 485 473.17 L 565 440 Z M 604.98 538.26 L 604.98 510.79 L 618.44 510.27 L 618.44 539.33 Z M 524.98 541.2 L 524.98 509.33 L 565 506.65 L 565 546.77 Z M 511.56 539.36 L 485 535.66 L 485 512.09 L 511.56 510.27 Z M 498.11 572.24 L 485 566.83 L 485 543.28 L 498.11 546.07 Z M 524.98 583.4 L 506.11 575.57 L 506.11 547.66 L 524.98 551.51 Z M 565 600 L 535.9 587.93 L 535.9 553.8 L 565 559.8 Z M 604.98 583.4 L 594.1 580.46 L 594.1 553.8 L 576.2 551.06 L 576.2 547.55 L 604.98 551.51 Z M 631.86 572.24 L 623.86 570.63 L 623.86 547.63 L 604.98 545.55 L 604.98 543.44 L 631.86 546.07 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><path d="M 565 503.51 L 485 496.72 L 565 480.2 L 645 496.72 Z" fill-opacity="0.5" fill="#000000" stroke="none" pointer-events="all"/><path d="M 604.98 543.44 L 619.82 541.15 L 645 543.26 L 631.86 546.07 Z M 576.2 547.55 L 595.92 544.56 L 623.86 547.63 L 604.98 551.51 Z M 535.9 553.8 L 565 549.35 L 594.1 553.8 L 565 559.8 Z M 506.11 547.66 L 534.08 544.56 L 553.8 547.58 L 524.98 551.51 Z M 498.11 546.07 L 485 543.28 L 510.12 541.13 L 524.98 543.44 Z" fill-opacity="0.3" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 607px; margin-left: 486px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsamazon_machine_learning</div></div></div></foreignObject><text x="565" y="619" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsamazon_machine_learning</text></switch></g><path d="M 712.16 600 C 707.62 600 705 596.54 705 593.16 L 705 446.76 C 705 442.94 708.22 440 711.64 440 L 858.32 440 C 861.86 440 865 443.02 865 446.92 L 865 592.76 C 865 597.83 861.06 600 858.2 600 Z" fill="#1ba1e2" stroke="none" pointer-events="all"/><path d="M 717.08 555.94 L 717.08 451.79 L 853.21 451.79 L 853.21 475.65 L 784.98 543.82 L 784.98 488.01 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 607px; margin-left: 706px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">awsamazon_quick_sight</div></div></div></foreignObject><text x="785" y="619" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">awsamazon_quick_sight</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
@@ -0,0 +1,3 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
3
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1042px" height="602px" viewBox="-0.5 -0.5 1042 602"><defs/><g><path d="M 0 80 L 34.29 160 L 160 0" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 1px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_check</div></div></div></foreignObject><text x="80" y="84" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_check</text></switch></g><path d="M 220 0 L 380 160" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><path d="M 380 0 L 220 160" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 221px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_cancel</div></div></div></foreignObject><text x="300" y="84" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_cancel</text></switch></g><path d="M 440 160 L 520 0 L 600 160" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 441px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_collapse</div></div></div></foreignObject><text x="520" y="84" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_collapse</text></switch></g><path d="M 660 0 L 740 160 L 820 0" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 661px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_expand</div></div></div></foreignObject><text x="740" y="84" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_expand</text></switch></g><path d="M 880 0 L 1040 80 L 880 160" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 80px; margin-left: 881px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_next</div></div></div></foreignObject><text x="960" y="84" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_next</text></switch></g><path d="M 160 220 L 0 300 L 160 380" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 1px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_previous</div></div></div></foreignObject><text x="80" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_previous</text></switch></g><rect x="220" y="220" width="160" height="160" fill="#1ba1e2" stroke="#006eaf" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 221px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_refresh</div></div></div></foreignObject><text x="300" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_refresh</text></switch></g><ellipse cx="520" cy="300" rx="80" ry="80" fill="#1ba1e2" stroke="#006eaf" pointer-events="all"/><path d="M 507.2 276 L 528 276 L 528 348 C 528 350.65 530.15 352.8 532.8 352.8 L 507.2 352.8 C 508.47 352.8 509.69 352.29 510.59 351.39 C 511.49 350.49 512 349.27 512 348 L 512 280.8 C 512 279.53 511.49 278.31 510.59 277.41 C 509.69 276.51 508.47 276 507.2 276" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="520" cy="260" rx="8" ry="8" fill="none" stroke="#006eaf" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 441px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_information</div></div></div></foreignObject><text x="520" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_information</text></switch></g><ellipse cx="724" cy="284" rx="64" ry="64" fill="#1ba1e2" stroke="#006eaf" pointer-events="all"/><path d="M 768.8 328.8 L 820 380" fill="#1ba1e2" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 661px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_search</div></div></div></foreignObject><text x="740" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_search</text></switch></g><path d="M 891.2 220 L 891.2 380 M 1028.8 220 L 1028.8 380 M 960 220 L 960 380" fill="#1ba1e2" stroke="#006eaf" stroke-miterlimit="10" transform="rotate(90,960,300)" pointer-events="all"/><ellipse cx="891.2" cy="368.8" rx="11.200000000000001" ry="11.200000000000001" fill="#1ba1e2" stroke="#006eaf" transform="rotate(90,960,300)" pointer-events="all"/><ellipse cx="1028.8" cy="231.2" rx="11.200000000000001" ry="11.200000000000001" fill="#1ba1e2" stroke="#006eaf" transform="rotate(90,960,300)" pointer-events="all"/><ellipse cx="960" cy="300" rx="11.200000000000001" ry="11.200000000000001" fill="#1ba1e2" stroke="#006eaf" transform="rotate(90,960,300)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 300px; margin-left: 881px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_settings</div></div></div></foreignObject><text x="960" y="304" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_settings</text></switch></g><path d="M 0 448 L 160 448 L 150 448 L 140 592 C 140 596.42 135.52 600 130 600 L 30 600 C 24.48 600 20 596.42 20 592 L 10 448 L 0 448 Z" fill="#1ba1e2" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><path d="M 60 448 C 60 443.58 64.48 440 70 440 L 90 440 C 95.52 440 100 443.58 100 448 M 80 456 L 80 592 M 115 456 L 110 592 M 45 456 L 50 592" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 520px; margin-left: 1px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_trash</div></div></div></foreignObject><text x="80" y="524" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_trash</text></switch></g><rect x="220" y="440" width="160" height="160" fill="#1ba1e2" stroke="#006eaf" pointer-events="all"/><path d="M 220 440 L 300 520 L 380 440" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 520px; margin-left: 221px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_email</div></div></div></foreignObject><text x="300" y="524" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_email</text></switch></g><path d="M 520 440 L 520 600 M 440 520 L 600 520" fill="none" stroke="#006eaf" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 520px; margin-left: 441px;"><div data-drawio-colors="color: #ffffff; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">android_icon_new</div></div></div></foreignObject><text x="520" y="524" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">android_icon_new</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>