From 29325b6c2775806080dc40e1988634d6ceb300a0 Mon Sep 17 00:00:00 2001
From: NuklearRabbit <145918611+NuklearRabbit@users.noreply.github.com>
Date: Mon, 10 Aug 2026 18:13:18 +0200
Subject: [PATCH] M29: polish recruiter engineering story
---
PROJECT_STATE.md | 25 +++
README.md | 166 +++++++-----------
artifacts/evidence/architecture.md | 99 ++++++-----
artifacts/evidence/screenshots/1-login.png | Bin 34279 -> 82940 bytes
.../evidence/screenshots/2-highlights.png | Bin 0 -> 105291 bytes
.../screenshots/3-engineering-story.png | Bin 0 -> 310159 bytes
.../evidence/screenshots/4-dashboard.png | Bin 0 -> 199370 bytes
.../screenshots/5-knowledge-evidence.png | Bin 0 -> 125030 bytes
.../screenshots/6-highlights-mobile.png | Bin 0 -> 40192 bytes
backend/app/schemas.py | 1 +
backend/app/services/demo_manifest.py | 25 ++-
backend/app/services/returns.py | 1 +
backend/tests/test_return.py | 2 +
docs/16-portfolio-case-study.md | 58 +++---
.../_capture-recruiter-screenshots.spec.ts | 40 +++++
frontend/e2e/demo-entry.spec.ts | 2 +-
frontend/e2e/demo-legibility.spec.ts | 2 +-
frontend/e2e/demo.spec.ts | 4 +-
frontend/e2e/fleet-ops-correction.spec.ts | 2 +-
frontend/e2e/interactive-elements.spec.ts | 10 +-
frontend/e2e/recruiter-polish.spec.ts | 38 ++++
frontend/index.html | 13 +-
frontend/playwright.config.ts | 2 +-
frontend/public/og-fleet-ops.svg | 24 +++
frontend/src/App.tsx | 4 +-
frontend/src/api/types.ts | 1 +
frontend/src/components/Layout.tsx | 1 +
frontend/src/components/ReturnForm.tsx | 2 +-
frontend/src/data/demoGuideSteps.ts | 6 +-
frontend/src/i18n/locales/en-GB/audit.json | 11 ++
frontend/src/i18n/locales/en-GB/auth.json | 1 +
frontend/src/i18n/locales/en-GB/demo.json | 48 ++++-
.../src/i18n/locales/en-GB/knowledge.json | 10 ++
.../src/i18n/locales/en-GB/navigation.json | 3 +-
frontend/src/i18n/locales/en-GB/quality.json | 2 +-
frontend/src/i18n/locales/en-GB/returns.json | 1 +
frontend/src/i18n/locales/fr-BE/audit.json | 11 ++
frontend/src/i18n/locales/fr-BE/auth.json | 1 +
frontend/src/i18n/locales/fr-BE/demo.json | 48 ++++-
.../src/i18n/locales/fr-BE/knowledge.json | 12 +-
.../src/i18n/locales/fr-BE/navigation.json | 3 +-
frontend/src/i18n/locales/fr-BE/quality.json | 2 +-
frontend/src/i18n/locales/fr-BE/returns.json | 1 +
frontend/src/i18n/locales/nl-BE/audit.json | 11 ++
frontend/src/i18n/locales/nl-BE/auth.json | 1 +
frontend/src/i18n/locales/nl-BE/demo.json | 48 ++++-
.../src/i18n/locales/nl-BE/knowledge.json | 10 ++
.../src/i18n/locales/nl-BE/navigation.json | 3 +-
frontend/src/i18n/locales/nl-BE/quality.json | 2 +-
frontend/src/i18n/locales/nl-BE/returns.json | 1 +
frontend/src/pages/AboutDemo.tsx | 165 ++++++-----------
frontend/src/pages/Audit.tsx | 18 ++
frontend/src/pages/DataQualityIssueDetail.tsx | 2 +-
frontend/src/pages/Highlights.tsx | 60 +++++++
frontend/src/pages/Knowledge.tsx | 21 ++-
frontend/src/pages/Login.tsx | 10 +-
frontend/src/styles.css | 32 ++++
57 files changed, 717 insertions(+), 349 deletions(-)
create mode 100644 artifacts/evidence/screenshots/2-highlights.png
create mode 100644 artifacts/evidence/screenshots/3-engineering-story.png
create mode 100644 artifacts/evidence/screenshots/4-dashboard.png
create mode 100644 artifacts/evidence/screenshots/5-knowledge-evidence.png
create mode 100644 artifacts/evidence/screenshots/6-highlights-mobile.png
create mode 100644 frontend/e2e/_capture-recruiter-screenshots.spec.ts
create mode 100644 frontend/e2e/recruiter-polish.spec.ts
create mode 100644 frontend/public/og-fleet-ops.svg
create mode 100644 frontend/src/pages/Highlights.tsx
diff --git a/PROJECT_STATE.md b/PROJECT_STATE.md
index cf71768..08ed384 100644
--- a/PROJECT_STATE.md
+++ b/PROJECT_STATE.md
@@ -2647,3 +2647,28 @@ evidence yet."
error or traceback appears in post-deployment logs.
- Exact next action: none for the selected scope. Optional secret rotation and new n8n
execution evidence remain intentionally deferred by the user.
+
+## M29 — recruiter-facing product polish and engineering evidence (2026-08-10)
+
+- Added a passwordless **90-second Highlights** entry that presents three directly
+ verifiable engineering stories: transactional vehicle returns, human-controlled data
+ correction and citation-bound knowledge. Rebuilt the Engineering page around domain
+ ownership, commit-before-orchestration, AI evidence, architecture and honest live/demo
+ integration states.
+- Return completion now carries its persisted correlation ID into a dedicated audit
+ processing trace, linking the return, vehicle state, transactional outbox and delivery
+ evidence. Data-quality detail pages lead with the human rule name instead of a raw
+ identifier; Knowledge Hub source titles, staged progress and provider diagnostics are
+ clearer without overstating RAGcore index evidence.
+- Improved recruiter entry metadata and social preview, route skeletons, 360 px touch
+ targets, reduced-motion behaviour, trilingual content and deterministic guide fallbacks.
+ Added automated recruiter and mobile-overflow coverage plus reproducible evidence
+ screenshot tooling. Refocused README, architecture and portfolio documentation on
+ inspectable product and reliability claims.
+- Validation: isolated backend **239 passed**; Ruff clean; mypy clean across 58 files;
+ frontend lint/build passed; full Playwright **150 passed in 5.2 minutes**; full and
+ production npm audits report zero vulnerabilities; screenshot capture **1 passed** and
+ desktop/mobile output was visually inspected.
+- Exact next action: commit and push M29, create and verify a live database backup,
+ deploy the committed archive to Unraid, then run live health, migration, browser and
+ acceptance checks before recording the final production evidence.
diff --git a/README.md b/README.md
index 3296269..425d830 100644
--- a/README.md
+++ b/README.md
@@ -1,136 +1,94 @@
# Fleet Ops
-**Connected operations for vehicle rental and service teams.**
+**A recruiter-ready operations platform for vehicle rental and service teams.**
-Fleet Ops is a working proof of concept for a fictitious mobility company. It combines vehicle and booking operations, a controlled vehicle-return workflow, data-quality review, RAGcore-backed internal knowledge, n8n orchestration and read-only tools published through ITWorx MCP Hub.
+[Open the live demo](http://192.168.10.150:1236) · no password required · choose **Highlights in 90 seconds** for the shortest tour.
-**Naming:** "Fleet Ops" is the product's visible name everywhere in the UI, the demo
-knowledge base, and this documentation. "MobilityOps" remains the technical
-identifier only — the repository name, local directory, package/module names, Docker
-Compose project, deployment directory, and database names. The UI is fully trilingual
-(nl-BE default, en-GB, fr-BE); see `docs/fleet-ops-correction/` for the localization
-architecture, the vehicle-status decision table, and the correction evidence, and
-`docs/fleet-ops-final-localization/` for the follow-up correction round (remaining
-NL/FR translation gaps, centralized API-error localization, the time-dependent
-Europe/Brussels dashboard greeting).
+Fleet Ops turns fragmented vehicle, booking and procedure data into one controlled operational workspace. It is a complete synthetic-data product demo: the company and records are fictional, while the workflows, persistence, validation, authorization, audit trail and integration boundaries are implemented.
-The web application uses the premium responsive **Control Rail** interface: a compact
-operations-first workspace with persisted readiness metrics, evidence-led exceptions,
-review-before-commit return handling and mobile navigation designed down to 390 px. See
-`docs/design/design-directions.md` and `docs/design/implementation-validation.md` for the
-design decision and visual evidence.
+
-All people, companies, vehicles, bookings and documents are synthetic. The workflows, validation, integrations, audit logging and access boundaries are intended to be real.
+## The 90-second tour
-## Demo
+1. Open **Highlights** from the login screen.
+2. Follow a vehicle return from review to atomic commit, quality issue, outbox and correlated audit trace.
+3. Compare and merge a duplicate customer with explicit human confirmation.
+4. Ask the Knowledge Hub a damage question and inspect its cited procedure evidence.
+5. Open **Engineering** for the architecture, reliability guarantees, test evidence and honest scope boundary.
-The demo presents itself as **Northstar Mobility**, a fictitious Belgian camper/van
-rental company — the login screen, a permanent "Synthetische demo" indicator, an in-app
-guided tour (Demo Guide), a curated `/scenarios` overview, and an "Over deze demo" page
-all make the fictional context, synthetic-data status, and real-vs-simulated boundaries
-explicit without any verbal explanation. See `docs/demo-release/` for the full demo
-concept, the five named scenarios, the seed/date-anchoring strategy, the guided-tour
-design, and the operational runbook (5-minute and 10-minute demo flows, reset, redeploy,
-rollback).
+## What makes it more than a mock-up
-## Scope
+- **Transactional operations:** a return writes the inspection, vehicle/booking state, audit events and outbox record atomically. n8n downtime never rolls back the local business transaction.
+- **Explainable data quality:** five persisted rule types, SLA deadlines, assignment, bulk queue controls and bounded resolution flows—not decorative warning cards.
+- **Grounded knowledge:** the live deployment uses RAGcore; insufficient or unavailable evidence produces no invented answer. Citations and provider provenance remain inspectable.
+- **Safe AI exposure:** four tenant-bound, service-authenticated, read-only Fleet Ops tools are published through ITWorx MCP Hub and audited with correlation IDs.
+- **Operational reliability:** bounded retries, delivery leases, health/readiness, Prometheus metrics, Grafana, scheduled verified backups and graceful external-dependency degradation.
+- **Real product ergonomics:** nl-BE, en-GB and fr-BE; responsive from 360 px; keyboard-accessible navigation; role-aware global search; route-level lazy loading; server-enforced permissions.
-The PoC implements:
+## Architecture
-- operations dashboard with a truthful aggregate n8n/MCP integration-status card;
-- vehicle and booking workspaces with planning windows, location filters, service/next-
- booking context, operational ordering and pagination;
-- server-backed session lifecycle (refresh-safe, central 401 handling);
-- a role matrix enforced server-side and mirrored in the UI (see
- `docs/12-security-and-audit.md`);
-- vehicle return capture → authoritative server-evaluated review → commit → result;
-- five deterministic data-quality checks with SLA deadlines, assignment, overdue/bulk
- queue controls, bounded resolution flows and a manual scan action;
-- human review and customer merge;
-- audit trail with human-readable before/after evidence and safe entity links;
-- role-aware global search across vehicles, bookings and (Operations Manager) issues;
-- safe, confirmed demo reset;
-- RAGcore-backed knowledge assistant with citations;
-- four canonical n8n workflows: return processing, scheduled data-quality scanning,
- RAGcore procedure sync and centralized workflow-error handling, with explicit
- heartbeat evidence and crash-recoverable outbox delivery leases;
-- four read-only MCP tools through ITWorx MCP Hub;
-- deterministic demo reset and five-minute showcase.
-- audited operational user creation, role/name editing, password reset and activation.
+```mermaid
+flowchart LR
+ UI["React + TypeScript\nresponsive operations UI"] -->|session cookie| API["FastAPI\nbusiness rules + RBAC"]
+ API --> DB[(PostgreSQL)]
+ API -->|grounded retrieval| RAG[RAGcore]
+ DB --> OUT["Transactional outbox"]
+ OUT -->|bounded retry| N8N["Existing central n8n"]
+ N8N -->|authenticated callback| API
+ HUB["ITWorx MCP Hub"] -->|4 read-only tools| API
+```
-It is not an ERP, CRM, accounting package, public booking site, payment system or autonomous agent.
+Fleet Ops owns operational truth. RAGcore owns retrieval, n8n performs post-commit orchestration, and MCP Hub owns tool transport/publication. Neither RAGcore nor MCP Hub accesses the Fleet Ops database directly. See [the as-built architecture](artifacts/evidence/architecture.md).
-## Integration status
+## Demonstrable scope
-- **n8n**: fully implemented and verified against a real n8n instance, including
- degraded mode (n8n stopped mid-flow → return still commits, event stays `pending`
- with backoff, self-heals once n8n returns), the failed-delivery manual-retry path,
- stale-delivery-lease recovery after a simulated crash, and a second (scheduled
- quality-scan) workflow live-verified end to end against a real n8n instance.
- `GET /api/v1/integrations/status` reports a truthful aggregate state from outbox
- delivery counts, not just the most recent event.
-- **RAGcore**: the live deployment uses `KNOWLEDGE_PROVIDER=ragcore`. Readiness and real
- grounded retrieval are verified end to end; when RAGcore's generated-answer endpoint
- is unavailable, Fleet Ops falls back only to cited extractive search results and never
- invents an answer. The deterministic demo provider remains available for clean-checkout
- acceptance and local development.
-- **ITWorx MCP Hub**: the four read-only provider endpoints are implemented, tested, and
- directly `curl`-verified with correct auth enforcement and audit logging.
- `MCP_HUB_REGISTRATION_ENABLED` is actually wired into `Settings` and reported honestly
- by the integration-status endpoint (evidence-based: real tool-call audit history, not
- just the flag). The Fleet Ops connector is confirmed live in the ITWorx MCP Hub's own
- production deployment (Tower), with a real contract fix already applied there
- (`vehicle.get`'s wire parameter normalized to `vehicleRef`).
+- dashboard, vehicle fleet, booking lifecycle and controlled returns;
+- data-quality queue, assignment, review, merge and resolution;
+- correlated human-readable audit history;
+- cited Knowledge Hub with honest provider state;
+- n8n delivery monitoring and manual retry;
+- user administration, privacy export/anonymisation and retention guards;
+- deterministic reset with 2 users, 180 customers, 50 vehicles, 254 bookings, 75 inspections, 40 maintenance records, 33 quality issues and 20 workflow runs.
-See `artifacts/functional-completion/final-summary.md` for the functional-completion
-audit evidence (supersedes the design-validation summary below for integration status),
-and `artifacts/final-acceptance/summary.md` for the original M0–M7 acceptance evidence.
+This is deliberately not accounting, payments, a public reservation site, generic CRM, inventory, HR or an autonomous write agent.
-## Repository map
+## Stack
-- `CLAUDE.md` — binding implementation rules.
-- `MASTER_BUILD_PROMPT.md` — prompt to start an autonomous Claude run.
-- `PROJECT_STATE.md` — short persistent project memory.
-- `docs/` — product, architecture, UX and acceptance specification.
-- `contracts/` — OpenAPI, event and MCP contracts.
-- `knowledge/` — fictitious source documents for the MobilityOps RAGcore workspace.
-- `seed/` — deterministic synthetic dataset and generator.
-- `n8n/` — importable workflow definitions.
-- `backend/` — FastAPI/SQLAlchemy/Alembic API.
-- `frontend/` — React/TypeScript/Vite web app, including the Playwright end-to-end suite (`frontend/e2e/`).
-- `artifacts/evidence/` — final acceptance evidence (screenshots, architecture, `final-summary.md`).
-- `artifacts/design-validation/` — baseline audit, Stitch direction references and implemented responsive captures.
-- `docs/functional-completion/` — the functional-completion audit and pre-work server baseline.
-- `artifacts/functional-completion/` — functional-completion acceptance evidence.
-- `docs/demo-release/` — demo concept, scenarios, seed/date-anchoring strategy, guided
- tour, and runbook.
-- `artifacts/demo-release/` — demo-productization acceptance evidence.
+React, TypeScript, Vite, FastAPI, SQLAlchemy 2, PostgreSQL, Alembic, n8n, RAGcore, ITWorx MCP Hub, Docker Compose, Prometheus, Grafana and Playwright.
-## Quickstart
+## Run locally
```bash
cp .env.example .env
make demo
```
-This builds and starts the full stack (migrations run automatically) and loads the
-deterministic demo dataset. See `docs/17-runbook.md` for the one-time n8n workflow setup
-required for the automation demo, and the full operational runbook.
-
-Endpoints:
-
- Web: `http://localhost:1228`
-- API readiness: `http://localhost:8128/health/ready` (liveness: `/health/live`)
-- n8n: `http://localhost:5678`
+- API readiness: `http://localhost:8128/health/ready`
+- Existing n8n server: configure `N8N_BASE_URL`; Fleet Ops does not create a second n8n instance.
-All defaults are configurable via `.env` (see `.env.example`).
+The deterministic local knowledge provider supports clean-checkout acceptance without pretending to be the live RAGcore integration. Configuration is documented in `.env.example`; operations and recovery are in [docs/17-runbook.md](docs/17-runbook.md).
## Quality gates
```bash
-make test # backend: isolated PostgreSQL Compose project; never the live database
-make lint # backend: ruff + mypy (strict, zero errors)
-make e2e # frontend: complete Playwright acceptance (live stack required)
+make test # isolated PostgreSQL backend suite
+make lint # Ruff + strict mypy
+make e2e # complete Playwright browser acceptance
+cd frontend && npm run build
```
-Frontend build/typecheck: `cd frontend && npm run build` (`tsc -b && vite build`).
+Current verified results and production evidence are recorded in [artifacts/evidence/final-summary.md](artifacts/evidence/final-summary.md) and [PROJECT_STATE.md](PROJECT_STATE.md).
+
+## Repository map
+
+- `backend/` — FastAPI domain, API, migrations and tests
+- `frontend/` — React app and Playwright acceptance suite
+- `contracts/` — OpenAPI, event and MCP contracts
+- `knowledge/` — versioned fictional procedures
+- `n8n/` — importable workflow definitions for the existing server
+- `seed/` — deterministic synthetic dataset
+- `docs/` — architecture, security, UX, testing and runbooks
+- `artifacts/evidence/` — current acceptance evidence and screenshots
+
+“MobilityOps” remains the repository/deployment identifier; **Fleet Ops** is the product name shown to users.
diff --git a/artifacts/evidence/architecture.md b/artifacts/evidence/architecture.md
index 398ae32..abea803 100644
--- a/artifacts/evidence/architecture.md
+++ b/artifacts/evidence/architecture.md
@@ -1,63 +1,68 @@
-# MobilityOps — as-built architecture
+# Fleet Ops — as-built architecture
```mermaid
flowchart TB
- subgraph Browser
- UI["MobilityOps Web
React + TypeScript"]
- end
+ UI["Fleet Ops Web\nReact + TypeScript + Vite"]
- subgraph MobilityOps["MobilityOps (this repo)"]
- API["FastAPI backend
/api/v1/*"]
- DISPATCH["Outbox dispatcher
background thread"]
+ subgraph CORE["Fleet Ops — this repository"]
+ API["FastAPI /api/v1\nRBAC + domain rules"]
+ OUT["Outbox dispatcher\nleases + bounded retry"]
DB[(PostgreSQL)]
+ OBS["Prometheus metrics\nGrafana dashboards"]
API --> DB
- DISPATCH --> DB
+ OUT --> DB
+ API --> OBS
end
- subgraph External["External central services"]
- N8N["n8n
return-processing workflow"]
- RAGDEMO["Demo KnowledgeProvider
TF-IDF extractive, local files"]
- RAGCORE["RAGcore
(adapter built, no live instance)"]
- HUB["ITWorx MCP Hub
(endpoints built, no live instance)"]
+ subgraph EXT["Existing external platforms"]
+ N8N["Central n8n\nsecondary orchestration"]
+ RAG["RAGcore\ngrounded procedure retrieval"]
+ HUB["ITWorx MCP Hub\ntool transport + publication"]
end
- UI -->|session cookie| API
- API -->|GroundedAnswer| RAGDEMO
- API -.->|configurable, unavailable-safe| RAGCORE
- DISPATCH -->|POST vehicle.returned.v1| N8N
- N8N -->|callback, X-Service-Token| API
- HUB -.->|X-Service-Token, read-only| API
-
- classDef unverified stroke-dasharray: 5 5;
- class RAGCORE,HUB unverified;
+ UI -->|secure session cookie| API
+ API -->|tenant/workspace adapter| RAG
+ OUT -->|vehicle.returned.v1| N8N
+ N8N -->|service-authenticated callback| API
+ HUB -->|service-authenticated read-only tools| API
```
-Dashed boxes/arrows are implemented and unit/contract-tested but were never exercised
-against a live instance in this environment (no reachable RAGcore or ITWorx MCP Hub).
-Solid boxes were verified end-to-end, including a real n8n instance.
+## Ownership and trust boundaries
-## Component responsibility (unchanged from `docs/03-architecture.md`)
+| Component | Owns | Explicitly does not own |
+|---|---|---|
+| Fleet Ops | vehicles, customers, bookings, inspections, quality issues, audit, permissions, outbox state | external workflow execution or procedure retrieval |
+| RAGcore | indexing/retrieval and grounded procedure evidence | Fleet Ops database or business state |
+| ITWorx MCP Hub | MCP transport, connector publication and central tool-call audit | Fleet Ops database or write actions |
+| n8n | post-commit workflow orchestration | critical business rules or the source-of-truth transaction |
-| Component | Owns |
-|---|---|
-| MobilityOps | vehicles, customers, bookings, inspections, data-quality issues, audit, outbox/delivery state |
-| RAGcore | procedure retrieval and grounded answers (demo provider substitutes locally) |
-| ITWorx MCP Hub | MCP transport, tool publication, central tool-call audit |
-| n8n | post-commit secondary orchestration only — never the source of truth for vehicle state |
+## End-to-end return trace
-## Reliability boundaries verified in this build
+```mermaid
+sequenceDiagram
+ actor Operator
+ participant Web
+ participant API
+ participant DB
+ participant n8n
+ Operator->>Web: Review and confirm return
+ Web->>API: POST return with idempotency key
+ API->>DB: Lock booking and validate invariants
+ API->>DB: Commit inspection, state, audit and outbox atomically
+ API-->>Web: Result + correlation ID
+ Web-->>Operator: Human result and full processing trace
+ API->>n8n: Deliver persisted outbox event
+ n8n->>API: Authenticated status callback
+ API->>DB: Persist delivery/audit evidence
+```
-1. **Return commits atomically with its outbox event** — `app/services/returns.py`, one
- transaction; verified by `test_concurrent_returns_only_one_succeeds` (real Postgres row
- locking, not mocked).
-2. **Outbox delivery is at-least-once, idempotent by event ID** — verified live: the n8n
- callback checks for an existing `AuditEvent` by event ID before recording a second time.
-3. **RAGcore failure disables knowledge answers only** — `RAGcoreKnowledgeProvider` degrades
- to `unavailable`; the rest of the app is unaffected because the knowledge router is the
- only consumer.
-4. **MCP Hub failure does not affect the web application** — the four MCP provider
- endpoints are a separate authenticated surface (`X-Service-Token`), invisible to the
- browser-facing API/UI.
-5. **n8n failure leaves events pending with bounded retries** — verified live: a seeded
- `failed` event, retried through the UI, was picked up by the background dispatcher and
- delivered through the real n8n instance within one poll cycle.
+## Verified reliability properties
+
+1. Concurrent returns serialize through PostgreSQL row locking; only one can commit.
+2. Local return success is independent of n8n availability. Pending delivery remains persisted and retryable.
+3. Outbox delivery is at-least-once and idempotent by event ID, with crash-recoverable leases and bounded backoff.
+4. RAGcore failure affects knowledge answers only. The UI reports unavailable/insufficient evidence and does not invent an answer.
+5. MCP endpoints are a separate tenant-bound, client-identity-validated, read-only surface; every call is audited with a correlation ID.
+6. Browser authorization is enforced again on the API. Hiding a navigation item is never the security boundary.
+
+The live deployment has exercised all three external boundaries. Local clean-checkout acceptance can use the deterministic extractive knowledge provider while reporting that mode honestly.
diff --git a/artifacts/evidence/screenshots/1-login.png b/artifacts/evidence/screenshots/1-login.png
index c5134871f779cc6d167290b9a8872bf0318a4502..56d0d33b334bc7bc89b9a5593ade672ff5379b11 100644
GIT binary patch
literal 82940
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