@zenuml/core 4.5.0 → 4.6.1

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.
@@ -2158,7 +2158,7 @@ class sequenceParser extends antlr4.Parser {
2158
2158
 
2159
2159
 
2160
2160
  group() {
2161
- let localctx = new GroupContext(this, this._ctx, this.state);
2161
+ let localctx = new GroupContext$1(this, this._ctx, this.state);
2162
2162
  this.enterRule(localctx, 6, sequenceParser.RULE_group);
2163
2163
  var _la = 0; // Token type
2164
2164
  try {
@@ -5224,9 +5224,9 @@ class HeadContext extends antlr4.ParserRuleContext {
5224
5224
  i = null;
5225
5225
  }
5226
5226
  if(i===null) {
5227
- return this.getTypedRuleContexts(GroupContext);
5227
+ return this.getTypedRuleContexts(GroupContext$1);
5228
5228
  } else {
5229
- return this.getTypedRuleContext(GroupContext,i);
5229
+ return this.getTypedRuleContext(GroupContext$1,i);
5230
5230
  }
5231
5231
  };
5232
5232
 
@@ -5262,7 +5262,7 @@ class HeadContext extends antlr4.ParserRuleContext {
5262
5262
 
5263
5263
 
5264
5264
 
5265
- class GroupContext extends antlr4.ParserRuleContext {
5265
+ let GroupContext$1 = class GroupContext extends antlr4.ParserRuleContext {
5266
5266
 
5267
5267
  constructor(parser, parent, invokingState) {
5268
5268
  if(parent===undefined) {
@@ -5316,7 +5316,7 @@ class GroupContext extends antlr4.ParserRuleContext {
5316
5316
  }
5317
5317
 
5318
5318
 
5319
- }
5319
+ };
5320
5320
 
5321
5321
 
5322
5322
 
@@ -8702,7 +8702,7 @@ class TextExprContext extends antlr4.ParserRuleContext {
8702
8702
  sequenceParser.ProgContext = ProgContext$3;
8703
8703
  sequenceParser.TitleContext = TitleContext$1;
8704
8704
  sequenceParser.HeadContext = HeadContext;
8705
- sequenceParser.GroupContext = GroupContext;
8705
+ sequenceParser.GroupContext = GroupContext$1;
8706
8706
  sequenceParser.StarterExpContext = StarterExpContext;
8707
8707
  sequenceParser.StarterContext = StarterContext;
8708
8708
  sequenceParser.ParticipantContext = ParticipantContext;
@@ -9691,7 +9691,7 @@ function validate(code) {
9691
9691
 
9692
9692
  sequenceParser.ProgContext;
9693
9693
  const RootContext = rootContext;
9694
- sequenceParser.GroupContext;
9694
+ const GroupContext = sequenceParser.GroupContext;
9695
9695
  sequenceParser.ParticipantContext;
9696
9696
  const Participants = function (ctx) {
9697
9697
  const toCollector = ToCollector;
@@ -11335,21 +11335,19 @@ function buildLifelines(participants, diagramHeight) {
11335
11335
  dashed: true
11336
11336
  }));
11337
11337
  }
11338
- function buildGroups(participants, diagramHeight) {
11338
+ function collectGroupSpecs(head) {
11339
+ return (head?.children ?? []).filter((c) => c instanceof GroupContext).map((g) => ({
11340
+ // getFormattedText is installed on every context in src/parser/index.js
11341
+ name: g.name()?.getFormattedText() ?? "",
11342
+ participantNames: Participants(g).Array().map((e) => e.name)
11343
+ }));
11344
+ }
11345
+ function buildGroups(participants, diagramHeight, groupSpecs) {
11339
11346
  const GROUP_OUTLINE_MARGIN = -2;
11340
- const groupMap = /* @__PURE__ */ new Map();
11341
- for (const p of participants) {
11342
- if (p.groupId != null) {
11343
- const existing = groupMap.get(p.groupId);
11344
- if (existing) {
11345
- existing.push(p);
11346
- } else {
11347
- groupMap.set(p.groupId, [p]);
11348
- }
11349
- }
11350
- }
11347
+ const byName = new Map(participants.map((p) => [p.name, p]));
11351
11348
  const groups = [];
11352
- for (const [groupId, members] of groupMap) {
11349
+ for (const spec of groupSpecs) {
11350
+ const members = spec.participantNames.map((n) => byName.get(n)).filter((p) => p !== void 0);
11353
11351
  if (members.length === 0) continue;
11354
11352
  let minLeft = Infinity;
11355
11353
  let maxRight = -Infinity;
@@ -11366,7 +11364,7 @@ function buildGroups(participants, diagramHeight) {
11366
11364
  const y = minY - 20 + 1.5;
11367
11365
  const height = Math.max(0, diagramHeight - y + 13);
11368
11366
  groups.push({
11369
- name: String(groupId),
11367
+ name: spec.name,
11370
11368
  x,
11371
11369
  y,
11372
11370
  width,
@@ -12573,7 +12571,11 @@ function buildGeometry(input) {
12573
12571
  inner.x + inner.width - frameBorder.right
12574
12572
  );
12575
12573
  }
12576
- const groups = buildGroups(participants, diagramHeight);
12574
+ const groups = buildGroups(
12575
+ participants,
12576
+ diagramHeight,
12577
+ collectGroupSpecs(rootContext?.head?.())
12578
+ );
12577
12579
  return {
12578
12580
  width: diagramWidth,
12579
12581
  height: diagramHeight,
@@ -12596,25 +12598,76 @@ function buildGeometry(input) {
12596
12598
 
12597
12599
  const ActorSvg = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <g>\n <path d=\"M15.5489 4.19771C15.5489 5.18773 15.1485 6.13721 14.4358 6.83726C13.7231 7.53731 12.7565 7.93058 11.7486 7.93058C10.7407 7.93058 9.77403 7.53731 9.06133 6.83726C8.34863 6.13721 7.94824 5.18773 7.94824 4.19771C7.94824 3.20768 8.34863 2.25822 9.06133 1.55818C9.77403 0.858126 10.7407 0.464844 11.7486 0.464844C12.7565 0.464844 13.7231 0.858126 14.4358 1.55818C15.1485 2.25822 15.5489 3.20768 15.5489 4.19771Z\" stroke=\"currentColor\"/>\n <path d=\"M6.54883 11.2152L17.2025 11.2073M11.7471 8.06641V19.5806V8.06641ZM11.7471 19.4385L6.79789 23.5738L11.7471 19.4385ZM11.7551 19.4385L17.1864 23.3055L11.7551 19.4385Z\" stroke=\"currentColor\"/>\n </g>\n</svg>\n";
12598
12600
 
12601
+ const actor = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
12602
+ __proto__: null,
12603
+ default: ActorSvg
12604
+ }, Symbol.toStringTag, { value: 'Module' }));
12605
+
12599
12606
  const BoundarySvg = "<svg width=\"101\" height=\"78\" viewBox=\"0 0 101 78\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<path d=\"M96.3563 39.4479C96.3563 48.4904 92.6755 57.1625 86.1237 63.5566C79.5718 69.9506 70.6856 73.5427 61.4199 73.5427C52.1541 73.5427 43.2679 69.9506 36.7161 63.5566C30.1642 57.1625 26.4834 48.4904 26.4834 39.4479C26.4834 30.147 30.1642 21.2271 36.7161 14.6504C43.2679 8.07366 52.1541 4.37891 61.4199 4.37891C70.6856 4.37891 79.5718 8.07366 86.1237 14.6504C92.6755 21.2271 96.3563 30.147 96.3563 39.4479V39.4479Z\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n\t<path d=\"M27.3611 39.4482H3.93945\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n\t<path d=\"M4.91504 4.37891V74.5168\" stroke=\"currentColor\" stroke-width=\"4.2083\"/>\n</svg>\n";
12600
12607
 
12608
+ const Robustness_Diagram_Boundary = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
12609
+ __proto__: null,
12610
+ default: BoundarySvg
12611
+ }, Symbol.toStringTag, { value: 'Module' }));
12612
+
12601
12613
  const ControlSvg = "<svg width=\"77\" height=\"86\" viewBox=\"0 0 77 86\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<g>\n\t\t<path d=\"M74.0149 46.8888C74.0149 51.5755 73.0918 56.2163 71.2983 60.5463C69.5048 64.8762 66.876 68.8105 63.562 72.1245C60.248 75.4385 56.3137 78.0673 51.9838 79.8608C47.6538 81.6543 43.013 82.5774 38.3263 82.5774C33.6396 82.5774 28.9988 81.6543 24.6689 79.8608C20.3389 78.0673 16.4046 75.4385 13.0907 72.1245C9.77666 68.8105 7.14785 64.8762 5.35433 60.5463C3.56081 56.2163 2.6377 51.5755 2.6377 46.8888C2.6377 42.2021 3.56081 37.5613 5.35433 33.2314C7.14785 28.9014 9.77666 24.9671 13.0907 21.6532C16.4046 18.3392 20.3389 15.7104 24.6689 13.9168C28.9988 12.1233 33.6396 11.2002 38.3263 11.2002C43.013 11.2002 47.6538 12.1233 51.9838 13.9168C56.3137 15.7104 60.248 18.3392 63.562 21.6532C66.876 24.9671 69.5048 28.9014 71.2983 33.2314C73.0918 37.5613 74.0149 42.2021 74.0149 46.8888V46.8888Z\" stroke=\"currentColor\" stroke-width=\"3.5833\"/>\n\t\t<path d=\"M47.5352 2.30371L37.5352 11.5001L47.5352 20.6966\" stroke=\"currentColor\" stroke-width=\"3.5833\"/>\n\t</g>\n</svg>\n";
12602
12614
 
12615
+ const Robustness_Diagram_Control = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
12616
+ __proto__: null,
12617
+ default: ControlSvg
12618
+ }, Symbol.toStringTag, { value: 'Module' }));
12619
+
12603
12620
  const DatabaseSvg = "<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <ellipse cx=\"12\" cy=\"4.5\" rx=\"9.75\" ry=\"2.75\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 4.5v15a9.75 2.75 0 0 0 19.5 0v-15\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 9.5a9.75 2.75 0 0 0 19.5 0\" stroke=\"currentColor\" stroke-width=\"1\"/>\n <path d=\"M2.25 14.5a9.75 2.75 0 0 0 19.5 0\" stroke=\"currentColor\" stroke-width=\"1\"/>\n</svg>\n";
12604
12621
 
12622
+ const database = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
12623
+ __proto__: null,
12624
+ default: DatabaseSvg
12625
+ }, Symbol.toStringTag, { value: 'Module' }));
12626
+
12605
12627
  const EntitySvg = "<svg width=\"77\" height=\"80\" viewBox=\"0 0 77 80\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n\t<g>\n\t\t<path d=\"M74.0149 38.8888C74.0149 43.5755 73.0918 48.2163 71.2983 52.5463C69.5048 56.8762 66.876 60.8105 63.562 64.1245C60.248 67.4385 56.3137 70.0673 51.9838 71.8608C47.6538 73.6543 43.013 74.5774 38.3263 74.5774C33.6396 74.5774 28.9988 73.6543 24.6689 71.8608C20.3389 70.0673 16.4046 67.4385 13.0907 64.1245C9.77666 60.8105 7.14785 56.8762 5.35433 52.5463C3.56081 48.2163 2.6377 43.5755 2.6377 38.8888C2.6377 34.2021 3.56081 29.5613 5.35433 25.2314C7.14785 20.9014 9.77666 16.9671 13.0907 13.6532C16.4046 10.3392 20.3389 7.71035 24.6689 5.91683C28.9988 4.12331 33.6396 3.2002 38.3263 3.2002C43.013 3.2002 47.6538 4.12331 51.9838 5.91683C56.3137 7.71035 60.248 10.3392 63.562 13.6532C66.876 16.9671 69.5048 20.9014 71.2983 25.2314C73.0918 29.5613 74.0149 34.2021 74.0149 38.8888V38.8888Z\" stroke=\"currentColor\" stroke-width=\"3.3333\"/>\n\t\t<path d=\"M2.69922 75.4727L75.6992 75.5154\" stroke=\"currentColor\" stroke-width=\"3.3333\"/>\n\t</g>\n</svg>\n";
12606
12628
 
12607
- const Ec2Svg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Compute/Res_Amazon-EC2_Instance_48</title>\n <g id=\"Icon-Resource/Compute/Res_Amazon-EC2_Instance_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M9,39 L39,39 L39,9 L9,9 L9,39 Z M46,13 L46,11 L41,11 L41,8 C41,7.448 40.552,7 40,7 L37,7 L37,2 L35,2 L35,7 L31,7 L31,2 L29,2 L29,7 L25,7 L25,2 L23,2 L23,7 L19,7 L19,2 L17,2 L17,7 L13,7 L13,2 L11,2 L11,7 L8,7 C7.447,7 7,7.448 7,8 L7,11 L2,11 L2,13 L7,13 L7,17 L2,17 L2,19 L7,19 L7,23 L2,23 L2,25 L7,25 L7,29 L2,29 L2,31 L7,31 L7,35 L2,35 L2,37 L7,37 L7,40 C7,40.553 7.447,41 8,41 L11,41 L11,46 L13,46 L13,41 L17,41 L17,46 L19,46 L19,41 L23,41 L23,46 L25,46 L25,41 L29,41 L29,46 L31,46 L31,41 L35,41 L35,46 L37,46 L37,41 L40,41 C40.552,41 41,40.553 41,40 L41,37 L46,37 L46,35 L41,35 L41,31 L46,31 L46,29 L41,29 L41,25 L46,25 L46,23 L41,23 L41,19 L46,19 L46,17 L41,17 L41,13 L46,13 Z\" id=\"Amazon-EC2-Instance_Resource-Icon_light-bg\" fill=\"#ED7100\"></path>\n </g>\n</svg>\n";
12629
+ const Robustness_Diagram_Entity = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
12630
+ __proto__: null,
12631
+ default: EntitySvg
12632
+ }, Symbol.toStringTag, { value: 'Module' }));
12633
+
12634
+ const icon_374 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Compute/Res_Amazon-EC2_Instance_48</title>\n <g id=\"Icon-Resource/Compute/Res_Amazon-EC2_Instance_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M9,39 L39,39 L39,9 L9,9 L9,39 Z M46,13 L46,11 L41,11 L41,8 C41,7.448 40.552,7 40,7 L37,7 L37,2 L35,2 L35,7 L31,7 L31,2 L29,2 L29,7 L25,7 L25,2 L23,2 L23,7 L19,7 L19,2 L17,2 L17,7 L13,7 L13,2 L11,2 L11,7 L8,7 C7.447,7 7,7.448 7,8 L7,11 L2,11 L2,13 L7,13 L7,17 L2,17 L2,19 L7,19 L7,23 L2,23 L2,25 L7,25 L7,29 L2,29 L2,31 L7,31 L7,35 L2,35 L2,37 L7,37 L7,40 C7,40.553 7.447,41 8,41 L11,41 L11,46 L13,46 L13,41 L17,41 L17,46 L19,46 L19,41 L23,41 L23,46 L25,46 L25,41 L29,41 L29,46 L31,46 L31,41 L35,41 L35,46 L37,46 L37,41 L40,41 C40.552,41 41,40.553 41,40 L41,37 L46,37 L46,35 L41,35 L41,31 L46,31 L46,29 L41,29 L41,25 L46,25 L46,23 L41,23 L41,19 L46,19 L46,17 L41,17 L41,13 L46,13 Z\" id=\"Amazon-EC2-Instance_Resource-Icon_light-bg\" fill=\"#ED7100\"></path>\n </g>\n</svg>\n";
12608
12635
 
