Merge branch 'master' into tune-spacing

This commit is contained in:
Alexander Wang 2023-02-10 21:27:10 -08:00
commit 0f9d98fa8a
No known key found for this signature in database
GPG key ID: D89FA31966BDBECE
103 changed files with 10511 additions and 131 deletions

View file

@ -5,7 +5,8 @@ all: fmt gen lint build test
.PHONY: fmt .PHONY: fmt
fmt: fmt:
prefix "$@" ./ci/sub/bin/fmt.sh # Unset GITHUB_TOKEN, see https://github.com/terrastruct/d2/commit/335d925b7c937d4e7cac7e26de993f60840eb116#commitcomment-98101131
GITHUB_TOKEN= prefix "$@" ./ci/sub/bin/fmt.sh
.PHONY: gen .PHONY: gen
gen: gen:
prefix "$@" ./ci/gen.sh prefix "$@" ./ci/gen.sh

View file

@ -9,7 +9,13 @@ FORCE_COLOR=1 DEBUG=1 go run ./e2etests/report/main.go "$@";
if [ -z "${NO_OPEN:-}" ]; then if [ -z "${NO_OPEN:-}" ]; then
if [ -s "$REPORT_OUTPUT" ]; then if [ -s "$REPORT_OUTPUT" ]; then
open "$REPORT_OUTPUT" if command -v open >/dev/null; then
open "$REPORT_OUTPUT"
elif command -v xdg-open >/dev/null; then
xdg-open "$REPORT_OUTPUT"
else
echo "Please open $REPORT_OUTPUT"
fi
else else
echo "The report is empty" echo "The report is empty"
fi fi

View file

@ -331,6 +331,13 @@ sudo -E apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-
sudo groupadd docker || true sudo groupadd docker || true
sudo usermod -aG docker \$USER sudo usermod -aG docker \$USER
printf %s '$CI_DOCKER_TOKEN' | docker login -u terrastruct --password-stdin
# For building images cross platform.
sudo -E apt-get install -y qemu qemu-user-static
if docker buildx ls | grep -q 'default \*'; then
docker buildx create --use
fi
mkdir -p \$HOME/.local/bin mkdir -p \$HOME/.local/bin
mkdir -p \$HOME/.local/share/man mkdir -p \$HOME/.local/share/man
EOF EOF
@ -387,7 +394,7 @@ init_remote_env() {
sh_c ssh "$REMOTE_HOST" "sudo systemctl restart sshd" sh_c ssh "$REMOTE_HOST" "sudo systemctl restart sshd"
# ubuntu has $PATH hard coded in /etc/environment for some reason. It takes precedence # ubuntu has $PATH hard coded in /etc/environment for some reason. It takes precedence
# over ~/.ssh/environment. # over ~/.ssh/environment.
sh_c ssh "$REMOTE_HOST" "sudo rm /etc/environment" sh_c ssh "$REMOTE_HOST" "sudo rm -f /etc/environment"
fi fi
} }

View file

@ -257,6 +257,7 @@ ARCHIVE=$ARCHIVE \
build_docker() { build_docker() {
if [ -n "${LOCAL-}" ]; then if [ -n "${LOCAL-}" ]; then
sh_c ./ci/release/docker/build.sh \ sh_c ./ci/release/docker/build.sh \
--version="$VERSION" \
${PUSH_DOCKER:+--push} \ ${PUSH_DOCKER:+--push} \
${LATEST_DOCKER:+--latest} ${LATEST_DOCKER:+--latest}
return 0 return 0
@ -264,8 +265,14 @@ build_docker() {
sh_c lockfile_ssh "$CI_D2_LINUX_AMD64" .d2-build-lock sh_c lockfile_ssh "$CI_D2_LINUX_AMD64" .d2-build-lock
sh_c gitsync "$CI_D2_LINUX_AMD64" src/d2 sh_c gitsync "$CI_D2_LINUX_AMD64" src/d2
sh_c ssh "$CI_D2_LINUX_AMD64" "D2_DOCKER_IMAGE=${D2_DOCKER_IMAGE-}" \ sh_c rsync --archive --human-readable \
"$BUILD_DIR/d2-$VERSION"-linux-*.tar.gz \
"$CI_D2_LINUX_AMD64:src/d2/$BUILD_DIR/"
sh_c ssh "$CI_D2_LINUX_AMD64" \
"D2_DOCKER_IMAGE=${D2_DOCKER_IMAGE-}" \
"RELEASE=${RELEASE-}" \
./src/d2/ci/release/docker/build.sh \ ./src/d2/ci/release/docker/build.sh \
--version="$VERSION" \
${PUSH_DOCKER:+--push} \ ${PUSH_DOCKER:+--push} \
${LATEST_DOCKER:+--latest} ${LATEST_DOCKER:+--latest}
} }

View file

@ -23,6 +23,7 @@
- Code snippets use bold and italic font styles as determined by highlighter [#710](https://github.com/terrastruct/d2/issues/710), [#741](https://github.com/terrastruct/d2/issues/741) - Code snippets use bold and italic font styles as determined by highlighter [#710](https://github.com/terrastruct/d2/issues/710), [#741](https://github.com/terrastruct/d2/issues/741)
- Reduces default padding of shapes. [#702](https://github.com/terrastruct/d2/pull/702) - Reduces default padding of shapes. [#702](https://github.com/terrastruct/d2/pull/702)
- Ensures labels fit inside shapes with shape-specific inner bounding boxes. [#702](https://github.com/terrastruct/d2/pull/702) - Ensures labels fit inside shapes with shape-specific inner bounding boxes. [#702](https://github.com/terrastruct/d2/pull/702)
- dagre container labels changed positions to outside the shape. Many previously obscured container labels are now legible. [#788](https://github.com/terrastruct/d2/pull/788)
- Improves package shape dimensions with short height. [#702](https://github.com/terrastruct/d2/pull/702) - Improves package shape dimensions with short height. [#702](https://github.com/terrastruct/d2/pull/702)
- Keeps person shape from becoming too distorted. [#702](https://github.com/terrastruct/d2/pull/702) - Keeps person shape from becoming too distorted. [#702](https://github.com/terrastruct/d2/pull/702)
- Ensures shapes with icons have enough padding for their labels. [#702](https://github.com/terrastruct/d2/pull/702) - Ensures shapes with icons have enough padding for their labels. [#702](https://github.com/terrastruct/d2/pull/702)

View file

@ -6,7 +6,7 @@ cd -- "$(dirname "$0")/../../.."
help() { help() {
cat <<EOF cat <<EOF
usage: $0 [-p|--push] [--latest] [ usage: $0 [-p|--push] [--latest] [--version=str]
EOF EOF
} }
@ -25,6 +25,10 @@ main() {
flag_noarg && shift "$FLAGSHIFT" flag_noarg && shift "$FLAGSHIFT"
LATEST=1 LATEST=1
;; ;;
version)
flag_reqarg && shift "$FLAGSHIFT"
VERSION=$FLAGARG
;;
*) *)
flag_errusage "unrecognized flag $FLAGRAW" flag_errusage "unrecognized flag $FLAGRAW"
;; ;;
@ -38,8 +42,12 @@ main() {
D2_DOCKER_IMAGE=${D2_DOCKER_IMAGE:-terrastruct/d2} D2_DOCKER_IMAGE=${D2_DOCKER_IMAGE:-terrastruct/d2}
sh_c mkdir -p "./ci/release/build/$VERSION/docker" sh_c mkdir -p "./ci/release/build/$VERSION/docker"
sh_c cp "./ci/release/build/$VERSION/d2-$VERSION"-linux-*.tar.gz "./ci/release/build/$VERSION/docker/" sh_c cp \
sh_c cp ./ci/release/docker/entrypoint.sh "./ci/release/build/$VERSION/docker/entrypoint.sh" "./ci/release/build/$VERSION/d2-$VERSION"-linux-*.tar.gz \
"./ci/release/build/$VERSION/docker/"
sh_c cp \
./ci/release/docker/entrypoint.sh \
"./ci/release/build/$VERSION/docker/entrypoint.sh"
flags='--load' flags='--load'
if [ -n "${PUSH-}" -o -n "${RELEASE-}" ]; then if [ -n "${PUSH-}" -o -n "${RELEASE-}" ]; then

View file

@ -15,6 +15,8 @@ import (
"oss.terrastruct.com/d2/d2target" "oss.terrastruct.com/d2/d2target"
) )
const complexIDs = false
func GenDSL(maxi int) (_ string, err error) { func GenDSL(maxi int) (_ string, err error) {
gs := &dslGenState{ gs := &dslGenState{
rand: mathrand.New(mathrand.NewSource(time.Now().UnixNano())), rand: mathrand.New(mathrand.NewSource(time.Now().UnixNano())),
@ -62,7 +64,11 @@ func (gs *dslGenState) gen(maxi int) error {
} }
func (gs *dslGenState) genNode(containerID string) (string, error) { func (gs *dslGenState) genNode(containerID string) (string, error) {
nodeID := gs.randStr(32, true) maxLen := 8
if complexIDs {
maxLen = 32
}
nodeID := gs.randStr(maxLen, true)
if containerID != "" { if containerID != "" {
nodeID = containerID + "." + nodeID nodeID = containerID + "." + nodeID
} }
@ -95,7 +101,11 @@ func (gs *dslGenState) node() error {
if gs.roll(25, 75) == 0 { if gs.roll(25, 75) == 0 {
// 25% chance of adding a label. // 25% chance of adding a label.
gs.g, err = d2oracle.Set(gs.g, nodeID, nil, go2.Pointer(gs.randStr(256, false))) maxLen := 8
if complexIDs {
maxLen = 256
}
gs.g, err = d2oracle.Set(gs.g, nodeID, nil, go2.Pointer(gs.randStr(maxLen, false)))
if err != nil { if err != nil {
return err return err
} }
@ -154,7 +164,11 @@ func (gs *dslGenState) edge() error {
return err return err
} }
if gs.randBool() { if gs.randBool() {
gs.g, err = d2oracle.Set(gs.g, key, nil, go2.Pointer(gs.randStr(128, false))) maxLen := 8
if complexIDs {
maxLen = 128
}
gs.g, err = d2oracle.Set(gs.g, key, nil, go2.Pointer(gs.randStr(maxLen, false)))
if err != nil { if err != nil {
return err return err
} }
@ -191,11 +205,15 @@ func (gs *dslGenState) randBool() bool {
// TODO go back to using xrand.String, currently some incompatibility with // TODO go back to using xrand.String, currently some incompatibility with
// stuffing these strings into a script for dagre // stuffing these strings into a script for dagre
func randRune() rune { func randRune() rune {
if mathrand.Int31n(100) == 0 { if complexIDs {
// Generate newline 1% of the time. if mathrand.Int31n(100) == 0 {
return '\n' // Generate newline 1% of the time.
return '\n'
}
return mathrand.Int31n(128) + 1
} else {
return mathrand.Int31n(26) + 97
} }
return mathrand.Int31n(128) + 1
} }
func (gs *dslGenState) findOuterSequenceDiagram(nodeID string) string { func (gs *dslGenState) findOuterSequenceDiagram(nodeID string) string {

View file

@ -107,6 +107,16 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err
rootAttrs.rankdir = "TB" rootAttrs.rankdir = "TB"
} }
maxContainerLabelHeight := 0
for _, obj := range g.Objects {
if len(obj.ChildrenArray) == 0 {
continue
}
if obj.LabelHeight != nil {
maxContainerLabelHeight = go2.Max(maxContainerLabelHeight, *obj.LabelHeight+label.PADDING)
}
}
maxLabelSize := 0 maxLabelSize := 0
for _, edge := range g.Edges { for _, edge := range g.Edges {
size := edge.LabelDimensions.Width size := edge.LabelDimensions.Width
@ -115,7 +125,7 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err
} }
maxLabelSize = go2.Max(maxLabelSize, size) maxLabelSize = go2.Max(maxLabelSize, size)
} }
rootAttrs.ranksep = go2.Max(MIN_RANK_SEP, maxLabelSize+20) rootAttrs.ranksep = go2.Max(go2.Max(100, maxLabelSize+40), maxContainerLabelHeight)
configJS := setGraphAttrs(rootAttrs) configJS := setGraphAttrs(rootAttrs)
if _, err := vm.RunString(configJS); err != nil { if _, err := vm.RunString(configJS); err != nil {
@ -133,6 +143,9 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err
if obj.Attributes.Shape.Value == d2target.ShapeImage || obj.Attributes.Icon != nil { if obj.Attributes.Shape.Value == d2target.ShapeImage || obj.Attributes.Icon != nil {
height += float64(*obj.LabelHeight) + label.PADDING height += float64(*obj.LabelHeight) + label.PADDING
} }
if len(obj.ChildrenArray) > 0 {
height += float64(*obj.LabelHeight) + label.PADDING
}
} }
loadScript += generateAddNodeLine(id, int(obj.Width), int(height)) loadScript += generateAddNodeLine(id, int(obj.Width), int(height))
if obj.Parent != g.Root { if obj.Parent != g.Root {
@ -251,6 +264,105 @@ func Layout(ctx context.Context, g *d2graph.Graph, opts *ConfigurableOpts) (err
} }
} }
} }
points = points[startIndex : endIndex+1]
points[0] = start
points[len(points)-1] = end
edge.Route = points
}
for _, obj := range g.Objects {
if obj.LabelHeight == nil || len(obj.ChildrenArray) <= 0 {
continue
}
// usually you don't want to take away here more than what was added, which is the label height
// however, if the label height is more than the ranksep/2, we'll have no padding around children anymore
// so cap the amount taken off at ranksep/2
subtract := float64(go2.Min(rootAttrs.ranksep/2, *obj.LabelHeight+label.PADDING))
obj.Height -= subtract
// If the edge is connected to two descendants that are about to be downshifted, their whole route gets downshifted
movedEdges := make(map[*d2graph.Edge]struct{})
for _, e := range g.Edges {
currSrc := e.Src
currDst := e.Dst
isSrcDesc := false
isDstDesc := false
for currSrc != nil {
if currSrc == obj {
isSrcDesc = true
break
}
currSrc = currSrc.Parent
}
for currDst != nil {
if currDst == obj {
isDstDesc = true
break
}
currDst = currDst.Parent
}
if isSrcDesc && isDstDesc {
stepSize := subtract
if e.Src != obj || e.Dst != obj {
stepSize /= 2.
}
movedEdges[e] = struct{}{}
for _, p := range e.Route {
p.Y += stepSize
}
}
}
// Downshift descendents and edges that have one endpoint connected to a descendant
q := []*d2graph.Object{obj}
for len(q) > 0 {
curr := q[0]
q = q[1:]
stepSize := subtract
// The object itself needs to move down the height it was just subtracted
// all descendents move half, to maintain vertical padding
if curr != obj {
stepSize /= 2.
}
curr.TopLeft.Y += stepSize
shouldMove := func(p *geo.Point) bool {
if curr != obj {
return true
}
// Edge should only move if it's not connected to the bottom side of the shrinking container
return p.Y != obj.TopLeft.Y+obj.Height
}
for _, e := range g.Edges {
if _, ok := movedEdges[e]; ok {
continue
}
if e.Src == curr {
if shouldMove(e.Route[0]) {
e.Route[0].Y += stepSize
}
}
if e.Dst == curr {
if shouldMove(e.Route[len(e.Route)-1]) {
e.Route[len(e.Route)-1].Y += stepSize
}
}
}
for _, c := range curr.ChildrenArray {
q = append(q, c)
}
}
}
for _, edge := range g.Edges {
points := edge.Route
startIndex, endIndex := 0, len(points)-1
start, end := points[startIndex], points[endIndex]
// arrowheads can appear broken if segments are very short from dagre routing a point just outside the shape // arrowheads can appear broken if segments are very short from dagre routing a point just outside the shape
// to fix this, we try extending the previous segment into the shape instead of having a very short segment // to fix this, we try extending the previous segment into the shape instead of having a very short segment

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 253 KiB

After

Width:  |  Height:  |  Size: 276 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 248 KiB

After

Width:  |  Height:  |  Size: 262 KiB

View file

@ -863,6 +863,11 @@ func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2ske
} }
} }
// to examine GetInsidePlacement
// padX, padY := s.GetDefaultPadding()
// innerTL := s.GetInsidePlacement(s.GetInnerBox().Width, s.GetInnerBox().Height, padX, padY)
// fmt.Fprint(writer, renderOval(&innerTL, 5, 5, "fill:red;"))
// Closes the class=shape // Closes the class=shape
fmt.Fprint(writer, `</g>`) fmt.Fprint(writer, `</g>`)

View file

@ -100,7 +100,11 @@ func main() {
} }
if matchTestSet && matchTestCase { if matchTestSet && matchTestCase {
fullPath := filepath.Join(path, testFile.Name()) absPath, err := filepath.Abs(path)
if err != nil {
stdlog.Fatal(err)
}
fullPath := filepath.Join(absPath, testFile.Name())
hasGot := false hasGot := false
gotPath := strings.Replace(fullPath, "exp.svg", "got.svg", 1) gotPath := strings.Replace(fullPath, "exp.svg", "got.svg", 1)
if _, err := os.Stat(gotPath); err == nil { if _, err := os.Stat(gotPath); err == nil {
@ -143,10 +147,6 @@ func main() {
panic(err) panic(err)
} }
tmplData := TemplateData{
Tests: tests,
}
path := os.Getenv("REPORT_OUTPUT") path := os.Getenv("REPORT_OUTPUT")
if path == "" { if path == "" {
path = filepath.Join(testDir, "./out/e2e_report.html") path = filepath.Join(testDir, "./out/e2e_report.html")
@ -159,7 +159,30 @@ func main() {
if err != nil { if err != nil {
panic(fmt.Errorf("error creating file `%s`. %v", path, err)) panic(fmt.Errorf("error creating file `%s`. %v", path, err))
} }
if err := tmpl.Execute(f, tmplData); err != nil { absReportDir, err := filepath.Abs(filepath.Dir(path))
if err != nil {
stdlog.Fatal(err)
}
// get the test path relative to the report
reportRelPath := func(testPath string) string {
relTestPath, err := filepath.Rel(absReportDir, testPath)
if err != nil {
stdlog.Fatal(err)
}
return relTestPath
}
// update test paths to be relative to report file
for i := range tests {
testItem := &tests[i]
testItem.GotSVG = reportRelPath(testItem.GotSVG)
if testItem.ExpSVG != nil {
*testItem.ExpSVG = reportRelPath(*testItem.ExpSVG)
}
}
if err := tmpl.Execute(f, TemplateData{Tests: tests}); err != nil {
panic(err) panic(err)
} }
} }

View file

@ -10,16 +10,16 @@
<div class="cases"> <div class="cases">
{{range .Tests}} {{range .Tests}}
<div class="case" id="{{.Name}}"> <div class="case" id="{{.Name}}">
<h1><a href="../../{{.GotSVG}}">{{.Name}}</a></h1> <h1><a href="{{.GotSVG}}">{{.Name}}</a></h1>
{{ if .ExpSVG }} {{ if .ExpSVG }}
<h2 class="case-exp">Expected</h2> <h2 class="case-exp">Expected</h2>
{{ end }} {{ end }}
<h2 class="case-got">Got</h2> <h2 class="case-got">Got</h2>
<div class="case-img-wrapper"> <div class="case-img-wrapper">
{{ if .ExpSVG }} {{ if .ExpSVG }}
<img src="../../{{.ExpSVG}}" width="100%" /> <img src="{{.ExpSVG}}" width="100%" />
{{ end }} {{ end }}
<img src="../../{{.GotSVG}}" width="100%" /> <img src="{{.GotSVG}}" width="100%" />
</div> </div>
</div> </div>
{{end}} {{end}}
@ -41,7 +41,7 @@
.case img { .case img {
width: 600px; width: 600px;
} }
.case-got { .case-exp + .case-got {
position: absolute; position: absolute;
left: 600px; left: 600px;
} }

View file

@ -609,10 +609,24 @@ x -> hey -> y
`, `,
}, },
{ {
name: "child_parent_edges", name: "font_sizes_containers_large",
script: `a.b -> a script: `
a.b -> a.b.c ninety nine: {
a.b.c.d -> a.b`, style.font-size: 99
sixty four: {
style.font-size: 64
thirty two:{
style.font-size: 32
sixteen: {
style.font-size: 16
eight: {
style.font-size: 8
}
}
}
}
}
`,
}, },
{ {
name: "lone_h1", name: "lone_h1",

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 301, "width": 301,
"height": 468, "height": 468,
||||||| 749d236a
"width": 425,
"height": 528,
=======
"width": 425,
"height": 487,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "a.b", "id": "a.b",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 34, "x": 34,
"y": 45 "y": 45
||||||| 749d236a
"x": 94,
"y": 55
=======
"x": 94,
"y": 75
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -88,11 +104,27 @@
"id": "a.c", "id": "a.c",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 20, "x": 20,
"y": 269 "y": 269
||||||| 749d236a
"x": 40,
"y": 299
=======
"x": 40,
"y": 355
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 253, "width": 253,
"height": 155, "height": 155,
||||||| 749d236a
"width": 345,
"height": 175,
=======
"width": 345,
"height": 139,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -129,8 +161,16 @@
"id": "a.1", "id": "a.1",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 127, "x": 127,
"y": 45 "y": 45
||||||| 749d236a
"x": 207,
"y": 55
=======
"x": 207,
"y": 75
>>>>>>> master
}, },
"width": 52, "width": 52,
"height": 66, "height": 66,
@ -170,8 +210,16 @@
"id": "a.2", "id": "a.2",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 219, "x": 219,
"y": 45 "y": 45
||||||| 749d236a
"x": 319,
"y": 55
=======
"x": 319,
"y": 75
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -211,8 +259,16 @@
"id": "a.c.d", "id": "a.c.d",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 126, "x": 126,
"y": 313 "y": 313
||||||| 749d236a
"x": 206,
"y": 353
=======
"x": 206,
"y": 391
>>>>>>> master
}, },
"width": 54, "width": 54,
"height": 66, "height": 66,
@ -276,20 +332,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 60, "x": 60,
"y": 111.5 "y": 111.5
||||||| 749d236a
"x": 120,
"y": 121.5
=======
"x": 120,
"y": 142
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 60, "x": 60,
"y": 173.9 "y": 173.9
||||||| 749d236a
"x": 120,
"y": 191.9
=======
"x": 120,
"y": 212.4
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 60, "x": 60,
"y": 205.5 "y": 205.5
||||||| 749d236a
"x": 120,
"y": 227.5
=======
"x": 120.2,
"y": 326.4
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 60, "x": 60,
"y": 269.5 "y": 269.5
||||||| 749d236a
"x": 120,
"y": 299.5
=======
"x": 121,
"y": 356
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -324,20 +412,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 152.5, "x": 152.5,
"y": 111.5 "y": 111.5
||||||| 749d236a
"x": 232.5,
"y": 121.5
=======
"x": 232.5,
"y": 142
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 152.5, "x": 152.5,
"y": 173.9 "y": 173.9
||||||| 749d236a
"x": 232.5,
"y": 191.9
=======
"x": 232.5,
"y": 212.4
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 152.5, "x": 152.5,
"y": 205.5 "y": 205.5
||||||| 749d236a
"x": 232.5,
"y": 227.5
=======
"x": 232.5,
"y": 326.4
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 152.5, "x": 152.5,
"y": 269.5 "y": 269.5
||||||| 749d236a
"x": 232.5,
"y": 299.5
=======
"x": 232.5,
"y": 356
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -372,20 +492,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 245, "x": 245,
"y": 111.5 "y": 111.5
||||||| 749d236a
"x": 345,
"y": 121.5
=======
"x": 345,
"y": 142
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 245, "x": 245,
"y": 173.9 "y": 173.9
||||||| 749d236a
"x": 345,
"y": 191.9
=======
"x": 345,
"y": 212.4
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 245, "x": 245,
"y": 205.5 "y": 205.5
||||||| 749d236a
"x": 345,
"y": 227.5
=======
"x": 344.8,
"y": 326.4
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 245, "x": 245,
"y": 269.5 "y": 269.5
||||||| 749d236a
"x": 345,
"y": 299.5
=======
"x": 344,
"y": 356
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="505" height="711" viewBox="-102 -141 505 711"><style type="text/css"> width="505" height="711" viewBox="-102 -141 505 711"><style type="text/css">
||||||| 749d236a
width="629" height="732" viewBox="-102 -102 629 732"><style type="text/css">
=======
width="629" height="730" viewBox="-102 -100 629 730"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,9 +45,19 @@ width="505" height="711" viewBox="-102 -141 505 711"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="a"><g class="shape" ><rect x="0" y="0" width="301" height="468" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="150.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="a.b"><g class="shape" ><rect x="34" y="45" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="60.500000" y="83.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a.c"><g class="shape" ><rect x="20" y="269" width="253" height="155" style="fill:#EDF0FD;stroke:white;stroke-width:2;" /></g><text class="text" x="146.500000" y="257.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">c</text></g><g id="a.1"><g class="shape" ><rect x="127" y="45" width="52" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="153.000000" y="83.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">1</text></g><g id="a.2"><g class="shape" ><rect x="219" y="45" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="245.500000" y="83.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">2</text></g><g id="a.c.d"><g class="shape" ><rect x="126" y="313" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="153.000000" y="351.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="a.(b -&gt; c)[0]"><marker id="mk-1065319532" markerWidth="24.200000" markerHeight="18.000000" refX="20.800000" refY="9.000000" viewBox="0.000000 0.000000 24.200000 18.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="white" stroke="red" stroke-width="2" points="0.000000,9.000000 11.000000,2.250000 22.000000,9.000000 11.000000,16.200000" /> </marker><path d="M 60.000000 113.500000 C 60.000000 173.900000 60.000000 205.500000 60.000000 265.500000" class="connection" style="fill:none;stroke:red;stroke-width:2;" marker-end="url(#mk-1065319532)" mask="url(#275488318)"/><text class="text-italic" x="60.000000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:red"><tspan x="60.000000" dy="0.000000">line 1</tspan><tspan x="60.000000" dy="17.250000">line 2</tspan><tspan x="60.000000" dy="17.250000">line 3</tspan><tspan x="60.000000" dy="17.250000">line 4</tspan></text></g><g id="a.(1 -&gt; c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 152.500000 113.500000 C 152.500000 173.900000 152.500000 205.500000 152.500000 265.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#275488318)"/></g><g id="a.(2 &lt;-&gt; c)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 245.000000 115.500000 C 245.000000 173.900000 245.000000 205.500000 245.000000 265.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" mask="url(#275488318)"/></g><mask id="275488318" maskUnits="userSpaceOnUse" x="-100" y="-100" width="505" height="711"> ]]></script><g id="a"><g class="shape" ><rect x="0" y="0" width="301" height="468" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="150.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="a.b"><g class="shape" ><rect x="34" y="45" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="60.500000" y="83.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a.c"><g class="shape" ><rect x="20" y="269" width="253" height="155" style="fill:#EDF0FD;stroke:white;stroke-width:2;" /></g><text class="text" x="146.500000" y="257.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">c</text></g><g id="a.1"><g class="shape" ><rect x="127" y="45" width="52" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="153.000000" y="83.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">1</text></g><g id="a.2"><g class="shape" ><rect x="219" y="45" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="245.500000" y="83.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">2</text></g><g id="a.c.d"><g class="shape" ><rect x="126" y="313" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="153.000000" y="351.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="a.(b -&gt; c)[0]"><marker id="mk-1065319532" markerWidth="24.200000" markerHeight="18.000000" refX="20.800000" refY="9.000000" viewBox="0.000000 0.000000 24.200000 18.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="white" stroke="red" stroke-width="2" points="0.000000,9.000000 11.000000,2.250000 22.000000,9.000000 11.000000,16.200000" /> </marker><path d="M 60.000000 113.500000 C 60.000000 173.900000 60.000000 205.500000 60.000000 265.500000" class="connection" style="fill:none;stroke:red;stroke-width:2;" marker-end="url(#mk-1065319532)" mask="url(#275488318)"/><text class="text-italic" x="60.000000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:red"><tspan x="60.000000" dy="0.000000">line 1</tspan><tspan x="60.000000" dy="17.250000">line 2</tspan><tspan x="60.000000" dy="17.250000">line 3</tspan><tspan x="60.000000" dy="17.250000">line 4</tspan></text></g><g id="a.(1 -&gt; c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 152.500000 113.500000 C 152.500000 173.900000 152.500000 205.500000 152.500000 265.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#275488318)"/></g><g id="a.(2 &lt;-&gt; c)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 245.000000 115.500000 C 245.000000 173.900000 245.000000 205.500000 245.000000 265.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" mask="url(#275488318)"/></g><mask id="275488318" maskUnits="userSpaceOnUse" x="-100" y="-100" width="505" height="711">
<rect x="-100" y="-100" width="505" height="711" fill="white"></rect> <rect x="-100" y="-100" width="505" height="711" fill="white"></rect>
<rect x="42.000000" y="156.000000" width="36" height="69" fill="black"></rect> <rect x="42.000000" y="156.000000" width="36" height="69" fill="black"></rect>
||||||| 749d236a
]]></script><g id="a"><g class="shape" ><rect x="0" y="0" width="425" height="528" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="212.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="a.b"><g class="shape" ><rect x="94" y="55" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.500000" y="93.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a.c"><g class="shape" ><rect x="40" y="299" width="345" height="175" style="fill:#EDF0FD;stroke:white;stroke-width:2;" /></g><text class="text" x="212.500000" y="328.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">c</text></g><g id="a.1"><g class="shape" ><rect x="207" y="55" width="52" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="233.000000" y="93.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">1</text></g><g id="a.2"><g class="shape" ><rect x="319" y="55" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="345.500000" y="93.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">2</text></g><g id="a.c.d"><g class="shape" ><rect x="206" y="353" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="233.000000" y="391.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="a.(b -&gt; c)[0]"><marker id="mk-1065319532" markerWidth="24.200000" markerHeight="18.000000" refX="20.800000" refY="9.000000" viewBox="0.000000 0.000000 24.200000 18.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="white" stroke="red" stroke-width="2" points="0.000000,9.000000 11.000000,2.250000 22.000000,9.000000 11.000000,16.200000" /> </marker><path d="M 120.000000 123.500000 C 120.000000 191.900000 120.000000 227.500000 120.000000 295.500000" class="connection" style="fill:none;stroke:red;stroke-width:2;" marker-end="url(#mk-1065319532)" mask="url(#89896559)"/><text class="text-italic" x="120.000000" y="192.000000" style="text-anchor:middle;font-size:16px;fill:red"><tspan x="120.000000" dy="0.000000">line 1</tspan><tspan x="120.000000" dy="17.250000">line 2</tspan><tspan x="120.000000" dy="17.250000">line 3</tspan><tspan x="120.000000" dy="17.250000">line 4</tspan></text></g><g id="a.(1 -&gt; c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 232.500000 123.500000 C 232.500000 191.900000 232.500000 227.500000 232.500000 295.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#89896559)"/></g><g id="a.(2 &lt;-&gt; c)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 345.000000 125.500000 C 345.000000 191.900000 345.000000 227.500000 345.000000 295.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" mask="url(#89896559)"/></g><mask id="89896559" maskUnits="userSpaceOnUse" x="-100" y="-100" width="629" height="732">
<rect x="-100" y="-100" width="629" height="732" fill="white"></rect>
<rect x="102.000000" y="176.000000" width="36" height="69" fill="black"></rect>
=======
]]></script><g id="a"><g class="shape" ><rect x="0" y="41" width="425" height="487" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="212.500000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="a.b"><g class="shape" ><rect x="94" y="75" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.500000" y="113.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a.c"><g class="shape" ><rect x="40" y="355" width="345" height="139" style="fill:#EDF0FD;stroke:white;stroke-width:2;" /></g><text class="text" x="212.500000" y="343.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">c</text></g><g id="a.1"><g class="shape" ><rect x="207" y="75" width="52" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="233.000000" y="113.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">1</text></g><g id="a.2"><g class="shape" ><rect x="319" y="75" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="345.500000" y="113.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">2</text></g><g id="a.c.d"><g class="shape" ><rect x="206" y="391" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="233.000000" y="429.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="a.(b -&gt; c)[0]"><marker id="mk-1065319532" markerWidth="24.200000" markerHeight="18.000000" refX="20.800000" refY="9.000000" viewBox="0.000000 0.000000 24.200000 18.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="white" stroke="red" stroke-width="2" points="0.000000,9.000000 11.000000,2.250000 22.000000,9.000000 11.000000,16.200000" /> </marker><path d="M 120.000000 144.000000 C 120.000000 212.400000 120.200000 326.400000 120.891931 352.001460" class="connection" style="fill:none;stroke:red;stroke-width:2;" marker-end="url(#mk-1065319532)" mask="url(#1358665797)"/><text class="text-italic" x="120.000000" y="231.000000" style="text-anchor:middle;font-size:16px;fill:red"><tspan x="120.000000" dy="0.000000">line 1</tspan><tspan x="120.000000" dy="17.250000">line 2</tspan><tspan x="120.000000" dy="17.250000">line 3</tspan><tspan x="120.000000" dy="17.250000">line 4</tspan></text></g><g id="a.(1 -&gt; c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 232.500000 144.000000 C 232.500000 212.400000 232.500000 326.400000 232.500000 352.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1358665797)"/></g><g id="a.(2 &lt;-&gt; c)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 345.000000 146.000000 C 345.000000 212.400000 344.800000 326.400000 344.108069 352.001460" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" mask="url(#1358665797)"/></g><mask id="1358665797" maskUnits="userSpaceOnUse" x="-100" y="-100" width="629" height="730">
<rect x="-100" y="-100" width="629" height="730" fill="white"></rect>
<rect x="102.000000" y="215.000000" width="36" height="69" fill="black"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";

Before

Width:  |  Height:  |  Size: 794 KiB

After

Width:  |  Height:  |  Size: 802 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 2228, "width": 2228,
"height": 137, "height": 137,
||||||| 749d236a
"width": 2328,
"height": 177,
=======
"width": 2328,
"height": 136,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "build_workflow.push", "id": "build_workflow.push",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 95, "x": 95,
"y": 30 "y": 30
||||||| 749d236a
"x": 105,
"y": 50
=======
"x": 105,
"y": 70
>>>>>>> master
}, },
"width": 270, "width": 270,
"height": 77, "height": 77,
@ -88,8 +104,16 @@
"id": "build_workflow.GHA", "id": "build_workflow.GHA",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 608, "x": 608,
"y": 30 "y": 30
||||||| 749d236a
"x": 638,
"y": 50
=======
"x": 638,
"y": 70
>>>>>>> master
}, },
"width": 209, "width": 209,
"height": 77, "height": 77,
@ -129,8 +153,16 @@
"id": "build_workflow.S3", "id": "build_workflow.S3",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 1144, "x": 1144,
"y": 30 "y": 30
||||||| 749d236a
"x": 1194,
"y": 50
=======
"x": 1194,
"y": 70
>>>>>>> master
}, },
"width": 71, "width": 71,
"height": 77, "height": 77,
@ -170,8 +202,16 @@
"id": "build_workflow.Terraform", "id": "build_workflow.Terraform",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 1523, "x": 1523,
"y": 30 "y": 30
||||||| 749d236a
"x": 1593,
"y": 50
=======
"x": 1593,
"y": 70
>>>>>>> master
}, },
"width": 158, "width": 158,
"height": 77, "height": 77,
@ -211,8 +251,16 @@
"id": "build_workflow.AWS", "id": "build_workflow.AWS",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 2039, "x": 2039,
"y": 30 "y": 30
||||||| 749d236a
"x": 2129,
"y": 50
=======
"x": 2129,
"y": 70
>>>>>>> master
}, },
"width": 95, "width": 95,
"height": 77, "height": 77,
@ -276,20 +324,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 365.5, "x": 365.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 375.5,
"y": 88.5
=======
"x": 375.5,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 461.9, "x": 461.9,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 479.9,
"y": 88.5
=======
"x": 479.9,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 510.3, "x": 510.3,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 532.3,
"y": 88.5
=======
"x": 532.3,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 607.5, "x": 607.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 637.5,
"y": 88.5
=======
"x": 637.5,
"y": 109
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -324,20 +404,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 817.5, "x": 817.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 846.5,
"y": 88.5
=======
"x": 846.5,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 947.5, "x": 947.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 985.3,
"y": 88.5
=======
"x": 985.3,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 1012.7, "x": 1012.7,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1054.7,
"y": 88.5
=======
"x": 1054.7,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 1143.5, "x": 1143.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1193.5,
"y": 88.5
=======
"x": 1193.5,
"y": 109
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -372,20 +484,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 1215.5, "x": 1215.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1265.5,
"y": 88.5
=======
"x": 1265.5,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 1337.9, "x": 1337.9,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1395.9,
"y": 88.5
=======
"x": 1395.9,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 1399.3, "x": 1399.3,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1461.3,
"y": 88.5
=======
"x": 1461.3,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 1522.5, "x": 1522.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1592.5,
"y": 88.5
=======
"x": 1592.5,
"y": 109
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -420,20 +564,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 1681.5, "x": 1681.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1751.5,
"y": 88.5
=======
"x": 1751.5,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 1823.9, "x": 1823.9,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1901.9,
"y": 88.5
=======
"x": 1901.9,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 1895.3, "x": 1895.3,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 1977.3,
"y": 88.5
=======
"x": 1977.3,
"y": 109
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 2038.5, "x": 2038.5,
"y": 68.5 "y": 68.5
||||||| 749d236a
"x": 2128.5,
"y": 88.5
=======
"x": 2128.5,
"y": 109
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="2432" height="380" viewBox="-102 -141 2432 380"><style type="text/css"> width="2432" height="380" viewBox="-102 -141 2432 380"><style type="text/css">
||||||| 749d236a
width="2532" height="381" viewBox="-102 -102 2532 381"><style type="text/css">
=======
width="2532" height="379" viewBox="-102 -100 2532 379"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,12 +45,28 @@ width="2432" height="380" viewBox="-102 -141 2432 380"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="build_workflow"><g class="shape" ><rect x="0" y="0" width="2228" height="137" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="1114.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">lambda-build.yaml</text></g><g id="build_workflow.push"><g class="shape" ><rect x="95" y="30" width="270" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="230.000000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">Push to main branch</text></g><g id="build_workflow.GHA"><g class="shape" ><rect x="608" y="30" width="209" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="712.500000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">GitHub Actions</text></g><g id="build_workflow.S3"><g class="shape" ><rect x="1144" y="30" width="71" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1179.500000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">S3</text></g><g id="build_workflow.Terraform"><g class="shape" ><rect x="1523" y="30" width="158" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1602.000000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">Terraform</text></g><g id="build_workflow.AWS"><g class="shape" ><rect x="2039" y="30" width="95" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="2086.500000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">AWS</text></g><g id="build_workflow.(push -&gt; GHA)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 367.500000 68.500000 C 461.900000 68.500000 510.300000 68.500000 603.500000 68.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3675369068)"/><text class="text-italic" x="487.000000" y="74.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Triggers</text></g><g id="build_workflow.(GHA -&gt; S3)[0]"><path d="M 819.500000 68.500000 C 947.500000 68.500000 1012.700000 68.500000 1139.500000 68.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3675369068)"/><text class="text-italic" x="981.000000" y="74.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Builds zip &amp; pushes it</text></g><g id="build_workflow.(S3 &lt;-&gt; Terraform)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 1219.500000 68.500000 C 1337.900000 68.500000 1399.300000 68.500000 1518.500000 68.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" mask="url(#3675369068)"/><text class="text-italic" x="1369.500000" y="74.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Pulls zip to deploy</text></g><g id="build_workflow.(Terraform -&gt; AWS)[0]"><path d="M 1683.500000 68.500000 C 1823.900000 68.500000 1895.300000 68.500000 2034.500000 68.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3675369068)"/><text class="text-italic" x="1860.500000" y="74.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Changes the live lambdas</text></g><mask id="3675369068" maskUnits="userSpaceOnUse" x="-100" y="-100" width="2432" height="380"> ]]></script><g id="build_workflow"><g class="shape" ><rect x="0" y="0" width="2228" height="137" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="1114.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">lambda-build.yaml</text></g><g id="build_workflow.push"><g class="shape" ><rect x="95" y="30" width="270" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="230.000000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">Push to main branch</text></g><g id="build_workflow.GHA"><g class="shape" ><rect x="608" y="30" width="209" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="712.500000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">GitHub Actions</text></g><g id="build_workflow.S3"><g class="shape" ><rect x="1144" y="30" width="71" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1179.500000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">S3</text></g><g id="build_workflow.Terraform"><g class="shape" ><rect x="1523" y="30" width="158" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1602.000000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">Terraform</text></g><g id="build_workflow.AWS"><g class="shape" ><rect x="2039" y="30" width="95" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="2086.500000" y="77.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">AWS</text></g><g id="build_workflow.(push -&gt; GHA)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 367.500000 68.500000 C 461.900000 68.500000 510.300000 68.500000 603.500000 68.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3675369068)"/><text class="text-italic" x="487.000000" y="74.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Triggers</text></g><g id="build_workflow.(GHA -&gt; S3)[0]"><path d="M 819.500000 68.500000 C 947.500000 68.500000 1012.700000 68.500000 1139.500000 68.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3675369068)"/><text class="text-italic" x="981.000000" y="74.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Builds zip &amp; pushes it</text></g><g id="build_workflow.(S3 &lt;-&gt; Terraform)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 1219.500000 68.500000 C 1337.900000 68.500000 1399.300000 68.500000 1518.500000 68.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" mask="url(#3675369068)"/><text class="text-italic" x="1369.500000" y="74.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Pulls zip to deploy</text></g><g id="build_workflow.(Terraform -&gt; AWS)[0]"><path d="M 1683.500000 68.500000 C 1823.900000 68.500000 1895.300000 68.500000 2034.500000 68.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3675369068)"/><text class="text-italic" x="1860.500000" y="74.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Changes the live lambdas</text></g><mask id="3675369068" maskUnits="userSpaceOnUse" x="-100" y="-100" width="2432" height="380">
<rect x="-100" y="-100" width="2432" height="380" fill="white"></rect> <rect x="-100" y="-100" width="2432" height="380" fill="white"></rect>
<rect x="460.000000" y="58.000000" width="54" height="21" fill="black"></rect> <rect x="460.000000" y="58.000000" width="54" height="21" fill="black"></rect>
<rect x="912.000000" y="58.000000" width="138" height="21" fill="black"></rect> <rect x="912.000000" y="58.000000" width="138" height="21" fill="black"></rect>
<rect x="1310.000000" y="58.000000" width="119" height="21" fill="black"></rect> <rect x="1310.000000" y="58.000000" width="119" height="21" fill="black"></rect>
<rect x="1776.000000" y="58.000000" width="169" height="21" fill="black"></rect> <rect x="1776.000000" y="58.000000" width="169" height="21" fill="black"></rect>
||||||| 749d236a
]]></script><g id="build_workflow"><g class="shape" ><rect x="0" y="0" width="2328" height="177" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="1164.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">lambda-build.yaml</text></g><g id="build_workflow.push"><g class="shape" ><rect x="105" y="50" width="270" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="240.000000" y="97.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">Push to main branch</text></g><g id="build_workflow.GHA"><g class="shape" ><rect x="638" y="50" width="209" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="742.500000" y="97.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">GitHub Actions</text></g><g id="build_workflow.S3"><g class="shape" ><rect x="1194" y="50" width="71" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1229.500000" y="97.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">S3</text></g><g id="build_workflow.Terraform"><g class="shape" ><rect x="1593" y="50" width="158" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1672.000000" y="97.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">Terraform</text></g><g id="build_workflow.AWS"><g class="shape" ><rect x="2129" y="50" width="95" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="2176.500000" y="97.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">AWS</text></g><g id="build_workflow.(push -&gt; GHA)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 377.500000 88.500000 C 479.900000 88.500000 532.300000 88.500000 633.500000 88.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2796260647)"/><text class="text-italic" x="507.000000" y="94.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Triggers</text></g><g id="build_workflow.(GHA -&gt; S3)[0]"><path d="M 848.500000 88.500000 C 985.300000 88.500000 1054.700000 88.500000 1189.500000 88.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2796260647)"/><text class="text-italic" x="1020.000000" y="94.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Builds zip &amp; pushes it</text></g><g id="build_workflow.(S3 &lt;-&gt; Terraform)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 1269.500000 88.500000 C 1395.900000 88.500000 1461.300000 88.500000 1588.500000 88.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" mask="url(#2796260647)"/><text class="text-italic" x="1429.500000" y="94.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Pulls zip to deploy</text></g><g id="build_workflow.(Terraform -&gt; AWS)[0]"><path d="M 1753.500000 88.500000 C 1901.900000 88.500000 1977.300000 88.500000 2124.500000 88.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2796260647)"/><text class="text-italic" x="1940.500000" y="94.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Changes the live lambdas</text></g><mask id="2796260647" maskUnits="userSpaceOnUse" x="-100" y="-100" width="2532" height="381">
<rect x="-100" y="-100" width="2532" height="381" fill="white"></rect>
<rect x="480.000000" y="78.000000" width="54" height="21" fill="black"></rect>
<rect x="951.000000" y="78.000000" width="138" height="21" fill="black"></rect>
<rect x="1370.000000" y="78.000000" width="119" height="21" fill="black"></rect>
<rect x="1856.000000" y="78.000000" width="169" height="21" fill="black"></rect>
=======
]]></script><g id="build_workflow"><g class="shape" ><rect x="0" y="41" width="2328" height="136" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="1164.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">lambda-build.yaml</text></g><g id="build_workflow.push"><g class="shape" ><rect x="105" y="70" width="270" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="240.000000" y="117.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">Push to main branch</text></g><g id="build_workflow.GHA"><g class="shape" ><rect x="638" y="70" width="209" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="742.500000" y="117.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">GitHub Actions</text></g><g id="build_workflow.S3"><g class="shape" ><rect x="1194" y="70" width="71" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1229.500000" y="117.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">S3</text></g><g id="build_workflow.Terraform"><g class="shape" ><rect x="1593" y="70" width="158" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1672.000000" y="117.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">Terraform</text></g><g id="build_workflow.AWS"><g class="shape" ><rect x="2129" y="70" width="95" height="77" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="2176.500000" y="117.500000" style="text-anchor:middle;font-size:25px;fill:#0A0F25">AWS</text></g><g id="build_workflow.(push -&gt; GHA)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 377.500000 109.000000 C 479.900000 109.000000 532.300000 109.000000 633.500000 109.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2865405460)"/><text class="text-italic" x="507.000000" y="115.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Triggers</text></g><g id="build_workflow.(GHA -&gt; S3)[0]"><path d="M 848.500000 109.000000 C 985.300000 109.000000 1054.700000 109.000000 1189.500000 109.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2865405460)"/><text class="text-italic" x="1020.000000" y="115.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Builds zip &amp; pushes it</text></g><g id="build_workflow.(S3 &lt;-&gt; Terraform)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 1269.500000 109.000000 C 1395.900000 109.000000 1461.300000 109.000000 1588.500000 109.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" marker-end="url(#mk-3990223579)" mask="url(#2865405460)"/><text class="text-italic" x="1429.500000" y="115.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Pulls zip to deploy</text></g><g id="build_workflow.(Terraform -&gt; AWS)[0]"><path d="M 1753.500000 109.000000 C 1901.900000 109.000000 1977.300000 109.000000 2124.500000 109.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2865405460)"/><text class="text-italic" x="1940.500000" y="115.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">Changes the live lambdas</text></g><mask id="2865405460" maskUnits="userSpaceOnUse" x="-100" y="-100" width="2532" height="379">
<rect x="-100" y="-100" width="2532" height="379" fill="white"></rect>
<rect x="480.000000" y="99.000000" width="54" height="21" fill="black"></rect>
<rect x="951.000000" y="99.000000" width="138" height="21" fill="black"></rect>
<rect x="1370.000000" y="99.000000" width="119" height="21" fill="black"></rect>
<rect x="1856.000000" y="99.000000" width="169" height="21" fill="black"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";

