@zenuml/core 2.0.17 → 2.0.19

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.
package/.eslintrc.json ADDED
File without changes
package/README.md CHANGED
@@ -52,23 +52,10 @@ tunnels for this.
52
52
 
53
53
  ### Cloudflare tunnels [for collaborators only]
54
54
 
55
- 1. Request a subdomain from the team. For example, `air.zenuml.com`.
56
- 2. You will be given a command that install a service locally. Run it.
57
- 3. Your localhost:8080 will be available at `air.zenuml.com`.
58
- 4. Add your subdomain to `vue.config.js` so that it is allowed to access the dev server.
59
-
60
- ```js
61
- devServer: {
62
- allowedHosts: "all",
63
- historyApiFallback: true,
64
- hot: true,
65
- host: '0.0.0.0',
66
- port: 8080,
67
- client: {
68
- webSocketURL: 'auto://0.0.0.0:0/ws',
69
- }
70
- }
71
- ```
55
+ 1. Start your local dev server at `8080` with `pnpm dev`.
56
+ 2. Request a subdomain from the team. For example, `air.zenuml.com`.
57
+ 3. You will be given a command that install a service locally. Run it.
58
+ 4. Your localhost:8080 will be available at `air.zenuml.com`.
72
59
 
73
60
  # Code Structure
74
61
  This repository contains both the DSL parser and the renderer.
@@ -78,4 +65,3 @@ Parser enhancement with customised functionalities is in the `src/parser` folder
78
65
 
79
66
  Almost everything else under serc are for the renderer. The render is based on VueJs 2.x.
80
67
 
81
- The building version of node must be v14. The latest version of node is not supported.
package/README_CN.md CHANGED
@@ -13,5 +13,3 @@ DSL解析器是基于Antlr4构建的。其定义文件位于`src/g4`。生成的
13
13
  对解析器的增强相关的代码位于`src/parser`文件夹。
14
14
 
15
15
  所有其他的文件基本上都是跟渲染器相关的。渲染器是基于VueJs 2.x开发的。