12609
- const IamSvg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Security-Identity-and-Compliance/Res_AWS-Identity-Access-Management_IAM-Access-Analyzer_48</title>\n <g id=\"Icon-Resource/Security-Identity-and-Compliance/Res_AWS-Identity-Access-Management_IAM-Access-Analyzer_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M15,25.001 L19,25.001 L19,23.001 L15,23.001 L15,25.001 Z M4,27.001 L11,27.001 L11,20.001 L4,20.001 L4,27.001 Z M12,29.001 L3,29.001 C2.448,29.001 2,28.553 2,28.001 L2,19.001 C2,18.448 2.448,18.001 3,18.001 L12,18.001 C12.552,18.001 13,18.448 13,19.001 L13,28.001 C13,28.553 12.552,29.001 12,29.001 L12,29.001 Z M43.2,27.001 L40,21.891 L36.8,27.001 L43.2,27.001 Z M45.87,28.481 C45.696,28.799 45.362,28.998 45,29.0010017 L35,29.0010017 C34.448,29.002 33.999,28.555 33.9979861,28.003 C33.997,27.815 34.05,27.631 34.149,27.471 L39.149,19.471 C39.44,19.001 40.058,18.857 40.526,19.148 C40.658,19.229 40.769,19.34 40.851,19.471 L45.851,27.471 C46.038,27.779 46.046,28.165 45.87,28.481 L45.87,28.481 Z M43,41.001 C43,39.344 41.657,38.001 40,38.001 C38.343,38.001 37,39.344 37,41.001 C37,42.658 38.343,44.001 40,44.001 C41.657,44.001 43,42.658 43,41.001 L43,41.001 Z M45,41.001 C45.003,43.762 42.767,46.003 40.005,46.0060018 C37.625,46.008 35.573,44.333 35.101,42.001 L7,42.001 C6.448,42.001 6,41.553 6,41.001 L6,31.001 L8,31.001 L8,40.001 L35.101,40.001 C35.649,37.295 38.288,35.546 40.995,36.096 C43.327,36.569 45.003,38.621 45,41.001 L45,41.001 Z M22,25.001 L26,25.001 L26,23.001 L22,23.001 L22,25.001 Z M37,7.001 C37,8.658 38.343,10.001 40,10.001 C41.657,10.001 43,8.658 43,7.001 C43,5.344 41.657,4.001 40,4.001 C38.343,4.001 37,5.344 37,7.001 L37,7.001 Z M8,16.001 L6,16.001 L6,7.001 C6,6.448 6.448,6.001 7,6.001 L35.101,6.001 C35.652,3.295 38.294,1.55 40.999,2.102 C43.704,2.654 45.45,5.295 44.897,8.001 C44.346,10.706 41.704,12.452 38.999,11.9 C37.035,11.499 35.501,9.965 35.101,8.001 L8,8.001 L8,16.001 Z M29,25.001 L33,25.001 L33,23.001 L29,23.001 L29,25.001 Z\" id=\"AWS-Identity-and-Access-Management_AWS-IAM-Access-Analyzer_Resource-Icon_light-bg\" fill=\"#DD344C\"></path>\n </g>\n</svg>";
12636
+ const icon_160 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Security-Identity-and-Compliance/Res_AWS-Identity-Access-Management_IAM-Access-Analyzer_48</title>\n <g id=\"Icon-Resource/Security-Identity-and-Compliance/Res_AWS-Identity-Access-Management_IAM-Access-Analyzer_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M15,25.001 L19,25.001 L19,23.001 L15,23.001 L15,25.001 Z M4,27.001 L11,27.001 L11,20.001 L4,20.001 L4,27.001 Z M12,29.001 L3,29.001 C2.448,29.001 2,28.553 2,28.001 L2,19.001 C2,18.448 2.448,18.001 3,18.001 L12,18.001 C12.552,18.001 13,18.448 13,19.001 L13,28.001 C13,28.553 12.552,29.001 12,29.001 L12,29.001 Z M43.2,27.001 L40,21.891 L36.8,27.001 L43.2,27.001 Z M45.87,28.481 C45.696,28.799 45.362,28.998 45,29.0010017 L35,29.0010017 C34.448,29.002 33.999,28.555 33.9979861,28.003 C33.997,27.815 34.05,27.631 34.149,27.471 L39.149,19.471 C39.44,19.001 40.058,18.857 40.526,19.148 C40.658,19.229 40.769,19.34 40.851,19.471 L45.851,27.471 C46.038,27.779 46.046,28.165 45.87,28.481 L45.87,28.481 Z M43,41.001 C43,39.344 41.657,38.001 40,38.001 C38.343,38.001 37,39.344 37,41.001 C37,42.658 38.343,44.001 40,44.001 C41.657,44.001 43,42.658 43,41.001 L43,41.001 Z M45,41.001 C45.003,43.762 42.767,46.003 40.005,46.0060018 C37.625,46.008 35.573,44.333 35.101,42.001 L7,42.001 C6.448,42.001 6,41.553 6,41.001 L6,31.001 L8,31.001 L8,40.001 L35.101,40.001 C35.649,37.295 38.288,35.546 40.995,36.096 C43.327,36.569 45.003,38.621 45,41.001 L45,41.001 Z M22,25.001 L26,25.001 L26,23.001 L22,23.001 L22,25.001 Z M37,7.001 C37,8.658 38.343,10.001 40,10.001 C41.657,10.001 43,8.658 43,7.001 C43,5.344 41.657,4.001 40,4.001 C38.343,4.001 37,5.344 37,7.001 L37,7.001 Z M8,16.001 L6,16.001 L6,7.001 C6,6.448 6.448,6.001 7,6.001 L35.101,6.001 C35.652,3.295 38.294,1.55 40.999,2.102 C43.704,2.654 45.45,5.295 44.897,8.001 C44.346,10.706 41.704,12.452 38.999,11.9 C37.035,11.499 35.501,9.965 35.101,8.001 L8,8.001 L8,16.001 Z M29,25.001 L33,25.001 L33,23.001 L29,23.001 L29,25.001 Z\" id=\"AWS-Identity-and-Access-Management_AWS-IAM-Access-Analyzer_Resource-Icon_light-bg\" fill=\"#DD344C\"></path>\n </g>\n</svg>";
12610
12637
 