Before

Width:  |  Height:  |  Size: 795 KiB

After

Width:  |  Height:  |  Size: 804 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 330, "width": 330,
"height": 1262, "height": 1262,
||||||| 749d236a
"width": 370,
"height": 1372,
=======
"width": 370,
"height": 1331,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "build_workflow.push", "id": "build_workflow.push",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 30, "x": 30,
"y": 63 "y": 63
||||||| 749d236a
"x": 50,
"y": 73
=======
"x": 50,
"y": 93
>>>>>>> master
}, },
"width": 270, "width": 270,
"height": 77, "height": 77,
@ -88,8 +104,16 @@
"id": "build_workflow.GHA", "id": "build_workflow.GHA",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 61, "x": 61,
"y": 292 "y": 292
||||||| 749d236a
"x": 81,
"y": 322
=======
"x": 81,
"y": 342
>>>>>>> master
}, },
"width": 209, "width": 209,
"height": 77, "height": 77,
@ -129,8 +153,16 @@
"id": "build_workflow.S3", "id": "build_workflow.S3",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 130, "x": 130,
"y": 601 "y": 601
||||||| 749d236a
"x": 150,
"y": 651
=======
"x": 150,
"y": 671
>>>>>>> master
}, },
"width": 71, "width": 71,
"height": 77, "height": 77,
@ -170,8 +202,16 @@
"id": "build_workflow.Terraform", "id": "build_workflow.Terraform",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 86, "x": 86,
"y": 893 "y": 893
||||||| 749d236a
"x": 106,
"y": 973
=======
"x": 106,
"y": 993
>>>>>>> master
}, },
"width": 158, "width": 158,
"height": 77, "height": 77,
@ -211,8 +251,16 @@
"id": "build_workflow.AWS", "id": "build_workflow.AWS",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 118, "x": 118,
"y": 1122 "y": 1122
||||||| 749d236a
"x": 138,
"y": 1222
=======
"x": 138,
"y": 1242
>>>>>>> master
}, },
"width": 95, "width": 95,
"height": 77, "height": 77,
@ -252,11 +300,27 @@
"id": "deploy_workflow", "id": "deploy_workflow",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 350, "x": 350,
"y": 0 "y": 0
||||||| 749d236a
"x": 410,
"y": 0
=======
"x": 410,
"y": 41
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 271, "width": 271,
"height": 741, "height": 741,
||||||| 749d236a
"width": 311,
"height": 801,
=======
"width": 311,
"height": 760,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -293,8 +357,16 @@
"id": "deploy_workflow.manual", "id": "deploy_workflow.manual",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 380, "x": 380,
"y": 63 "y": 63
||||||| 749d236a
"x": 460,
"y": 73
=======
"x": 460,
"y": 93
>>>>>>> master
}, },
"width": 211, "width": 211,
"height": 77, "height": 77,
@ -334,8 +406,16 @@
"id": "deploy_workflow.GHA", "id": "deploy_workflow.GHA",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 381, "x": 381,
"y": 292 "y": 292
||||||| 749d236a
"x": 461,
"y": 322
=======
"x": 461,
"y": 342
>>>>>>> master
}, },
"width": 209, "width": 209,
"height": 77, "height": 77,
@ -375,8 +455,16 @@
"id": "deploy_workflow.AWS", "id": "deploy_workflow.AWS",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 438, "x": 438,
"y": 601 "y": 601
||||||| 749d236a
"x": 518,
"y": 651
=======
"x": 518,
"y": 671
>>>>>>> master
}, },
"width": 95, "width": 95,
"height": 77, "height": 77,
@ -416,11 +504,27 @@
"id": "apollo_workflow", "id": "apollo_workflow",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 641, "x": 641,
"y": 0 "y": 0
||||||| 749d236a
"x": 761,
"y": 0
=======
"x": 761,
"y": 41
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 573, "width": 573,
"height": 741, "height": 741,
||||||| 749d236a
"width": 613,
"height": 801,
=======
"width": 613,
"height": 760,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -457,8 +561,16 @@
"id": "apollo_workflow.apollo", "id": "apollo_workflow.apollo",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 839, "x": 839,
"y": 63 "y": 63
||||||| 749d236a
"x": 979,
"y": 73
=======
"x": 979,
"y": 93
>>>>>>> master
}, },
"width": 178, "width": 178,
"height": 77, "height": 77,
@ -498,8 +610,16 @@
"id": "apollo_workflow.GHA", "id": "apollo_workflow.GHA",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 823, "x": 823,
"y": 292 "y": 292
||||||| 749d236a
"x": 963,
"y": 322
=======
"x": 963,
"y": 342
>>>>>>> master
}, },
"width": 209, "width": 209,
"height": 77, "height": 77,
@ -539,8 +659,16 @@
"id": "apollo_workflow.AWS", "id": "apollo_workflow.AWS",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 880, "x": 880,
"y": 601 "y": 601
||||||| 749d236a
"x": 1020,
"y": 651
=======
"x": 1020,
"y": 671
>>>>>>> master
}, },
"width": 95, "width": 95,
"height": 77, "height": 77,
@ -604,20 +732,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 140 "y": 140
||||||| 749d236a
"x": 185,
"y": 150
=======
"x": 185,
"y": 170.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 200.8 "y": 200.8
||||||| 749d236a
"x": 185,
"y": 218.8
=======
"x": 185,
"y": 239.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 231.2 "y": 231.2
||||||| 749d236a
"x": 185,
"y": 253.2
=======
"x": 185,
"y": 273.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 292 "y": 292
||||||| 749d236a
"x": 185,
"y": 322
=======
"x": 185,
"y": 342.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -652,20 +812,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 369 "y": 369
||||||| 749d236a
"x": 185,
"y": 399
=======
"x": 185,
"y": 419.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 461.8 "y": 461.8
||||||| 749d236a
"x": 185,
"y": 499.8
=======
"x": 185,
"y": 520.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 508.2 "y": 508.2
||||||| 749d236a
"x": 185,
"y": 550.2
=======
"x": 185,
"y": 570.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 601 "y": 601
||||||| 749d236a
"x": 185,
"y": 651
=======
"x": 185,
"y": 671.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -700,20 +892,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 678 "y": 678
||||||| 749d236a
"x": 185,
"y": 728
=======
"x": 185,
"y": 748.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 728.4 "y": 728.4
||||||| 749d236a
"x": 185,
"y": 786.4
=======
"x": 185,
"y": 806.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 832.2 "y": 832.2
||||||| 749d236a
"x": 185,
"y": 904.2
=======
"x": 185,
"y": 924.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 893 "y": 893
||||||| 749d236a
"x": 185,
"y": 973
=======
"x": 185,
"y": 993.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -748,20 +972,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 970 "y": 970
||||||| 749d236a
"x": 185,
"y": 1050
=======
"x": 185,
"y": 1070.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 1030.8 "y": 1030.8
||||||| 749d236a
"x": 185,
"y": 1118.8
=======
"x": 185,
"y": 1139.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 1061.2 "y": 1061.2
||||||| 749d236a
"x": 185,
"y": 1153.2
=======
"x": 185,
"y": 1173.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 165, "x": 165,
"y": 1122 "y": 1122
||||||| 749d236a
"x": 185,
"y": 1222
=======
"x": 185,
"y": 1242.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -796,20 +1052,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 485.5, "x": 485.5,
"y": 140 "y": 140
||||||| 749d236a
"x": 565.5,
"y": 150
=======
"x": 565.5,
"y": 170.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 485.5, "x": 485.5,
"y": 200.8 "y": 200.8
||||||| 749d236a
"x": 565.5,
"y": 218.8
=======
"x": 565.5,
"y": 239.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 485.5, "x": 485.5,
"y": 231.2 "y": 231.2
||||||| 749d236a
"x": 565.5,
"y": 253.2
=======
"x": 565.5,
"y": 273.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 485.5, "x": 485.5,
"y": 292 "y": 292
||||||| 749d236a
"x": 565.5,
"y": 322
=======
"x": 565.5,
"y": 342.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -844,20 +1132,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 485.5, "x": 485.5,
"y": 369 "y": 369
||||||| 749d236a
"x": 565.5,
"y": 399
=======
"x": 565.5,
"y": 419.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 485.5, "x": 485.5,
"y": 461.8 "y": 461.8
||||||| 749d236a
"x": 565.5,
"y": 499.8
=======
"x": 565.5,
"y": 520.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 485.5, "x": 485.5,
"y": 508.2 "y": 508.2
||||||| 749d236a
"x": 565.5,
"y": 550.2
=======
"x": 565.5,
"y": 570.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 485.5, "x": 485.5,
"y": 601 "y": 601
||||||| 749d236a
"x": 565.5,
"y": 651
=======
"x": 565.5,
"y": 671.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -892,20 +1212,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 927.5, "x": 927.5,
"y": 140 "y": 140
||||||| 749d236a
"x": 1067.5,
"y": 150
=======
"x": 1067.5,
"y": 170.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 927.5, "x": 927.5,
"y": 200.8 "y": 200.8
||||||| 749d236a
"x": 1067.5,
"y": 218.8
=======
"x": 1067.5,
"y": 239.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 927.5, "x": 927.5,
"y": 231.2 "y": 231.2
||||||| 749d236a
"x": 1067.5,
"y": 253.2
=======
"x": 1067.5,
"y": 273.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 927.5, "x": 927.5,
"y": 292 "y": 292
||||||| 749d236a
"x": 1067.5,
"y": 322
=======
"x": 1067.5,
"y": 342.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -940,20 +1292,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 927.5, "x": 927.5,
"y": 369 "y": 369
||||||| 749d236a
"x": 1067.5,
"y": 399
=======
"x": 1067.5,
"y": 419.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 927.5, "x": 927.5,
"y": 461.8 "y": 461.8
||||||| 749d236a
"x": 1067.5,
"y": 499.8
=======
"x": 1067.5,
"y": 520.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 927.5, "x": 927.5,
"y": 508.2 "y": 508.2
||||||| 749d236a
"x": 1067.5,
"y": 550.2
=======
"x": 1067.5,
"y": 570.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 927.5, "x": 927.5,
"y": 601 "y": 601
||||||| 749d236a
"x": 1067.5,
"y": 651
=======
"x": 1067.5,
"y": 671.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 799 KiB

