timothy and Claude Opus 4.8
94ebf34ccd
Build ErsatzTV Image / Docs update reminder (pull_request) Successful in 7s
Build ErsatzTV Image / Build & test (.NET) (pull_request) Successful in 5m24s
Build ErsatzTV Image / EF migration integrity (SQLite + MySql) (pull_request) Successful in 4m25s
Build ErsatzTV Image / Build & push image (amd64) (pull_request) Has been skipped
feat(api): optimistic-concurrency contract for replace-all PUTs — PR1 infra + Block reference ( #253 )
...
Adds the shared optimistic-concurrency contract so a stale second tab can no longer
silently overwrite a fresher edit. PR1 lands the infra + the Block reference aggregate;
PRs 2–4 fan the same recipe across the other 8 roots (design: #253#issuecomment-8472).
Contract
- `IVersionedAggregate` (`int Version`) on all 9 replace-all roots (ProgramSchedule,
Block, Template, DecoTemplate, Playlist, Collection, Playout, MultiCollection,
RerunCollection), EF-mapped `.IsConcurrencyToken()`; one dual-provider migration
`AddAggregateVersions` (nullable:false, default 0).
- Strong `ETag` of `Version` on the aggregate GET; `If-Match` on the PUT; mismatch →
412 (distinct from the §3a 409 build-lock guard). Successful PUT returns the new ETag.
- `PreconditionFailedError : BaseError` → 412 in `ApiResults.ToErrorResult`;
`ConcurrencyHeaders.ParseIfMatch/SetETag`; malformed If-Match → 400; `*`/absent =
Phase-1 force-write.
Block reference wiring
- Handler: standalone `Either` via `CheckVersion` AFTER validation (never through
`Apply`, which Join()-flattens the subtype to 422), unconditional `Version++`,
`SaveChangesWithConcurrencyGuard` backstop (DbUpdateConcurrencyException → 412).
- `BlockViewModel.Version` (header-only, not echoed in the body); controller sets the
ETag on GET items and on the successful PUT.
- SPA: `client.requestWithMeta` seam; `blocks.getBlockItemsWithMeta` + `replaceBlock`
If-Match/ETag round-trip; `BlockEditor` holds the ETag, sends If-Match, and on 412
opens a blocking "changed elsewhere — reload" dialog.
Tests
- Handler contract tests: stale-If-Match → 412 (no mutation), matching/absent → success
+ bump, no-op save still bumps, and a two-context racing save → 412; proven
non-vacuous (drop `.IsConcurrencyToken()` → the race test fails).
- Controller tests: malformed If-Match → 400, If-Match threaded to the command, ETag on
GET/PUT, 412 passthrough. SPA: requestWithMeta ETag, replaceBlock If-Match, 412 dialog.
Docs: api-conventions §7a, spa-conventions §4a, domain-model glossary, decisions log.
Refs #253
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-11 16:51:59 +02:00
..
2023-09-03 08:52:00 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-09-03 06:23:42 -05:00
2023-08-12 21:44:14 -05:00
2023-09-03 06:23:42 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-09-04 10:01:39 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-09-03 06:23:42 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-09-03 06:23:42 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-09-03 06:23:42 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-09-03 06:23:42 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-08-12 21:44:14 -05:00
2023-09-21 02:46:43 -05:00
2023-09-21 02:46:43 -05:00
2023-09-21 02:46:43 -05:00
2023-09-21 02:46:43 -05:00
2023-09-21 02:46:43 -05:00
2023-09-21 02:46:43 -05:00
2023-09-29 09:47:57 -05:00
2023-09-29 09:47:57 -05:00
2023-11-14 10:41:21 -06:00
2023-11-14 10:41:21 -06:00
2023-11-30 20:31:37 -06:00
2023-11-30 20:31:37 -06:00
2024-01-02 10:18:49 -06:00
2024-01-02 10:18:49 -06:00
2024-01-05 10:32:04 -06:00
2024-01-05 10:32:04 -06:00
2024-01-08 19:45:43 -06:00
2024-01-08 19:45:43 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-13 22:01:21 -06:00
2024-01-14 06:16:53 -06:00
2024-01-14 06:16:53 -06:00
2024-01-14 06:16:53 -06:00
2024-01-14 06:16:53 -06:00
2024-01-14 06:16:53 -06:00
2024-01-14 06:16:53 -06:00
2024-01-16 12:53:56 -06:00
2024-01-16 12:53:56 -06:00
2024-01-22 10:10:22 -06:00
2024-01-22 10:10:22 -06:00
2024-01-23 22:42:28 -06:00
2024-01-23 22:42:28 -06:00
2024-01-23 22:42:28 -06:00
2024-01-23 22:42:28 -06:00
2024-01-24 15:29:19 -06:00
2024-01-24 15:29:19 -06:00
2024-01-25 19:56:14 -06:00
2024-01-25 19:56:14 -06:00
2024-02-09 11:27:44 -06:00
2024-02-09 11:27:44 -06:00
2024-02-09 11:27:44 -06:00
2024-02-09 11:27:44 -06:00
2024-02-09 13:38:54 -06:00
2024-02-09 13:38:54 -06:00
2024-02-10 06:44:27 -06:00
2024-02-10 06:44:27 -06:00
2024-02-10 20:59:29 -06:00
2024-02-10 20:59:29 -06:00
2024-02-10 20:59:29 -06:00
2024-02-10 20:59:29 -06:00
2024-02-11 11:24:19 -06:00
2024-02-11 11:24:19 -06:00
2024-02-11 11:24:19 -06:00
2024-02-11 11:24:19 -06:00
2024-02-16 06:16:19 -06:00
2024-02-16 06:16:19 -06:00
2024-02-16 06:16:19 -06:00
2024-02-16 06:16:19 -06:00
2024-02-16 13:05:28 -06:00
2024-02-16 13:05:28 -06:00
2024-02-16 20:01:40 -06:00
2024-02-16 20:01:40 -06:00
2024-03-05 10:39:06 -06:00
2024-03-05 10:39:06 -06:00
2024-04-03 10:50:43 -05:00
2024-04-03 10:50:43 -05:00
2024-04-03 13:43:20 -05:00
2024-04-03 13:43:20 -05:00
2024-04-04 14:38:56 -05:00
2024-04-04 14:38:56 -05:00
2024-04-04 14:38:56 -05:00
2024-04-04 14:38:56 -05:00
2024-04-04 14:38:56 -05:00
2024-04-04 14:38:56 -05:00
2024-04-05 23:11:14 -05:00
2024-04-05 23:11:14 -05:00
2024-04-05 23:11:14 -05:00
2024-04-05 23:11:14 -05:00
2024-04-22 22:03:18 -05:00
2024-04-22 22:03:18 -05:00
2024-04-23 14:26:30 -05:00
2024-04-23 14:26:30 -05:00
2024-04-27 19:58:40 -05:00
2024-04-27 19:58:40 -05:00
2024-04-27 19:58:40 -05:00
2024-04-27 19:58:40 -05:00
2024-04-27 19:58:40 -05:00
2024-04-27 19:58:40 -05:00
2024-04-28 13:00:22 -05:00
2024-04-28 13:00:22 -05:00
2024-05-24 08:50:11 -05:00
2024-05-24 08:50:11 -05:00
2024-07-02 15:41:09 -05:00
2024-07-02 15:41:09 -05:00
2024-07-16 12:21:52 -05:00
2024-07-16 12:21:52 -05:00
2024-07-16 12:21:52 -05:00
2024-07-16 12:21:52 -05:00
2024-07-19 13:29:42 -05:00
2024-07-19 13:29:42 -05:00
2024-07-19 13:29:42 -05:00
2024-07-19 13:29:42 -05:00
2024-07-22 14:14:02 -05:00
2024-07-22 14:14:02 -05:00
2024-07-26 08:34:18 -05:00
2024-07-26 08:34:18 -05:00
2024-07-29 13:09:14 -05:00
2024-07-29 13:09:14 -05:00
2024-08-05 13:40:24 -05:00
2024-08-05 13:40:24 -05:00
2024-11-20 15:57:00 -06:00
2024-11-20 15:57:00 -06:00
2024-11-25 13:14:21 -06:00
2024-11-25 13:14:21 -06:00
2025-05-30 09:30:09 +00:00
2025-05-30 09:30:09 +00:00
2025-05-30 09:30:09 +00:00
2025-05-30 09:30:09 +00:00
2025-06-15 00:38:37 +00:00
2025-06-15 00:38:37 +00:00
2025-06-27 03:00:59 +00:00
2025-06-27 03:00:59 +00:00
2025-06-27 03:00:59 +00:00
2025-06-27 03:00:59 +00:00
2025-06-27 03:00:59 +00:00
2025-06-27 03:00:59 +00:00
2025-06-27 21:19:26 +00:00
2025-06-27 21:19:26 +00:00
2025-06-28 12:49:26 +00:00
2025-06-28 12:49:26 +00:00
2025-06-28 12:49:26 +00:00
2025-06-28 12:49:26 +00:00
2025-06-30 19:05:09 +00:00
2025-06-30 19:05:09 +00:00
2025-06-30 19:05:09 +00:00
2025-06-30 19:05:09 +00:00
2025-07-01 13:40:30 +00:00
2025-07-01 13:40:30 +00:00
2025-07-01 13:40:30 +00:00
2025-07-01 13:40:30 +00:00
2025-07-12 01:23:16 +00:00
2025-07-12 01:23:16 +00:00
2025-07-12 03:55:18 +00:00
2025-07-12 03:55:18 +00:00
2025-07-18 14:03:56 +00:00
2025-07-18 14:03:56 +00:00
2025-07-18 21:28:32 +00:00
2025-07-18 21:28:32 +00:00
2025-07-19 14:19:07 +00:00
2025-07-19 14:19:07 +00:00
2025-07-19 14:19:07 +00:00
2025-07-19 14:19:07 +00:00
2025-07-19 14:19:07 +00:00
2025-07-19 14:19:07 +00:00
2025-07-19 16:56:25 +00:00
2025-07-19 16:56:25 +00:00
2025-07-19 16:56:25 +00:00
2025-07-19 16:56:25 +00:00
2025-07-20 16:10:32 +00:00
2025-07-20 16:10:32 +00:00
2025-07-20 16:10:32 +00:00
2025-07-20 16:10:32 +00:00
2025-07-20 16:10:32 +00:00
2025-07-20 16:10:32 +00:00
2025-07-21 13:19:51 +00:00
2025-07-21 13:19:51 +00:00
2025-07-26 17:48:03 +00:00
2025-07-26 17:48:03 +00:00
2025-07-26 17:48:03 +00:00
2025-07-26 17:48:03 +00:00
2025-08-01 15:20:10 +00:00
2025-08-01 15:20:10 +00:00
2025-08-01 19:13:18 +00:00
2025-08-01 19:13:18 +00:00
2025-08-04 00:18:14 +00:00
2025-08-04 00:18:14 +00:00
2025-08-04 19:27:22 +00:00
2025-08-04 19:27:22 +00:00
2025-08-04 20:25:31 +00:00
2025-08-04 20:25:31 +00:00
2025-08-04 21:24:26 +00:00
2025-08-04 21:24:26 +00:00
2025-08-04 21:24:26 +00:00
2025-08-04 21:24:26 +00:00
2025-08-06 18:26:44 +00:00
2025-08-06 18:26:44 +00:00
2025-08-06 21:22:20 +00:00
2025-08-06 21:22:20 +00:00
2025-08-06 21:22:20 +00:00
2025-08-06 21:22:20 +00:00
2025-08-06 21:22:20 +00:00
2025-08-06 21:22:20 +00:00
2025-08-08 00:43:00 +00:00
2025-08-08 00:43:00 +00:00
2025-08-08 19:18:15 +00:00
2025-08-08 19:18:15 +00:00
2025-08-08 23:02:13 +00:00
2025-08-08 23:02:13 +00:00
2025-08-09 13:53:37 +00:00
2025-08-09 13:53:37 +00:00
2025-08-09 13:53:37 +00:00
2025-08-09 13:53:37 +00:00
2025-08-09 13:53:37 +00:00
2025-08-09 13:53:37 +00:00
2025-08-09 17:00:12 +00:00
2025-08-09 17:00:12 +00:00
2025-08-09 17:00:12 +00:00
2025-08-09 17:00:12 +00:00
2025-08-09 17:00:12 +00:00
2025-08-09 17:00:12 +00:00
2025-08-12 11:14:24 +00:00
2025-08-12 11:14:24 +00:00
2025-08-14 01:37:21 +00:00
2025-08-14 01:37:21 +00:00
2025-08-23 14:27:32 +00:00
2025-08-23 14:27:32 +00:00
2025-08-23 20:16:12 +00:00
2025-08-23 20:16:12 +00:00
2025-08-23 20:16:12 +00:00
2025-08-23 20:16:12 +00:00
2025-09-13 03:42:54 +00:00
2025-08-25 16:09:20 +00:00
2025-09-05 11:53:29 +00:00
2025-09-05 11:53:29 +00:00
2025-09-07 16:00:27 +00:00
2025-09-07 16:00:27 +00:00
2025-09-09 15:38:07 +00:00
2025-09-09 15:38:07 +00:00
2025-09-09 15:38:07 +00:00
2025-09-09 15:38:07 +00:00
2025-09-12 14:19:05 +00:00
2025-09-12 14:19:05 +00:00
2025-09-13 00:30:34 +00:00
2025-09-13 00:30:34 +00:00
2025-09-13 15:02:48 +00:00
2025-09-13 15:02:48 +00:00
2025-09-15 18:27:55 +00:00
2025-09-15 18:27:55 +00:00
2025-09-15 18:27:55 +00:00
2025-09-15 18:27:55 +00:00
2025-09-15 18:27:55 +00:00
2025-09-15 18:27:55 +00:00
2025-09-16 02:39:25 +00:00
2025-09-16 02:39:25 +00:00
2025-09-16 14:44:22 +00:00
2025-09-16 14:44:22 +00:00
2025-09-18 11:36:24 +00:00
2025-09-18 11:36:24 +00:00
2025-09-19 18:48:51 +00:00
2025-09-19 18:48:51 +00:00
2025-10-01 21:40:39 -05:00
2025-10-01 21:40:39 -05:00
2025-10-18 10:54:30 -05:00
2025-10-18 10:54:30 -05:00
2025-11-04 12:22:41 -06:00
2025-11-04 12:22:41 -06:00
2025-11-06 06:11:57 -06:00
2025-11-06 06:11:57 -06:00
2025-11-08 08:26:00 -06:00
2025-11-08 08:26:00 -06:00
2025-11-10 06:39:04 -06:00
2025-11-10 06:39:04 -06:00
2025-11-10 08:39:44 -06:00
2025-11-10 08:39:44 -06:00
2025-11-10 09:14:40 -06:00
2025-11-10 09:14:40 -06:00
2025-11-13 10:48:04 -06:00
2025-11-13 10:48:04 -06:00
2025-12-01 12:48:03 -06:00
2025-12-01 12:48:03 -06:00
2025-12-03 19:23:59 -06:00
2025-12-03 19:23:59 -06:00
2025-12-13 14:59:06 -06:00
2025-12-13 14:59:06 -06:00
2025-12-13 14:59:06 -06:00
2025-12-13 14:59:06 -06:00
2025-12-13 18:32:02 -06:00
2025-12-13 18:32:02 -06:00
2025-12-19 14:46:17 -06:00
2025-12-19 14:46:17 -06:00
2025-12-30 08:51:06 -06:00
2025-12-30 08:51:06 -06:00
2025-12-31 14:30:53 -06:00
2025-12-31 14:30:53 -06:00
2026-01-06 12:51:07 -06:00
2026-01-06 12:51:07 -06:00
2026-01-02 09:25:23 -06:00
2026-01-02 09:25:23 -06:00
2026-01-02 09:25:23 -06:00
2026-01-02 09:25:23 -06:00
2026-01-07 16:46:17 -06:00
2026-01-07 16:46:17 -06:00
2026-01-15 09:39:45 -06:00
2026-01-15 09:39:45 -06:00
2026-01-20 09:50:45 -06:00
2026-01-20 09:50:45 -06:00
2026-01-26 23:43:56 -06:00
2026-01-26 23:43:56 -06:00
2026-02-05 13:45:05 -06:00
2026-02-05 13:45:05 -06:00
2026-02-14 19:57:35 -06:00
2026-02-14 19:57:35 -06:00
2026-07-06 18:43:39 +02:00
2026-07-06 18:43:39 +02:00
2026-07-11 16:51:59 +02:00
2026-07-11 16:51:59 +02:00
2026-07-11 16:51:59 +02:00