12611
- const LambdaSvg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Compute/Res_AWS-Lambda_Lambda-Function_48</title>\n <g id=\"Icon-Resource/Compute/Res_AWS-Lambda_Lambda-Function_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M24,44 C12.972,44 4,35.028 4,24 C4,12.972 12.972,4 24,4 C35.028,4 44,12.972 44,24 C44,35.028 35.028,44 24,44 L24,44 Z M24,2 C11.869,2 2,11.869 2,24 C2,36.131 11.869,46 24,46 C36.131,46 46,36.131 46,24 C46,11.869 36.131,2 24,2 L24,2 Z M17.231,35.25 L11.876,35.25 L18.221,21.959 L20.902,27.492 L17.231,35.25 Z M19.114,19.215 C18.946,18.87 18.597,18.651 18.214,18.651 L18.211,18.651 C17.826,18.652 17.477,18.874 17.312,19.221 L9.389,35.819 C9.24,36.129 9.262,36.493 9.445,36.783 C9.628,37.074 9.947,37.25 10.291,37.25 L17.864,37.25 C18.251,37.25 18.603,37.027 18.769,36.678 L22.915,27.915 C23.044,27.642 23.043,27.323 22.911,27.051 L19.114,19.215 Z M36.125,35.25 L30.673,35.25 L20.761,13.953 C20.597,13.601 20.243,13.375 19.854,13.375 L16.251,13.375 L16.255,9.25 L23.475,9.25 L33.339,30.545 C33.503,30.898 33.856,31.125 34.246,31.125 L36.125,31.125 L36.125,35.25 Z M37.125,29.125 L34.885,29.125 L25.021,7.83 C24.856,7.477 24.503,7.25 24.113,7.25 L15.256,7.25 C14.704,7.25 14.257,7.697 14.256,8.249 L14.25,14.374 C14.25,14.64 14.355,14.894 14.543,15.082 C14.73,15.27 14.984,15.375 15.25,15.375 L19.217,15.375 L29.129,36.672 C29.293,37.024 29.646,37.25 30.035,37.25 L37.125,37.25 C37.678,37.25 38.125,36.803 38.125,36.25 L38.125,30.125 C38.125,29.572 37.678,29.125 37.125,29.125 L37.125,29.125 Z\" id=\"Amazon-Lambda-Lambda-Function_Resource-Icon_light-bg\" fill=\"#ED7100\"></path>\n </g>\n</svg>\n";
12638
+ const icon_372 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Compute/Res_AWS-Lambda_Lambda-Function_48</title>\n <g id=\"Icon-Resource/Compute/Res_AWS-Lambda_Lambda-Function_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M24,44 C12.972,44 4,35.028 4,24 C4,12.972 12.972,4 24,4 C35.028,4 44,12.972 44,24 C44,35.028 35.028,44 24,44 L24,44 Z M24,2 C11.869,2 2,11.869 2,24 C2,36.131 11.869,46 24,46 C36.131,46 46,36.131 46,24 C46,11.869 36.131,2 24,2 L24,2 Z M17.231,35.25 L11.876,35.25 L18.221,21.959 L20.902,27.492 L17.231,35.25 Z M19.114,19.215 C18.946,18.87 18.597,18.651 18.214,18.651 L18.211,18.651 C17.826,18.652 17.477,18.874 17.312,19.221 L9.389,35.819 C9.24,36.129 9.262,36.493 9.445,36.783 C9.628,37.074 9.947,37.25 10.291,37.25 L17.864,37.25 C18.251,37.25 18.603,37.027 18.769,36.678 L22.915,27.915 C23.044,27.642 23.043,27.323 22.911,27.051 L19.114,19.215 Z M36.125,35.25 L30.673,35.25 L20.761,13.953 C20.597,13.601 20.243,13.375 19.854,13.375 L16.251,13.375 L16.255,9.25 L23.475,9.25 L33.339,30.545 C33.503,30.898 33.856,31.125 34.246,31.125 L36.125,31.125 L36.125,35.25 Z M37.125,29.125 L34.885,29.125 L25.021,7.83 C24.856,7.477 24.503,7.25 24.113,7.25 L15.256,7.25 C14.704,7.25 14.257,7.697 14.256,8.249 L14.25,14.374 C14.25,14.64 14.355,14.894 14.543,15.082 C14.73,15.27 14.984,15.375 15.25,15.375 L19.217,15.375 L29.129,36.672 C29.293,37.024 29.646,37.25 30.035,37.25 L37.125,37.25 C37.678,37.25 38.125,36.803 38.125,36.25 L38.125,30.125 C38.125,29.572 37.678,29.125 37.125,29.125 L37.125,29.125 Z\" id=\"Amazon-Lambda-Lambda-Function_Resource-Icon_light-bg\" fill=\"#ED7100\"></path>\n </g>\n</svg>\n";
12612
12639
 