After

Width:  |  Height:  |  Size: 817 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 226, "width": 226,
"height": 126, "height": 126,
||||||| 749d236a
"width": 306,
"height": 166,
=======
"width": 306,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "x.a", "id": "x.a",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 30, "x": 30,
"y": 30 "y": 30
||||||| 749d236a
"x": 50,
"y": 50
=======
"x": 50,
"y": 70
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -88,8 +104,16 @@
"id": "x.b", "id": "x.b",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 143, "x": 143,
"y": 30 "y": 30
||||||| 749d236a
"x": 203,
"y": 50
=======
"x": 203,
"y": 70
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -153,56 +177,160 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 83, "x": 83,
"y": 44.193548387096776 "y": 44.193548387096776
||||||| 749d236a
"x": 103,
"y": 68.38440111420613
=======
"x": 103,
"y": 88.88440111420613
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 99, "x": 99,
"y": 32.83870967741935 "y": 32.83870967741935
||||||| 749d236a
"x": 129.66666666666669,
"y": 53.67688022284123
=======
"x": 129.66666666666669,
"y": 74.17688022284122
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 104, "x": 104,
"y": 30 "y": 30
||||||| 749d236a
"x": 138,
"y": 50
=======
"x": 138,
"y": 70.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 105.5, "x": 105.5,
"y": 30 "y": 30
||||||| 749d236a
"x": 140.5,
"y": 50
=======
"x": 140.5,
"y": 70.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 107, "x": 107,
"y": 30 "y": 30
||||||| 749d236a
"x": 143,
"y": 50
=======
"x": 143,
"y": 70.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 109, "x": 109,
"y": 36.6 "y": 36.6
||||||| 749d236a
"x": 146.33333333333331,
"y": 56.6
=======
"x": 146.33333333333331,
"y": 77.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 110.5, "x": 110.5,
"y": 46.5 "y": 46.5
||||||| 749d236a
"x": 148.83333333333331,
"y": 66.5
=======
"x": 148.83333333333331,
"y": 87
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 112, "x": 112,
"y": 56.400000000000006 "y": 56.400000000000006
||||||| 749d236a
"x": 151.33333333333334,
"y": 76.4
=======
"x": 151.33333333333334,
"y": 96.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 112, "x": 112,
"y": 69.6 "y": 69.6
||||||| 749d236a
"x": 151.33333333333334,
"y": 89.6
=======
"x": 151.33333333333334,
"y": 110.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 110.5, "x": 110.5,
"y": 79.5 "y": 79.5
||||||| 749d236a
"x": 148.83333333333331,
"y": 99.5
=======
"x": 148.83333333333331,
"y": 120
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 109, "x": 109,
"y": 89.4 "y": 89.4
||||||| 749d236a
"x": 146.33333333333331,
"y": 109.4
=======
"x": 146.33333333333331,
"y": 129.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 99, "x": 99,
"y": 93.16129032258064 "y": 93.16129032258064
||||||| 749d236a
"x": 129.66666666666669,
"y": 112.32311977715878
=======
"x": 129.66666666666669,
"y": 132.82311977715878
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 83, "x": 83,
"y": 81.80645161290323 "y": 81.80645161290323
||||||| 749d236a
"x": 103,
"y": 97.61559888579387
=======
"x": 103,
"y": 118.11559888579387
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="430" height="369" viewBox="-102 -141 430 369"><style type="text/css"> width="430" height="369" viewBox="-102 -141 430 369"><style type="text/css">
||||||| 749d236a
width="510" height="370" viewBox="-102 -102 510 370"><style type="text/css">
=======
width="510" height="368" viewBox="-102 -100 510 368"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,8 +45,16 @@ width="430" height="369" viewBox="-102 -141 430 369"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="x"><g class="shape" ><rect x="0" y="0" width="226" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="113.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">x</text></g><g id="x.a"><g class="shape" ><rect x="30" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="x.b"><g class="shape" ><rect x="143" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="169.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="x.(a -&gt; a)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 84.631014 43.036054 C 99.000000 32.838710 104.000000 30.000000 105.500000 30.000000 C 107.000000 30.000000 109.000000 36.600000 110.500000 46.500000 C 112.000000 56.400000 112.000000 69.600000 110.500000 79.500000 C 109.000000 89.400000 99.000000 93.161290 86.262029 84.121440" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#213700944)"/></g><mask id="213700944" maskUnits="userSpaceOnUse" x="-100" y="-100" width="430" height="369"> ]]></script><g id="x"><g class="shape" ><rect x="0" y="0" width="226" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="113.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">x</text></g><g id="x.a"><g class="shape" ><rect x="30" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="56.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="x.b"><g class="shape" ><rect x="143" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="169.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="x.(a -&gt; a)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 84.631014 43.036054 C 99.000000 32.838710 104.000000 30.000000 105.500000 30.000000 C 107.000000 30.000000 109.000000 36.600000 110.500000 46.500000 C 112.000000 56.400000 112.000000 69.600000 110.500000 79.500000 C 109.000000 89.400000 99.000000 93.161290 86.262029 84.121440" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#213700944)"/></g><mask id="213700944" maskUnits="userSpaceOnUse" x="-100" y="-100" width="430" height="369">
<rect x="-100" y="-100" width="430" height="369" fill="white"></rect> <rect x="-100" y="-100" width="430" height="369" fill="white"></rect>
||||||| 749d236a
]]></script><g id="x"><g class="shape" ><rect x="0" y="0" width="306" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="153.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">x</text></g><g id="x.a"><g class="shape" ><rect x="50" y="50" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="76.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="x.b"><g class="shape" ><rect x="203" y="50" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="229.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="x.(a -&gt; a)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 104.751298 67.418504 C 129.666667 53.676880 138.000000 50.000000 140.500000 50.000000 C 143.000000 50.000000 146.333333 56.600000 148.833333 66.500000 C 151.333333 76.400000 151.333333 89.600000 148.833333 99.500000 C 146.333333 109.400000 129.666667 112.323120 106.502595 99.547392" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2444376964)"/></g><mask id="2444376964" maskUnits="userSpaceOnUse" x="-100" y="-100" width="510" height="370">
<rect x="-100" y="-100" width="510" height="370" fill="white"></rect>
=======
]]></script><g id="x"><g class="shape" ><rect x="0" y="41" width="306" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="153.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">x</text></g><g id="x.a"><g class="shape" ><rect x="50" y="70" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="76.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="x.b"><g class="shape" ><rect x="203" y="70" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="229.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="x.(a -&gt; a)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 104.751298 87.918504 C 129.666667 74.176880 138.000000 70.500000 140.500000 70.500000 C 143.000000 70.500000 146.333333 77.100000 148.833333 87.000000 C 151.333333 96.900000 151.333333 110.100000 148.833333 120.000000 C 146.333333 129.900000 129.666667 132.823120 106.502595 120.047392" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3783909634)"/></g><mask id="3783909634" maskUnits="userSpaceOnUse" x="-100" y="-100" width="510" height="368">
<rect x="-100" y="-100" width="510" height="368" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 649 KiB

After

Width:  |  Height:  |  Size: 653 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 1106, "width": 1106,
"height": 126, "height": 126,
||||||| 749d236a
"width": 1276,
"height": 166,
=======
"width": 1276,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "k8s.m1", "id": "k8s.m1",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 81, "x": 81,
"y": 30 "y": 30
||||||| 749d236a
"x": 131,
"y": 50
=======
"x": 131,
"y": 70
>>>>>>> master
}, },
"width": 132, "width": 132,
"height": 66, "height": 66,
@ -88,8 +104,16 @@
"id": "k8s.m2", "id": "k8s.m2",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 253, "x": 253,
"y": 30 "y": 30
||||||| 749d236a
"x": 323,
"y": 50
=======
"x": 323,
"y": 70
>>>>>>> master
}, },
"width": 132, "width": 132,
"height": 66, "height": 66,
@ -129,8 +153,16 @@
"id": "k8s.m3", "id": "k8s.m3",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 425, "x": 425,
"y": 30 "y": 30
||||||| 749d236a
"x": 515,
"y": 50
=======
"x": 515,
"y": 70
>>>>>>> master
}, },
"width": 132, "width": 132,
"height": 66, "height": 66,
@ -170,8 +202,16 @@
"id": "k8s.w1", "id": "k8s.w1",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 597, "x": 597,
"y": 30 "y": 30
||||||| 749d236a
"x": 707,
"y": 50
=======
"x": 707,
"y": 70
>>>>>>> master
}, },
"width": 133, "width": 133,
"height": 66, "height": 66,
@ -211,8 +251,16 @@
"id": "k8s.w2", "id": "k8s.w2",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 770, "x": 770,
"y": 30 "y": 30
||||||| 749d236a
"x": 900,
"y": 50
=======
"x": 900,
"y": 70
>>>>>>> master
}, },
"width": 133, "width": 133,
"height": 66, "height": 66,
@ -252,8 +300,16 @@
"id": "k8s.w3", "id": "k8s.w3",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 943, "x": 943,
"y": 30 "y": 30
||||||| 749d236a
"x": 1093,
"y": 50
=======
"x": 1093,
"y": 70
>>>>>>> master
}, },
"width": 133, "width": 133,
"height": 66, "height": 66,
@ -294,10 +350,24 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
<<<<<<< HEAD
"y": 207 "y": 207
||||||| 749d236a
"y": 287
=======
"y": 328
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 375, "width": 375,
"height": 126, "height": 126,
||||||| 749d236a
"width": 495,
"height": 166,
=======
"width": 495,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -334,8 +404,16 @@
"id": "osvc.vm1", "id": "osvc.vm1",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 126, "x": 126,
"y": 237 "y": 237
||||||| 749d236a
"x": 186,
"y": 337
=======
"x": 186,
"y": 357
>>>>>>> master
}, },
"width": 76, "width": 76,
"height": 66, "height": 66,
@ -375,8 +453,16 @@
"id": "osvc.vm2", "id": "osvc.vm2",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 269, "x": 269,
"y": 237 "y": 237
||||||| 749d236a
"x": 369,
"y": 337
=======
"x": 369,
"y": 357
>>>>>>> master
}, },
"width": 76, "width": 76,
"height": 66, "height": 66,
@ -448,12 +534,28 @@
"y": 158.4 "y": 158.4
}, },
{ {
<<<<<<< HEAD
"x": 54, "x": 54,
"y": 174.7 "y": 174.7
||||||| 749d236a
"x": 84,
"y": 238.7
=======
"x": 84,
"y": 246.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 54, "x": 54,
"y": 207.5 "y": 207.5
||||||| 749d236a
"x": 84,
"y": 287.5
=======
"x": 84,
"y": 328.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -496,12 +598,28 @@
"y": 158.4 "y": 158.4
}, },
{ {
<<<<<<< HEAD
"x": 136, "x": 136,
"y": 174.7 "y": 174.7
||||||| 749d236a
"x": 186,
"y": 238.7
=======
"x": 186,
"y": 246.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 136, "x": 136,
"y": 207.5 "y": 207.5
||||||| 749d236a
"x": 186,
"y": 287.5
=======
"x": 186,
"y": 328.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -544,12 +662,28 @@
"y": 158.4 "y": 158.4
}, },
{ {
<<<<<<< HEAD
"x": 212, "x": 212,
"y": 174.7 "y": 174.7
||||||| 749d236a
"x": 282,
"y": 238.7
=======
"x": 282,
"y": 246.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 212, "x": 212,
"y": 207.5 "y": 207.5
||||||| 749d236a
"x": 282,
"y": 287.5
=======
"x": 282,
"y": 328.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -592,12 +726,28 @@
"y": 158.4 "y": 158.4
}, },
{ {
<<<<<<< HEAD
"x": 273, "x": 273,
"y": 174.7 "y": 174.7
||||||| 749d236a
"x": 363,
"y": 238.7
=======
"x": 363,
"y": 246.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 273, "x": 273,
"y": 207.5 "y": 207.5
||||||| 749d236a
"x": 363,
"y": 287.5
=======
"x": 363,
"y": 328.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="1310" height="576" viewBox="-102 -141 1310 576"><style type="text/css"> width="1310" height="576" viewBox="-102 -141 1310 576"><style type="text/css">
||||||| 749d236a
width="1480" height="657" viewBox="-102 -102 1480 657"><style type="text/css">
=======
width="1480" height="655" viewBox="-102 -100 1480 655"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,12 +45,28 @@ width="1310" height="576" viewBox="-102 -141 1310 576"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="k8s"><g class="shape" ><rect x="0" y="0" width="1106" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="553.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">Kubernetes</text></g><g id="osvc"><g class="shape" ><rect x="0" y="207" width="375" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="187.500000" y="194.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">opensvc</text></g><g id="k8s.m1"><g class="shape" ><rect x="81" y="30" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="147.000000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master1</text></g><g id="k8s.m2"><g class="shape" ><rect x="253" y="30" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="319.000000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master2</text></g><g id="k8s.m3"><g class="shape" ><rect x="425" y="30" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="491.000000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master3</text></g><g id="k8s.w1"><g class="shape" ><rect x="597" y="30" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="663.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker1</text></g><g id="k8s.w2"><g class="shape" ><rect x="770" y="30" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="836.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker2</text></g><g id="k8s.w3"><g class="shape" ><rect x="943" y="30" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1009.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker3</text></g><g id="osvc.vm1"><g class="shape" ><rect x="126" y="237" width="76" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="164.000000" y="275.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">VM1</text></g><g id="osvc.vm2"><g class="shape" ><rect x="269" y="237" width="76" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="307.000000" y="275.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">VM2</text></g><g id="(k8s -&gt; osvc)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 54.000000 128.000000 C 54.000000 158.400000 54.000000 174.700000 54.000000 203.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1685298874)"/><text class="text-italic" x="54.500000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">keycloak</text></g><g id="(k8s -&gt; osvc)[1]"><path d="M 136.000000 128.000000 C 136.000000 158.400000 136.000000 174.700000 136.000000 203.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1685298874)"/><text class="text-italic" x="136.500000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">heptapod</text></g><g id="(k8s -&gt; osvc)[2]"><path d="M 212.000000 128.000000 C 212.000000 158.400000 212.000000 174.700000 212.000000 203.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1685298874)"/><text class="text-italic" x="212.500000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">harbor</text></g><g id="(k8s -&gt; osvc)[3]"><path d="M 273.000000 128.000000 C 273.000000 158.400000 273.000000 174.700000 273.000000 203.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1685298874)"/><text class="text-italic" x="273.500000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">vault</text></g><mask id="1685298874" maskUnits="userSpaceOnUse" x="-100" y="-100" width="1310" height="576"> ]]></script><g id="k8s"><g class="shape" ><rect x="0" y="0" width="1106" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="553.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">Kubernetes</text></g><g id="osvc"><g class="shape" ><rect x="0" y="207" width="375" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="187.500000" y="194.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">opensvc</text></g><g id="k8s.m1"><g class="shape" ><rect x="81" y="30" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="147.000000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master1</text></g><g id="k8s.m2"><g class="shape" ><rect x="253" y="30" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="319.000000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master2</text></g><g id="k8s.m3"><g class="shape" ><rect x="425" y="30" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="491.000000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master3</text></g><g id="k8s.w1"><g class="shape" ><rect x="597" y="30" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="663.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker1</text></g><g id="k8s.w2"><g class="shape" ><rect x="770" y="30" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="836.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker2</text></g><g id="k8s.w3"><g class="shape" ><rect x="943" y="30" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1009.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker3</text></g><g id="osvc.vm1"><g class="shape" ><rect x="126" y="237" width="76" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="164.000000" y="275.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">VM1</text></g><g id="osvc.vm2"><g class="shape" ><rect x="269" y="237" width="76" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="307.000000" y="275.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">VM2</text></g><g id="(k8s -&gt; osvc)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 54.000000 128.000000 C 54.000000 158.400000 54.000000 174.700000 54.000000 203.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1685298874)"/><text class="text-italic" x="54.500000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">keycloak</text></g><g id="(k8s -&gt; osvc)[1]"><path d="M 136.000000 128.000000 C 136.000000 158.400000 136.000000 174.700000 136.000000 203.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1685298874)"/><text class="text-italic" x="136.500000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">heptapod</text></g><g id="(k8s -&gt; osvc)[2]"><path d="M 212.000000 128.000000 C 212.000000 158.400000 212.000000 174.700000 212.000000 203.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1685298874)"/><text class="text-italic" x="212.500000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">harbor</text></g><g id="(k8s -&gt; osvc)[3]"><path d="M 273.000000 128.000000 C 273.000000 158.400000 273.000000 174.700000 273.000000 203.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1685298874)"/><text class="text-italic" x="273.500000" y="172.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">vault</text></g><mask id="1685298874" maskUnits="userSpaceOnUse" x="-100" y="-100" width="1310" height="576">
<rect x="-100" y="-100" width="1310" height="576" fill="white"></rect> <rect x="-100" y="-100" width="1310" height="576" fill="white"></rect>
<rect x="25.000000" y="156.000000" width="59" height="21" fill="black"></rect> <rect x="25.000000" y="156.000000" width="59" height="21" fill="black"></rect>
<rect x="104.000000" y="156.000000" width="65" height="21" fill="black"></rect> <rect x="104.000000" y="156.000000" width="65" height="21" fill="black"></rect>
<rect x="189.000000" y="156.000000" width="47" height="21" fill="black"></rect> <rect x="189.000000" y="156.000000" width="47" height="21" fill="black"></rect>
<rect x="256.000000" y="156.000000" width="35" height="21" fill="black"></rect> <rect x="256.000000" y="156.000000" width="35" height="21" fill="black"></rect>
||||||| 749d236a
]]></script><g id="k8s"><g class="shape" ><rect x="0" y="0" width="1276" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="638.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">Kubernetes</text></g><g id="osvc"><g class="shape" ><rect x="0" y="287" width="495" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="247.500000" y="320.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">opensvc</text></g><g id="k8s.m1"><g class="shape" ><rect x="131" y="50" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="197.000000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master1</text></g><g id="k8s.m2"><g class="shape" ><rect x="323" y="50" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="389.000000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master2</text></g><g id="k8s.m3"><g class="shape" ><rect x="515" y="50" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="581.000000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master3</text></g><g id="k8s.w1"><g class="shape" ><rect x="707" y="50" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="773.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker1</text></g><g id="k8s.w2"><g class="shape" ><rect x="900" y="50" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="966.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker2</text></g><g id="k8s.w3"><g class="shape" ><rect x="1093" y="50" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1159.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker3</text></g><g id="osvc.vm1"><g class="shape" ><rect x="186" y="337" width="76" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="224.000000" y="375.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">VM1</text></g><g id="osvc.vm2"><g class="shape" ><rect x="369" y="337" width="76" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="407.000000" y="375.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">VM2</text></g><g id="(k8s -&gt; osvc)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 84.000000 168.000000 C 84.000000 214.400000 84.000000 238.700000 84.000000 283.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1066329477)"/><text class="text-italic" x="84.500000" y="232.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">keycloak</text></g><g id="(k8s -&gt; osvc)[1]"><path d="M 186.000000 168.000000 C 186.000000 214.400000 186.000000 238.700000 186.000000 283.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1066329477)"/><text class="text-italic" x="186.500000" y="232.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">heptapod</text></g><g id="(k8s -&gt; osvc)[2]"><path d="M 282.000000 168.000000 C 282.000000 214.400000 282.000000 238.700000 282.000000 283.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1066329477)"/><text class="text-italic" x="282.500000" y="232.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">harbor</text></g><g id="(k8s -&gt; osvc)[3]"><path d="M 363.000000 168.000000 C 363.000000 214.400000 363.000000 238.700000 363.000000 283.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1066329477)"/><text class="text-italic" x="363.500000" y="232.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">vault</text></g><mask id="1066329477" maskUnits="userSpaceOnUse" x="-100" y="-100" width="1480" height="657">
<rect x="-100" y="-100" width="1480" height="657" fill="white"></rect>
<rect x="55.000000" y="216.000000" width="59" height="21" fill="black"></rect>
<rect x="154.000000" y="216.000000" width="65" height="21" fill="black"></rect>
<rect x="259.000000" y="216.000000" width="47" height="21" fill="black"></rect>
<rect x="346.000000" y="216.000000" width="35" height="21" fill="black"></rect>
=======
]]></script><g id="k8s"><g class="shape" ><rect x="0" y="41" width="1276" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="638.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">Kubernetes</text></g><g id="osvc"><g class="shape" ><rect x="0" y="328" width="495" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="247.500000" y="315.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">opensvc</text></g><g id="k8s.m1"><g class="shape" ><rect x="131" y="70" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="197.000000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master1</text></g><g id="k8s.m2"><g class="shape" ><rect x="323" y="70" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="389.000000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master2</text></g><g id="k8s.m3"><g class="shape" ><rect x="515" y="70" width="132" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="581.000000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-master3</text></g><g id="k8s.w1"><g class="shape" ><rect x="707" y="70" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="773.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker1</text></g><g id="k8s.w2"><g class="shape" ><rect x="900" y="70" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="966.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker2</text></g><g id="k8s.w3"><g class="shape" ><rect x="1093" y="70" width="133" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="1159.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">k8s-worker3</text></g><g id="osvc.vm1"><g class="shape" ><rect x="186" y="357" width="76" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="224.000000" y="395.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">VM1</text></g><g id="osvc.vm2"><g class="shape" ><rect x="369" y="357" width="76" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="407.000000" y="395.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">VM2</text></g><g id="(k8s -&gt; osvc)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 84.000000 168.000000 C 84.000000 214.400000 84.000000 246.900000 84.000000 324.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2738680688)"/><text class="text-italic" x="84.500000" y="253.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">keycloak</text></g><g id="(k8s -&gt; osvc)[1]"><path d="M 186.000000 168.000000 C 186.000000 214.400000 186.000000 246.900000 186.000000 324.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2738680688)"/><text class="text-italic" x="186.500000" y="253.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">heptapod</text></g><g id="(k8s -&gt; osvc)[2]"><path d="M 282.000000 168.000000 C 282.000000 214.400000 282.000000 246.900000 282.000000 324.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2738680688)"/><text class="text-italic" x="282.500000" y="253.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">harbor</text></g><g id="(k8s -&gt; osvc)[3]"><path d="M 363.000000 168.000000 C 363.000000 214.400000 363.000000 246.900000 363.000000 324.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2738680688)"/><text class="text-italic" x="363.500000" y="253.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">vault</text></g><mask id="2738680688" maskUnits="userSpaceOnUse" x="-100" y="-100" width="1480" height="655">
<rect x="-100" y="-100" width="1480" height="655" fill="white"></rect>
<rect x="55.000000" y="237.000000" width="59" height="21" fill="black"></rect>
<rect x="154.000000" y="237.000000" width="65" height="21" fill="black"></rect>
<rect x="259.000000" y="237.000000" width="47" height="21" fill="black"></rect>
<rect x="346.000000" y="237.000000" width="35" height="21" fill="black"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";

Before

Width:  |  Height:  |  Size: 795 KiB

After

Width:  |  Height:  |  Size: 805 KiB

View file

@ -6,11 +6,27 @@
"id": "a", "id": "a",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 1, "x": 1,
"y": 0 "y": 0
||||||| 749d236a
"x": 0,
"y": 0
=======
"x": 0,
"y": 41
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 113, "width": 113,
"height": 126, "height": 126,
||||||| 749d236a
"width": 156,
"height": 166,
=======
"width": 156,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +63,16 @@
"id": "a.b", "id": "a.b",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 31, "x": 31,
"y": 30 "y": 30
||||||| 749d236a
"x": 54,
"y": 50
=======
"x": 54,
"y": 70
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -89,10 +113,24 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
<<<<<<< HEAD
"y": 186 "y": 186
||||||| 749d236a
"y": 266
=======
"y": 307
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 114, "width": 114,
"height": 126, "height": 126,
||||||| 749d236a
"width": 157,
"height": 166,
=======
"width": 157,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -129,8 +167,16 @@
"id": "c.d", "id": "c.d",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 30, "x": 30,
"y": 216 "y": 216
||||||| 749d236a
"x": 53,
"y": 316
=======
"x": 53,
"y": 336
>>>>>>> master
}, },
"width": 54, "width": 54,
"height": 66, "height": 66,
@ -194,12 +240,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 57, "x": 57,
"y": 96 "y": 96
||||||| 749d236a
"x": 80,
"y": 116
=======
"x": 80,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 57, "x": 57,
"y": 120 "y": 120
||||||| 749d236a
"x": 80,
"y": 156
=======
"x": 80,
"y": 160.1
>>>>>>> master
}, },
{ {
"x": 57, "x": 57,
@ -214,12 +276,28 @@
"y": 150 "y": 150
}, },
{ {
<<<<<<< HEAD
"x": 57, "x": 57,
"y": 192 "y": 192
||||||| 749d236a
"x": 80,
"y": 276
=======
"x": 80,
"y": 280.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 57, "x": 57,
"y": 216 "y": 216
||||||| 749d236a
"x": 80,
"y": 316
=======
"x": 80,
"y": 336.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="318" height="555" viewBox="-102 -141 318 555"><style type="text/css"> width="318" height="555" viewBox="-102 -141 318 555"><style type="text/css">
||||||| 749d236a
width="361" height="636" viewBox="-102 -102 361 636"><style type="text/css">
=======
width="361" height="634" viewBox="-102 -100 361 634"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,8 +45,16 @@ width="318" height="555" viewBox="-102 -141 318 555"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="a"><g class="shape" ><rect x="1" y="0" width="113" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="57.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="0" y="186" width="114" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="57.000000" y="173.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">c</text></g><g id="a.b"><g class="shape" ><rect x="31" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="57.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c.d"><g class="shape" ><rect x="30" y="216" width="54" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="57.000000" y="254.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="(a.b -&gt; c.d)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 57.000000 98.000000 C 57.000000 120.000000 57.000000 132.000000 57.000000 141.000000 C 57.000000 150.000000 57.000000 192.000000 57.000000 212.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2266081455)"/></g><mask id="2266081455" maskUnits="userSpaceOnUse" x="-100" y="-100" width="318" height="555"> ]]></script><g id="a"><g class="shape" ><rect x="1" y="0" width="113" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="57.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="0" y="186" width="114" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="57.000000" y="173.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">c</text></g><g id="a.b"><g class="shape" ><rect x="31" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="57.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c.d"><g class="shape" ><rect x="30" y="216" width="54" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="57.000000" y="254.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="(a.b -&gt; c.d)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 57.000000 98.000000 C 57.000000 120.000000 57.000000 132.000000 57.000000 141.000000 C 57.000000 150.000000 57.000000 192.000000 57.000000 212.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2266081455)"/></g><mask id="2266081455" maskUnits="userSpaceOnUse" x="-100" y="-100" width="318" height="555">
<rect x="-100" y="-100" width="318" height="555" fill="white"></rect> <rect x="-100" y="-100" width="318" height="555" fill="white"></rect>
||||||| 749d236a
]]></script><g id="a"><g class="shape" ><rect x="0" y="0" width="156" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="78.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="0" y="266" width="157" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="78.500000" y="299.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">c</text></g><g id="a.b"><g class="shape" ><rect x="54" y="50" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="80.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c.d"><g class="shape" ><rect x="53" y="316" width="54" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="80.000000" y="354.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="(a.b -&gt; c.d)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 80.000000 118.000000 C 80.000000 156.000000 80.000000 176.000000 80.000000 191.000000 C 80.000000 206.000000 80.000000 276.000000 80.000000 312.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#4117563475)"/></g><mask id="4117563475" maskUnits="userSpaceOnUse" x="-100" y="-100" width="361" height="636">
<rect x="-100" y="-100" width="361" height="636" fill="white"></rect>
=======
]]></script><g id="a"><g class="shape" ><rect x="0" y="41" width="156" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="78.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="0" y="307" width="157" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="78.500000" y="294.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">c</text></g><g id="a.b"><g class="shape" ><rect x="54" y="70" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="80.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c.d"><g class="shape" ><rect x="53" y="336" width="54" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="80.000000" y="374.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="(a.b -&gt; c.d)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 80.000000 138.500000 C 80.000000 160.100000 80.000000 176.000000 80.000000 191.000000 C 80.000000 206.000000 80.000000 280.100000 80.000000 332.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1368898776)"/></g><mask id="1368898776" maskUnits="userSpaceOnUse" x="-100" y="-100" width="361" height="634">
<rect x="-100" y="-100" width="361" height="634" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 649 KiB