16
-
17
- 必须使用 node v14 进行编译,新版本的 node 会导致编译失败。
@@ -0,0 +1,38 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>vue-sequence smoke 1</title>
8
+ <style>
9
+ body {
10
+ margin: 0; /* mostly for demo on mobile */
11
+ }
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <div id="diagram" class="diagram">
16
+ <pre class="zenuml">title Title 1
17
+ A.m1 {
18
+ new B(1,2,3,4) {
19
+ if(x) {
20
+ C.m2
21
+ }
22
+ while(y) {
23
+ D.m3
24
+ }
25
+ par {
26
+ E.m4
27
+ F.m5
28
+ }
29
+ opt {
30
+ G.m6
31
+ }
32
+ }
33
+ }</pre>
34
+ </div>
35
+ <!-- built files will be auto injected -->
36
+ <script type="module" src="/src/main.ts"></script>
37
+ </body>
38
+ </html>
@@ -0,0 +1,24 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>vue-sequence smoke 1</title>
8
+ <style>
9
+ body {
10
+ margin: 0; /* mostly for demo on mobile */
11
+ }
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <div id="diagram" class="diagram">
16
+ <pre class="zenuml">title Title 1
17
+ A.m {
18
+ new B(1,2,3,4)
19
+ }</pre>
20
+ </div>
21
+ <!-- built files will be auto injected -->
22
+ <script type="module" src="/src/main.ts"></script>
23
+ </body>
24
+ </html>
@@ -0,0 +1,36 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>vue-sequence smoke 1</title>
8
+ <style>
9
+ body {
10
+ margin: 0; /* mostly for demo on mobile */
11
+ }
12
+ </style>
13
+ </head>
14
+ <body>
15
+
16
+ <div id="diagram" class="diagram">
17
+ <pre class="zenuml">
18
+ // This sample is carefully crafted. It shows a known issues: fragment stretched to
19
+ // svc (should not), because parser thinks the return statement returns to svc.
20
+ group G {@VPC svc @RDS rep} Client
21
+ Client->SGW."Get order by id" {
22
+ svc.Get(id) {
23
+ rep."load order" {
24
+ if(order == null) {
25
+ @return
26
+ SGW->Client:401
27
+ }
28
+ }
29
+ }
30
+ }</pre>
31
+
32
+ </div>
33
+ <!-- built files will be auto injected -->
34
+ <script type="module" src="/src/main.ts"></script>
35
+ </body>
36
+ </html>
@@ -0,0 +1,40 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>vue-sequence smoke 1</title>
8
+ <style>
9
+ body {
10
+ margin: 0; /* mostly for demo on mobile */
11
+ }
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <div id="diagram" class="diagram">
16
+ <pre class="zenuml">
17
+ if(x) {
18
+ loop(y) {
19
+ try {
20
+ par {
21
+ A.m();
22
+ B.m();
23
+ }
24
+ } catch(e) {
25
+ opt {
26
+ new C
27
+ }
28
+ } finally {
29
+ C.m
30
+ }
31
+ }
32
+ }
33
+ </pre>
34
+
35
+ </div>
36
+
37
+ <!-- built files will be auto injected -->
38
+ <script type="module" src="/src/main.ts"></script>
39
+ </body>
40
+ </html>
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>vue-sequence smoke 1</title>
8
+ <style>
9
+ body {
10
+ margin: 0; /* mostly for demo on mobile */
11
+ }
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <div id="diagram" class="diagram">
16
+ <pre class="zenuml">if(x) {
17
+ A.method() {
18
+ B.method() {
19
+ BSelfMethod00000000000
20
+ A.method()
21
+ }
22
+ ASelf {
23
+ B->A.method
24
+ }
25
+ }
26
+ }</pre>
27
+
28
+ </div>
29
+
30
+ <!-- built files will be auto injected -->
31
+ <script type="module" src="/src/main.ts"></script>
32
+ </body>
33
+ </html>
@@ -0,0 +1,37 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>vue-sequence smoke 1</title>
8
+ <style>
9
+ body {
10
+ margin: 0; /* mostly for demo on mobile */
11
+ }
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <div id="diagram" class="diagram">
16
+ <pre class="zenuml">
17
+ Browser->BookController.onPost() {
18
+ BookLibService.Borrow(id) {
19
+ receipt = process(id)
20
+ if (receipt != null) {
21
+ return receipt
22
+ @return BookController->Browser: receipt
23
+ } else {
24
+ return null
25
+ @return BookController->Browser: 404
26
+ }
27
+ self() {
28
+ return a_long_value_from_self_call
29
+ }
30
+ }
31
+ }
32
+ </pre>
33
+ </div>
34
+ <!-- built files will be auto injected -->
35
+ <script type="module" src="/src/main.ts"></script>
36
+ </body>
37
+ </html>
package/cy/smoke.html ADDED
@@ -0,0 +1,42 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>vue-sequence smoke 1</title>
8
+ <style>
9
+ body {
10
+ margin: 0; /* mostly for demo on mobile */
11
+ }
12
+ </style>
13
+ </head>
14
+ <body>
15
+ <div id="diagram" class="diagram">
16
+ <pre class="zenuml">
17
+
18
+ title ABCD Title
19
+ // Generating Sequence Diagrams from Java code is experimental.
20
+ // Please report errors to https://github.com/ZenUml/jetbrains-zenuml/discussions
21
+ MarkdownJavaFxHtmlPanel
22
+ MarkdownJavaFxHtmlPanel.readFromInputStream(inputStream) {
23
+ StringBuilder resultStringBuilder = new StringBuilder();
24
+ try {
25
+ // String line;
26
+ while((line = br.readLine()) != null) {
27
+ resultStringBuilder.append(line);
28
+ }
29
+ }
30
+ catch(IOException) {
31
+ return "";
32
+ }
33
+ return "resultStringBuilder.toString()";
34
+ }
35
+
36
+ </pre>
37
+ </div>
38
+ <!-- built files will be auto injected -->
39
+ <script type="module" src="/src/main.ts"></script>
40
+
41
+ </body>
42
+ </html>
@@ -0,0 +1,14 @@
1
+ import { defineConfig } from 'cypress'
2
+
3
+ export default defineConfig({
4
+ projectId: 'srixxa',
5
+ e2e: {
6
+ // We've imported your old cypress plugins here.
7
+ // You may want to clean this up later by importing these.
8
+ setupNodeEvents(on, config) {
9
+ return require('./cypress/plugins/index.js')(on, config)
10
+ },
11
+ excludeSpecPattern: ['**/__snapshots__/*', '**/__image_snapshots__/*'],
12
+ specPattern: 'cypress/e2e/**/*.{js,jsx,ts,tsx}',
13
+ },
14
+ })
package/dist/CNAME.txt ADDED
@@ -0,0 +1 @@
1
+ embed.zenuml.com
@@ -0,0 +1,50 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
7
+ <title>ZenUML</title>
8
+ <link rel="stylesheet"
9
+ href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/10.1.1/styles/default.min.css" crossOrigin="anonymous">
10
+ <script src="https://cdn.jsdelivr.net/npm/codemirror@5.65.1/lib/codemirror.min.js"></script>
11
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.65.1/codemirror.min.css" crossOrigin="anonymous" integrity="sha512-uf06llspW44/LZpHzHT6qBOIVODjWtv4MxCricRxkzvopAlSWnTf6hpZTFxuuZcuNE9CBQhqE0Seu1CoRk84nQ==" crossorigin="anonymous" referrerpolicy="no-referrer" />
12
+ <script src="https://cdn.tailwindcss.com"></script>
13
+ <style>
14
+ .container-iframe {
15
+ overflow-y: scroll;
16
+ scrollbar-width: none; /* Firefox */
17
+ -ms-overflow-style: none; /* Internet Explorer 10+ */
18
+ }
19
+ .container-iframe::-webkit-scrollbar { /* WebKit */
20
+ width: 0;
21
+ height: 0;
22
+ }
23
+ .CodeMirror {
24
+ height: 100%;
25
+ }
26
+ </style>
27
+ </head>
28
+ <body class="h-screen">
29
+ <div class="m-1 flex h-full w-full" id="diagram1">
30
+ <div class="editor w-96 h-full shrink-0">
31
+ <textarea id="text" class="col-span-1 m-1 border-2" cols="30" rows="200"></textarea>
32
+ </div>
33
+ <div class="viewer grow bg-gray-50">
34
+ <iframe id="embed" src="embed.html" class="container-iframe" scrolling="no" style="width: 100%; height: 100%; border: none;">
35
+
36
+ </iframe>
37
+ </div>
38
+ </div>
39
+ <script>
40
+ const editor = CodeMirror.fromTextArea(document.getElementById("text"), {
41
+ lineNumbers: true
42
+ });
43
+ editor.on("change", function(cm) {
44
+ const iframe = document.getElementById('embed');
45
+ iframe.contentWindow.postMessage({action: 'eval', args: { code: cm.getValue()}}, '*');
46
+ });
47
+ </script>
48
+
49
+ </body>
50
+ </html>
Binary file
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .tooltip[data-v-40ab6ae6]{cursor:pointer;position:relative;display:block;width:100%;text-align:center;z-index:10}.tooltip span[data-v-40ab6ae6]{border-bottom:1px dotted}.tooltip[data-v-40ab6ae6]:after{display:none;content:attr(data-tooltip);background:#e8e9e9;max-width:500px;width:200px;position:absolute;left:-200px;right:0;margin:auto;opacity:0;height:auto;font-size:14px;padding:10px;border-radius:4px;color:#111;text-align:left}.tooltip.bottom[data-v-40ab6ae6]:after{top:80%;transition:opacity .3s ease .3s,top .3s cubic-bezier(.175,.885,.32,1.275) .3s}.tooltip.bottom[data-v-40ab6ae6]:hover:after{display:block;top:130%;opacity:1}.lifeline .line[data-v-cf0ddcfa]{background-size:1px 20px}.interaction{border:dashed transparent;border-width:0 7px}.interaction:hover{cursor:pointer}.message{position:relative}.message>.name{text-align:center}.interaction.right-to-left>.occurrence{left:-14px}.interaction.self>.occurrence{left:-8px;margin-top:-10px}.fragment{border-width:1px;margin:8px 0 0;padding-bottom:10px}.sequence-diagram *{box-sizing:inherit}.sequence-diagram{line-height:normal}.participant{border-width:2px;padding:8px 4px;min-width:88px;max-width:250px;text-align:center}.no-fill svg.arrow polyline[data-v-940a53d6]{fill:none!important}.async>.message>.point>svg.arrow>polyline[data-v-940a53d6]{fill:none}.right-to-left.point[data-v-940a53d6]{left:0;right:auto}.right-to-left.point>svg>polyline.right[data-v-940a53d6]{display:none}.right-to-left.point>svg>polyline.left[data-v-940a53d6]{display:inline}.point>svg>polyline.left[data-v-940a53d6]{display:none}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}:root{--color-bg-base: #FFF;--color-text-base: #000;--color-text-secondary: #333;--color-border-base: #000}.theme-default{--color-text-base: #222;--color-border-base: #666;--color-message-arrow: #000;--color-bg-occurrence: #DEDEDE}.theme-mermaid .footer{visibility:hidden}.theme-coles .footer{background-color:#fff}.theme-anz .fragment .header{color:#fff}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::-webkit-backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.zenuml .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.zenuml .pointer-events-none{pointer-events:none}.zenuml .pointer-events-auto{pointer-events:auto}.zenuml .invisible{visibility:hidden}.zenuml .fixed{position:fixed}.zenuml .absolute{position:absolute}.zenuml .relative{position:relative}.zenuml .inset-0{top:0px;right:0px;bottom:0px;left:0px}.zenuml .bottom-1{bottom:.25rem}.zenuml .left-1{left:.25rem}.zenuml .right-1{right:.25rem}.zenuml .left-1\/2{left:50%}.zenuml .right-0{right:0px}.zenuml .left-full{left:100%}.zenuml .z-40{z-index:40}.zenuml .z-10{z-index:10}.zenuml .col-span-2{grid-column:span 2 / span 2}.zenuml .col-span-1{grid-column:span 1 / span 1}.zenuml .col-span-4{grid-column:span 4 / span 4}.zenuml .float-right{float:right}.zenuml .m-1{margin:.25rem}.zenuml .m-2{margin:.5rem}.zenuml .m-auto{margin:auto}.zenuml .mx-auto{margin-left:auto;margin-right:auto}.zenuml .mx-2{margin-left:.5rem;margin-right:.5rem}.zenuml .-my-px{margin-top:-1px;margin-bottom:-1px}.zenuml .ml-4{margin-left:1rem}.zenuml .mt-3{margin-top:.75rem}.zenuml .mt-4{margin-top:1rem}.zenuml .mb-4{margin-bottom:1rem}.zenuml .mt-8{margin-top:2rem}.zenuml .-mt-12{margin-top:-3rem}.zenuml .mt-1{margin-top:.25rem}.zenuml .mt-2{margin-top:.5rem}.zenuml .box-border{box-sizing:border-box}.zenuml .block{display:block}.zenuml .inline-block{display:inline-block}.zenuml .inline{display:inline}.zenuml .flex{display:flex}.zenuml .inline-flex{display:inline-flex}.zenuml .table{display:table}.zenuml .grid{display:grid}.zenuml .contents{display:contents}.zenuml .hidden{display:none}.zenuml .h-10{height:2.5rem}.zenuml .h-5{height:1.25rem}.zenuml .h-0{height:0px}.zenuml .h-screen{height:100vh}.zenuml .h-full{height:100%}.zenuml .h-4{height:1rem}.zenuml .h-6{height:1.5rem}.zenuml .h-12{height:3rem}.zenuml .h-8{height:2rem}.zenuml .h-14{height:3.5rem}.zenuml .h-3{height:.75rem}.zenuml .min-h-screen{min-height:100vh}.zenuml .w-full{width:100%}.zenuml .w-96{width:24rem}.zenuml .w-28{width:7rem}.zenuml .w-4{width:1rem}.zenuml .w-6{width:1.5rem}.zenuml .w-8{width:2rem}.zenuml .w-11\/12{width:91.666667%}.zenuml .w-px{width:1px}.zenuml .w-3{width:.75rem}.zenuml .min-w-\[100px\]{min-width:100px}.zenuml .max-w-full{max-width:100%}.zenuml .max-w-7xl{max-width:80rem}.zenuml .flex-shrink-0,.zenuml .shrink-0{flex-shrink:0}.zenuml .flex-grow,.zenuml .grow{flex-grow:1}.zenuml .origin-top-left{transform-origin:top left}.zenuml .-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zenuml .-translate-y-full{--tw-translate-y: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zenuml .-translate-y-8{--tw-translate-y: -2rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zenuml .-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zenuml .-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zenuml .translate-y-1\/2{--tw-translate-y: 50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zenuml .transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.zenuml .resize{resize:both}.zenuml .grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.zenuml .grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.zenuml .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.zenuml .flex-row-reverse{flex-direction:row-reverse}.zenuml .flex-col{flex-direction:column}.zenuml .flex-nowrap{flex-wrap:nowrap}.zenuml .items-start{align-items:flex-start}.zenuml .items-end{align-items:flex-end}.zenuml .items-center{align-items:center}.zenuml .justify-center{justify-content:center}.zenuml .justify-between{justify-content:space-between}.zenuml .justify-around{justify-content:space-around}.zenuml .gap-5{gap:1.25rem}.zenuml .overflow-hidden{overflow:hidden}.zenuml .overflow-visible{overflow:visible}.zenuml .overflow-y-auto{overflow-y:auto}.zenuml .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zenuml .whitespace-normal{white-space:normal}.zenuml .whitespace-nowrap{white-space:nowrap}.zenuml .rounded{border-radius:.25rem}.zenuml .rounded-sm{border-radius:.125rem}.zenuml .rounded-md{border-radius:.375rem}.zenuml .rounded-lg{border-radius:.5rem}.zenuml .rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.zenuml .rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.zenuml .rounded-b-md{border-bottom-right-radius:.375rem;border-bottom-left-radius:.375rem}.zenuml .border-2{border-width:2px}.zenuml .border{border-width:1px}.zenuml .border-b-2{border-bottom-width:2px}.zenuml .border-b{border-bottom-width:1px}.zenuml .border-t{border-top-width:1px}.zenuml .border-r{border-right-width:1px}.zenuml .border-solid{border-style:solid}.zenuml .border-dashed{border-style:dashed}.zenuml .border-red-900{--tw-border-opacity: 1;border-color:rgb(127 29 29 / var(--tw-border-opacity))}.zenuml .border-skin-frame{border-color:var(--color-border-frame, var(--color-border-base, #000))}.zenuml .border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity))}.zenuml .border-skin-participant{border-color:var(--color-border-participant, var(--color-border-frame, var(--color-border-base, #000)))}.zenuml .border-transparent{border-color:transparent}.zenuml .border-skin-fragment{border-color:var(--color-border-fragment, var(--color-border-frame, var(--color-border-base, #000)))}.zenuml .border-skin-message-arrow{border-color:var(--color-message-arrow, var(--color-border-frame, var(--color-border-base, #000)))}.zenuml .border-skin-occurrence{border-color:var(--color-border-occurrence, var(--color-border-frame, var(--color-border-base, #000)))}.zenuml .bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity))}.zenuml .bg-skin-canvas{background-color:var(--color-bg-canvas, var(--color-bg-base, #fff))}.zenuml .bg-skin-frame{background-color:var(--color-bg-frame, var(--color-bg-canvas, var(--color-bg-base, #fff)))}.zenuml .bg-skin-title{background-color:var(--color-bg-title, var(--color-bg-frame, var(--color-bg-canvas, var(--color-bg-base, #fff))))}.zenuml .bg-skin-base{background-color:var(--color-bg-base)}.zenuml .bg-green-200{--tw-bg-opacity: 1;background-color:rgb(187 247 208 / var(--tw-bg-opacity))}.zenuml .bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.zenuml .bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity))}.zenuml .bg-skin-lifeline{background-color:var(--color-border-participant, var(--color-border-participant, var(--color-border-frame, var(--color-border-base, #000))))}.zenuml .bg-skin-participant{background-color:var(--color-bg-participant, var(--color-bg-frame, var(--color-bg-canvas, var(--color-bg-base, #fff))))}.zenuml .bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity))}.zenuml .bg-skin-divider{background-color:var(--color-border-participant, var(--color-border-frame, var(--color-border-base, #000)))}.zenuml .bg-skin-fragment-header{background-color:var(--color-bg-fragment-header, transparent)}.zenuml .bg-skin-occurrence{background-color:var(--color-bg-occurrence, var(--color-bg-participant, var(--color-bg-frame, var(--color-bg-canvas, var(--color-bg-base, #fff)))))}.zenuml .bg-opacity-75{--tw-bg-opacity: .75}.zenuml .fill-current{fill:currentColor}.zenuml .fill-none{fill:none}.zenuml .stroke-current{stroke:currentColor}.zenuml .stroke-2{stroke-width:2}.zenuml .object-contain{object-fit:contain}.zenuml .p-1{padding:.25rem}.zenuml .p-2{padding:.5rem}.zenuml .p-0{padding:0}.zenuml .px-1{padding-left:.25rem;padding-right:.25rem}.zenuml .px-3{padding-left:.75rem;padding-right:.75rem}.zenuml .py-1{padding-top:.25rem;padding-bottom:.25rem}.zenuml .px-2{padding-left:.5rem;padding-right:.5rem}.zenuml .py-2{padding-top:.5rem;padding-bottom:.5rem}.zenuml .px-4{padding-left:1rem;padding-right:1rem}.zenuml .py-5{padding-top:1.25rem;padding-bottom:1.25rem}.zenuml .px-px{padding-left:1px;padding-right:1px}.zenuml .pb-8{padding-bottom:2rem}.zenuml .pt-8{padding-top:2rem}.zenuml .pt-4{padding-top:1rem}.zenuml .pb-20{padding-bottom:5rem}.zenuml .pb-4{padding-bottom:1rem}.zenuml .pb-32{padding-bottom:8rem}.zenuml .pb-2{padding-bottom:.5rem}.zenuml .pr-24{padding-right:6rem}.zenuml .pt-24{padding-top:6rem}.zenuml .pb-10{padding-bottom:2.5rem}.zenuml .text-left{text-align:left}.zenuml .text-center{text-align:center}.zenuml .align-bottom{vertical-align:bottom}.zenuml .text-xs{font-size:.75rem;line-height:1rem}.zenuml .text-sm{font-size:.875rem;line-height:1.25rem}.zenuml .text-base{font-size:1rem;line-height:1.5rem}.zenuml .text-xl{font-size:1.25rem;line-height:1.75rem}.zenuml .text-lg{font-size:1.125rem;line-height:1.75rem}.zenuml .font-bold{font-weight:700}.zenuml .font-semibold{font-weight:600}.zenuml .font-medium{font-weight:500}.zenuml .italic{font-style:italic}.zenuml .leading-6{line-height:1.5rem}.zenuml .leading-4{line-height:1rem}.zenuml .text-skin-title{color:var(--color-text-title, var(--color-text-message, var(--color-text-base, #000)))}.zenuml .text-skin-control{color:var(--color-text-control, var(--color-text-secondary, var(--color-text-base, #000)))}.zenuml .text-skin-link{color:var(--color-text-link, var(--color-text-secondary, var(--color-text-base, #000)))}.zenuml .text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity))}.zenuml .text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.zenuml .text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity))}.zenuml .text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity))}.zenuml .text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.zenuml .text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.zenuml .text-skin-base{color:var(--color-text-base)}.zenuml .text-skin-participant{color:var(--color-text-participant, var(--color-text-message, var(--color-text-base, #000)))}.zenuml .text-skin-message{color:var(--color-text-message, var(--color-text-base, #000))}.zenuml .text-skin-comment{color:var(--color-text-comment, var(--color-text-secondary, var(--color-text-base, #000)))}.zenuml .text-skin-fragment-header{color:var(--color-text-fragment-header, var(--color-text-message, #000))}.zenuml .text-skin-fragment{color:var(--color-text-fragment, var(--color-text-message, #000))}.zenuml .text-skin-message-arrow{color:var(--color-message-arrow, var(--color-border-frame, var(--color-border-base, #000)))}.zenuml .opacity-50{opacity:.5}.zenuml .shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.zenuml .shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.zenuml .shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.zenuml .shadow-slate-500\/50{--tw-shadow-color: rgb(100 116 139 / .5);--tw-shadow: var(--tw-shadow-colored)}.zenuml .blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.zenuml .grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.zenuml .filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.zenuml .transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.zenuml .transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.zenuml .transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.zenuml .hover\:whitespace-normal:hover{white-space:normal}.zenuml .hover\:bg-yellow-300:hover{--tw-bg-opacity: 1;background-color:rgb(253 224 71 / var(--tw-bg-opacity))}.zenuml .hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity))}.zenuml .hover\:bg-skin-message-hover:hover{background-color:var(--color-bg-message-hover, var(--color-text-base, #000))}.zenuml .hover\:text-gray-600:hover{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.zenuml .hover\:text-gray-500:hover{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.zenuml .hover\:text-skin-message-hover:hover{color:var(--color-text-message-hover, var(--color-bg-base, #fff))}.zenuml .hover\:opacity-100:hover{opacity:1}.zenuml .focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.zenuml .focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.zenuml .focus\:ring-inset:focus{--tw-ring-inset: inset}.zenuml .focus\:ring-indigo-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(99 102 241 / var(--tw-ring-opacity))}.zenuml .group:hover .group-hover\:flex{display:flex}@media (min-width: 640px){.zenuml .sm\:my-8{margin-top:2rem;margin-bottom:2rem}.zenuml .sm\:block{display:block}.zenuml .sm\:inline-block{display:inline-block}.zenuml .sm\:h-screen{height:100vh}.zenuml .sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.zenuml .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.zenuml .sm\:gap-6{gap:1.5rem}.zenuml .sm\:p-2{padding:.5rem}.zenuml .sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.zenuml .sm\:align-middle{vertical-align:middle}}@media (min-width: 1024px){.zenuml .lg\:mx-auto{margin-left:auto;margin-right:auto}.zenuml .lg\:mx-0{margin-left:0;margin-right:0}.zenuml .lg\:max-w-none{max-width:none}.zenuml .lg\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.zenuml .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.zenuml .lg\:px-8{padding-left:2rem;padding-right:2rem}}.zenuml .\[\&\>svg\]\:h-full>svg{height:100%}.zenuml .\[\&\>svg\]\:w-full>svg{width:100%}.zenuml{font-family:Helvetica,Verdana,serif;font-size:16px}.zenuml .frame .sequence-diagram .comments code{background-color:#f9f2f4;padding:2px;margin:1px 0;border-radius:2px}.zenuml .frame .sequence-diagram .comments .rest-api .http-method-post{color:#0d4b3b}.zenuml .frame .sequence-diagram .comments .rest-api .http-method-get{color:#2f3d89}.zenuml .frame .sequence-diagram .comments .rest-api .http-method-delete{color:#7e1e23}.zenuml .frame .sequence-diagram .comments ol,.zenuml .frame .sequence-diagram .comments ul{margin:0;padding-left:20px}.zenuml .frame .sequence-diagram .comments ul li{list-style-type:none}.zenuml .frame .sequence-diagram .comments ul li input[type=checkbox]{margin-left:-1em}.zenuml .frame .sequence-diagram .comments table{border-collapse:collapse;border-spacing:0;empty-cells:show;border-color:#cbcbcb}.zenuml .frame .sequence-diagram .comments table td,.zenuml .frame .sequence-diagram .comments table th{padding:.5em}.zenuml .frame .sequence-diagram .comments table thead{background-color:#e0e0e0}.zenuml .frame .sequence-diagram .comments table td{background-color:transparent}.theme-blue .sequence-diagram .divider .name{border-radius:4px;border:1px solid #E28553;color:#e28553}.theme-blue .sequence-diagram .divider .left,.theme-blue .sequence-diagram .divider .right{background:#E28553}.theme-blue .sequence-diagram .lifeline .participant{border-color:#032c72;background:rgba(146,192,240,.3)}.theme-blue .sequence-diagram .lifeline .participant label{color:#032c72}.theme-blue .sequence-diagram .lifeline .line{border-left-color:#032c72}.theme-blue .sequence-diagram .message{border-bottom-color:#032c72}.theme-blue .sequence-diagram .message .name{color:#032c72}.theme-blue .sequence-diagram .message svg polyline{stroke:#032c72}.theme-blue .sequence-diagram .message svg polyline.head{fill:#032c72}.theme-blue .sequence-diagram .occurrence{border-color:#032c72;background-color:#fff}.theme-blue .sequence-diagram .fragment{border-radius:4px;border-color:#042e6e4d}.theme-blue .sequence-diagram .fragment .header .name{background:rgba(4,46,110,.1)}.theme-blue .sequence-diagram .fragment .header label{color:#032c72}.theme-black-white .sequence-diagram .divider .name{border-radius:0;border-color:#000;box-shadow:2px 2px #000}.theme-black-white .sequence-diagram .divider .left,.theme-black-white .sequence-diagram .divider .right{background:#000}.theme-black-white .sequence-diagram .lifeline .participant{border-color:#000;background:#fff;box-shadow:2px 2px #000}.theme-black-white .sequence-diagram .lifeline .line{border-left-color:#0006}.theme-black-white .sequence-diagram .message{border-bottom-color:#000}.theme-black-white .sequence-diagram .message .name{color:#000}.theme-black-white .sequence-diagram .message svg polyline{stroke:#000}.theme-black-white .sequence-diagram .message svg polyline.head{fill:#000}.theme-black-white .sequence-diagram .occurrence{border-color:#000;background-color:#f5f5f5}.theme-black-white .sequence-diagram .fragment{border-color:#0000004d}.theme-black-white .sequence-diagram .fragment .header .name{background:rgba(0,0,0,.07)}.theme-star-uml .sequence-diagram .lifeline .participant{border-color:#b94065;background-color:#fffec8}.theme-star-uml .sequence-diagram .lifeline .line{border-left-color:#b94065}.theme-star-uml .sequence-diagram .message{border-bottom-color:#b94065}.theme-star-uml .sequence-diagram .message svg polyline{stroke:#b94065}.theme-star-uml .sequence-diagram .message svg polyline.head{fill:#b94065}.theme-star-uml .sequence-diagram .occurrence{background-color:#fffec8;border-color:#b94065}.blue-river .sequence-diagram{color:#5452f6}.blue-river .sequence-diagram .life-line-layer .lifeline.actor .participant:before{filter:invert(100%) sepia(0%) saturate(0%) hue-rotate(93deg) brightness(103%) contrast(103%)}.blue-river .sequence-diagram .life-line-layer .participant{background:#2097F7;box-shadow:4px 4px #83c4f8;border-radius:9px;color:#fff}.blue-river .sequence-diagram .life-line-layer .participant .interface{font-size:.8em}.blue-river .sequence-diagram .life-line-layer .line{border-left-color:#2097f7}.blue-river .sequence-diagram .message-layer .message{border-bottom-color:#2097f7}.blue-river .sequence-diagram .message-layer .message svg.arrow polyline{stroke:#2097f7;fill:#2097f7}.blue-river .sequence-diagram .message-layer .message.self svg.arrow polyline{fill:none}.blue-river .sequence-diagram .message-layer .message.self svg.arrow polyline.head{fill:#2097f7}.blue-river .sequence-diagram .message-layer .occurrence{background:#E5FDE8;border-color:#65bf73;box-shadow:4px 4px #93c69b}.blue-river .sequence-diagram .message-layer .fragment{border-color:#2097f7}.blue-river .sequence-diagram .message-layer .fragment .header .name label{display:inline-block;min-width:50px;background:#5452F6;color:#fff;padding:2px 0 2px 10px}.blue-river .sequence-diagram .message-layer .fragment .header .name:after{content:"SO";display:inline-block;background:#5452F6;margin-left:-23px;width:34px;transform:translateY(-2px);height:22px;-webkit-clip-path:polygon(66% 0,100% 0,100% 66%,66% 100%);clip-path:polygon(66% 0,100% 0,100% 66%,66% 100%)}.blue-river .sequence-diagram .message-layer .fragment .header>label{display:inline-block;min-width:50px;font-weight:700;color:#fff;background:#65BF73}.blue-river .sequence-diagram .message-layer .fragment .comments{border-color:inherit}.blue-river .sequence-diagram .message-layer .fragment .divider{border-bottom-color:inherit}:root{--background: #282a36;--hover: #2b2b2b;--occurance-border: #6e7191;--border: #585b74;--white: #f8f8f2;--current: #44475a;--comment: #6272a4;--cyan: #8be9fd;--green: #50fa7b;--orange: #ffb86c;--pink: #ff79c6;--purple: #bd93f9;--red: #ff5555;--yellow: #f1fa8c;--crayola: #A9B7C6}body .zenuml.theme-dark{background-color:var(--background)}.zenuml.theme-dark .header{color:var(--crayola);font-weight:700}.zenuml.theme-dark .sequence-diagram .lifeline-group:hover{background-color:#223049}.zenuml.theme-dark .sequence-diagram .lifeline .participant{border-color:var(--border);border-radius:2px;background:var(--background)}.zenuml.theme-dark .sequence-diagram .lifeline .participant label{color:var(--cyan)}.zenuml.theme-dark .sequence-diagram .lifeline .line{background:var(--border)}.zenuml.theme-dark .fragment>.header>.condition{color:var(--crayola);padding:6px}.zenuml.theme-dark .sequence-diagram .fragment .header label{color:var(--crayola);padding:6px}.zenuml.theme-dark .sequence-diagram .fragment .header .name{border-bottom-color:var(--border)}.zenuml.theme-dark .sequence-diagram .fragment .header .name label{color:var(--pink);font-weight:400}.zenuml.theme-dark .sequence-diagram .fragment{border-color:var(--border)}.zenuml.theme-dark .sequence-diagram .comments{border:none;background:transparent;color:var(--comment)}.zenuml.theme-dark .sequence-diagram .fragment .segment:not(:first-child){border-top-color:var(--border)}.zenuml.theme-dark .sequence-diagram .interaction{color:var(--orange)}.zenuml.theme-dark .sequence-diagram .message{border-bottom-color:var(--border)}.zenuml.theme-dark .sequence-diagram .message .name:hover{color:var(--crayola)}.zenuml.theme-dark .sequence-diagram .message svg polyline{fill:var(--border);stroke:var(--border)}.zenuml.theme-dark .sequence-diagram .message.self svg>polyline:not(.head){fill:none}.zenuml.theme-dark .sequence-diagram .occurrence{background-color:var(--current);box-shadow:0 0 0 1px var(--occurance-border);border-radius:2px}.zenuml.theme-dark .sequence-diagram .divider .left,.zenuml.theme-dark .sequence-diagram .divider .right{background:var(--border)}.zenuml.theme-dark .sequence-diagram .divider .name{color:var(--comment)}.zenuml.theme-dark .interaction .message>.name:hover{background-color:#228b22;color:#fff}p[data-v-77021455]{margin:0;line-height:1.25em}.occurrence[data-v-0672df26]{width:15px;padding:16px 0 16px 5px}[data-v-0672df26]>.statement-container:last-child>.interaction.return:last-of-type{margin-bottom:0;border-bottom:0;transform:translateY(1px)}[data-v-0672df26]>.statement-container:last-child>.interaction.return:last-of-type>.message{bottom:-17px;height:0}.right-to-left.occurrence[data-v-0672df26]{left:-14px}.occurrence{margin-top:-2px}.interaction .occurrence.source[data-v-7f4f5626]{position:absolute;height:calc(100% + 14px);left:-12px;display:none}.interaction .occurrence.source.right-to-left[data-v-7f4f5626]{left:unset;right:-13px}.message.self[data-v-dc8dc7aa]{transform:translate(-5px)}.interaction .invisible-occurrence[data-v-e3b5e87c]{height:20px}.interaction.async[data-v-e3b5e87c] .message{width:100%}*[data-v-026dd6e4],*[data-v-9cddb5c0]{border-color:inherit}.fragment.par>.block>.statement-container:not(:first-child){border-top-color:inherit;border-top-width:1px;border-top-style:solid}*[data-v-1bca506e],*[data-v-acc4c402],*[data-v-699b4cd0]{border-color:inherit}.divider[data-v-2ad26d36]{display:flex;align-items:center}.name[data-v-2ad26d36]{margin:0;padding:2px 6px}.left[data-v-2ad26d36],.right[data-v-2ad26d36]{height:1px;flex-grow:1}