Merge remote-tracking branch 'origin/main' into kotlin-2.0.0

pull/1036/head
Simon Marquis 1 year ago
commit 48e45b4c43

@ -1,26 +1,25 @@
_Thanks for submitting a pull request. Please include the following information._ **DO NOT CREATE A PULL REQUEST WITHOUT READING THESE INSTRUCTIONS**
**What I have done and why** ## Instructions
Thanks for submitting a pull request. To accept your pull request we need you do a few things:
**If this is your first pull request**
_Include a summary of what your pull request contains, and why you have made these changes._ - [Sign the contributors license agreement](https://cla.developers.google.com/)
Fixes #<issue_number_goes_here> **Ensure tests pass and code is formatted correctly**
**How I'm testing it** - Run local tests on the `DemoDebug` variant by running `./gradlew testDemoDebug`
- Fix code formatting: `./gradlew --init-script gradle/init.gradle.kts spotlessApply`
_Choose at least one:_ **Add a description**
- Unit tests
- UI tests
- Screenshot tests
- N/A _(provide justification)_
**Do tests pass?** We need to know what you've done and why you've done it. Include a summary of what your pull request contains, and why you have made these changes. Include links to any relevant issues which it fixes.
- [ ] Run local tests on `DemoDebug` variant: `./gradlew testDemoDebug`
- [ ] Check formatting: `./gradlew --init-script gradle/init.gradle.kts spotlessApply`
**Is this your first pull request?** [Here's an example](https://github.com/android/nowinandroid/pull/1257).
- [ ] [Sign the CLA](https://cla.developers.google.com/)
- [ ] Run `./tools/setup.sh`
- [ ] Import the code formatting style as explained in [the setup script](/tools/setup.sh#L40).
**NOW DELETE THIS LINE AND EVERYTHING ABOVE IT**
**What I have done and why**
\<add your PR description here\>

@ -26,7 +26,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2 uses: gradle/wrapper-validation-action@v3
- name: Copy CI gradle.properties - name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties

@ -22,7 +22,7 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@v2 uses: gradle/wrapper-validation-action@v3
- name: Copy CI gradle.properties - name: Copy CI gradle.properties
run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties run: mkdir -p ~/.gradle ; cp .github/ci-gradle.properties ~/.gradle/gradle.properties

@ -1,6 +1,6 @@
androidx.activity:activity-compose:1.8.0 androidx.activity:activity-compose:1.8.2
androidx.activity:activity-ktx:1.8.0 androidx.activity:activity-ktx:1.8.2
androidx.activity:activity:1.8.0 androidx.activity:activity:1.8.2
androidx.annotation:annotation-experimental:1.4.0 androidx.annotation:annotation-experimental:1.4.0
androidx.annotation:annotation-jvm:1.7.1 androidx.annotation:annotation-jvm:1.7.1
androidx.annotation:annotation:1.7.1 androidx.annotation:annotation:1.7.1

@ -115,8 +115,8 @@ dependencies {
testImplementation(projects.core.testing) testImplementation(projects.core.testing)
testImplementation(projects.sync.syncTest) testImplementation(projects.sync.syncTest)
testImplementation(libs.androidx.compose.ui.test) testImplementation(libs.androidx.compose.ui.test)
testImplementation(libs.androidx.work.testing)
testImplementation(libs.hilt.android.testing) testImplementation(libs.hilt.android.testing)
testImplementation(libs.work.testing)
testDemoImplementation(libs.robolectric) testDemoImplementation(libs.robolectric)
testDemoImplementation(libs.roborazzi) testDemoImplementation(libs.roborazzi)

@ -1,6 +1,6 @@
androidx.activity:activity-compose:1.8.0 androidx.activity:activity-compose:1.8.2
androidx.activity:activity-ktx:1.8.0 androidx.activity:activity-ktx:1.8.2
androidx.activity:activity:1.8.0 androidx.activity:activity:1.8.2
androidx.annotation:annotation-experimental:1.4.0 androidx.annotation:annotation-experimental:1.4.0
androidx.annotation:annotation-jvm:1.8.0-beta01 androidx.annotation:annotation-jvm:1.8.0-beta01
androidx.annotation:annotation:1.8.0-beta01 androidx.annotation:annotation:1.8.0-beta01
@ -17,10 +17,10 @@ androidx.compose.animation:animation-android:1.7.0-alpha06
androidx.compose.animation:animation-core-android:1.7.0-alpha06 androidx.compose.animation:animation-core-android:1.7.0-alpha06
androidx.compose.animation:animation-core:1.7.0-alpha06 androidx.compose.animation:animation-core:1.7.0-alpha06
androidx.compose.animation:animation:1.7.0-alpha06 androidx.compose.animation:animation:1.7.0-alpha06
androidx.compose.foundation:foundation-android:1.6.3 androidx.compose.foundation:foundation-android:1.7.0-alpha06
androidx.compose.foundation:foundation-layout-android:1.6.3 androidx.compose.foundation:foundation-layout-android:1.7.0-alpha06
androidx.compose.foundation:foundation-layout:1.6.3 androidx.compose.foundation:foundation-layout:1.7.0-alpha06
androidx.compose.foundation:foundation:1.6.3 androidx.compose.foundation:foundation:1.7.0-alpha06
androidx.compose.material3.adaptive:adaptive-android:1.0.0-alpha10 androidx.compose.material3.adaptive:adaptive-android:1.0.0-alpha10
androidx.compose.material3.adaptive:adaptive-layout-android:1.0.0-alpha10 androidx.compose.material3.adaptive:adaptive-layout-android:1.0.0-alpha10
androidx.compose.material3.adaptive:adaptive-layout:1.0.0-alpha10 androidx.compose.material3.adaptive:adaptive-layout:1.0.0-alpha10
@ -103,11 +103,11 @@ androidx.lifecycle:lifecycle-viewmodel:2.8.0-alpha04
androidx.loader:loader:1.0.0 androidx.loader:loader:1.0.0
androidx.localbroadcastmanager:localbroadcastmanager:1.0.0 androidx.localbroadcastmanager:localbroadcastmanager:1.0.0
androidx.metrics:metrics-performance:1.0.0-alpha04 androidx.metrics:metrics-performance:1.0.0-alpha04
androidx.navigation:navigation-common-ktx:2.7.4 androidx.navigation:navigation-common-ktx:2.8.0-alpha06
androidx.navigation:navigation-common:2.7.4 androidx.navigation:navigation-common:2.8.0-alpha06
androidx.navigation:navigation-compose:2.7.4 androidx.navigation:navigation-compose:2.8.0-alpha06
androidx.navigation:navigation-runtime-ktx:2.7.4 androidx.navigation:navigation-runtime-ktx:2.8.0-alpha06
androidx.navigation:navigation-runtime:2.7.4 androidx.navigation:navigation-runtime:2.8.0-alpha06
androidx.print:print:1.0.0 androidx.print:print:1.0.0
androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05 androidx.privacysandbox.ads:ads-adservices-java:1.0.0-beta05
androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05 androidx.privacysandbox.ads:ads-adservices:1.0.0-beta05
@ -188,8 +188,8 @@ com.google.guava:failureaccess:1.0.1
com.google.guava:guava:31.1-android com.google.guava:guava:31.1-android
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
com.google.j2objc:j2objc-annotations:1.3 com.google.j2objc:j2objc-annotations:1.3
com.google.protobuf:protobuf-javalite:3.25.2 com.google.protobuf:protobuf-javalite:4.26.0
com.google.protobuf:protobuf-kotlin-lite:3.25.2 com.google.protobuf:protobuf-kotlin-lite:4.26.0
com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0 com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter:1.0.0
com.squareup.okhttp3:logging-interceptor:4.12.0 com.squareup.okhttp3:logging-interceptor:4.12.0
com.squareup.okhttp3:okhttp:4.12.0 com.squareup.okhttp3:okhttp:4.12.0

@ -16,6 +16,7 @@
package com.google.samples.apps.nowinandroid.ui package com.google.samples.apps.nowinandroid.ui
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.WindowInsets import androidx.compose.foundation.layout.WindowInsets
@ -199,6 +200,15 @@ internal fun NiaApp(
) )
} }
Box(
modifier = if (shouldShowTopAppBar) {
Modifier.consumeWindowInsets(
WindowInsets.safeDrawing.only(WindowInsetsSides.Top),
)
} else {
Modifier
},
) {
NiaNavHost( NiaNavHost(
appState = appState, appState = appState,
onShowSnackbar = { message, action -> onShowSnackbar = { message, action ->
@ -208,15 +218,9 @@ internal fun NiaApp(
duration = Short, duration = Short,
) == ActionPerformed ) == ActionPerformed
}, },
modifier = if (shouldShowTopAppBar) {
Modifier.consumeWindowInsets(
WindowInsets.safeDrawing.only(WindowInsetsSides.Top),
)
} else {
Modifier
},
) )
} }
}
// TODO: We may want to add padding or spacer when the snackbar is shown so that // TODO: We may want to add padding or spacer when the snackbar is shown so that
// content doesn't display behind it. // content doesn't display behind it.