After

Width:  |  Height:  |  Size: 653 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 158, "width": 158,
"height": 350, "height": 350,
||||||| 749d236a
"width": 218,
"height": 430,
=======
"width": 218,
"height": 389,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "aaa.bbb", "id": "aaa.bbb",
"type": "callout", "type": "callout",
"pos": { "pos": {
<<<<<<< HEAD
"x": 30, "x": 30,
"y": 229 "y": 229
||||||| 749d236a
"x": 50,
"y": 289
=======
"x": 50,
"y": 309
>>>>>>> master
}, },
"width": 72, "width": 72,
"height": 91, "height": 91,
@ -88,8 +104,16 @@
"id": "aaa.ccc", "id": "aaa.ccc",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 54, "x": 54,
"y": 56 "y": 56
||||||| 749d236a
"x": 84,
"y": 76
=======
"x": 84,
"y": 96
>>>>>>> master
}, },
"width": 68, "width": 68,
"height": 66, "height": 66,
@ -235,20 +259,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 80.7035175879397, "x": 80.7035175879397,
"y": 122 "y": 122
||||||| 749d236a
"x": 109.16317991631799,
"y": 142
=======
"x": 109.16317991631799,
"y": 162.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 68.94070351758793, "x": 68.94070351758793,
"y": 175.2 "y": 175.2
||||||| 749d236a
"x": 90.6326359832636,
"y": 211.2
=======
"x": 90.6326359832636,
"y": 231.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 66, "x": 66,
"y": 196.6 "y": 196.6
||||||| 749d236a
"x": 86,
"y": 240.6
=======
"x": 86,
"y": 261.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 66, "x": 66,
"y": 229 "y": 229
||||||| 749d236a
"x": 86,
"y": 289
=======
"x": 86,
"y": 309.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -291,12 +347,28 @@
"y": 200.4 "y": 200.4
}, },
{ {
<<<<<<< HEAD
"x": 107, "x": 107,
"y": 175.1 "y": 175.1
||||||| 749d236a
"x": 145.4,
"y": 211.1
=======
"x": 145.4,
"y": 215.2
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 95, "x": 95,
"y": 121.5 "y": 121.5
||||||| 749d236a
"x": 127,
"y": 141.5
=======
"x": 127,
"y": 162
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="465" height="593" viewBox="-102 -141 465 593"><style type="text/css"> width="465" height="593" viewBox="-102 -141 465 593"><style type="text/css">
||||||| 749d236a
width="545" height="634" viewBox="-102 -102 545 634"><style type="text/css">
=======
width="545" height="632" viewBox="-102 -100 545 632"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,10 +45,22 @@ width="465" height="593" viewBox="-102 -141 465 593"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="aaa"><g class="shape" ><rect x="0" y="0" width="158" height="350" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="79.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">aaa</text></g><g id="ddd"><g class="shape" ><path d="M 188 54 C 188 30 221 30 225 30 C 228 30 261 30 261 54 V 124 C 261 148 228 148 225 148 C 221 148 188 148 188 124 V 54 Z" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/><path d="M 188 54 C 188 78 221 78 225 78 C 228 78 261 78 261 54" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="224.500000" y="106.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">ddd</text></g><g id="eee"><g class="shape" ><path d="M 188 302 L 188 237 L 258 237 L 258 302 C 246 288 235 288 223 302 C 211 317 200 317 188 302 Z" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="223.000000" y="270.610964" style="text-anchor:middle;font-size:16px;fill:#0A0F25">eee</text></g><g id="aaa.bbb"><g class="shape" ><path d="M 30 229 V 275 H 66 V 320 L 96 275 H 102 V 229 H 30 Z" style="fill:#FFFFFF;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="66.000000" y="257.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">bbb</text></g><g id="aaa.ccc"><g class="shape" ><rect x="54" y="56" width="68" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="88.000000" y="94.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">ccc</text></g><g id="(aaa.ccc -- aaa)[0]"><path d="M 80.271735 123.952835 C 68.940704 175.200000 66.000000 196.600000 66.000000 227.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" mask="url(#4231385393)"/><text class="text-italic" x="68.500000" y="180.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">111</text></g><g id="(eee &lt;- aaa.ccc)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 184.819678 245.573985 C 125.600000 200.400000 107.000000 175.100000 95.436945 123.451686" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" mask="url(#4231385393)"/><text class="text-italic" x="123.500000" y="203.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">222</text></g><mask id="4231385393" maskUnits="userSpaceOnUse" x="-100" y="-100" width="465" height="593"> ]]></script><g id="aaa"><g class="shape" ><rect x="0" y="0" width="158" height="350" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="79.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">aaa</text></g><g id="ddd"><g class="shape" ><path d="M 188 54 C 188 30 221 30 225 30 C 228 30 261 30 261 54 V 124 C 261 148 228 148 225 148 C 221 148 188 148 188 124 V 54 Z" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/><path d="M 188 54 C 188 78 221 78 225 78 C 228 78 261 78 261 54" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="224.500000" y="106.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">ddd</text></g><g id="eee"><g class="shape" ><path d="M 188 302 L 188 237 L 258 237 L 258 302 C 246 288 235 288 223 302 C 211 317 200 317 188 302 Z" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="223.000000" y="270.610964" style="text-anchor:middle;font-size:16px;fill:#0A0F25">eee</text></g><g id="aaa.bbb"><g class="shape" ><path d="M 30 229 V 275 H 66 V 320 L 96 275 H 102 V 229 H 30 Z" style="fill:#FFFFFF;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="66.000000" y="257.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">bbb</text></g><g id="aaa.ccc"><g class="shape" ><rect x="54" y="56" width="68" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="88.000000" y="94.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">ccc</text></g><g id="(aaa.ccc -- aaa)[0]"><path d="M 80.271735 123.952835 C 68.940704 175.200000 66.000000 196.600000 66.000000 227.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" mask="url(#4231385393)"/><text class="text-italic" x="68.500000" y="180.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">111</text></g><g id="(eee &lt;- aaa.ccc)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 184.819678 245.573985 C 125.600000 200.400000 107.000000 175.100000 95.436945 123.451686" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" mask="url(#4231385393)"/><text class="text-italic" x="123.500000" y="203.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">222</text></g><mask id="4231385393" maskUnits="userSpaceOnUse" x="-100" y="-100" width="465" height="593">
<rect x="-100" y="-100" width="465" height="593" fill="white"></rect> <rect x="-100" y="-100" width="465" height="593" fill="white"></rect>
<rect x="57.000000" y="164.000000" width="23" height="21" fill="black"></rect> <rect x="57.000000" y="164.000000" width="23" height="21" fill="black"></rect>
<rect x="111.000000" y="187.000000" width="25" height="21" fill="black"></rect> <rect x="111.000000" y="187.000000" width="25" height="21" fill="black"></rect>
||||||| 749d236a
]]></script><g id="aaa"><g class="shape" ><rect x="0" y="0" width="218" height="430" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="109.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">aaa</text></g><g id="ddd"><g class="shape" ><path d="M 268 74 C 268 50 301 50 305 50 C 308 50 341 50 341 74 V 144 C 341 168 308 168 305 168 C 301 168 268 168 268 144 V 74 Z" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/><path d="M 268 74 C 268 98 301 98 305 98 C 308 98 341 98 341 74" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="304.500000" y="126.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">ddd</text></g><g id="eee"><g class="shape" ><path d="M 268 362 L 268 297 L 338 297 L 338 362 C 326 348 315 348 303 362 C 291 377 280 377 268 362 Z" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="303.000000" y="330.610964" style="text-anchor:middle;font-size:16px;fill:#0A0F25">eee</text></g><g id="aaa.bbb"><g class="shape" ><path d="M 50 289 V 335 H 86 V 380 L 116 335 H 122 V 289 H 50 Z" style="fill:#FFFFFF;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="86.000000" y="317.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">bbb</text></g><g id="aaa.ccc"><g class="shape" ><rect x="84" y="76" width="68" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="118.000000" y="114.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">ccc</text></g><g id="(aaa.ccc -- aaa)[0]"><path d="M 108.645842 143.931932 C 90.632636 211.200000 86.000000 240.600000 86.000000 287.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" mask="url(#2222316659)"/><text class="text-italic" x="90.500000" y="220.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">111</text></g><g id="(eee &lt;- aaa.ccc)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 264.708723 307.726787 C 173.600000 244.800000 145.400000 211.100000 127.511174 143.433572" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" mask="url(#2222316659)"/><text class="text-italic" x="173.500000" y="250.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">222</text></g><mask id="2222316659" maskUnits="userSpaceOnUse" x="-100" y="-100" width="545" height="634">
<rect x="-100" y="-100" width="545" height="634" fill="white"></rect>
<rect x="79.000000" y="204.000000" width="23" height="21" fill="black"></rect>
<rect x="161.000000" y="234.000000" width="25" height="21" fill="black"></rect>
=======
]]></script><g id="aaa"><g class="shape" ><rect x="0" y="41" width="218" height="389" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="109.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">aaa</text></g><g id="ddd"><g class="shape" ><path d="M 268 74 C 268 50 301 50 305 50 C 308 50 341 50 341 74 V 144 C 341 168 308 168 305 168 C 301 168 268 168 268 144 V 74 Z" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/><path d="M 268 74 C 268 98 301 98 305 98 C 308 98 341 98 341 74" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="304.500000" y="126.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">ddd</text></g><g id="eee"><g class="shape" ><path d="M 268 362 L 268 297 L 338 297 L 338 362 C 326 348 315 348 303 362 C 291 377 280 377 268 362 Z" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="303.000000" y="330.610964" style="text-anchor:middle;font-size:16px;fill:#0A0F25">eee</text></g><g id="aaa.bbb"><g class="shape" ><path d="M 50 309 V 355 H 86 V 400 L 116 355 H 122 V 309 H 50 Z" style="fill:#FFFFFF;stroke:#0D32B2;stroke-width:2;"/></g><text class="text-bold" x="86.000000" y="337.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">bbb</text></g><g id="aaa.ccc"><g class="shape" ><rect x="84" y="96" width="68" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="118.000000" y="134.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">ccc</text></g><g id="(aaa.ccc -- aaa)[0]"><path d="M 108.645842 164.431932 C 90.632636 231.700000 86.000000 261.100000 86.000000 307.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" mask="url(#3566302156)"/><text class="text-italic" x="90.500000" y="240.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">111</text></g><g id="(eee &lt;- aaa.ccc)[0]"><marker id="mk-2510427236" markerWidth="10.000000" markerHeight="12.000000" refX="3.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="10.000000,0.000000 0.000000,6.000000 10.000000,12.000000" /> </marker><path d="M 264.708723 307.726787 C 173.600000 244.800000 145.400000 215.200000 127.653733 163.890141" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-start="url(#mk-2510427236)" mask="url(#3566302156)"/><text class="text-italic" x="180.500000" y="255.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">222</text></g><mask id="3566302156" maskUnits="userSpaceOnUse" x="-100" y="-100" width="545" height="632">
<rect x="-100" y="-100" width="545" height="632" fill="white"></rect>
<rect x="79.000000" y="224.000000" width="23" height="21" fill="black"></rect>
<rect x="168.000000" y="239.000000" width="25" height="21" fill="black"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";

Before

Width:  |  Height:  |  Size: 793 KiB

After

Width:  |  Height:  |  Size: 799 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 811 KiB

After

Width:  |  Height:  |  Size: 831 KiB

View file

@ -451,10 +451,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 321, "width": 321,
"height": 126, "height": 126,
||||||| 749d236a
"width": 381,
"height": 166,
=======
"width": 381,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -491,8 +499,16 @@
"id": "find contractors.craigslist", "id": "find contractors.craigslist",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 30, "x": 30,
"y": 30 "y": 30
||||||| 749d236a
"x": 50,
"y": 50
=======
"x": 50,
"y": 70
>>>>>>> master
}, },
"width": 110, "width": 110,
"height": 66, "height": 66,
@ -532,8 +548,16 @@
"id": "find contractors.facebook", "id": "find contractors.facebook",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 180, "x": 180,
"y": 30 "y": 30
||||||| 749d236a
"x": 220,
"y": 50
=======
"x": 220,
"y": 70
>>>>>>> master
}, },
"width": 111, "width": 111,
"height": 66, "height": 66,

View file

@ -6,11 +6,27 @@
"id": "a", "id": "a",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 21, "x": 21,
"y": 0 "y": 0
||||||| 749d236a
"x": 40,
"y": 0
=======
"x": 40,
"y": 41
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 113, "width": 113,
"height": 126, "height": 126,
||||||| 749d236a
"width": 156,
"height": 166,
=======
"width": 156,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +63,16 @@
"id": "a.b", "id": "a.b",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 51, "x": 51,
"y": 30 "y": 30
||||||| 749d236a
"x": 94,
"y": 50
=======
"x": 94,
"y": 70
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -88,11 +112,27 @@
"id": "c", "id": "c",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 20, "x": 20,
"y": 186 "y": 186
||||||| 749d236a
"x": 40,
"y": 266
=======
"x": 40,
"y": 307
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 114, "width": 114,
"height": 126, "height": 126,
||||||| 749d236a
"width": 157,
"height": 166,
=======
"width": 157,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -129,8 +169,16 @@
"id": "c.d", "id": "c.d",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 50, "x": 50,
"y": 216 "y": 216
||||||| 749d236a
"x": 93,
"y": 316
=======
"x": 93,
"y": 336
>>>>>>> master
}, },
"width": 54, "width": 54,
"height": 66, "height": 66,
@ -171,10 +219,24 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
<<<<<<< HEAD
"y": 372 "y": 372
||||||| 749d236a
"y": 532
=======
"y": 573
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 154, "width": 154,
"height": 186, "height": 186,
||||||| 749d236a
"width": 237,
"height": 266,
=======
"width": 237,
"height": 225,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -211,11 +273,27 @@
"id": "f.h", "id": "f.h",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 20, "x": 20,
"y": 402 "y": 402
||||||| 749d236a
"x": 40,
"y": 582
=======
"x": 40,
"y": 638
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 114, "width": 114,
"height": 126, "height": 126,
||||||| 749d236a
"width": 157,
"height": 166,
=======
"width": 157,
"height": 130,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -252,8 +330,16 @@
"id": "f.h.g", "id": "f.h.g",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 50, "x": 50,
"y": 432 "y": 432
||||||| 749d236a
"x": 93,
"y": 632
=======
"x": 93,
"y": 670
>>>>>>> master
}, },
"width": 54, "width": 54,
"height": 66, "height": 66,
@ -317,12 +403,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 96 "y": 96
||||||| 749d236a
"x": 120,
"y": 116
=======
"x": 120,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 120 "y": 120
||||||| 749d236a
"x": 120,
"y": 156
=======
"x": 120,
"y": 160.1
>>>>>>> master
}, },
{ {
"x": 77, "x": 77,
@ -337,12 +439,28 @@
"y": 150 "y": 150
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 192 "y": 192
||||||| 749d236a
"x": 120,
"y": 276
=======
"x": 120,
"y": 280.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 216 "y": 216
||||||| 749d236a
"x": 120,
"y": 316
=======
"x": 120,
"y": 336.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -377,12 +495,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 282 "y": 282
||||||| 749d236a
"x": 120,
"y": 382
=======
"x": 120,
"y": 402.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 306 "y": 306
||||||| 749d236a
"x": 120,
"y": 422
=======
"x": 120,
"y": 426.1
>>>>>>> master
}, },
{ {
"x": 77, "x": 77,
@ -409,12 +543,28 @@
"y": 366 "y": 366
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 408 "y": 408
||||||| 749d236a
"x": 120,
"y": 592
=======
"x": 120,
"y": 599.7
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 432 "y": 432
||||||| 749d236a
"x": 120,
"y": 632
=======
"x": 120,
"y": 670.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="358" height="801" viewBox="-102 -141 358 801"><style type="text/css"> width="358" height="801" viewBox="-102 -141 358 801"><style type="text/css">
||||||| 749d236a
width="441" height="1002" viewBox="-102 -102 441 1002"><style type="text/css">
=======
width="441" height="1000" viewBox="-102 -100 441 1000"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,8 +45,16 @@ width="358" height="801" viewBox="-102 -141 358 801"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="a"><g class="shape" ><rect x="21" y="0" width="113" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="77.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="20" y="186" width="114" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="77.000000" y="173.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">c</text></g><g id="f"><g class="shape" ><rect x="0" y="372" width="154" height="186" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="77.000000" y="359.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">f</text></g><g id="a.b"><g class="shape" ><rect x="51" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="77.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c.d"><g class="shape" ><rect x="50" y="216" width="54" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="77.000000" y="254.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="f.h"><g class="shape" ><rect x="20" y="402" width="114" height="126" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="77.000000" y="390.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">h</text></g><g id="f.h.g"><g class="shape" ><rect x="50" y="432" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="77.000000" y="470.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">g</text></g><g id="(a.b -&gt; c.d)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 77.000000 98.000000 C 77.000000 120.000000 77.000000 132.000000 77.000000 141.000000 C 77.000000 150.000000 77.000000 192.000000 77.000000 212.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2586821911)"/></g><g id="(c.d -&gt; f.h.g)[0]"><path d="M 77.000000 284.000000 C 77.000000 306.000000 77.000000 318.000000 77.000000 327.000000 C 77.000000 336.000000 77.000000 348.000000 77.000000 357.000000 C 77.000000 366.000000 77.000000 408.000000 77.000000 428.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2586821911)"/></g><mask id="2586821911" maskUnits="userSpaceOnUse" x="-100" y="-100" width="358" height="801"> ]]></script><g id="a"><g class="shape" ><rect x="21" y="0" width="113" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="77.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="20" y="186" width="114" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="77.000000" y="173.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">c</text></g><g id="f"><g class="shape" ><rect x="0" y="372" width="154" height="186" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="77.000000" y="359.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">f</text></g><g id="a.b"><g class="shape" ><rect x="51" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="77.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c.d"><g class="shape" ><rect x="50" y="216" width="54" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="77.000000" y="254.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="f.h"><g class="shape" ><rect x="20" y="402" width="114" height="126" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="77.000000" y="390.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">h</text></g><g id="f.h.g"><g class="shape" ><rect x="50" y="432" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="77.000000" y="470.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">g</text></g><g id="(a.b -&gt; c.d)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 77.000000 98.000000 C 77.000000 120.000000 77.000000 132.000000 77.000000 141.000000 C 77.000000 150.000000 77.000000 192.000000 77.000000 212.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2586821911)"/></g><g id="(c.d -&gt; f.h.g)[0]"><path d="M 77.000000 284.000000 C 77.000000 306.000000 77.000000 318.000000 77.000000 327.000000 C 77.000000 336.000000 77.000000 348.000000 77.000000 357.000000 C 77.000000 366.000000 77.000000 408.000000 77.000000 428.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2586821911)"/></g><mask id="2586821911" maskUnits="userSpaceOnUse" x="-100" y="-100" width="358" height="801">
<rect x="-100" y="-100" width="358" height="801" fill="white"></rect> <rect x="-100" y="-100" width="358" height="801" fill="white"></rect>
||||||| 749d236a
]]></script><g id="a"><g class="shape" ><rect x="40" y="0" width="156" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="40" y="266" width="157" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.500000" y="299.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">c</text></g><g id="f"><g class="shape" ><rect x="0" y="532" width="237" height="266" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.500000" y="565.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">f</text></g><g id="a.b"><g class="shape" ><rect x="94" y="50" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c.d"><g class="shape" ><rect x="93" y="316" width="54" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.000000" y="354.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="f.h"><g class="shape" ><rect x="40" y="582" width="157" height="166" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.500000" y="611.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">h</text></g><g id="f.h.g"><g class="shape" ><rect x="93" y="632" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.000000" y="670.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">g</text></g><g id="(a.b -&gt; c.d)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 120.000000 118.000000 C 120.000000 156.000000 120.000000 176.000000 120.000000 191.000000 C 120.000000 206.000000 120.000000 276.000000 120.000000 312.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2512831324)"/></g><g id="(c.d -&gt; f.h.g)[0]"><path d="M 120.000000 384.000000 C 120.000000 422.000000 120.000000 442.000000 120.000000 457.000000 C 120.000000 472.000000 120.000000 492.000000 120.000000 507.000000 C 120.000000 522.000000 120.000000 592.000000 120.000000 628.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2512831324)"/></g><mask id="2512831324" maskUnits="userSpaceOnUse" x="-100" y="-100" width="441" height="1002">
<rect x="-100" y="-100" width="441" height="1002" fill="white"></rect>
=======
]]></script><g id="a"><g class="shape" ><rect x="40" y="41" width="156" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="40" y="307" width="157" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.500000" y="294.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">c</text></g><g id="f"><g class="shape" ><rect x="0" y="573" width="237" height="225" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.500000" y="560.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">f</text></g><g id="a.b"><g class="shape" ><rect x="94" y="70" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c.d"><g class="shape" ><rect x="93" y="336" width="54" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.000000" y="374.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="f.h"><g class="shape" ><rect x="40" y="638" width="157" height="130" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.500000" y="626.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">h</text></g><g id="f.h.g"><g class="shape" ><rect x="93" y="670" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.000000" y="708.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">g</text></g><g id="(a.b -&gt; c.d)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 120.000000 138.500000 C 120.000000 160.100000 120.000000 176.000000 120.000000 191.000000 C 120.000000 206.000000 120.000000 280.100000 120.000000 332.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#634655928)"/></g><g id="(c.d -&gt; f.h.g)[0]"><path d="M 120.000000 404.500000 C 120.000000 426.100000 120.000000 442.000000 120.000000 457.000000 C 120.000000 472.000000 120.000000 492.000000 120.000000 507.000000 C 120.000000 522.000000 120.000000 599.700000 120.000000 666.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#634655928)"/></g><mask id="634655928" maskUnits="userSpaceOnUse" x="-100" y="-100" width="441" height="1000">
<rect x="-100" y="-100" width="441" height="1000" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 650 KiB

After

Width:  |  Height:  |  Size: 657 KiB

View file

@ -47,11 +47,27 @@
"id": "g", "id": "g",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 173, "x": 173,
"y": 126 "y": 126
||||||| 749d236a
"x": 277,
"y": 166
=======
"x": 277,
"y": 207
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 133, "width": 133,
"height": 498, "height": 498,
||||||| 749d236a
"width": 196,
"height": 698,
=======
"width": 196,
"height": 657,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -88,8 +104,16 @@
"id": "g.b", "id": "g.b",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 221, "x": 221,
"y": 156 "y": 156
||||||| 749d236a
"x": 348,
"y": 216
=======
"x": 348,
"y": 236
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -130,10 +154,24 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
<<<<<<< HEAD
"y": 282 "y": 282
||||||| 749d236a
"y": 382
=======
"y": 423
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 153, "width": 153,
"height": 186, "height": 186,
||||||| 749d236a
"width": 236,
"height": 266,
=======
"width": 236,
"height": 225,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -170,11 +208,27 @@
"id": "d.h", "id": "d.h",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 20, "x": 20,
"y": 312 "y": 312
||||||| 749d236a
"x": 40,
"y": 432
=======
"x": 40,
"y": 488
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 113, "width": 113,
"height": 126, "height": 126,
||||||| 749d236a
"width": 156,
"height": 166,
=======
"width": 156,
"height": 130,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -211,8 +265,16 @@
"id": "d.h.c", "id": "d.h.c",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 50, "x": 50,
"y": 342 "y": 342
||||||| 749d236a
"x": 94,
"y": 482
=======
"x": 94,
"y": 520
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -252,8 +314,16 @@
"id": "g.e", "id": "g.e",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 203, "x": 203,
"y": 528 "y": 528
||||||| 749d236a
"x": 330,
"y": 748
=======
"x": 330,
"y": 768
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -366,12 +436,28 @@
"y": 90 "y": 90
}, },
{ {
<<<<<<< HEAD
"x": 247.75, "x": 247.75,
"y": 132 "y": 132
||||||| 749d236a
"x": 374.75,
"y": 176
=======
"x": 374.75,
"y": 180.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 247.75, "x": 247.75,
"y": 156 "y": 156
||||||| 749d236a
"x": 374.75,
"y": 216
=======
"x": 374.75,
"y": 236.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -406,12 +492,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 228.63095238095238, "x": 228.63095238095238,
"y": 222 "y": 222
||||||| 749d236a
"x": 358.84638554216866,
"y": 282
=======
"x": 358.84638554216866,
"y": 302.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 214.72619047619048, "x": 214.72619047619048,
"y": 246 "y": 246
||||||| 749d236a
"x": 339.5692771084337,
"y": 322
=======
"x": 339.5692771084337,
"y": 326.1
>>>>>>> master
}, },
{ {
"x": 211.25, "x": 211.25,
@ -426,12 +528,28 @@
"y": 276 "y": 276
}, },
{ {
<<<<<<< HEAD
"x": 189.65, "x": 189.65,
"y": 322.2 "y": 322.2
||||||| 749d236a
"x": 297.15,
"y": 446.6
=======
"x": 297.15,
"y": 454.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 103.25, "x": 103.25,
"y": 363 "y": 363
||||||| 749d236a
"x": 146.75,
"y": 505
=======
"x": 146.75,
"y": 543.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -474,12 +592,28 @@
"y": 492 "y": 492
}, },
{ {
<<<<<<< HEAD
"x": 229.5, "x": 229.5,
"y": 504 "y": 504
||||||| 749d236a
"x": 356.5,
"y": 708
=======
"x": 356.5,
"y": 712.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 229.5, "x": 229.5,
"y": 528 "y": 528
||||||| 749d236a
"x": 356.5,
"y": 748
=======
"x": 356.5,
"y": 768.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -514,12 +648,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 229.5, "x": 229.5,
"y": 594 "y": 594
||||||| 749d236a
"x": 356.5,
"y": 814
=======
"x": 356.5,
"y": 834.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 229.5, "x": 229.5,
"y": 618 "y": 618
||||||| 749d236a
"x": 356.5,
"y": 854
=======
"x": 356.5,
"y": 858.1
>>>>>>> master
}, },
{ {
"x": 230.5, "x": 230.5,
@ -610,12 +760,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 172.5, "x": 172.5,
"y": 338 "y": 338
||||||| 749d236a
"x": 276.75,
"y": 464
=======
"x": 276.75,
"y": 505
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 132.5, "x": 132.5,
"y": 353 "y": 353
||||||| 749d236a
"x": 196.75,
"y": 490
=======
"x": 196.75,
"y": 546.5
>>>>>>> master
} }
], ],
"animated": false, "animated": false,

View file