12613
- const SnsSvg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Application-Integration/Res_Amazon-Simple-Notification-Service_Topic_48</title>\n <g id=\"Icon-Resource/Application-Integration/Res_Amazon-Simple-Notification-Service_Topic_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M44,38.5 L46,38.5 L46,36.5 L44,36.5 L44,38.5 Z M46,33 L46,34.5 L44,34.5 L44,34 L43.5,34 L43.5,32 L45,32 C45.553,32 46,32.447 46,33 L46,33 Z M13.5,34 L16.5,34 L16.5,32 L13.5,32 L13.5,34 Z M37.5,34 L40.5,34 L40.5,32 L37.5,32 L37.5,34 Z M19.5,34 L22.5,34 L22.5,32 L19.5,32 L19.5,34 Z M7.5,34 L10.5,34 L10.5,32 L7.5,32 L7.5,34 Z M31.5,34 L34.5,34 L34.5,32 L31.5,32 L31.5,34 Z M25.5,34 L28.5,34 L28.5,32 L25.5,32 L25.5,34 Z M3,32 L4.5,32 L4.5,34 L4,34 L4,34.5 L2,34.5 L2,33 C2,32.447 2.447,32 3,32 L3,32 Z M2,38.5 L4,38.5 L4,36.5 L2,36.5 L2,38.5 Z M4,41 L4.5,41 L4.5,43 L3,43 C2.447,43 2,42.553 2,42 L2,40.5 L4,40.5 L4,41 Z M19.5,43 L22.5,43 L22.5,41 L19.5,41 L19.5,43 Z M31.5,43 L34.5,43 L34.5,41 L31.5,41 L31.5,43 Z M37.5,43 L40.5,43 L40.5,41 L37.5,41 L37.5,43 Z M7.5,43 L10.5,43 L10.5,41 L7.5,41 L7.5,43 Z M25.5,43 L28.5,43 L28.5,41 L25.5,41 L25.5,43 Z M13.5,43 L16.5,43 L16.5,41 L13.5,41 L13.5,43 Z M44,40.5 L46,40.5 L46,42 C46,42.553 45.553,43 45,43 L43.5,43 L43.5,41 L44,41 L44,40.5 Z M44,25.5 L46,25.5 L46,23.5 L44,23.5 L44,25.5 Z M46,20 L46,21.5 L44,21.5 L44,21 L43.5,21 L43.5,19 L45,19 C45.553,19 46,19.447 46,20 L46,20 Z M31.5,21 L34.5,21 L34.5,19 L31.5,19 L31.5,21 Z M7.5,21 L10.5,21 L10.5,19 L7.5,19 L7.5,21 Z M37.5,21 L40.5,21 L40.5,19 L37.5,19 L37.5,21 Z M13.5,21 L16.5,21 L16.5,19 L13.5,19 L13.5,21 Z M19.5,21 L22.5,21 L22.5,19 L19.5,19 L19.5,21 Z M25.5,21 L28.5,21 L28.5,19 L25.5,19 L25.5,21 Z M3,19 L4.5,19 L4.5,21 L4,21 L4,21.5 L2,21.5 L2,20 C2,19.447 2.447,19 3,19 L3,19 Z M2,25.5 L4,25.5 L4,23.5 L2,23.5 L2,25.5 Z M4,28 L4.5,28 L4.5,30 L3,30 C2.447,30 2,29.553 2,29 L2,27.5 L4,27.5 L4,28 Z M19.5,30 L22.5,30 L22.5,28 L19.5,28 L19.5,30 Z M31.5,30 L34.5,30 L34.5,28 L31.5,28 L31.5,30 Z M7.5,30 L10.5,30 L10.5,28 L7.5,28 L7.5,30 Z M13.5,30 L16.5,30 L16.5,28 L13.5,28 L13.5,30 Z M37.5,30 L40.5,30 L40.5,28 L37.5,28 L37.5,30 Z M25.5,30 L28.5,30 L28.5,28 L25.5,28 L25.5,30 Z M44,27.5 L46,27.5 L46,29 C46,29.553 45.553,30 45,30 L43.5,30 L43.5,28 L44,28 L44,27.5 Z M4,15 L44,15 L44,7 L4,7 L4,15 Z M45,5 L3,5 C2.447,5 2,5.447 2,6 L2,16 C2,16.553 2.447,17 3,17 L45,17 C45.553,17 46,16.553 46,16 L46,6 C46,5.447 45.553,5 45,5 L45,5 Z\" id=\"Amazon-Simple-Notification-Service_Topic_Resource-Icon_light-bg\" fill=\"#E7157B\"></path>\n </g>\n</svg>";
12640
+ const icon_185 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Application-Integration/Res_Amazon-Simple-Notification-Service_Topic_48</title>\n <g id=\"Icon-Resource/Application-Integration/Res_Amazon-Simple-Notification-Service_Topic_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M44,38.5 L46,38.5 L46,36.5 L44,36.5 L44,38.5 Z M46,33 L46,34.5 L44,34.5 L44,34 L43.5,34 L43.5,32 L45,32 C45.553,32 46,32.447 46,33 L46,33 Z M13.5,34 L16.5,34 L16.5,32 L13.5,32 L13.5,34 Z M37.5,34 L40.5,34 L40.5,32 L37.5,32 L37.5,34 Z M19.5,34 L22.5,34 L22.5,32 L19.5,32 L19.5,34 Z M7.5,34 L10.5,34 L10.5,32 L7.5,32 L7.5,34 Z M31.5,34 L34.5,34 L34.5,32 L31.5,32 L31.5,34 Z M25.5,34 L28.5,34 L28.5,32 L25.5,32 L25.5,34 Z M3,32 L4.5,32 L4.5,34 L4,34 L4,34.5 L2,34.5 L2,33 C2,32.447 2.447,32 3,32 L3,32 Z M2,38.5 L4,38.5 L4,36.5 L2,36.5 L2,38.5 Z M4,41 L4.5,41 L4.5,43 L3,43 C2.447,43 2,42.553 2,42 L2,40.5 L4,40.5 L4,41 Z M19.5,43 L22.5,43 L22.5,41 L19.5,41 L19.5,43 Z M31.5,43 L34.5,43 L34.5,41 L31.5,41 L31.5,43 Z M37.5,43 L40.5,43 L40.5,41 L37.5,41 L37.5,43 Z M7.5,43 L10.5,43 L10.5,41 L7.5,41 L7.5,43 Z M25.5,43 L28.5,43 L28.5,41 L25.5,41 L25.5,43 Z M13.5,43 L16.5,43 L16.5,41 L13.5,41 L13.5,43 Z M44,40.5 L46,40.5 L46,42 C46,42.553 45.553,43 45,43 L43.5,43 L43.5,41 L44,41 L44,40.5 Z M44,25.5 L46,25.5 L46,23.5 L44,23.5 L44,25.5 Z M46,20 L46,21.5 L44,21.5 L44,21 L43.5,21 L43.5,19 L45,19 C45.553,19 46,19.447 46,20 L46,20 Z M31.5,21 L34.5,21 L34.5,19 L31.5,19 L31.5,21 Z M7.5,21 L10.5,21 L10.5,19 L7.5,19 L7.5,21 Z M37.5,21 L40.5,21 L40.5,19 L37.5,19 L37.5,21 Z M13.5,21 L16.5,21 L16.5,19 L13.5,19 L13.5,21 Z M19.5,21 L22.5,21 L22.5,19 L19.5,19 L19.5,21 Z M25.5,21 L28.5,21 L28.5,19 L25.5,19 L25.5,21 Z M3,19 L4.5,19 L4.5,21 L4,21 L4,21.5 L2,21.5 L2,20 C2,19.447 2.447,19 3,19 L3,19 Z M2,25.5 L4,25.5 L4,23.5 L2,23.5 L2,25.5 Z M4,28 L4.5,28 L4.5,30 L3,30 C2.447,30 2,29.553 2,29 L2,27.5 L4,27.5 L4,28 Z M19.5,30 L22.5,30 L22.5,28 L19.5,28 L19.5,30 Z M31.5,30 L34.5,30 L34.5,28 L31.5,28 L31.5,30 Z M7.5,30 L10.5,30 L10.5,28 L7.5,28 L7.5,30 Z M13.5,30 L16.5,30 L16.5,28 L13.5,28 L13.5,30 Z M37.5,30 L40.5,30 L40.5,28 L37.5,28 L37.5,30 Z M25.5,30 L28.5,30 L28.5,28 L25.5,28 L25.5,30 Z M44,27.5 L46,27.5 L46,29 C46,29.553 45.553,30 45,30 L43.5,30 L43.5,28 L44,28 L44,27.5 Z M4,15 L44,15 L44,7 L4,7 L4,15 Z M45,5 L3,5 C2.447,5 2,5.447 2,6 L2,16 C2,16.553 2.447,17 3,17 L45,17 C45.553,17 46,16.553 46,16 L46,6 C46,5.447 45.553,5 45,5 L45,5 Z\" id=\"Amazon-Simple-Notification-Service_Topic_Resource-Icon_light-bg\" fill=\"#E7157B\"></path>\n </g>\n</svg>";
12614
12641
 
