lutaml 0.10.7 → 0.10.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84ecefe8a15ae033ee203318b3db70ac20ea3f727d4a94cb98ffdd6444f0111f
4
- data.tar.gz: afe30e1675098ee1248114e4999117b0b8b159c902ae304e5d4b8212ac801bfa
3
+ metadata.gz: '051396a82ca3536e91e66975e0719e25868b3d5bd94e3af93ccc5537e10402fe'
4
+ data.tar.gz: 25f158495d42220c0179ddcf978a4f9f87931e97b55e1eff3ecd5fb5a8de16a4
5
5
  SHA512:
6
- metadata.gz: 4ac75c14a3991c8b7885f4fc62fbe29640be5fe7b4d2cc9a5abfc01c585e038dd50a495a69cdab4483fb6840671b1a1ab35a66263e570c1da7cc005ce9fda626
7
- data.tar.gz: 92f724a84ddfc10d49800a2f118bdc31d6d80054d9238a2feacc0a1f9e74312ea1fc96ac95b58893f5ec24d88f1fbe09f2b2eff64be6b45f879208babfa162b8
6
+ metadata.gz: 4db9674d30585deac30dd924bdc5be7f2ddf4deb872dd1cc2627b6357df8f1f5a898a5615bf403107e058fbc3f247eddd89c5cf4404163af020c9fdb1339d5c6
7
+ data.tar.gz: 4f0d5e16b0eb6081da73709c3988e776c2af10c050f0fc78379af319c78fc242ea149f252e784561b159a0f200773d771a77fe1c6834c8e532ef8636be9cdfd8
data/.rubocop_todo.yml CHANGED
@@ -1,44 +1,18 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2026-05-07 04:34:28 UTC using RuboCop version 1.86.1.
3
+ # on 2026-05-07 10:38:32 UTC using RuboCop version 1.86.1.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 7
10
- # This cop supports safe autocorrection (--autocorrect).
11
- # Configuration parameters: EnforcedStyle, IndentationWidth.
12
- # SupportedStyles: with_first_argument, with_fixed_indentation
13
- Layout/ArgumentAlignment:
14
- Exclude:
15
- - 'lib/lutaml/uml_repository/static_site/generator.rb'
16
- - 'spec/lutaml/uml_repository/static_site/serializers/diagram_serializer_spec.rb'
17
-
18
- # Offense count: 6
19
- # This cop supports safe autocorrection (--autocorrect).
20
- # Configuration parameters: AllowMultipleStyles, EnforcedHashRocketStyle, EnforcedColonStyle, EnforcedLastArgumentHashStyle.
21
- # SupportedHashRocketStyles: key, separator, table
22
- # SupportedColonStyles: key, separator, table
23
- # SupportedLastArgumentHashStyles: always_inspect, always_ignore, ignore_implicit, ignore_explicit
24
- Layout/HashAlignment:
25
- Exclude:
26
- - 'spec/lutaml/uml_repository/static_site/serializers/diagram_serializer_spec.rb'
27
-
28
- # Offense count: 175
9
+ # Offense count: 172
29
10
  # This cop supports safe autocorrection (--autocorrect).
30
11
  # Configuration parameters: Max, AllowHeredoc, AllowURI, AllowQualifiedName, URISchemes, AllowRBSInlineAnnotation, AllowCopDirectives, AllowedPatterns, SplitStrings.
31
12
  # URISchemes: http, https
32
13
  Layout/LineLength:
33
14
  Enabled: false
34
15
 
35
- # Offense count: 3
36
- # This cop supports safe autocorrection (--autocorrect).
37
- # Configuration parameters: AllowInHeredoc.
38
- Layout/TrailingWhitespace:
39
- Exclude:
40
- - 'spec/lutaml/uml_repository/static_site/serializers/diagram_serializer_spec.rb'
41
-
42
16
  # Offense count: 1
43
17
  Lint/BinaryOperatorWithIdenticalOperands:
44
18
  Exclude:
@@ -270,12 +244,6 @@ RSpec/NoExpectationExample:
270
244
  - 'spec/lutaml/qea/verification/comprehensive_equivalence_spec.rb'
271
245
  - 'spec/lutaml/uml_repository/static_site/generator_spec.rb'
272
246
 
273
- # Offense count: 6
274
- # This cop supports unsafe autocorrection (--autocorrect-all).
275
- RSpec/ReceiveMessages:
276
- Exclude:
277
- - 'spec/lutaml/uml_repository/static_site/serializers/diagram_serializer_spec.rb'
278
-
279
247
  # Offense count: 12