@ -39,8 +39,16 @@ width="510" height="954" viewBox="-102 -102 510 954"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="a"><g class="shape" ><rect x="221" y="0" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="247.500000" y="38.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="g"><g class="shape" ><rect x="173" y="126" width="133" height="498" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="239.500000" y="113.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">g</text></g><g id="d"><g class="shape" ><rect x="0" y="282" width="153" height="186" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="76.500000" y="269.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">d</text></g><g id="f"><g class="shape" ><rect x="214" y="684" width="51" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="239.500000" y="722.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">f</text></g><g id="g.b"><g class="shape" ><rect x="221" y="156" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="247.500000" y="194.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="d.h"><g class="shape" ><rect x="20" y="312" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="76.500000" y="300.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">h</text></g><g id="g.e"><g class="shape" ><rect x="203" y="528" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="229.500000" y="566.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">e</text></g><g id="d.h.c"><g class="shape" ><rect x="50" y="342" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="76.500000" y="380.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="(a -&gt; g.b)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 247.750000 68.000000 C 247.750000 90.000000 247.750000 132.000000 247.750000 152.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(g.b -&gt; d.h.c)[0]"><path d="M 227.628338 223.730539 C 214.726190 246.000000 211.250000 258.000000 211.250000 267.000000 C 211.250000 276.000000 189.650000 322.200000 106.866995 361.291975" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(d -&gt; g.e)[0]"><path d="M 78.462627 468.384829 C 198.900000 492.000000 229.500000 504.000000 229.500000 524.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(g.e -&gt; f)[0]"><path d="M 229.500000 596.000000 C 229.500000 618.000000 230.500000 660.000000 233.842404 680.054424" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(f -&gt; g)[0]"><path d="M 265.044847 682.390852 C 281.571429 660.000000 286.000000 648.000000 286.000000 628.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(g -&gt; d.h)[0]"><path d="M 170.627342 338.702247 L 136.245317 351.595506" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><mask id="2229255526" maskUnits="userSpaceOnUse" x="-100" y="-100" width="510" height="954"> ]]></script><g id="a"><g class="shape" ><rect x="221" y="0" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="247.500000" y="38.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="g"><g class="shape" ><rect x="173" y="126" width="133" height="498" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="239.500000" y="113.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">g</text></g><g id="d"><g class="shape" ><rect x="0" y="282" width="153" height="186" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="76.500000" y="269.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">d</text></g><g id="f"><g class="shape" ><rect x="214" y="684" width="51" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="239.500000" y="722.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">f</text></g><g id="g.b"><g class="shape" ><rect x="221" y="156" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="247.500000" y="194.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="d.h"><g class="shape" ><rect x="20" y="312" width="113" height="126" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="76.500000" y="300.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">h</text></g><g id="g.e"><g class="shape" ><rect x="203" y="528" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="229.500000" y="566.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">e</text></g><g id="d.h.c"><g class="shape" ><rect x="50" y="342" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="76.500000" y="380.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="(a -&gt; g.b)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 247.750000 68.000000 C 247.750000 90.000000 247.750000 132.000000 247.750000 152.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(g.b -&gt; d.h.c)[0]"><path d="M 227.628338 223.730539 C 214.726190 246.000000 211.250000 258.000000 211.250000 267.000000 C 211.250000 276.000000 189.650000 322.200000 106.866995 361.291975" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(d -&gt; g.e)[0]"><path d="M 78.462627 468.384829 C 198.900000 492.000000 229.500000 504.000000 229.500000 524.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(g.e -&gt; f)[0]"><path d="M 229.500000 596.000000 C 229.500000 618.000000 230.500000 660.000000 233.842404 680.054424" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(f -&gt; g)[0]"><path d="M 265.044847 682.390852 C 281.571429 660.000000 286.000000 648.000000 286.000000 628.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><g id="(g -&gt; d.h)[0]"><path d="M 170.627342 338.702247 L 136.245317 351.595506" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2229255526)"/></g><mask id="2229255526" maskUnits="userSpaceOnUse" x="-100" y="-100" width="510" height="954">
<rect x="-100" y="-100" width="510" height="954" fill="white"></rect> <rect x="-100" y="-100" width="510" height="954" fill="white"></rect>
||||||| 749d236a
]]></script><g id="a"><g class="shape" ><rect x="348" y="0" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="374.500000" y="38.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="g"><g class="shape" ><rect x="277" y="166" width="196" height="698" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="375.000000" y="199.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">g</text></g><g id="d"><g class="shape" ><rect x="0" y="382" width="236" height="266" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.000000" y="415.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">d</text></g><g id="f"><g class="shape" ><rect x="353" y="964" width="51" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="378.500000" y="1002.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">f</text></g><g id="g.b"><g class="shape" ><rect x="348" y="216" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="374.500000" y="254.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="d.h"><g class="shape" ><rect x="40" y="432" width="156" height="166" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.000000" y="461.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">h</text></g><g id="g.e"><g class="shape" ><rect x="330" y="748" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="356.500000" y="786.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">e</text></g><g id="d.h.c"><g class="shape" ><rect x="94" y="482" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.500000" y="520.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="(a -&gt; g.b)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 374.750000 68.000000 C 374.750000 106.000000 374.750000 176.000000 374.750000 212.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#606331157)"/></g><g id="(g.b -&gt; d.h.c)[0]"><path d="M 357.978102 283.801689 C 339.569277 322.000000 334.750000 342.000000 334.750000 357.000000 C 334.750000 372.000000 297.150000 446.600000 150.478763 503.552129" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#606331157)"/></g><g id="(d -&gt; g.e)[0]"><path d="M 121.956748 648.413689 C 309.200000 688.000000 356.500000 708.000000 356.500000 744.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#606331157)"/></g><g id="(g.e -&gt; f)[0]"><path d="M 356.500000 816.000000 C 356.500000 854.000000 359.100000 924.000000 368.493465 960.128710" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#606331157)"/></g><g id="(f -&gt; g)[0]"><path d="M 401.119336 962.330504 C 426.403614 924.000000 433.000000 904.000000 433.000000 868.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#606331157)"/></g><g id="(g -&gt; d.h)[0]"><path d="M 274.847932 464.618172 L 200.554136 488.763656" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#606331157)"/></g><mask id="606331157" maskUnits="userSpaceOnUse" x="-100" y="-100" width="677" height="1234">
<rect x="-100" y="-100" width="677" height="1234" fill="white"></rect>
=======
]]></script><g id="a"><g class="shape" ><rect x="348" y="0" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="374.500000" y="38.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="g"><g class="shape" ><rect x="277" y="207" width="196" height="657" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="375.000000" y="194.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">g</text></g><g id="d"><g class="shape" ><rect x="0" y="423" width="236" height="225" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.000000" y="410.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">d</text></g><g id="f"><g class="shape" ><rect x="353" y="964" width="51" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="378.500000" y="1002.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">f</text></g><g id="g.b"><g class="shape" ><rect x="348" y="236" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="374.500000" y="274.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="d.h"><g class="shape" ><rect x="40" y="488" width="156" height="130" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="118.000000" y="476.000000" style="text-anchor:middle;font-size:24px;fill:#0A0F25">h</text></g><g id="g.e"><g class="shape" ><rect x="330" y="768" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="356.500000" y="806.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">e</text></g><g id="d.h.c"><g class="shape" ><rect x="94" y="520" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="120.500000" y="558.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="(a -&gt; g.b)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 374.750000 68.000000 C 374.750000 106.000000 374.750000 180.100000 374.750000 232.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3991526408)"/></g><g id="(g.b -&gt; d.h.c)[0]"><path d="M 357.581168 304.048943 C 339.569277 326.100000 334.750000 342.000000 334.750000 357.000000 C 334.750000 372.000000 297.150000 454.300000 150.190423 541.459537" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3991526408)"/></g><g id="(d -&gt; g.e)[0]"><path d="M 121.956748 648.413689 C 309.200000 688.000000 356.500000 712.100000 356.500000 764.500000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3991526408)"/></g><g id="(g.e -&gt; f)[0]"><path d="M 356.500000 836.500000 C 356.500000 858.100000 359.100000 924.000000 368.493465 960.128710" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3991526408)"/></g><g id="(f -&gt; g)[0]"><path d="M 401.119336 962.330504 C 426.403614 924.000000 433.000000 904.000000 433.000000 868.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3991526408)"/></g><g id="(g -&gt; d.h)[0]"><path d="M 274.974659 505.920958 L 200.300682 544.658084" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3991526408)"/></g><mask id="3991526408" maskUnits="userSpaceOnUse" x="-100" y="-100" width="677" height="1234">
<rect x="-100" y="-100" width="677" height="1234" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 652 KiB

After

Width:  |  Height:  |  Size: 660 KiB

View file

@ -498,11 +498,27 @@
"id": "finally", "id": "finally",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 691, "x": 691,
"y": 0 "y": 0
||||||| 749d236a
"x": 821,
"y": 0
=======
"x": 821,
"y": 41
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 281, "width": 281,
"height": 504, "height": 504,
||||||| 749d236a
"width": 368,
"height": 664,
=======
"width": 368,
"height": 623,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -703,8 +719,16 @@
"id": "finally.a", "id": "finally.a",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 872, "x": 872,
"y": 156 "y": 156
||||||| 749d236a
"x": 1056,
"y": 216
=======
"x": 1056,
"y": 236
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -744,8 +768,16 @@
"id": "finally.tree", "id": "finally.tree",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 741, "x": 741,
"y": 282 "y": 282
||||||| 749d236a
"x": 891,
"y": 382
=======
"x": 891,
"y": 402
>>>>>>> master
}, },
"width": 74, "width": 74,
"height": 66, "height": 66,
@ -785,8 +817,16 @@
"id": "finally.inside", "id": "finally.inside",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 855, "x": 855,
"y": 30 "y": 30
||||||| 749d236a
"x": 1038,
"y": 50
=======
"x": 1038,
"y": 70
>>>>>>> master
}, },
"width": 88, "width": 88,
"height": 66, "height": 66,
@ -826,8 +866,16 @@
"id": "finally.hierarchy", "id": "finally.hierarchy",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 721, "x": 721,
"y": 408 "y": 408
||||||| 749d236a
"x": 871,
"y": 548
=======
"x": 871,
"y": 568
>>>>>>> master
}, },
"width": 113, "width": 113,
"height": 66, "height": 66,
@ -867,8 +915,16 @@
"id": "finally.root", "id": "finally.root",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 855, "x": 855,
"y": 282 "y": 282
||||||| 749d236a
"x": 1025,
"y": 382
=======
"x": 1025,
"y": 402
>>>>>>> master
}, },
"width": 75, "width": 75,
"height": 66, "height": 66,
@ -1412,8 +1468,16 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 972.75, "x": 972.75,
"y": 261 "y": 261
||||||| 749d236a
"x": 1189,
"y": 345
=======
"x": 1189,
"y": 386
>>>>>>> master
}, },
{ {
"x": 1132.75, "x": 1132.75,
@ -1547,8 +1611,16 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 972.75, "x": 972.75,
"y": 278 "y": 278
||||||| 749d236a
"x": 1189,
"y": 371
=======
"x": 1189,
"y": 412
>>>>>>> master
}, },
{ {
"x": 1010.75, "x": 1010.75,
@ -1586,20 +1658,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 872.25, "x": 872.25,
"y": 202.76907216494845 "y": 202.76907216494845
||||||| 749d236a
"x": 1055.5,
"y": 263.23624595469255
=======
"x": 1055.5,
"y": 283.73624595469255
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 796.45, "x": 796.45,
"y": 242.1538144329897 "y": 242.1538144329897
||||||| 749d236a
"x": 953.1,
"y": 318.24724919093853
=======
"x": 953.1,
"y": 338.74724919093853
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 777.5, "x": 777.5,
"y": 258 "y": 258
||||||| 749d236a
"x": 927.5,
"y": 342
=======
"x": 927.5,
"y": 362.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 777.5, "x": 777.5,
"y": 282 "y": 282
||||||| 749d236a
"x": 927.5,
"y": 382
=======
"x": 927.5,
"y": 402.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -1634,10 +1738,19 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 898.75, "x": 898.75,
"y": 96 "y": 96
||||||| 749d236a
"x": 1082,
"y": 116
=======
"x": 1082,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 898.75, "x": 898.75,
"y": 120 "y": 120
}, },
@ -1648,6 +1761,29 @@
{ {
"x": 898.75, "x": 898.75,
"y": 156 "y": 156
||||||| 749d236a
"x": 1082,
"y": 156
},
{
"x": 1082,
"y": 176
},
{
"x": 1082,
"y": 216
=======
"x": 1082,
"y": 176.5
},
{
"x": 1082,
"y": 196.5
},
{
"x": 1082,
"y": 236.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -1682,20 +1818,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 777.5, "x": 777.5,
"y": 348 "y": 348
||||||| 749d236a
"x": 927.5,
"y": 448
=======
"x": 927.5,
"y": 468.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 777.5, "x": 777.5,
"y": 372 "y": 372
||||||| 749d236a
"x": 927.5,
"y": 488
=======
"x": 927.5,
"y": 508.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 777.5, "x": 777.5,
"y": 384 "y": 384
||||||| 749d236a
"x": 927.5,
"y": 508
=======
"x": 927.5,
"y": 528.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 777.5, "x": 777.5,
"y": 408 "y": 408
||||||| 749d236a
"x": 927.5,
"y": 548
=======
"x": 927.5,
"y": 568.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -1730,6 +1898,7 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 895.2142857142857, "x": 895.2142857142857,
"y": 222 "y": 222
}, },
@ -1744,6 +1913,37 @@
{ {
"x": 892, "x": 892,
"y": 282 "y": 282
||||||| 749d236a
"x": 1074.0481927710844,
"y": 282
},
{
"x": 1064.4096385542168,
"y": 322
},
{
"x": 1062,
"y": 342
},
{
"x": 1062,
"y": 382
=======
"x": 1074.0481927710844,
"y": 302.5
},
{
"x": 1064.4096385542168,
"y": 342.5
},
{
"x": 1062,
"y": 362.5
},
{
"x": 1062,
"y": 402.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 658 KiB

After

Width:  |  Height:  |  Size: 680 KiB

View file

@ -48,10 +48,24 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
<<<<<<< HEAD
"y": 126 "y": 126
||||||| 749d236a
"y": 166
=======
"y": 207
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 257, "width": 257,
"height": 816, "height": 816,
||||||| 749d236a
"width": 370,
"height": 1096,
=======
"width": 370,
"height": 1055,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -211,8 +225,16 @@
"id": "b.1", "id": "b.1",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 99, "x": 99,
"y": 156 "y": 156
||||||| 749d236a
"x": 171,
"y": 216
=======
"x": 171,
"y": 236
>>>>>>> master
}, },
"width": 52, "width": 52,
"height": 66, "height": 66,
@ -252,11 +274,27 @@
"id": "b.2", "id": "b.2",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 20, "x": 20,
"y": 282 "y": 282
||||||| 749d236a
"x": 40,
"y": 382
=======
"x": 40,
"y": 438
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 123, "width": 123,
"height": 630, "height": 630,
||||||| 749d236a
"width": 176,
"height": 830,
=======
"width": 176,
"height": 794,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -293,8 +331,16 @@
"id": "b.3", "id": "b.3",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 174, "x": 174,
"y": 438 "y": 438
||||||| 749d236a
"x": 267,
"y": 598
=======
"x": 267,
"y": 618
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -334,8 +380,16 @@
"id": "b.4", "id": "b.4",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 174, "x": 174,
"y": 564 "y": 564
||||||| 749d236a
"x": 267,
"y": 764
=======
"x": 267,
"y": 784
>>>>>>> master
}, },
"width": 54, "width": 54,
"height": 66, "height": 66,
@ -375,8 +429,16 @@
"id": "b.5", "id": "b.5",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 174, "x": 174,
"y": 690 "y": 690
||||||| 749d236a
"x": 267,
"y": 930
=======
"x": 267,
"y": 950
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -416,8 +478,16 @@
"id": "b.2.a", "id": "b.2.a",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 61, "x": 61,
"y": 312 "y": 312
||||||| 749d236a
"x": 112,
"y": 432
=======
"x": 112,
"y": 470
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -457,8 +527,16 @@
"id": "b.2.b", "id": "b.2.b",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 51, "x": 51,
"y": 438 "y": 438
||||||| 749d236a
"x": 92,
"y": 598
=======
"x": 92,
"y": 636
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -498,8 +576,16 @@
"id": "b.2.c", "id": "b.2.c",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 51, "x": 51,
"y": 564 "y": 564
||||||| 749d236a
"x": 92,
"y": 764
=======
"x": 92,
"y": 802
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -539,8 +625,16 @@
"id": "b.2.d", "id": "b.2.d",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 50, "x": 50,
"y": 690 "y": 690
||||||| 749d236a
"x": 92,
"y": 930
=======
"x": 92,
"y": 968
>>>>>>> master
}, },
"width": 54, "width": 54,
"height": 66, "height": 66,
@ -580,8 +674,16 @@
"id": "b.2.e", "id": "b.2.e",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 51, "x": 51,
"y": 816 "y": 816
||||||| 749d236a
"x": 92,
"y": 1096
=======
"x": 92,
"y": 1134
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -653,12 +755,28 @@
"y": 90 "y": 90
}, },
{ {
<<<<<<< HEAD
"x": 125.25, "x": 125.25,
"y": 102 "y": 102
}, },
{ {
"x": 125.25, "x": 125.25,
"y": 126 "y": 126
||||||| 749d236a
"x": 196.75,
"y": 126
},
{
"x": 196.75,
"y": 166
=======
"x": 196.75,
"y": 134.2
},
{
"x": 196.75,
"y": 207
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -693,8 +811,16 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 257.75, "x": 257.75,
"y": 314 "y": 314
||||||| 749d236a
"x": 370.75,
"y": 423
=======
"x": 370.75,
"y": 464
>>>>>>> master
}, },
{ {
"x": 287.75, "x": 287.75,
@ -828,6 +954,7 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 105.21428571428572, "x": 105.21428571428572,
"y": 222 "y": 222
}, },
@ -842,6 +969,37 @@
{ {
"x": 87, "x": 87,
"y": 282 "y": 282
||||||| 749d236a
"x": 173.59036144578312,
"y": 282
},
{
"x": 145.51807228915663,
"y": 322
},
{
"x": 138.5,
"y": 342
},
{
"x": 138.5,
"y": 382
=======
"x": 173.59036144578312,
"y": 302.5
},
{
"x": 145.51807228915663,
"y": 342.5
},
{
"x": 138.5,
"y": 369.7
},
{
"x": 138.5,
"y": 438.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -876,12 +1034,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 143.5, "x": 143.5,
"y": 433 "y": 433
||||||| 749d236a
"x": 216.5,
"y": 584
=======
"x": 216.5,
"y": 640.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 174.5, "x": 174.5,
"y": 453 "y": 453
||||||| 749d236a
"x": 267.5,
"y": 615
=======
"x": 267.5,
"y": 635.5
>>>>>>> master
} }
], ],
"animated": false, "animated": false,
@ -915,20 +1089,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 200.75, "x": 200.75,
"y": 504 "y": 504
||||||| 749d236a
"x": 293.75,
"y": 664
=======
"x": 293.75,
"y": 684.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 200.75, "x": 200.75,
"y": 528 "y": 528
||||||| 749d236a
"x": 293.75,
"y": 704
=======
"x": 293.75,
"y": 724.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 200.75, "x": 200.75,
"y": 540 "y": 540
||||||| 749d236a
"x": 293.75,
"y": 724
=======
"x": 293.75,
"y": 744.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 200.75, "x": 200.75,
"y": 564 "y": 564
||||||| 749d236a
"x": 293.75,
"y": 764
=======
"x": 293.75,
"y": 784.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -963,20 +1169,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 200.75, "x": 200.75,
"y": 630 "y": 630
||||||| 749d236a
"x": 293.75,
"y": 830
=======
"x": 293.75,
"y": 850.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 200.75, "x": 200.75,
"y": 654 "y": 654
||||||| 749d236a
"x": 293.75,
"y": 870
=======
"x": 293.75,
"y": 890.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 200.75, "x": 200.75,
"y": 666 "y": 666
||||||| 749d236a
"x": 293.75,
"y": 890
=======
"x": 293.75,
"y": 910.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 200.75, "x": 200.75,
"y": 690 "y": 690
||||||| 749d236a
"x": 293.75,
"y": 930
=======
"x": 293.75,
"y": 950.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -1011,20 +1249,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 81.76190476190476, "x": 81.76190476190476,
"y": 378 "y": 378
||||||| 749d236a
"x": 130.54819277108433,
"y": 498
=======
"x": 130.54819277108433,
"y": 536.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77.95238095238095, "x": 77.95238095238095,
"y": 402 "y": 402
||||||| 749d236a
"x": 120.90963855421687,
"y": 538
=======
"x": 120.90963855421687,
"y": 576.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 414 "y": 414
||||||| 749d236a
"x": 118.5,
"y": 558
=======
"x": 118.5,
"y": 596.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 438 "y": 438
||||||| 749d236a
"x": 118.5,
"y": 598
=======
"x": 118.5,
"y": 636.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -1059,20 +1329,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 504 "y": 504
||||||| 749d236a
"x": 118.5,
"y": 664
=======
"x": 118.5,
"y": 702.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 528 "y": 528
||||||| 749d236a
"x": 118.5,
"y": 704
=======
"x": 118.5,
"y": 742.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 540 "y": 540
||||||| 749d236a
"x": 118.5,
"y": 724
=======
"x": 118.5,
"y": 762.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 564 "y": 564
||||||| 749d236a
"x": 118.5,
"y": 764
=======
"x": 118.5,
"y": 802.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -1107,20 +1409,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 630 "y": 630
||||||| 749d236a
"x": 118.5,
"y": 830
=======
"x": 118.5,
"y": 868.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 654 "y": 654
||||||| 749d236a
"x": 118.5,
"y": 870
=======
"x": 118.5,
"y": 908.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 666 "y": 666
||||||| 749d236a
"x": 118.5,
"y": 890
=======
"x": 118.5,
"y": 928.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 690 "y": 690
||||||| 749d236a
"x": 118.5,
"y": 930
=======
"x": 118.5,
"y": 968.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -1155,20 +1489,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 756 "y": 756
||||||| 749d236a
"x": 118.5,
"y": 996
=======
"x": 118.5,
"y": 1034.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 780 "y": 780
||||||| 749d236a
"x": 118.5,
"y": 1036
=======
"x": 118.5,
"y": 1074.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 792 "y": 792
||||||| 749d236a
"x": 118.5,
"y": 1056
=======
"x": 118.5,
"y": 1094.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 77, "x": 77,
"y": 816 "y": 816
||||||| 749d236a
"x": 118.5,
"y": 1096
=======
"x": 118.5,
"y": 1134.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 655 KiB

After

Width:  |  Height:  |  Size: 669 KiB

View file

@ -0,0 +1,212 @@
{
"name": "",
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "ninety nine",
"type": "rectangle",
"pos": {
"x": 0,
"y": 65
},
"width": 404,
"height": 511,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "ninety nine",
"fontSize": 99,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 452,
"labelHeight": 125,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "ninety nine.sixty four",
"type": "rectangle",
"pos": {
"x": 40,
"y": 162
},
"width": 324,
"height": 381,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "sixty four",
"fontSize": 64,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 246,
"labelHeight": 81,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "ninety nine.sixty four.thirty two",
"type": "rectangle",
"pos": {
"x": 80,
"y": 241
},
"width": 244,
"height": 270,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#F7F8FE",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "thirty two",
"fontSize": 32,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 130,
"labelHeight": 41,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 3
},
{
"id": "ninety nine.sixty four.thirty two.sixteen",
"type": "rectangle",
"pos": {
"x": 120,
"y": 309
},
"width": 164,
"height": 160,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#FFFFFF",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "sixteen",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 48,
"labelHeight": 21,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 4
},
{
"id": "ninety nine.sixty four.thirty two.sixteen.eight",
"type": "rectangle",
"pos": {
"x": 170,
"y": 361
},
"width": 64,
"height": 56,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#FFFFFF",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "eight",
"fontSize": 8,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 19,
"labelHeight": 11,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 5
}
],
"connections": []
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 649 KiB

View file

@ -0,0 +1,212 @@
{
"name": "",
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "ninety nine",
"type": "rectangle",
"pos": {
"x": 12,
"y": 12
},
"width": 664,
"height": 656,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "ninety nine",
"fontSize": 99,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 452,
"labelHeight": 125,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "ninety nine.sixty four",
"type": "rectangle",
"pos": {
"x": 87,
"y": 87
},
"width": 514,
"height": 506,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "sixty four",
"fontSize": 64,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 246,
"labelHeight": 81,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "ninety nine.sixty four.thirty two",
"type": "rectangle",
"pos": {
"x": 162,
"y": 162
},
"width": 364,
"height": 356,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#F7F8FE",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "thirty two",
"fontSize": 32,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 130,
"labelHeight": 41,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 3
},
{
"id": "ninety nine.sixty four.thirty two.sixteen",
"type": "rectangle",
"pos": {
"x": 237,
"y": 237
},
"width": 214,
"height": 206,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#FFFFFF",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "sixteen",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 48,
"labelHeight": 21,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 4
},
{
"id": "ninety nine.sixty four.thirty two.sixteen.eight",
"type": "rectangle",
"pos": {
"x": 312,
"y": 312
},
"width": 64,
"height": 56,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#FFFFFF",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "eight",
"fontSize": 8,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 19,
"labelHeight": 11,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 5
}
],
"connections": []
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 649 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 812 KiB

After

Width:  |  Height:  |  Size: 855 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 663 KiB

After

Width:  |  Height:  |  Size: 695 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 272, "width": 272,
"height": 318, "height": 318,
||||||| 749d236a
"width": 312,
"height": 358,
=======
"width": 312,
"height": 317,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "container.md", "id": "container.md",
"type": "text", "type": "text",
"pos": { "pos": {
<<<<<<< HEAD
"x": 30, "x": 30,
"y": 30 "y": 30
||||||| 749d236a
"x": 50,
"y": 50
=======
"x": 50,
"y": 70
>>>>>>> master
}, },
"width": 212, "width": 212,
"height": 258, "height": 258,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="476" height="645" viewBox="-102 -141 476 645"><style type="text/css"> width="476" height="645" viewBox="-102 -141 476 645"><style type="text/css">
||||||| 749d236a
width="516" height="686" viewBox="-102 -102 516 686"><style type="text/css">
=======
width="516" height="684" viewBox="-102 -100 516 684"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -796,8 +802,16 @@ width="476" height="645" viewBox="-102 -141 476 645"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
<<<<<<< HEAD
</style><g id="container"><g class="shape" ><rect x="0" y="0" width="272" height="318" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="136.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="no container"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="77.000000" y="378.000000" width="118" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:#CEEDEE;color:red;"><p>they did it in style</p> </style><g id="container"><g class="shape" ><rect x="0" y="0" width="272" height="318" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="136.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="no container"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="77.000000" y="378.000000" width="118" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:#CEEDEE;color:red;"><p>they did it in style</p>
</div></foreignObject></g></g><g id="container.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="30.000000" y="30.000000" width="212" height="258"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:darkorange;"><h1>a header</h1> </div></foreignObject></g></g><g id="container.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="30.000000" y="30.000000" width="212" height="258"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:darkorange;"><h1>a header</h1>
||||||| 749d236a
</style><g id="container"><g class="shape" ><rect x="0" y="0" width="312" height="358" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="156.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="no container"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="97.000000" y="458.000000" width="118" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:#CEEDEE;color:red;"><p>they did it in style</p>
</div></foreignObject></g></g><g id="container.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="50.000000" y="50.000000" width="212" height="258"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:darkorange;"><h1>a header</h1>
=======
</style><g id="container"><g class="shape" ><rect x="0" y="41" width="312" height="317" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="156.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="no container"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="97.000000" y="458.000000" width="118" height="24"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:#CEEDEE;color:red;"><p>they did it in style</p>
</div></foreignObject></g></g><g id="container.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="50.000000" y="70.000000" width="212" height="258"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:darkorange;"><h1>a header</h1>
>>>>>>> master
<p>a line of text and an</p> <p>a line of text and an</p>
<pre><code>{ <pre><code>{
indented: &quot;block&quot;, indented: &quot;block&quot;,
@ -805,8 +819,16 @@ width="476" height="645" viewBox="-102 -141 476 645"><style type="text/css">
} }
</code></pre> </code></pre>
<p>walk into a bar.</p> <p>walk into a bar.</p>
<<<<<<< HEAD
</div></foreignObject></g></g><g id="(container -&gt; no container)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 136.000000 320.000000 C 136.000000 342.000000 136.000000 354.000000 136.000000 374.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1624494153)"/></g><mask id="1624494153" maskUnits="userSpaceOnUse" x="-100" y="-100" width="476" height="645"> </div></foreignObject></g></g><g id="(container -&gt; no container)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 136.000000 320.000000 C 136.000000 342.000000 136.000000 354.000000 136.000000 374.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1624494153)"/></g><mask id="1624494153" maskUnits="userSpaceOnUse" x="-100" y="-100" width="476" height="645">
<rect x="-100" y="-100" width="476" height="645" fill="white"></rect> <rect x="-100" y="-100" width="476" height="645" fill="white"></rect>
||||||| 749d236a
</div></foreignObject></g></g><g id="(container -&gt; no container)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 156.000000 360.000000 C 156.000000 398.000000 156.000000 418.000000 156.000000 454.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2362058415)"/></g><mask id="2362058415" maskUnits="userSpaceOnUse" x="-100" y="-100" width="516" height="686">
<rect x="-100" y="-100" width="516" height="686" fill="white"></rect>
=======
</div></foreignObject></g></g><g id="(container -&gt; no container)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 156.000000 360.000000 C 156.000000 398.000000 156.000000 418.000000 156.000000 454.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2424495084)"/></g><mask id="2424495084" maskUnits="userSpaceOnUse" x="-100" y="-100" width="516" height="684">
<rect x="-100" y="-100" width="516" height="684" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 518 KiB

After