12615
- const SqsSvg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Application-Integration/Res_Amazon-Simple-Queue-Service_Queue_48</title>\n <g id=\"Icon-Resource/Application-Integration/Res_Amazon-Simple-Queue-Service_Queue_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M37.449,22.261 L37.449,26.221 L35.026,24.207 L37.449,22.261 Z M37.81,29.121 C37.993,29.273 38.22,29.352 38.449,29.352 C38.594,29.352 38.738,29.321 38.874,29.257 C39.224,29.092 39.449,28.74 39.449,28.352 L39.449,20.176 C39.449,19.791 39.228,19.441 38.882,19.275 C38.535,19.108 38.123,19.156 37.823,19.397 L32.819,23.414 C32.585,23.602 32.448,23.885 32.4449503,24.185 C32.442,24.486 32.575,24.771 32.806,24.963 L37.81,29.121 Z M10.527,22.307 L12.951,24.322 L10.527,26.267 L10.527,22.307 Z M9.095,29.253 C9.232,29.32 9.38,29.352 9.527,29.352 C9.751,29.352 9.972,29.277 10.153,29.132 L15.158,25.115 C15.392,24.927 15.529,24.644 15.5320497,24.344 C15.535,24.043 15.402,23.758 15.171,23.566 L10.166,19.407 C9.868,19.16 9.453,19.107 9.102,19.271 C8.752,19.436 8.527,19.788 8.527,20.176 L8.527,28.352 C8.527,28.737 8.748,29.087 9.095,29.253 L9.095,29.253 Z M28.368,34.027 L30.368,34.027 L30.368,14.747 L28.368,14.747 L28.368,34.027 Z M23.121,34.027 L25.121,34.027 L25.121,14.747 L23.121,14.747 L23.121,34.027 Z M17.711,34.027 L19.711,34.027 L19.711,14.747 L17.711,14.747 L17.711,34.027 Z M3.999,35.773 L43.977,35.773 L43.977,13.001 L3.999,13.001 L3.999,35.773 Z M44.977,11 L3,11 C2.447,11 2,11.448 2,12 L2,36.773 C2,37.325 2.447,37.773 3,37.773 L44.977,37.773 C45.53,37.773 45.977,37.325 45.977,36.773 L45.977,12 C45.977,11.448 45.53,11 44.977,11 L44.977,11 Z\" id=\"Amazon-Simple-Notification-Service_Queue\" fill=\"#E7157B\"></path>\n </g>\n</svg>";
12642
+ const icon_181 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<svg width=\"48px\" height=\"48px\" viewBox=\"0 0 48 48\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n <title>Icon-Resource/Application-Integration/Res_Amazon-Simple-Queue-Service_Queue_48</title>\n <g id=\"Icon-Resource/Application-Integration/Res_Amazon-Simple-Queue-Service_Queue_48\" stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path d=\"M37.449,22.261 L37.449,26.221 L35.026,24.207 L37.449,22.261 Z M37.81,29.121 C37.993,29.273 38.22,29.352 38.449,29.352 C38.594,29.352 38.738,29.321 38.874,29.257 C39.224,29.092 39.449,28.74 39.449,28.352 L39.449,20.176 C39.449,19.791 39.228,19.441 38.882,19.275 C38.535,19.108 38.123,19.156 37.823,19.397 L32.819,23.414 C32.585,23.602 32.448,23.885 32.4449503,24.185 C32.442,24.486 32.575,24.771 32.806,24.963 L37.81,29.121 Z M10.527,22.307 L12.951,24.322 L10.527,26.267 L10.527,22.307 Z M9.095,29.253 C9.232,29.32 9.38,29.352 9.527,29.352 C9.751,29.352 9.972,29.277 10.153,29.132 L15.158,25.115 C15.392,24.927 15.529,24.644 15.5320497,24.344 C15.535,24.043 15.402,23.758 15.171,23.566 L10.166,19.407 C9.868,19.16 9.453,19.107 9.102,19.271 C8.752,19.436 8.527,19.788 8.527,20.176 L8.527,28.352 C8.527,28.737 8.748,29.087 9.095,29.253 L9.095,29.253 Z M28.368,34.027 L30.368,34.027 L30.368,14.747 L28.368,14.747 L28.368,34.027 Z M23.121,34.027 L25.121,34.027 L25.121,14.747 L23.121,14.747 L23.121,34.027 Z M17.711,34.027 L19.711,34.027 L19.711,14.747 L17.711,14.747 L17.711,34.027 Z M3.999,35.773 L43.977,35.773 L43.977,13.001 L3.999,13.001 L3.999,35.773 Z M44.977,11 L3,11 C2.447,11 2,11.448 2,12 L2,36.773 C2,37.325 2.447,37.773 3,37.773 L44.977,37.773 C45.53,37.773 45.977,37.325 45.977,36.773 L45.977,12 C45.977,11.448 45.53,11 44.977,11 L44.977,11 Z\" id=\"Amazon-Simple-Notification-Service_Queue\" fill=\"#E7157B\"></path>\n </g>\n</svg>";
12616
12643
 