@ -27,7 +27,8 @@ import javax.inject.Inject
class Interests2PaneViewModel @Inject constructor( class Interests2PaneViewModel @Inject constructor(
private val savedStateHandle: SavedStateHandle, private val savedStateHandle: SavedStateHandle,
) : ViewModel() { ) : ViewModel() {
val selectedTopicId: StateFlow<String?> = savedStateHandle.getStateFlow(TOPIC_ID_ARG, null) val selectedTopicId: StateFlow<String?> =
savedStateHandle.getStateFlow(TOPIC_ID_ARG, savedStateHandle[TOPIC_ID_ARG])
fun onTopicClick(topicId: String?) { fun onTopicClick(topicId: String?) {
savedStateHandle[TOPIC_ID_ARG] = topicId savedStateHandle[TOPIC_ID_ARG] = topicId

@ -18,14 +18,21 @@ package com.google.samples.apps.nowinandroid.ui.interests2pane
import androidx.activity.compose.BackHandler import androidx.activity.compose.BackHandler
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
import androidx.compose.material3.adaptive.layout.AnimatedPane
import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffold import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffold
import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole import androidx.compose.material3.adaptive.layout.ListDetailPaneScaffoldRole
import androidx.compose.material3.adaptive.layout.PaneAdaptedValue import androidx.compose.material3.adaptive.layout.PaneAdaptedValue
import androidx.compose.material3.adaptive.layout.ThreePaneScaffoldDestinationItem
import androidx.compose.material3.adaptive.navigation.ThreePaneScaffoldNavigator import androidx.compose.material3.adaptive.navigation.ThreePaneScaffoldNavigator
import androidx.compose.material3.adaptive.navigation.rememberListDetailPaneScaffoldNavigator import androidx.compose.material3.adaptive.navigation.rememberListDetailPaneScaffoldNavigator
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.runtime.getValue import androidx.compose.runtime.getValue
import androidx.compose.runtime.key
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.saveable.Saver
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.compose.collectAsStateWithLifecycle
import androidx.navigation.NavGraphBuilder import androidx.navigation.NavGraphBuilder
@ -39,8 +46,10 @@ import com.google.samples.apps.nowinandroid.feature.interests.navigation.INTERES
import com.google.samples.apps.nowinandroid.feature.interests.navigation.TOPIC_ID_ARG import com.google.samples.apps.nowinandroid.feature.interests.navigation.TOPIC_ID_ARG
import com.google.samples.apps.nowinandroid.feature.topic.TopicDetailPlaceholder import com.google.samples.apps.nowinandroid.feature.topic.TopicDetailPlaceholder
import com.google.samples.apps.nowinandroid.feature.topic.navigation.TOPIC_ROUTE import com.google.samples.apps.nowinandroid.feature.topic.navigation.TOPIC_ROUTE
import com.google.samples.apps.nowinandroid.feature.topic.navigation.createTopicRoute
import com.google.samples.apps.nowinandroid.feature.topic.navigation.navigateToTopic import com.google.samples.apps.nowinandroid.feature.topic.navigation.navigateToTopic
import com.google.samples.apps.nowinandroid.feature.topic.navigation.topicScreen import com.google.samples.apps.nowinandroid.feature.topic.navigation.topicScreen
import java.util.UUID
private const val DETAIL_PANE_NAVHOST_ROUTE = "detail_pane_route" private const val DETAIL_PANE_NAVHOST_ROUTE = "detail_pane_route"
@ -76,18 +85,43 @@ internal fun InterestsListDetailScreen(
selectedTopicId: String?, selectedTopicId: String?,
onTopicClick: (String) -> Unit, onTopicClick: (String) -> Unit,
) { ) {
val listDetailNavigator = rememberListDetailPaneScaffoldNavigator() val listDetailNavigator = rememberListDetailPaneScaffoldNavigator(
initialDestinationHistory = listOfNotNull(
ThreePaneScaffoldDestinationItem(ListDetailPaneScaffoldRole.List),
ThreePaneScaffoldDestinationItem<Nothing>(ListDetailPaneScaffoldRole.Detail).takeIf {
selectedTopicId != null
},
),
)
BackHandler(listDetailNavigator.canNavigateBack()) { BackHandler(listDetailNavigator.canNavigateBack()) {
listDetailNavigator.navigateBack() listDetailNavigator.navigateBack()
} }
val nestedNavController = rememberNavController() var nestedNavHostStartDestination by remember {
mutableStateOf(selectedTopicId?.let(::createTopicRoute) ?: TOPIC_ROUTE)
}
var nestedNavKey by rememberSaveable(
stateSaver = Saver({ it.toString() }, UUID::fromString),
) {
mutableStateOf(UUID.randomUUID())
}
val nestedNavController = key(nestedNavKey) {
rememberNavController()
}
fun onTopicClickShowDetailPane(topicId: String) { fun onTopicClickShowDetailPane(topicId: String) {
onTopicClick(topicId) onTopicClick(topicId)
if (listDetailNavigator.isDetailPaneVisible()) {
// If the detail pane was visible, then use the nestedNavController navigate call
// directly
nestedNavController.navigateToTopic(topicId) { nestedNavController.navigateToTopic(topicId) {
popUpTo(DETAIL_PANE_NAVHOST_ROUTE) popUpTo(DETAIL_PANE_NAVHOST_ROUTE)
} }
} else {
// Otherwise, recreate the NavHost entirely, and start at the new destination
nestedNavHostStartDestination = createTopicRoute(topicId)
nestedNavKey = UUID.randomUUID()
}
listDetailNavigator.navigateTo(ListDetailPaneScaffoldRole.Detail) listDetailNavigator.navigateTo(ListDetailPaneScaffoldRole.Detail)
} }
@ -95,15 +129,19 @@ internal fun InterestsListDetailScreen(
value = listDetailNavigator.scaffoldValue, value = listDetailNavigator.scaffoldValue,
directive = listDetailNavigator.scaffoldDirective, directive = listDetailNavigator.scaffoldDirective,
listPane = { listPane = {
AnimatedPane {
InterestsRoute( InterestsRoute(
onTopicClick = ::onTopicClickShowDetailPane, onTopicClick = ::onTopicClickShowDetailPane,
highlightSelectedTopic = listDetailNavigator.isDetailPaneVisible(), highlightSelectedTopic = listDetailNavigator.isDetailPaneVisible(),
) )
}
}, },
detailPane = { detailPane = {
AnimatedPane {
key(nestedNavKey) {
NavHost( NavHost(
navController = nestedNavController, navController = nestedNavController,
startDestination = TOPIC_ROUTE, startDestination = nestedNavHostStartDestination,
route = DETAIL_PANE_NAVHOST_ROUTE, route = DETAIL_PANE_NAVHOST_ROUTE,
) { ) {
topicScreen( topicScreen(
@ -115,14 +153,10 @@ internal fun InterestsListDetailScreen(
TopicDetailPlaceholder() TopicDetailPlaceholder()
} }
} }
},
)
LaunchedEffect(Unit) {
if (selectedTopicId != null) {
// Initial topic ID was provided when navigating to Interests, so show its details.
onTopicClickShowDetailPane(selectedTopicId)
} }
} }
},
)
} }
@OptIn(ExperimentalMaterial3AdaptiveApi::class) @OptIn(ExperimentalMaterial3AdaptiveApi::class)

@ -50,13 +50,3 @@ plugins {
alias(libs.plugins.room) apply false alias(libs.plugins.room) apply false
alias(libs.plugins.module.graph) apply true // Plugin applied to allow module graph generation alias(libs.plugins.module.graph) apply true // Plugin applied to allow module graph generation
} }
// Task to print all the module paths in the project e.g. :core:data
// Used by module graph generator script
tasks.register("printModulePaths") {
subprojects {
if (subprojects.size == 0) {
println(this.path)
}
}
}

@ -26,17 +26,24 @@ import android.net.NetworkRequest.Builder
import android.os.Build.VERSION import android.os.Build.VERSION
import android.os.Build.VERSION_CODES import android.os.Build.VERSION_CODES
import androidx.core.content.getSystemService import androidx.core.content.getSystemService
import androidx.tracing.trace
import com.google.samples.apps.nowinandroid.core.network.Dispatcher
import com.google.samples.apps.nowinandroid.core.network.NiaDispatchers.IO
import dagger.hilt.android.qualifiers.ApplicationContext import dagger.hilt.android.qualifiers.ApplicationContext
import kotlinx.coroutines.CoroutineDispatcher
import kotlinx.coroutines.channels.awaitClose import kotlinx.coroutines.channels.awaitClose
import kotlinx.coroutines.flow.Flow import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.callbackFlow import kotlinx.coroutines.flow.callbackFlow
import kotlinx.coroutines.flow.conflate import kotlinx.coroutines.flow.conflate
import kotlinx.coroutines.flow.flowOn
import javax.inject.Inject import javax.inject.Inject
internal class ConnectivityManagerNetworkMonitor @Inject constructor( internal class ConnectivityManagerNetworkMonitor @Inject constructor(
@ApplicationContext private val context: Context, @ApplicationContext private val context: Context,
@Dispatcher(IO) private val ioDispatcher: CoroutineDispatcher,
) : NetworkMonitor { ) : NetworkMonitor {
override val isOnline: Flow<Boolean> = callbackFlow { override val isOnline: Flow<Boolean> = callbackFlow {
trace("NetworkMonitor.callbackFlow") {
val connectivityManager = context.getSystemService<ConnectivityManager>() val connectivityManager = context.getSystemService<ConnectivityManager>()
if (connectivityManager == null) { if (connectivityManager == null) {
channel.trySend(false) channel.trySend(false)
@ -63,10 +70,12 @@ internal class ConnectivityManagerNetworkMonitor @Inject constructor(
} }
} }
trace("NetworkMonitor.registerNetworkCallback") {
val request = Builder() val request = Builder()
.addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET) .addCapability(NetworkCapabilities.NET_CAPABILITY_INTERNET)
.build() .build()
connectivityManager.registerNetworkCallback(request, callback) connectivityManager.registerNetworkCallback(request, callback)
}
/** /**
* Sends the latest connectivity status to the underlying channel. * Sends the latest connectivity status to the underlying channel.
@ -77,6 +86,8 @@ internal class ConnectivityManagerNetworkMonitor @Inject constructor(
connectivityManager.unregisterNetworkCallback(callback) connectivityManager.unregisterNetworkCallback(callback)
} }
} }
}
.flowOn(ioDispatcher)
.conflate() .conflate()
@Suppress("DEPRECATION") @Suppress("DEPRECATION")

@ -40,6 +40,8 @@ dependencies {
implementation(libs.coil.kt.compose) implementation(libs.coil.kt.compose)
testImplementation(libs.androidx.compose.ui.test) testImplementation(libs.androidx.compose.ui.test)
testImplementation(libs.androidx.compose.ui.testManifest)
testImplementation(libs.hilt.android.testing) testImplementation(libs.hilt.android.testing)
testImplementation(libs.robolectric) testImplementation(libs.robolectric)
testImplementation(libs.roborazzi) testImplementation(libs.roborazzi)

@ -44,6 +44,8 @@ import com.google.samples.apps.nowinandroid.core.designsystem.theme.NiaTheme
import com.google.samples.apps.nowinandroid.core.designsystem.theme.TintTheme import com.google.samples.apps.nowinandroid.core.designsystem.theme.TintTheme
import org.junit.Rule import org.junit.Rule
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith
import org.robolectric.RobolectricTestRunner
import kotlin.test.assertEquals import kotlin.test.assertEquals
/** /**
@ -54,6 +56,7 @@ import kotlin.test.assertEquals
* [LocalBackgroundTheme] have the expected values for a given theme mode, as specified by the * [LocalBackgroundTheme] have the expected values for a given theme mode, as specified by the
* design system. * design system.
*/ */
@RunWith(RobolectricTestRunner::class)
class ThemeTest { class ThemeTest {
@get:Rule @get:Rule

@ -1,463 +1,383 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1212pt" height="404pt" viewBox="0.00 0.00 1212.13 404.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="1178pt" height="404pt"
viewBox="0.00 0.00 1178.13 404.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 400)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-400 1174.13,-400 1174.13,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-400 1208.13,-400 1208.13,4 -4,4"/>
<!-- :app -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:app</title> <title>:app</title>
<ellipse fill="none" stroke="black" cx="626.13" cy="-378" rx="27" ry="18"/> <ellipse fill="none" stroke="black" cx="645.13" cy="-378" rx="27.66" ry="18"/>
<text text-anchor="middle" x="626.13" y="-372.95" font-family="Times,serif" font-size="14.00">:app</text> <text text-anchor="middle" x="645.13" y="-373.8" font-family="Times,serif" font-size="14.00">:app</text>
</g> </g>
<!-- :feature:interests -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:feature:interests</title> <title>:feature:interests</title>
<ellipse fill="none" stroke="black" cx="289.13" cy="-306" rx="72.34" ry="18"/> <ellipse fill="none" stroke="black" cx="297.13" cy="-306" rx="75.39" ry="18"/>
<text text-anchor="middle" x="289.13" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:interests</text> <text text-anchor="middle" x="297.13" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:interests</text>
</g> </g>
<!-- :app&#45;&gt;:feature:interests -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:app&#45;&gt;:feature:interests</title> <title>:app-&gt;:feature:interests</title>
<path fill="none" stroke="red" stroke-width="2" d="M600.52,-371.68C548.58,-360.89 429.43,-336.14 354.49,-320.58"/> <path fill="none" stroke="red" stroke-width="2" d="M618.9,-371.75C571.45,-362.24 468.2,-341.55 381.13,-324 375.62,-322.89 369.9,-321.74 364.17,-320.58"/>
<polygon fill="red" stroke="red" stroke-width="2" points="356.78,-317.48 346.28,-318.87 355.36,-324.33 356.78,-317.48"/> <polygon fill="red" stroke="red" stroke-width="2" points="366.62,-317.5 356.12,-318.95 365.23,-324.36 366.62,-317.5"/>
</g> </g>
<!-- :feature:foryou -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:feature:foryou</title> <title>:feature:foryou</title>
<ellipse fill="none" stroke="black" cx="132.13" cy="-306" rx="66.19" ry="18"/> <ellipse fill="none" stroke="black" cx="135.13" cy="-306" rx="68.95" ry="18"/>
<text text-anchor="middle" x="132.13" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:foryou</text> <text text-anchor="middle" x="135.13" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:foryou</text>
</g> </g>
<!-- :app&#45;&gt;:feature:foryou -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:app&#45;&gt;:feature:foryou</title> <title>:app-&gt;:feature:foryou</title>
<path fill="none" stroke="black" d="M599.59,-374.51C533.28,-368.1 355.12,-349.7 208.13,-324 202.83,-323.07 197.34,-322.02 191.85,-320.91"/> <path fill="none" stroke="black" d="M617.71,-374.52C549.19,-368.15 365.1,-349.83 213.13,-324 207.63,-323.07 201.94,-322.01 196.25,-320.88"/>
<polygon fill="black" stroke="black" points="192.63,-317.5 182.12,-318.88 191.19,-324.35 192.63,-317.5"/> <polygon fill="black" stroke="black" points="197.33,-317.53 186.83,-318.96 195.93,-324.39 197.33,-317.53"/>
</g> </g>
<!-- :feature:bookmarks -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:feature:bookmarks</title> <title>:feature:bookmarks</title>
<ellipse fill="none" stroke="black" cx="787.13" cy="-306" rx="83.08" ry="18"/> <ellipse fill="none" stroke="black" cx="812.13" cy="-306" rx="86.12" ry="18"/>
<text text-anchor="middle" x="787.13" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:bookmarks</text> <text text-anchor="middle" x="812.13" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:bookmarks</text>
</g> </g>
<!-- :app&#45;&gt;:feature:bookmarks -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:app&#45;&gt;:feature:bookmarks</title> <title>:app-&gt;:feature:bookmarks</title>
<path fill="none" stroke="black" d="M648.51,-367.27C672.32,-356.92 710.64,-340.25 740.97,-327.07"/> <path fill="none" stroke="black" d="M668,-367.41C692.72,-357.05 732.82,-340.24 764.45,-326.98"/>
<polygon fill="black" stroke="black" points="742.16,-330.37 749.93,-323.17 739.37,-323.95 742.16,-330.37"/> <polygon fill="black" stroke="black" points="765.56,-330.32 773.43,-323.22 762.85,-323.86 765.56,-330.32"/>
</g> </g>
<!-- :feature:topic -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:feature:topic</title> <title>:feature:topic</title>
<ellipse fill="none" stroke="black" cx="626.13" cy="-306" rx="60.05" ry="18"/> <ellipse fill="none" stroke="black" cx="645.13" cy="-306" rx="62.51" ry="18"/>
<text text-anchor="middle" x="626.13" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:topic</text> <text text-anchor="middle" x="645.13" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:topic</text>
</g> </g>
<!-- :app&#45;&gt;:feature:topic -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:app&#45;&gt;:feature:topic</title> <title>:app-&gt;:feature:topic</title>
<path fill="none" stroke="black" d="M626.13,-359.7C626.13,-352.41 626.13,-343.73 626.13,-335.54"/> <path fill="none" stroke="black" d="M645.13,-359.7C645.13,-352.41 645.13,-343.73 645.13,-335.54"/>
<polygon fill="black" stroke="black" points="629.63,-335.62 626.13,-325.62 622.63,-335.62 629.63,-335.62"/> <polygon fill="black" stroke="black" points="648.63,-335.62 645.13,-325.62 641.63,-335.62 648.63,-335.62"/>
</g> </g>
<!-- :feature:search -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:feature:search</title> <title>:feature:search</title>
<ellipse fill="none" stroke="black" cx="445.13" cy="-306" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="458.13" cy="-306" rx="67.87" ry="18"/>
<text text-anchor="middle" x="445.13" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:search</text> <text text-anchor="middle" x="458.13" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:search</text>
</g> </g>
<!-- :app&#45;&gt;:feature:search -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:app&#45;&gt;:feature:search</title> <title>:app-&gt;:feature:search</title>
<path fill="none" stroke="black" d="M603.2,-368.13C575.53,-357.43 528.27,-339.16 492.62,-325.37"/> <path fill="none" stroke="black" d="M621.45,-368.13C592.73,-357.39 543.61,-339 506.72,-325.19"/>
<polygon fill="black" stroke="black" points="493.96,-322.13 483.37,-321.79 491.44,-328.66 493.96,-322.13"/> <polygon fill="black" stroke="black" points="508.19,-322 497.6,-321.78 505.74,-328.56 508.19,-322"/>
</g> </g>
<!-- :feature:settings -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:feature:settings</title> <title>:feature:settings</title>
<ellipse fill="none" stroke="black" cx="958.13" cy="-306" rx="69.78" ry="18"/> <ellipse fill="none" stroke="black" cx="989.13" cy="-306" rx="72.71" ry="18"/>
<text text-anchor="middle" x="958.13" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:settings</text> <text text-anchor="middle" x="989.13" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:settings</text>
</g> </g>
<!-- :app&#45;&gt;:feature:settings -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:app&#45;&gt;:feature:settings</title> <title>:app-&gt;:feature:settings</title>
<path fill="none" stroke="black" d="M651.63,-371.7C697.28,-362.22 795.94,-341.66 879.13,-324 884.26,-322.91 889.58,-321.78 894.92,-320.63"/> <path fill="none" stroke="black" d="M671.54,-371.7C718.81,-362.21 820.98,-341.64 907.13,-324 912.6,-322.88 918.27,-321.71 923.96,-320.54"/>
<polygon fill="black" stroke="black" points="895.34,-324.12 904.39,-318.6 893.88,-317.28 895.34,-324.12"/> <polygon fill="black" stroke="black" points="924.32,-324.04 933.4,-318.59 922.9,-317.19 924.32,-324.04"/>
</g> </g>
<!-- :core:common -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="760.13" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="795.13" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="760.13" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="795.13" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :app&#45;&gt;:core:common -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:app&#45;&gt;:core:common</title> <title>:app-&gt;:core:common</title>
<path fill="none" stroke="black" d="M653.52,-377.16C744.97,-377.21 1038.43,-373.43 1116.13,-324 1155.16,-299.17 1170.13,-281.27 1170.13,-235 1170.13,-235 1170.13,-235 1170.13,-161 1170.13,-114.96 1155.63,-97.23 1117.13,-72 1064.1,-37.25 896.54,-47.11 834.13,-36 829.18,-35.12 824.06,-34.12 818.93,-33.06"/> <path fill="none" stroke="black" d="M672.95,-377.23C766.59,-377.52 1068.86,-374.44 1149.13,-324 1188.5,-299.26 1204.13,-281.5 1204.13,-235 1204.13,-235 1204.13,-235 1204.13,-161 1204.13,-116.87 1196.1,-97.56 1160.13,-72 1107.37,-34.51 934.89,-47.08 871.13,-36 865.91,-35.09 860.51,-34.07 855.1,-32.98"/>
<polygon fill="black" stroke="black" points="819.74,-29.66 809.23,-30.99 818.28,-36.51 819.74,-29.66"/> <polygon fill="black" stroke="black" points="856.04,-29.6 845.53,-30.98 854.61,-36.45 856.04,-29.6"/>
</g> </g>
<!-- :core:ui -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="530.13" cy="-234" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="553.13" cy="-234" rx="40.53" ry="18"/>
<text text-anchor="middle" x="530.13" y="-228.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="553.13" y="-229.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :app&#45;&gt;:core:ui -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:app&#45;&gt;:core:ui</title> <title>:app-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M605.49,-365.91C590.07,-356.62 569.59,-342.01 557.13,-324 544.69,-306.03 537.86,-282.18 534.18,-263.69"/> <path fill="none" stroke="black" d="M623.54,-366.56C607.2,-357.54 585.52,-342.97 573.13,-324 561.41,-306.05 556.49,-282.21 554.46,-263.71"/>
<polygon fill="black" stroke="black" points="537.64,-263.17 532.45,-253.93 530.75,-264.38 537.64,-263.17"/> <polygon fill="black" stroke="black" points="557.96,-263.62 553.63,-253.96 550.99,-264.22 557.96,-263.62"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="749.13" cy="-162" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="774.13" cy="-162" rx="85.06" ry="18"/>
<text text-anchor="middle" x="749.13" y="-156.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="774.13" y="-157.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :app&#45;&gt;:core:designsystem -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:app&#45;&gt;:core:designsystem</title> <title>:app-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M653.33,-375.54C740.95,-370.56 1011.68,-352.94 1037.13,-324 1047.69,-311.98 1045.9,-301.38 1037.13,-288 1023.35,-267 880.1,-211.43 800.97,-181.97"/> <path fill="none" stroke="black" d="M673,-375.63C763.47,-370.92 1044.67,-353.95 1071.13,-324 1081.72,-312.01 1079.98,-301.33 1071.13,-288 1056.87,-266.53 909.24,-211.2 827.64,-181.88"/>
<polygon fill="black" stroke="black" points="802.26,-178.71 791.67,-178.52 799.82,-185.28 802.26,-178.71"/> <polygon fill="black" stroke="black" points="828.85,-178.59 818.25,-178.52 826.49,-185.18 828.85,-178.59"/>
</g> </g>
<!-- :core:data -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="564.13" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="584.13" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="564.13" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="584.13" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :app&#45;&gt;:core:data -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:app&#45;&gt;:core:data</title> <title>:app-&gt;:core:data</title>
<path fill="none" stroke="black" d="M598.83,-376.56C490.37,-374.55 94,-364.47 57.13,-324 -72.66,-181.56 345.93,-164.36 505.2,-162.87"/> <path fill="none" stroke="black" d="M617.3,-376.64C505.79,-374.93 95.33,-365.8 57.13,-324 -77.67,-176.51 358.28,-162.51 523.4,-162.36"/>
<polygon fill="black" stroke="black" points="505.17,-166.37 515.14,-162.79 505.12,-159.37 505.17,-166.37"/> <polygon fill="black" stroke="black" points="523.29,-165.86 533.29,-162.37 523.29,-158.86 523.29,-165.86"/>
</g> </g>
<!-- :core:model -->
<g id="node12" class="node"> <g id="node12" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="391.13" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="412.13" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="391.13" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="412.13" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :app&#45;&gt;:core:model -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:app&#45;&gt;:core:model</title> <title>:app-&gt;:core:model</title>
<path fill="none" stroke="black" d="M599.09,-376.3C488.77,-373.19 76.42,-359.31 31.13,-324 -1.91,-298.24 0.13,-276.89 0.13,-235 0.13,-235 0.13,-235 0.13,-161 0.13,-91.6 220.52,-46.37 330.37,-28.13"/> <path fill="none" stroke="black" d="M617.23,-376.35C503.4,-373.48 77.9,-360.37 31.13,-324 -1.94,-298.29 0.13,-276.89 0.13,-235 0.13,-235 0.13,-235 0.13,-161 0.13,-88.15 233.3,-44.54 348.81,-27.41"/>
<polygon fill="black" stroke="black" points="330.81,-31.61 340.11,-26.54 329.68,-24.7 330.81,-31.61"/> <polygon fill="black" stroke="black" points="349.06,-30.91 358.45,-26.01 348.05,-23.99 349.06,-30.91"/>
</g> </g>
<!-- :core:analytics -->
<g id="node13" class="node"> <g id="node13" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="1043.13" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="1084.13" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="1043.13" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="1084.13" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :app&#45;&gt;:core:analytics -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:app&#45;&gt;:core:analytics</title> <title>:app-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M653.6,-377.55C742.51,-378.76 1020.63,-378.07 1088.13,-324 1126.58,-293.2 1125.57,-263.67 1113.13,-216 1103.47,-178.98 1080.15,-141.32 1063.07,-117.16"/> <path fill="none" stroke="black" d="M672.84,-375.63C769.36,-370.63 1086.84,-352.17 1122.13,-324 1160.64,-293.26 1158.53,-263.93 1147.13,-216 1138.52,-179.8 1117.67,-142.18 1102.3,-117.8"/>
<polygon fill="black" stroke="black" points="1066,-115.25 1057.3,-109.2 1060.33,-119.35 1066,-115.25"/> <polygon fill="black" stroke="black" points="1105.29,-115.97 1096.93,-109.47 1099.41,-119.77 1105.29,-115.97"/>
</g> </g>
<!-- :sync:work -->
<g id="node14" class="node"> <g id="node14" class="node">
<title>:sync:work</title> <title>:sync:work</title>
<ellipse fill="none" stroke="black" cx="1052.13" cy="-234" rx="51.86" ry="18"/> <ellipse fill="none" stroke="black" cx="1084.13" cy="-234" rx="53.95" ry="18"/>
<text text-anchor="middle" x="1052.13" y="-228.95" font-family="Times,serif" font-size="14.00">:sync:work</text> <text text-anchor="middle" x="1084.13" y="-229.8" font-family="Times,serif" font-size="14.00">:sync:work</text>
</g> </g>
<!-- :app&#45;&gt;:sync:work -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:app&#45;&gt;:sync:work</title> <title>:app-&gt;:sync:work</title>
<path fill="none" stroke="black" d="M653.22,-375.82C745.34,-371.53 1042.3,-355.35 1070.13,-324 1085.05,-307.19 1077.76,-281.49 1068.38,-262.03"/> <path fill="none" stroke="black" d="M672.8,-375.91C767.64,-371.87 1075.28,-356.38 1104.13,-324 1119.22,-307.06 1111.16,-281.21 1101.13,-261.73"/>
<polygon fill="black" stroke="black" points="1071.54,-260.51 1063.78,-253.29 1065.34,-263.77 1071.54,-260.51"/> <polygon fill="black" stroke="black" points="1104.33,-260.27 1096.4,-253.25 1098.22,-263.69 1104.33,-260.27"/>
</g> </g>
<!-- :feature:interests&#45;&gt;:core:ui -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:feature:interests&#45;&gt;:core:ui</title> <title>:feature:interests-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M335.02,-291.67C378.65,-279 443.79,-260.08 486.61,-247.64"/> <path fill="none" stroke="black" d="M345.28,-291.83C392.01,-279.06 462.39,-259.81 508.05,-247.33"/>
<polygon fill="black" stroke="black" points="487.45,-251.04 496.07,-244.89 485.49,-244.32 487.45,-251.04"/> <polygon fill="black" stroke="black" points="508.91,-250.72 517.64,-244.7 507.07,-243.97 508.91,-250.72"/>
</g> </g>
<!-- :feature:interests&#45;&gt;:core:designsystem -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:feature:interests&#45;&gt;:core:designsystem</title> <title>:feature:interests-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M320.56,-289.4C366.58,-266.76 450.28,-226.34 482.13,-216 543.5,-196.07 615.36,-182.32 669.06,-173.83"/> <path fill="none" stroke="black" d="M331.47,-289.69C385.46,-265.68 485.87,-221.35 503.13,-216 565.44,-196.69 638.07,-182.94 692.45,-174.29"/>
<polygon fill="black" stroke="black" points="669.39,-177.32 678.73,-172.33 668.32,-170.41 669.39,-177.32"/> <polygon fill="black" stroke="black" points="692.93,-177.75 702.27,-172.75 691.85,-170.84 692.93,-177.75"/>
</g> </g>
<!-- :feature:interests&#45;&gt;:core:data -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:feature:interests&#45;&gt;:core:data</title> <title>:feature:interests-&gt;:core:data</title>
<path fill="none" stroke="black" d="M308.22,-288.26C331.27,-268.74 371.86,-236.53 411.13,-216 444.18,-198.71 484.08,-185.11 514.85,-176.01"/> <path fill="none" stroke="black" d="M318.57,-288.44C344.39,-269.08 389.6,-237.03 432.13,-216 465.15,-199.67 504.47,-186.11 534.84,-176.79"/>
<polygon fill="black" stroke="black" points="515.65,-179.42 524.28,-173.28 513.7,-172.7 515.65,-179.42"/> <polygon fill="black" stroke="black" points="535.58,-180.22 544.14,-173.99 533.56,-173.52 535.58,-180.22"/>
</g> </g>
<!-- :core:domain -->
<g id="node15" class="node"> <g id="node15" class="node">
<title>:core:domain</title> <title>:core:domain</title>
<ellipse fill="none" stroke="black" cx="261.13" cy="-234" rx="60.05" ry="18"/> <ellipse fill="none" stroke="black" cx="280.13" cy="-234" rx="61.99" ry="18"/>
<text text-anchor="middle" x="261.13" y="-228.95" font-family="Times,serif" font-size="14.00">:core:domain</text> <text text-anchor="middle" x="280.13" y="-229.8" font-family="Times,serif" font-size="14.00">:core:domain</text>
</g> </g>
<!-- :feature:interests&#45;&gt;:core:domain -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:feature:interests&#45;&gt;:core:domain</title> <title>:feature:interests-&gt;:core:domain</title>
<path fill="none" stroke="red" stroke-width="2" d="M282.21,-287.7C279.19,-280.15 275.57,-271.12 272.2,-262.68"/> <path fill="none" stroke="red" stroke-width="2" d="M292.93,-287.7C291.14,-280.32 289,-271.52 286.99,-263.25"/>
<polygon fill="red" stroke="red" stroke-width="2" points="276.06,-262.9 269.09,-254.91 269.56,-265.5 276.06,-262.9"/> <polygon fill="red" stroke="red" stroke-width="2" points="290.76,-263.94 285,-255.05 283.96,-265.59 290.76,-263.94"/>
</g> </g>
<!-- :feature:foryou&#45;&gt;:core:ui -->
<g id="edge37" class="edge"> <g id="edge37" class="edge">
<title>:feature:foryou&#45;&gt;:core:ui</title> <title>:feature:foryou-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M181.1,-293.62C190.07,-291.65 199.37,-289.7 208.13,-288 304.99,-269.21 419.09,-251.46 482.14,-242.03"/> <path fill="none" stroke="black" d="M185.81,-293.49C194.89,-291.56 204.27,-289.65 213.13,-288 315.89,-268.81 437.04,-251.09 503.41,-241.8"/>
<polygon fill="black" stroke="black" points="482.43,-245.52 491.81,-240.59 481.4,-238.6 482.43,-245.52"/> <polygon fill="black" stroke="black" points="503.84,-245.27 513.26,-240.43 502.87,-238.34 503.84,-245.27"/>
</g> </g>
<!-- :feature:foryou&#45;&gt;:core:designsystem -->
<g id="edge38" class="edge"> <g id="edge38" class="edge">
<title>:feature:foryou&#45;&gt;:core:designsystem</title> <title>:feature:foryou-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M180.42,-293.47C229.84,-281.43 303.12,-262.8 330.13,-252 361.15,-239.59 364.45,-226.64 396.13,-216 421.45,-207.49 572.8,-186.4 668.92,-173.54"/> <path fill="none" stroke="black" d="M185.66,-293.33C244.53,-279.61 335.74,-257.97 351.13,-252 382.28,-239.92 385.45,-226.62 417.13,-216 442.63,-207.45 594.52,-186.53 691.79,-173.68"/>
<polygon fill="black" stroke="black" points="669.12,-177.04 678.56,-172.25 668.19,-170.1 669.12,-177.04"/> <polygon fill="black" stroke="black" points="692.12,-177.16 701.57,-172.39 691.2,-170.22 692.12,-177.16"/>
</g> </g>
<!-- :feature:foryou&#45;&gt;:core:data -->
<g id="edge39" class="edge"> <g id="edge39" class="edge">
<title>:feature:foryou&#45;&gt;:core:data</title> <title>:feature:foryou-&gt;:core:data</title>
<path fill="none" stroke="black" d="M138.65,-287.67C147.42,-266.94 165.12,-232.91 192.13,-216 243.29,-183.95 414.92,-170.54 506.08,-165.57"/> <path fill="none" stroke="black" d="M144.05,-287.98C155.92,-267.22 178.94,-232.84 209.13,-216 261.93,-186.55 432.36,-172.06 524.19,-166.24"/>
<polygon fill="black" stroke="black" points="506.01,-169.08 515.81,-165.06 505.64,-162.09 506.01,-169.08"/> <polygon fill="black" stroke="black" points="524.25,-169.74 534.02,-165.63 523.82,-162.75 524.25,-169.74"/>
</g> </g>
<!-- :feature:foryou&#45;&gt;:core:domain -->
<g id="edge40" class="edge"> <g id="edge40" class="edge">
<title>:feature:foryou&#45;&gt;:core:domain</title> <title>:feature:foryou-&gt;:core:domain</title>
<path fill="none" stroke="black" d="M160.76,-289.46C179.09,-279.52 203.09,-266.5 223.02,-255.68"/> <path fill="none" stroke="black" d="M166.95,-289.64C188.2,-279.38 216.36,-265.79 239.26,-254.73"/>
<polygon fill="black" stroke="black" points="224.57,-258.82 231.69,-250.97 221.23,-252.67 224.57,-258.82"/> <polygon fill="black" stroke="black" points="240.53,-258 248.01,-250.5 237.49,-251.7 240.53,-258"/>
</g> </g>
<!-- :feature:bookmarks&#45;&gt;:core:ui -->
<g id="edge41" class="edge"> <g id="edge41" class="edge">
<title>:feature:bookmarks&#45;&gt;:core:ui</title> <title>:feature:bookmarks-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M736.66,-291.25C689.36,-278.37 619.35,-259.3 574.23,-247.01"/> <path fill="none" stroke="black" d="M760.96,-291.17C713.53,-278.35 643.64,-259.46 598.25,-247.19"/>
<polygon fill="black" stroke="black" points="575.36,-243.69 564.79,-244.44 573.52,-250.45 575.36,-243.69"/> <polygon fill="black" stroke="black" points="599.29,-243.85 588.73,-244.62 597.47,-250.61 599.29,-243.85"/>
</g> </g>
<!-- :feature:bookmarks&#45;&gt;:core:designsystem -->
<g id="edge42" class="edge"> <g id="edge42" class="edge">
<title>:feature:bookmarks&#45;&gt;:core:designsystem</title> <title>:feature:bookmarks-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M782.47,-287.59C776.02,-263.5 764.31,-219.75 756.63,-191.03"/> <path fill="none" stroke="black" d="M807.47,-287.59C801.02,-263.5 789.32,-219.75 781.63,-191.03"/>
<polygon fill="black" stroke="black" points="760.06,-190.33 754.1,-181.57 753.3,-192.14 760.06,-190.33"/> <polygon fill="black" stroke="black" points="785.07,-190.33 779.1,-181.57 778.3,-192.14 785.07,-190.33"/>
</g> </g>
<!-- :feature:bookmarks&#45;&gt;:core:data -->
<g id="edge43" class="edge"> <g id="edge43" class="edge">
<title>:feature:bookmarks&#45;&gt;:core:data</title> <title>:feature:bookmarks-&gt;:core:data</title>
<path fill="none" stroke="black" d="M758.5,-288.7C740.69,-278.43 717.39,-264.73 697.13,-252 661.72,-229.75 621.97,-202.9 595.23,-184.55"/> <path fill="none" stroke="black" d="M783.58,-288.58C765.8,-278.26 742.5,-264.56 722.13,-252 685.6,-229.48 644.32,-202.68 616.51,-184.41"/>
<polygon fill="black" stroke="black" points="597.46,-181.84 587.24,-179.05 593.49,-187.6 597.46,-181.84"/> <polygon fill="black" stroke="black" points="618.44,-181.49 608.17,-178.92 614.6,-187.34 618.44,-181.49"/>
</g> </g>
<!-- :feature:topic&#45;&gt;:core:ui -->
<g id="edge44" class="edge"> <g id="edge44" class="edge">
<title>:feature:topic&#45;&gt;:core:ui</title> <title>:feature:topic-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M604.34,-289.12C591,-279.39 573.76,-266.82 559.26,-256.24"/> <path fill="none" stroke="black" d="M623.79,-288.76C611.28,-279.25 595.32,-267.1 581.74,-256.77"/>
<polygon fill="black" stroke="black" points="561.55,-253.58 551.41,-250.52 557.43,-259.24 561.55,-253.58"/> <polygon fill="black" stroke="black" points="584.06,-254.14 573.99,-250.87 579.82,-259.71 584.06,-254.14"/>
</g> </g>
<!-- :feature:topic&#45;&gt;:core:designsystem -->
<g id="edge45" class="edge"> <g id="edge45" class="edge">
<title>:feature:topic&#45;&gt;:core:designsystem</title> <title>:feature:topic-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M640.72,-288.15C662.17,-263.39 702.37,-216.97 727.33,-188.16"/> <path fill="none" stroke="black" d="M660.43,-288.15C682.93,-263.39 725.1,-216.97 751.27,-188.16"/>
<polygon fill="black" stroke="black" points="729.66,-190.82 733.56,-180.97 724.37,-186.24 729.66,-190.82"/> <polygon fill="black" stroke="black" points="753.69,-190.7 757.83,-180.95 748.51,-185.99 753.69,-190.7"/>
</g> </g>
<!-- :feature:topic&#45;&gt;:core:data -->
<g id="edge46" class="edge"> <g id="edge46" class="edge">
<title>:feature:topic&#45;&gt;:core:data</title> <title>:feature:topic-&gt;:core:data</title>
<path fill="none" stroke="black" d="M618.65,-287.87C608.08,-263.67 588.67,-219.21 576.09,-190.39"/> <path fill="none" stroke="black" d="M637.77,-287.87C627.37,-263.67 608.28,-219.21 595.9,-190.39"/>
<polygon fill="black" stroke="black" points="579.45,-189.34 572.24,-181.58 573.03,-192.14 579.45,-189.34"/> <polygon fill="black" stroke="black" points="599.27,-189.39 592.11,-181.58 592.84,-192.15 599.27,-189.39"/>
</g> </g>
<!-- :feature:search&#45;&gt;:core:ui -->
<g id="edge47" class="edge"> <g id="edge47" class="edge">
<title>:feature:search&#45;&gt;:core:ui</title> <title>:feature:search-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M465.27,-288.41C476.46,-279.2 490.54,-267.6 502.72,-257.57"/> <path fill="none" stroke="black" d="M480.16,-288.76C493.08,-279.25 509.56,-267.1 523.59,-256.77"/>
<polygon fill="black" stroke="black" points="504.92,-260.29 510.41,-251.24 500.47,-254.89 504.92,-260.29"/> <polygon fill="black" stroke="black" points="525.64,-259.6 531.62,-250.85 521.49,-253.96 525.64,-259.6"/>
</g> </g>
<!-- :feature:search&#45;&gt;:core:designsystem -->
<g id="edge48" class="edge"> <g id="edge48" class="edge">
<title>:feature:search&#45;&gt;:core:designsystem</title> <title>:feature:search-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M483.1,-291.03C509.94,-280.88 546.6,-266.44 578.13,-252 624.31,-230.84 675.85,-203.48 710.15,-184.72"/> <path fill="none" stroke="black" d="M499.63,-291.43C528.93,-281.46 568.92,-267.08 603.13,-252 649.76,-231.45 701.4,-203.86 735.61,-184.88"/>
<polygon fill="black" stroke="black" points="711.82,-187.8 718.89,-179.91 708.44,-181.66 711.82,-187.8"/> <polygon fill="black" stroke="black" points="737.29,-187.95 744.32,-180.02 733.88,-181.84 737.29,-187.95"/>
</g> </g>
<!-- :feature:search&#45;&gt;:core:data -->
<g id="edge49" class="edge"> <g id="edge49" class="edge">
<title>:feature:search&#45;&gt;:core:data</title> <title>:feature:search-&gt;:core:data</title>
<path fill="none" stroke="black" d="M449.03,-287.64C454.05,-268.42 464.33,-237.33 482.13,-216 493.69,-202.15 509.81,-190.65 524.7,-181.95"/> <path fill="none" stroke="black" d="M463.8,-287.68C470.73,-268.48 483.97,-237.42 503.13,-216 515.05,-202.67 531.07,-191.26 545.7,-182.48"/>
<polygon fill="black" stroke="black" points="526.38,-185.02 533.42,-177.11 522.98,-178.9 526.38,-185.02"/> <polygon fill="black" stroke="black" points="547.31,-185.6 554.24,-177.59 543.82,-179.53 547.31,-185.6"/>
</g> </g>
<!-- :feature:search&#45;&gt;:core:domain -->
<g id="edge50" class="edge"> <g id="edge50" class="edge">
<title>:feature:search&#45;&gt;:core:domain</title> <title>:feature:search-&gt;:core:domain</title>
<path fill="none" stroke="black" d="M407.89,-290.83C379.05,-279.86 338.93,-264.6 307.92,-252.8"/> <path fill="none" stroke="black" d="M421.25,-290.5C393.77,-279.69 356.05,-264.86 326.53,-253.25"/>
<polygon fill="black" stroke="black" points="309.37,-249.61 298.78,-249.32 306.88,-256.15 309.37,-249.61"/> <polygon fill="black" stroke="black" points="328.05,-250.08 317.46,-249.68 325.49,-256.6 328.05,-250.08"/>
</g> </g>
<!-- :feature:settings&#45;&gt;:core:ui -->
<g id="edge51" class="edge"> <g id="edge51" class="edge">
<title>:feature:settings&#45;&gt;:core:ui</title> <title>:feature:settings-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M906.8,-293.48C897.6,-291.55 888.1,-289.64 879.13,-288 772.28,-268.41 646.09,-250.54 578.56,-241.4"/> <path fill="none" stroke="black" d="M935.84,-293.5C926.3,-291.57 916.43,-289.66 907.13,-288 799.13,-268.74 671.74,-250.84 603.06,-241.58"/>
<polygon fill="black" stroke="black" points="579.32,-237.97 568.94,-240.1 578.38,-244.91 579.32,-237.97"/> <polygon fill="black" stroke="black" points="603.62,-238.13 593.25,-240.26 602.69,-245.06 603.62,-238.13"/>
</g> </g>
<!-- :feature:settings&#45;&gt;:core:designsystem -->
<g id="edge52" class="edge"> <g id="edge52" class="edge">
<title>:feature:settings&#45;&gt;:core:designsystem</title> <title>:feature:settings-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M934.15,-288.71C896.95,-263.43 825.2,-214.68 782.81,-185.88"/> <path fill="none" stroke="black" d="M964.47,-288.71C926.11,-263.38 852.07,-214.48 808.5,-185.7"/>
<polygon fill="black" stroke="black" points="784.96,-183.11 774.72,-180.39 781.02,-188.9 784.96,-183.11"/> <polygon fill="black" stroke="black" points="810.7,-182.96 800.43,-180.37 806.85,-188.8 810.7,-182.96"/>
</g> </g>
<!-- :feature:settings&#45;&gt;:core:data -->
<g id="edge53" class="edge"> <g id="edge53" class="edge">
<title>:feature:settings&#45;&gt;:core:data</title> <title>:feature:settings-&gt;:core:data</title>
<path fill="none" stroke="black" d="M918.54,-290.73C844.61,-264.09 686.03,-206.93 608.56,-179.01"/> <path fill="none" stroke="black" d="M948.44,-290.73C872.29,-264.03 708.77,-206.7 629.31,-178.84"/>
<polygon fill="black" stroke="black" points="609.75,-175.72 599.16,-175.63 607.38,-182.31 609.75,-175.72"/> <polygon fill="black" stroke="black" points="630.7,-175.62 620.11,-175.61 628.38,-182.23 630.7,-175.62"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M561.51,-222.93C568.62,-220.65 576.13,-218.24 583.13,-216 619.89,-204.24 661.23,-191.03 693.47,-180.75"/> <path fill="none" stroke="black" d="M585.26,-222.82C619.77,-211.89 675.28,-194.31 717.21,-181.03"/>
<polygon fill="black" stroke="black" points="694.13,-184.21 702.59,-177.84 692,-177.55 694.13,-184.21"/> <polygon fill="black" stroke="black" points="718.19,-184.39 726.66,-178.03 716.07,-177.72 718.19,-184.39"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge20" class="edge"> <g id="edge20" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M496.49,-224.51C447.08,-210.02 356.59,-175.34 318.13,-108 310.19,-94.11 310.86,-86.25 318.13,-72 325.1,-58.32 337.43,-47.35 350,-39.02"/> <path fill="none" stroke="black" d="M518.04,-224.47C467.55,-210.1 376.2,-175.75 337.13,-108 329.14,-94.14 329.77,-86.21 337.13,-72 344.26,-58.24 356.79,-47.28 369.59,-38.99"/>
<polygon fill="black" stroke="black" points="351.58,-42.15 358.28,-33.95 347.93,-36.18 351.58,-42.15"/> <polygon fill="black" stroke="black" points="371.25,-42.07 378.05,-33.94 367.67,-36.06 371.25,-42.07"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M555.54,-220.04C574.11,-210.1 599.56,-195.49 620.13,-180 638.71,-166.01 637.05,-153.85 658.13,-144 782.97,-85.63 830.22,-130.89 966.13,-108 972.03,-107.01 978.17,-105.85 984.28,-104.63"/> <path fill="none" stroke="black" d="M578.63,-219.79C596.96,-209.82 621.91,-195.3 642.13,-180 660.68,-165.96 659.02,-153.78 680.13,-144 813.2,-82.35 863.46,-132.04 1008.13,-108 1013.36,-107.13 1018.76,-106.13 1024.17,-105.06"/>
<polygon fill="black" stroke="black" points="984.65,-108.13 993.73,-102.67 983.23,-101.27 984.65,-108.13"/> <polygon fill="black" stroke="black" points="1024.66,-108.53 1033.74,-103.08 1023.24,-101.68 1024.66,-108.53"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge21" class="edge"> <g id="edge21" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M601.15,-150.4C609.05,-148.22 617.35,-145.99 625.13,-144 693.65,-126.5 736.14,-163.38 780.13,-108 794.09,-90.42 786.46,-65.02 776.87,-45.85"/> <path fill="none" stroke="black" d="M622.36,-150.33C630.51,-148.16 639.09,-145.94 647.13,-144 721.78,-125.99 767.81,-167.69 816.13,-108 830.29,-90.51 822.33,-65.1 812.4,-45.91"/>
<polygon fill="black" stroke="black" points="780.04,-44.37 772.18,-37.26 773.9,-47.72 780.04,-44.37"/> <polygon fill="black" stroke="black" points="815.51,-44.29 807.56,-37.29 809.41,-47.72 815.51,-44.29"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge25" class="edge"> <g id="edge25" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M600.02,-149.93C608.21,-147.7 616.92,-145.57 625.13,-144 774.83,-115.44 815.71,-132.47 966.13,-108 972.04,-107.04 978.18,-105.91 984.3,-104.7"/> <path fill="none" stroke="black" d="M621.21,-149.91C629.67,-147.68 638.66,-145.55 647.13,-144 805.72,-114.9 848.94,-133.65 1008.13,-108 1013.44,-107.14 1018.93,-106.14 1024.43,-105.07"/>
<polygon fill="black" stroke="black" points="984.66,-108.2 993.75,-102.75 983.25,-101.34 984.66,-108.2"/> <polygon fill="black" stroke="black" points="1025.07,-108.51 1034.16,-103.06 1023.66,-101.65 1025.07,-108.51"/>
</g> </g>
<!-- :core:database -->
<g id="node16" class="node"> <g id="node16" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="391.13" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="412.13" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="391.13" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="412.13" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge22" class="edge"> <g id="edge22" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M532.8,-148.32C506.06,-137.5 467.25,-121.8 437,-109.56"/> <path fill="none" stroke="red" stroke-width="2" d="M552.18,-148C525.79,-137.26 487.98,-121.87 458.3,-109.79"/>
<polygon fill="red" stroke="red" stroke-width="2" points="440.09,-107.03 429.5,-106.53 437.46,-113.52 440.09,-107.03"/> <polygon fill="red" stroke="red" stroke-width="2" points="461.15,-107.17 450.57,-106.64 458.51,-113.66 461.15,-107.17"/>
</g> </g>
<!-- :core:datastore -->
<g id="node17" class="node"> <g id="node17" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="892.13" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="931.13" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="892.13" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="931.13" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge23" class="edge"> <g id="edge23" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M600.77,-150.26C608.77,-148.06 617.21,-145.86 625.13,-144 707.95,-124.56 729.76,-124.95 813.13,-108 819.06,-106.79 825.23,-105.51 831.4,-104.21"/> <path fill="none" stroke="black" d="M621.98,-150.21C630.23,-148.02 638.95,-145.83 647.13,-144 736.12,-124.1 759.58,-125.26 849.13,-108 855.44,-106.78 862.02,-105.48 868.58,-104.16"/>
<polygon fill="black" stroke="black" points="831.9,-107.69 840.95,-102.19 830.45,-100.84 831.9,-107.69"/> <polygon fill="black" stroke="black" points="868.97,-107.65 878.07,-102.22 867.58,-100.79 868.97,-107.65"/>
</g> </g>
<!-- :core:network -->
<g id="node18" class="node"> <g id="node18" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="709.13" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="742.13" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="709.13" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="742.13" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge24" class="edge"> <g id="edge24" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M592.43,-147.34C613.89,-136.97 643.72,-122.58 667.85,-110.93"/> <path fill="none" stroke="black" d="M614.59,-147.5C638.42,-136.95 671.87,-122.13 698.53,-110.31"/>
<polygon fill="black" stroke="black" points="669.29,-114.12 676.77,-106.62 666.25,-107.82 669.29,-114.12"/> <polygon fill="black" stroke="black" points="699.65,-113.65 707.37,-106.4 696.81,-107.25 699.65,-113.65"/>
</g> </g>
<!-- :core:notifications -->
<g id="node19" class="node"> <g id="node19" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="551.13" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="578.13" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="551.13" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="578.13" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge26" class="edge"> <g id="edge26" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M560.91,-143.7C559.54,-136.32 557.91,-127.52 556.37,-119.25"/> <path fill="none" stroke="black" d="M582.65,-143.7C582.02,-136.41 581.28,-127.73 580.58,-119.54"/>
<polygon fill="black" stroke="black" points="559.85,-118.79 554.58,-109.59 552.96,-120.06 559.85,-118.79"/> <polygon fill="black" stroke="black" points="584.07,-119.28 579.72,-109.61 577.09,-119.87 584.07,-119.28"/>
</g> </g>
<!-- :sync:work&#45;&gt;:core:data -->
<g id="edge55" class="edge"> <g id="edge55" class="edge">
<title>:sync:work&#45;&gt;:core:data</title> <title>:sync:work-&gt;:core:data</title>
<path fill="none" stroke="black" d="M1003.5,-227.18C929,-218.09 782.21,-199.56 658.13,-180 644.69,-177.88 630.21,-175.38 616.74,-172.95"/> <path fill="none" stroke="black" d="M1033.64,-227.11C957.06,-218.02 807.03,-199.55 680.13,-180 666.54,-177.91 651.9,-175.43 638.26,-173.02"/>
<polygon fill="black" stroke="black" points="617.66,-169.56 607.19,-171.21 616.4,-176.44 617.66,-169.56"/> <polygon fill="black" stroke="black" points="639.02,-169.6 628.56,-171.29 637.79,-176.49 639.02,-169.6"/>
</g> </g>
<!-- :sync:work&#45;&gt;:core:analytics -->
<g id="edge54" class="edge"> <g id="edge54" class="edge">
<title>:sync:work&#45;&gt;:core:analytics</title> <title>:sync:work-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M1051.02,-215.59C1049.5,-191.61 1046.75,-148.14 1044.93,-119.42"/> <path fill="none" stroke="black" d="M1084.13,-215.59C1084.13,-191.61 1084.13,-148.14 1084.13,-119.42"/>
<polygon fill="black" stroke="black" points="1048.43,-119.38 1044.31,-109.62 1041.45,-119.82 1048.43,-119.38"/> <polygon fill="black" stroke="black" points="1087.63,-119.62 1084.13,-109.62 1080.63,-119.62 1087.63,-119.62"/>
</g> </g>
<!-- :core:domain&#45;&gt;:core:data -->
<g id="edge35" class="edge"> <g id="edge35" class="edge">
<title>:core:domain&#45;&gt;:core:data</title> <title>:core:domain-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M307.48,-222.29C363.12,-209.44 456.09,-187.96 513.55,-174.68"/> <path fill="none" stroke="red" stroke-width="2" d="M327.63,-222.06C383.21,-209.27 474.91,-188.15 532.29,-174.94"/>
<polygon fill="red" stroke="red" stroke-width="2" points="512.64,-178.49 521.6,-172.83 511.06,-171.67 512.64,-178.49"/> <polygon fill="red" stroke="red" stroke-width="2" points="531.38,-178.74 540.34,-173.08 529.81,-171.92 531.38,-178.74"/>
</g> </g>
<!-- :core:domain&#45;&gt;:core:model -->
<g id="edge36" class="edge"> <g id="edge36" class="edge">
<title>:core:domain&#45;&gt;:core:model</title> <title>:core:domain-&gt;:core:model</title>
<path fill="none" stroke="black" d="M258.85,-215.58C255.67,-183.81 253.43,-115.69 285.13,-72 297.97,-54.29 318.43,-42.15 337.96,-34.01"/> <path fill="none" stroke="black" d="M277.82,-215.56C274.59,-183.75 272.27,-115.57 304.13,-72 317.19,-54.13 337.94,-41.98 357.78,-33.87"/>
<polygon fill="black" stroke="black" points="339.18,-37.29 347.25,-30.43 336.66,-30.76 339.18,-37.29"/> <polygon fill="black" stroke="black" points="358.8,-37.22 366.92,-30.41 356.33,-30.67 358.8,-37.22"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge27" class="edge"> <g id="edge27" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M391.13,-71.7C391.13,-64.41 391.13,-55.73 391.13,-47.54"/> <path fill="none" stroke="red" stroke-width="2" d="M412.13,-71.7C412.13,-64.41 412.13,-55.73 412.13,-47.54"/>
<polygon fill="red" stroke="red" stroke-width="2" points="394.63,-49.13 391.13,-39.13 387.63,-49.13 394.63,-49.13"/> <polygon fill="red" stroke="red" stroke-width="2" points="415.63,-49.13 412.13,-39.13 408.63,-49.13 415.63,-49.13"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge30" class="edge"> <g id="edge30" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M862.83,-73.46C844.12,-63.54 819.63,-50.56 799.26,-39.75"/> <path fill="none" stroke="black" d="M900.95,-73.46C881.67,-63.54 856.44,-50.56 835.45,-39.75"/>
<polygon fill="black" stroke="black" points="801.15,-36.79 790.68,-35.2 797.87,-42.98 801.15,-36.79"/> <polygon fill="black" stroke="black" points="837.07,-36.65 826.57,-35.18 833.86,-42.87 837.07,-36.65"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge29" class="edge"> <g id="edge29" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M836.32,-80.36C818.39,-77.63 798.43,-74.64 780.13,-72 664.78,-55.39 530,-37.33 453.19,-27.16"/> <path fill="none" stroke="black" d="M873.24,-80.25C854.98,-77.55 834.72,-74.59 816.13,-72 695.93,-55.23 555.39,-37.14 475.76,-27.02"/>
<polygon fill="black" stroke="black" points="453.7,-23.7 443.33,-25.86 452.78,-30.64 453.7,-23.7"/> <polygon fill="black" stroke="black" points="476.33,-23.57 465.96,-25.78 475.44,-30.51 476.33,-23.57"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node20" class="node"> <g id="node20" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="931.13" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="971.13" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="931.13" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="971.13" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge28" class="edge"> <g id="edge28" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M901.57,-72.05C905.91,-64.26 911.17,-54.82 916.04,-46.08"/> <path fill="none" stroke="black" d="M941.02,-71.7C945.47,-63.9 950.84,-54.51 955.8,-45.83"/>
<polygon fill="black" stroke="black" points="918.96,-48.04 920.77,-37.6 912.84,-44.63 918.96,-48.04"/> <polygon fill="black" stroke="black" points="958.68,-47.84 960.6,-37.42 952.6,-44.36 958.68,-47.84"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge31" class="edge"> <g id="edge31" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M721.47,-72.05C727.42,-63.89 734.69,-53.91 741.31,-44.82"/> <path fill="none" stroke="black" d="M754.96,-72.05C761.14,-63.89 768.7,-53.91 775.58,-44.82"/>
<polygon fill="black" stroke="black" points="743.94,-47.16 747,-37.01 738.29,-43.03 743.94,-47.16"/> <polygon fill="black" stroke="black" points="778.26,-47.08 781.5,-37 772.68,-42.86 778.26,-47.08"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge32" class="edge"> <g id="edge32" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M662.57,-77.69C654.43,-75.76 646.04,-73.8 638.13,-72 573.05,-57.23 498.08,-41.3 447.97,-30.8"/> <path fill="none" stroke="black" d="M693.6,-77.69C685.12,-75.76 676.37,-73.8 668.13,-72 600.38,-57.21 522.31,-41.19 470.37,-30.68"/>
<polygon fill="black" stroke="black" points="448.71,-27.38 438.2,-28.76 447.28,-34.23 448.71,-27.38"/> <polygon fill="black" stroke="black" points="471.36,-27.31 460.86,-28.76 469.97,-34.17 471.36,-27.31"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge34" class="edge"> <g id="edge34" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M594.18,-74.58C627.64,-63.37 674.14,-47.8 709.41,-35.99"/> <path fill="none" stroke="black" d="M622.83,-74.58C657.72,-63.32 706.27,-47.66 742.94,-35.83"/>
<polygon fill="black" stroke="black" points="710.16,-39.43 718.53,-32.93 707.94,-32.79 710.16,-39.43"/> <polygon fill="black" stroke="black" points="743.55,-39.32 751.99,-32.92 741.4,-32.66 743.55,-39.32"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge33" class="edge"> <g id="edge33" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M516.01,-73.64C491.68,-62.99 459.15,-48.76 433.39,-37.49"/> <path fill="none" stroke="black" d="M541.7,-73.64C516.45,-62.99 482.7,-48.76 455.98,-37.49"/>
<polygon fill="black" stroke="black" points="435.12,-34.43 424.55,-33.62 432.31,-40.84 435.12,-34.43"/> <polygon fill="black" stroke="black" points="457.34,-34.27 446.77,-33.61 454.62,-40.72 457.34,-34.27"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 25 KiB

@ -1,73 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="462pt" height="188pt" viewBox="0.00 0.00 462.21 188.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="449pt" height="188pt"
viewBox="0.00 0.00 448.51 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-184 444.51,-184 444.51,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-184 458.21,-184 458.21,4 -4,4"/>
<!-- :app&#45;nia&#45;catalog -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:app&#45;nia&#45;catalog</title> <title>:app-nia-catalog</title>
<ellipse fill="none" stroke="black" cx="164.06" cy="-162" rx="70.8" ry="18"/> <ellipse fill="none" stroke="black" cx="169.06" cy="-162" rx="73.77" ry="18"/>
<text text-anchor="middle" x="164.06" y="-156.95" font-family="Times,serif" font-size="14.00">:app&#45;nia&#45;catalog</text> <text text-anchor="middle" x="169.06" y="-157.8" font-family="Times,serif" font-size="14.00">:app-nia-catalog</text>
</g> </g>
<!-- :core:designsystem -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="82.06" cy="-18" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="85.06" cy="-18" rx="85.06" ry="18"/>
<text text-anchor="middle" x="82.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="85.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :app&#45;nia&#45;catalog&#45;&gt;:core:designsystem -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:app&#45;nia&#45;catalog&#45;&gt;:core:designsystem</title> <title>:app-nia-catalog-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M154.17,-143.87C140.13,-119.56 114.29,-74.82 97.66,-46.01"/> <path fill="none" stroke="black" d="M158.93,-143.87C144.55,-119.56 118.08,-74.82 101.04,-46.01"/>
<polygon fill="black" stroke="black" points="100.77,-44.41 92.74,-37.5 94.71,-47.91 100.77,-44.41"/> <polygon fill="black" stroke="black" points="104.1,-44.32 96,-37.49 98.08,-47.88 104.1,-44.32"/>
</g> </g>
<!-- :core:ui -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="222.06" cy="-90" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="229.06" cy="-90" rx="40.53" ry="18"/>
<text text-anchor="middle" x="222.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="229.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :app&#45;nia&#45;catalog&#45;&gt;:core:ui -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:app&#45;nia&#45;catalog&#45;&gt;:core:ui</title> <title>:app-nia-catalog-&gt;:core:ui</title>
<path fill="none" stroke="red" stroke-width="2" d="M178.1,-144.05C185.04,-135.68 193.55,-125.4 201.23,-116.13"/> <path fill="none" stroke="red" stroke-width="2" d="M183.58,-144.05C190.84,-135.59 199.75,-125.19 207.76,-115.84"/>
<polygon fill="red" stroke="red" stroke-width="2" points="202.93,-119.57 206.62,-109.64 197.54,-115.11 202.93,-119.57"/> <polygon fill="red" stroke="red" stroke-width="2" points="209.26,-119.48 213.11,-109.61 203.94,-114.92 209.26,-119.48"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M196.38,-76.16C176.17,-66.05 147.57,-51.76 124.04,-39.99"/> <path fill="none" stroke="black" d="M202.31,-76C181.55,-65.91 152.35,-51.71 128.28,-40.01"/>
<polygon fill="black" stroke="black" points="125.83,-36.97 115.32,-35.63 122.7,-43.23 125.83,-36.97"/> <polygon fill="black" stroke="black" points="129.87,-36.89 119.34,-35.67 126.81,-43.19 129.87,-36.89"/>
</g> </g>
<!-- :core:analytics -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="247.06" cy="-18" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="255.06" cy="-18" rx="67.34" ry="18"/>
<text text-anchor="middle" x="247.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="255.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="red" stroke-width="2" d="M228.11,-72.05C230.8,-64.52 234.05,-55.44 237.08,-46.94"/> <path fill="none" stroke="red" stroke-width="2" d="M235.35,-72.05C238.15,-64.52 241.52,-55.44 244.68,-46.94"/>
<polygon fill="red" stroke="red" stroke-width="2" points="239.8,-49.72 239.87,-39.13 233.21,-47.37 239.8,-49.72"/> <polygon fill="red" stroke="red" stroke-width="2" points="247.39,-49.71 247.59,-39.11 240.82,-47.27 247.39,-49.71"/>
</g> </g>
<!-- :core:model -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="385.06" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="397.06" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="385.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="397.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M250.08,-76.97C275.45,-66.07 313.21,-49.86 342.35,-37.34"/> <path fill="none" stroke="black" d="M257.94,-76.97C284.09,-66.07 323.01,-49.86 353.03,-37.34"/>
<polygon fill="black" stroke="black" points="343.45,-40.68 351.26,-33.52 340.69,-34.25 343.45,-40.68"/> <polygon fill="black" stroke="black" points="354.37,-40.58 362.26,-33.5 351.68,-34.12 354.37,-40.58"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -1,19 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="143pt" height="44pt" viewBox="0.00 0.00 142.68 44.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="137pt" height="44pt"
viewBox="0.00 0.00 137.32 44.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-40 133.32,-40 133.32,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-40 138.68,-40 138.68,4 -4,4"/>
<!-- :core:analytics -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="64.66" cy="-18" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="67.34" cy="-18" rx="67.34" ry="18"/>
<text text-anchor="middle" x="64.66" y="-12.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="67.34" y="-13.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 863 B

After

Width:  |  Height:  |  Size: 784 B

@ -1,19 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="142pt" height="44pt" viewBox="0.00 0.00 141.63 44.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="138pt" height="44pt"
viewBox="0.00 0.00 138.34 44.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-40 134.34,-40 134.34,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-40 137.63,-40 137.63,4 -4,4"/>
<!-- :core:common -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="65.17" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="66.81" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="65.17" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="66.81" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 854 B

After

Width:  |  Height:  |  Size: 778 B

@ -1,151 +1,123 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="791pt" height="188pt" viewBox="0.00 0.00 791.30 188.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="763pt" height="188pt"
viewBox="0.00 0.00 762.55 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-184 758.55,-184 758.55,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-184 787.3,-184 787.3,4 -4,4"/>
<!-- :core:data -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="315.89" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="327.95" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="315.89" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="327.95" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :core:common -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="87.89" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="91.95" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="87.89" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="91.95" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M268.42,-160.03C190.25,-157.31 39.78,-147.01 6.89,-108 -3.42,-95.77 -0.72,-86.07 6.89,-72 14.54,-57.84 27.81,-46.86 41.41,-38.66"/> <path fill="none" stroke="black" d="M278.66,-160.32C197.49,-158.04 41.21,-148.38 6.95,-108 -3.4,-95.8 -0.81,-85.99 6.95,-72 15.05,-57.42 29,-46.33 43.29,-38.16"/>
<polygon fill="black" stroke="black" points="42.93,-41.82 49.97,-33.91 39.53,-35.7 42.93,-41.82"/> <polygon fill="black" stroke="black" points="44.61,-41.42 51.83,-33.66 41.35,-35.22 44.61,-41.42"/>
</g> </g>
<!-- :core:database -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="543.89" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="563.95" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="543.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="563.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M352.02,-149.91C389.56,-138.38 448.68,-120.23 491.38,-107.12"/> <path fill="none" stroke="red" stroke-width="2" d="M365.35,-149.91C404.17,-138.39 465.29,-120.27 509.48,-107.16"/>
<polygon fill="red" stroke="red" stroke-width="2" points="490.71,-110.99 499.24,-104.71 488.65,-104.3 490.71,-110.99"/> <polygon fill="red" stroke="red" stroke-width="2" points="508.83,-111 517.42,-104.8 506.84,-104.29 508.83,-111"/>
</g> </g>
<!-- :core:datastore -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="396.89" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="411.95" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="396.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="411.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M334.27,-145.12C344.61,-136.18 357.73,-124.85 369.28,-114.86"/> <path fill="none" stroke="black" d="M347.02,-145.12C357.74,-136.18 371.34,-124.85 383.32,-114.86"/>
<polygon fill="black" stroke="black" points="371.31,-117.73 376.59,-108.54 366.74,-112.43 371.31,-117.73"/> <polygon fill="black" stroke="black" points="385.49,-117.61 390.93,-108.52 381.01,-112.23 385.49,-117.61"/>
</g> </g>
<!-- :core:network -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="77.89" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="80.95" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="77.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="80.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M279.22,-150.22C239.68,-138.58 176.33,-119.95 131.26,-106.7"/> <path fill="none" stroke="black" d="M289.9,-150.22C248.69,-138.53 182.56,-119.8 135.75,-106.53"/>
<polygon fill="black" stroke="black" points="132.26,-103.34 121.68,-103.88 130.28,-110.06 132.26,-103.34"/> <polygon fill="black" stroke="black" points="136.92,-103.22 126.35,-103.86 135.01,-109.96 136.92,-103.22"/>
</g> </g>
<!-- :core:analytics -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="689.89" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="715.95" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="689.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="715.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M358.9,-154.18C417.44,-144.73 525.39,-126.69 616.89,-108 621.48,-107.06 626.22,-106.05 630.98,-105.01"/> <path fill="none" stroke="black" d="M372.63,-154.09C433.15,-144.56 544.48,-126.47 638.95,-108 644.14,-106.99 649.51,-105.89 654.9,-104.76"/>
<polygon fill="black" stroke="black" points="631.59,-108.46 640.59,-102.86 630.07,-101.63 631.59,-108.46"/> <polygon fill="black" stroke="black" points="655.38,-108.24 664.43,-102.73 653.92,-101.39 655.38,-108.24"/>
</g> </g>
<!-- :core:notifications -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="235.89" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="244.95" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="235.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="244.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M297.74,-145.12C287.7,-136.33 275.01,-125.23 263.74,-115.37"/> <path fill="none" stroke="black" d="M309.12,-145.12C298.6,-136.24 285.28,-125.01 273.5,-115.08"/>
<polygon fill="black" stroke="black" points="266.06,-112.75 256.23,-108.79 261.45,-118.01 266.06,-112.75"/> <polygon fill="black" stroke="black" points="275.93,-112.54 266.03,-108.77 271.42,-117.9 275.93,-112.54"/>
</g> </g>
<!-- :core:model -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="235.89" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="244.95" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="235.89" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="244.95" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M496.02,-77.7C487.65,-75.77 479.02,-73.8 470.89,-72 395.06,-55.19 375.45,-53.98 299.89,-36 296.08,-35.09 292.16,-34.13 288.21,-33.14"/> <path fill="none" stroke="red" stroke-width="2" d="M514.77,-77.69C506.17,-75.76 497.31,-73.8 488.95,-72 410.47,-55.13 390.22,-53.88 311.95,-36 307.67,-35.02 303.24,-33.97 298.79,-32.9"/>
<polygon fill="red" stroke="red" stroke-width="2" points="290.61,-30.14 280.06,-31.04 288.87,-36.92 290.61,-30.14"/> <polygon fill="red" stroke="red" stroke-width="2" points="301.26,-29.9 290.71,-30.91 299.59,-36.7 301.26,-29.9"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M347.94,-77.72C339.58,-75.81 330.99,-73.84 322.89,-72 263.62,-58.51 195.9,-43.25 148.43,-32.58"/> <path fill="none" stroke="black" d="M361.01,-77.73C352.32,-75.82 343.38,-73.85 334.95,-72 273.33,-58.48 202.89,-43.12 153.77,-32.44"/>
<polygon fill="black" stroke="black" points="149.42,-29.22 138.89,-30.44 147.88,-36.05 149.42,-29.22"/> <polygon fill="black" stroke="black" points="154.69,-29.05 144.17,-30.35 153.2,-35.89 154.69,-29.05"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M363.14,-74.33C338.58,-63.65 305.15,-49.11 278.71,-37.62"/> <path fill="none" stroke="black" d="M376.95,-74.33C351.28,-63.57 316.25,-48.89 288.73,-37.35"/>
<polygon fill="black" stroke="black" points="280.18,-34.44 269.61,-33.66 277.39,-40.86 280.18,-34.44"/> <polygon fill="black" stroke="black" points="290.18,-34.16 279.61,-33.52 287.48,-40.62 290.18,-34.16"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="396.89" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="411.95" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="396.89" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="411.95" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M396.89,-71.7C396.89,-64.41 396.89,-55.73 396.89,-47.54"/> <path fill="none" stroke="black" d="M411.95,-71.7C411.95,-64.41 411.95,-55.73 411.95,-47.54"/>
<polygon fill="black" stroke="black" points="400.39,-47.62 396.89,-37.62 393.39,-47.62 400.39,-47.62"/> <polygon fill="black" stroke="black" points="415.45,-47.62 411.95,-37.62 408.45,-47.62 415.45,-47.62"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M80.36,-71.7C81.42,-64.32 82.67,-55.52 83.85,-47.25"/> <path fill="none" stroke="black" d="M83.67,-71.7C84.83,-64.32 86.22,-55.52 87.52,-47.25"/>
<polygon fill="black" stroke="black" points="87.28,-48 85.23,-37.6 80.35,-47.01 87.28,-48"/> <polygon fill="black" stroke="black" points="90.94,-48.02 89.03,-37.6 84.02,-46.93 90.94,-48.02"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M111.01,-74.33C135.11,-63.65 167.92,-49.11 193.87,-37.62"/> <path fill="none" stroke="black" d="M115.33,-74.33C140.46,-63.6 174.71,-48.98 201.7,-37.46"/>
<polygon fill="black" stroke="black" points="195.05,-40.92 202.78,-33.67 192.21,-34.52 195.05,-40.92"/> <polygon fill="black" stroke="black" points="202.8,-40.8 210.63,-33.65 200.06,-34.36 202.8,-40.8"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M202.68,-73.29C181.17,-63.12 152.98,-49.79 129.92,-38.88"/> <path fill="none" stroke="black" d="M210.62,-73.29C188.29,-63.07 158.98,-49.66 135.08,-38.73"/>
<polygon fill="black" stroke="black" points="131.63,-35.82 121.09,-34.7 128.64,-42.14 131.63,-35.82"/> <polygon fill="black" stroke="black" points="136.79,-35.66 126.24,-34.69 133.88,-42.03 136.79,-35.66"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M235.89,-71.7C235.89,-64.41 235.89,-55.73 235.89,-47.54"/> <path fill="none" stroke="black" d="M244.95,-71.7C244.95,-64.41 244.95,-55.73 244.95,-47.54"/>
<polygon fill="black" stroke="black" points="239.39,-47.62 235.89,-37.62 232.39,-47.62 239.39,-47.62"/> <polygon fill="black" stroke="black" points="248.45,-47.62 244.95,-37.62 241.45,-47.62 248.45,-47.62"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.4 KiB

@ -1,163 +1,133 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="791pt" height="260pt" viewBox="0.00 0.00 791.30 260.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="763pt" height="260pt"
viewBox="0.00 0.00 762.55 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-256 758.55,-256 758.55,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-256 787.3,-256 787.3,4 -4,4"/>
<!-- :core:data&#45;test -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:data&#45;test</title> <title>:core:data-test</title>
<ellipse fill="none" stroke="black" cx="315.89" cy="-234" rx="63.12" ry="18"/> <ellipse fill="none" stroke="black" cx="327.95" cy="-234" rx="65.73" ry="18"/>
<text text-anchor="middle" x="315.89" y="-228.95" font-family="Times,serif" font-size="14.00">:core:data&#45;test</text> <text text-anchor="middle" x="327.95" y="-229.8" font-family="Times,serif" font-size="14.00">:core:data-test</text>
</g> </g>
<!-- :core:data -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="315.89" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="327.95" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="315.89" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="327.95" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :core:data&#45;test&#45;&gt;:core:data -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:data&#45;test&#45;&gt;:core:data</title> <title>:core:data-test-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M315.89,-215.7C315.89,-208.41 315.89,-199.73 315.89,-191.54"/> <path fill="none" stroke="red" stroke-width="2" d="M327.95,-215.7C327.95,-208.41 327.95,-199.73 327.95,-191.54"/>
<polygon fill="red" stroke="red" stroke-width="2" points="319.39,-193.13 315.89,-183.13 312.39,-193.13 319.39,-193.13"/> <polygon fill="red" stroke="red" stroke-width="2" points="331.45,-193.13 327.95,-183.13 324.45,-193.13 331.45,-193.13"/>
</g> </g>
<!-- :core:common -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="87.89" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="91.95" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="87.89" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="91.95" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M268.42,-160.03C190.25,-157.31 39.78,-147.01 6.89,-108 -3.42,-95.77 -0.72,-86.07 6.89,-72 14.54,-57.84 27.81,-46.86 41.41,-38.66"/> <path fill="none" stroke="black" d="M278.66,-160.32C197.49,-158.04 41.21,-148.38 6.95,-108 -3.4,-95.8 -0.81,-85.99 6.95,-72 15.05,-57.42 29,-46.33 43.29,-38.16"/>
<polygon fill="black" stroke="black" points="42.93,-41.82 49.97,-33.91 39.53,-35.7 42.93,-41.82"/> <polygon fill="black" stroke="black" points="44.61,-41.42 51.83,-33.66 41.35,-35.22 44.61,-41.42"/>
</g> </g>
<!-- :core:database -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="543.89" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="563.95" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="543.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="563.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M352.02,-149.91C389.56,-138.38 448.68,-120.23 491.38,-107.12"/> <path fill="none" stroke="red" stroke-width="2" d="M365.35,-149.91C404.17,-138.39 465.29,-120.27 509.48,-107.16"/>
<polygon fill="red" stroke="red" stroke-width="2" points="490.71,-110.99 499.24,-104.71 488.65,-104.3 490.71,-110.99"/> <polygon fill="red" stroke="red" stroke-width="2" points="508.83,-111 517.42,-104.8 506.84,-104.29 508.83,-111"/>
</g> </g>
<!-- :core:datastore -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="396.89" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="411.95" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="396.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="411.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M334.27,-145.12C344.61,-136.18 357.73,-124.85 369.28,-114.86"/> <path fill="none" stroke="black" d="M347.02,-145.12C357.74,-136.18 371.34,-124.85 383.32,-114.86"/>
<polygon fill="black" stroke="black" points="371.31,-117.73 376.59,-108.54 366.74,-112.43 371.31,-117.73"/> <polygon fill="black" stroke="black" points="385.49,-117.61 390.93,-108.52 381.01,-112.23 385.49,-117.61"/>
</g> </g>
<!-- :core:network -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="77.89" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="80.95" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="77.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="80.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M279.22,-150.22C239.68,-138.58 176.33,-119.95 131.26,-106.7"/> <path fill="none" stroke="black" d="M289.9,-150.22C248.69,-138.53 182.56,-119.8 135.75,-106.53"/>
<polygon fill="black" stroke="black" points="132.26,-103.34 121.68,-103.88 130.28,-110.06 132.26,-103.34"/> <polygon fill="black" stroke="black" points="136.92,-103.22 126.35,-103.86 135.01,-109.96 136.92,-103.22"/>
</g> </g>
<!-- :core:analytics -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="689.89" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="715.95" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="689.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="715.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M358.9,-154.18C417.44,-144.73 525.39,-126.69 616.89,-108 621.48,-107.06 626.22,-106.05 630.98,-105.01"/> <path fill="none" stroke="black" d="M372.63,-154.09C433.15,-144.56 544.48,-126.47 638.95,-108 644.14,-106.99 649.51,-105.89 654.9,-104.76"/>
<polygon fill="black" stroke="black" points="631.59,-108.46 640.59,-102.86 630.07,-101.63 631.59,-108.46"/> <polygon fill="black" stroke="black" points="655.38,-108.24 664.43,-102.73 653.92,-101.39 655.38,-108.24"/>
</g> </g>
<!-- :core:notifications -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="235.89" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="244.95" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="235.89" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="244.95" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M297.74,-145.12C287.7,-136.33 275.01,-125.23 263.74,-115.37"/> <path fill="none" stroke="black" d="M309.12,-145.12C298.6,-136.24 285.28,-125.01 273.5,-115.08"/>
<polygon fill="black" stroke="black" points="266.06,-112.75 256.23,-108.79 261.45,-118.01 266.06,-112.75"/> <polygon fill="black" stroke="black" points="275.93,-112.54 266.03,-108.77 271.42,-117.9 275.93,-112.54"/>
</g> </g>
<!-- :core:model -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="235.89" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="244.95" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="235.89" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="244.95" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M496.02,-77.7C487.65,-75.77 479.02,-73.8 470.89,-72 395.06,-55.19 375.45,-53.98 299.89,-36 296.08,-35.09 292.16,-34.13 288.21,-33.14"/> <path fill="none" stroke="red" stroke-width="2" d="M514.77,-77.69C506.17,-75.76 497.31,-73.8 488.95,-72 410.47,-55.13 390.22,-53.88 311.95,-36 307.67,-35.02 303.24,-33.97 298.79,-32.9"/>
<polygon fill="red" stroke="red" stroke-width="2" points="290.61,-30.14 280.06,-31.04 288.87,-36.92 290.61,-30.14"/> <polygon fill="red" stroke="red" stroke-width="2" points="301.26,-29.9 290.71,-30.91 299.59,-36.7 301.26,-29.9"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M347.94,-77.72C339.58,-75.81 330.99,-73.84 322.89,-72 263.62,-58.51 195.9,-43.25 148.43,-32.58"/> <path fill="none" stroke="black" d="M361.01,-77.73C352.32,-75.82 343.38,-73.85 334.95,-72 273.33,-58.48 202.89,-43.12 153.77,-32.44"/>
<polygon fill="black" stroke="black" points="149.42,-29.22 138.89,-30.44 147.88,-36.05 149.42,-29.22"/> <polygon fill="black" stroke="black" points="154.69,-29.05 144.17,-30.35 153.2,-35.89 154.69,-29.05"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M363.14,-74.33C338.58,-63.65 305.15,-49.11 278.71,-37.62"/> <path fill="none" stroke="black" d="M376.95,-74.33C351.28,-63.57 316.25,-48.89 288.73,-37.35"/>
<polygon fill="black" stroke="black" points="280.18,-34.44 269.61,-33.66 277.39,-40.86 280.18,-34.44"/> <polygon fill="black" stroke="black" points="290.18,-34.16 279.61,-33.52 287.48,-40.62 290.18,-34.16"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="396.89" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="411.95" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="396.89" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="411.95" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M396.89,-71.7C396.89,-64.41 396.89,-55.73 396.89,-47.54"/> <path fill="none" stroke="black" d="M411.95,-71.7C411.95,-64.41 411.95,-55.73 411.95,-47.54"/>
<polygon fill="black" stroke="black" points="400.39,-47.62 396.89,-37.62 393.39,-47.62 400.39,-47.62"/> <polygon fill="black" stroke="black" points="415.45,-47.62 411.95,-37.62 408.45,-47.62 415.45,-47.62"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M80.36,-71.7C81.42,-64.32 82.67,-55.52 83.85,-47.25"/> <path fill="none" stroke="black" d="M83.67,-71.7C84.83,-64.32 86.22,-55.52 87.52,-47.25"/>
<polygon fill="black" stroke="black" points="87.28,-48 85.23,-37.6 80.35,-47.01 87.28,-48"/> <polygon fill="black" stroke="black" points="90.94,-48.02 89.03,-37.6 84.02,-46.93 90.94,-48.02"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M111.01,-74.33C135.11,-63.65 167.92,-49.11 193.87,-37.62"/> <path fill="none" stroke="black" d="M115.33,-74.33C140.46,-63.6 174.71,-48.98 201.7,-37.46"/>
<polygon fill="black" stroke="black" points="195.05,-40.92 202.78,-33.67 192.21,-34.52 195.05,-40.92"/> <polygon fill="black" stroke="black" points="202.8,-40.8 210.63,-33.65 200.06,-34.36 202.8,-40.8"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M202.68,-73.29C181.17,-63.12 152.98,-49.79 129.92,-38.88"/> <path fill="none" stroke="black" d="M210.62,-73.29C188.29,-63.07 158.98,-49.66 135.08,-38.73"/>
<polygon fill="black" stroke="black" points="131.63,-35.82 121.09,-34.7 128.64,-42.14 131.63,-35.82"/> <polygon fill="black" stroke="black" points="136.79,-35.66 126.24,-34.69 133.88,-42.03 136.79,-35.66"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M235.89,-71.7C235.89,-64.41 235.89,-55.73 235.89,-47.54"/> <path fill="none" stroke="black" d="M244.95,-71.7C244.95,-64.41 244.95,-55.73 244.95,-47.54"/>
<polygon fill="black" stroke="black" points="239.39,-47.62 235.89,-37.62 232.39,-47.62 239.39,-47.62"/> <polygon fill="black" stroke="black" points="248.45,-47.62 244.95,-37.62 241.45,-47.62 248.45,-47.62"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

@ -1,31 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="141pt" height="116pt" viewBox="0.00 0.00 140.52 116.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="135pt" height="116pt"
viewBox="0.00 0.00 135.27 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-112 131.27,-112 131.27,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-112 136.52,-112 136.52,4 -4,4"/>
<!-- :core:database -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="63.63" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="66.26" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="63.63" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="66.26" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:model -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="63.63" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="66.26" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="63.63" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="66.26" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M63.63,-71.7C63.63,-64.41 63.63,-55.73 63.63,-47.54"/> <path fill="none" stroke="red" stroke-width="2" d="M66.26,-71.7C66.26,-64.41 66.26,-55.73 66.26,-47.54"/>
<polygon fill="red" stroke="red" stroke-width="2" points="67.13,-49.13 63.63,-39.13 60.13,-49.13 67.13,-49.13"/> <polygon fill="red" stroke="red" stroke-width="2" points="69.76,-49.13 66.26,-39.13 62.76,-49.13 69.76,-49.13"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

@ -1,55 +1,43 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="475pt" height="116pt" viewBox="0.00 0.00 475.29 116.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="461pt" height="116pt"
viewBox="0.00 0.00 460.86 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-112 456.86,-112 456.86,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-112 471.29,-112 471.29,4 -4,4"/>
<!-- :core:datastore -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="248.69" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="258.47" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="248.69" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="258.47" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="87.69" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="91.47" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="87.69" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="91.47" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="red" stroke-width="2" d="M214.94,-74.33C191.52,-64.14 160.02,-50.45 134.22,-39.23"/> <path fill="none" stroke="red" stroke-width="2" d="M223.47,-74.33C199.06,-64.1 166.21,-50.32 139.38,-39.08"/>
<polygon fill="red" stroke="red" stroke-width="2" points="137.26,-36.73 126.69,-35.96 134.47,-43.15 137.26,-36.73"/> <polygon fill="red" stroke="red" stroke-width="2" points="142.42,-36.56 131.84,-35.92 139.71,-43.01 142.42,-36.56"/>
</g> </g>
<!-- :core:model -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="248.69" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="258.47" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="248.69" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="258.47" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M248.69,-71.7C248.69,-64.41 248.69,-55.73 248.69,-47.54"/> <path fill="none" stroke="black" d="M258.47,-71.7C258.47,-64.41 258.47,-55.73 258.47,-47.54"/>
<polygon fill="black" stroke="black" points="252.19,-47.62 248.69,-37.62 245.19,-47.62 252.19,-47.62"/> <polygon fill="black" stroke="black" points="261.97,-47.62 258.47,-37.62 254.97,-47.62 261.97,-47.62"/>
</g> </g>
<!-- :core:common -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="387.69" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="400.47" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="387.69" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="400.47" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M279.19,-73.64C299.11,-63.61 325.34,-50.4 347.03,-39.48"/> <path fill="none" stroke="black" d="M289.64,-73.64C310.08,-63.56 337.03,-50.28 359.24,-39.33"/>
<polygon fill="black" stroke="black" points="348.55,-42.63 355.91,-35.01 345.4,-36.38 348.55,-42.63"/> <polygon fill="black" stroke="black" points="360.61,-42.56 368.03,-35 357.51,-36.28 360.61,-42.56"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -1,19 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="191pt" height="44pt" viewBox="0.00 0.00 190.95 44.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="183pt" height="44pt"
viewBox="0.00 0.00 183.38 44.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-40 179.38,-40 179.38,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-40 186.95,-40 186.95,4 -4,4"/>
<!-- :core:datastore&#45;proto -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="87.69" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="91.47" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="87.69" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="91.47" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 893 B

After

Width:  |  Height:  |  Size: 796 B

@ -1,73 +1,58 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="475pt" height="188pt" viewBox="0.00 0.00 474.97 188.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="461pt" height="188pt"
viewBox="0.00 0.00 460.62 188.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 184)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-184 456.62,-184 456.62,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-184 470.97,-184 470.97,4 -4,4"/>
<!-- :core:datastore&#45;test -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:datastore&#45;test</title> <title>:core:datastore-test</title>
<ellipse fill="none" stroke="black" cx="150.17" cy="-162" rx="81.04" ry="18"/> <ellipse fill="none" stroke="black" cx="154.81" cy="-162" rx="84.5" ry="18"/>
<text text-anchor="middle" x="150.17" y="-156.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;test</text> <text text-anchor="middle" x="154.81" y="-157.8" font-family="Times,serif" font-size="14.00">:core:datastore-test</text>
</g> </g>
<!-- :core:common -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="65.17" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="66.81" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="65.17" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="66.81" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:datastore&#45;test&#45;&gt;:core:common -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:datastore&#45;test&#45;&gt;:core:common</title> <title>:core:datastore-test-&gt;:core:common</title>
<path fill="none" stroke="black" d="M139.92,-143.87C125.37,-119.56 98.58,-74.82 81.34,-46.01"/> <path fill="none" stroke="black" d="M144.2,-143.87C129.07,-119.46 101.16,-74.43 83.32,-45.64"/>
<polygon fill="black" stroke="black" points="84.38,-44.27 76.24,-37.49 78.37,-47.87 84.38,-44.27"/> <polygon fill="black" stroke="black" points="86.51,-44.13 78.26,-37.48 80.56,-47.82 86.51,-44.13"/>
</g> </g>
<!-- :core:datastore -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="216.17" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="222.81" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="216.17" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="222.81" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:datastore&#45;test&#45;&gt;:core:datastore -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:datastore&#45;test&#45;&gt;:core:datastore</title> <title>:core:datastore-test-&gt;:core:datastore</title>
<path fill="none" stroke="red" stroke-width="2" d="M166.15,-144.05C174.09,-135.63 183.85,-125.28 192.63,-115.97"/> <path fill="none" stroke="red" stroke-width="2" d="M171.27,-144.05C179.46,-135.63 189.51,-125.28 198.56,-115.97"/>
<polygon fill="red" stroke="red" stroke-width="2" points="193.95,-119.67 198.26,-109.99 188.86,-114.87 193.95,-119.67"/> <polygon fill="red" stroke="red" stroke-width="2" points="199.94,-119.57 204.4,-109.96 194.92,-114.69 199.94,-119.57"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M183.78,-73.98C161.58,-63.7 131.92,-49.94 107.81,-38.77"/> <path fill="none" stroke="black" d="M189.35,-73.98C166.32,-63.65 135.5,-49.82 110.53,-38.61"/>
<polygon fill="black" stroke="black" points="109.43,-35.66 98.88,-34.63 106.48,-42.01 109.43,-35.66"/> <polygon fill="black" stroke="black" points="112.16,-35.51 101.61,-34.61 109.3,-41.9 112.16,-35.51"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="236.17" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="242.81" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="236.17" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="242.81" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="red" stroke-width="2" d="M221.11,-71.7C223.25,-64.24 225.79,-55.32 228.18,-46.97"/> <path fill="none" stroke="red" stroke-width="2" d="M227.76,-71.7C229.89,-64.24 232.44,-55.32 234.82,-46.97"/>
<polygon fill="red" stroke="red" stroke-width="2" points="231.07,-49.59 230.45,-39.01 224.34,-47.67 231.07,-49.59"/> <polygon fill="red" stroke="red" stroke-width="2" points="237.71,-49.59 237.1,-39.01 230.98,-47.67 237.71,-49.59"/>
</g> </g>
<!-- :core:model -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="397.17" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="409.81" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="397.17" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="409.81" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M252.8,-74.83C281.44,-63.76 321.41,-48.3 352.03,-36.46"/> <path fill="none" stroke="black" d="M260.66,-74.83C290.25,-63.76 331.54,-48.3 363.18,-36.46"/>
<polygon fill="black" stroke="black" points="352.96,-39.85 361.03,-32.98 350.44,-33.32 352.96,-39.85"/> <polygon fill="black" stroke="black" points="364.38,-39.75 372.51,-32.96 361.92,-33.19 364.38,-39.75"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

@ -1,19 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="178pt" height="44pt" viewBox="0.00 0.00 178.11 44.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="172pt" height="44pt"
viewBox="0.00 0.00 172.12 44.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-40 168.12,-40 168.12,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-40 174.11,-40 174.11,4 -4,4"/>
<!-- :core:designsystem -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="82.06" cy="-18" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="85.06" cy="-18" rx="85.06" ry="18"/>
<text text-anchor="middle" x="82.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="85.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 872 B

After

Width:  |  Height:  |  Size: 790 B

@ -1,169 +1,138 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="857pt" height="260pt" viewBox="0.00 0.00 857.47 260.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="829pt" height="260pt"
viewBox="0.00 0.00 829.46 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-256 825.46,-256 825.46,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-256 853.47,-256 853.47,4 -4,4"/>
<!-- :core:domain -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:domain</title> <title>:core:domain</title>
<ellipse fill="none" stroke="black" cx="623.69" cy="-234" rx="60.05" ry="18"/> <ellipse fill="none" stroke="black" cx="644.47" cy="-234" rx="61.99" ry="18"/>
<text text-anchor="middle" x="623.69" y="-228.95" font-family="Times,serif" font-size="14.00">:core:domain</text> <text text-anchor="middle" x="644.47" y="-229.8" font-family="Times,serif" font-size="14.00">:core:domain</text>
</g> </g>
<!-- :core:data -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="418.69" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="432.47" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="418.69" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="432.47" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :core:domain&#45;&gt;:core:data -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:domain&#45;&gt;:core:data</title> <title>:core:domain-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M585.13,-219.83C550.65,-208.06 500.11,-190.8 463.77,-178.39"/> <path fill="none" stroke="red" stroke-width="2" d="M604.6,-219.83C568.79,-208.01 516.22,-190.65 478.61,-178.23"/>
<polygon fill="red" stroke="red" stroke-width="2" points="466.45,-175.61 455.85,-175.69 464.18,-182.23 466.45,-175.61"/> <polygon fill="red" stroke="red" stroke-width="2" points="481.41,-175.47 470.82,-175.66 479.22,-182.12 481.41,-175.47"/>
</g> </g>
<!-- :core:model -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="576.69" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="596.47" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="576.69" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="596.47" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:domain&#45;&gt;:core:model -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:domain&#45;&gt;:core:model</title> <title>:core:domain-&gt;:core:model</title>
<path fill="none" stroke="black" d="M662.34,-219.86C730.64,-194.61 860.84,-136.09 809.69,-72 788.92,-45.98 702.6,-31.75 641.09,-24.76"/> <path fill="none" stroke="black" d="M684.75,-219.99C755.51,-195.06 889.9,-137.21 837.47,-72 815.89,-45.15 726.29,-31.12 662.67,-24.39"/>
<polygon fill="black" stroke="black" points="641.74,-21.31 631.42,-23.7 640.98,-28.27 641.74,-21.31"/> <polygon fill="black" stroke="black" points="663.32,-20.94 653.01,-23.41 662.61,-27.91 663.32,-20.94"/>
</g> </g>
<!-- :core:common -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="338.69" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="350.47" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="338.69" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="350.47" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M373.15,-156.52C315.42,-149.79 220.86,-134.9 199.69,-108 189.8,-95.43 190.61,-85.18 199.69,-72 215.46,-49.11 242.54,-36.1 268.63,-28.71"/> <path fill="none" stroke="black" d="M384.98,-156.68C325.39,-150.17 228.32,-135.56 206.47,-108 196.54,-95.46 197.32,-85.12 206.47,-72 222.88,-48.48 250.96,-35.36 277.99,-28.07"/>
<polygon fill="black" stroke="black" points="269.43,-32.11 278.25,-26.24 267.69,-25.33 269.43,-32.11"/> <polygon fill="black" stroke="black" points="278.71,-31.49 287.6,-25.73 277.05,-24.69 278.71,-31.49"/>
</g> </g>
<!-- :core:database -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="736.69" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="762.47" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="736.69" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="762.47" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M459.48,-152.38C508.14,-142.05 591.93,-124.12 663.69,-108 668.26,-106.97 672.99,-105.9 677.74,-104.81"/> <path fill="none" stroke="red" stroke-width="2" d="M474.76,-152.37C525.2,-142.03 612.06,-124.08 686.47,-108 691.36,-106.94 696.43,-105.84 701.51,-104.72"/>
<polygon fill="red" stroke="red" stroke-width="2" points="676.9,-108.6 685.86,-102.94 675.33,-101.78 676.9,-108.6"/> <polygon fill="red" stroke="red" stroke-width="2" points="700.66,-108.49 709.67,-102.91 699.15,-101.66 700.66,-108.49"/>
</g> </g>
<!-- :core:datastore -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="87.69" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="91.47" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="87.69" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="91.47" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M378.09,-152.52C328.27,-142.11 241.25,-123.86 166.69,-108 160.86,-106.76 154.79,-105.46 148.71,-104.16"/> <path fill="none" stroke="black" d="M390.3,-152.4C339.03,-141.95 249.9,-123.74 173.47,-108 167.27,-106.72 160.81,-105.39 154.34,-104.05"/>
<polygon fill="black" stroke="black" points="149.82,-100.82 139.31,-102.14 148.36,-107.66 149.82,-100.82"/> <polygon fill="black" stroke="black" points="155.51,-100.72 145.01,-102.12 154.09,-107.57 155.51,-100.72"/>
</g> </g>
<!-- :core:network -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="418.69" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="432.47" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="418.69" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="432.47" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M418.69,-143.7C418.69,-136.41 418.69,-127.73 418.69,-119.54"/> <path fill="none" stroke="black" d="M432.47,-143.7C432.47,-136.41 432.47,-127.73 432.47,-119.54"/>
<polygon fill="black" stroke="black" points="422.19,-119.62 418.69,-109.62 415.19,-119.62 422.19,-119.62"/> <polygon fill="black" stroke="black" points="435.97,-119.62 432.47,-109.62 428.97,-119.62 435.97,-119.62"/>
</g> </g>
<!-- :core:analytics -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="273.69" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="282.47" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="273.69" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="282.47" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M390.39,-147.34C368.99,-137.01 339.3,-122.67 315.21,-111.05"/> <path fill="none" stroke="black" d="M402.84,-147.17C380.65,-136.82 349.98,-122.5 325.15,-110.91"/>
<polygon fill="black" stroke="black" points="316.83,-107.94 306.3,-106.74 313.78,-114.24 316.83,-107.94"/> <polygon fill="black" stroke="black" points="326.82,-107.83 316.28,-106.78 323.86,-114.18 326.82,-107.83"/>
</g> </g>
<!-- :core:notifications -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="576.69" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="596.47" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="576.69" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="596.47" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M448.78,-147.67C472.18,-137.3 505.01,-122.76 531.55,-111"/> <path fill="none" stroke="black" d="M463.71,-147.67C487.99,-137.3 522.07,-122.76 549.62,-111"/>
<polygon fill="black" stroke="black" points="532.64,-114.34 540.37,-107.09 529.81,-107.94 532.64,-114.34"/> <polygon fill="black" stroke="black" points="551,-114.22 558.82,-107.07 548.25,-107.78 551,-114.22"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M703.15,-74.33C678.75,-63.65 645.52,-49.11 619.24,-37.62"/> <path fill="none" stroke="red" stroke-width="2" d="M727.68,-74.33C702.25,-63.6 667.58,-48.98 640.26,-37.46"/>
<polygon fill="red" stroke="red" stroke-width="2" points="622.16,-35.07 611.6,-34.27 619.35,-41.49 622.16,-35.07"/> <polygon fill="red" stroke="red" stroke-width="2" points="643.18,-34.89 632.6,-34.23 640.46,-41.34 643.18,-34.89"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M143.5,-80.41C161.44,-77.68 181.4,-74.67 199.69,-72 310.88,-55.75 440.67,-37.7 515.31,-27.42"/> <path fill="none" stroke="black" d="M149.37,-80.31C167.63,-77.6 187.89,-74.64 206.47,-72 321.74,-55.65 456.32,-37.59 533.45,-27.33"/>
<polygon fill="black" stroke="black" points="515.43,-30.94 524.86,-26.1 514.47,-24 515.43,-30.94"/> <polygon fill="black" stroke="black" points="533.45,-30.86 542.9,-26.08 532.53,-23.93 533.45,-30.86"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M132.27,-76.57C174.44,-64.81 237.85,-47.12 283.26,-34.46"/> <path fill="none" stroke="black" d="M137.78,-76.49C181.42,-64.69 246.93,-46.99 293.7,-34.34"/>
<polygon fill="black" stroke="black" points="283.95,-37.9 292.64,-31.84 282.07,-31.16 283.95,-37.9"/> <polygon fill="black" stroke="black" points="294.37,-37.79 303.11,-31.8 292.54,-31.03 294.37,-37.79"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="87.69" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="91.47" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="87.69" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="91.47" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M87.69,-71.7C87.69,-64.41 87.69,-55.73 87.69,-47.54"/> <path fill="none" stroke="black" d="M91.47,-71.7C91.47,-64.41 91.47,-55.73 91.47,-47.54"/>
<polygon fill="black" stroke="black" points="91.19,-47.62 87.69,-37.62 84.19,-47.62 91.19,-47.62"/> <polygon fill="black" stroke="black" points="94.97,-47.62 91.47,-37.62 87.97,-47.62 94.97,-47.62"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M451.81,-74.33C475.91,-63.65 508.72,-49.11 534.67,-37.62"/> <path fill="none" stroke="black" d="M466.85,-74.33C491.98,-63.6 526.23,-48.98 553.22,-37.46"/>
<polygon fill="black" stroke="black" points="535.85,-40.92 543.58,-33.67 533.01,-34.52 535.85,-40.92"/> <polygon fill="black" stroke="black" points="554.32,-40.8 562.15,-33.65 551.58,-34.36 554.32,-40.8"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M399.73,-72.41C389.67,-63.61 377.12,-52.63 366.03,-42.92"/> <path fill="none" stroke="black" d="M413.04,-72.41C402.73,-63.61 389.87,-52.63 378.49,-42.92"/>
<polygon fill="black" stroke="black" points="368.48,-40.42 358.65,-36.47 363.87,-45.69 368.48,-40.42"/> <polygon fill="black" stroke="black" points="380.8,-40.28 370.92,-36.45 376.25,-45.61 380.8,-40.28"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M576.69,-71.7C576.69,-64.41 576.69,-55.73 576.69,-47.54"/> <path fill="none" stroke="black" d="M596.47,-71.7C596.47,-64.41 596.47,-55.73 596.47,-47.54"/>
<polygon fill="black" stroke="black" points="580.19,-47.62 576.69,-37.62 573.19,-47.62 580.19,-47.62"/> <polygon fill="black" stroke="black" points="599.97,-47.62 596.47,-37.62 592.97,-47.62 599.97,-47.62"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M529.95,-75.25C490.64,-63.69 434.4,-47.15 393.08,-35"/> <path fill="none" stroke="black" d="M547.87,-75.17C507.13,-63.58 448.93,-47.02 406.29,-34.88"/>
<polygon fill="black" stroke="black" points="394.15,-31.66 383.56,-32.2 392.17,-38.38 394.15,-31.66"/> <polygon fill="black" stroke="black" points="407.28,-31.53 396.7,-32.15 405.36,-38.26 407.28,-31.53"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

@ -1,19 +1,13 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="122pt" height="44pt" viewBox="0.00 0.00 122.31 44.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="119pt" height="44pt"
viewBox="0.00 0.00 118.89 44.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 40)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-40 114.89,-40 114.89,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-40 118.31,-40 118.31,4 -4,4"/>
<!-- :core:model -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="55.45" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="57.16" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="55.45" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="57.16" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 851 B

After

Width:  |  Height:  |  Size: 776 B

@ -1,43 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="274pt" height="116pt" viewBox="0.00 0.00 273.97 116.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="268pt" height="116pt"
viewBox="0.00 0.00 267.62 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-112 263.62,-112 263.62,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-112 269.97,-112 269.97,4 -4,4"/>
<!-- :core:network -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="134.17" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="137.81" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="134.17" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="137.81" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:common -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="65.17" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="66.81" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="65.17" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="66.81" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="red" stroke-width="2" d="M117.82,-72.41C109.31,-63.78 98.75,-53.06 89.32,-43.5"/> <path fill="none" stroke="red" stroke-width="2" d="M120.99,-72.41C112.23,-63.78 101.36,-53.06 91.66,-43.5"/>
<polygon fill="red" stroke="red" stroke-width="2" points="93.04,-42.29 83.53,-37.63 88.06,-47.2 93.04,-42.29"/> <polygon fill="red" stroke="red" stroke-width="2" points="95.25,-42.12 85.67,-37.6 90.34,-47.11 95.25,-42.12"/>
</g> </g>
<!-- :core:model -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="204.17" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="208.81" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="204.17" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="208.81" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M150.76,-72.41C159.39,-63.78 170.11,-53.06 179.67,-43.5"/> <path fill="none" stroke="black" d="M154.64,-72.41C163.39,-63.78 174.27,-53.06 183.97,-43.5"/>
<polygon fill="black" stroke="black" points="182.03,-46.09 186.63,-36.54 177.08,-41.14 182.03,-46.09"/> <polygon fill="black" stroke="black" points="186.37,-46.05 191.03,-36.53 181.45,-41.06 186.37,-46.05"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -1,43 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="274pt" height="116pt" viewBox="0.00 0.00 273.97 116.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="268pt" height="116pt"
viewBox="0.00 0.00 267.62 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-112 263.62,-112 263.62,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-112 269.97,-112 269.97,4 -4,4"/>
<!-- :core:notifications -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="124.45" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="128.16" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="124.45" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="128.16" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:model -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="55.45" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="57.16" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="55.45" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="57.16" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M107.74,-72.05C99.23,-63.42 88.72,-52.76 79.37,-43.27"/> <path fill="none" stroke="red" stroke-width="2" d="M110.97,-72.05C102.21,-63.42 91.4,-52.76 81.77,-43.27"/>
<polygon fill="red" stroke="red" stroke-width="2" points="83.16,-42.13 73.64,-37.46 78.17,-47.04 83.16,-42.13"/> <polygon fill="red" stroke="red" stroke-width="2" points="85.43,-41.96 75.85,-37.43 80.52,-46.95 85.43,-41.96"/>
</g> </g>
<!-- :core:common -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="194.45" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="199.16" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="194.45" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="199.16" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M141.39,-72.05C149.9,-63.54 160.38,-53.07 169.76,-43.68"/> <path fill="none" stroke="black" d="M145.34,-72.05C153.98,-63.54 164.6,-53.07 174.12,-43.68"/>
<polygon fill="black" stroke="black" points="171.99,-46.41 176.59,-36.86 167.04,-41.46 171.99,-46.41"/> <polygon fill="black" stroke="black" points="176.39,-46.36 181.05,-36.85 171.47,-41.38 176.39,-46.36"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

@ -1,43 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="330pt" height="116pt" viewBox="0.00 0.00 329.87 116.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="320pt" height="116pt"
viewBox="0.00 0.00 320.23 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-112 316.23,-112 316.23,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-112 325.87,-112 325.87,4 -4,4"/>
<!-- :core:screenshot&#45;testing -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:screenshot&#45;testing</title> <title>:core:screenshot-testing</title>
<ellipse fill="none" stroke="black" cx="147.17" cy="-90" rx="98.44" ry="18"/> <ellipse fill="none" stroke="black" cx="151.81" cy="-90" rx="102.74" ry="18"/>
<text text-anchor="middle" x="147.17" y="-84.95" font-family="Times,serif" font-size="14.00">:core:screenshot&#45;testing</text> <text text-anchor="middle" x="151.81" y="-85.8" font-family="Times,serif" font-size="14.00">:core:screenshot-testing</text>
</g> </g>
<!-- :core:common -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="65.17" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="66.81" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="65.17" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="66.81" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:screenshot&#45;testing&#45;&gt;:core:common -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:screenshot&#45;testing&#45;&gt;:core:common</title> <title>:core:screenshot-testing-&gt;:core:common</title>
<path fill="none" stroke="red" stroke-width="2" d="M127.32,-72.05C117.07,-63.31 104.4,-52.49 93.17,-42.9"/> <path fill="none" stroke="red" stroke-width="2" d="M131.24,-72.05C120.51,-63.22 107.22,-52.27 95.49,-42.62"/>
<polygon fill="red" stroke="red" stroke-width="2" points="96.73,-41.34 86.86,-37.51 92.19,-46.67 96.73,-41.34"/> <polygon fill="red" stroke="red" stroke-width="2" points="99.19,-41.13 89.24,-37.47 94.74,-46.53 99.19,-41.13"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="230.17" cy="-18" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="236.81" cy="-18" rx="85.06" ry="18"/>
<text text-anchor="middle" x="230.17" y="-12.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="236.81" y="-13.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :core:screenshot&#45;testing&#45;&gt;:core:designsystem -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:screenshot&#45;testing&#45;&gt;:core:designsystem</title> <title>:core:screenshot-testing-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M167.26,-72.05C177.56,-63.37 190.28,-52.64 201.58,-43.11"/> <path fill="none" stroke="black" d="M172.39,-72.05C183.04,-63.28 196.22,-52.43 207.88,-42.83"/>
<polygon fill="black" stroke="black" points="203.72,-45.89 209.11,-36.76 199.21,-40.54 203.72,-45.89"/> <polygon fill="black" stroke="black" points="209.76,-45.81 215.26,-36.75 205.31,-40.41 209.76,-45.81"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -1,199 +1,163 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1056pt" height="260pt" viewBox="0.00 0.00 1055.83 260.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="1055pt" height="260pt"
viewBox="0.00 0.00 1054.70 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-256 1050.7,-256 1050.7,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-256 1051.83,-256 1051.83,4 -4,4"/>
<!-- :core:testing -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:testing</title> <title>:core:testing</title>
<ellipse fill="none" stroke="black" cx="650.64" cy="-234" rx="56.47" ry="18"/> <ellipse fill="none" stroke="black" cx="639.77" cy="-234" rx="58.77" ry="18"/>
<text text-anchor="middle" x="650.64" y="-228.95" font-family="Times,serif" font-size="14.00">:core:testing</text> <text text-anchor="middle" x="639.77" y="-229.8" font-family="Times,serif" font-size="14.00">:core:testing</text>
</g> </g>
<!-- :core:analytics -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="114.64" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="83.77" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="114.64" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="83.77" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:testing&#45;&gt;:core:analytics -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:testing&#45;&gt;:core:analytics</title> <title>:core:testing-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M608.13,-221.74C512.24,-196.33 279.05,-134.56 171.14,-105.97"/> <path fill="none" stroke="black" d="M595.68,-221.74C496.23,-196.34 254.43,-134.58 142.46,-105.99"/>
<polygon fill="black" stroke="black" points="172.19,-102.63 161.63,-103.45 170.4,-109.39 172.19,-102.63"/> <polygon fill="black" stroke="black" points="143.41,-102.62 132.86,-103.54 141.68,-109.4 143.41,-102.62"/>
</g> </g>
<!-- :core:data -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="552.64" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="538.77" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="552.64" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="538.77" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :core:testing&#45;&gt;:core:data -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:testing&#45;&gt;:core:data</title> <title>:core:testing-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M628.4,-217.12C615.06,-207.59 597.9,-195.33 583.29,-184.89"/> <path fill="none" stroke="red" stroke-width="2" d="M616.85,-217.12C603.1,-207.59 585.42,-195.33 570.35,-184.89"/>
<polygon fill="red" stroke="red" stroke-width="2" points="586.75,-183.06 576.58,-180.1 582.68,-188.76 586.75,-183.06"/> <polygon fill="red" stroke="red" stroke-width="2" points="573.6,-182.88 563.39,-180.06 569.62,-188.64 573.6,-182.88"/>
</g> </g>
<!-- :core:model -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="455.64" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="438.77" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="455.64" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="438.77" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:testing&#45;&gt;:core:model -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:testing&#45;&gt;:core:model</title> <title>:core:testing-&gt;:core:model</title>
<path fill="none" stroke="black" d="M594.71,-230.48C457.07,-222.97 108.18,-195.5 40.64,-108 -29.97,-16.52 -58.46,-118.33 391.64,-36 395.73,-35.25 399.93,-34.38 404.15,-33.43"/> <path fill="none" stroke="black" d="M581.6,-230.81C438.88,-224.05 77.96,-198.2 7.77,-108 -2.06,-95.37 -2.97,-83.86 7.77,-72 62.34,-11.76 291.71,-50.03 371.77,-36 376.36,-35.2 381.09,-34.24 385.83,-33.21"/>
<polygon fill="black" stroke="black" points="404.85,-36.86 413.76,-31.12 403.22,-30.05 404.85,-36.86"/> <polygon fill="black" stroke="black" points="386.38,-36.68 395.33,-31.01 384.8,-29.86 386.38,-36.68"/>
</g> </g>
<!-- :core:notifications -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="748.64" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="740.77" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="748.64" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="740.77" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:testing&#45;&gt;:core:notifications -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:testing&#45;&gt;:core:notifications</title> <title>:core:testing-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M662.27,-216.15C679.12,-191.73 710.5,-146.26 730.44,-117.38"/> <path fill="none" stroke="black" d="M651.75,-216.15C669.12,-191.73 701.46,-146.26 722.01,-117.38"/>
<polygon fill="black" stroke="black" points="733.06,-119.73 735.86,-109.51 727.3,-115.76 733.06,-119.73"/> <polygon fill="black" stroke="black" points="724.67,-119.68 727.61,-109.5 718.96,-115.62 724.67,-119.68"/>
</g> </g>
<!-- :core:common -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="642.64" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="631.77" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="642.64" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="631.77" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:testing&#45;&gt;:core:common -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:testing&#45;&gt;:core:common</title> <title>:core:testing-&gt;:core:common</title>
<path fill="none" stroke="black" d="M688.31,-220.23C755.69,-195.37 885.33,-137.18 835.64,-72 820.35,-51.94 760.32,-37.59 711.22,-28.92"/> <path fill="none" stroke="black" d="M679.13,-220.22C748.7,-195.57 881.51,-138.02 830.77,-72 814.92,-51.38 752.81,-37.08 702.14,-28.57"/>
<polygon fill="black" stroke="black" points="711.91,-25.49 701.47,-27.25 710.73,-32.39 711.91,-25.49"/> <polygon fill="black" stroke="black" points="702.79,-25.13 692.36,-26.99 701.67,-32.04 702.79,-25.13"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="964.64" cy="-162" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="962.77" cy="-162" rx="85.06" ry="18"/>
<text text-anchor="middle" x="964.64" y="-156.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="962.77" y="-157.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :core:testing&#45;&gt;:core:designsystem -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:testing&#45;&gt;:core:designsystem</title> <title>:core:testing-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M695.96,-222.9C748.81,-211.12 836.64,-191.53 897.43,-177.98"/> <path fill="none" stroke="black" d="M686.74,-222.82C741.21,-211.02 831.49,-191.45 893.89,-177.93"/>
<polygon fill="black" stroke="black" points="897.97,-181.45 906.97,-175.86 896.45,-174.62 897.97,-181.45"/> <polygon fill="black" stroke="black" points="894.31,-181.42 903.34,-175.88 892.82,-174.58 894.31,-181.42"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M507.77,-155.73C438.7,-147.33 302.32,-129.64 187.64,-108 182.84,-107.09 177.87,-106.09 172.89,-105.03"/> <path fill="none" stroke="black" d="M492.32,-155.67C420.83,-147.2 279.63,-129.42 160.77,-108 155.49,-107.05 150.02,-105.99 144.55,-104.88"/>
<polygon fill="black" stroke="black" points="174.03,-101.69 163.51,-102.97 172.53,-108.53 174.03,-101.69"/> <polygon fill="black" stroke="black" points="145.35,-101.47 134.84,-102.85 143.92,-108.32 145.35,-101.47"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M586.33,-148.97C616.79,-138.09 662.07,-121.92 697.07,-109.42"/> <path fill="none" stroke="black" d="M573.5,-148.97C604.88,-138.09 651.55,-121.92 687.62,-109.42"/>
<polygon fill="black" stroke="black" points="697.91,-112.83 706.15,-106.17 695.56,-106.24 697.91,-112.83"/> <polygon fill="black" stroke="black" points="688.72,-112.74 697.02,-106.16 686.43,-106.13 688.72,-112.74"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M580.17,-146.93C595.27,-137.83 613.02,-124.58 623.64,-108 635.18,-90 639.83,-66.15 641.65,-47.67"/> <path fill="none" stroke="black" d="M567.46,-147.19C583.19,-138.17 601.69,-124.92 612.77,-108 624.49,-90.11 629.12,-66.26 630.89,-47.75"/>
<polygon fill="black" stroke="black" points="645.12,-48.16 642.37,-37.93 638.14,-47.65 645.12,-48.16"/> <polygon fill="black" stroke="black" points="634.37,-48.21 631.58,-37.99 627.39,-47.71 634.37,-48.21"/>
</g> </g>
<!-- :core:database -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="260.64" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="235.77" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="260.64" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="235.77" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M513.26,-151.56C463.35,-139.59 376.88,-118.87 319.22,-105.04"/> <path fill="none" stroke="red" stroke-width="2" d="M497.91,-151.56C446.01,-139.57 356.02,-118.78 296.18,-104.96"/>
<polygon fill="red" stroke="red" stroke-width="2" points="321.57,-102.01 311.03,-103.08 319.94,-108.81 321.57,-102.01"/> <polygon fill="red" stroke="red" stroke-width="2" points="298.49,-101.9 287.95,-103.06 296.91,-108.72 298.49,-101.9"/>
</g> </g>
<!-- :core:datastore -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="407.64" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="387.77" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="407.64" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="387.77" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M524.34,-147.34C503.02,-137.04 473.45,-122.77 449.41,-111.16"/> <path fill="none" stroke="black" d="M509.3,-147.34C486.99,-137 456.02,-122.64 430.93,-111.01"/>
<polygon fill="black" stroke="black" points="451.03,-108.06 440.51,-106.87 447.99,-114.37 451.03,-108.06"/> <polygon fill="black" stroke="black" points="432.49,-107.88 421.95,-106.84 429.55,-114.23 432.49,-107.88"/>
</g> </g>
<!-- :core:network -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="552.64" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="538.77" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="552.64" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="538.77" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M552.64,-143.7C552.64,-136.41 552.64,-127.73 552.64,-119.54"/> <path fill="none" stroke="black" d="M538.77,-143.7C538.77,-136.41 538.77,-127.73 538.77,-119.54"/>
<polygon fill="black" stroke="black" points="556.14,-119.62 552.64,-109.62 549.14,-119.62 556.14,-119.62"/> <polygon fill="black" stroke="black" points="542.27,-119.62 538.77,-109.62 535.27,-119.62 542.27,-119.62"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M695.92,-76.4C643.47,-63.87 563.35,-44.73 510.25,-32.05"/> <path fill="none" stroke="black" d="M686.08,-76.32C631.97,-63.78 549.53,-44.67 494.92,-32.01"/>
<polygon fill="black" stroke="black" points="511.36,-28.71 500.82,-29.79 509.73,-35.52 511.36,-28.71"/> <polygon fill="black" stroke="black" points="495.71,-28.61 485.18,-29.76 494.13,-35.43 495.71,-28.61"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge20" class="edge"> <g id="edge20" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M723.79,-72.59C709.6,-63.22 691.62,-51.34 676.19,-41.16"/> <path fill="none" stroke="black" d="M715.21,-72.59C700.62,-63.22 682.13,-51.34 666.27,-41.16"/>
<polygon fill="black" stroke="black" points="678.51,-38.49 668.24,-35.9 674.65,-44.33 678.51,-38.49"/> <polygon fill="black" stroke="black" points="668.37,-38.34 658.06,-35.89 664.59,-44.23 668.37,-38.34"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M298.7,-75.34C330.21,-64.03 375.1,-47.91 408.81,-35.81"/> <path fill="none" stroke="red" stroke-width="2" d="M275.39,-75.34C308.44,-63.94 355.63,-47.67 390.8,-35.54"/>
<polygon fill="red" stroke="red" stroke-width="2" points="408.25,-39.73 416.48,-33.06 405.88,-33.14 408.25,-39.73"/> <polygon fill="red" stroke="red" stroke-width="2" points="390.13,-39.47 398.44,-32.91 387.85,-32.86 390.13,-39.47"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M419.26,-72.05C424.8,-63.97 431.56,-54.12 437.74,-45.11"/> <path fill="none" stroke="black" d="M400.12,-72.05C406.07,-63.89 413.33,-53.91 419.96,-44.82"/>
<polygon fill="black" stroke="black" points="440.5,-47.26 443.27,-37.04 434.73,-43.31 440.5,-47.26"/> <polygon fill="black" stroke="black" points="422.59,-47.16 425.65,-37.01 416.93,-43.03 422.59,-47.16"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M450.74,-76.16C489.55,-64.6 546.73,-47.57 588.59,-35.1"/> <path fill="none" stroke="black" d="M432.52,-76.16C473.02,-64.54 532.82,-47.39 576.33,-34.9"/>
<polygon fill="black" stroke="black" points="589.38,-38.52 597.96,-32.31 587.38,-31.81 589.38,-38.52"/> <polygon fill="black" stroke="black" points="577.2,-38.3 585.85,-32.18 575.27,-31.57 577.2,-38.3"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="294.64" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="271.77" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="294.64" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="271.77" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M382,-73.12C366.87,-63.74 347.47,-51.73 330.81,-41.4"/> <path fill="none" stroke="black" d="M361.45,-73.12C345.91,-63.74 326.01,-51.73 308.9,-41.4"/>
<polygon fill="black" stroke="black" points="332.99,-38.64 322.65,-36.35 329.3,-44.59 332.99,-38.64"/> <polygon fill="black" stroke="black" points="310.86,-38.5 300.49,-36.33 307.25,-44.5 310.86,-38.5"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M530.14,-72.76C517.32,-63.51 501.05,-51.77 486.99,-41.63"/> <path fill="none" stroke="black" d="M515.58,-72.76C502.23,-63.42 485.26,-51.55 470.68,-41.33"/>
<polygon fill="black" stroke="black" points="489.07,-38.81 478.91,-35.79 484.97,-44.48 489.07,-38.81"/> <polygon fill="black" stroke="black" points="472.93,-38.64 462.73,-35.77 468.92,-44.38 472.93,-38.64"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M573.52,-72.76C585.13,-63.73 599.79,-52.33 612.62,-42.35"/> <path fill="none" stroke="black" d="M560.34,-72.76C572.46,-63.64 587.79,-52.1 601.14,-42.06"/>
<polygon fill="black" stroke="black" points="614.63,-45.22 620.37,-36.32 610.33,-39.7 614.63,-45.22"/> <polygon fill="black" stroke="black" points="602.9,-45.11 608.79,-36.3 598.69,-39.52 602.9,-45.11"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 9.9 KiB

@ -1,55 +1,43 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="462pt" height="116pt" viewBox="0.00 0.00 462.50 116.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="449pt" height="116pt"
viewBox="0.00 0.00 449.10 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-112 445.1,-112 445.1,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-112 458.5,-112 458.5,4 -4,4"/>
<!-- :core:ui -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="229.66" cy="-90" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="237.34" cy="-90" rx="40.53" ry="18"/>
<text text-anchor="middle" x="229.66" y="-84.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="237.34" y="-85.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :core:analytics -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="64.66" cy="-18" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="67.34" cy="-18" rx="67.34" ry="18"/>
<text text-anchor="middle" x="64.66" y="-12.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="67.34" y="-13.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="red" stroke-width="2" d="M201.67,-77.13C176.45,-66.43 138.92,-50.51 109.52,-38.03"/> <path fill="none" stroke="red" stroke-width="2" d="M208.5,-77.13C182.4,-66.38 143.52,-50.37 113.16,-37.87"/>
<polygon fill="red" stroke="red" stroke-width="2" points="112.45,-35.47 101.88,-34.79 109.72,-41.92 112.45,-35.47"/> <polygon fill="red" stroke="red" stroke-width="2" points="116.2,-35.33 105.62,-34.76 113.53,-41.8 116.2,-35.33"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="229.66" cy="-18" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="237.34" cy="-18" rx="85.06" ry="18"/>
<text text-anchor="middle" x="229.66" y="-12.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="237.34" y="-13.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M229.66,-71.7C229.66,-64.41 229.66,-55.73 229.66,-47.54"/> <path fill="none" stroke="black" d="M237.34,-71.7C237.34,-64.41 237.34,-55.73 237.34,-47.54"/>
<polygon fill="black" stroke="black" points="233.16,-47.62 229.66,-37.62 226.16,-47.62 233.16,-47.62"/> <polygon fill="black" stroke="black" points="240.84,-47.62 237.34,-37.62 233.84,-47.62 240.84,-47.62"/>
</g> </g>
<!-- :core:model -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="385.66" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="397.34" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="385.66" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="397.34" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M256.83,-76.81C280.83,-66.04 316.19,-50.17 343.8,-37.78"/> <path fill="none" stroke="black" d="M265.58,-76.65C290.24,-65.86 326.4,-50.04 354.6,-37.7"/>
<polygon fill="black" stroke="black" points="344.89,-41.13 352.58,-33.84 342.02,-34.74 344.89,-41.13"/> <polygon fill="black" stroke="black" points="355.84,-40.98 363.6,-33.76 353.03,-34.57 355.84,-40.98"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

@ -1,205 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1064pt" height="260pt" viewBox="0.00 0.00 1063.53 260.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="1028pt" height="260pt"
viewBox="0.00 0.00 1027.75 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-256 1023.75,-256 1023.75,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-256 1059.53,-256 1059.53,4 -4,4"/>
<!-- :feature:bookmarks -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:feature:bookmarks</title> <title>:feature:bookmarks</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-234" rx="83.08" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-234" rx="86.12" ry="18"/>
<text text-anchor="middle" x="192.06" y="-228.95" font-family="Times,serif" font-size="14.00">:feature:bookmarks</text> <text text-anchor="middle" x="198.06" y="-229.8" font-family="Times,serif" font-size="14.00">:feature:bookmarks</text>
</g> </g>
<!-- :core:ui -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-162" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-162" rx="40.53" ry="18"/>
<text text-anchor="middle" x="192.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="198.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :feature:bookmarks&#45;&gt;:core:ui -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:feature:bookmarks&#45;&gt;:core:ui</title> <title>:feature:bookmarks-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M192.06,-215.7C192.06,-208.41 192.06,-199.73 192.06,-191.54"/> <path fill="none" stroke="black" d="M198.06,-215.7C198.06,-208.41 198.06,-199.73 198.06,-191.54"/>
<polygon fill="black" stroke="black" points="195.56,-191.62 192.06,-181.62 188.56,-191.62 195.56,-191.62"/> <polygon fill="black" stroke="black" points="201.56,-191.62 198.06,-181.62 194.56,-191.62 201.56,-191.62"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="82.06" cy="-90" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="85.06" cy="-90" rx="85.06" ry="18"/>
<text text-anchor="middle" x="82.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="85.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :feature:bookmarks&#45;&gt;:core:designsystem -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:feature:bookmarks&#45;&gt;:core:designsystem</title> <title>:feature:bookmarks-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M175.93,-216.3C166.33,-206.1 154.11,-192.63 144.06,-180 128.01,-159.83 111.39,-135.78 99.41,-117.77"/> <path fill="none" stroke="black" d="M180.75,-215.9C170.82,-205.78 158.32,-192.53 148.06,-180 131.56,-159.86 114.61,-135.67 102.45,-117.6"/>
<polygon fill="black" stroke="black" points="102.35,-115.88 93.93,-109.46 96.51,-119.73 102.35,-115.88"/> <polygon fill="black" stroke="black" points="105.52,-115.89 97.06,-109.51 99.69,-119.77 105.52,-115.89"/>
</g> </g>
<!-- :core:data -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="591.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="611.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :feature:bookmarks&#45;&gt;:core:data -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:feature:bookmarks&#45;&gt;:core:data</title> <title>:feature:bookmarks-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M255.28,-221.91C333.19,-208.24 464.2,-185.26 537.42,-172.41"/> <path fill="none" stroke="red" stroke-width="2" d="M263.5,-221.91C344.3,-208.21 480.31,-185.16 556,-172.33"/>
<polygon fill="red" stroke="red" stroke-width="2" points="536.43,-176.14 545.68,-170.96 535.22,-169.24 536.43,-176.14"/> <polygon fill="red" stroke="red" stroke-width="2" points="554.91,-176.07 564.18,-170.94 553.74,-169.17 554.91,-176.07"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M169.8,-146.83C154.65,-137.19 134.29,-124.24 117,-113.23"/> <path fill="none" stroke="black" d="M175.19,-146.83C159.63,-137.19 138.71,-124.24 120.95,-113.23"/>
<polygon fill="black" stroke="black" points="119.35,-110.58 109.04,-108.17 115.59,-116.49 119.35,-110.58"/> <polygon fill="black" stroke="black" points="123.09,-110.44 112.74,-108.15 119.4,-116.39 123.09,-110.44"/>
</g> </g>
<!-- :core:analytics -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="285.06" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="293.06" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="285.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="293.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M211.78,-146.15C224.2,-136.81 240.49,-124.54 254.56,-113.96"/> <path fill="none" stroke="black" d="M218.2,-146.15C230.89,-136.81 247.53,-124.54 261.9,-113.96"/>
<polygon fill="black" stroke="black" points="256.32,-117.01 262.21,-108.2 252.11,-111.42 256.32,-117.01"/> <polygon fill="black" stroke="black" points="263.76,-116.94 269.73,-108.19 259.6,-111.3 263.76,-116.94"/>
</g> </g>
<!-- :core:model -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="591.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="611.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M190.4,-143.81C189.47,-123.54 191.4,-90.3 211.06,-72 255.22,-30.9 427.13,-21.43 523.91,-19.4"/> <path fill="none" stroke="black" d="M196.38,-143.8C195.44,-123.51 197.35,-90.25 217.06,-72 263.07,-29.38 442.34,-20.56 542.46,-19.03"/>
<polygon fill="black" stroke="black" points="523.87,-22.9 533.81,-19.22 523.74,-15.9 523.87,-22.9"/> <polygon fill="black" stroke="black" points="542.2,-22.54 552.15,-18.91 542.11,-15.54 542.2,-22.54"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M551.05,-151.97C504.63,-141.47 425.78,-123.59 358.06,-108 353.57,-106.97 348.92,-105.89 344.24,-104.81"/> <path fill="none" stroke="black" d="M569.69,-151.91C521.68,-141.37 440.13,-123.44 370.06,-108 364.98,-106.88 359.71,-105.72 354.42,-104.55"/>
<polygon fill="black" stroke="black" points="345.36,-101.48 334.82,-102.62 343.78,-108.29 345.36,-101.48"/> <polygon fill="black" stroke="black" points="355.58,-101.23 345.07,-102.49 354.08,-108.06 355.58,-101.23"/>
</g> </g>
<!-- :core:common -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="755.06" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="781.06" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="755.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="781.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M636.86,-157.02C697,-150.74 797.62,-136.23 820.06,-108 830.02,-95.48 826.92,-86.45 820.06,-72 814.21,-59.69 803.96,-49.3 793.29,-41.07"/> <path fill="none" stroke="black" d="M658.9,-157.27C721.41,-151.3 825.69,-137.15 849.06,-108 859.07,-95.52 856.08,-86.38 849.06,-72 842.9,-59.39 832.13,-48.91 820.96,-40.69"/>
<polygon fill="black" stroke="black" points="795.33,-38.22 785.15,-35.27 791.27,-43.92 795.33,-38.22"/> <polygon fill="black" stroke="black" points="823.06,-37.88 812.82,-35.17 819.13,-43.68 823.06,-37.88"/>
</g> </g>
<!-- :core:database -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="431.06" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="445.06" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="431.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="445.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M560.97,-147.83C536.75,-137.24 502.38,-122.2 475.07,-110.26"/> <path fill="none" stroke="red" stroke-width="2" d="M579.83,-147.83C554.6,-137.19 518.74,-122.07 490.35,-110.1"/>
<polygon fill="red" stroke="red" stroke-width="2" points="477.95,-107.7 467.39,-106.89 475.15,-114.11 477.95,-107.7"/> <polygon fill="red" stroke="red" stroke-width="2" points="493.23,-107.52 482.66,-106.86 490.51,-113.97 493.23,-107.52"/>
</g> </g>
<!-- :core:datastore -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="932.06" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="964.06" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="932.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="964.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M632.39,-152.8C684.04,-142.52 775.15,-124.26 853.06,-108 858.9,-106.78 864.97,-105.5 871.05,-104.21"/> <path fill="none" stroke="black" d="M653.8,-152.8C707.23,-142.5 801.46,-124.24 882.06,-108 888.27,-106.75 894.74,-105.43 901.2,-104.11"/>
<polygon fill="black" stroke="black" points="871.4,-107.71 880.45,-102.2 869.94,-100.87 871.4,-107.71"/> <polygon fill="black" stroke="black" points="901.45,-107.63 910.54,-102.19 900.04,-100.77 901.45,-107.63"/>
</g> </g>
<!-- :core:network -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="749.06" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="775.06" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="749.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="775.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M621.15,-147.67C645.1,-137.06 678.94,-122.07 705.79,-110.17"/> <path fill="none" stroke="black" d="M642.29,-147.67C667.26,-137.01 702.58,-121.93 730.52,-110.01"/>
<polygon fill="black" stroke="black" points="706.97,-113.47 714.7,-106.22 704.14,-107.07 706.97,-113.47"/> <polygon fill="black" stroke="black" points="731.61,-113.35 739.43,-106.2 728.86,-106.91 731.61,-113.35"/>
</g> </g>
<!-- :core:notifications -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="591.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="611.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M591.06,-143.7C591.06,-136.41 591.06,-127.73 591.06,-119.54"/> <path fill="none" stroke="black" d="M611.06,-143.7C611.06,-136.41 611.06,-127.73 611.06,-119.54"/>
<polygon fill="black" stroke="black" points="594.56,-119.62 591.06,-109.62 587.56,-119.62 594.56,-119.62"/> <polygon fill="black" stroke="black" points="614.56,-119.62 611.06,-109.62 607.56,-119.62 614.56,-119.62"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M464.6,-74.33C489,-63.65 522.23,-49.11 548.51,-37.62"/> <path fill="none" stroke="red" stroke-width="2" d="M479.86,-74.33C505.29,-63.6 539.96,-48.98 567.27,-37.46"/>
<polygon fill="red" stroke="red" stroke-width="2" points="548.4,-41.49 556.15,-34.27 545.59,-35.07 548.4,-41.49"/> <polygon fill="red" stroke="red" stroke-width="2" points="567.08,-41.34 574.93,-34.23 564.36,-34.89 567.08,-41.34"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M881.01,-78.52C818.61,-65.71 713.32,-44.1 648.25,-30.74"/> <path fill="none" stroke="black" d="M910.83,-78.44C846.01,-65.59 736.89,-43.95 669.71,-30.63"/>
<polygon fill="black" stroke="black" points="648.97,-27.31 638.47,-28.73 647.56,-34.17 648.97,-27.31"/> <polygon fill="black" stroke="black" points="670.46,-27.21 659.97,-28.7 669.1,-34.08 670.46,-27.21"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M895.81,-74.67C868.61,-63.91 831.14,-49.09 801.71,-37.45"/> <path fill="none" stroke="black" d="M926.58,-74.67C898.33,-63.86 859.38,-48.96 828.88,-37.29"/>
<polygon fill="black" stroke="black" points="803.25,-34.29 792.66,-33.87 800.68,-40.8 803.25,-34.29"/> <polygon fill="black" stroke="black" points="830.49,-34.16 819.9,-33.86 827.98,-40.7 830.49,-34.16"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node12" class="node"> <g id="node12" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="932.06" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="964.06" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="932.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="964.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M932.06,-71.7C932.06,-64.41 932.06,-55.73 932.06,-47.54"/> <path fill="none" stroke="black" d="M964.06,-71.7C964.06,-64.41 964.06,-55.73 964.06,-47.54"/>
<polygon fill="black" stroke="black" points="935.56,-47.62 932.06,-37.62 928.56,-47.62 935.56,-47.62"/> <polygon fill="black" stroke="black" points="967.56,-47.62 964.06,-37.62 960.56,-47.62 967.56,-47.62"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M715.94,-74.33C691.84,-63.65 659.03,-49.11 633.08,-37.62"/> <path fill="none" stroke="black" d="M740.68,-74.33C715.55,-63.6 681.3,-48.98 654.32,-37.46"/>
<polygon fill="black" stroke="black" points="634.74,-34.52 624.17,-33.67 631.9,-40.92 634.74,-34.52"/> <polygon fill="black" stroke="black" points="655.96,-34.36 645.39,-33.65 653.21,-40.8 655.96,-34.36"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M750.54,-71.7C751.17,-64.41 751.91,-55.73 752.61,-47.54"/> <path fill="none" stroke="black" d="M776.54,-71.7C777.17,-64.41 777.91,-55.73 778.61,-47.54"/>
<polygon fill="black" stroke="black" points="756.1,-47.87 753.46,-37.61 749.12,-47.28 756.1,-47.87"/> <polygon fill="black" stroke="black" points="782.1,-47.87 779.46,-37.61 775.12,-47.28 782.1,-47.87"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M591.06,-71.7C591.06,-64.41 591.06,-55.73 591.06,-47.54"/> <path fill="none" stroke="black" d="M611.06,-71.7C611.06,-64.41 611.06,-55.73 611.06,-47.54"/>
<polygon fill="black" stroke="black" points="594.56,-47.62 591.06,-37.62 587.56,-47.62 594.56,-47.62"/> <polygon fill="black" stroke="black" points="614.56,-47.62 611.06,-37.62 607.56,-47.62 614.56,-47.62"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge20" class="edge"> <g id="edge20" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M627.05,-73.64C651.5,-63.2 684.01,-49.33 710.15,-38.17"/> <path fill="none" stroke="black" d="M648.36,-73.64C673.9,-63.12 707.94,-49.11 735.14,-37.91"/>
<polygon fill="black" stroke="black" points="711.34,-41.47 719.17,-34.32 708.59,-35.03 711.34,-41.47"/> <polygon fill="black" stroke="black" points="736.27,-41.23 744.18,-34.18 733.6,-34.76 736.27,-41.23"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

@ -1,229 +1,188 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1108pt" height="332pt" viewBox="0.00 0.00 1107.53 332.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="1073pt" height="332pt"
viewBox="0.00 0.00 1072.75 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-328 1068.75,-328 1068.75,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-328 1103.53,-328 1103.53,4 -4,4"/>
<!-- :feature:foryou -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:feature:foryou</title> <title>:feature:foryou</title>
<ellipse fill="none" stroke="black" cx="250.06" cy="-306" rx="66.19" ry="18"/> <ellipse fill="none" stroke="black" cx="258.06" cy="-306" rx="68.95" ry="18"/>
<text text-anchor="middle" x="250.06" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:foryou</text> <text text-anchor="middle" x="258.06" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:foryou</text>
</g> </g>
<!-- :core:ui -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-234" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-234" rx="40.53" ry="18"/>
<text text-anchor="middle" x="192.06" y="-228.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="198.06" y="-229.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :feature:foryou&#45;&gt;:core:ui -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:feature:foryou&#45;&gt;:core:ui</title> <title>:feature:foryou-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M236.02,-288.05C229.08,-279.68 220.57,-269.4 212.89,-260.13"/> <path fill="none" stroke="black" d="M243.53,-288.05C236.28,-279.59 227.36,-269.19 219.35,-259.84"/>
<polygon fill="black" stroke="black" points="215.61,-257.94 206.54,-252.47 210.22,-262.41 215.61,-257.94"/> <polygon fill="black" stroke="black" points="222.19,-257.77 213.02,-252.46 216.87,-262.33 222.19,-257.77"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="82.06" cy="-162" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="85.06" cy="-162" rx="85.06" ry="18"/>
<text text-anchor="middle" x="82.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="85.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :feature:foryou&#45;&gt;:core:designsystem -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:feature:foryou&#45;&gt;:core:designsystem</title> <title>:feature:foryou-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M211.24,-291.1C189.86,-282.17 163.75,-269.02 144.06,-252 123.99,-234.64 107.23,-209.43 96.22,-190.27"/> <path fill="none" stroke="black" d="M217.28,-291.11C195.21,-282.25 168.37,-269.18 148.06,-252 127.69,-234.78 110.66,-209.55 99.46,-190.35"/>
<polygon fill="black" stroke="black" points="99.35,-188.7 91.44,-181.66 93.23,-192.1 99.35,-188.7"/> <polygon fill="black" stroke="black" points="102.55,-188.71 94.6,-181.71 96.45,-192.14 102.55,-188.71"/>
</g> </g>
<!-- :core:data -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="568.06" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="585.06" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="568.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="585.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :feature:foryou&#45;&gt;:core:data -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:feature:foryou&#45;&gt;:core:data</title> <title>:feature:foryou-&gt;:core:data</title>
<path fill="none" stroke="black" d="M286.11,-290.58C311.86,-280.16 347.25,-265.59 378.06,-252 430.92,-228.69 491.2,-200.11 529.43,-181.73"/> <path fill="none" stroke="black" d="M295.52,-290.49C322.04,-280.09 358.39,-265.57 390.06,-252 444.42,-228.7 506.44,-200.03 545.66,-181.63"/>
<polygon fill="black" stroke="black" points="530.74,-184.98 538.23,-177.48 527.71,-178.67 530.74,-184.98"/> <polygon fill="black" stroke="black" points="546.91,-184.91 554.47,-177.49 543.94,-178.57 546.91,-184.91"/>
</g> </g>
<!-- :core:domain -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:domain</title> <title>:core:domain</title>
<ellipse fill="none" stroke="black" cx="309.06" cy="-234" rx="60.05" ry="18"/> <ellipse fill="none" stroke="black" cx="319.06" cy="-234" rx="61.99" ry="18"/>
<text text-anchor="middle" x="309.06" y="-228.95" font-family="Times,serif" font-size="14.00">:core:domain</text> <text text-anchor="middle" x="319.06" y="-229.8" font-family="Times,serif" font-size="14.00">:core:domain</text>
</g> </g>
<!-- :feature:foryou&#45;&gt;:core:domain -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:feature:foryou&#45;&gt;:core:domain</title> <title>:feature:foryou-&gt;:core:domain</title>
<path fill="none" stroke="red" stroke-width="2" d="M264.34,-288.05C271.3,-279.8 279.81,-269.7 287.54,-260.54"/> <path fill="none" stroke="red" stroke-width="2" d="M272.82,-288.05C280.09,-279.71 289,-269.49 297.05,-260.25"/>
<polygon fill="red" stroke="red" stroke-width="2" points="289.19,-264.01 292.96,-254.1 283.84,-259.49 289.19,-264.01"/> <polygon fill="red" stroke="red" stroke-width="2" points="298.51,-263.91 302.44,-254.07 293.23,-259.31 298.51,-263.91"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M169.8,-218.83C154.65,-209.19 134.29,-196.24 117,-185.23"/> <path fill="none" stroke="black" d="M175.19,-218.83C159.63,-209.19 138.71,-196.24 120.95,-185.23"/>
<polygon fill="black" stroke="black" points="119.35,-182.58 109.04,-180.17 115.59,-188.49 119.35,-182.58"/> <polygon fill="black" stroke="black" points="123.09,-182.44 112.74,-180.15 119.4,-188.39 123.09,-182.44"/>
</g> </g>
<!-- :core:analytics -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="342.06" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="350.06" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="342.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="350.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M208.69,-217.26C234.76,-192.58 285.48,-144.57 316.3,-115.38"/> <path fill="none" stroke="black" d="M214.9,-217.26C241.33,-192.58 292.72,-144.57 323.96,-115.38"/>
<polygon fill="black" stroke="black" points="318.48,-118.14 323.33,-108.73 313.67,-113.06 318.48,-118.14"/> <polygon fill="black" stroke="black" points="326.17,-118.1 331.09,-108.72 321.39,-112.99 326.17,-118.1"/>
</g> </g>
<!-- :core:model -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="568.06" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="585.06" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="568.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="585.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M192.94,-215.73C195.65,-182.32 206.61,-108.88 251.06,-72 288.33,-41.08 420.81,-27.72 502.24,-22.33"/> <path fill="none" stroke="black" d="M198.92,-215.71C201.6,-182.26 212.51,-108.76 257.06,-72 295.71,-40.1 433.01,-27.09 517.23,-22.02"/>
<polygon fill="black" stroke="black" points="502.11,-25.84 511.87,-21.71 501.66,-18.86 502.11,-25.84"/> <polygon fill="black" stroke="black" points="517.2,-25.53 526.98,-21.46 516.79,-18.54 517.2,-25.53"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M532.25,-149.91C495.35,-138.48 437.4,-120.53 395.16,-107.45"/> <path fill="none" stroke="black" d="M547.82,-149.91C509.28,-138.43 448.68,-120.38 404.71,-107.28"/>
<polygon fill="black" stroke="black" points="396.27,-104.13 385.69,-104.51 394.2,-110.81 396.27,-104.13"/> <polygon fill="black" stroke="black" points="405.95,-104 395.37,-104.5 403.95,-110.71 405.95,-104"/>
</g> </g>
<!-- :core:common -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="806.06" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="832.06" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="806.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="832.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M614.84,-159.04C725.87,-153.9 998.07,-138.31 1025.06,-108 1035.7,-96.05 1034.95,-84.57 1025.06,-72 1023.79,-70.39 929.84,-48.06 865.42,-32.9"/> <path fill="none" stroke="black" d="M633.67,-159.18C749.06,-154.36 1031.95,-139.42 1060.06,-108 1070.73,-96.08 1070.01,-84.53 1060.06,-72 1058.73,-70.32 960.24,-47.86 893.16,-32.72"/>
<polygon fill="black" stroke="black" points="866.57,-29.58 856.03,-30.7 864.97,-36.39 866.57,-29.58"/> <polygon fill="black" stroke="black" points="894.27,-29.39 883.74,-30.6 892.73,-36.22 894.27,-29.39"/>
</g> </g>
<!-- :core:database -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="488.06" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="502.06" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="488.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="502.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M549.91,-145.12C539.69,-136.18 526.74,-124.85 515.33,-114.86"/> <path fill="none" stroke="red" stroke-width="2" d="M566.22,-145.12C555.63,-136.18 542.19,-124.85 530.35,-114.86"/>
<polygon fill="red" stroke="red" stroke-width="2" points="519.08,-113.5 509.25,-109.54 514.48,-118.76 519.08,-113.5"/> <polygon fill="red" stroke="red" stroke-width="2" points="533.9,-113.27 524,-109.5 529.38,-118.63 533.9,-113.27"/>
</g> </g>
<!-- :core:datastore -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="951.06" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="983.06" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="951.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="983.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M611.44,-154.34C671.36,-144.97 782.73,-126.91 877.06,-108 881.92,-107.03 886.94,-105.97 891.98,-104.88"/> <path fill="none" stroke="black" d="M630.12,-154.34C692.34,-144.97 808.03,-126.9 906.06,-108 911.25,-107 916.62,-105.91 922,-104.79"/>
<polygon fill="black" stroke="black" points="892.49,-108.35 901.5,-102.78 890.98,-101.52 892.49,-108.35"/> <polygon fill="black" stroke="black" points="922.48,-108.27 931.54,-102.77 921.03,-101.42 922.48,-108.27"/>
</g> </g>
<!-- :core:network -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="806.06" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="832.06" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="806.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="832.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M604.73,-150.22C644.27,-138.58 707.62,-119.95 752.69,-106.7"/> <path fill="none" stroke="black" d="M623.11,-150.22C664.33,-138.53 730.45,-119.8 777.26,-106.53"/>
<polygon fill="black" stroke="black" points="753.67,-110.06 762.27,-103.88 751.69,-103.34 753.67,-110.06"/> <polygon fill="black" stroke="black" points="778,-109.96 786.67,-103.86 776.09,-103.22 778,-109.96"/>
</g> </g>
<!-- :core:notifications -->
<g id="node12" class="node"> <g id="node12" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="648.06" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="668.06" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="648.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="668.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M586.21,-145.12C596.25,-136.33 608.94,-125.23 620.21,-115.37"/> <path fill="none" stroke="black" d="M603.89,-145.12C614.41,-136.24 627.73,-125.01 639.51,-115.08"/>
<polygon fill="black" stroke="black" points="622.5,-118.01 627.72,-108.79 617.89,-112.75 622.5,-118.01"/> <polygon fill="black" stroke="black" points="641.6,-117.9 646.98,-108.77 637.08,-112.54 641.6,-117.9"/>
</g> </g>
<!-- :core:domain&#45;&gt;:core:data -->
<g id="edge22" class="edge"> <g id="edge22" class="edge">
<title>:core:domain&#45;&gt;:core:data</title> <title>:core:domain-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M352.7,-221.2C398.75,-208.76 471.15,-189.19 519.11,-176.23"/> <path fill="none" stroke="red" stroke-width="2" d="M363.88,-221.2C411.27,-208.73 485.84,-189.11 535.1,-176.15"/>
<polygon fill="red" stroke="red" stroke-width="2" points="518.48,-180.02 527.22,-174.04 516.66,-173.27 518.48,-180.02"/> <polygon fill="red" stroke="red" stroke-width="2" points="534.41,-179.95 543.19,-174.02 532.63,-173.18 534.41,-179.95"/>
</g> </g>
<!-- :core:domain&#45;&gt;:core:model -->
<g id="edge23" class="edge"> <g id="edge23" class="edge">
<title>:core:domain&#45;&gt;:core:model</title> <title>:core:domain-&gt;:core:model</title>
<path fill="none" stroke="black" d="M296.33,-216.3C273.75,-184.5 232.28,-114.65 268.06,-72 297.26,-37.19 422.38,-25.23 501.52,-21.13"/> <path fill="none" stroke="black" d="M305.66,-216.32C281.85,-184.58 237.93,-114.81 274.06,-72 304.43,-36.01 434.35,-24.46 516.36,-20.75"/>
<polygon fill="black" stroke="black" points="501.52,-24.64 511.34,-20.66 501.18,-17.64 501.52,-24.64"/> <polygon fill="black" stroke="black" points="516.49,-24.25 526.33,-20.33 516.19,-17.25 516.49,-24.25"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M507.02,-72.41C517.15,-63.54 529.81,-52.47 540.96,-42.71"/> <path fill="none" stroke="red" stroke-width="2" d="M521.73,-72.41C532.35,-63.45 545.63,-52.25 557.29,-42.42"/>
<polygon fill="red" stroke="red" stroke-width="2" points="542.01,-46.44 547.23,-37.22 537.4,-41.17 542.01,-46.44"/> <polygon fill="red" stroke="red" stroke-width="2" points="558.11,-46.3 563.5,-37.18 553.6,-40.95 558.11,-46.3"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M902.98,-77.54C894.37,-75.61 885.46,-73.68 877.06,-72 791.15,-54.78 691.1,-38.26 628.66,-28.37"/> <path fill="none" stroke="black" d="M933.02,-77.54C924.06,-75.61 914.79,-73.68 906.06,-72 816.46,-54.73 712.11,-38.15 647.31,-28.27"/>
<polygon fill="black" stroke="black" points="629.37,-24.94 618.95,-26.83 628.28,-31.85 629.37,-24.94"/> <polygon fill="black" stroke="black" points="647.99,-24.83 637.57,-26.79 646.94,-31.75 647.99,-24.83"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M919.6,-73.81C898.51,-63.63 870.51,-50.11 847.59,-39.05"/> <path fill="none" stroke="black" d="M950.29,-73.81C928.23,-63.58 898.91,-49.99 874.98,-38.9"/>
<polygon fill="black" stroke="black" points="849.35,-36.01 838.82,-34.82 846.31,-42.32 849.35,-36.01"/> <polygon fill="black" stroke="black" points="876.68,-35.83 866.13,-34.8 873.73,-42.18 876.68,-35.83"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node13" class="node"> <g id="node13" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="977.06" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="1008.06" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="977.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="1008.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M957.49,-71.7C960.29,-64.15 963.64,-55.12 966.78,-46.68"/> <path fill="none" stroke="black" d="M989.24,-71.7C991.93,-64.15 995.16,-55.12 998.17,-46.68"/>
<polygon fill="black" stroke="black" points="969.98,-48.12 970.18,-37.52 963.42,-45.68 969.98,-48.12"/> <polygon fill="black" stroke="black" points="1001.37,-48.12 1001.44,-37.53 994.78,-45.77 1001.37,-48.12"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M763.51,-76.49C723.04,-64.58 662.12,-46.67 619.07,-34"/> <path fill="none" stroke="black" d="M787.9,-76.49C745.68,-64.52 682.02,-46.48 637.31,-33.81"/>
<polygon fill="black" stroke="black" points="620.29,-30.71 609.71,-31.25 618.32,-37.43 620.29,-30.71"/> <polygon fill="black" stroke="black" points="638.4,-30.48 627.83,-31.12 636.49,-37.21 638.4,-30.48"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M806.06,-71.7C806.06,-64.41 806.06,-55.73 806.06,-47.54"/> <path fill="none" stroke="black" d="M832.06,-71.7C832.06,-64.41 832.06,-55.73 832.06,-47.54"/>
<polygon fill="black" stroke="black" points="809.56,-47.62 806.06,-37.62 802.56,-47.62 809.56,-47.62"/> <polygon fill="black" stroke="black" points="835.56,-47.62 832.06,-37.62 828.56,-47.62 835.56,-47.62"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge20" class="edge"> <g id="edge20" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M629.1,-72.41C618.97,-63.54 606.31,-52.47 595.15,-42.71"/> <path fill="none" stroke="black" d="M648.39,-72.41C637.77,-63.45 624.48,-52.25 612.83,-42.42"/>
<polygon fill="black" stroke="black" points="597.58,-40.18 587.75,-36.23 592.97,-45.44 597.58,-40.18"/> <polygon fill="black" stroke="black" points="615.36,-39.98 605.46,-36.2 610.84,-45.33 615.36,-39.98"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge21" class="edge"> <g id="edge21" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M683.13,-73.46C706.43,-63.14 737.22,-49.5 762.16,-38.45"/> <path fill="none" stroke="black" d="M704.45,-73.46C728.84,-63.06 761.11,-49.28 787.1,-38.19"/>
<polygon fill="black" stroke="black" points="763.34,-41.76 771.06,-34.51 760.5,-35.36 763.34,-41.76"/> <polygon fill="black" stroke="black" points="788.23,-41.51 796.05,-34.37 785.48,-35.07 788.23,-41.51"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@ -1,229 +1,188 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1108pt" height="332pt" viewBox="0.00 0.00 1107.53 332.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="1073pt" height="332pt"
viewBox="0.00 0.00 1072.75 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-328 1068.75,-328 1068.75,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-328 1103.53,-328 1103.53,4 -4,4"/>
<!-- :feature:interests -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:feature:interests</title> <title>:feature:interests</title>
<ellipse fill="none" stroke="black" cx="250.06" cy="-306" rx="72.34" ry="18"/> <ellipse fill="none" stroke="black" cx="258.06" cy="-306" rx="75.39" ry="18"/>
<text text-anchor="middle" x="250.06" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:interests</text> <text text-anchor="middle" x="258.06" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:interests</text>
</g> </g>
<!-- :core:ui -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-234" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-234" rx="40.53" ry="18"/>
<text text-anchor="middle" x="192.06" y="-228.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="198.06" y="-229.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :feature:interests&#45;&gt;:core:ui -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:feature:interests&#45;&gt;:core:ui</title> <title>:feature:interests-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M236.02,-288.05C229.08,-279.68 220.57,-269.4 212.89,-260.13"/> <path fill="none" stroke="black" d="M243.53,-288.05C236.28,-279.59 227.36,-269.19 219.35,-259.84"/>
<polygon fill="black" stroke="black" points="215.61,-257.94 206.54,-252.47 210.22,-262.41 215.61,-257.94"/> <polygon fill="black" stroke="black" points="222.19,-257.77 213.02,-252.46 216.87,-262.33 222.19,-257.77"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="82.06" cy="-162" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="85.06" cy="-162" rx="85.06" ry="18"/>
<text text-anchor="middle" x="82.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="85.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :feature:interests&#45;&gt;:core:designsystem -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:feature:interests&#45;&gt;:core:designsystem</title> <title>:feature:interests-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M209.97,-290.57C188.83,-281.64 163.36,-268.69 144.06,-252 123.99,-234.64 107.23,-209.43 96.22,-190.27"/> <path fill="none" stroke="black" d="M216.22,-290.69C194.35,-281.83 168.05,-268.9 148.06,-252 127.69,-234.78 110.66,-209.55 99.46,-190.35"/>
<polygon fill="black" stroke="black" points="99.35,-188.7 91.44,-181.66 93.23,-192.1 99.35,-188.7"/> <polygon fill="black" stroke="black" points="102.55,-188.71 94.6,-181.71 96.45,-192.14 102.55,-188.71"/>
</g> </g>
<!-- :core:data -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="568.06" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="585.06" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="568.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="585.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :feature:interests&#45;&gt;:core:data -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:feature:interests&#45;&gt;:core:data</title> <title>:feature:interests-&gt;:core:data</title>
<path fill="none" stroke="black" d="M287.22,-290.14C312.87,-279.75 347.69,-265.39 378.06,-252 430.92,-228.69 491.2,-200.11 529.43,-181.73"/> <path fill="none" stroke="black" d="M296.37,-290.16C322.82,-279.78 358.74,-265.43 390.06,-252 444.42,-228.7 506.44,-200.03 545.66,-181.63"/>
<polygon fill="black" stroke="black" points="530.74,-184.98 538.23,-177.48 527.71,-178.67 530.74,-184.98"/> <polygon fill="black" stroke="black" points="546.91,-184.91 554.47,-177.49 543.94,-178.57 546.91,-184.91"/>
</g> </g>
<!-- :core:domain -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:domain</title> <title>:core:domain</title>
<ellipse fill="none" stroke="black" cx="309.06" cy="-234" rx="60.05" ry="18"/> <ellipse fill="none" stroke="black" cx="319.06" cy="-234" rx="61.99" ry="18"/>
<text text-anchor="middle" x="309.06" y="-228.95" font-family="Times,serif" font-size="14.00">:core:domain</text> <text text-anchor="middle" x="319.06" y="-229.8" font-family="Times,serif" font-size="14.00">:core:domain</text>
</g> </g>
<!-- :feature:interests&#45;&gt;:core:domain -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:feature:interests&#45;&gt;:core:domain</title> <title>:feature:interests-&gt;:core:domain</title>
<path fill="none" stroke="red" stroke-width="2" d="M264.34,-288.05C271.3,-279.8 279.81,-269.7 287.54,-260.54"/> <path fill="none" stroke="red" stroke-width="2" d="M272.82,-288.05C280.09,-279.71 289,-269.49 297.05,-260.25"/>
<polygon fill="red" stroke="red" stroke-width="2" points="289.19,-264.01 292.96,-254.1 283.84,-259.49 289.19,-264.01"/> <polygon fill="red" stroke="red" stroke-width="2" points="298.51,-263.91 302.44,-254.07 293.23,-259.31 298.51,-263.91"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M169.8,-218.83C154.65,-209.19 134.29,-196.24 117,-185.23"/> <path fill="none" stroke="black" d="M175.19,-218.83C159.63,-209.19 138.71,-196.24 120.95,-185.23"/>
<polygon fill="black" stroke="black" points="119.35,-182.58 109.04,-180.17 115.59,-188.49 119.35,-182.58"/> <polygon fill="black" stroke="black" points="123.09,-182.44 112.74,-180.15 119.4,-188.39 123.09,-182.44"/>
</g> </g>
<!-- :core:analytics -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="342.06" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="350.06" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="342.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="350.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M208.69,-217.26C234.76,-192.58 285.48,-144.57 316.3,-115.38"/> <path fill="none" stroke="black" d="M214.9,-217.26C241.33,-192.58 292.72,-144.57 323.96,-115.38"/>
<polygon fill="black" stroke="black" points="318.48,-118.14 323.33,-108.73 313.67,-113.06 318.48,-118.14"/> <polygon fill="black" stroke="black" points="326.17,-118.1 331.09,-108.72 321.39,-112.99 326.17,-118.1"/>
</g> </g>
<!-- :core:model -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="568.06" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="585.06" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="568.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="585.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M192.94,-215.73C195.65,-182.32 206.61,-108.88 251.06,-72 288.33,-41.08 420.81,-27.72 502.24,-22.33"/> <path fill="none" stroke="black" d="M198.92,-215.71C201.6,-182.26 212.51,-108.76 257.06,-72 295.71,-40.1 433.01,-27.09 517.23,-22.02"/>
<polygon fill="black" stroke="black" points="502.11,-25.84 511.87,-21.71 501.66,-18.86 502.11,-25.84"/> <polygon fill="black" stroke="black" points="517.2,-25.53 526.98,-21.46 516.79,-18.54 517.2,-25.53"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M532.25,-149.91C495.35,-138.48 437.4,-120.53 395.16,-107.45"/> <path fill="none" stroke="black" d="M547.82,-149.91C509.28,-138.43 448.68,-120.38 404.71,-107.28"/>
<polygon fill="black" stroke="black" points="396.27,-104.13 385.69,-104.51 394.2,-110.81 396.27,-104.13"/> <polygon fill="black" stroke="black" points="405.95,-104 395.37,-104.5 403.95,-110.71 405.95,-104"/>
</g> </g>
<!-- :core:common -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="806.06" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="832.06" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="806.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="832.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M614.84,-159.04C725.87,-153.9 998.07,-138.31 1025.06,-108 1035.7,-96.05 1034.95,-84.57 1025.06,-72 1023.79,-70.39 929.84,-48.06 865.42,-32.9"/> <path fill="none" stroke="black" d="M633.67,-159.18C749.06,-154.36 1031.95,-139.42 1060.06,-108 1070.73,-96.08 1070.01,-84.53 1060.06,-72 1058.73,-70.32 960.24,-47.86 893.16,-32.72"/>
<polygon fill="black" stroke="black" points="866.57,-29.58 856.03,-30.7 864.97,-36.39 866.57,-29.58"/> <polygon fill="black" stroke="black" points="894.27,-29.39 883.74,-30.6 892.73,-36.22 894.27,-29.39"/>
</g> </g>
<!-- :core:database -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="488.06" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="502.06" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="488.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="502.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M549.91,-145.12C539.69,-136.18 526.74,-124.85 515.33,-114.86"/> <path fill="none" stroke="red" stroke-width="2" d="M566.22,-145.12C555.63,-136.18 542.19,-124.85 530.35,-114.86"/>
<polygon fill="red" stroke="red" stroke-width="2" points="519.08,-113.5 509.25,-109.54 514.48,-118.76 519.08,-113.5"/> <polygon fill="red" stroke="red" stroke-width="2" points="533.9,-113.27 524,-109.5 529.38,-118.63 533.9,-113.27"/>
</g> </g>
<!-- :core:datastore -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="951.06" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="983.06" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="951.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="983.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M611.44,-154.34C671.36,-144.97 782.73,-126.91 877.06,-108 881.92,-107.03 886.94,-105.97 891.98,-104.88"/> <path fill="none" stroke="black" d="M630.12,-154.34C692.34,-144.97 808.03,-126.9 906.06,-108 911.25,-107 916.62,-105.91 922,-104.79"/>
<polygon fill="black" stroke="black" points="892.49,-108.35 901.5,-102.78 890.98,-101.52 892.49,-108.35"/> <polygon fill="black" stroke="black" points="922.48,-108.27 931.54,-102.77 921.03,-101.42 922.48,-108.27"/>
</g> </g>
<!-- :core:network -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="806.06" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="832.06" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="806.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="832.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M604.73,-150.22C644.27,-138.58 707.62,-119.95 752.69,-106.7"/> <path fill="none" stroke="black" d="M623.11,-150.22C664.33,-138.53 730.45,-119.8 777.26,-106.53"/>
<polygon fill="black" stroke="black" points="753.67,-110.06 762.27,-103.88 751.69,-103.34 753.67,-110.06"/> <polygon fill="black" stroke="black" points="778,-109.96 786.67,-103.86 776.09,-103.22 778,-109.96"/>
</g> </g>
<!-- :core:notifications -->
<g id="node12" class="node"> <g id="node12" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="648.06" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="668.06" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="648.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="668.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M586.21,-145.12C596.25,-136.33 608.94,-125.23 620.21,-115.37"/> <path fill="none" stroke="black" d="M603.89,-145.12C614.41,-136.24 627.73,-125.01 639.51,-115.08"/>
<polygon fill="black" stroke="black" points="622.5,-118.01 627.72,-108.79 617.89,-112.75 622.5,-118.01"/> <polygon fill="black" stroke="black" points="641.6,-117.9 646.98,-108.77 637.08,-112.54 641.6,-117.9"/>
</g> </g>
<!-- :core:domain&#45;&gt;:core:data -->
<g id="edge22" class="edge"> <g id="edge22" class="edge">
<title>:core:domain&#45;&gt;:core:data</title> <title>:core:domain-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M352.7,-221.2C398.75,-208.76 471.15,-189.19 519.11,-176.23"/> <path fill="none" stroke="red" stroke-width="2" d="M363.88,-221.2C411.27,-208.73 485.84,-189.11 535.1,-176.15"/>
<polygon fill="red" stroke="red" stroke-width="2" points="518.48,-180.02 527.22,-174.04 516.66,-173.27 518.48,-180.02"/> <polygon fill="red" stroke="red" stroke-width="2" points="534.41,-179.95 543.19,-174.02 532.63,-173.18 534.41,-179.95"/>
</g> </g>
<!-- :core:domain&#45;&gt;:core:model -->
<g id="edge23" class="edge"> <g id="edge23" class="edge">
<title>:core:domain&#45;&gt;:core:model</title> <title>:core:domain-&gt;:core:model</title>
<path fill="none" stroke="black" d="M296.33,-216.3C273.75,-184.5 232.28,-114.65 268.06,-72 297.26,-37.19 422.38,-25.23 501.52,-21.13"/> <path fill="none" stroke="black" d="M305.66,-216.32C281.85,-184.58 237.93,-114.81 274.06,-72 304.43,-36.01 434.35,-24.46 516.36,-20.75"/>
<polygon fill="black" stroke="black" points="501.52,-24.64 511.34,-20.66 501.18,-17.64 501.52,-24.64"/> <polygon fill="black" stroke="black" points="516.49,-24.25 526.33,-20.33 516.19,-17.25 516.49,-24.25"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M507.02,-72.41C517.15,-63.54 529.81,-52.47 540.96,-42.71"/> <path fill="none" stroke="red" stroke-width="2" d="M521.73,-72.41C532.35,-63.45 545.63,-52.25 557.29,-42.42"/>
<polygon fill="red" stroke="red" stroke-width="2" points="542.01,-46.44 547.23,-37.22 537.4,-41.17 542.01,-46.44"/> <polygon fill="red" stroke="red" stroke-width="2" points="558.11,-46.3 563.5,-37.18 553.6,-40.95 558.11,-46.3"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M902.98,-77.54C894.37,-75.61 885.46,-73.68 877.06,-72 791.15,-54.78 691.1,-38.26 628.66,-28.37"/> <path fill="none" stroke="black" d="M933.02,-77.54C924.06,-75.61 914.79,-73.68 906.06,-72 816.46,-54.73 712.11,-38.15 647.31,-28.27"/>
<polygon fill="black" stroke="black" points="629.37,-24.94 618.95,-26.83 628.28,-31.85 629.37,-24.94"/> <polygon fill="black" stroke="black" points="647.99,-24.83 637.57,-26.79 646.94,-31.75 647.99,-24.83"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M919.6,-73.81C898.51,-63.63 870.51,-50.11 847.59,-39.05"/> <path fill="none" stroke="black" d="M950.29,-73.81C928.23,-63.58 898.91,-49.99 874.98,-38.9"/>
<polygon fill="black" stroke="black" points="849.35,-36.01 838.82,-34.82 846.31,-42.32 849.35,-36.01"/> <polygon fill="black" stroke="black" points="876.68,-35.83 866.13,-34.8 873.73,-42.18 876.68,-35.83"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node13" class="node"> <g id="node13" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="977.06" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="1008.06" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="977.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="1008.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M957.49,-71.7C960.29,-64.15 963.64,-55.12 966.78,-46.68"/> <path fill="none" stroke="black" d="M989.24,-71.7C991.93,-64.15 995.16,-55.12 998.17,-46.68"/>
<polygon fill="black" stroke="black" points="969.98,-48.12 970.18,-37.52 963.42,-45.68 969.98,-48.12"/> <polygon fill="black" stroke="black" points="1001.37,-48.12 1001.44,-37.53 994.78,-45.77 1001.37,-48.12"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M763.51,-76.49C723.04,-64.58 662.12,-46.67 619.07,-34"/> <path fill="none" stroke="black" d="M787.9,-76.49C745.68,-64.52 682.02,-46.48 637.31,-33.81"/>
<polygon fill="black" stroke="black" points="620.29,-30.71 609.71,-31.25 618.32,-37.43 620.29,-30.71"/> <polygon fill="black" stroke="black" points="638.4,-30.48 627.83,-31.12 636.49,-37.21 638.4,-30.48"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M806.06,-71.7C806.06,-64.41 806.06,-55.73 806.06,-47.54"/> <path fill="none" stroke="black" d="M832.06,-71.7C832.06,-64.41 832.06,-55.73 832.06,-47.54"/>
<polygon fill="black" stroke="black" points="809.56,-47.62 806.06,-37.62 802.56,-47.62 809.56,-47.62"/> <polygon fill="black" stroke="black" points="835.56,-47.62 832.06,-37.62 828.56,-47.62 835.56,-47.62"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge20" class="edge"> <g id="edge20" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M629.1,-72.41C618.97,-63.54 606.31,-52.47 595.15,-42.71"/> <path fill="none" stroke="black" d="M648.39,-72.41C637.77,-63.45 624.48,-52.25 612.83,-42.42"/>
<polygon fill="black" stroke="black" points="597.58,-40.18 587.75,-36.23 592.97,-45.44 597.58,-40.18"/> <polygon fill="black" stroke="black" points="615.36,-39.98 605.46,-36.2 610.84,-45.33 615.36,-39.98"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge21" class="edge"> <g id="edge21" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M683.13,-73.46C706.43,-63.14 737.22,-49.5 762.16,-38.45"/> <path fill="none" stroke="black" d="M704.45,-73.46C728.84,-63.06 761.11,-49.28 787.1,-38.19"/>
<polygon fill="black" stroke="black" points="763.34,-41.76 771.06,-34.51 760.5,-35.36 763.34,-41.76"/> <polygon fill="black" stroke="black" points="788.23,-41.51 796.05,-34.37 785.48,-35.07 788.23,-41.51"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

@ -1,229 +1,188 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1108pt" height="332pt" viewBox="0.00 0.00 1107.53 332.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="1073pt" height="332pt"
viewBox="0.00 0.00 1072.75 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-328 1068.75,-328 1068.75,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-328 1103.53,-328 1103.53,4 -4,4"/>
<!-- :feature:search -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:feature:search</title> <title>:feature:search</title>
<ellipse fill="none" stroke="black" cx="250.06" cy="-306" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="258.06" cy="-306" rx="67.87" ry="18"/>
<text text-anchor="middle" x="250.06" y="-300.95" font-family="Times,serif" font-size="14.00">:feature:search</text> <text text-anchor="middle" x="258.06" y="-301.8" font-family="Times,serif" font-size="14.00">:feature:search</text>
</g> </g>
<!-- :core:ui -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-234" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-234" rx="40.53" ry="18"/>
<text text-anchor="middle" x="192.06" y="-228.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="198.06" y="-229.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :feature:search&#45;&gt;:core:ui -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:feature:search&#45;&gt;:core:ui</title> <title>:feature:search-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M236.02,-288.05C229.08,-279.68 220.57,-269.4 212.89,-260.13"/> <path fill="none" stroke="black" d="M243.53,-288.05C236.28,-279.59 227.36,-269.19 219.35,-259.84"/>
<polygon fill="black" stroke="black" points="215.61,-257.94 206.54,-252.47 210.22,-262.41 215.61,-257.94"/> <polygon fill="black" stroke="black" points="222.19,-257.77 213.02,-252.46 216.87,-262.33 222.19,-257.77"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="82.06" cy="-162" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="85.06" cy="-162" rx="85.06" ry="18"/>
<text text-anchor="middle" x="82.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="85.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :feature:search&#45;&gt;:core:designsystem -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:feature:search&#45;&gt;:core:designsystem</title> <title>:feature:search-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M211.24,-291.1C189.86,-282.17 163.75,-269.02 144.06,-252 123.99,-234.64 107.23,-209.43 96.22,-190.27"/> <path fill="none" stroke="black" d="M217.55,-291.22C195.42,-282.35 168.45,-269.25 148.06,-252 127.69,-234.78 110.66,-209.55 99.46,-190.35"/>
<polygon fill="black" stroke="black" points="99.35,-188.7 91.44,-181.66 93.23,-192.1 99.35,-188.7"/> <polygon fill="black" stroke="black" points="102.55,-188.71 94.6,-181.71 96.45,-192.14 102.55,-188.71"/>
</g> </g>
<!-- :core:data -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="568.06" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="585.06" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="568.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="585.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :feature:search&#45;&gt;:core:data -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:feature:search&#45;&gt;:core:data</title> <title>:feature:search-&gt;:core:data</title>
<path fill="none" stroke="black" d="M286.11,-290.58C311.86,-280.16 347.25,-265.59 378.06,-252 430.92,-228.69 491.2,-200.11 529.43,-181.73"/> <path fill="none" stroke="black" d="M295.23,-290.61C321.78,-280.2 358.28,-265.62 390.06,-252 444.42,-228.7 506.44,-200.03 545.66,-181.63"/>
<polygon fill="black" stroke="black" points="530.74,-184.98 538.23,-177.48 527.71,-178.67 530.74,-184.98"/> <polygon fill="black" stroke="black" points="546.91,-184.91 554.47,-177.49 543.94,-178.57 546.91,-184.91"/>
</g> </g>
<!-- :core:domain -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:domain</title> <title>:core:domain</title>
<ellipse fill="none" stroke="black" cx="309.06" cy="-234" rx="60.05" ry="18"/> <ellipse fill="none" stroke="black" cx="319.06" cy="-234" rx="61.99" ry="18"/>
<text text-anchor="middle" x="309.06" y="-228.95" font-family="Times,serif" font-size="14.00">:core:domain</text> <text text-anchor="middle" x="319.06" y="-229.8" font-family="Times,serif" font-size="14.00">:core:domain</text>
</g> </g>
<!-- :feature:search&#45;&gt;:core:domain -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:feature:search&#45;&gt;:core:domain</title> <title>:feature:search-&gt;:core:domain</title>
<path fill="none" stroke="red" stroke-width="2" d="M264.34,-288.05C271.3,-279.8 279.81,-269.7 287.54,-260.54"/> <path fill="none" stroke="red" stroke-width="2" d="M272.82,-288.05C280.09,-279.71 289,-269.49 297.05,-260.25"/>
<polygon fill="red" stroke="red" stroke-width="2" points="289.19,-264.01 292.96,-254.1 283.84,-259.49 289.19,-264.01"/> <polygon fill="red" stroke="red" stroke-width="2" points="298.51,-263.91 302.44,-254.07 293.23,-259.31 298.51,-263.91"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M169.8,-218.83C154.65,-209.19 134.29,-196.24 117,-185.23"/> <path fill="none" stroke="black" d="M175.19,-218.83C159.63,-209.19 138.71,-196.24 120.95,-185.23"/>
<polygon fill="black" stroke="black" points="119.35,-182.58 109.04,-180.17 115.59,-188.49 119.35,-182.58"/> <polygon fill="black" stroke="black" points="123.09,-182.44 112.74,-180.15 119.4,-188.39 123.09,-182.44"/>
</g> </g>
<!-- :core:analytics -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="342.06" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="350.06" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="342.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="350.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M208.69,-217.26C234.76,-192.58 285.48,-144.57 316.3,-115.38"/> <path fill="none" stroke="black" d="M214.9,-217.26C241.33,-192.58 292.72,-144.57 323.96,-115.38"/>
<polygon fill="black" stroke="black" points="318.48,-118.14 323.33,-108.73 313.67,-113.06 318.48,-118.14"/> <polygon fill="black" stroke="black" points="326.17,-118.1 331.09,-108.72 321.39,-112.99 326.17,-118.1"/>
</g> </g>
<!-- :core:model -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="568.06" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="585.06" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="568.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="585.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M192.94,-215.73C195.65,-182.32 206.61,-108.88 251.06,-72 288.33,-41.08 420.81,-27.72 502.24,-22.33"/> <path fill="none" stroke="black" d="M198.92,-215.71C201.6,-182.26 212.51,-108.76 257.06,-72 295.71,-40.1 433.01,-27.09 517.23,-22.02"/>
<polygon fill="black" stroke="black" points="502.11,-25.84 511.87,-21.71 501.66,-18.86 502.11,-25.84"/> <polygon fill="black" stroke="black" points="517.2,-25.53 526.98,-21.46 516.79,-18.54 517.2,-25.53"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M532.25,-149.91C495.35,-138.48 437.4,-120.53 395.16,-107.45"/> <path fill="none" stroke="black" d="M547.82,-149.91C509.28,-138.43 448.68,-120.38 404.71,-107.28"/>
<polygon fill="black" stroke="black" points="396.27,-104.13 385.69,-104.51 394.2,-110.81 396.27,-104.13"/> <polygon fill="black" stroke="black" points="405.95,-104 395.37,-104.5 403.95,-110.71 405.95,-104"/>
</g> </g>
<!-- :core:common -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="806.06" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="832.06" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="806.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="832.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M614.84,-159.04C725.87,-153.9 998.07,-138.31 1025.06,-108 1035.7,-96.05 1034.95,-84.57 1025.06,-72 1023.79,-70.39 929.84,-48.06 865.42,-32.9"/> <path fill="none" stroke="black" d="M633.67,-159.18C749.06,-154.36 1031.95,-139.42 1060.06,-108 1070.73,-96.08 1070.01,-84.53 1060.06,-72 1058.73,-70.32 960.24,-47.86 893.16,-32.72"/>
<polygon fill="black" stroke="black" points="866.57,-29.58 856.03,-30.7 864.97,-36.39 866.57,-29.58"/> <polygon fill="black" stroke="black" points="894.27,-29.39 883.74,-30.6 892.73,-36.22 894.27,-29.39"/>
</g> </g>
<!-- :core:database -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="488.06" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="502.06" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="488.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="502.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M549.91,-145.12C539.69,-136.18 526.74,-124.85 515.33,-114.86"/> <path fill="none" stroke="red" stroke-width="2" d="M566.22,-145.12C555.63,-136.18 542.19,-124.85 530.35,-114.86"/>
<polygon fill="red" stroke="red" stroke-width="2" points="519.08,-113.5 509.25,-109.54 514.48,-118.76 519.08,-113.5"/> <polygon fill="red" stroke="red" stroke-width="2" points="533.9,-113.27 524,-109.5 529.38,-118.63 533.9,-113.27"/>
</g> </g>
<!-- :core:datastore -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="951.06" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="983.06" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="951.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="983.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M611.44,-154.34C671.36,-144.97 782.73,-126.91 877.06,-108 881.92,-107.03 886.94,-105.97 891.98,-104.88"/> <path fill="none" stroke="black" d="M630.12,-154.34C692.34,-144.97 808.03,-126.9 906.06,-108 911.25,-107 916.62,-105.91 922,-104.79"/>
<polygon fill="black" stroke="black" points="892.49,-108.35 901.5,-102.78 890.98,-101.52 892.49,-108.35"/> <polygon fill="black" stroke="black" points="922.48,-108.27 931.54,-102.77 921.03,-101.42 922.48,-108.27"/>
</g> </g>
<!-- :core:network -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="806.06" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="832.06" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="806.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="832.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M604.73,-150.22C644.27,-138.58 707.62,-119.95 752.69,-106.7"/> <path fill="none" stroke="black" d="M623.11,-150.22C664.33,-138.53 730.45,-119.8 777.26,-106.53"/>
<polygon fill="black" stroke="black" points="753.67,-110.06 762.27,-103.88 751.69,-103.34 753.67,-110.06"/> <polygon fill="black" stroke="black" points="778,-109.96 786.67,-103.86 776.09,-103.22 778,-109.96"/>
</g> </g>
<!-- :core:notifications -->
<g id="node12" class="node"> <g id="node12" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="648.06" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="668.06" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="648.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="668.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M586.21,-145.12C596.25,-136.33 608.94,-125.23 620.21,-115.37"/> <path fill="none" stroke="black" d="M603.89,-145.12C614.41,-136.24 627.73,-125.01 639.51,-115.08"/>
<polygon fill="black" stroke="black" points="622.5,-118.01 627.72,-108.79 617.89,-112.75 622.5,-118.01"/> <polygon fill="black" stroke="black" points="641.6,-117.9 646.98,-108.77 637.08,-112.54 641.6,-117.9"/>
</g> </g>
<!-- :core:domain&#45;&gt;:core:data -->
<g id="edge22" class="edge"> <g id="edge22" class="edge">
<title>:core:domain&#45;&gt;:core:data</title> <title>:core:domain-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M352.7,-221.2C398.75,-208.76 471.15,-189.19 519.11,-176.23"/> <path fill="none" stroke="red" stroke-width="2" d="M363.88,-221.2C411.27,-208.73 485.84,-189.11 535.1,-176.15"/>
<polygon fill="red" stroke="red" stroke-width="2" points="518.48,-180.02 527.22,-174.04 516.66,-173.27 518.48,-180.02"/> <polygon fill="red" stroke="red" stroke-width="2" points="534.41,-179.95 543.19,-174.02 532.63,-173.18 534.41,-179.95"/>
</g> </g>
<!-- :core:domain&#45;&gt;:core:model -->
<g id="edge23" class="edge"> <g id="edge23" class="edge">
<title>:core:domain&#45;&gt;:core:model</title> <title>:core:domain-&gt;:core:model</title>
<path fill="none" stroke="black" d="M296.33,-216.3C273.75,-184.5 232.28,-114.65 268.06,-72 297.26,-37.19 422.38,-25.23 501.52,-21.13"/> <path fill="none" stroke="black" d="M305.66,-216.32C281.85,-184.58 237.93,-114.81 274.06,-72 304.43,-36.01 434.35,-24.46 516.36,-20.75"/>
<polygon fill="black" stroke="black" points="501.52,-24.64 511.34,-20.66 501.18,-17.64 501.52,-24.64"/> <polygon fill="black" stroke="black" points="516.49,-24.25 526.33,-20.33 516.19,-17.25 516.49,-24.25"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M507.02,-72.41C517.15,-63.54 529.81,-52.47 540.96,-42.71"/> <path fill="none" stroke="red" stroke-width="2" d="M521.73,-72.41C532.35,-63.45 545.63,-52.25 557.29,-42.42"/>
<polygon fill="red" stroke="red" stroke-width="2" points="542.01,-46.44 547.23,-37.22 537.4,-41.17 542.01,-46.44"/> <polygon fill="red" stroke="red" stroke-width="2" points="558.11,-46.3 563.5,-37.18 553.6,-40.95 558.11,-46.3"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M902.98,-77.54C894.37,-75.61 885.46,-73.68 877.06,-72 791.15,-54.78 691.1,-38.26 628.66,-28.37"/> <path fill="none" stroke="black" d="M933.02,-77.54C924.06,-75.61 914.79,-73.68 906.06,-72 816.46,-54.73 712.11,-38.15 647.31,-28.27"/>
<polygon fill="black" stroke="black" points="629.37,-24.94 618.95,-26.83 628.28,-31.85 629.37,-24.94"/> <polygon fill="black" stroke="black" points="647.99,-24.83 637.57,-26.79 646.94,-31.75 647.99,-24.83"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M919.6,-73.81C898.51,-63.63 870.51,-50.11 847.59,-39.05"/> <path fill="none" stroke="black" d="M950.29,-73.81C928.23,-63.58 898.91,-49.99 874.98,-38.9"/>
<polygon fill="black" stroke="black" points="849.35,-36.01 838.82,-34.82 846.31,-42.32 849.35,-36.01"/> <polygon fill="black" stroke="black" points="876.68,-35.83 866.13,-34.8 873.73,-42.18 876.68,-35.83"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node13" class="node"> <g id="node13" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="977.06" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="1008.06" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="977.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="1008.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M957.49,-71.7C960.29,-64.15 963.64,-55.12 966.78,-46.68"/> <path fill="none" stroke="black" d="M989.24,-71.7C991.93,-64.15 995.16,-55.12 998.17,-46.68"/>
<polygon fill="black" stroke="black" points="969.98,-48.12 970.18,-37.52 963.42,-45.68 969.98,-48.12"/> <polygon fill="black" stroke="black" points="1001.37,-48.12 1001.44,-37.53 994.78,-45.77 1001.37,-48.12"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M763.51,-76.49C723.04,-64.58 662.12,-46.67 619.07,-34"/> <path fill="none" stroke="black" d="M787.9,-76.49C745.68,-64.52 682.02,-46.48 637.31,-33.81"/>
<polygon fill="black" stroke="black" points="620.29,-30.71 609.71,-31.25 618.32,-37.43 620.29,-30.71"/> <polygon fill="black" stroke="black" points="638.4,-30.48 627.83,-31.12 636.49,-37.21 638.4,-30.48"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M806.06,-71.7C806.06,-64.41 806.06,-55.73 806.06,-47.54"/> <path fill="none" stroke="black" d="M832.06,-71.7C832.06,-64.41 832.06,-55.73 832.06,-47.54"/>
<polygon fill="black" stroke="black" points="809.56,-47.62 806.06,-37.62 802.56,-47.62 809.56,-47.62"/> <polygon fill="black" stroke="black" points="835.56,-47.62 832.06,-37.62 828.56,-47.62 835.56,-47.62"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge20" class="edge"> <g id="edge20" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M629.1,-72.41C618.97,-63.54 606.31,-52.47 595.15,-42.71"/> <path fill="none" stroke="black" d="M648.39,-72.41C637.77,-63.45 624.48,-52.25 612.83,-42.42"/>
<polygon fill="black" stroke="black" points="597.58,-40.18 587.75,-36.23 592.97,-45.44 597.58,-40.18"/> <polygon fill="black" stroke="black" points="615.36,-39.98 605.46,-36.2 610.84,-45.33 615.36,-39.98"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge21" class="edge"> <g id="edge21" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M683.13,-73.46C706.43,-63.14 737.22,-49.5 762.16,-38.45"/> <path fill="none" stroke="black" d="M704.45,-73.46C728.84,-63.06 761.11,-49.28 787.1,-38.19"/>
<polygon fill="black" stroke="black" points="763.34,-41.76 771.06,-34.51 760.5,-35.36 763.34,-41.76"/> <polygon fill="black" stroke="black" points="788.23,-41.51 796.05,-34.37 785.48,-35.07 788.23,-41.51"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@ -1,205 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1064pt" height="260pt" viewBox="0.00 0.00 1063.53 260.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="1028pt" height="260pt"
viewBox="0.00 0.00 1027.75 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-256 1023.75,-256 1023.75,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-256 1059.53,-256 1059.53,4 -4,4"/>
<!-- :feature:settings -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:feature:settings</title> <title>:feature:settings</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-234" rx="69.78" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-234" rx="72.71" ry="18"/>
<text text-anchor="middle" x="192.06" y="-228.95" font-family="Times,serif" font-size="14.00">:feature:settings</text> <text text-anchor="middle" x="198.06" y="-229.8" font-family="Times,serif" font-size="14.00">:feature:settings</text>
</g> </g>
<!-- :core:ui -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-162" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-162" rx="40.53" ry="18"/>
<text text-anchor="middle" x="192.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="198.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :feature:settings&#45;&gt;:core:ui -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:feature:settings&#45;&gt;:core:ui</title> <title>:feature:settings-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M192.06,-215.7C192.06,-208.41 192.06,-199.73 192.06,-191.54"/> <path fill="none" stroke="black" d="M198.06,-215.7C198.06,-208.41 198.06,-199.73 198.06,-191.54"/>
<polygon fill="black" stroke="black" points="195.56,-191.62 192.06,-181.62 188.56,-191.62 195.56,-191.62"/> <polygon fill="black" stroke="black" points="201.56,-191.62 198.06,-181.62 194.56,-191.62 201.56,-191.62"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="82.06" cy="-90" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="85.06" cy="-90" rx="85.06" ry="18"/>
<text text-anchor="middle" x="82.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="85.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :feature:settings&#45;&gt;:core:designsystem -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:feature:settings&#45;&gt;:core:designsystem</title> <title>:feature:settings-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M175.93,-216.3C166.33,-206.1 154.11,-192.63 144.06,-180 128.01,-159.83 111.39,-135.78 99.41,-117.77"/> <path fill="none" stroke="black" d="M181.21,-216.37C171.21,-206.19 158.48,-192.72 148.06,-180 131.56,-159.86 114.61,-135.67 102.45,-117.6"/>
<polygon fill="black" stroke="black" points="102.35,-115.88 93.93,-109.46 96.51,-119.73 102.35,-115.88"/> <polygon fill="black" stroke="black" points="105.52,-115.89 97.06,-109.51 99.69,-119.77 105.52,-115.89"/>
</g> </g>
<!-- :core:data -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="591.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="611.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :feature:settings&#45;&gt;:core:data -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:feature:settings&#45;&gt;:core:data</title> <title>:feature:settings-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M248.38,-223.12C325.31,-209.62 462.27,-185.59 537.65,-172.37"/> <path fill="none" stroke="red" stroke-width="2" d="M256.79,-223.05C336.6,-209.52 478.25,-185.51 556.07,-172.32"/>
<polygon fill="red" stroke="red" stroke-width="2" points="536.53,-176.12 545.77,-170.95 535.32,-169.23 536.53,-176.12"/> <polygon fill="red" stroke="red" stroke-width="2" points="554.81,-176.08 564.09,-170.96 553.64,-169.18 554.81,-176.08"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M169.8,-146.83C154.65,-137.19 134.29,-124.24 117,-113.23"/> <path fill="none" stroke="black" d="M175.19,-146.83C159.63,-137.19 138.71,-124.24 120.95,-113.23"/>
<polygon fill="black" stroke="black" points="119.35,-110.58 109.04,-108.17 115.59,-116.49 119.35,-110.58"/> <polygon fill="black" stroke="black" points="123.09,-110.44 112.74,-108.15 119.4,-116.39 123.09,-110.44"/>
</g> </g>
<!-- :core:analytics -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="285.06" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="293.06" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="285.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="293.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M211.78,-146.15C224.2,-136.81 240.49,-124.54 254.56,-113.96"/> <path fill="none" stroke="black" d="M218.2,-146.15C230.89,-136.81 247.53,-124.54 261.9,-113.96"/>
<polygon fill="black" stroke="black" points="256.32,-117.01 262.21,-108.2 252.11,-111.42 256.32,-117.01"/> <polygon fill="black" stroke="black" points="263.76,-116.94 269.73,-108.19 259.6,-111.3 263.76,-116.94"/>
</g> </g>
<!-- :core:model -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="591.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="611.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M190.4,-143.81C189.47,-123.54 191.4,-90.3 211.06,-72 255.22,-30.9 427.13,-21.43 523.91,-19.4"/> <path fill="none" stroke="black" d="M196.38,-143.8C195.44,-123.51 197.35,-90.25 217.06,-72 263.07,-29.38 442.34,-20.56 542.46,-19.03"/>
<polygon fill="black" stroke="black" points="523.87,-22.9 533.81,-19.22 523.74,-15.9 523.87,-22.9"/> <polygon fill="black" stroke="black" points="542.2,-22.54 552.15,-18.91 542.11,-15.54 542.2,-22.54"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M551.05,-151.97C504.63,-141.47 425.78,-123.59 358.06,-108 353.57,-106.97 348.92,-105.89 344.24,-104.81"/> <path fill="none" stroke="black" d="M569.69,-151.91C521.68,-141.37 440.13,-123.44 370.06,-108 364.98,-106.88 359.71,-105.72 354.42,-104.55"/>
<polygon fill="black" stroke="black" points="345.36,-101.48 334.82,-102.62 343.78,-108.29 345.36,-101.48"/> <polygon fill="black" stroke="black" points="355.58,-101.23 345.07,-102.49 354.08,-108.06 355.58,-101.23"/>
</g> </g>
<!-- :core:common -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="755.06" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="781.06" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="755.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="781.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M636.86,-157.02C697,-150.74 797.62,-136.23 820.06,-108 830.02,-95.48 826.92,-86.45 820.06,-72 814.21,-59.69 803.96,-49.3 793.29,-41.07"/> <path fill="none" stroke="black" d="M658.9,-157.27C721.41,-151.3 825.69,-137.15 849.06,-108 859.07,-95.52 856.08,-86.38 849.06,-72 842.9,-59.39 832.13,-48.91 820.96,-40.69"/>
<polygon fill="black" stroke="black" points="795.33,-38.22 785.15,-35.27 791.27,-43.92 795.33,-38.22"/> <polygon fill="black" stroke="black" points="823.06,-37.88 812.82,-35.17 819.13,-43.68 823.06,-37.88"/>
</g> </g>
<!-- :core:database -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="431.06" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="445.06" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="431.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="445.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M560.97,-147.83C536.75,-137.24 502.38,-122.2 475.07,-110.26"/> <path fill="none" stroke="red" stroke-width="2" d="M579.83,-147.83C554.6,-137.19 518.74,-122.07 490.35,-110.1"/>
<polygon fill="red" stroke="red" stroke-width="2" points="477.95,-107.7 467.39,-106.89 475.15,-114.11 477.95,-107.7"/> <polygon fill="red" stroke="red" stroke-width="2" points="493.23,-107.52 482.66,-106.86 490.51,-113.97 493.23,-107.52"/>
</g> </g>
<!-- :core:datastore -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="932.06" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="964.06" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="932.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="964.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M632.39,-152.8C684.04,-142.52 775.15,-124.26 853.06,-108 858.9,-106.78 864.97,-105.5 871.05,-104.21"/> <path fill="none" stroke="black" d="M653.8,-152.8C707.23,-142.5 801.46,-124.24 882.06,-108 888.27,-106.75 894.74,-105.43 901.2,-104.11"/>
<polygon fill="black" stroke="black" points="871.4,-107.71 880.45,-102.2 869.94,-100.87 871.4,-107.71"/> <polygon fill="black" stroke="black" points="901.45,-107.63 910.54,-102.19 900.04,-100.77 901.45,-107.63"/>
</g> </g>
<!-- :core:network -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="749.06" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="775.06" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="749.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="775.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M621.15,-147.67C645.1,-137.06 678.94,-122.07 705.79,-110.17"/> <path fill="none" stroke="black" d="M642.29,-147.67C667.26,-137.01 702.58,-121.93 730.52,-110.01"/>
<polygon fill="black" stroke="black" points="706.97,-113.47 714.7,-106.22 704.14,-107.07 706.97,-113.47"/> <polygon fill="black" stroke="black" points="731.61,-113.35 739.43,-106.2 728.86,-106.91 731.61,-113.35"/>
</g> </g>
<!-- :core:notifications -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="591.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="611.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M591.06,-143.7C591.06,-136.41 591.06,-127.73 591.06,-119.54"/> <path fill="none" stroke="black" d="M611.06,-143.7C611.06,-136.41 611.06,-127.73 611.06,-119.54"/>
<polygon fill="black" stroke="black" points="594.56,-119.62 591.06,-109.62 587.56,-119.62 594.56,-119.62"/> <polygon fill="black" stroke="black" points="614.56,-119.62 611.06,-109.62 607.56,-119.62 614.56,-119.62"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M464.6,-74.33C489,-63.65 522.23,-49.11 548.51,-37.62"/> <path fill="none" stroke="red" stroke-width="2" d="M479.86,-74.33C505.29,-63.6 539.96,-48.98 567.27,-37.46"/>
<polygon fill="red" stroke="red" stroke-width="2" points="548.4,-41.49 556.15,-34.27 545.59,-35.07 548.4,-41.49"/> <polygon fill="red" stroke="red" stroke-width="2" points="567.08,-41.34 574.93,-34.23 564.36,-34.89 567.08,-41.34"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M881.01,-78.52C818.61,-65.71 713.32,-44.1 648.25,-30.74"/> <path fill="none" stroke="black" d="M910.83,-78.44C846.01,-65.59 736.89,-43.95 669.71,-30.63"/>
<polygon fill="black" stroke="black" points="648.97,-27.31 638.47,-28.73 647.56,-34.17 648.97,-27.31"/> <polygon fill="black" stroke="black" points="670.46,-27.21 659.97,-28.7 669.1,-34.08 670.46,-27.21"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M895.81,-74.67C868.61,-63.91 831.14,-49.09 801.71,-37.45"/> <path fill="none" stroke="black" d="M926.58,-74.67C898.33,-63.86 859.38,-48.96 828.88,-37.29"/>
<polygon fill="black" stroke="black" points="803.25,-34.29 792.66,-33.87 800.68,-40.8 803.25,-34.29"/> <polygon fill="black" stroke="black" points="830.49,-34.16 819.9,-33.86 827.98,-40.7 830.49,-34.16"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node12" class="node"> <g id="node12" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="932.06" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="964.06" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="932.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="964.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M932.06,-71.7C932.06,-64.41 932.06,-55.73 932.06,-47.54"/> <path fill="none" stroke="black" d="M964.06,-71.7C964.06,-64.41 964.06,-55.73 964.06,-47.54"/>
<polygon fill="black" stroke="black" points="935.56,-47.62 932.06,-37.62 928.56,-47.62 935.56,-47.62"/> <polygon fill="black" stroke="black" points="967.56,-47.62 964.06,-37.62 960.56,-47.62 967.56,-47.62"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M715.94,-74.33C691.84,-63.65 659.03,-49.11 633.08,-37.62"/> <path fill="none" stroke="black" d="M740.68,-74.33C715.55,-63.6 681.3,-48.98 654.32,-37.46"/>
<polygon fill="black" stroke="black" points="634.74,-34.52 624.17,-33.67 631.9,-40.92 634.74,-34.52"/> <polygon fill="black" stroke="black" points="655.96,-34.36 645.39,-33.65 653.21,-40.8 655.96,-34.36"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M750.54,-71.7C751.17,-64.41 751.91,-55.73 752.61,-47.54"/> <path fill="none" stroke="black" d="M776.54,-71.7C777.17,-64.41 777.91,-55.73 778.61,-47.54"/>
<polygon fill="black" stroke="black" points="756.1,-47.87 753.46,-37.61 749.12,-47.28 756.1,-47.87"/> <polygon fill="black" stroke="black" points="782.1,-47.87 779.46,-37.61 775.12,-47.28 782.1,-47.87"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M591.06,-71.7C591.06,-64.41 591.06,-55.73 591.06,-47.54"/> <path fill="none" stroke="black" d="M611.06,-71.7C611.06,-64.41 611.06,-55.73 611.06,-47.54"/>
<polygon fill="black" stroke="black" points="594.56,-47.62 591.06,-37.62 587.56,-47.62 594.56,-47.62"/> <polygon fill="black" stroke="black" points="614.56,-47.62 611.06,-37.62 607.56,-47.62 614.56,-47.62"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge20" class="edge"> <g id="edge20" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M627.05,-73.64C651.5,-63.2 684.01,-49.33 710.15,-38.17"/> <path fill="none" stroke="black" d="M648.36,-73.64C673.9,-63.12 707.94,-49.11 735.14,-37.91"/>
<polygon fill="black" stroke="black" points="711.34,-41.47 719.17,-34.32 708.59,-35.03 711.34,-41.47"/> <polygon fill="black" stroke="black" points="736.27,-41.23 744.18,-34.18 733.6,-34.76 736.27,-41.23"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

@ -1,205 +1,168 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1064pt" height="260pt" viewBox="0.00 0.00 1063.53 260.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="1028pt" height="260pt"
viewBox="0.00 0.00 1027.75 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-256 1023.75,-256 1023.75,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-256 1059.53,-256 1059.53,4 -4,4"/>
<!-- :feature:topic -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:feature:topic</title> <title>:feature:topic</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-234" rx="60.05" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-234" rx="62.51" ry="18"/>
<text text-anchor="middle" x="192.06" y="-228.95" font-family="Times,serif" font-size="14.00">:feature:topic</text> <text text-anchor="middle" x="198.06" y="-229.8" font-family="Times,serif" font-size="14.00">:feature:topic</text>
</g> </g>
<!-- :core:ui -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:ui</title> <title>:core:ui</title>
<ellipse fill="none" stroke="black" cx="192.06" cy="-162" rx="39.07" ry="18"/> <ellipse fill="none" stroke="black" cx="198.06" cy="-162" rx="40.53" ry="18"/>
<text text-anchor="middle" x="192.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:ui</text> <text text-anchor="middle" x="198.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:ui</text>
</g> </g>
<!-- :feature:topic&#45;&gt;:core:ui -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:feature:topic&#45;&gt;:core:ui</title> <title>:feature:topic-&gt;:core:ui</title>
<path fill="none" stroke="black" d="M192.06,-215.7C192.06,-208.41 192.06,-199.73 192.06,-191.54"/> <path fill="none" stroke="black" d="M198.06,-215.7C198.06,-208.41 198.06,-199.73 198.06,-191.54"/>
<polygon fill="black" stroke="black" points="195.56,-191.62 192.06,-181.62 188.56,-191.62 195.56,-191.62"/> <polygon fill="black" stroke="black" points="201.56,-191.62 198.06,-181.62 194.56,-191.62 201.56,-191.62"/>
</g> </g>
<!-- :core:designsystem -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:designsystem</title> <title>:core:designsystem</title>
<ellipse fill="none" stroke="black" cx="82.06" cy="-90" rx="82.06" ry="18"/> <ellipse fill="none" stroke="black" cx="85.06" cy="-90" rx="85.06" ry="18"/>
<text text-anchor="middle" x="82.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:designsystem</text> <text text-anchor="middle" x="85.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:designsystem</text>
</g> </g>
<!-- :feature:topic&#45;&gt;:core:designsystem -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:feature:topic&#45;&gt;:core:designsystem</title> <title>:feature:topic-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M175.93,-216.3C166.33,-206.1 154.11,-192.63 144.06,-180 128.01,-159.83 111.39,-135.78 99.41,-117.77"/> <path fill="none" stroke="black" d="M181.21,-216.37C171.21,-206.19 158.48,-192.72 148.06,-180 131.56,-159.86 114.61,-135.67 102.45,-117.6"/>
<polygon fill="black" stroke="black" points="102.35,-115.88 93.93,-109.46 96.51,-119.73 102.35,-115.88"/> <polygon fill="black" stroke="black" points="105.52,-115.89 97.06,-109.51 99.69,-119.77 105.52,-115.89"/>
</g> </g>
<!-- :core:data -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="591.06" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="611.06" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :feature:topic&#45;&gt;:core:data -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:feature:topic&#45;&gt;:core:data</title> <title>:feature:topic-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M243,-224.06C318.79,-210.77 460.58,-185.89 537.73,-172.36"/> <path fill="none" stroke="red" stroke-width="2" d="M250.78,-224.06C329.23,-210.77 476,-185.89 555.86,-172.36"/>
<polygon fill="red" stroke="red" stroke-width="2" points="536.4,-176.14 545.65,-170.97 535.19,-169.25 536.4,-176.14"/> <polygon fill="red" stroke="red" stroke-width="2" points="554.88,-176.07 564.15,-170.95 553.71,-169.17 554.88,-176.07"/>
</g> </g>
<!-- :core:ui&#45;&gt;:core:designsystem -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:ui&#45;&gt;:core:designsystem</title> <title>:core:ui-&gt;:core:designsystem</title>
<path fill="none" stroke="black" d="M169.8,-146.83C154.65,-137.19 134.29,-124.24 117,-113.23"/> <path fill="none" stroke="black" d="M175.19,-146.83C159.63,-137.19 138.71,-124.24 120.95,-113.23"/>
<polygon fill="black" stroke="black" points="119.35,-110.58 109.04,-108.17 115.59,-116.49 119.35,-110.58"/> <polygon fill="black" stroke="black" points="123.09,-110.44 112.74,-108.15 119.4,-116.39 123.09,-110.44"/>
</g> </g>
<!-- :core:analytics -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="285.06" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="293.06" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="285.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="293.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:analytics -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:ui&#45;&gt;:core:analytics</title> <title>:core:ui-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M211.78,-146.15C224.2,-136.81 240.49,-124.54 254.56,-113.96"/> <path fill="none" stroke="black" d="M218.2,-146.15C230.89,-136.81 247.53,-124.54 261.9,-113.96"/>
<polygon fill="black" stroke="black" points="256.32,-117.01 262.21,-108.2 252.11,-111.42 256.32,-117.01"/> <polygon fill="black" stroke="black" points="263.76,-116.94 269.73,-108.19 259.6,-111.3 263.76,-116.94"/>
</g> </g>
<!-- :core:model -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="591.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="611.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:ui&#45;&gt;:core:model -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:ui&#45;&gt;:core:model</title> <title>:core:ui-&gt;:core:model</title>
<path fill="none" stroke="black" d="M190.4,-143.81C189.47,-123.54 191.4,-90.3 211.06,-72 255.22,-30.9 427.13,-21.43 523.91,-19.4"/> <path fill="none" stroke="black" d="M196.38,-143.8C195.44,-123.51 197.35,-90.25 217.06,-72 263.07,-29.38 442.34,-20.56 542.46,-19.03"/>
<polygon fill="black" stroke="black" points="523.87,-22.9 533.81,-19.22 523.74,-15.9 523.87,-22.9"/> <polygon fill="black" stroke="black" points="542.2,-22.54 552.15,-18.91 542.11,-15.54 542.2,-22.54"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M551.05,-151.97C504.63,-141.47 425.78,-123.59 358.06,-108 353.57,-106.97 348.92,-105.89 344.24,-104.81"/> <path fill="none" stroke="black" d="M569.69,-151.91C521.68,-141.37 440.13,-123.44 370.06,-108 364.98,-106.88 359.71,-105.72 354.42,-104.55"/>
<polygon fill="black" stroke="black" points="345.36,-101.48 334.82,-102.62 343.78,-108.29 345.36,-101.48"/> <polygon fill="black" stroke="black" points="355.58,-101.23 345.07,-102.49 354.08,-108.06 355.58,-101.23"/>
</g> </g>
<!-- :core:common -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="755.06" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="781.06" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="755.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="781.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M636.86,-157.02C697,-150.74 797.62,-136.23 820.06,-108 830.02,-95.48 826.92,-86.45 820.06,-72 814.21,-59.69 803.96,-49.3 793.29,-41.07"/> <path fill="none" stroke="black" d="M658.9,-157.27C721.41,-151.3 825.69,-137.15 849.06,-108 859.07,-95.52 856.08,-86.38 849.06,-72 842.9,-59.39 832.13,-48.91 820.96,-40.69"/>
<polygon fill="black" stroke="black" points="795.33,-38.22 785.15,-35.27 791.27,-43.92 795.33,-38.22"/> <polygon fill="black" stroke="black" points="823.06,-37.88 812.82,-35.17 819.13,-43.68 823.06,-37.88"/>
</g> </g>
<!-- :core:database -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="431.06" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="445.06" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="431.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="445.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M560.97,-147.83C536.75,-137.24 502.38,-122.2 475.07,-110.26"/> <path fill="none" stroke="red" stroke-width="2" d="M579.83,-147.83C554.6,-137.19 518.74,-122.07 490.35,-110.1"/>
<polygon fill="red" stroke="red" stroke-width="2" points="477.95,-107.7 467.39,-106.89 475.15,-114.11 477.95,-107.7"/> <polygon fill="red" stroke="red" stroke-width="2" points="493.23,-107.52 482.66,-106.86 490.51,-113.97 493.23,-107.52"/>
</g> </g>
<!-- :core:datastore -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="932.06" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="964.06" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="932.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="964.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M632.39,-152.8C684.04,-142.52 775.15,-124.26 853.06,-108 858.9,-106.78 864.97,-105.5 871.05,-104.21"/> <path fill="none" stroke="black" d="M653.8,-152.8C707.23,-142.5 801.46,-124.24 882.06,-108 888.27,-106.75 894.74,-105.43 901.2,-104.11"/>
<polygon fill="black" stroke="black" points="871.4,-107.71 880.45,-102.2 869.94,-100.87 871.4,-107.71"/> <polygon fill="black" stroke="black" points="901.45,-107.63 910.54,-102.19 900.04,-100.77 901.45,-107.63"/>
</g> </g>
<!-- :core:network -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="749.06" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="775.06" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="749.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="775.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M621.15,-147.67C645.1,-137.06 678.94,-122.07 705.79,-110.17"/> <path fill="none" stroke="black" d="M642.29,-147.67C667.26,-137.01 702.58,-121.93 730.52,-110.01"/>
<polygon fill="black" stroke="black" points="706.97,-113.47 714.7,-106.22 704.14,-107.07 706.97,-113.47"/> <polygon fill="black" stroke="black" points="731.61,-113.35 739.43,-106.2 728.86,-106.91 731.61,-113.35"/>
</g> </g>
<!-- :core:notifications -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="591.06" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="611.06" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="591.06" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="611.06" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M591.06,-143.7C591.06,-136.41 591.06,-127.73 591.06,-119.54"/> <path fill="none" stroke="black" d="M611.06,-143.7C611.06,-136.41 611.06,-127.73 611.06,-119.54"/>
<polygon fill="black" stroke="black" points="594.56,-119.62 591.06,-109.62 587.56,-119.62 594.56,-119.62"/> <polygon fill="black" stroke="black" points="614.56,-119.62 611.06,-109.62 607.56,-119.62 614.56,-119.62"/>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M464.6,-74.33C489,-63.65 522.23,-49.11 548.51,-37.62"/> <path fill="none" stroke="red" stroke-width="2" d="M479.86,-74.33C505.29,-63.6 539.96,-48.98 567.27,-37.46"/>
<polygon fill="red" stroke="red" stroke-width="2" points="548.4,-41.49 556.15,-34.27 545.59,-35.07 548.4,-41.49"/> <polygon fill="red" stroke="red" stroke-width="2" points="567.08,-41.34 574.93,-34.23 564.36,-34.89 567.08,-41.34"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M881.01,-78.52C818.61,-65.71 713.32,-44.1 648.25,-30.74"/> <path fill="none" stroke="black" d="M910.83,-78.44C846.01,-65.59 736.89,-43.95 669.71,-30.63"/>
<polygon fill="black" stroke="black" points="648.97,-27.31 638.47,-28.73 647.56,-34.17 648.97,-27.31"/> <polygon fill="black" stroke="black" points="670.46,-27.21 659.97,-28.7 669.1,-34.08 670.46,-27.21"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M895.81,-74.67C868.61,-63.91 831.14,-49.09 801.71,-37.45"/> <path fill="none" stroke="black" d="M926.58,-74.67C898.33,-63.86 859.38,-48.96 828.88,-37.29"/>
<polygon fill="black" stroke="black" points="803.25,-34.29 792.66,-33.87 800.68,-40.8 803.25,-34.29"/> <polygon fill="black" stroke="black" points="830.49,-34.16 819.9,-33.86 827.98,-40.7 830.49,-34.16"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node12" class="node"> <g id="node12" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="932.06" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="964.06" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="932.06" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="964.06" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M932.06,-71.7C932.06,-64.41 932.06,-55.73 932.06,-47.54"/> <path fill="none" stroke="black" d="M964.06,-71.7C964.06,-64.41 964.06,-55.73 964.06,-47.54"/>
<polygon fill="black" stroke="black" points="935.56,-47.62 932.06,-37.62 928.56,-47.62 935.56,-47.62"/> <polygon fill="black" stroke="black" points="967.56,-47.62 964.06,-37.62 960.56,-47.62 967.56,-47.62"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M715.94,-74.33C691.84,-63.65 659.03,-49.11 633.08,-37.62"/> <path fill="none" stroke="black" d="M740.68,-74.33C715.55,-63.6 681.3,-48.98 654.32,-37.46"/>
<polygon fill="black" stroke="black" points="634.74,-34.52 624.17,-33.67 631.9,-40.92 634.74,-34.52"/> <polygon fill="black" stroke="black" points="655.96,-34.36 645.39,-33.65 653.21,-40.8 655.96,-34.36"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M750.54,-71.7C751.17,-64.41 751.91,-55.73 752.61,-47.54"/> <path fill="none" stroke="black" d="M776.54,-71.7C777.17,-64.41 777.91,-55.73 778.61,-47.54"/>
<polygon fill="black" stroke="black" points="756.1,-47.87 753.46,-37.61 749.12,-47.28 756.1,-47.87"/> <polygon fill="black" stroke="black" points="782.1,-47.87 779.46,-37.61 775.12,-47.28 782.1,-47.87"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge19" class="edge"> <g id="edge19" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M591.06,-71.7C591.06,-64.41 591.06,-55.73 591.06,-47.54"/> <path fill="none" stroke="black" d="M611.06,-71.7C611.06,-64.41 611.06,-55.73 611.06,-47.54"/>
<polygon fill="black" stroke="black" points="594.56,-47.62 591.06,-37.62 587.56,-47.62 594.56,-47.62"/> <polygon fill="black" stroke="black" points="614.56,-47.62 611.06,-37.62 607.56,-47.62 614.56,-47.62"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge20" class="edge"> <g id="edge20" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M627.05,-73.64C651.5,-63.2 684.01,-49.33 710.15,-38.17"/> <path fill="none" stroke="black" d="M648.36,-73.64C673.9,-63.12 707.94,-49.11 735.14,-37.91"/>
<polygon fill="black" stroke="black" points="711.34,-41.47 719.17,-34.32 708.59,-35.03 711.34,-41.47"/> <polygon fill="black" stroke="black" points="736.27,-41.23 744.18,-34.18 733.6,-34.76 736.27,-41.23"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

@ -1,187 +1,153 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="791pt" height="332pt" viewBox="0.00 0.00 791.39 332.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="763pt" height="332pt"
viewBox="0.00 0.00 762.64 332.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 328)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-328 758.64,-328 758.64,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-328 787.39,-328 787.39,4 -4,4"/>
<!-- :sync:sync&#45;test -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:sync:sync&#45;test</title> <title>:sync:sync-test</title>
<ellipse fill="none" stroke="black" cx="436.98" cy="-306" rx="65.68" ry="18"/> <ellipse fill="none" stroke="black" cx="453.04" cy="-306" rx="68.43" ry="18"/>
<text text-anchor="middle" x="436.98" y="-300.95" font-family="Times,serif" font-size="14.00">:sync:sync&#45;test</text> <text text-anchor="middle" x="453.04" y="-301.8" font-family="Times,serif" font-size="14.00">:sync:sync-test</text>
</g> </g>
<!-- :core:data -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="396.98" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="412.04" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="396.98" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="412.04" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :sync:sync&#45;test&#45;&gt;:core:data -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:sync:sync&#45;test&#45;&gt;:core:data</title> <title>:sync:sync-test-&gt;:core:data</title>
<path fill="none" stroke="black" d="M429.44,-288.07C425.07,-277.79 419.71,-264.32 415.98,-252 409.96,-232.09 405.11,-209.13 401.81,-191.51"/> <path fill="none" stroke="black" d="M444.89,-287.63C440.34,-277.43 434.84,-264.18 431.04,-252 424.86,-232.14 420.01,-209.18 416.76,-191.55"/>
<polygon fill="black" stroke="black" points="405.28,-190.99 400.06,-181.77 398.39,-192.23 405.28,-190.99"/> <polygon fill="black" stroke="black" points="420.22,-191.03 415.03,-181.79 413.33,-192.25 420.22,-191.03"/>
</g> </g>
<!-- :sync:work -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:sync:work</title> <title>:sync:work</title>
<ellipse fill="none" stroke="black" cx="476.98" cy="-234" rx="51.86" ry="18"/> <ellipse fill="none" stroke="black" cx="494.04" cy="-234" rx="53.95" ry="18"/>
<text text-anchor="middle" x="476.98" y="-228.95" font-family="Times,serif" font-size="14.00">:sync:work</text> <text text-anchor="middle" x="494.04" y="-229.8" font-family="Times,serif" font-size="14.00">:sync:work</text>
</g> </g>
<!-- :sync:sync&#45;test&#45;&gt;:sync:work -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:sync:sync&#45;test&#45;&gt;:sync:work</title> <title>:sync:sync-test-&gt;:sync:work</title>
<path fill="none" stroke="red" stroke-width="2" d="M446.67,-288.05C451.19,-280.14 456.67,-270.54 461.73,-261.69"/> <path fill="none" stroke="red" stroke-width="2" d="M462.97,-288.05C467.6,-280.14 473.23,-270.54 478.41,-261.69"/>
<polygon fill="red" stroke="red" stroke-width="2" points="463.96,-264.84 465.89,-254.42 457.89,-261.36 463.96,-264.84"/> <polygon fill="red" stroke="red" stroke-width="2" points="480.65,-264.8 482.68,-254.4 474.61,-261.26 480.65,-264.8"/>
</g> </g>
<!-- :core:common -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="87.98" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="92.04" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="87.98" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="92.04" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M350.54,-158.07C252.04,-151.38 29.32,-133.57 6.98,-108 -3.54,-95.95 -0.63,-86.07 6.98,-72 14.64,-57.84 27.9,-46.86 41.5,-38.66"/> <path fill="none" stroke="black" d="M363.83,-158.21C261.55,-151.79 30.29,-134.48 7.04,-108 -3.51,-95.97 -0.72,-85.99 7.04,-72 15.13,-57.42 29.09,-46.33 43.38,-38.16"/>
<polygon fill="black" stroke="black" points="43.02,-41.82 50.07,-33.91 39.62,-35.7 43.02,-41.82"/> <polygon fill="black" stroke="black" points="44.7,-41.42 51.91,-33.66 41.44,-35.22 44.7,-41.42"/>
</g> </g>
<!-- :core:database -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="543.98" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="564.04" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="543.98" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="564.04" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M425.67,-147.34C447.46,-136.96 477.74,-122.54 502.21,-110.89"/> <path fill="none" stroke="red" stroke-width="2" d="M441.71,-147.34C464.24,-136.96 495.55,-122.54 520.85,-110.89"/>
<polygon fill="red" stroke="red" stroke-width="2" points="502.05,-114.85 509.57,-107.39 499.04,-108.53 502.05,-114.85"/> <polygon fill="red" stroke="red" stroke-width="2" points="520.92,-114.71 528.54,-107.35 517.99,-108.35 520.92,-114.71"/>
</g> </g>
<!-- :core:datastore -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="396.98" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="412.04" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="396.98" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="412.04" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M396.98,-143.7C396.98,-136.41 396.98,-127.73 396.98,-119.54"/> <path fill="none" stroke="black" d="M412.04,-143.7C412.04,-136.41 412.04,-127.73 412.04,-119.54"/>
<polygon fill="black" stroke="black" points="400.48,-119.62 396.98,-109.62 393.48,-119.62 400.48,-119.62"/> <polygon fill="black" stroke="black" points="415.54,-119.62 412.04,-109.62 408.54,-119.62 415.54,-119.62"/>
</g> </g>
<!-- :core:network -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="77.98" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="81.04" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="77.98" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="81.04" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M356.1,-152.58C306.89,-142.38 221.77,-124.49 148.98,-108 144.66,-107.02 140.19,-105.99 135.69,-104.94"/> <path fill="none" stroke="black" d="M369.69,-152.57C318.7,-142.35 230.49,-124.44 155.04,-108 150.41,-106.99 145.61,-105.93 140.79,-104.85"/>
<polygon fill="black" stroke="black" points="136.55,-101.55 126.01,-102.67 134.94,-108.36 136.55,-101.55"/> <polygon fill="black" stroke="black" points="141.57,-101.44 131.05,-102.65 140.03,-108.26 141.57,-101.44"/>
</g> </g>
<!-- :core:analytics -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="689.98" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="716.04" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="689.98" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="716.04" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M436.19,-151.63C486.12,-139.7 572.84,-118.99 630.82,-105.13"/> <path fill="none" stroke="black" d="M452.73,-151.63C504.74,-139.66 595.25,-118.81 655.41,-104.96"/>
<polygon fill="black" stroke="black" points="631.63,-108.54 640.54,-102.81 630,-101.73 631.63,-108.54"/> <polygon fill="black" stroke="black" points="655.84,-108.45 664.8,-102.8 654.27,-101.63 655.84,-108.45"/>
</g> </g>
<!-- :core:notifications -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="235.98" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="245.04" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="235.98" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="245.04" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M366.7,-147.83C342.82,-137.45 309.11,-122.8 281.91,-110.97"/> <path fill="none" stroke="black" d="M380.63,-147.83C355.75,-137.4 320.59,-122.67 292.31,-110.81"/>
<polygon fill="black" stroke="black" points="283.42,-107.81 272.85,-107.03 280.63,-114.23 283.42,-107.81"/> <polygon fill="black" stroke="black" points="293.82,-107.65 283.24,-107.01 291.11,-114.1 293.82,-107.65"/>
</g> </g>
<!-- :sync:work&#45;&gt;:core:data -->
<g id="edge18" class="edge"> <g id="edge18" class="edge">
<title>:sync:work&#45;&gt;:core:data</title> <title>:sync:work-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M458.43,-216.76C448.06,-207.69 434.95,-196.22 423.51,-186.21"/> <path fill="none" stroke="red" stroke-width="2" d="M475.03,-216.76C464.39,-207.69 450.96,-196.22 439.24,-186.21"/>
<polygon fill="red" stroke="red" stroke-width="2" points="427.27,-184.85 417.44,-180.9 422.66,-190.12 427.27,-184.85"/> <polygon fill="red" stroke="red" stroke-width="2" points="442.86,-184.7 432.98,-180.87 438.31,-190.03 442.86,-184.7"/>
</g> </g>
<!-- :sync:work&#45;&gt;:core:analytics -->
<g id="edge17" class="edge"> <g id="edge17" class="edge">
<title>:sync:work&#45;&gt;:core:analytics</title> <title>:sync:work-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M500.18,-217.53C537.97,-192.34 612.97,-142.34 656.52,-113.31"/> <path fill="none" stroke="black" d="M518.22,-217.53C557.69,-192.29 636.1,-142.13 681.45,-113.13"/>
<polygon fill="black" stroke="black" points="658.19,-116.4 664.57,-107.94 654.31,-110.57 658.19,-116.4"/> <polygon fill="black" stroke="black" points="683.06,-116.25 689.6,-107.92 679.29,-110.36 683.06,-116.25"/>
</g> </g>
<!-- :core:model -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="235.98" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="245.04" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="235.98" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="245.04" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M496.11,-77.7C487.74,-75.77 479.11,-73.8 470.98,-72 395.16,-55.19 375.54,-53.98 299.98,-36 296.18,-35.09 292.25,-34.13 288.31,-33.14"/> <path fill="none" stroke="red" stroke-width="2" d="M514.86,-77.69C506.26,-75.76 497.4,-73.8 489.04,-72 410.56,-55.13 390.31,-53.88 312.04,-36 307.76,-35.02 303.32,-33.97 298.88,-32.9"/>
<polygon fill="red" stroke="red" stroke-width="2" points="290.7,-30.14 280.15,-31.04 288.96,-36.92 290.7,-30.14"/> <polygon fill="red" stroke="red" stroke-width="2" points="301.35,-29.9 290.8,-30.91 299.67,-36.7 301.35,-29.9"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M348.03,-77.72C339.67,-75.81 331.08,-73.84 322.98,-72 263.71,-58.51 195.99,-43.25 148.52,-32.58"/> <path fill="none" stroke="black" d="M361.1,-77.73C352.41,-75.82 343.47,-73.85 335.04,-72 273.42,-58.48 202.98,-43.12 153.86,-32.44"/>
<polygon fill="black" stroke="black" points="149.51,-29.22 138.99,-30.44 147.98,-36.05 149.51,-29.22"/> <polygon fill="black" stroke="black" points="154.78,-29.05 144.26,-30.35 153.29,-35.89 154.78,-29.05"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M363.23,-74.33C338.68,-63.65 305.24,-49.11 278.8,-37.62"/> <path fill="none" stroke="black" d="M377.03,-74.33C351.37,-63.57 316.34,-48.89 288.82,-37.35"/>
<polygon fill="black" stroke="black" points="280.27,-34.44 269.7,-33.66 277.48,-40.86 280.27,-34.44"/> <polygon fill="black" stroke="black" points="290.27,-34.16 279.7,-33.52 287.57,-40.62 290.27,-34.16"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node11" class="node"> <g id="node11" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="396.98" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="412.04" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="396.98" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="412.04" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M396.98,-71.7C396.98,-64.41 396.98,-55.73 396.98,-47.54"/> <path fill="none" stroke="black" d="M412.04,-71.7C412.04,-64.41 412.04,-55.73 412.04,-47.54"/>
<polygon fill="black" stroke="black" points="400.48,-47.62 396.98,-37.62 393.48,-47.62 400.48,-47.62"/> <polygon fill="black" stroke="black" points="415.54,-47.62 412.04,-37.62 408.54,-47.62 415.54,-47.62"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M80.45,-71.7C81.51,-64.32 82.76,-55.52 83.95,-47.25"/> <path fill="none" stroke="black" d="M83.76,-71.7C84.92,-64.32 86.3,-55.52 87.6,-47.25"/>
<polygon fill="black" stroke="black" points="87.38,-48 85.33,-37.6 80.45,-47.01 87.38,-48"/> <polygon fill="black" stroke="black" points="91.03,-48.02 89.12,-37.6 84.11,-46.93 91.03,-48.02"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M111.1,-74.33C135.2,-63.65 168.02,-49.11 193.96,-37.62"/> <path fill="none" stroke="black" d="M115.42,-74.33C140.55,-63.6 174.8,-48.98 201.78,-37.46"/>
<polygon fill="black" stroke="black" points="195.14,-40.92 202.87,-33.67 192.31,-34.52 195.14,-40.92"/> <polygon fill="black" stroke="black" points="202.89,-40.8 210.72,-33.65 200.14,-34.36 202.89,-40.8"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M202.77,-73.29C181.26,-63.12 153.07,-49.79 130.01,-38.88"/> <path fill="none" stroke="black" d="M210.71,-73.29C188.37,-63.07 159.07,-49.66 135.17,-38.73"/>
<polygon fill="black" stroke="black" points="131.72,-35.82 121.19,-34.7 128.73,-42.14 131.72,-35.82"/> <polygon fill="black" stroke="black" points="136.88,-35.66 126.33,-34.69 133.97,-42.03 136.88,-35.66"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M235.98,-71.7C235.98,-64.41 235.98,-55.73 235.98,-47.54"/> <path fill="none" stroke="black" d="M245.04,-71.7C245.04,-64.41 245.04,-55.73 245.04,-47.54"/>
<polygon fill="black" stroke="black" points="239.48,-47.62 235.98,-37.62 232.48,-47.62 239.48,-47.62"/> <polygon fill="black" stroke="black" points="248.54,-47.62 245.04,-37.62 241.54,-47.62 248.54,-47.62"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

@ -1,169 +1,138 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="813pt" height="260pt" viewBox="0.00 0.00 812.60 260.00">
<!-- Generated by graphviz version 9.0.0 (20230911.1827)
-->
<!-- Title: G Pages: 1 -->
<svg width="785pt" height="260pt"
viewBox="0.00 0.00 785.29 260.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)"> <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 256)">
<title>G</title> <title>G</title>
<polygon fill="white" stroke="none" points="-4,4 -4,-256 781.29,-256 781.29,4 -4,4"/> <polygon fill="white" stroke="none" points="-4,4 -4,-256 808.6,-256 808.6,4 -4,4"/>
<!-- :sync:work -->
<g id="node1" class="node"> <g id="node1" class="node">
<title>:sync:work</title> <title>:sync:work</title>
<ellipse fill="none" stroke="black" cx="155.66" cy="-234" rx="51.86" ry="18"/> <ellipse fill="none" stroke="black" cx="161.34" cy="-234" rx="53.95" ry="18"/>
<text text-anchor="middle" x="155.66" y="-228.95" font-family="Times,serif" font-size="14.00">:sync:work</text> <text text-anchor="middle" x="161.34" y="-229.8" font-family="Times,serif" font-size="14.00">:sync:work</text>
</g> </g>
<!-- :core:analytics -->
<g id="node2" class="node"> <g id="node2" class="node">
<title>:core:analytics</title> <title>:core:analytics</title>
<ellipse fill="none" stroke="black" cx="64.66" cy="-90" rx="64.66" ry="18"/> <ellipse fill="none" stroke="black" cx="67.34" cy="-90" rx="67.34" ry="18"/>
<text text-anchor="middle" x="64.66" y="-84.95" font-family="Times,serif" font-size="14.00">:core:analytics</text> <text text-anchor="middle" x="67.34" y="-85.8" font-family="Times,serif" font-size="14.00">:core:analytics</text>
</g> </g>
<!-- :sync:work&#45;&gt;:core:analytics -->
<g id="edge1" class="edge"> <g id="edge1" class="edge">
<title>:sync:work&#45;&gt;:core:analytics</title> <title>:sync:work-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M144.86,-216.15C129.2,-191.71 100.01,-146.17 81.5,-117.29"/> <path fill="none" stroke="black" d="M150.19,-216.15C134.01,-191.71 103.86,-146.17 84.74,-117.29"/>
<polygon fill="black" stroke="black" points="84.6,-115.63 76.26,-109.1 78.71,-119.41 84.6,-115.63"/> <polygon fill="black" stroke="black" points="87.75,-115.49 79.32,-109.09 81.92,-119.36 87.75,-115.49"/>
</g> </g>
<!-- :core:data -->
<g id="node3" class="node"> <g id="node3" class="node">
<title>:core:data</title> <title>:core:data</title>
<ellipse fill="none" stroke="black" cx="247.66" cy="-162" rx="47.26" ry="18"/> <ellipse fill="none" stroke="black" cx="255.34" cy="-162" rx="49.1" ry="18"/>
<text text-anchor="middle" x="247.66" y="-156.95" font-family="Times,serif" font-size="14.00">:core:data</text> <text text-anchor="middle" x="255.34" y="-157.8" font-family="Times,serif" font-size="14.00">:core:data</text>
</g> </g>
<!-- :sync:work&#45;&gt;:core:data -->
<g id="edge2" class="edge"> <g id="edge2" class="edge">
<title>:sync:work&#45;&gt;:core:data</title> <title>:sync:work-&gt;:core:data</title>
<path fill="none" stroke="red" stroke-width="2" d="M176.53,-217.12C188.85,-207.74 204.64,-195.73 218.21,-185.41"/> <path fill="none" stroke="red" stroke-width="2" d="M182.67,-217.12C195.26,-207.74 211.39,-195.73 225.25,-185.41"/>
<polygon fill="red" stroke="red" stroke-width="2" points="218.93,-189.25 224.77,-180.41 214.7,-183.68 218.93,-189.25"/> <polygon fill="red" stroke="red" stroke-width="2" points="226.06,-189.17 231.99,-180.39 221.88,-183.55 226.06,-189.17"/>
</g> </g>
<!-- :core:data&#45;&gt;:core:analytics -->
<g id="edge7" class="edge"> <g id="edge7" class="edge">
<title>:core:data&#45;&gt;:core:analytics</title> <title>:core:data-&gt;:core:analytics</title>
<path fill="none" stroke="black" d="M215.36,-148.65C186.78,-137.72 144.7,-121.62 112.27,-109.21"/> <path fill="none" stroke="black" d="M221.73,-148.49C192.28,-137.52 149.12,-121.45 115.92,-109.09"/>
<polygon fill="black" stroke="black" points="113.67,-106 103.08,-105.7 111.17,-112.54 113.67,-106"/> <polygon fill="black" stroke="black" points="117.53,-105.95 106.93,-105.74 115.08,-112.51 117.53,-105.95"/>
</g> </g>
<!-- :core:common -->
<g id="node4" class="node"> <g id="node4" class="node">
<title>:core:common</title> <title>:core:common</title>
<ellipse fill="none" stroke="black" cx="257.66" cy="-18" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="266.34" cy="-18" rx="66.81" ry="18"/>
<text text-anchor="middle" x="257.66" y="-12.95" font-family="Times,serif" font-size="14.00">:core:common</text> <text text-anchor="middle" x="266.34" y="-13.8" font-family="Times,serif" font-size="14.00">:core:common</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:common -->
<g id="edge3" class="edge"> <g id="edge3" class="edge">
<title>:core:data&#45;&gt;:core:common</title> <title>:core:data-&gt;:core:common</title>
<path fill="none" stroke="black" d="M218.41,-147.49C202.96,-138.64 185.41,-125.46 176.66,-108 169.49,-93.7 169.05,-86.07 176.66,-72 184.31,-57.84 197.57,-46.86 211.18,-38.66"/> <path fill="none" stroke="black" d="M224.51,-147.58C208.51,-138.83 190.44,-125.71 181.34,-108 174.03,-93.77 173.58,-85.99 181.34,-72 189.43,-57.42 203.38,-46.33 217.67,-38.16"/>
<polygon fill="black" stroke="black" points="212.7,-41.82 219.74,-33.91 209.3,-35.7 212.7,-41.82"/> <polygon fill="black" stroke="black" points="218.99,-41.42 226.21,-33.66 215.73,-35.22 218.99,-41.42"/>
</g> </g>
<!-- :core:database -->
<g id="node5" class="node"> <g id="node5" class="node">
<title>:core:database</title> <title>:core:database</title>
<ellipse fill="none" stroke="black" cx="713.66" cy="-90" rx="63.63" ry="18"/> <ellipse fill="none" stroke="black" cx="738.34" cy="-90" rx="66.26" ry="18"/>
<text text-anchor="middle" x="713.66" y="-84.95" font-family="Times,serif" font-size="14.00">:core:database</text> <text text-anchor="middle" x="738.34" y="-85.8" font-family="Times,serif" font-size="14.00">:core:database</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:database -->
<g id="edge4" class="edge"> <g id="edge4" class="edge">
<title>:core:data&#45;&gt;:core:database</title> <title>:core:data-&gt;:core:database</title>
<path fill="none" stroke="red" stroke-width="2" d="M292.97,-156.3C366.34,-148.38 515.55,-130.95 640.66,-108 645.62,-107.09 650.74,-106.07 655.88,-104.99"/> <path fill="none" stroke="red" stroke-width="2" d="M302.37,-156.34C378.53,-148.47 533.42,-131.11 663.34,-108 668.49,-107.08 673.82,-106.05 679.16,-104.96"/>
<polygon fill="red" stroke="red" stroke-width="2" points="655.08,-108.74 664.11,-103.19 653.59,-101.9 655.08,-108.74"/> <polygon fill="red" stroke="red" stroke-width="2" points="678.05,-108.77 687.1,-103.27 676.59,-101.92 678.05,-108.77"/>
</g> </g>
<!-- :core:datastore -->
<g id="node6" class="node"> <g id="node6" class="node">
<title>:core:datastore</title> <title>:core:datastore</title>
<ellipse fill="none" stroke="black" cx="566.66" cy="-90" rx="65.17" ry="18"/> <ellipse fill="none" stroke="black" cx="586.34" cy="-90" rx="67.87" ry="18"/>
<text text-anchor="middle" x="566.66" y="-84.95" font-family="Times,serif" font-size="14.00">:core:datastore</text> <text text-anchor="middle" x="586.34" y="-85.8" font-family="Times,serif" font-size="14.00">:core:datastore</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:datastore -->
<g id="edge5" class="edge"> <g id="edge5" class="edge">
<title>:core:data&#45;&gt;:core:datastore</title> <title>:core:data-&gt;:core:datastore</title>
<path fill="none" stroke="black" d="M288.01,-152.44C336.6,-142.09 420.66,-124.06 492.66,-108 497.29,-106.97 502.08,-105.89 506.9,-104.8"/> <path fill="none" stroke="black" d="M297.62,-152.33C348.06,-141.96 434.91,-123.98 509.34,-108 514.22,-106.95 519.26,-105.86 524.33,-104.76"/>
<polygon fill="black" stroke="black" points="507.67,-108.21 516.64,-102.58 506.11,-101.39 507.67,-108.21"/> <polygon fill="black" stroke="black" points="524.92,-108.21 533.94,-102.65 523.42,-101.37 524.92,-108.21"/>
</g> </g>
<!-- :core:network -->
<g id="node7" class="node"> <g id="node7" class="node">
<title>:core:network</title> <title>:core:network</title>
<ellipse fill="none" stroke="black" cx="247.66" cy="-90" rx="62.1" ry="18"/> <ellipse fill="none" stroke="black" cx="255.34" cy="-90" rx="64.66" ry="18"/>
<text text-anchor="middle" x="247.66" y="-84.95" font-family="Times,serif" font-size="14.00">:core:network</text> <text text-anchor="middle" x="255.34" y="-85.8" font-family="Times,serif" font-size="14.00">:core:network</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:network -->
<g id="edge6" class="edge"> <g id="edge6" class="edge">
<title>:core:data&#45;&gt;:core:network</title> <title>:core:data-&gt;:core:network</title>
<path fill="none" stroke="black" d="M247.66,-143.7C247.66,-136.41 247.66,-127.73 247.66,-119.54"/> <path fill="none" stroke="black" d="M255.34,-143.7C255.34,-136.41 255.34,-127.73 255.34,-119.54"/>
<polygon fill="black" stroke="black" points="251.16,-119.62 247.66,-109.62 244.16,-119.62 251.16,-119.62"/> <polygon fill="black" stroke="black" points="258.84,-119.62 255.34,-109.62 251.84,-119.62 258.84,-119.62"/>
</g> </g>
<!-- :core:notifications -->
<g id="node8" class="node"> <g id="node8" class="node">
<title>:core:notifications</title> <title>:core:notifications</title>
<ellipse fill="none" stroke="black" cx="405.66" cy="-90" rx="77.97" ry="18"/> <ellipse fill="none" stroke="black" cx="419.34" cy="-90" rx="81.29" ry="18"/>
<text text-anchor="middle" x="405.66" y="-84.95" font-family="Times,serif" font-size="14.00">:core:notifications</text> <text text-anchor="middle" x="419.34" y="-85.8" font-family="Times,serif" font-size="14.00">:core:notifications</text>
</g> </g>
<!-- :core:data&#45;&gt;:core:notifications -->
<g id="edge8" class="edge"> <g id="edge8" class="edge">
<title>:core:data&#45;&gt;:core:notifications</title> <title>:core:data-&gt;:core:notifications</title>
<path fill="none" stroke="black" d="M277.75,-147.67C301.15,-137.3 333.98,-122.76 360.52,-111"/> <path fill="none" stroke="black" d="M286.58,-147.67C310.86,-137.3 344.94,-122.76 372.49,-111"/>
<polygon fill="black" stroke="black" points="361.61,-114.34 369.34,-107.09 358.78,-107.94 361.61,-114.34"/> <polygon fill="black" stroke="black" points="373.86,-114.22 381.69,-107.07 371.12,-107.78 373.86,-114.22"/>
</g> </g>
<!-- :core:model -->
<g id="node9" class="node"> <g id="node9" class="node">
<title>:core:model</title> <title>:core:model</title>
<ellipse fill="none" stroke="black" cx="405.66" cy="-18" rx="55.45" ry="18"/> <ellipse fill="none" stroke="black" cx="419.34" cy="-18" rx="57.16" ry="18"/>
<text text-anchor="middle" x="405.66" y="-12.95" font-family="Times,serif" font-size="14.00">:core:model</text> <text text-anchor="middle" x="419.34" y="-13.8" font-family="Times,serif" font-size="14.00">:core:model</text>
</g> </g>
<!-- :core:database&#45;&gt;:core:model -->
<g id="edge9" class="edge"> <g id="edge9" class="edge">
<title>:core:database&#45;&gt;:core:model</title> <title>:core:database-&gt;:core:model</title>
<path fill="none" stroke="red" stroke-width="2" d="M665.79,-77.7C657.42,-75.77 648.79,-73.8 640.66,-72 564.83,-55.19 545.22,-53.98 469.66,-36 465.85,-35.09 461.93,-34.13 457.98,-33.14"/> <path fill="none" stroke="red" stroke-width="2" d="M689.16,-77.69C680.56,-75.76 671.7,-73.8 663.34,-72 584.86,-55.13 564.6,-53.88 486.34,-36 482.06,-35.02 477.62,-33.97 473.18,-32.9"/>
<polygon fill="red" stroke="red" stroke-width="2" points="460.38,-30.14 449.82,-31.04 458.64,-36.92 460.38,-30.14"/> <polygon fill="red" stroke="red" stroke-width="2" points="475.65,-29.9 465.1,-30.91 473.97,-36.7 475.65,-29.9"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:common -->
<g id="edge12" class="edge"> <g id="edge12" class="edge">
<title>:core:datastore&#45;&gt;:core:common</title> <title>:core:datastore-&gt;:core:common</title>
<path fill="none" stroke="black" d="M517.7,-77.72C509.35,-75.81 500.76,-73.84 492.66,-72 433.39,-58.51 365.66,-43.25 318.2,-32.58"/> <path fill="none" stroke="black" d="M535.4,-77.73C526.71,-75.82 517.77,-73.85 509.34,-72 447.72,-58.48 377.27,-43.12 328.16,-32.44"/>
<polygon fill="black" stroke="black" points="319.19,-29.22 308.66,-30.44 317.65,-36.05 319.19,-29.22"/> <polygon fill="black" stroke="black" points="329.07,-29.05 318.56,-30.35 327.59,-35.89 329.07,-29.05"/>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:model -->
<g id="edge11" class="edge"> <g id="edge11" class="edge">
<title>:core:datastore&#45;&gt;:core:model</title> <title>:core:datastore-&gt;:core:model</title>
<path fill="none" stroke="black" d="M532.91,-74.33C508.35,-63.65 474.91,-49.11 448.48,-37.62"/> <path fill="none" stroke="black" d="M551.33,-74.33C525.66,-63.57 490.64,-48.89 463.12,-37.35"/>
<polygon fill="black" stroke="black" points="449.95,-34.44 439.38,-33.66 447.16,-40.86 449.95,-34.44"/> <polygon fill="black" stroke="black" points="464.57,-34.16 453.99,-33.52 461.86,-40.62 464.57,-34.16"/>
</g> </g>
<!-- :core:datastore&#45;proto -->
<g id="node10" class="node"> <g id="node10" class="node">
<title>:core:datastore&#45;proto</title> <title>:core:datastore-proto</title>
<ellipse fill="none" stroke="black" cx="566.66" cy="-18" rx="87.69" ry="18"/> <ellipse fill="none" stroke="black" cx="586.34" cy="-18" rx="91.47" ry="18"/>
<text text-anchor="middle" x="566.66" y="-12.95" font-family="Times,serif" font-size="14.00">:core:datastore&#45;proto</text> <text text-anchor="middle" x="586.34" y="-13.8" font-family="Times,serif" font-size="14.00">:core:datastore-proto</text>
</g> </g>
<!-- :core:datastore&#45;&gt;:core:datastore&#45;proto -->
<g id="edge10" class="edge"> <g id="edge10" class="edge">
<title>:core:datastore&#45;&gt;:core:datastore&#45;proto</title> <title>:core:datastore-&gt;:core:datastore-proto</title>
<path fill="none" stroke="black" d="M566.66,-71.7C566.66,-64.41 566.66,-55.73 566.66,-47.54"/> <path fill="none" stroke="black" d="M586.34,-71.7C586.34,-64.41 586.34,-55.73 586.34,-47.54"/>
<polygon fill="black" stroke="black" points="570.16,-47.62 566.66,-37.62 563.16,-47.62 570.16,-47.62"/> <polygon fill="black" stroke="black" points="589.84,-47.62 586.34,-37.62 582.84,-47.62 589.84,-47.62"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:common -->
<g id="edge13" class="edge"> <g id="edge13" class="edge">
<title>:core:network&#45;&gt;:core:common</title> <title>:core:network-&gt;:core:common</title>
<path fill="none" stroke="black" d="M250.13,-71.7C251.18,-64.32 252.44,-55.52 253.62,-47.25"/> <path fill="none" stroke="black" d="M258.06,-71.7C259.22,-64.32 260.6,-55.52 261.9,-47.25"/>
<polygon fill="black" stroke="black" points="257.05,-48 255,-37.6 250.12,-47.01 257.05,-48"/> <polygon fill="black" stroke="black" points="265.32,-48.02 263.42,-37.6 258.41,-46.93 265.32,-48.02"/>
</g> </g>
<!-- :core:network&#45;&gt;:core:model -->
<g id="edge14" class="edge"> <g id="edge14" class="edge">
<title>:core:network&#45;&gt;:core:model</title> <title>:core:network-&gt;:core:model</title>
<path fill="none" stroke="black" d="M280.78,-74.33C304.88,-63.65 337.69,-49.11 363.64,-37.62"/> <path fill="none" stroke="black" d="M289.72,-74.33C314.85,-63.6 349.1,-48.98 376.08,-37.46"/>
<polygon fill="black" stroke="black" points="364.82,-40.92 372.54,-33.67 361.98,-34.52 364.82,-40.92"/> <polygon fill="black" stroke="black" points="377.19,-40.8 385.01,-33.65 374.44,-34.36 377.19,-40.8"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:common -->
<g id="edge16" class="edge"> <g id="edge16" class="edge">
<title>:core:notifications&#45;&gt;:core:common</title> <title>:core:notifications-&gt;:core:common</title>
<path fill="none" stroke="black" d="M372.44,-73.29C350.94,-63.12 322.75,-49.79 299.69,-38.88"/> <path fill="none" stroke="black" d="M385.01,-73.29C362.67,-63.07 333.37,-49.66 309.47,-38.73"/>
<polygon fill="black" stroke="black" points="301.4,-35.82 290.86,-34.7 298.4,-42.14 301.4,-35.82"/> <polygon fill="black" stroke="black" points="311.18,-35.66 300.63,-34.69 308.27,-42.03 311.18,-35.66"/>
</g> </g>
<!-- :core:notifications&#45;&gt;:core:model -->
<g id="edge15" class="edge"> <g id="edge15" class="edge">
<title>:core:notifications&#45;&gt;:core:model</title> <title>:core:notifications-&gt;:core:model</title>
<path fill="none" stroke="black" d="M405.66,-71.7C405.66,-64.41 405.66,-55.73 405.66,-47.54"/> <path fill="none" stroke="black" d="M419.34,-71.7C419.34,-64.41 419.34,-55.73 419.34,-47.54"/>
<polygon fill="black" stroke="black" points="409.16,-47.62 405.66,-37.62 402.16,-47.62 409.16,-47.62"/> <polygon fill="black" stroke="black" points="422.84,-47.62 419.34,-37.62 415.84,-47.62 422.84,-47.62"/>
</g> </g>
</g> </g>
</svg> </svg>

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

@ -41,13 +41,16 @@ internal class TopicArgs(val topicId: String) {
} }
fun NavController.navigateToTopic(topicId: String, navOptions: NavOptionsBuilder.() -> Unit = {}) { fun NavController.navigateToTopic(topicId: String, navOptions: NavOptionsBuilder.() -> Unit = {}) {
val encodedId = URLEncoder.encode(topicId, URL_CHARACTER_ENCODING) navigate(createTopicRoute(topicId)) {
val newRoute = "$TOPIC_ROUTE/$encodedId"
navigate(newRoute) {
navOptions() navOptions()
} }
} }
fun createTopicRoute(topicId: String): String {
val encodedId = URLEncoder.encode(topicId, URL_CHARACTER_ENCODING)
return "$TOPIC_ROUTE/$encodedId"
}
fun NavGraphBuilder.topicScreen( fun NavGraphBuilder.topicScreen(
showBackButton: Boolean, showBackButton: Boolean,
onBackClick: () -> Unit, onBackClick: () -> Unit,

@ -31,6 +31,19 @@ then
exit 1 exit 1
fi fi
# Check for a version of grep which supports Perl regex.
# On MacOS the OS installed grep doesn't support Perl regex so check for the existence of the
# GNU version instead which is prefixed with 'g' to distinguish it from the OS installed version.
if grep -P "" /dev/null > /dev/null 2>&1; then
GREP_COMMAND=grep
elif command -v ggrep &> /dev/null; then
GREP_COMMAND=ggrep
else
echo "You don't have a version of 'grep' installed which supports Perl regular expressions."
echo "On MacOS you can install one using Homebrew with the command: 'brew install grep'"
exit 1
fi
# Initialize an array to store excluded modules # Initialize an array to store excluded modules
excluded_modules=() excluded_modules=()
@ -50,7 +63,7 @@ while [[ $# -gt 0 ]]; do
done done
# Get the module paths # Get the module paths
module_paths=$(./gradlew -q printModulePaths --no-configuration-cache) module_paths=$(${GREP_COMMAND} -oP 'include\("\K[^"]+' settings.gradle.kts)
# Ensure the output directory exists # Ensure the output directory exists
mkdir -p docs/images/graphs/ mkdir -p docs/images/graphs/
@ -100,8 +113,11 @@ echo "$module_paths" | while read -r module_path; do
-Pmodules.graph.output.gv="/tmp/${file_name}.gv" \ -Pmodules.graph.output.gv="/tmp/${file_name}.gv" \
-Pmodules.graph.of.module="${module_path}" </dev/null -Pmodules.graph.of.module="${module_path}" </dev/null
# Convert to SVG using dot # Convert to SVG using dot, remove unnecessary comments, and reformat
dot -Tsvg "/tmp/${file_name}.gv" > "docs/images/graphs/${file_name}.svg" dot -Tsvg "/tmp/${file_name}.gv" |
sed 's/<!--/\x0<!--/g;s/-->/-->\x0/g' | grep -zv '^<!--' | tr -d '\0' |
xmllint --format - \
> "docs/images/graphs/${file_name}.svg"
# Remove the temporary .gv file # Remove the temporary .gv file
rm "/tmp/${file_name}.gv" rm "/tmp/${file_name}.gv"
fi fi

@ -2,9 +2,9 @@
accompanist = "0.34.0" accompanist = "0.34.0"
androidDesugarJdkLibs = "2.0.4" androidDesugarJdkLibs = "2.0.4"
# AGP and tools should be updated together # AGP and tools should be updated together
androidGradlePlugin = "8.3.0" androidGradlePlugin = "8.4.0"
androidTools = "31.3.0" androidTools = "31.4.0"
androidxActivity = "1.8.0" androidxActivity = "1.8.2"
androidxAppCompat = "1.6.1" androidxAppCompat = "1.6.1"
androidxBrowser = "1.8.0" androidxBrowser = "1.8.0"
androidxComposeBom = "2024.02.02" androidxComposeBom = "2024.02.02"
@ -17,9 +17,9 @@ androidxDataStore = "1.0.0"
androidxEspresso = "3.5.1" androidxEspresso = "3.5.1"
androidxHiltNavigationCompose = "1.2.0" androidxHiltNavigationCompose = "1.2.0"
androidxLifecycle = "2.7.0" androidxLifecycle = "2.7.0"
androidxMacroBenchmark = "1.2.2" androidxMacroBenchmark = "1.2.4"
androidxMetrics = "1.0.0-alpha04" androidxMetrics = "1.0.0-alpha04"
androidxNavigation = "2.7.4" androidxNavigation = "2.8.0-alpha06"
androidxProfileinstaller = "1.3.1" androidxProfileinstaller = "1.3.1"
androidxTestCore = "1.5.0" androidxTestCore = "1.5.0"
androidxTestExt = "1.1.5" androidxTestExt = "1.1.5"
@ -30,7 +30,7 @@ androidxUiAutomator = "2.2.0"
androidxWindowManager = "1.3.0-alpha03" androidxWindowManager = "1.3.0-alpha03"
androidxWork = "2.9.0" androidxWork = "2.9.0"
coil = "2.6.0" coil = "2.6.0"
dependencyGuard = "0.4.3" dependencyGuard = "0.5.0"
firebaseBom = "32.4.0" firebaseBom = "32.4.0"
firebaseCrashlyticsPlugin = "2.9.9" firebaseCrashlyticsPlugin = "2.9.9"
firebasePerfPlugin = "1.4.2" firebasePerfPlugin = "1.4.2"
@ -48,7 +48,7 @@ kotlinxSerializationJson = "1.6.3"
ksp = "2.0.0-1.0.21" ksp = "2.0.0-1.0.21"
moduleGraph = "2.5.0" moduleGraph = "2.5.0"
okhttp = "4.12.0" okhttp = "4.12.0"
protobuf = "3.25.2" protobuf = "4.26.0"
protobufPlugin = "0.9.4" protobufPlugin = "0.9.4"
retrofit = "2.9.0" retrofit = "2.9.0"
retrofitKotlinxSerializationJson = "1.0.0" retrofitKotlinxSerializationJson = "1.0.0"
@ -57,7 +57,7 @@ roborazzi = "1.7.0"
room = "2.6.1" room = "2.6.1"
secrets = "2.0.1" secrets = "2.0.1"
truth = "1.4.2" truth = "1.4.2"
turbine = "1.0.0" turbine = "1.1.0"
[libraries] [libraries]
accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanist" } accompanist-permissions = { group = "com.google.accompanist", name = "accompanist-permissions", version.ref = "accompanist" }
@ -149,7 +149,6 @@ firebase-performance-gradlePlugin = { group = "com.google.firebase", name = "per
kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" } kotlin-gradlePlugin = { group = "org.jetbrains.kotlin", name = "kotlin-gradle-plugin", version.ref = "kotlin" }
ksp-gradlePlugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" } ksp-gradlePlugin = { group = "com.google.devtools.ksp", name = "com.google.devtools.ksp.gradle.plugin", version.ref = "ksp" }
room-gradlePlugin = { group = "androidx.room", name = "room-gradle-plugin", version.ref = "room" } room-gradlePlugin = { group = "androidx.room", name = "room-gradle-plugin", version.ref = "room" }
work-testing = { group = "androidx.work", name = "work-testing", version = "2.9.0" }
[plugins] [plugins]
android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" } android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }

Binary file not shown.

@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
networkTimeout=10000 networkTimeout=10000
validateDistributionUrl=true validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME zipStoreBase=GRADLE_USER_HOME

20
gradlew.bat vendored

@ -43,11 +43,11 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1 %JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute if %ERRORLEVEL% equ 0 goto execute
echo. echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. echo location of your Java installation. 1>&2
goto fail goto fail
@ -57,11 +57,11 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute if exist "%JAVA_EXE%" goto execute
echo. echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. echo location of your Java installation. 1>&2
goto fail goto fail

@ -40,5 +40,6 @@ dependencies {
androidTestImplementation(libs.androidx.work.testing) androidTestImplementation(libs.androidx.work.testing)
androidTestImplementation(libs.hilt.android.testing) androidTestImplementation(libs.hilt.android.testing)
androidTestImplementation(libs.kotlinx.coroutines.guava)
androidTestImplementation(projects.core.testing) androidTestImplementation(projects.core.testing)
} }

Loading…
Cancel
Save