280
248
  RSpec/RepeatedExample:
281
249
  Exclude:
@@ -300,12 +268,6 @@ RSpec/SpecFilePathFormat:
300
268
  - 'spec/lutaml/parsers/serialize_xmi_to_liquid_spec.rb'
301
269
  - 'spec/lutaml/uml_repository/web_ui/app_spec.rb'
302
270
 
303
- # Offense count: 10
304
- # This cop supports unsafe autocorrection (--autocorrect-all).
305
- RSpec/VerifiedDoubleReference:
306
- Exclude:
307
- - 'spec/lutaml/uml_repository/static_site/serializers/diagram_serializer_spec.rb'
308
-
309
271
  # Offense count: 3
310
272
  Security/Eval:
311
273
  Exclude:
@@ -317,10 +317,16 @@ module Lutaml
317
317
  "apiMode" => false, # Static mode by default
318
318
  }
319
319
 
320
+ images_dir = File.join(@options[:template_path], "assets", "images")
321
+ lutaml_icon = read_svg_asset(images_dir, "lutaml-icon.svg")
322
+ lutaml_full_logo = read_svg_asset(images_dir, "lutaml-full.svg")
323
+
320
324
  {
321
325
  "config" => JSON.generate(config_hash),
322
326
  "data" => data,
323
327
  "searchIndex" => search_index,
328
+ "lutamlIcon" => lutaml_icon,
329
+ "lutamlFullLogo" => lutaml_full_logo,
324
330
  "buildInfo" => {
325
331
  "timestamp" => Time.now.utc.iso8601,
326
332
  "generator" => "LutaML Static Site Generator v1.0",
@@ -334,6 +340,13 @@ module Lutaml
334
340
  puts " ✓ #{File.basename(path)} (#{File.size(path) / 1024}KB)"
335
341
  end
336
342
 
343
+ def read_svg_asset(images_dir, filename)
344
+ path = File.join(images_dir, filename)
345
+ return "" unless File.exist?(path)
346
+
347
+ File.read(path).strip
348
+ end
349
+
337
350
  def generate_assets(output_dir) # rubocop:disable Metrics/MethodLength
338
351
  assets_dir = File.join(output_dir, "assets")
339
352
 
@@ -348,6 +361,23 @@ module Lutaml
348
361
  js_path = File.join(assets_dir, "app.js")
349
362
  File.write(js_path, js_content)
350
363
  puts " ✓ app.js (#{File.size(js_path) / 1024}KB)"
364
+
365
+ # Copy image assets
366
+ copy_image_assets(assets_dir)
367
+ end
368
+
369
+ def copy_image_assets(assets_dir)
370
+ images_src = File.join(@options[:template_path], "assets", "images")
371
+ return unless Dir.exist?(images_src)
372
+
373
+ images_dest = File.join(assets_dir, "images")
374
+ FileUtils.mkdir_p(images_dest)
375
+ Dir.glob(File.join(images_src, "*")).each do |src_file|
376
+ next if File.directory?(src_file)
377
+
378
+ dest_file = File.join(images_dest, File.basename(src_file))
379
+ FileUtils.cp(src_file, dest_file)
380
+ end
351
381
  end
352
382
 
353
383
  def build_css
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lutaml
4
- VERSION = "0.10.7"
4
+ VERSION = "0.10.8"
5
5
  end
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="3400" height="900" viewBox="0 0 3400 900"><path d="m1308.91,694.2h-332.56V243.03h89.7v373.76h242.86v77.41Z" style="fill:#2d4087; stroke-width:0px;"/><path d="m1562.39,375.26h85.05v187.71c0,80.73-60.8,137.88-150.83,137.88s-149.17-56.48-149.17-135.88v-189.7h85.38v179.07c0,40.53,26.25,68.11,63.79,68.11,39.54,0,65.78-27.58,65.78-68.11v-179.07Z" style="fill:#2d4087; stroke-width:0px;"/><path d="m1833.82,446.02v131.23c0,33.22,18.6,47.84,47.18,47.84,15.95,0,36.21-2.66,54.15-7.64l7.97,70.76c-19.6,7.64-51.16,12.62-77.08,12.62-70.1,0-117.28-36.21-117.28-111.3v-143.52h-53.82v-70.76h54.15v-102.33h82.72v102.33h92.36v70.76h-90.37Z" style="fill:#2d4087; stroke-width:0px;"/><path d="m1970.37,534.06c0-96.68,66.11-165.45,153.82-165.45,49.5,0,83.06,18.94,103.99,45.18l1.66-38.54h83.39v318.94h-83.39l-1.66-38.54c-20.93,26.58-54.49,45.18-103.99,45.18-87.71,0-153.82-70.1-153.82-166.78Zm170.43-89.37c-51.16,0-85.71,38.54-85.71,89.37s34.55,91.03,85.71,91.03,87.04-39.87,87.04-91.03-36.21-89.37-87.04-89.37Z" style="fill:#2d4087; stroke-width:0px;"/><path d="m2643.13,556.32l-151.83-170.1v307.98h-89.7V243.03h77.74l170.77,202,170.1-202h77.41v451.17h-89.37v-308.31l-150.83,170.43h-14.29Z" style="fill:#2f75b9; stroke-width:0px;"/><path d="m3326.53,694.2h-332.56V243.03h89.7v373.76h242.86v77.41Z" style="fill:#2f75b9; stroke-width:0px;"/><path d="m165.63,610.17c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m298.66,395.48l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m425.87,612.82c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99,1,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.28-1.01.28Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m298.66,395.48l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m289.46,683.29c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78s.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#cdc8bd; stroke-width:0px;"/><path d="m301.93,538.21l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45.04-1.46-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m289.46,683.29c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.41.98-1.77.31-.18.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m161.92,465.17l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m289.46,683.29c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m422.97,467.76l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m165.63,431.12c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m298.66,216.43l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m425.87,433.77c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99,1,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.28-1.01.28Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m298.66,216.43l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m289.46,504.24c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78s.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#cdc8bd; stroke-width:0px;"/><path d="m301.93,359.16l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45.04-1.46-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m289.46,504.24c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m161.92,286.12l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m289.46,504.24c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m422.97,288.71l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m323.93,699.94c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m456.96,485.25l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m584.17,702.59c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.28-1.01.28Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m456.96,485.25l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,773.06c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78s.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#cdc8bd; stroke-width:0px;"/><path d="m460.23,627.98l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,773.06c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.41.98-1.77.31-.18.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m320.22,554.94l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,773.06c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#fff; stroke-width:0px;"/><path d="m581.27,557.53l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m323.93,520.89c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m456.96,306.2l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m584.17,523.54c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.28-1.01.28Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m456.96,306.2l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,594.01c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78s.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#cdc8bd; stroke-width:0px;"/><path d="m460.23,448.93l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,594.01c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.41.98-1.77.31-.18.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m320.22,375.89l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,594.01c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m581.27,378.48l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m481.22,789.63c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m614.25,574.94l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m741.46,792.29c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.28-1.01.28Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m614.25,574.94l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m605.05,862.76c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78s.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#cdc8bd; stroke-width:0px;"/><path d="m617.53,717.68l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45.04-1.46-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m605.05,862.76c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.41.98-1.77.31-.18.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m477.52,644.63l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m605.05,862.76c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m738.56,647.23l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m481.22,610.59c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m614.25,395.89l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m741.46,613.24c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.28-1.01.28Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m614.25,395.89l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m605.05,683.71c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78s.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#cdc8bd; stroke-width:0px;"/><path d="m617.53,538.63l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45.04-1.46-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m605.05,683.71c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.41.98-1.77.31-.18.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m477.52,465.58l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m605.05,683.71c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m738.56,468.18l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m323.93,342.75c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m456.96,128.06l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m584.17,345.4c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#dce8f3; stroke-width:0px;"/><path d="m456.96,128.06l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,415.87c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#cdc8bd; stroke-width:0px;"/><path d="m460.23,270.79l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,415.87c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m320.22,197.75l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#264997; stroke-width:0px;"/><path d="m447.76,415.87c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m581.27,200.34l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#264997; stroke-width:0px;"/><g style="opacity:.5;"><path d="m481.22,435.48c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#e9c0a9; stroke-width:0px;"/><path d="m614.25,220.79l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#982c21; stroke-width:0px;"/><path d="m741.46,438.13c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.28-1.01.28Z" style="fill:#e9c0a9; stroke-width:0px;"/><path d="m614.25,220.79l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#982c21; stroke-width:0px;"/><path d="m605.05,508.6c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78s.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#e48d67; stroke-width:0px;"/><path d="m617.53,363.53l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45.04-1.46-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#612c2b; stroke-width:0px;"/><path d="m605.05,508.6c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#c67a4f; stroke-width:0px;"/><path d="m477.52,290.48l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#982c21; stroke-width:0px;"/><path d="m605.05,508.6c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#c67a4f; stroke-width:0px;"/><path d="m738.56,293.08l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#982c21; stroke-width:0px;"/></g><g style="opacity:.5;"><path d="m162.24,253.94c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#a4d9cc; stroke-width:0px;"/><path d="m295.28,39.24l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#1e3638; stroke-width:0px;"/><path d="m422.48,256.59c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99,1,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#a4d9cc; stroke-width:0px;"/><path d="m295.28,39.24l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#1e3638; stroke-width:0px;"/><path d="m286.08,327.06c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#97cc6c; stroke-width:0px;"/><path d="m298.55,181.98l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#5f612c; stroke-width:0px;"/><path d="m286.08,327.06c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#66c4ab; stroke-width:0px;"/><path d="m158.54,108.93l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#1e3638; stroke-width:0px;"/><path d="m286.08,327.06c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#66c4ab; stroke-width:0px;"/><path d="m419.58,111.53l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#1e3638; stroke-width:0px;"/></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="900" height="900" viewBox="0 0 900 900"><path d="m165.63,610.17c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m298.66,395.48l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m425.87,612.82c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99,1,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m298.66,395.48l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m289.46,683.29c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#dbab3e; stroke-width:0px;"/><path d="m301.93,538.21l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/><g style="opacity:.68;"><path d="m289.46,683.29c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m161.92,465.17l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/></g><g style="opacity:.68;"><path d="m289.46,683.29c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m422.97,467.76l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/></g><path d="m165.63,431.12c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m298.66,216.43l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m425.87,433.77c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99,1,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m298.66,216.43l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m289.46,504.24c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#dbab3e; stroke-width:0px;"/><path d="m301.93,359.16l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/><g style="opacity:.68;"><path d="m289.46,504.24c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m161.92,286.12l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/></g><g style="opacity:.68;"><path d="m289.46,504.24c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m422.97,288.71l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/></g><path d="m323.93,699.94c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m456.96,485.25l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m584.17,702.59c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m456.96,485.25l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m447.76,773.06c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#dbab3e; stroke-width:0px;"/><path d="m460.23,627.98l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/><g style="opacity:.68;"><path d="m447.76,773.06c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m320.22,554.94l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/></g><g style="opacity:.68;"><path d="m447.76,773.06c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#fff; stroke-width:0px;"/><path d="m581.27,557.53l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/></g><path d="m323.93,520.89c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m456.96,306.2l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m584.17,523.54c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m456.96,306.2l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m447.76,594.01c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#dbab3e; stroke-width:0px;"/><path d="m460.23,448.93l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/><g style="opacity:.68;"><path d="m447.76,594.01c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m320.22,375.89l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/></g><g style="opacity:.68;"><path d="m447.76,594.01c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m581.27,378.48l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/></g><path d="m481.22,789.64c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m614.25,574.94l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m741.46,792.29c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m614.25,574.94l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m605.05,862.76c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#dbab3e; stroke-width:0px;"/><path d="m617.53,717.68l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45.04-1.46-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/><g style="opacity:.68;"><path d="m605.05,862.76c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m477.52,644.63l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/></g><g style="opacity:.68;"><path d="m605.05,862.76c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m738.56,647.23l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/></g><path d="m481.22,610.59c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m614.25,395.89l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m741.46,613.24c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m614.25,395.89l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m605.05,683.71c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#dbab3e; stroke-width:0px;"/><path d="m617.53,538.63l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45.04-1.46-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/><g style="opacity:.68;"><path d="m605.05,683.71c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m477.52,465.58l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/></g><g style="opacity:.68;"><path d="m605.05,683.71c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m738.56,468.18l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/></g><path d="m323.93,342.75c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m456.96,128.06l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m584.17,345.4c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#5b9cd4; stroke-width:0px;"/><path d="m456.96,128.06l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#26489e; stroke-width:0px;"/><path d="m447.76,415.87c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#dbab3e; stroke-width:0px;"/><path d="m460.23,270.79l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/><g style="opacity:.68;"><path d="m447.76,415.87c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#feffff; stroke-width:0px;"/><path d="m320.22,197.75l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#26489e; stroke-width:0px;"/></g><g style="opacity:.68;"><path d="m447.76,415.87c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#feffff; stroke-width:0px;"/><path d="m581.27,200.34l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#26489e; stroke-width:0px;"/></g><g style="opacity:.8;"><path d="m481.22,435.48c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#ef7028; stroke-width:0px;"/><path d="m614.25,220.79l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#b31f24; stroke-width:0px;"/><path d="m741.46,438.13c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99.99,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#ef7028; stroke-width:0px;"/><path d="m614.25,220.79l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#b31f24; stroke-width:0px;"/><path d="m605.05,508.6c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#ea5624; stroke-width:0px;"/><path d="m617.53,363.53l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45.04-1.46-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#8b1e1c; stroke-width:0px;"/><path d="m605.05,508.6c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#d55727; stroke-width:0px;"/><path d="m477.52,290.48l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#b31f24; stroke-width:0px;"/><path d="m605.05,508.6c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#d55727; stroke-width:0px;"/><path d="m738.56,293.08l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#b31f24; stroke-width:0px;"/></g><g style="opacity:.8;"><path d="m162.24,253.94c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.77.4-1.48,1.09-1.83l136.74-69.69c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.98.97,1.67l3.27,142.74c.02.77-.4,1.48-1.09,1.83l-136.31,69.96c-.29.15-.6.22-.91.22Z" style="fill:#60c3a7; stroke-width:0px;"/><path d="m295.28,39.24l3.27,142.74-136.31,69.96-3.7-143,136.74-69.69m0-4c-.62,0-1.24.14-1.82.44l-136.74,69.69c-1.37.7-2.22,2.13-2.18,3.67l3.7,143c.04,1.37.78,2.64,1.96,3.34.63.37,1.33.56,2.04.56.63,0,1.25-.15,1.83-.44l136.31-69.96c1.36-.7,2.21-2.12,2.17-3.65l-3.27-142.74c-.03-1.38-.77-2.64-1.95-3.34-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#0b5e64; stroke-width:0px;"/><path d="m422.48,256.59c-.35,0-.7-.09-1.01-.27l-123.94-72.61c-.6-.35-.97-.99-.99-1.68l-3.27-142.74c-.02-.72.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.69.09,1.01.27l124.31,72.29c.6.35.98.99,1,1.69l2.9,143.06c.01.72-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#60c3a7; stroke-width:0px;"/><path d="m295.28,39.24l124.31,72.29,2.9,143.06-123.94-72.61-3.27-142.74m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.09-1.96,3.54l3.27,142.74c.03,1.39.78,2.66,1.98,3.36l123.94,72.61c.62.37,1.32.55,2.02.55s1.4-.18,2.02-.55c1.25-.73,2-2.08,1.98-3.53l-2.9-143.06c-.03-1.4-.78-2.68-1.99-3.38l-124.31-72.29c-.62-.36-1.32-.54-2.01-.54h0Z" style="fill:#0b5e64; stroke-width:0px;"/><path d="m286.08,327.06c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.63-.37-1-1.05-.98-1.78.02-.73.44-1.39,1.09-1.72l136.31-69.96c.29-.15.6-.22.91-.22.35,0,.7.09,1.01.27l123.94,72.61c.63.37,1.01,1.05.99,1.78-.02.73-.43,1.39-1.08,1.72l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#7cc242; stroke-width:0px;"/><path d="m298.55,181.98l123.94,72.61-136.41,70.47-123.83-73.12,136.31-69.96m0-4c-.63,0-1.25.15-1.83.44l-136.31,69.96c-1.3.67-2.13,1.98-2.17,3.44-.04,1.46.71,2.82,1.96,3.56l123.83,73.12c.63.37,1.33.56,2.03.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.3-.67,2.12-1.99,2.16-3.45s-.72-2.82-1.98-3.56l-123.94-72.61c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#878d36; stroke-width:0px;"/><path d="m286.08,327.06c-.35,0-.7-.09-1.02-.28l-123.83-73.12c-.59-.35-.96-.98-.98-1.67l-3.7-143c-.02-.73.36-1.4.98-1.77.31-.19.67-.28,1.02-.28s.7.09,1.01.27l124.2,72.8c.6.35.97.99.99,1.68l3.33,143.33c.02.73-.36,1.4-.99,1.77-.31.18-.66.27-1.01.27Z" style="fill:#4dbe99; stroke-width:0px;"/><path d="m158.54,108.93l124.2,72.8,3.33,143.33-123.83-73.12-3.7-143m0-4c-.7,0-1.41.19-2.03.56-1.25.74-2,2.1-1.97,3.55l3.7,143c.04,1.38.78,2.64,1.96,3.34l123.83,73.12c.63.37,1.33.56,2.03.56s1.4-.18,2.02-.55c1.25-.73,2.01-2.09,1.98-3.54l-3.33-143.33c-.03-1.39-.78-2.66-1.98-3.36l-124.2-72.8c-.62-.37-1.32-.55-2.02-.55h0Z" style="fill:#0b5e64; stroke-width:0px;"/><path d="m286.08,327.06c-.35,0-.71-.09-1.02-.28-.59-.35-.96-.98-.98-1.67l-3.33-143.33c-.02-.77.4-1.48,1.09-1.83l136.84-70.2c.29-.15.6-.22.91-.22.36,0,.71.09,1.03.28.59.35.96.99.97,1.68l2.9,143.06c.01.76-.4,1.47-1.08,1.82l-136.41,70.47c-.29.15-.6.22-.92.22Z" style="fill:#4dbe99; stroke-width:0px;"/><path d="m419.58,111.53l2.9,143.06-136.41,70.47-3.33-143.33,136.84-70.2m0-4c-.63,0-1.25.15-1.83.44l-136.84,70.2c-1.36.7-2.21,2.12-2.17,3.65l3.33,143.33c.03,1.38.77,2.64,1.96,3.35.63.37,1.33.56,2.04.56.63,0,1.26-.15,1.84-.45l136.41-70.47c1.36-.7,2.19-2.11,2.16-3.63l-2.9-143.06c-.03-1.38-.76-2.65-1.95-3.35-.63-.38-1.34-.57-2.05-.57h0Z" style="fill:#0b5e64; stroke-width:0px;"/></g></svg>
@@ -1,7 +1,7 @@
1
- // Alpine.js Components for Sidebar
1
+ // Sidebar Tree LutaML Branded
2
+ // Compact, clean tree matching lutaml-xsd SchemaTreeNode
2
3
 
3
4
  document.addEventListener('alpine:init', () => {
4
- // Package Tree Component
5
5
  Alpine.data('packageTree', () => ({
6
6
  get data() {
7
7
  return this.$store.app.data;
@@ -9,206 +9,115 @@ document.addEventListener('alpine:init', () => {
9
9
 
10
10
  get rootNodes() {
11
11
  if (!this.data || !this.data.packageTree) return [];
12
-
13
- // Return as array for iteration
14
12
  return [this.data.packageTree];
15
13
  }
16
14
  }));
17
15
 
18
- // Tree Node Component (Recursive)
19
- Alpine.data('treeNode', (node) => ({
20
- node,
21
-
22
- get expanded() {
23
- return this.$store.app.isNodeExpanded(this.node.id);
24
- },
25
-
26
- get hasChildren() {
27
- return (this.node.children && this.node.children.length > 0) ||
28
- (this.node.classes && this.node.classes.length > 0);
29
- },
30
-
31
- get isSelected() {
32
- return this.$store.app.currentPackage === this.node.id;
33
- },
34
-
35
- get currentClass() {
36
- return this.$store.app.currentClass;
37
- },
38
-
39
- toggle() {
40
- this.$store.app.toggleNode(this.node.id);
41
- },
42
-
43
- selectPackage(id) {
44
- this.$store.app.selectPackage(id);
45
- },
46
-
47
- selectClass(id) {
48
- this.$store.app.selectClass(id);
49
- },
50
-
51
- getClass(classId) {
52
- return this.$store.app.data?.classes[classId];
53
- }
54
- }));
55
-
56
- // Sidebar Actions
57
- Alpine.data('sidebarActions', () => ({
58
- expandAll() {
59
- this.$store.app.expandAll();
60
- },
61
-
62
- collapseAll() {
63
- this.$store.app.collapseAll();
64
- }
65
- }));
66
-
67
- // Recursive tree rendering component with full reactivity
68
16
  Alpine.data('renderTree', (rootNode) => ({
69
17
  treeHtml: '',
70
18
  rootNode,
71
19
 
72
20
  init() {
73
21
  this.rebuildTree();
74
-
75
- // Listen for manual rebuild triggers
76
- window.addEventListener('tree-rebuild', () => {
77
- this.rebuildTree();
78
- });
79
-
80
- // Watch for state changes and rebuild tree
81
- this.$watch('$store.app.expandedNodes.size', () => {
82
- this.rebuildTree();
83
- });
84
-
85
- this.$watch('$store.app.currentPackage', () => {
86
- this.rebuildTree();
87
- });
88
-
89
- this.$watch('$store.app.currentClass', () => {
90
- this.rebuildTree();
91
- });
22
+ window.addEventListener('tree-rebuild', () => this.rebuildTree());
23
+ this.$watch('$store.app.expandedNodes.size', () => this.rebuildTree());
24
+ this.$watch('$store.app.currentPackage', () => this.rebuildTree());
25
+ this.$watch('$store.app.currentClass', () => this.rebuildTree());
92
26
  },
93
27
 
94
28
  rebuildTree() {
95
- this.treeHtml = this.buildTreeNode(this.rootNode);
29
+ if (!this.rootNode) { this.treeHtml = ''; return; }
30
+ this.treeHtml = this.buildPackageNode(this.rootNode);
96
31
  },
97
32
 
98
- buildTreeNode(node) {
33
+ buildPackageNode(node) {
99
34
  const store = Alpine.store('app');
100
35
  const expanded = store.isNodeExpanded(node.id);
101
- const isSelected = store.currentPackage === node.id;
36
+ const selected = store.currentPackage === node.id;
102
37
  const hasChildren = (node.children && node.children.length > 0) ||
103
38
  (node.classes && node.classes.length > 0);
104
-
105
- // Get package data for stereotypes
106
39
  const pkg = store.data?.packages[node.id];
107
40
  const stereotypes = pkg?.stereotypes || node.stereotypes || [];
108
41
 
109
- let html = `<div class="tree-node${isSelected ? ' selected' : ''}">`;
110
- html += '<div class="node-header">';
42
+ let h = '<div class="tree-node">';
43
+ h += '<div class="tree-node-content' + (selected ? ' selected' : '') + '">';
111
44
 
112
- // Expand/collapse button - call store method directly and trigger rebuild
45
+ // Expand toggle
113
46
  if (hasChildren) {
114
- html += `<button onclick="Alpine.store('app').toggleNode('${node.id}'); window.dispatchEvent(new CustomEvent('tree-rebuild'));" class="expand-icon${expanded ? ' expanded' : ''}">`;
115
- html += '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">';
116
- html += '<polyline points="9 18 15 12 9 6"></polyline></svg></button>';
47
+ h += '<button onclick="Alpine.store(\'app\').toggleNode(\'' + node.id + '\'); window.dispatchEvent(new CustomEvent(\'tree-rebuild\'));" class="tree-toggle">';
48
+ h += '<svg width="12" height="12" viewBox="0 0 12 12" fill="none"' + (expanded ? ' class="expanded"' : '') + '>';
49
+ h += '<path d="M4 3l3 3-3 3" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>';
50
+ h += '</svg></button>';
117
51
  } else {
118
- html += '<span class="no-icon"></span>';
52
+ h += '<span class="tree-toggle-placeholder"></span>';
119
53
  }
120
54
 
121
- // Package icon and label
122
- html += '<svg class="package-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">';
123
- html += '<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"></path></svg>';
55
+ // Folder icon
56
+ h += '<span class="tree-icon">';
57
+ h += '<svg width="14" height="14" viewBox="0 0 14 14" fill="none">';
58
+ h += '<path d="M2 5a2 2 0 012-2h2.5L8 4.5h2a2 2 0 012 2v2.5a2 2 0 01-2 2H4a2 2 0 01-2-2V5z" stroke="currentColor" stroke-width="1.1"/>';
59
+ h += '</svg></span>';
124
60
 
125
- html += `<button onclick="Alpine.store('app').selectPackage('${node.id}')" class="node-label${isSelected ? ' active' : ''}" title="${node.path || ''}">`;
126
-
127
- // Add stereotype prefix if present
61
+ // Label
62
+ h += '<button onclick="Alpine.store(\'app\').selectPackage(\'' + node.id + '\')" class="tree-label" title="' + this.esc(node.path || node.name) + '">';
128
63
  if (stereotypes.length > 0) {
129
- html += `<span class="stereotype-prefix">«${this.escapeHtml(stereotypes[0])}»</span> `;
64
+ h += '<span class="tree-stereotype">«' + this.esc(stereotypes[0]) + '» </span>';
130
65
  }
66
+ h += this.esc(node.name) + '</button>';
131
67
 
132
- html += `<span>${this.escapeHtml(node.name)}</span></button>`;
133
-
134
- // Class count badge
68
+ // Count badge
135
69
  if (node.classCount > 0) {
136
- html += `<span class="count-badge" title="${node.classCount} class${node.classCount !== 1 ? 'es' : ''}">${node.classCount}</span>`;
70
+ h += '<span class="tree-count">' + node.classCount + '</span>';
137
71
  }
138
72
 
139
- html += '</div>'; // node-header
73
+ h += '</div>'; // tree-node-content
140
74
 
141
- // Children (packages and classes)
75
+ // Children
142
76
  if (hasChildren && expanded) {
143
- html += '<div class="node-children">';
77
+ h += '<div class="tree-children">';
144
78
 
145
- // Render child packages
146
- if (node.children && node.children.length > 0) {
147
- node.children.forEach(child => {
148
- html += this.buildTreeNode(child);
79
+ if (node.classes && node.classes.length > 0) {
80
+ h += '<div class="tree-group">';
81
+ h += '<div class="tree-group-label">Classes <span class="tree-count">' + node.classes.length + '</span></div>';
82
+ h += '<div class="tree-group-items">';
83
+ node.classes.forEach(cd => {
84
+ const classId = typeof cd === 'string' ? cd : cd.id;
85
+ h += this.buildClassLeaf(classId);
149
86
  });
87
+ h += '</div></div>';
150
88
  }
151
89
 
152
- // Render classes
153
- if (node.classes && node.classes.length > 0) {
154
- node.classes.forEach(classData => {
155
- // classData can be either string ID or object with {id, name, stereotypes}
156
- const classId = typeof classData === 'string' ? classData : classData.id;
157
- const classStereotypes = typeof classData === 'object' ? classData.stereotypes : null;
158
- html += this.buildClassNode(classId, classStereotypes);
90
+ if (node.children && node.children.length > 0) {
91
+ node.children.forEach(child => {
92
+ h += this.buildPackageNode(child);
159
93
  });
160
94
  }
161
95
 
162
- html += '</div>';
96
+ h += '</div>';
163
97
  }
164
98
 
165
- html += '</div>'; // tree-node
166
- return html;
99
+ h += '</div>';
100
+ return h;
167
101
  },
168
102
 
169
- buildClassNode(classId, providedStereotypes = null) {
103
+ buildClassLeaf(classId) {
170
104
  const store = Alpine.store('app');
171
105
  const cls = store.data?.classes[classId];
172
106
  if (!cls) return '';
173
107
 
174
- const isSelected = store.currentClass === classId;
175
- const stereotypes = providedStereotypes || cls.stereotypes || [];
176
-
177
- let html = `<div class="tree-node class-node${isSelected ? ' selected' : ''}">`;
178
- html += '<div class="node-header">';
179
- html += '<span class="no-icon"></span>';
180
-
181
- // Class icon
182
- html += '<svg class="class-icon" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">';
183
- html += '<rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>';
184
- html += '<line x1="3" y1="9" x2="21" y2="9"></line>';
185
- html += '<line x1="9" y1="21" x2="9" y2="9"></line>';
186
- html += '</svg>';
187
-
188
- html += `<button onclick="Alpine.store('app').selectClass('${classId}')" class="node-label${isSelected ? ' active' : ''}" title="${this.escapeHtml(cls.qualifiedName || cls.name)}">`;
189
-
190
- // Add stereotype prefix if present
191
- if (stereotypes.length > 0) {
192
- html += `<span class="stereotype-prefix">«${this.escapeHtml(stereotypes[0])}»</span> `;
193
- }
194
-
195
- html += `<span>${this.escapeHtml(cls.name)}</span></button>`;
196
-
197
- html += '</div>'; // node-header
198
- html += '</div>'; // tree-node
108
+ const selected = store.currentClass === classId;
109
+ const typeKey = (cls.type === 'Enumeration' ? 'enum' : cls.type === 'DataType' ? 'datatype' : cls.type === 'Interface' ? 'interface' : 'class');
199
110
 
200
- return html;
111
+ let h = '<div class="tree-item' + (selected ? ' selected' : '') + '" onclick="Alpine.store(\'app\').selectClass(\'' + classId + '\')">';
112
+ h += '<span class="badge badge-' + typeKey + '">' + (cls.type === 'Enumeration' ? 'E' : cls.type === 'DataType' ? 'DT' : cls.type === 'Interface' ? 'I' : 'C') + '</span>';
113
+ h += '<span class="tree-item-label" title="' + this.esc(cls.qualifiedName || cls.name) + '">' + this.esc(cls.name) + '</span>';
114
+ h += '</div>';
115
+ return h;
201
116
  },
202
117
 
203
- escapeHtml(text) {
204
- const map = {
205
- '&': '&amp;',
206
- '<': '&lt;',
207
- '>': '&gt;',
208
- '"': '&quot;',
209
- "'": '&#039;'
210
- };
211
- return String(text).replace(/[&<>"']/g, m => map[m]);
118
+ esc(text) {
119
+ const m = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#039;' };
120
+ return String(text).replace(/[&<>"']/g, c => m[c]);
212
121
  }
213
122
  }));
214
123
  });