12617
- const AzureFunctionSvg = "<svg id=\"a2c88306-fa03-4e5b-b192-401f0b77808b\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><defs><linearGradient id=\"b403aca7-f387-4434-96b4-ae157edc835f\" x1=\"-175.993\" y1=\"-343.723\" x2=\"-175.993\" y2=\"-359.232\" gradientTransform=\"translate(212.573 370.548) scale(1.156 1.029)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#fea11b\" /><stop offset=\"0.284\" stop-color=\"#fea51a\" /><stop offset=\"0.547\" stop-color=\"#feb018\" /><stop offset=\"0.8\" stop-color=\"#ffc314\" /><stop offset=\"1\" stop-color=\"#ffd70f\" /></linearGradient></defs><title>Icon-compute-29</title><g><path d=\"M2.37,7.475H3.2a.267.267,0,0,1,.267.267v6.148a.533.533,0,0,1-.533.533H2.1a0,0,0,0,1,0,0V7.741a.267.267,0,0,1,.267-.267Z\" transform=\"translate(12.507 16.705) rotate(134.919)\" fill=\"#50e6ff\" /><path d=\"M2.325,3.6h.833a.267.267,0,0,1,.267.267v6.583a0,0,0,0,1,0,0H2.591a.533.533,0,0,1-.533-.533V3.865A.267.267,0,0,1,2.325,3.6Z\" transform=\"translate(5.759 0.114) rotate(44.919)\" fill=\"#1490df\" /></g><g><path d=\"M14.53,7.475h.833a.533.533,0,0,1,.533.533v6.148a.267.267,0,0,1-.267.267H14.8a.267.267,0,0,1-.267-.267V7.475a0,0,0,0,1,0,0Z\" transform=\"translate(12.223 -7.555) rotate(45.081)\" fill=\"#50e6ff\" /><path d=\"M15.108,3.6h.833a0,0,0,0,1,0,0v6.583a.267.267,0,0,1-.267.267h-.833a.267.267,0,0,1-.267-.267V4.131a.533.533,0,0,1,.533-.533Z\" transform=\"translate(31.022 1.222) rotate(135.081)\" fill=\"#1490df\" /></g><path d=\"M8.459,9.9H4.87a.193.193,0,0,1-.2-.181.166.166,0,0,1,.018-.075L8.991,1.13a.206.206,0,0,1,.186-.106h4.245a.193.193,0,0,1,.2.181.165.165,0,0,1-.035.1L8.534,7.966h4.928a.193.193,0,0,1,.2.181.176.176,0,0,1-.052.122L5.421,16.788c-.077.046-.624.5-.356-.189h0Z\" fill=\"url(#b403aca7-f387-4434-96b4-ae157edc835f)\" /></svg>";
12644
+ const icon_461 = "<svg id=\"a2c88306-fa03-4e5b-b192-401f0b77808b\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"><defs><linearGradient id=\"b403aca7-f387-4434-96b4-ae157edc835f\" x1=\"-175.993\" y1=\"-343.723\" x2=\"-175.993\" y2=\"-359.232\" gradientTransform=\"translate(212.573 370.548) scale(1.156 1.029)\" gradientUnits=\"userSpaceOnUse\"><stop offset=\"0\" stop-color=\"#fea11b\" /><stop offset=\"0.284\" stop-color=\"#fea51a\" /><stop offset=\"0.547\" stop-color=\"#feb018\" /><stop offset=\"0.8\" stop-color=\"#ffc314\" /><stop offset=\"1\" stop-color=\"#ffd70f\" /></linearGradient></defs><title>Icon-compute-29</title><g><path d=\"M2.37,7.475H3.2a.267.267,0,0,1,.267.267v6.148a.533.533,0,0,1-.533.533H2.1a0,0,0,0,1,0,0V7.741a.267.267,0,0,1,.267-.267Z\" transform=\"translate(12.507 16.705) rotate(134.919)\" fill=\"#50e6ff\" /><path d=\"M2.325,3.6h.833a.267.267,0,0,1,.267.267v6.583a0,0,0,0,1,0,0H2.591a.533.533,0,0,1-.533-.533V3.865A.267.267,0,0,1,2.325,3.6Z\" transform=\"translate(5.759 0.114) rotate(44.919)\" fill=\"#1490df\" /></g><g><path d=\"M14.53,7.475h.833a.533.533,0,0,1,.533.533v6.148a.267.267,0,0,1-.267.267H14.8a.267.267,0,0,1-.267-.267V7.475a0,0,0,0,1,0,0Z\" transform=\"translate(12.223 -7.555) rotate(45.081)\" fill=\"#50e6ff\" /><path d=\"M15.108,3.6h.833a0,0,0,0,1,0,0v6.583a.267.267,0,0,1-.267.267h-.833a.267.267,0,0,1-.267-.267V4.131a.533.533,0,0,1,.533-.533Z\" transform=\"translate(31.022 1.222) rotate(135.081)\" fill=\"#1490df\" /></g><path d=\"M8.459,9.9H4.87a.193.193,0,0,1-.2-.181.166.166,0,0,1,.018-.075L8.991,1.13a.206.206,0,0,1,.186-.106h4.245a.193.193,0,0,1,.2.181.165.165,0,0,1-.035.1L8.534,7.966h4.928a.193.193,0,0,1,.2.181.176.176,0,0,1-.052.122L5.421,16.788c-.077.046-.624.5-.356-.189h0Z\" fill=\"url(#b403aca7-f387-4434-96b4-ae157edc835f)\" /></svg>";
12645
+
12646
+ const coreIcons = {
12647
+ actor: () => Promise.resolve().then(() => actor),
12648
+ boundary: () => Promise.resolve().then(() => Robustness_Diagram_Boundary),
12649
+ control: () => Promise.resolve().then(() => Robustness_Diagram_Control),
12650
+ database: () => Promise.resolve().then(() => database),
12651
+ entity: () => Promise.resolve().then(() => Robustness_Diagram_Entity),
12652
+ cognito: () => import('./assets/Arch_Amazon-Cognito_16-BGlE6NnW.mjs'),
12653
+ elasticbeantalk: () => import('./assets/Arch_AWS-Elastic-Beanstalk_16-BQhSFqRk.mjs'),
12654
+ kinesis: () => import('./assets/Arch_Amazon-Kinesis_16-C_nCVk3q.mjs'),
12655
+ lightsail: () => import('./assets/Arch_Amazon-Lightsail_16-Caj6kl2R.mjs'),
12656
+ sagemaker: () => import('./assets/Arch_Amazon-SageMaker_16-DrLi5pZN.mjs')
12657
+ };
12658
+ const loadCloudIcon = async (key) => {
12659
+ const { cloudIcons } = await import('./assets/CloudIcons-qEDx5IlS.mjs');
12660
+ return cloudIcons[key] ?? null;
12661
+ };
12662
+ const loadIcon = async (iconKey) => {
12663
+ if (!iconKey) return null;
12664
+ const normalizedKey = iconKey.toLowerCase();
12665
+ const coreLoader = coreIcons[iconKey] ?? coreIcons[normalizedKey];
12666
+ if (coreLoader) {
12667
+ return (await coreLoader()).default;
12668
+ }
12669
+ return loadCloudIcon(normalizedKey);
12670
+ };
12618
12671
 