Width:  |  Height:  |  Size: 522 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 519, "width": 519,
"height": 108, "height": 108,
||||||| 749d236a
"width": 559,
"height": 148,
=======
"width": 559,
"height": 107,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "markdown.md", "id": "markdown.md",
"type": "text", "type": "text",
"pos": { "pos": {
<<<<<<< HEAD
"x": 30, "x": 30,
"y": 30 "y": 30
||||||| 749d236a
"x": 50,
"y": 50
=======
"x": 50,
"y": 70
>>>>>>> master
}, },
"width": 459, "width": 459,
"height": 48, "height": 48,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="723" height="351" viewBox="-102 -141 723 351"><style type="text/css"> width="723" height="351" viewBox="-102 -141 723 351"><style type="text/css">
||||||| 749d236a
width="763" height="352" viewBox="-102 -102 763 352"><style type="text/css">
=======
width="763" height="350" viewBox="-102 -100 763 350"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -796,10 +802,24 @@ width="723" height="351" viewBox="-102 -141 723 351"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
<<<<<<< HEAD
</style><g id="markdown"><g class="shape" ><rect x="0" y="0" width="519" height="108" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="259.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">markdown</text></g><g id="markdown.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="30.000000" y="30.000000" width="459" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:#0A0F25;"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<br /> </style><g id="markdown"><g class="shape" ><rect x="0" y="0" width="519" height="108" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="259.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">markdown</text></g><g id="markdown.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="30.000000" y="30.000000" width="459" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:#0A0F25;"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<br />
||||||| 749d236a
</style><g id="markdown"><g class="shape" ><rect x="0" y="0" width="559" height="148" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="279.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">markdown</text></g><g id="markdown.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="50.000000" y="50.000000" width="459" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:#0A0F25;"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<br />
=======
</style><g id="markdown"><g class="shape" ><rect x="0" y="41" width="559" height="107" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="279.500000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">markdown</text></g><g id="markdown.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="50.000000" y="70.000000" width="459" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:#0A0F25;"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<br />
>>>>>>> master
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<<<<<<< HEAD
</div></foreignObject></g></g><mask id="4293622192" maskUnits="userSpaceOnUse" x="-100" y="-100" width="723" height="351"> </div></foreignObject></g></g><mask id="4293622192" maskUnits="userSpaceOnUse" x="-100" y="-100" width="723" height="351">
<rect x="-100" y="-100" width="723" height="351" fill="white"></rect> <rect x="-100" y="-100" width="723" height="351" fill="white"></rect>
||||||| 749d236a
</div></foreignObject></g></g><mask id="2112972009" maskUnits="userSpaceOnUse" x="-100" y="-100" width="763" height="352">
<rect x="-100" y="-100" width="763" height="352" fill="white"></rect>
=======
</div></foreignObject></g></g><mask id="3064100792" maskUnits="userSpaceOnUse" x="-100" y="-100" width="763" height="350">
<rect x="-100" y="-100" width="763" height="350" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 339 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 519, "width": 519,
"height": 108, "height": 108,
||||||| 749d236a
"width": 559,
"height": 148,
=======
"width": 559,
"height": 107,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "markdown.md", "id": "markdown.md",
"type": "text", "type": "text",
"pos": { "pos": {
<<<<<<< HEAD
"x": 30, "x": 30,
"y": 30 "y": 30
||||||| 749d236a
"x": 50,
"y": 50
=======
"x": 50,
"y": 70
>>>>>>> master
}, },
"width": 459, "width": 459,
"height": 48, "height": 48,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="723" height="351" viewBox="-102 -141 723 351"><style type="text/css"> width="723" height="351" viewBox="-102 -141 723 351"><style type="text/css">
||||||| 749d236a
width="763" height="352" viewBox="-102 -102 763 352"><style type="text/css">
=======
width="763" height="350" viewBox="-102 -100 763 350"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -796,10 +802,24 @@ width="723" height="351" viewBox="-102 -141 723 351"><style type="text/css">
.md .contains-task-list:dir(rtl) .task-list-item-checkbox { .md .contains-task-list:dir(rtl) .task-list-item-checkbox {
margin: 0 -1.6em 0.25em 0.2em; margin: 0 -1.6em 0.25em 0.2em;
} }
<<<<<<< HEAD
</style><g id="markdown"><g class="shape" ><rect x="0" y="0" width="519" height="108" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="259.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">markdown</text></g><g id="markdown.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="30.000000" y="30.000000" width="459" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:#0A0F25;"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<br /> </style><g id="markdown"><g class="shape" ><rect x="0" y="0" width="519" height="108" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="259.500000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">markdown</text></g><g id="markdown.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="30.000000" y="30.000000" width="459" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:#0A0F25;"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<br />
||||||| 749d236a
</style><g id="markdown"><g class="shape" ><rect x="0" y="0" width="559" height="148" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="279.500000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">markdown</text></g><g id="markdown.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="50.000000" y="50.000000" width="459" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:#0A0F25;"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<br />
=======
</style><g id="markdown"><g class="shape" ><rect x="0" y="41" width="559" height="107" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="279.500000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">markdown</text></g><g id="markdown.md"><g class="shape" ></g><g><foreignObject requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" x="50.000000" y="70.000000" width="459" height="48"><div xmlns="http://www.w3.org/1999/xhtml" class="md" style="background-color:transparent;color:#0A0F25;"><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,<br />
>>>>>>> master
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p> sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
<<<<<<< HEAD
</div></foreignObject></g></g><mask id="1875522616" maskUnits="userSpaceOnUse" x="-100" y="-100" width="723" height="351"> </div></foreignObject></g></g><mask id="1875522616" maskUnits="userSpaceOnUse" x="-100" y="-100" width="723" height="351">
<rect x="-100" y="-100" width="723" height="351" fill="white"></rect> <rect x="-100" y="-100" width="723" height="351" fill="white"></rect>
||||||| 749d236a
</div></foreignObject></g></g><mask id="708829929" maskUnits="userSpaceOnUse" x="-100" y="-100" width="763" height="352">
<rect x="-100" y="-100" width="763" height="352" fill="white"></rect>
=======
</div></foreignObject></g></g><mask id="311818784" maskUnits="userSpaceOnUse" x="-100" y="-100" width="763" height="350">
<rect x="-100" y="-100" width="763" height="350" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 337 KiB

After

Width:  |  Height:  |  Size: 339 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 254, "width": 254,
"height": 126, "height": 126,
||||||| 749d236a
"width": 346,
"height": 166,
=======
"width": 346,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "a.b", "id": "a.b",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 50, "x": 50,
"y": 30 "y": 30
||||||| 749d236a
"x": 92,
"y": 50
=======
"x": 92,
"y": 70
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -293,8 +309,16 @@
"id": "a.h", "id": "a.h",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 172, "x": 172,
"y": 30 "y": 30
||||||| 749d236a
"x": 244,
"y": 50
=======
"x": 244,
"y": 70
>>>>>>> master
}, },
"width": 53, "width": 53,
"height": 66, "height": 66,
@ -358,12 +382,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 61.70238095238095, "x": 61.70238095238095,
"y": 96 "y": 96
||||||| 749d236a
"x": 103.0421686746988,
"y": 116
=======
"x": 103.0421686746988,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 50.94047619047619, "x": 50.94047619047619,
"y": 120 "y": 120
||||||| 749d236a
"x": 84.60843373493975,
"y": 156
=======
"x": 84.60843373493975,
"y": 160.1
>>>>>>> master
}, },
{ {
"x": 48.25, "x": 48.25,
@ -754,12 +794,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 198.25, "x": 198.25,
"y": 96 "y": 96
||||||| 749d236a
"x": 270,
"y": 116
=======
"x": 270,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 198.25, "x": 198.25,
"y": 120 "y": 120
||||||| 749d236a
"x": 270,
"y": 156
=======
"x": 270,
"y": 160.1
>>>>>>> master
}, },
{ {
"x": 198.25, "x": 198.25,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="458" height="873" viewBox="-102 -141 458 873"><style type="text/css"> width="458" height="873" viewBox="-102 -141 458 873"><style type="text/css">
||||||| 749d236a
width="550" height="1034" viewBox="-102 -102 550 1034"><style type="text/css">
=======
width="550" height="1032" viewBox="-102 -100 550 1032"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,8 +45,16 @@ width="458" height="873" viewBox="-102 -141 458 873"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="a"><g class="shape" ><rect x="0" y="0" width="254" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="127.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="78" y="564" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="104.500000" y="602.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="d"><g class="shape" ><rect x="171" y="438" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.000000" y="476.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="e"><g class="shape" ><rect x="78" y="438" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="104.500000" y="476.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">e</text></g><g id="f"><g class="shape" ><rect x="173" y="312" width="51" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.500000" y="350.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">f</text></g><g id="g"><g class="shape" ><rect x="171" y="186" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.000000" y="224.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">g</text></g><g id="a.b"><g class="shape" ><rect x="50" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="76.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a.h"><g class="shape" ><rect x="172" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">h</text></g><g id="(a.b -&gt; c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 60.884061 97.824925 C 50.940476 120.000000 48.250000 132.000000 48.250000 141.000000 C 48.250000 150.000000 48.250000 168.600000 48.250000 187.500000 C 48.250000 206.400000 48.250000 231.600000 48.250000 250.500000 C 48.250000 269.400000 48.250000 294.600000 48.250000 313.500000 C 48.250000 332.400000 48.250000 357.600000 48.250000 376.500000 C 48.250000 395.400000 48.250000 420.600000 48.250000 439.500000 C 48.250000 458.400000 54.250000 540.600000 75.559309 564.040240" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(d -&gt; c)[0]"><path d="M 198.250000 506.000000 C 198.250000 528.000000 184.850000 543.028877 134.567244 576.909236" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(e -&gt; c)[0]"><path d="M 104.750000 506.000000 C 104.750000 528.000000 104.750000 540.000000 104.750000 560.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(f -&gt; d)[0]"><path d="M 198.250000 380.000000 C 198.250000 402.000000 198.250000 414.000000 198.250000 434.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(a -&gt; e)[0]"><path d="M 104.750000 128.000000 C 104.750000 150.000000 104.750000 168.600000 104.750000 187.500000 C 104.750000 206.400000 104.750000 231.600000 104.750000 250.500000 C 104.750000 269.400000 104.750000 294.600000 104.750000 313.500000 C 104.750000 332.400000 104.750000 414.000000 104.750000 434.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(g -&gt; f)[0]"><path d="M 198.250000 254.000000 C 198.250000 276.000000 198.250000 288.000000 198.250000 308.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(a.h -&gt; g)[0]"><path d="M 198.250000 98.000000 C 198.250000 120.000000 198.250000 162.000000 198.250000 182.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><mask id="2000898001" maskUnits="userSpaceOnUse" x="-100" y="-100" width="458" height="873"> ]]></script><g id="a"><g class="shape" ><rect x="0" y="0" width="254" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="127.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="78" y="564" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="104.500000" y="602.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="d"><g class="shape" ><rect x="171" y="438" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.000000" y="476.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="e"><g class="shape" ><rect x="78" y="438" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="104.500000" y="476.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">e</text></g><g id="f"><g class="shape" ><rect x="173" y="312" width="51" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.500000" y="350.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">f</text></g><g id="g"><g class="shape" ><rect x="171" y="186" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.000000" y="224.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">g</text></g><g id="a.b"><g class="shape" ><rect x="50" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="76.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a.h"><g class="shape" ><rect x="172" y="30" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">h</text></g><g id="(a.b -&gt; c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 60.884061 97.824925 C 50.940476 120.000000 48.250000 132.000000 48.250000 141.000000 C 48.250000 150.000000 48.250000 168.600000 48.250000 187.500000 C 48.250000 206.400000 48.250000 231.600000 48.250000 250.500000 C 48.250000 269.400000 48.250000 294.600000 48.250000 313.500000 C 48.250000 332.400000 48.250000 357.600000 48.250000 376.500000 C 48.250000 395.400000 48.250000 420.600000 48.250000 439.500000 C 48.250000 458.400000 54.250000 540.600000 75.559309 564.040240" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(d -&gt; c)[0]"><path d="M 198.250000 506.000000 C 198.250000 528.000000 184.850000 543.028877 134.567244 576.909236" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(e -&gt; c)[0]"><path d="M 104.750000 506.000000 C 104.750000 528.000000 104.750000 540.000000 104.750000 560.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(f -&gt; d)[0]"><path d="M 198.250000 380.000000 C 198.250000 402.000000 198.250000 414.000000 198.250000 434.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(a -&gt; e)[0]"><path d="M 104.750000 128.000000 C 104.750000 150.000000 104.750000 168.600000 104.750000 187.500000 C 104.750000 206.400000 104.750000 231.600000 104.750000 250.500000 C 104.750000 269.400000 104.750000 294.600000 104.750000 313.500000 C 104.750000 332.400000 104.750000 414.000000 104.750000 434.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(g -&gt; f)[0]"><path d="M 198.250000 254.000000 C 198.250000 276.000000 198.250000 288.000000 198.250000 308.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><g id="(a.h -&gt; g)[0]"><path d="M 198.250000 98.000000 C 198.250000 120.000000 198.250000 162.000000 198.250000 182.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2000898001)"/></g><mask id="2000898001" maskUnits="userSpaceOnUse" x="-100" y="-100" width="458" height="873">
<rect x="-100" y="-100" width="458" height="873" fill="white"></rect> <rect x="-100" y="-100" width="458" height="873" fill="white"></rect>
||||||| 749d236a
]]></script><g id="a"><g class="shape" ><rect x="0" y="0" width="346" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="173.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="130" y="764" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="156.500000" y="802.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="d"><g class="shape" ><rect x="243" y="598" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="270.000000" y="636.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="e"><g class="shape" ><rect x="130" y="598" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="156.500000" y="636.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">e</text></g><g id="f"><g class="shape" ><rect x="245" y="432" width="51" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="270.500000" y="470.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">f</text></g><g id="g"><g class="shape" ><rect x="243" y="266" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="270.000000" y="304.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">g</text></g><g id="a.b"><g class="shape" ><rect x="92" y="50" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="118.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a.h"><g class="shape" ><rect x="244" y="50" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="270.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">h</text></g><g id="(a.b -&gt; c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 102.205093 117.816399 C 84.608434 156.000000 80.000000 176.000000 80.000000 191.000000 C 80.000000 206.000000 80.000000 232.600000 80.000000 257.500000 C 80.000000 282.400000 80.000000 315.600000 80.000000 340.500000 C 80.000000 365.400000 80.000000 398.600000 80.000000 423.500000 C 80.000000 448.400000 80.000000 481.600000 80.000000 506.500000 C 80.000000 531.400000 80.000000 564.600000 80.000000 589.500000 C 80.000000 614.400000 90.000000 724.800000 127.282368 765.064957" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#745071480)"/></g><g id="(d -&gt; c)[0]"><path d="M 270.000000 666.000000 C 270.000000 704.000000 252.600000 726.800000 186.222084 775.629731" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#745071480)"/></g><g id="(e -&gt; c)[0]"><path d="M 156.500000 666.000000 C 156.500000 704.000000 156.500000 724.000000 156.500000 760.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#745071480)"/></g><g id="(f -&gt; d)[0]"><path d="M 270.000000 500.000000 C 270.000000 538.000000 270.000000 558.000000 270.000000 594.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#745071480)"/></g><g id="(a -&gt; e)[0]"><path d="M 156.500000 168.000000 C 156.500000 206.000000 156.500000 232.600000 156.500000 257.500000 C 156.500000 282.400000 156.500000 315.600000 156.500000 340.500000 C 156.500000 365.400000 156.500000 398.600000 156.500000 423.500000 C 156.500000 448.400000 156.500000 558.000000 156.500000 594.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#745071480)"/></g><g id="(g -&gt; f)[0]"><path d="M 270.000000 334.000000 C 270.000000 372.000000 270.000000 392.000000 270.000000 428.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#745071480)"/></g><g id="(a.h -&gt; g)[0]"><path d="M 270.000000 118.000000 C 270.000000 156.000000 270.000000 226.000000 270.000000 262.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#745071480)"/></g><mask id="745071480" maskUnits="userSpaceOnUse" x="-100" y="-100" width="550" height="1034">
<rect x="-100" y="-100" width="550" height="1034" fill="white"></rect>
=======
]]></script><g id="a"><g class="shape" ><rect x="0" y="41" width="346" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="173.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">a</text></g><g id="c"><g class="shape" ><rect x="130" y="764" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="156.500000" y="802.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="d"><g class="shape" ><rect x="243" y="598" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="270.000000" y="636.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">d</text></g><g id="e"><g class="shape" ><rect x="130" y="598" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="156.500000" y="636.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">e</text></g><g id="f"><g class="shape" ><rect x="245" y="432" width="51" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="270.500000" y="470.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">f</text></g><g id="g"><g class="shape" ><rect x="243" y="266" width="54" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="270.000000" y="304.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">g</text></g><g id="a.b"><g class="shape" ><rect x="92" y="70" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="118.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="a.h"><g class="shape" ><rect x="244" y="70" width="53" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="270.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">h</text></g><g id="(a.b -&gt; c)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 101.811037 138.076171 C 84.608434 160.100000 80.000000 176.000000 80.000000 191.000000 C 80.000000 206.000000 80.000000 232.600000 80.000000 257.500000 C 80.000000 282.400000 80.000000 315.600000 80.000000 340.500000 C 80.000000 365.400000 80.000000 398.600000 80.000000 423.500000 C 80.000000 448.400000 80.000000 481.600000 80.000000 506.500000 C 80.000000 531.400000 80.000000 564.600000 80.000000 589.500000 C 80.000000 614.400000 90.000000 724.800000 127.282368 765.064957" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2843106375)"/></g><g id="(d -&gt; c)[0]"><path d="M 270.000000 666.000000 C 270.000000 704.000000 252.600000 726.800000 186.222084 775.629731" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2843106375)"/></g><g id="(e -&gt; c)[0]"><path d="M 156.500000 666.000000 C 156.500000 704.000000 156.500000 724.000000 156.500000 760.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2843106375)"/></g><g id="(f -&gt; d)[0]"><path d="M 270.000000 500.000000 C 270.000000 538.000000 270.000000 558.000000 270.000000 594.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2843106375)"/></g><g id="(a -&gt; e)[0]"><path d="M 156.500000 168.000000 C 156.500000 206.000000 156.500000 232.600000 156.500000 257.500000 C 156.500000 282.400000 156.500000 315.600000 156.500000 340.500000 C 156.500000 365.400000 156.500000 398.600000 156.500000 423.500000 C 156.500000 448.400000 156.500000 558.000000 156.500000 594.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2843106375)"/></g><g id="(g -&gt; f)[0]"><path d="M 270.000000 334.000000 C 270.000000 372.000000 270.000000 392.000000 270.000000 428.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2843106375)"/></g><g id="(a.h -&gt; g)[0]"><path d="M 270.000000 138.500000 C 270.000000 160.100000 270.000000 226.000000 270.000000 262.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#2843106375)"/></g><mask id="2843106375" maskUnits="userSpaceOnUse" x="-100" y="-100" width="550" height="1032">
<rect x="-100" y="-100" width="550" height="1032" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 652 KiB

After