12619
12672
  const PRESENTATION_ATTRIBUTES = /* @__PURE__ */ new Set([
12620
12673
  "fill",
@@ -12648,20 +12701,41 @@ function parseRawSvg(raw) {
12648
12701
  const ICONS = {
12649
12702
  actor: parseRawSvg(ActorSvg),
12650
12703
  database: parseRawSvg(DatabaseSvg),
12651
- ec2: parseRawSvg(Ec2Svg),
12652
- lambda: parseRawSvg(LambdaSvg),
12653
- azurefunction: parseRawSvg(AzureFunctionSvg),
12654
- sqs: parseRawSvg(SqsSvg),
12655
- sns: parseRawSvg(SnsSvg),
12656
- iam: parseRawSvg(IamSvg),
12704
+ ec2: parseRawSvg(icon_374),
12705
+ lambda: parseRawSvg(icon_372),
12706
+ azurefunction: parseRawSvg(icon_461),
12707
+ sqs: parseRawSvg(icon_181),
12708
+ sns: parseRawSvg(icon_185),
12709
+ iam: parseRawSvg(icon_160),
12657
12710
  boundary: parseRawSvg(BoundarySvg),
12658
12711
  control: parseRawSvg(ControlSvg),
12659
12712
  entity: parseRawSvg(EntitySvg)
12660
12713
  };
12714
+ const loadedIcons = /* @__PURE__ */ new Map();
12715
+ const iconLoads = /* @__PURE__ */ new Map();
12716
+ function loadExtraIcon(key) {
12717
+ let load = iconLoads.get(key);
12718
+ if (!load) {
12719
+ load = loadIcon(key).then((raw) => {
12720
+ if (raw) loadedIcons.set(key, parseRawSvg(raw));
12721
+ }).catch(() => {
12722
+ });
12723
+ iconLoads.set(key, load);
12724
+ }
12725
+ return load;
12726
+ }
12727
+ async function ensureDiagramIconsLoaded(code) {
12728
+ const keys = /* @__PURE__ */ new Set();
12729
+ for (const match of code.matchAll(/@([A-Za-z][\w]*)/g)) {
12730
+ const key = match[1].toLowerCase();
12731
+ if (!ICONS[key]) keys.add(key);
12732
+ }
12733
+ await Promise.all([...keys].map(loadExtraIcon));
12734
+ }
12661
12735
  function getIcon(type) {
12662
12736
  if (!type) return void 0;
12663
12737
  const key = type.toLowerCase();
12664
- return ICONS[key];
12738
+ return ICONS[key] ?? loadedIcons.get(key);
12665
12739
  }
12666
12740
 
12667
12741
  function esc(s) {
@@ -13931,6 +14005,7 @@ async function renderMarkdownFile(inputArg, args, config) {
13931
14005
  const imageFilePath = join(imageDir, imageFilename);
13932
14006
  let result;
13933
14007
  try {
14008
+ await ensureDiagramIconsLoaded(block.code);
13934
14009
  result = renderToSvg(block.code, renderOptions);
13935
14010
  } catch (err) {
13936
14011
  throw new Error(
@@ -14191,6 +14266,7 @@ async function renderOneFile(inputArg, args, config) {
14191
14266
  let svgWidth;
14192
14267
  let svgHeight;
14193
14268
  try {
14269
+ await ensureDiagramIconsLoaded(code);
14194
14270
  const result = renderToSvg(code, renderOptions);
14195
14271
  svg = result.svg;
14196
14272
  svgWidth = result.width;
@@ -14336,5 +14412,5 @@ if (import.meta.main) {
14336
14412
  main().finally(() => closeBrowser());
14337
14413
  }
14338
14414
 
14339
- export { extractZenumlBlocks, startWatchMode };
14415
+ export { icon_374 as a, icon_372 as b, icon_185 as c, icon_181 as d, icon_160 as e, extractZenumlBlocks, icon_461 as i, startWatchMode };
14340
14416
  //# sourceMappingURL=zenuml.mjs.map