Width:  |  Height:  |  Size: 662 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 276, "width": 276,
"height": 126, "height": 126,
||||||| 749d236a
"width": 356,
"height": 166,
=======
"width": 356,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "top.start", "id": "top.start",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 98, "x": 98,
"y": 30 "y": 30
||||||| 749d236a
"x": 138,
"y": 50
=======
"x": 138,
"y": 70
>>>>>>> master
}, },
"width": 80, "width": 80,
"height": 66, "height": 66,
@ -212,10 +228,24 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
<<<<<<< HEAD
"y": 312 "y": 312
||||||| 749d236a
"y": 432
=======
"y": 473
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 274, "width": 274,
"height": 126, "height": 126,
||||||| 749d236a
"width": 354,
"height": 166,
=======
"width": 354,
"height": 125,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -252,8 +282,16 @@
"id": "bottom.end", "id": "bottom.end",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 112, "x": 112,
"y": 342 "y": 342
||||||| 749d236a
"x": 162,
"y": 482
=======
"x": 162,
"y": 502
>>>>>>> master
}, },
"width": 72, "width": 72,
"height": 66, "height": 66,
@ -317,12 +355,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 98, "x": 98,
"y": 92.64705882352942 "y": 92.64705882352942
||||||| 749d236a
"x": 140.2289156626506,
"y": 116
=======
"x": 140.2289156626506,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 62, "x": 62,
"y": 119.32941176470588 "y": 119.32941176470588
||||||| 749d236a
"x": 94.44578313253012,
"y": 156
=======
"x": 94.44578313253012,
"y": 160.1
>>>>>>> master
}, },
{ {
"x": 53, "x": 53,
@ -365,12 +419,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 142.1904761904762, "x": 142.1904761904762,
"y": 96 "y": 96
||||||| 749d236a
"x": 185.1566265060241,
"y": 116
=======
"x": 185.1566265060241,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 145.23809523809524, "x": 145.23809523809524,
"y": 120 "y": 120
||||||| 749d236a
"x": 193.83132530120483,
"y": 156
=======
"x": 193.83132530120483,
"y": 160.1
>>>>>>> master
}, },
{ {
"x": 146, "x": 146,
@ -413,12 +483,28 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 178, "x": 178,
"y": 87.95049504950495 "y": 87.95049504950495
||||||| 749d236a
"x": 218,
"y": 108.34351145038168
=======
"x": 218,
"y": 128.8435114503817
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 226.8, "x": 226.8,
"y": 118.390099009901 "y": 118.390099009901
||||||| 749d236a
"x": 290.8,
"y": 154.46870229007635
=======
"x": 290.8,
"y": 158.56870229007635
>>>>>>> master
}, },
{ {
"x": 239, "x": 239,
@ -469,12 +555,28 @@
"y": 276 "y": 276
}, },
{ {
<<<<<<< HEAD
"x": 64.8, "x": 64.8,
"y": 319.8 "y": 319.8
||||||| 749d236a
"x": 98.8,
"y": 443.4
=======
"x": 98.8,
"y": 447.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 112, "x": 112,
"y": 351 "y": 351
||||||| 749d236a
"x": 162,
"y": 489
=======
"x": 162,
"y": 509.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -517,12 +619,28 @@
"y": 276 "y": 276
}, },
{ {
<<<<<<< HEAD
"x": 146.2, "x": 146.2,
"y": 318 "y": 318
||||||| 749d236a
"x": 196.2,
"y": 442
=======
"x": 196.2,
"y": 446.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 147, "x": 147,
"y": 342 "y": 342
||||||| 749d236a
"x": 197,
"y": 482
=======
"x": 197,
"y": 502.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -565,12 +683,28 @@
"y": 276 "y": 276
}, },
{ {
<<<<<<< HEAD
"x": 228, "x": 228,
"y": 319.6 "y": 319.6
||||||| 749d236a
"x": 294,
"y": 443.2
=======
"x": 294,
"y": 447.3
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 184, "x": 184,
"y": 350 "y": 350
||||||| 749d236a
"x": 234,
"y": 488
=======
"x": 234,
"y": 508.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="480" height="681" viewBox="-102 -141 480 681"><style type="text/css"> width="480" height="681" viewBox="-102 -141 480 681"><style type="text/css">
||||||| 749d236a
width="560" height="802" viewBox="-102 -102 560 802"><style type="text/css">
=======
width="560" height="800" viewBox="-102 -100 560 800"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,8 +45,16 @@ width="480" height="681" viewBox="-102 -141 480 681"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="top"><g class="shape" ><rect x="0" y="0" width="276" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="138.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">top</text></g><g id="a"><g class="shape" ><rect x="27" y="186" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="53.500000" y="224.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="b"><g class="shape" ><rect x="120" y="186" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="146.500000" y="224.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c"><g class="shape" ><rect x="213" y="186" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="239.500000" y="224.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="bottom"><g class="shape" ><rect x="0" y="312" width="274" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="137.000000" y="299.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">bottom</text></g><g id="top.start"><g class="shape" ><rect x="98" y="30" width="80" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="138.000000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">start</text></g><g id="bottom.end"><g class="shape" ><rect x="112" y="342" width="72" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="148.000000" y="380.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">end</text></g><g id="(top.start -&gt; a)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 96.393221 93.837966 C 62.000000 119.329412 53.000000 162.000000 53.000000 182.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(top.start -&gt; b)[0]"><path d="M 142.442421 97.984067 C 145.238095 120.000000 146.000000 162.000000 146.000000 182.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(top.start -&gt; c)[0]"><path d="M 179.696940 89.008982 C 226.800000 118.390099 239.000000 162.000000 239.000000 182.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(a -&gt; bottom.end)[0]"><path d="M 53.000000 254.000000 C 53.000000 276.000000 64.800000 319.800000 108.663123 348.794268" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(b -&gt; bottom.end)[0]"><path d="M 146.000000 254.000000 C 146.000000 276.000000 146.200000 318.000000 146.866741 338.002220" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(c -&gt; bottom.end)[0]"><path d="M 239.000000 254.000000 C 239.000000 276.000000 228.000000 319.600000 187.290921 347.726273" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><mask id="1701914959" maskUnits="userSpaceOnUse" x="-100" y="-100" width="480" height="681"> ]]></script><g id="top"><g class="shape" ><rect x="0" y="0" width="276" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="138.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">top</text></g><g id="a"><g class="shape" ><rect x="27" y="186" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="53.500000" y="224.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="b"><g class="shape" ><rect x="120" y="186" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="146.500000" y="224.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c"><g class="shape" ><rect x="213" y="186" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="239.500000" y="224.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="bottom"><g class="shape" ><rect x="0" y="312" width="274" height="126" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="137.000000" y="299.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">bottom</text></g><g id="top.start"><g class="shape" ><rect x="98" y="30" width="80" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="138.000000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">start</text></g><g id="bottom.end"><g class="shape" ><rect x="112" y="342" width="72" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="148.000000" y="380.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">end</text></g><g id="(top.start -&gt; a)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 96.393221 93.837966 C 62.000000 119.329412 53.000000 162.000000 53.000000 182.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(top.start -&gt; b)[0]"><path d="M 142.442421 97.984067 C 145.238095 120.000000 146.000000 162.000000 146.000000 182.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(top.start -&gt; c)[0]"><path d="M 179.696940 89.008982 C 226.800000 118.390099 239.000000 162.000000 239.000000 182.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(a -&gt; bottom.end)[0]"><path d="M 53.000000 254.000000 C 53.000000 276.000000 64.800000 319.800000 108.663123 348.794268" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(b -&gt; bottom.end)[0]"><path d="M 146.000000 254.000000 C 146.000000 276.000000 146.200000 318.000000 146.866741 338.002220" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><g id="(c -&gt; bottom.end)[0]"><path d="M 239.000000 254.000000 C 239.000000 276.000000 228.000000 319.600000 187.290921 347.726273" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1701914959)"/></g><mask id="1701914959" maskUnits="userSpaceOnUse" x="-100" y="-100" width="480" height="681">
<rect x="-100" y="-100" width="480" height="681" fill="white"></rect> <rect x="-100" y="-100" width="480" height="681" fill="white"></rect>
||||||| 749d236a
]]></script><g id="top"><g class="shape" ><rect x="0" y="0" width="356" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="178.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">top</text></g><g id="a"><g class="shape" ><rect x="57" y="266" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="83.500000" y="304.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="b"><g class="shape" ><rect x="170" y="266" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="196.500000" y="304.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c"><g class="shape" ><rect x="283" y="266" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="309.500000" y="304.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="bottom"><g class="shape" ><rect x="0" y="432" width="354" height="166" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="177.000000" y="465.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">bottom</text></g><g id="top.start"><g class="shape" ><rect x="138" y="50" width="80" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="178.000000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">start</text></g><g id="bottom.end"><g class="shape" ><rect x="162" y="482" width="72" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.000000" y="520.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">end</text></g><g id="(top.start -&gt; a)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 138.722781 117.315886 C 94.445783 156.000000 83.000000 226.000000 83.000000 262.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1364092329)"/></g><g id="(top.start -&gt; b)[0]"><path d="M 185.580508 117.954565 C 193.831325 156.000000 196.000000 226.000000 196.000000 262.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1364092329)"/></g><g id="(top.start -&gt; c)[0]"><path d="M 219.689444 109.413922 C 290.800000 154.468702 309.000000 226.000000 309.000000 262.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1364092329)"/></g><g id="(a -&gt; bottom.end)[0]"><path d="M 83.000000 334.000000 C 83.000000 372.000000 98.800000 443.400000 158.756201 486.659537" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1364092329)"/></g><g id="(b -&gt; bottom.end)[0]"><path d="M 196.000000 334.000000 C 196.000000 372.000000 196.200000 442.000000 196.920016 478.000800" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1364092329)"/></g><g id="(c -&gt; bottom.end)[0]"><path d="M 309.000000 334.000000 C 309.000000 372.000000 294.000000 443.200000 237.205121 485.606843" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1364092329)"/></g><mask id="1364092329" maskUnits="userSpaceOnUse" x="-100" y="-100" width="560" height="802">
<rect x="-100" y="-100" width="560" height="802" fill="white"></rect>
=======
]]></script><g id="top"><g class="shape" ><rect x="0" y="41" width="356" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="178.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">top</text></g><g id="a"><g class="shape" ><rect x="57" y="266" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="83.500000" y="304.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">a</text></g><g id="b"><g class="shape" ><rect x="170" y="266" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="196.500000" y="304.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">b</text></g><g id="c"><g class="shape" ><rect x="283" y="266" width="53" height="66" style="fill:#F7F8FE;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="309.500000" y="304.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">c</text></g><g id="bottom"><g class="shape" ><rect x="0" y="473" width="354" height="125" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="177.000000" y="460.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">bottom</text></g><g id="top.start"><g class="shape" ><rect x="138" y="70" width="80" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="178.000000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">start</text></g><g id="bottom.end"><g class="shape" ><rect x="162" y="502" width="72" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="198.000000" y="540.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">end</text></g><g id="(top.start -&gt; a)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 138.451200 137.416366 C 94.445783 160.100000 83.000000 226.000000 83.000000 262.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1150458950)"/></g><g id="(top.start -&gt; b)[0]"><path d="M 185.846634 138.377203 C 193.831325 160.100000 196.000000 226.000000 196.000000 262.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1150458950)"/></g><g id="(top.start -&gt; c)[0]"><path d="M 219.851598 129.599543 C 290.800000 158.568702 309.000000 226.000000 309.000000 262.000000" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1150458950)"/></g><g id="(a -&gt; bottom.end)[0]"><path d="M 83.000000 334.000000 C 83.000000 372.000000 98.800000 447.500000 159.144595 506.698811" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1150458950)"/></g><g id="(b -&gt; bottom.end)[0]"><path d="M 196.000000 334.000000 C 196.000000 372.000000 196.200000 446.100000 196.943268 498.500402" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1150458950)"/></g><g id="(c -&gt; bottom.end)[0]"><path d="M 309.000000 334.000000 C 309.000000 372.000000 294.000000 447.300000 236.800286 505.643709" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#1150458950)"/></g><mask id="1150458950" maskUnits="userSpaceOnUse" x="-100" y="-100" width="560" height="800">
<rect x="-100" y="-100" width="560" height="800" fill="white"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {

Before

Width:  |  Height:  |  Size: 651 KiB

After

Width:  |  Height:  |  Size: 659 KiB

View file

@ -59,10 +59,24 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
<<<<<<< HEAD
"y": 214 "y": 214
||||||| 749d236a
"y": 254
=======
"y": 295
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 852, "width": 852,
"height": 804, "height": 804,
||||||| 749d236a
"width": 1112,
"height": 1004,
=======
"width": 1112,
"height": 963,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -99,8 +113,16 @@
"id": "container.root", "id": "container.root",
"type": "image", "type": "image",
"pos": { "pos": {
<<<<<<< HEAD
"x": 362, "x": 362,
"y": 244 "y": 244
||||||| 749d236a
"x": 492,
"y": 304
=======
"x": 492,
"y": 324
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 128, "height": 128,
@ -151,11 +173,27 @@
"id": "container.left", "id": "container.left",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 20, "x": 20,
"y": 479 "y": 479
||||||| 749d236a
"x": 40,
"y": 579
=======
"x": 40,
"y": 635
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 396, "width": 396,
"height": 509, "height": 509,
||||||| 749d236a
"width": 496,
"height": 629,
=======
"width": 496,
"height": 593,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -192,8 +230,16 @@
"id": "container.left.root", "id": "container.left.root",
"type": "image", "type": "image",
"pos": { "pos": {
<<<<<<< HEAD
"x": 154, "x": 154,
"y": 509 "y": 509
||||||| 749d236a
"x": 224,
"y": 629
=======
"x": 224,
"y": 667
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 128, "height": 128,
@ -244,11 +290,27 @@
"id": "container.left.inner", "id": "container.left.inner",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 40, "x": 40,
"y": 744 "y": 744
||||||| 749d236a
"x": 80,
"y": 904
=======
"x": 80,
"y": 973
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 356, "width": 356,
"height": 214, "height": 214,
||||||| 749d236a
"width": 416,
"height": 254,
=======
"width": 416,
"height": 223,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -285,8 +347,16 @@
"id": "container.left.inner.left", "id": "container.left.inner.left",
"type": "image", "type": "image",
"pos": { "pos": {
<<<<<<< HEAD
"x": 70, "x": 70,
"y": 774 "y": 774
||||||| 749d236a
"x": 130,
"y": 954
=======
"x": 130,
"y": 1008
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 128, "height": 128,
@ -337,8 +407,16 @@
"id": "container.left.inner.right", "id": "container.left.inner.right",
"type": "image", "type": "image",
"pos": { "pos": {
<<<<<<< HEAD
"x": 238, "x": 238,
"y": 774 "y": 774
||||||| 749d236a
"x": 318,
"y": 954
=======
"x": 318,
"y": 1008
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 128, "height": 128,
@ -389,11 +467,27 @@
"id": "container.right", "id": "container.right",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 436, "x": 436,
"y": 479 "y": 479
||||||| 749d236a
"x": 576,
"y": 579
=======
"x": 576,
"y": 635
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 396, "width": 396,
"height": 509, "height": 509,
||||||| 749d236a
"width": 496,
"height": 629,
=======
"width": 496,
"height": 593,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -430,8 +524,16 @@
"id": "container.right.root", "id": "container.right.root",
"type": "image", "type": "image",
"pos": { "pos": {
<<<<<<< HEAD
"x": 570, "x": 570,
"y": 509 "y": 509
||||||| 749d236a
"x": 760,
"y": 629
=======
"x": 760,
"y": 667
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 128, "height": 128,
@ -482,11 +584,27 @@
"id": "container.right.inner", "id": "container.right.inner",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 456, "x": 456,
"y": 744 "y": 744
||||||| 749d236a
"x": 616,
"y": 904
=======
"x": 616,
"y": 973
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 356, "width": 356,
"height": 214, "height": 214,
||||||| 749d236a
"width": 416,
"height": 254,
=======
"width": 416,
"height": 223,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -523,8 +641,16 @@
"id": "container.right.inner.left", "id": "container.right.inner.left",
"type": "image", "type": "image",
"pos": { "pos": {
<<<<<<< HEAD
"x": 486, "x": 486,
"y": 774 "y": 774
||||||| 749d236a
"x": 666,
"y": 954
=======
"x": 666,
"y": 1008
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 128, "height": 128,
@ -575,8 +701,16 @@
"id": "container.right.inner.right", "id": "container.right.inner.right",
"type": "image", "type": "image",
"pos": { "pos": {
<<<<<<< HEAD
"x": 654, "x": 654,
"y": 774 "y": 774
||||||| 749d236a
"x": 854,
"y": 954
=======
"x": 854,
"y": 1008
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 128, "height": 128,
@ -659,12 +793,28 @@
"y": 178 "y": 178
}, },
{ {
<<<<<<< HEAD
"x": 426, "x": 426,
"y": 220 "y": 220
||||||| 749d236a
"x": 556,
"y": 264
=======
"x": 556,
"y": 268.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 426, "x": 426,
"y": 244 "y": 244
||||||| 749d236a
"x": 556,
"y": 304
=======
"x": 556,
"y": 324.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -699,20 +849,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 162.9531914893617, "x": 162.9531914893617,
"y": 663 "y": 663
||||||| 749d236a
"x": 235.36,
"y": 783
=======
"x": 235.36,
"y": 821.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 139.79063829787233, "x": 139.79063829787233,
"y": 695.4 "y": 695.4
||||||| 749d236a
"x": 202.272,
"y": 831.4
=======
"x": 202.272,
"y": 869.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 134, "x": 134,
"y": 750 "y": 750
||||||| 749d236a
"x": 194,
"y": 914
=======
"x": 194,
"y": 955.6
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 134, "x": 134,
"y": 774 "y": 774
||||||| 749d236a
"x": 194,
"y": 954
=======
"x": 194,
"y": 1008
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -747,20 +929,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 273.0468085106383, "x": 273.0468085106383,
"y": 663 "y": 663
||||||| 749d236a
"x": 340.64,
"y": 783
=======
"x": 340.64,
"y": 821.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 296.20936170212764, "x": 296.20936170212764,
"y": 695.4 "y": 695.4
||||||| 749d236a
"x": 373.728,
"y": 831.4
=======
"x": 373.728,
"y": 869.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 302, "x": 302,
"y": 750 "y": 750
||||||| 749d236a
"x": 382,
"y": 914
=======
"x": 382,
"y": 955.6
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 302, "x": 302,
"y": 774 "y": 774
||||||| 749d236a
"x": 382,
"y": 954
=======
"x": 382,
"y": 1008
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -795,20 +1009,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 578.9531914893616, "x": 578.9531914893616,
"y": 663 "y": 663
||||||| 749d236a
"x": 771.36,
"y": 783
=======
"x": 771.36,
"y": 821.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 555.7906382978723, "x": 555.7906382978723,
"y": 695.4 "y": 695.4
||||||| 749d236a
"x": 738.272,
"y": 831.4
=======
"x": 738.272,
"y": 869.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 550, "x": 550,
"y": 750 "y": 750
||||||| 749d236a
"x": 730,
"y": 914
=======
"x": 730,
"y": 955.6
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 550, "x": 550,
"y": 774 "y": 774
||||||| 749d236a
"x": 730,
"y": 954
=======
"x": 730,
"y": 1008
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -843,20 +1089,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 689.0468085106384, "x": 689.0468085106384,
"y": 663 "y": 663
||||||| 749d236a
"x": 876.64,
"y": 783
=======
"x": 876.64,
"y": 821.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 712.2093617021277, "x": 712.2093617021277,
"y": 695.4 "y": 695.4
||||||| 749d236a
"x": 909.728,
"y": 831.4
=======
"x": 909.728,
"y": 869.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 718, "x": 718,
"y": 750 "y": 750
||||||| 749d236a
"x": 918,
"y": 914
=======
"x": 918,
"y": 955.6
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 718, "x": 718,
"y": 774 "y": 774
||||||| 749d236a
"x": 918,
"y": 954
=======
"x": 918,
"y": 1008
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -891,20 +1169,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 362, "x": 362,
"y": 357.15384615384613 "y": 357.15384615384613
||||||| 749d236a
"x": 492,
"y": 413.8358208955224
=======
"x": 492,
"y": 434.3358208955224
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 246.8, "x": 246.8,
"y": 422.2307692307692 "y": 422.2307692307692
||||||| 749d236a
"x": 328.79999999999995,
"y": 497.56716417910445
=======
"x": 328.79999999999995,
"y": 518.0671641791045
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 218, "x": 218,
"y": 485 "y": 485
||||||| 749d236a
"x": 288,
"y": 589
=======
"x": 288,
"y": 613.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 218, "x": 218,
"y": 509 "y": 509
||||||| 749d236a
"x": 288,
"y": 629
=======
"x": 288,
"y": 667.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -939,20 +1249,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 490, "x": 490,
"y": 357.15384615384613 "y": 357.15384615384613
||||||| 749d236a
"x": 620,
"y": 413.8358208955224
=======
"x": 620,
"y": 434.3358208955224
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 605.2, "x": 605.2,
"y": 422.2307692307692 "y": 422.2307692307692
||||||| 749d236a
"x": 783.2,
"y": 497.56716417910445
=======
"x": 783.2,
"y": 518.0671641791045
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 634, "x": 634,
"y": 485 "y": 485
||||||| 749d236a
"x": 824,
"y": 589
=======
"x": 824,
"y": 613.1
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 634, "x": 634,
"y": 509 "y": 509
||||||| 749d236a
"x": 824,
"y": 629
=======
"x": 824,
"y": 667.5
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 798 KiB

After

Width:  |  Height:  |  Size: 814 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 824 KiB

After

Width:  |  Height:  |  Size: 890 KiB

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 658 KiB

After

Width:  |  Height:  |  Size: 679 KiB

View file

@ -0,0 +1,379 @@
{
"name": "",
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "a",
"type": "rectangle",
"pos": {
"x": 0,
"y": 41
},
"width": 434,
"height": 325,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 12,
"labelHeight": 36,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "a.b",
"type": "rectangle",
"pos": {
"x": 40,
"y": 106
},
"width": 354,
"height": 230,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 24,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 12,
"labelHeight": 31,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.b.c",
"type": "rectangle",
"pos": {
"x": 80,
"y": 169
},
"width": 274,
"height": 135,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#F7F8FE",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 9,
"labelHeight": 26,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 3
},
{
"id": "a.b.c.d",
"type": "rectangle",
"pos": {
"x": 130,
"y": 204
},
"width": 54,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#FFFFFF",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "d",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 9,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 4
}
],
"connections": [
{
"id": "(a.b -> a)[0]",
"src": "a.b",
"srcArrow": "none",
"srcLabel": "",
"dst": "a",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 184,
"y": 224.73204419889504
},
{
"x": 210.66666666666669,
"y": 181.346408839779
},
{
"x": 219,
"y": 170.5
},
{
"x": 221.5,
"y": 170.5
},
{
"x": 224,
"y": 170.5
},
{
"x": 227.33333333333331,
"y": 177.1
},
{
"x": 229.83333333333331,
"y": 187
},
{
"x": 232.33333333333334,
"y": 196.9
},
{
"x": 232.33333333333334,
"y": 210.1
},
{
"x": 229.83333333333331,
"y": 220
},
{
"x": 227.33333333333331,
"y": 229.9
},
{
"x": 210.66666666666669,
"y": 232.853591160221
},
{
"x": 184,
"y": 218.26795580110496
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "a.(b -> b.c)[0]",
"src": "a.b",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.b.c",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 184,
"y": 211.25862068965517
},
{
"x": 232,
"y": 193.05172413793105
},
{
"x": 247,
"y": 188.5
},
{
"x": 251.5,
"y": 188.5
},
{
"x": 256,
"y": 188.5
},
{
"x": 262,
"y": 195.1
},
{
"x": 266.5,
"y": 205
},
{
"x": 271,
"y": 214.9
},
{
"x": 271,
"y": 228.1
},
{
"x": 266.5,
"y": 238
},
{
"x": 262,
"y": 247.9
},
{
"x": 232,
"y": 256.14827586206894
},
{
"x": 184,
"y": 262.7413793103448
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "a.(b.c.d -> b)[0]",
"src": "a.b.c.d",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.b",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 183.66666666666669,
"y": 245
},
{
"x": 184,
"y": 229.33870967741936
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
]
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 650 KiB

View file

@ -0,0 +1,297 @@
{
"name": "",
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "a",
"type": "rectangle",
"pos": {
"x": 12,
"y": 12
},
"width": 514,
"height": 621,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 12,
"labelHeight": 36,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "a.b",
"type": "rectangle",
"pos": {
"x": 87,
"y": 87
},
"width": 364,
"height": 471,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 24,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 12,
"labelHeight": 31,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.b.c",
"type": "rectangle",
"pos": {
"x": 172,
"y": 162
},
"width": 204,
"height": 216,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#F7F8FE",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 20,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 9,
"labelHeight": 26,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 3
},
{
"id": "a.b.c.d",
"type": "rectangle",
"pos": {
"x": 247,
"y": 237
},
"width": 54,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#FFFFFF",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "d",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 9,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 4
}
],
"connections": [
{
"id": "(a.b -> a)[0]",
"src": "a.b",
"srcArrow": "none",
"srcLabel": "",
"dst": "a",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 162,
"y": 558
},
{
"x": 162,
"y": 633
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "a.(b -> b.c)[0]",
"src": "a.b",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.b.c",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 247,
"y": 87
},
{
"x": 247,
"y": 162
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "a.(b.c.d -> b)[0]",
"src": "a.b.c.d",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.b",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 274,
"y": 303
},
{
"x": 274,
"y": 433
},
{
"x": 162,
"y": 433
},
{
"x": 162,
"y": 87
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
]
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 650 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 160, "width": 160,
"height": 273, "height": 273,
||||||| 749d236a
"width": 220,
"height": 353,
=======
"width": 220,
"height": 312,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,8 +55,16 @@
"id": "container.first", "id": "container.first",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 43, "x": 43,
"y": 30 "y": 30
||||||| 749d236a
"x": 73,
"y": 50
=======
"x": 73,
"y": 70
>>>>>>> master
}, },
"width": 75, "width": 75,
"height": 66, "height": 66,
@ -88,8 +104,16 @@
"id": "container.second", "id": "container.second",
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
<<<<<<< HEAD
"x": 33, "x": 33,
"y": 177 "y": 177
||||||| 749d236a
"x": 63,
"y": 237
=======
"x": 63,
"y": 257
>>>>>>> master
}, },
"width": 95, "width": 95,
"height": 66, "height": 66,
@ -153,20 +177,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 69.36224489795919, "x": 69.36224489795919,
"y": 96 "y": 96
||||||| 749d236a
"x": 98.16176470588235,
"y": 116
=======
"x": 98.16176470588235,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 58.672448979591834, "x": 58.672448979591834,
"y": 128.4 "y": 128.4
||||||| 749d236a
"x": 80.43235294117648,
"y": 164.4
=======
"x": 80.43235294117648,
"y": 184.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 58.6, "x": 58.6,
"y": 144.7 "y": 144.7
||||||| 749d236a
"x": 80.4,
"y": 188.7
=======
"x": 80.4,
"y": 209.2
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 69, "x": 69,
"y": 177.5 "y": 177.5
||||||| 749d236a
"x": 98,
"y": 237.5
=======
"x": 98,
"y": 258
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,
@ -201,20 +257,52 @@
"labelPercentage": 0, "labelPercentage": 0,
"route": [ "route": [
{ {
<<<<<<< HEAD
"x": 91.13775510204081, "x": 91.13775510204081,
"y": 96 "y": 96
||||||| 749d236a
"x": 122.33823529411765,
"y": 116
=======
"x": 122.33823529411765,
"y": 136.5
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 101.82755102040817, "x": 101.82755102040817,
"y": 128.4 "y": 128.4
||||||| 749d236a
"x": 140.06764705882352,
"y": 164.4
=======
"x": 140.06764705882352,
"y": 184.9
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 101.9, "x": 101.9,
"y": 144.7 "y": 144.7
||||||| 749d236a
"x": 140.1,
"y": 188.7
=======
"x": 140.1,
"y": 209.2
>>>>>>> master
}, },
{ {
<<<<<<< HEAD
"x": 91.5, "x": 91.5,
"y": 177.5 "y": 177.5
||||||| 749d236a
"x": 122.5,
"y": 237.5
=======
"x": 122.5,
"y": 258
>>>>>>> master
} }
], ],
"isCurve": true, "isCurve": true,

View file

@ -3,7 +3,13 @@
id="d2-svg" id="d2-svg"
style="background: white;" style="background: white;"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
<<<<<<< HEAD
width="364" height="516" viewBox="-102 -141 364 516"><style type="text/css"> width="364" height="516" viewBox="-102 -141 364 516"><style type="text/css">
||||||| 749d236a
width="424" height="557" viewBox="-102 -102 424 557"><style type="text/css">
=======
width="424" height="555" viewBox="-102 -100 424 555"><style type="text/css">
>>>>>>> master
<![CDATA[ <![CDATA[
.shape { .shape {
shape-rendering: geometricPrecision; shape-rendering: geometricPrecision;
@ -39,10 +45,22 @@ width="364" height="516" viewBox="-102 -141 364 516"><style type="text/css">
svgEl.setAttribute("height", height * ratio - 16); svgEl.setAttribute("height", height * ratio - 16);
} }
}); });
<<<<<<< HEAD
]]></script><g id="container"><g class="shape" ><rect x="0" y="0" width="160" height="273" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="80.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="container.first"><g class="shape" ><rect x="43" y="30" width="75" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="80.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">first</text></g><g id="container.second"><g class="shape" ><rect x="33" y="177" width="95" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="80.500000" y="215.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">second</text></g><g id="container.(first -&gt; second)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 68.735607 97.899296 C 58.672449 128.400000 58.600000 144.700000 67.791025 173.687077" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3223931863)"/><text class="text-italic" x="58.500000" y="142.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">1-&gt;2</text></g><g id="(container -&gt; container.second)[0]"><path d="M 91.764393 97.899296 C 101.827551 128.400000 101.900000 144.700000 92.708975 173.687077" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3223931863)"/><text class="text-italic" x="102.000000" y="142.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">c-&gt;2</text></g><mask id="3223931863" maskUnits="userSpaceOnUse" x="-100" y="-100" width="364" height="516"> ]]></script><g id="container"><g class="shape" ><rect x="0" y="0" width="160" height="273" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="80.000000" y="-13.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="container.first"><g class="shape" ><rect x="43" y="30" width="75" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="80.500000" y="68.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">first</text></g><g id="container.second"><g class="shape" ><rect x="33" y="177" width="95" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="80.500000" y="215.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">second</text></g><g id="container.(first -&gt; second)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 68.735607 97.899296 C 58.672449 128.400000 58.600000 144.700000 67.791025 173.687077" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3223931863)"/><text class="text-italic" x="58.500000" y="142.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">1-&gt;2</text></g><g id="(container -&gt; container.second)[0]"><path d="M 91.764393 97.899296 C 101.827551 128.400000 101.900000 144.700000 92.708975 173.687077" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#3223931863)"/><text class="text-italic" x="102.000000" y="142.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">c-&gt;2</text></g><mask id="3223931863" maskUnits="userSpaceOnUse" x="-100" y="-100" width="364" height="516">
<rect x="-100" y="-100" width="364" height="516" fill="white"></rect> <rect x="-100" y="-100" width="364" height="516" fill="white"></rect>
<rect x="44.000000" y="126.000000" width="29" height="21" fill="black"></rect> <rect x="44.000000" y="126.000000" width="29" height="21" fill="black"></rect>
<rect x="88.000000" y="126.000000" width="28" height="21" fill="black"></rect> <rect x="88.000000" y="126.000000" width="28" height="21" fill="black"></rect>
||||||| 749d236a
]]></script><g id="container"><g class="shape" ><rect x="0" y="0" width="220" height="353" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="110.000000" y="33.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="container.first"><g class="shape" ><rect x="73" y="50" width="75" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="110.500000" y="88.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">first</text></g><g id="container.second"><g class="shape" ><rect x="63" y="237" width="95" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="110.500000" y="275.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">second</text></g><g id="container.(first -&gt; second)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 97.473846 117.877969 C 80.432353 164.400000 80.400000 188.700000 96.642938 233.737237" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#762398313)"/><text class="text-italic" x="80.500000" y="182.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">1-&gt;2</text></g><g id="(container -&gt; container.second)[0]"><path d="M 123.026154 117.877969 C 140.067647 164.400000 140.100000 188.700000 123.857062 233.737237" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#762398313)"/><text class="text-italic" x="140.000000" y="182.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">c-&gt;2</text></g><mask id="762398313" maskUnits="userSpaceOnUse" x="-100" y="-100" width="424" height="557">
<rect x="-100" y="-100" width="424" height="557" fill="white"></rect>
<rect x="66.000000" y="166.000000" width="29" height="21" fill="black"></rect>
<rect x="126.000000" y="166.000000" width="28" height="21" fill="black"></rect>
=======
]]></script><g id="container"><g class="shape" ><rect x="0" y="41" width="220" height="312" style="fill:#E3E9FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text" x="110.000000" y="28.000000" style="text-anchor:middle;font-size:28px;fill:#0A0F25">container</text></g><g id="container.first"><g class="shape" ><rect x="73" y="70" width="75" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="110.500000" y="108.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">first</text></g><g id="container.second"><g class="shape" ><rect x="63" y="257" width="95" height="66" style="fill:#EDF0FD;stroke:#0D32B2;stroke-width:2;" /></g><text class="text-bold" x="110.500000" y="295.500000" style="text-anchor:middle;font-size:16px;fill:#0A0F25">second</text></g><g id="container.(first -&gt; second)[0]"><marker id="mk-3990223579" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon class="connection" fill="#0D32B2" stroke-width="2" points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" /> </marker><path d="M 97.473846 138.377969 C 80.432353 184.900000 80.400000 209.200000 96.642938 254.237237" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#253225556)"/><text class="text-italic" x="80.500000" y="203.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">1-&gt;2</text></g><g id="(container -&gt; container.second)[0]"><path d="M 123.026154 138.377969 C 140.067647 184.900000 140.100000 209.200000 123.857062 254.237237" class="connection" style="fill:none;stroke:#0D32B2;stroke-width:2;" marker-end="url(#mk-3990223579)" mask="url(#253225556)"/><text class="text-italic" x="140.000000" y="203.000000" style="text-anchor:middle;font-size:16px;fill:#676C7E">c-&gt;2</text></g><mask id="253225556" maskUnits="userSpaceOnUse" x="-100" y="-100" width="424" height="555">
<rect x="-100" y="-100" width="424" height="555" fill="white"></rect>
<rect x="66.000000" y="187.000000" width="29" height="21" fill="black"></rect>
<rect x="126.000000" y="187.000000" width="28" height="21" fill="black"></rect>
>>>>>>> master
</mask><style type="text/css"><![CDATA[ </mask><style type="text/css"><![CDATA[
.text { .text {
font-family: "font-regular"; font-family: "font-regular";

Before

Width:  |  Height:  |  Size: 793 KiB

After

Width:  |  Height:  |  Size: 797 KiB

View file

@ -0,0 +1,320 @@
{
"name": "",
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "a",
"type": "rectangle",
"pos": {
"x": 0,
"y": 43
},
"width": 236,
"height": 555,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": {
"Scheme": "https",
"Opaque": "",
"User": null,
"Host": "icons.terrastruct.com",
"Path": "/essentials/004-picture.svg",
"RawPath": "",
"ForceQuery": false,
"RawQuery": "",
"Fragment": "",
"RawFragment": ""
},
"iconPosition": "INSIDE_MIDDLE_CENTER",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Big font",
"fontSize": 30,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 96,
"labelHeight": 38,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "a.a",
"type": "rectangle",
"pos": {
"x": 40,
"y": 107
},
"width": 156,
"height": 130,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 24,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 10,
"labelHeight": 31,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.b",
"type": "rectangle",
"pos": {
"x": 94,
"y": 337
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.c",
"type": "rectangle",
"pos": {
"x": 94,
"y": 503
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.a.a",
"type": "rectangle",
"pos": {
"x": 94,
"y": 139
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#F7F8FE",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 3
}
],
"connections": [
{
"id": "a.(a -> b)[0]",
"src": "a.a",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.b",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 120,
"y": 237.5
},
{
"x": 120,
"y": 277.5
},
{
"x": 120,
"y": 297.5
},
{
"x": 120,
"y": 337.5
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "a.(b -> c)[0]",
"src": "a.b",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.c",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 120,
"y": 403.5
},
{
"x": 120,
"y": 443.5
},
{
"x": 120,
"y": 463.5
},
{
"x": 120,
"y": 503.5
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
]
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 650 KiB

View file

@ -0,0 +1,302 @@
{
"name": "",
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "a",
"type": "rectangle",
"pos": {
"x": 12,
"y": 12
},
"width": 353,
"height": 698,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": {
"Scheme": "https",
"Opaque": "",
"User": null,
"Host": "icons.terrastruct.com",
"Path": "/essentials/004-picture.svg",
"RawPath": "",
"ForceQuery": false,
"RawQuery": "",
"Fragment": "",
"RawFragment": ""
},
"iconPosition": "INSIDE_MIDDLE_CENTER",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "Big font",
"fontSize": 30,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 96,
"labelHeight": 38,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "a.a",
"type": "rectangle",
"pos": {
"x": 87,
"y": 87
},
"width": 203,
"height": 216,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 24,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 10,
"labelHeight": 31,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.b",
"type": "rectangle",
"pos": {
"x": 162,
"y": 403
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.c",
"type": "rectangle",
"pos": {
"x": 162,
"y": 569
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.a.a",
"type": "rectangle",
"pos": {
"x": 162,
"y": 162
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#F7F8FE",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "a",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 3
}
],
"connections": [
{
"id": "a.(a -> b)[0]",
"src": "a.a",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.b",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 188.5,
"y": 303
},
{
"x": 188.5,
"y": 403
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "a.(b -> c)[0]",
"src": "a.b",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.c",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 188.5,
"y": 469
},
{
"x": 188.5,
"y": 569
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
]
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 650 KiB

View file

@ -0,0 +1,263 @@
{
"name": "",
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "a",
"type": "rectangle",
"pos": {
"x": 0,
"y": 41
},
"width": 193,
"height": 291,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "If we were meant to fly, we wouldn't keep losing our luggage",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 702,
"labelHeight": 36,
"labelPosition": "OUTSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "a.b",
"type": "rectangle",
"pos": {
"x": 50,
"y": 70
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.c",
"type": "rectangle",
"pos": {
"x": 50,
"y": 236
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
}
],
"connections": [
{
"id": "a.(b -> c)[0]",
"src": "a.b",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.c",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 76.5,
"y": 136.5
},
{
"x": 76.5,
"y": 176.5
},
{
"x": 76.5,
"y": 196.5
},
{
"x": 76.5,
"y": 236.5
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(a -> a)[0]",
"src": "a",
"srcArrow": "none",
"srcLabel": "",
"dst": "a",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 103,
"y": 109.38440111420613
},
{
"x": 129.66666666666669,
"y": 94.67688022284122
},
{
"x": 138,
"y": 91
},
{
"x": 140.5,
"y": 91
},
{
"x": 143,
"y": 91
},
{
"x": 146.33333333333331,
"y": 97.6
},
{
"x": 148.83333333333331,
"y": 107.5
},
{
"x": 151.33333333333334,
"y": 117.4
},
{
"x": 151.33333333333334,
"y": 130.6
},
{
"x": 148.83333333333331,
"y": 140.5
},
{
"x": 146.33333333333331,
"y": 150.4
},
{
"x": 129.66666666666669,
"y": 153.32311977715878
},
{
"x": 103,
"y": 138.61559888579387
}
],
"isCurve": true,
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
]
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 650 KiB

View file

@ -0,0 +1,217 @@
{
"name": "",
"fontFamily": "SourceSansPro",
"shapes": [
{
"id": "a",
"type": "rectangle",
"pos": {
"x": 62,
"y": 12
},
"width": 203,
"height": 382,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#E3E9FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "If we were meant to fly, we wouldn't keep losing our luggage",
"fontSize": 28,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": false,
"underline": false,
"labelWidth": 702,
"labelHeight": 36,
"labelPosition": "INSIDE_TOP_CENTER",
"zIndex": 0,
"level": 1
},
{
"id": "a.b",
"type": "rectangle",
"pos": {
"x": 137,
"y": 87
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "b",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
},
{
"id": "a.c",
"type": "rectangle",
"pos": {
"x": 137,
"y": 253
},
"width": 53,
"height": 66,
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"borderRadius": 0,
"fill": "#EDF0FD",
"stroke": "#0D32B2",
"shadow": false,
"3d": false,
"multiple": false,
"double-border": false,
"tooltip": "",
"link": "",
"icon": null,
"iconPosition": "",
"blend": false,
"fields": null,
"methods": null,
"columns": null,
"label": "c",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#0A0F25",
"italic": false,
"bold": true,
"underline": false,
"labelWidth": 8,
"labelHeight": 21,
"labelPosition": "INSIDE_MIDDLE_CENTER",
"zIndex": 0,
"level": 2
}
],
"connections": [
{
"id": "a.(b -> c)[0]",
"src": "a.b",
"srcArrow": "none",
"srcLabel": "",
"dst": "a.c",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 163.5,
"y": 153
},
{
"x": 163.5,
"y": 253
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
},
{
"id": "(a -> a)[0]",
"src": "a",
"srcArrow": "none",
"srcLabel": "",
"dst": "a",
"dstArrow": "triangle",
"dstLabel": "",
"opacity": 1,
"strokeDash": 0,
"strokeWidth": 2,
"stroke": "#0D32B2",
"label": "",
"fontSize": 16,
"fontFamily": "DEFAULT",
"language": "",
"color": "#676C7E",
"italic": true,
"bold": false,
"underline": false,
"labelWidth": 0,
"labelHeight": 0,
"labelPosition": "",
"labelPercentage": 0,
"route": [
{
"x": 62,
"y": 139.33333333333331
},
{
"x": 12,
"y": 139.33333333333331
},
{
"x": 12,
"y": 266.66666666666663
},
{
"x": 62,
"y": 266.66666666666663
}
],
"animated": false,
"tooltip": "",
"icon": null,
"zIndex": 0
}
]
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 650 KiB

View file

@ -7,10 +7,18 @@
"type": "rectangle", "type": "rectangle",
"pos": { "pos": {
"x": 0, "x": 0,
"y": 0 "y": 41
}, },
<<<<<<< HEAD
"width": 852, "width": 852,
"height": 376, "height": 376,
||||||| 749d236a
"width": 1112,
"height": 456,
=======
"width": 1112,
"height": 415,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -47,11 +55,27 @@
"id": "containers.circle container", "id": "containers.circle container",
"type": "oval", "type": "oval",
"pos": { "pos": {
<<<<<<< HEAD
"x": 20, "x": 20,
"y": 30 "y": 30
||||||| 749d236a
"x": 40,
"y": 50
=======
"x": 40,
"y": 106
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 188, "width": 188,
"height": 316, "height": 316,
||||||| 749d236a
"width": 228,
"height": 356,
=======
"width": 228,
"height": 320,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -88,8 +112,16 @@
"id": "containers.circle container.diamond", "id": "containers.circle container.diamond",
"type": "diamond", "type": "diamond",
"pos": { "pos": {
<<<<<<< HEAD
"x": 50, "x": 50,
"y": 156 "y": 156
||||||| 749d236a
"x": 90,
"y": 196
=======
"x": 90,
"y": 234
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 64, "height": 64,
@ -129,11 +161,27 @@
"id": "containers.diamond container", "id": "containers.diamond container",
"type": "diamond", "type": "diamond",
"pos": { "pos": {
<<<<<<< HEAD
"x": 228, "x": 228,
"y": 30 "y": 30
||||||| 749d236a
"x": 308,
"y": 50
=======
"x": 308,
"y": 106
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 188, "width": 188,
"height": 316, "height": 316,
||||||| 749d236a
"width": 228,
"height": 356,
=======
"width": 228,
"height": 320,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -170,8 +218,16 @@
"id": "containers.diamond container.circle", "id": "containers.diamond container.circle",
"type": "oval", "type": "oval",
"pos": { "pos": {
<<<<<<< HEAD
"x": 258, "x": 258,
"y": 124 "y": 124
||||||| 749d236a
"x": 358,
"y": 164
=======
"x": 358,
"y": 202
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 128, "height": 128,
@ -211,11 +267,27 @@
"id": "containers.oval container", "id": "containers.oval container",
"type": "oval", "type": "oval",
"pos": { "pos": {
<<<<<<< HEAD
"x": 436, "x": 436,
"y": 30 "y": 30
||||||| 749d236a
"x": 576,
"y": 50
=======
"x": 576,
"y": 106
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 188, "width": 188,
"height": 316, "height": 316,
||||||| 749d236a
"width": 228,
"height": 356,
=======
"width": 228,
"height": 320,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -252,8 +324,16 @@
"id": "containers.oval container.hexagon", "id": "containers.oval container.hexagon",
"type": "hexagon", "type": "hexagon",
"pos": { "pos": {
<<<<<<< HEAD
"x": 466, "x": 466,
"y": 156 "y": 156
||||||| 749d236a
"x": 626,
"y": 196
=======
"x": 626,
"y": 234
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 64, "height": 64,
@ -293,11 +373,27 @@
"id": "containers.hexagon container", "id": "containers.hexagon container",
"type": "hexagon", "type": "hexagon",
"pos": { "pos": {
<<<<<<< HEAD
"x": 644, "x": 644,
"y": 30 "y": 30
||||||| 749d236a
"x": 844,
"y": 50
=======
"x": 844,
"y": 106
>>>>>>> master
}, },
<<<<<<< HEAD
"width": 188, "width": 188,
"height": 316, "height": 316,
||||||| 749d236a
"width": 228,
"height": 356,
=======
"width": 228,
"height": 320,
>>>>>>> master
"opacity": 1, "opacity": 1,
"strokeDash": 0, "strokeDash": 0,
"strokeWidth": 2, "strokeWidth": 2,
@ -334,8 +430,16 @@
"id": "containers.hexagon container.oval", "id": "containers.hexagon container.oval",
"type": "oval", "type": "oval",
"pos": { "pos": {
<<<<<<< HEAD
"x": 674, "x": 674,
"y": 156 "y": 156
||||||| 749d236a
"x": 894,
"y": 196
=======
"x": 894,
"y": 234
>>>>>>> master
}, },
"width": 128, "width": 128,
"height": 64, "height": 64,

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 942 KiB

After

Width:  |  Height:  |  Size: 968 KiB

View file

@ -16,57 +16,19 @@ container -> container.second: c->2
`, `,
}, },
{ {
// issue https://github.com/terrastruct/d2/issues/263 name: "child_parent_edges",
name: "tall_edge_label", script: `a.b -> a
script: ` a.b -> a.b.c
a -> b: There\nonce\nwas\na\nvery\ntall\nedge\nlabel a.b.c.d -> a.b`,
`,
}, },
{ {
// issue https://github.com/terrastruct/d2/issues/263 name: "container_label_loop",
name: "font_sizes_large", script: `a: "If we were meant to fly, we wouldn't keep losing our luggage" {
script: ` b -> c
eight.style.font-size: 8
sixteen.style.font-size: 16
thirty two.style.font-size: 32
sixty four.style.font-size: 64
ninety nine.style.font-size: 99
eight -> sixteen : twelve {
style.font-size: 12
} }
sixteen -> thirty two : twenty four { a -> a`,
style.font-size: 24
}
thirty two -> sixty four: forty eight {
style.font-size: 48
}
sixty four -> ninety nine: eighty one {
style.font-size: 81
}
`,
}, },
{ {
// issue https://github.com/terrastruct/d2/issues/19
name: "font_sizes_containers_large",
script: `
ninety nine: {
style.font-size: 99
sixty four: {
style.font-size: 64
thirty two:{
style.font-size: 32
sixteen: {
style.font-size: 16
eight: {
style.font-size: 8
}
}
}
}
}
`,
}, {
// as nesting gets deeper, the groups advance towards `c` and may overlap its lifeline // as nesting gets deeper, the groups advance towards `c` and may overlap its lifeline
// needs to consider the group size when computing the distance from `a` to `c` // needs to consider the group size when computing the distance from `a` to `c`
// a similar effect can be seen for spans // a similar effect can be seen for spans
@ -242,6 +204,19 @@ Office chatter: {
} }
} }
} }
`,
},
{
// https://github.com/terrastruct/d2/issues/791
name: "container_icon_label",
script: `a: Big font {
icon: https://icons.terrastruct.com/essentials/004-picture.svg
style.font-size: 30
a -> b -> c
a: {
a
}
}
`, `,
}, },
} }

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
const ( const (
@ -46,7 +47,7 @@ type Shape interface {
GetInnerBox() *geo.Box GetInnerBox() *geo.Box
// placing a rectangle of the given size and padding inside the shape, return the position relative to the shape's TopLeft // placing a rectangle of the given size and padding inside the shape, return the position relative to the shape's TopLeft
GetInsidePlacement(width, height, padding float64) geo.Point GetInsidePlacement(width, height, paddingX, paddingY float64) geo.Point
GetDimensionsToFit(width, height, paddingX, paddingY float64) (float64, float64) GetDimensionsToFit(width, height, paddingX, paddingY float64) (float64, float64)
GetDefaultPadding() (paddingX, paddingY float64) GetDefaultPadding() (paddingX, paddingY float64)
@ -58,8 +59,9 @@ type Shape interface {
} }
type baseShape struct { type baseShape struct {
Type string Type string
Box *geo.Box Box *geo.Box
FullShape *Shape
} }
func (s baseShape) Is(shapeType string) bool { func (s baseShape) Is(shapeType string) bool {
@ -86,8 +88,9 @@ func (s baseShape) GetInnerBox() *geo.Box {
return s.Box return s.Box
} }
func (s baseShape) GetInsidePlacement(_, _, padding float64) geo.Point { func (s baseShape) GetInsidePlacement(_, _, paddingX, paddingY float64) geo.Point {
return *geo.NewPoint(s.Box.TopLeft.X+padding, s.Box.TopLeft.Y+padding) innerTL := (*s.FullShape).GetInnerBox().TopLeft
return *geo.NewPoint(innerTL.X+paddingX/2, innerTL.Y+paddingY/2)
} }
// return the minimum shape dimensions needed to fit content (width x height) // return the minimum shape dimensions needed to fit content (width x height)
@ -156,12 +159,14 @@ func NewShape(shapeType string, box *geo.Box) Shape {
return NewText(box) return NewText(box)
default: default:
return shapeSquare{ shape := shapeSquare{
baseShape: &baseShape{ baseShape: &baseShape{
Type: shapeType, Type: shapeType,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
} }

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapeCallout struct { type shapeCallout struct {
@ -17,12 +18,14 @@ const (
) )
func NewCallout(box *geo.Box) Shape { func NewCallout(box *geo.Box) Shape {
return shapeCallout{ shape := shapeCallout{
baseShape: &baseShape{ baseShape: &baseShape{
Type: CALLOUT_TYPE, Type: CALLOUT_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func getTipWidth(box *geo.Box) float64 { func getTipWidth(box *geo.Box) float64 {

View file

@ -4,6 +4,7 @@ import (
"math" "math"
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/util-go/go2"
) )
type shapeCircle struct { type shapeCircle struct {
@ -11,18 +12,20 @@ type shapeCircle struct {
} }
func NewCircle(box *geo.Box) Shape { func NewCircle(box *geo.Box) Shape {
return shapeCircle{ shape := shapeCircle{
baseShape: &baseShape{ baseShape: &baseShape{
Type: CIRCLE_TYPE, Type: CIRCLE_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeCircle) GetInnerBox() *geo.Box { func (s shapeCircle) GetInnerBox() *geo.Box {
width := s.Box.Width width := s.Box.Width
height := s.Box.Height height := s.Box.Height
insideTL := s.GetInsidePlacement(width, height, 0) insideTL := s.GetInsidePlacement(width, height, 0, 0)
tl := s.Box.TopLeft.Copy() tl := s.Box.TopLeft.Copy()
width -= 2 * (insideTL.X - tl.X) width -= 2 * (insideTL.X - tl.X)
height -= 2 * (insideTL.Y - tl.Y) height -= 2 * (insideTL.Y - tl.Y)
@ -38,7 +41,7 @@ func (s shapeCircle) GetDimensionsToFit(width, height, paddingX, paddingY float6
return diameter, diameter return diameter, diameter
} }
func (s shapeCircle) GetInsidePlacement(width, height, padding float64) geo.Point { func (s shapeCircle) GetInsidePlacement(width, height, paddingX, paddingY float64) geo.Point {
return *geo.NewPoint(s.Box.TopLeft.X+math.Ceil(s.Box.Width/2-width/2), s.Box.TopLeft.Y+math.Ceil(s.Box.Height/2-height/2)) return *geo.NewPoint(s.Box.TopLeft.X+math.Ceil(s.Box.Width/2-width/2), s.Box.TopLeft.Y+math.Ceil(s.Box.Height/2-height/2))
} }

View file

@ -2,6 +2,7 @@ package shape
import ( import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/util-go/go2"
) )
// Class is basically a rectangle // Class is basically a rectangle
@ -10,7 +11,7 @@ type shapeClass struct {
} }
func NewClass(box *geo.Box) Shape { func NewClass(box *geo.Box) Shape {
return shapeClass{ shape := shapeClass{
shapeSquare{ shapeSquare{
baseShape: &baseShape{ baseShape: &baseShape{
Type: CLASS_TYPE, Type: CLASS_TYPE,
@ -18,6 +19,8 @@ func NewClass(box *geo.Box) Shape {
}, },
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeClass) GetDefaultPadding() (paddingX, paddingY float64) { func (s shapeClass) GetDefaultPadding() (paddingX, paddingY float64) {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
// The percentage values of the cloud's wide inner box // The percentage values of the cloud's wide inner box
@ -32,18 +33,20 @@ type shapeCloud struct {
} }
func NewCloud(box *geo.Box) Shape { func NewCloud(box *geo.Box) Shape {
return shapeCloud{ shape := shapeCloud{
baseShape: &baseShape{ baseShape: &baseShape{
Type: CLOUD_TYPE, Type: CLOUD_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeCloud) GetInnerBox() *geo.Box { func (s shapeCloud) GetInnerBox() *geo.Box {
width := s.Box.Width width := s.Box.Width
height := s.Box.Height height := s.Box.Height
insideTL := s.GetInsidePlacement(width, height, 0) insideTL := s.GetInsidePlacement(width, height, 0, 0)
aspectRatio := width / height aspectRatio := width / height
if aspectRatio > CLOUD_WIDE_ASPECT_BOUNDARY { if aspectRatio > CLOUD_WIDE_ASPECT_BOUNDARY {
width *= CLOUD_WIDE_INNER_WIDTH width *= CLOUD_WIDE_INNER_WIDTH
@ -72,17 +75,17 @@ func (s shapeCloud) GetDimensionsToFit(width, height, paddingX, paddingY float64
} }
} }
func (s shapeCloud) GetInsidePlacement(width, height, padding float64) geo.Point { func (s shapeCloud) GetInsidePlacement(width, height, paddingX, paddingY float64) geo.Point {
r := s.Box r := s.Box
width += padding width += paddingX
height += padding height += paddingY
aspectRatio := width / height aspectRatio := width / height
if aspectRatio > CLOUD_WIDE_ASPECT_BOUNDARY { if aspectRatio > CLOUD_WIDE_ASPECT_BOUNDARY {
return *geo.NewPoint(r.TopLeft.X+math.Ceil(r.Width*CLOUD_WIDE_INNER_X+padding/2), r.TopLeft.Y+math.Ceil(r.Height*CLOUD_WIDE_INNER_Y+padding/2)) return *geo.NewPoint(r.TopLeft.X+math.Ceil(r.Width*CLOUD_WIDE_INNER_X+paddingX/2), r.TopLeft.Y+math.Ceil(r.Height*CLOUD_WIDE_INNER_Y+paddingY/2))
} else if aspectRatio < CLOUD_TALL_ASPECT_BOUNDARY { } else if aspectRatio < CLOUD_TALL_ASPECT_BOUNDARY {
return *geo.NewPoint(r.TopLeft.X+math.Ceil(r.Width*CLOUD_TALL_INNER_X+padding/2), r.TopLeft.Y+math.Ceil(r.Height*CLOUD_TALL_INNER_Y+padding/2)) return *geo.NewPoint(r.TopLeft.X+math.Ceil(r.Width*CLOUD_TALL_INNER_X+paddingX/2), r.TopLeft.Y+math.Ceil(r.Height*CLOUD_TALL_INNER_Y+paddingY/2))
} else { } else {
return *geo.NewPoint(r.TopLeft.X+math.Ceil(r.Width*CLOUD_SQUARE_INNER_X+padding/2), r.TopLeft.Y+math.Ceil(r.Height*CLOUD_SQUARE_INNER_Y+padding/2)) return *geo.NewPoint(r.TopLeft.X+math.Ceil(r.Width*CLOUD_SQUARE_INNER_X+paddingX/2), r.TopLeft.Y+math.Ceil(r.Height*CLOUD_SQUARE_INNER_Y+paddingY/2))
} }
} }

View file

@ -2,6 +2,7 @@ package shape
import ( import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/util-go/go2"
) )
type shapeCode struct { type shapeCode struct {
@ -9,7 +10,7 @@ type shapeCode struct {
} }
func NewCode(box *geo.Box) Shape { func NewCode(box *geo.Box) Shape {
return shapeCode{ shape := shapeCode{
shapeSquare: shapeSquare{ shapeSquare: shapeSquare{
baseShape: &baseShape{ baseShape: &baseShape{
Type: CODE_TYPE, Type: CODE_TYPE,
@ -17,6 +18,8 @@ func NewCode(box *geo.Box) Shape {
}, },
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeCode) GetDefaultPadding() (paddingX, paddingY float64) { func (s shapeCode) GetDefaultPadding() (paddingX, paddingY float64) {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapeCylinder struct { type shapeCylinder struct {
@ -16,12 +17,14 @@ const (
) )
func NewCylinder(box *geo.Box) Shape { func NewCylinder(box *geo.Box) Shape {
return shapeCylinder{ shape := shapeCylinder{
baseShape: &baseShape{ baseShape: &baseShape{
Type: CYLINDER_TYPE, Type: CYLINDER_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func getArcHeight(box *geo.Box) float64 { func getArcHeight(box *geo.Box) float64 {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapeDiamond struct { type shapeDiamond struct {
@ -12,12 +13,14 @@ type shapeDiamond struct {
} }
func NewDiamond(box *geo.Box) Shape { func NewDiamond(box *geo.Box) Shape {
return shapeDiamond{ shape := shapeDiamond{
baseShape: &baseShape{ baseShape: &baseShape{
Type: DIAMOND_TYPE, Type: DIAMOND_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeDiamond) GetInnerBox() *geo.Box { func (s shapeDiamond) GetInnerBox() *geo.Box {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapeDocument struct { type shapeDocument struct {
@ -19,12 +20,14 @@ const (
) )
func NewDocument(box *geo.Box) Shape { func NewDocument(box *geo.Box) Shape {
return shapeDocument{ shape := shapeDocument{
baseShape: &baseShape{ baseShape: &baseShape{
Type: DOCUMENT_TYPE, Type: DOCUMENT_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeDocument) GetInnerBox() *geo.Box { func (s shapeDocument) GetInnerBox() *geo.Box {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapeHexagon struct { type shapeHexagon struct {
@ -12,12 +13,14 @@ type shapeHexagon struct {
} }
func NewHexagon(box *geo.Box) Shape { func NewHexagon(box *geo.Box) Shape {
return shapeHexagon{ shape := shapeHexagon{
baseShape: &baseShape{ baseShape: &baseShape{
Type: HEXAGON_TYPE, Type: HEXAGON_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeHexagon) GetInnerBox() *geo.Box { func (s shapeHexagon) GetInnerBox() *geo.Box {

View file

@ -2,6 +2,7 @@ package shape
import ( import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/util-go/go2"
) )
type shapeImage struct { type shapeImage struct {
@ -9,12 +10,14 @@ type shapeImage struct {
} }
func NewImage(box *geo.Box) Shape { func NewImage(box *geo.Box) Shape {
return shapeImage{ shape := shapeImage{
baseShape: &baseShape{ baseShape: &baseShape{
Type: IMAGE_TYPE, Type: IMAGE_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeImage) IsRectangular() bool { func (s shapeImage) IsRectangular() bool {

View file

@ -4,6 +4,7 @@ import (
"math" "math"
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/util-go/go2"
) )
type shapeOval struct { type shapeOval struct {
@ -11,18 +12,20 @@ type shapeOval struct {
} }
func NewOval(box *geo.Box) Shape { func NewOval(box *geo.Box) Shape {
return shapeOval{ shape := shapeOval{
baseShape: &baseShape{ baseShape: &baseShape{
Type: OVAL_TYPE, Type: OVAL_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeOval) GetInnerBox() *geo.Box { func (s shapeOval) GetInnerBox() *geo.Box {
width := s.Box.Width width := s.Box.Width
height := s.Box.Height height := s.Box.Height
insideTL := s.GetInsidePlacement(width, height, 0) insideTL := s.GetInsidePlacement(width, height, 0, 0)
tl := s.Box.TopLeft.Copy() tl := s.Box.TopLeft.Copy()
width -= 2 * (insideTL.X - tl.X) width -= 2 * (insideTL.X - tl.X)
height -= 2 * (insideTL.Y - tl.Y) height -= 2 * (insideTL.Y - tl.Y)
@ -38,7 +41,7 @@ func (s shapeOval) GetDimensionsToFit(width, height, paddingX, paddingY float64)
return math.Ceil(math.Sqrt2 * paddedWidth), math.Ceil(math.Sqrt2 * paddedHeight) return math.Ceil(math.Sqrt2 * paddedWidth), math.Ceil(math.Sqrt2 * paddedHeight)
} }
func (s shapeOval) GetInsidePlacement(width, height, padding float64) geo.Point { func (s shapeOval) GetInsidePlacement(width, height, paddingX, paddingY float64) geo.Point {
// showing the top left arc of the ellipse (drawn with '*') // showing the top left arc of the ellipse (drawn with '*')
// ┌──────────────────* ┬ // ┌──────────────────* ┬
// │ * │ │ry // │ * │ │ry
@ -56,8 +59,8 @@ func (s shapeOval) GetInsidePlacement(width, height, padding float64) geo.Point
// r is the ellipse radius on the line between node.TopLeft and the ellipse center // r is the ellipse radius on the line between node.TopLeft and the ellipse center
// see https://math.stackexchange.com/questions/432902/how-to-get-the-radius-of-an-ellipse-at-a-specific-angle-by-knowing-its-semi-majo // see https://math.stackexchange.com/questions/432902/how-to-get-the-radius-of-an-ellipse-at-a-specific-angle-by-knowing-its-semi-majo
r := rx * ry / math.Sqrt(math.Pow(rx*sin, 2)+math.Pow(ry*cos, 2)) r := rx * ry / math.Sqrt(math.Pow(rx*sin, 2)+math.Pow(ry*cos, 2))
// we want to offset r-padding away from the center // we want to offset r-padding/2 away from the center
return *geo.NewPoint(s.Box.TopLeft.X+math.Ceil(rx-cos*(r-padding)), s.Box.TopLeft.Y+math.Ceil(ry-sin*(r-padding))) return *geo.NewPoint(s.Box.TopLeft.X+math.Ceil(rx-cos*(r-paddingX/2)), s.Box.TopLeft.Y+math.Ceil(ry-sin*(r-paddingY/2)))
} }
func (s shapeOval) Perimeter() []geo.Intersectable { func (s shapeOval) Perimeter() []geo.Intersectable {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapePackage struct { type shapePackage struct {
@ -21,12 +22,14 @@ const (
) )
func NewPackage(box *geo.Box) Shape { func NewPackage(box *geo.Box) Shape {
return shapePackage{ shape := shapePackage{
baseShape: &baseShape{ baseShape: &baseShape{
Type: PACKAGE_TYPE, Type: PACKAGE_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapePackage) GetInnerBox() *geo.Box { func (s shapePackage) GetInnerBox() *geo.Box {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapePage struct { type shapePage struct {
@ -18,12 +19,14 @@ const (
) )
func NewPage(box *geo.Box) Shape { func NewPage(box *geo.Box) Shape {
return shapePage{ shape := shapePage{
baseShape: &baseShape{ baseShape: &baseShape{
Type: PAGE_TYPE, Type: PAGE_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapePage) GetInnerBox() *geo.Box { func (s shapePage) GetInnerBox() *geo.Box {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapeParallelogram struct { type shapeParallelogram struct {
@ -14,12 +15,14 @@ type shapeParallelogram struct {
const parallelWedgeWidth = 26. const parallelWedgeWidth = 26.
func NewParallelogram(box *geo.Box) Shape { func NewParallelogram(box *geo.Box) Shape {
return shapeParallelogram{ shape := shapeParallelogram{
baseShape: &baseShape{ baseShape: &baseShape{
Type: PARALLELOGRAM_TYPE, Type: PARALLELOGRAM_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeParallelogram) GetInnerBox() *geo.Box { func (s shapeParallelogram) GetInnerBox() *geo.Box {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapePerson struct { type shapePerson struct {
@ -12,12 +13,14 @@ type shapePerson struct {
} }
func NewPerson(box *geo.Box) Shape { func NewPerson(box *geo.Box) Shape {
return shapePerson{ shape := shapePerson{
baseShape: &baseShape{ baseShape: &baseShape{
Type: PERSON_TYPE, Type: PERSON_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
const ( const (

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapeQueue struct { type shapeQueue struct {
@ -12,12 +13,14 @@ type shapeQueue struct {
} }
func NewQueue(box *geo.Box) Shape { func NewQueue(box *geo.Box) Shape {
return shapeQueue{ shape := shapeQueue{
baseShape: &baseShape{ baseShape: &baseShape{
Type: QUEUE_TYPE, Type: QUEUE_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func getArcWidth(box *geo.Box) float64 { func getArcWidth(box *geo.Box) float64 {

View file

@ -4,6 +4,7 @@ import (
"math" "math"
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/util-go/go2"
) )
type shapeRealSquare struct { type shapeRealSquare struct {
@ -11,12 +12,14 @@ type shapeRealSquare struct {
} }
func NewRealSquare(box *geo.Box) Shape { func NewRealSquare(box *geo.Box) Shape {
return shapeRealSquare{ shape := shapeRealSquare{
baseShape: &baseShape{ baseShape: &baseShape{
Type: REAL_SQUARE_TYPE, Type: REAL_SQUARE_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeRealSquare) AspectRatio1() bool { func (s shapeRealSquare) AspectRatio1() bool {

View file

@ -2,6 +2,7 @@ package shape
import ( import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/util-go/go2"
) )
type shapeSquare struct { type shapeSquare struct {
@ -9,12 +10,14 @@ type shapeSquare struct {
} }
func NewSquare(box *geo.Box) Shape { func NewSquare(box *geo.Box) Shape {
return shapeSquare{ shape := shapeSquare{
baseShape: &baseShape{ baseShape: &baseShape{
Type: SQUARE_TYPE, Type: SQUARE_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
func (s shapeSquare) IsRectangular() bool { func (s shapeSquare) IsRectangular() bool {

View file

@ -5,6 +5,7 @@ import (
"oss.terrastruct.com/d2/lib/geo" "oss.terrastruct.com/d2/lib/geo"
"oss.terrastruct.com/d2/lib/svg" "oss.terrastruct.com/d2/lib/svg"
"oss.terrastruct.com/util-go/go2"
) )
type shapeStep struct { type shapeStep struct {
@ -12,12 +13,14 @@ type shapeStep struct {
} }
func NewStep(box *geo.Box) Shape { func NewStep(box *geo.Box) Shape {
return shapeStep{ shape := shapeStep{
baseShape: &baseShape{ baseShape: &baseShape{
Type: STEP_TYPE, Type: STEP_TYPE,
Box: box, Box: box,
}, },
} }
shape.FullShape = go2.Pointer(Shape(shape))
return shape
} }
const STEP_WEDGE_WIDTH = 35.0 const STEP_WEDGE_WIDTH = 35.0

Some files were not shown because too many files have changed in this diff Show more