From 997f1fa1a175d19acf9934462785f6cdb638c5d8 Mon Sep 17 00:00:00 2001 From: Michael Krause Date: Mon, 9 Feb 2026 15:57:20 -0600 Subject: [PATCH] Session Feb 9 2026: Wiki.js deployment + Migration planning - Move management services from TX1 dedis to VPS tier. Discovered Command Center IPs not routed from internet. Created comprehensive migration plan with 3 options. Automation system migration included. --- ...igration-plan_completed_20260209_155539.sh | 532 ++++++ automation/logs/daemon.log | 54 + automation/logs/executor.log | 257 +++ .../queue/add-automation-to-migration.sh | 142 ++ automation/queue/consolidate-documentation.sh | 814 -------- automation/queue/deploy-wikijs.sh | 205 ++ .../results/create-migration-plan_result.txt | 16 + automation/results/deploy-wikijs_result.txt | 1650 +++++++++++++++++ docs/TASKS.md | 106 ++ 9 files changed, 2962 insertions(+), 814 deletions(-) create mode 100755 automation/logs/create-migration-plan_completed_20260209_155539.sh create mode 100755 automation/queue/add-automation-to-migration.sh delete mode 100755 automation/queue/consolidate-documentation.sh create mode 100644 automation/queue/deploy-wikijs.sh create mode 100644 automation/results/create-migration-plan_result.txt create mode 100644 automation/results/deploy-wikijs_result.txt diff --git a/automation/logs/create-migration-plan_completed_20260209_155539.sh b/automation/logs/create-migration-plan_completed_20260209_155539.sh new file mode 100755 index 0000000..8333f57 --- /dev/null +++ b/automation/logs/create-migration-plan_completed_20260209_155539.sh @@ -0,0 +1,532 @@ +#!/bin/bash +cd /root/firefrost-work/firefrost-operations-manual + +# Document 1: Migration Master Plan +cat > docs/dedis-to-vps-migration-plan.md << 'PLAN' +# 🔥❄️ FIREFROST GAMING: DEDIS → VPS MIGRATION PLAN + +**Created:** February 9, 2026 +**Status:** Planning Phase +**Priority:** 🔴 Critical - Blocks Phase 0.5 Completion + +--- + +## Executive Summary + +**DECISION:** Move ALL management services from dedicated servers (TX1/NC1) back to VPS tier. + +**REASON:** Dedicated servers have excessive networking complexity: +- Manual IP assignment required +- Routing issues from internet +- SSL certificate challenges +- VPS = plug-and-play, Dedis = DIY everything + +**GOAL:** TX1 and NC1 become **game servers ONLY**. All management infrastructure on VPS tier where networking "just works." + +--- + +## Current State (What We Built) + +### On TX1 Dallas (Dedicated): +1. ✅ Gitea (git.firefrostgaming.com) - Port 3000, IP 74.63.218.202 +2. ✅ Uptime Kuma (status.firefrostgaming.com) - Port 3001, IP 74.63.218.203 +3. ✅ MkDocs (docs.firefrostgaming.com) - Port 8000, IP 74.63.218.204 +4. ❌ Wiki.js (FAILED) - Port 3000 conflict, IP 74.63.218.205 not routable + +### Issues Discovered: +- Command Center /29 block (74.63.218.201-206) not routed from internet +- Manual IP assignment required (doesn't survive reboot without netplan config) +- Port conflicts (Gitea on 3000, Wiki.js also wants 3000) +- Wiki.js crashing on startup (exit code 1) +- SSL certificates work but routing doesn't + +--- + +## Target State (Where We're Going) + +### VPS Allocation Strategy + +**OPTION A: Spread Services Across Existing VPS (Recommended)** + +| VPS | Current Use | Add Services | Reasoning | +|-----|-------------|--------------|-----------| +| **Panel** (45.94.168.138) | Pterodactyl Panel | - | Leave dedicated to Panel (performance) | +| **Command Center** (63.143.34.217) | Reserved for DDoS | Gitea + Uptime Kuma | Management hub (original purpose) | +| **Billing** (38.68.14.188) | Paymenter | - | Keep billing isolated | +| **Ghost** (64.50.188.14) | Ghost CMS | MkDocs + Wiki.js + NextCloud | Documentation cluster | + +**OPTION B: Consolidate on Command Center (Alternative)** + +| VPS | Services | Reasoning | +|-----|----------|-----------| +| **Command Center** (63.143.34.217) | Gitea + Uptime Kuma + MkDocs + Wiki.js + NextCloud | Single management hub | +| Others | Original purposes | Simpler, all management in one place | + +**OPTION C: New VPS for Management (Cleanest)** + +| Server | Purpose | Cost | +|--------|---------|------| +| **NEW: Management VPS** | All 5 Phase 0.5 services | ~$10-15/month | +| Existing VPS | Original purposes | No changes | +| TX1/NC1 | Game servers only | Simplified | + +--- + +## Migration Phases + +### Phase M1: Planning & Preparation (TODAY) +- ✅ Document current state +- ✅ Choose VPS allocation strategy +- ⏳ Create migration checklist +- ⏳ Plan DNS cutover strategy +- ⏳ Document rollback procedures + +### Phase M2: Gitea Migration (Day 1) +**Target:** Command Center VPS (63.143.34.217) + +**Steps:** +1. Backup Gitea data from TX1 (`/var/lib/gitea`) +2. Export Gitea database (SQLite dump) +3. Install Gitea on Command Center VPS +4. Restore data and database +5. Update DNS: git.firefrostgaming.com → 63.143.34.217 +6. SSL certificate (easy on VPS - no routing issues) +7. Test and verify +8. Decommission TX1 Gitea + +**Downtime:** ~10-15 minutes (DNS propagation) + +### Phase M3: Uptime Kuma Migration (Day 1) +**Target:** Command Center VPS (63.143.34.217) + +**Steps:** +1. Export Uptime Kuma config/monitors +2. Install on Command Center VPS +3. Import monitors +4. Update DNS: status.firefrostgaming.com → 63.143.34.217 +5. SSL certificate +6. Reconfigure Discord webhook (if needed) +7. Test monitoring +8. Decommission TX1 Uptime Kuma + +**Downtime:** ~5 minutes + +### Phase M4: MkDocs Migration (Day 1-2) +**Target:** Ghost VPS (64.50.188.14) OR Command Center + +**Steps:** +1. Copy MkDocs source files +2. Install MkDocs + Material theme +3. Configure build webhook +4. Update DNS: docs.firefrostgaming.com → [target VPS] +5. SSL certificate +6. Test site build +7. Decommission TX1 MkDocs + +**Downtime:** ~5 minutes + +### Phase M5: Wiki.js Fresh Deploy (Day 2) +**Target:** Ghost VPS (64.50.188.14) OR Command Center + +**Steps:** +1. Fresh Wiki.js install (no migration needed - never worked) +2. Dual domain config: subscribers + staff +3. DNS: Both → [target VPS] +4. SSL certificates (single command, no routing issues) +5. Complete setup wizard +6. Configure Git sync with Gitea + +**Downtime:** None (new service) + +### Phase M6: NextCloud Deploy (Day 2-3) +**Target:** Ghost VPS (64.50.188.14) OR Command Center + +**Steps:** +1. Install NextCloud +2. Configure storage for world downloads +3. DNS: downloads.firefrostgaming.com → [target VPS] +4. SSL certificate +5. Configure external storage (if needed) +6. Test upload/download + +**Downtime:** None (new service) + +--- + +## DNS Changes Required + +**Before Migration:** +| Domain | Current IP | Type | +|--------|-----------|------| +| git.firefrostgaming.com | 38.68.14.26 (TX1) | A | +| status.firefrostgaming.com | 38.68.14.26 (TX1) | A | +| docs.firefrostgaming.com | 38.68.14.26 (TX1) | A | + +**After Migration (Option A - Spread):** +| Domain | New IP | Type | +|--------|--------|------| +| git.firefrostgaming.com | 63.143.34.217 (Command Center) | A | +| status.firefrostgaming.com | 63.143.34.217 (Command Center) | A | +| docs.firefrostgaming.com | 64.50.188.14 (Ghost) | A | +| subscribers.firefrostgaming.com | 64.50.188.14 (Ghost) | A | +| staff.firefrostgaming.com | 64.50.188.14 (Ghost) | A | +| downloads.firefrostgaming.com | 64.50.188.14 (Ghost) | A | + +**After Migration (Option B - Consolidate):** +| Domain | New IP | Type | +|--------|--------|------| +| All management services | 63.143.34.217 (Command Center) | A | + +--- + +## Rollback Plan + +**If migration fails:** +1. Services still running on TX1 (don't decommission until verified) +2. Revert DNS changes in Cloudflare (instant) +3. Old services continue working +4. Max downtime: DNS TTL (5 minutes) + +**Safety net:** +- All TX1 services stay running during migration +- Only decommission after 24 hours of stable operation +- Keep backups of TX1 data for 7 days + +--- + +## Benefits of Migration + +### Technical Benefits: +- ✅ No manual IP assignment +- ✅ No routing issues +- ✅ SSL certificates "just work" +- ✅ Simpler networking (everything on standard ports) +- ✅ Faster deployments (no dedi complexity) + +### Operational Benefits: +- ✅ TX1/NC1 dedicated to game servers (cleaner architecture) +- ✅ Management services isolated from game server load +- ✅ Easier troubleshooting (VPS networking predictable) +- ✅ Less hand strain for Michael (fewer manual operations) + +### Psychological Benefits: +- ✅ No more fighting with dedi networking +- ✅ Services deploy in minutes, not hours +- ✅ Predictable, reliable infrastructure +- ✅ Focus on game servers, not infrastructure headaches + +--- + +## Cost Analysis + +**Current Setup:** $0 additional (using TX1 resources) + +**Option A (Spread):** $0 additional (using existing VPS) + +**Option B (Consolidate):** $0 additional (using Command Center) + +**Option C (New VPS):** ~$10-15/month +- Pros: Cleanest separation, dedicated management server +- Cons: Additional cost + +**Recommendation:** Option A or B (no additional cost) + +--- + +## Timeline Estimate + +**Conservative (Safe):** +- Day 1: Gitea + Uptime Kuma migration (3-4 hours) +- Day 2: MkDocs + Wiki.js deployment (2-3 hours) +- Day 3: NextCloud deployment (1-2 hours) +- **Total:** 3 days, 6-9 hours work + +**Aggressive (If marathon session):** +- Day 1: All 5 services (6-8 hours) +- Day 2: Testing and verification +- **Total:** 1-2 days + +--- + +## Risk Assessment + +| Risk | Probability | Impact | Mitigation | +|------|------------|--------|------------| +| Data loss during migration | Low | High | Full backups before migration | +| DNS propagation delay | Medium | Low | Low TTL, staged cutover | +| SSL certificate issues | Low | Medium | VPS networking reliable | +| Port conflicts | Low | Low | Plan port allocation upfront | +| Service crashes | Low | Medium | Keep TX1 services running as backup | + +--- + +## Decision Point + +**MICHAEL: Which option do you prefer?** + +**Option A:** Spread services (Command Center + Ghost) +- Gitea + Uptime Kuma on Command Center +- MkDocs + Wiki.js + NextCloud on Ghost + +**Option B:** Consolidate all on Command Center +- All 5 services on one VPS +- Simpler management, single point + +**Option C:** New dedicated management VPS +- Cleanest architecture +- ~$10-15/month additional cost + +**My Recommendation:** Option A (spread) +- Balances load across existing VPS +- No additional cost +- Ghost VPS currently underutilized + +--- + +**Fire + Frost = Where Passion Meets Precision** 🔥❄️ + +**Next Step:** Michael reviews and chooses option, then we execute migration plan. +PLAN + +# Document 2: Migration Checklist +cat > docs/migration-checklist.md << 'CHECKLIST' +# Migration Execution Checklist + +## Pre-Migration (Do Once) + +- [ ] Choose VPS allocation option (A, B, or C) +- [ ] Verify all VPS accessible via SSH +- [ ] Create backup directory structure +- [ ] Set DNS TTL to 300 seconds (5 minutes) in Cloudflare +- [ ] Announce maintenance window in Discord + +--- + +## Service 1: Gitea Migration + +### Backup Phase +- [ ] Stop Gitea on TX1: `systemctl stop gitea` +- [ ] Backup Gitea data: `tar -czf gitea-backup.tar.gz /var/lib/gitea` +- [ ] Backup Gitea DB: `sqlite3 /var/lib/gitea/gitea.db .dump > gitea-dump.sql` +- [ ] Copy backups off TX1 + +### Deploy Phase +- [ ] Install Gitea on target VPS +- [ ] Restore data directory +- [ ] Restore database +- [ ] Update `app.ini` with new domain/IP +- [ ] Start Gitea service +- [ ] Test locally: `curl -I http://localhost:3000` + +### DNS Cutover +- [ ] Update Cloudflare: git.firefrostgaming.com → [target VPS IP] +- [ ] Wait for propagation (5 min) +- [ ] Get SSL certificate: `certbot --nginx -d git.firefrostgaming.com` +- [ ] Test externally: Browse to https://git.firefrostgaming.com + +### Verification +- [ ] Login works +- [ ] Repositories accessible +- [ ] Push/pull works +- [ ] Webhooks functional + +### Cleanup +- [ ] Wait 24 hours +- [ ] Stop TX1 Gitea: `systemctl stop gitea` +- [ ] Disable TX1 Gitea: `systemctl disable gitea` +- [ ] Archive TX1 Gitea data + +--- + +## Service 2: Uptime Kuma Migration + +### Backup Phase +- [ ] Export monitors from Uptime Kuma web UI +- [ ] Backup data: `tar -czf kuma-backup.tar.gz /opt/uptime-kuma/data` + +### Deploy Phase +- [ ] Install Uptime Kuma on target VPS +- [ ] Import monitors +- [ ] Configure Discord webhook +- [ ] Test monitoring + +### DNS Cutover +- [ ] Update Cloudflare: status.firefrostgaming.com → [target VPS IP] +- [ ] Get SSL certificate +- [ ] Test externally + +### Verification +- [ ] All monitors active +- [ ] Discord notifications working +- [ ] Status page accessible + +--- + +## Service 3: MkDocs Migration + +### Backup Phase +- [ ] Copy MkDocs source: `tar -czf mkdocs-source.tar.gz /var/www/docs` + +### Deploy Phase +- [ ] Install MkDocs + Material theme +- [ ] Restore source files +- [ ] Configure nginx +- [ ] Build site: `mkdocs build` + +### DNS Cutover +- [ ] Update Cloudflare: docs.firefrostgaming.com → [target VPS IP] +- [ ] Get SSL certificate +- [ ] Test externally + +### Verification +- [ ] Site loads correctly +- [ ] Search works +- [ ] All pages accessible + +--- + +## Service 4: Wiki.js Fresh Deploy + +### Deploy Phase +- [ ] Install Node.js 18+ +- [ ] Install Wiki.js 2.5.303 +- [ ] Create dual Nginx configs (subscribers + staff) +- [ ] Configure Wiki.js + +### DNS Cutover +- [ ] Update Cloudflare: subscribers.firefrostgaming.com → [target VPS IP] +- [ ] Update Cloudflare: staff.firefrostgaming.com → [target VPS IP] +- [ ] Get SSL certificates (single command for both domains) +- [ ] Test externally + +### Setup +- [ ] Complete setup wizard +- [ ] Create admin account +- [ ] Configure groups (Subscribers, Staff, Admin) +- [ ] Set up Git sync with Gitea + +--- + +## Service 5: NextCloud Deploy + +### Deploy Phase +- [ ] Install NextCloud +- [ ] Configure database +- [ ] Set up storage directory +- [ ] Configure nginx + +### DNS Cutover +- [ ] Update Cloudflare: downloads.firefrostgaming.com → [target VPS IP] +- [ ] Get SSL certificate +- [ ] Test externally + +### Setup +- [ ] Create admin account +- [ ] Configure external storage (if needed) +- [ ] Test upload/download +- [ ] Set up retention policy (30-day for non-premium, 90-day for premium) + +--- + +## Post-Migration + +- [ ] All services responding on new IPs +- [ ] SSL certificates auto-renewing +- [ ] Monitoring confirms 100% uptime +- [ ] Discord announcement: Migration complete +- [ ] Wait 24-48 hours before TX1 cleanup +- [ ] Update all documentation with new IPs +- [ ] Remove Command Center IPs from TX1 interface +- [ ] Document lessons learned + +--- + +**Total Estimated Time:** 6-9 hours (spread across 1-3 days) +CHECKLIST + +# Document 3: Rollback Procedures +cat > docs/migration-rollback-plan.md << 'ROLLBACK' +# Migration Rollback Plan + +## If Things Go Wrong + +### Immediate Rollback (During Migration) + +**If service fails on new VPS:** +1. DO NOT stop TX1 service +2. Revert DNS in Cloudflare (instant) +3. TX1 service continues working +4. Debug VPS issue offline + +**Maximum Downtime:** DNS TTL (5 minutes) + +--- + +## Service-Specific Rollback + +### Gitea Rollback +```bash +# On Cloudflare +git.firefrostgaming.com A record → 38.68.14.26 (TX1) + +# On TX1 +systemctl start gitea +``` + +### Uptime Kuma Rollback +```bash +# On Cloudflare +status.firefrostgaming.com A record → 38.68.14.26 (TX1) + +# On TX1 +systemctl start uptime-kuma +``` + +### MkDocs Rollback +```bash +# On Cloudflare +docs.firefrostgaming.com A record → 38.68.14.26 (TX1) + +# On TX1 +systemctl start mkdocs +``` + +--- + +## Data Recovery + +### If Backup Needed +All backups stored in `/root/migration-backups/` on TX1: +- `gitea-backup.tar.gz` + `gitea-dump.sql` +- `kuma-backup.tar.gz` +- `mkdocs-source.tar.gz` + +**Retention:** 7 days after successful migration + +--- + +## Lessons Learned Log + +**What went wrong:** +- + +**Root cause:** +- + +**How we fixed it:** +- + +**How to prevent next time:** +- + +--- + +**Remember:** Don't panic. TX1 services are still running. DNS changes are instant. +ROLLBACK + +# Commit all documents +git add docs/dedis-to-vps-migration-plan.md docs/migration-checklist.md docs/migration-rollback-plan.md +git commit -m "Migration Plan: Move management services from TX1/NC1 dedis to VPS tier" +git push + +echo "Migration planning documents created successfully!" diff --git a/automation/logs/daemon.log b/automation/logs/daemon.log index 0478a5a..e651bdf 100644 --- a/automation/logs/daemon.log +++ b/automation/logs/daemon.log @@ -26,3 +26,57 @@ [2026-02-09 11:10:49] DAEMON: Found 1 task(s) in queue - executing... [2026-02-09 11:12:11] DAEMON: Found 1 task(s) in queue - executing... [2026-02-09 11:46:51] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 12:15:15] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 12:18:09] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 12:18:30] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 12:24:36] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 12:28:20] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 12:58:56] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:15:31] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:16:18] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:17:10] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:18:03] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:18:55] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:19:48] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:20:40] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:21:33] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:22:25] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:23:18] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:24:10] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:25:02] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:25:55] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:26:47] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:27:40] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:28:32] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:29:25] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:30:17] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:31:09] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:32:02] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:32:54] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:33:47] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:34:39] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:35:32] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:36:24] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:37:17] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:38:09] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:39:02] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:39:54] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:40:47] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:41:39] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:42:32] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:43:24] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:44:17] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:45:09] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:46:02] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:46:54] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:47:47] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:48:39] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:49:31] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:50:24] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:51:16] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:52:09] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:53:01] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:53:54] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:54:46] DAEMON: Found 1 task(s) in queue - executing... +[2026-02-09 15:55:39] DAEMON: Found 2 task(s) in queue - executing... +[2026-02-09 15:56:31] DAEMON: Found 1 task(s) in queue - executing... diff --git a/automation/logs/executor.log b/automation/logs/executor.log index ac0a283..1b392c7 100644 --- a/automation/logs/executor.log +++ b/automation/logs/executor.log @@ -134,3 +134,260 @@ [2026-02-09 11:46:51] ========================================== [2026-02-09 11:46:51] Executing task: consolidate-documentation.sh [2026-02-09 11:46:51] ========================================== +[2026-02-09 11:46:52] Task consolidate-documentation.sh completed (exit code: 0) +[2026-02-09 11:46:52] Committing results to Git... +[2026-02-09 11:46:52] Executor run complete +[2026-02-09 12:15:15] Pulling latest from Git... +[2026-02-09 12:15:15] ========================================== +[2026-02-09 12:15:15] Executing task: add-phase1-ddos-scope.sh +[2026-02-09 12:15:15] ========================================== +[2026-02-09 12:15:16] Task add-phase1-ddos-scope.sh completed (exit code: 0) +[2026-02-09 12:15:16] Committing results to Git... +[2026-02-09 12:15:16] Executor run complete +[2026-02-09 12:18:09] Pulling latest from Git... +[2026-02-09 12:18:09] ========================================== +[2026-02-09 12:18:09] Executing task: add-documentation-principle.sh +[2026-02-09 12:18:09] ========================================== +[2026-02-09 12:18:09] Task add-documentation-principle.sh completed (exit code: 0) +[2026-02-09 12:18:09] Committing results to Git... +[2026-02-09 12:18:10] Executor run complete +[2026-02-09 12:18:30] Pulling latest from Git... +[2026-02-09 12:18:30] ========================================== +[2026-02-09 12:18:30] Executing task: add-documentation-principle.sh +[2026-02-09 12:18:30] ========================================== +[2026-02-09 12:18:31] Task add-documentation-principle.sh completed (exit code: 0) +[2026-02-09 12:18:31] Committing results to Git... +[2026-02-09 12:18:31] Executor run complete +[2026-02-09 12:24:36] Pulling latest from Git... +[2026-02-09 12:24:36] ========================================== +[2026-02-09 12:24:36] Executing task: add-project-file-reminder.sh +[2026-02-09 12:24:36] ========================================== +[2026-02-09 12:24:37] Task add-project-file-reminder.sh completed (exit code: 0) +[2026-02-09 12:24:37] Committing results to Git... +[2026-02-09 12:24:37] Executor run complete +[2026-02-09 12:28:20] Pulling latest from Git... +[2026-02-09 12:28:21] ========================================== +[2026-02-09 12:28:21] Executing task: create-session-journal-feb9.sh +[2026-02-09 12:28:21] ========================================== +[2026-02-09 12:28:21] Task create-session-journal-feb9.sh completed (exit code: 0) +[2026-02-09 12:28:21] Committing results to Git... +[2026-02-09 12:28:22] Executor run complete +[2026-02-09 12:58:56] Pulling latest from Git... +[2026-02-09 12:58:56] ========================================== +[2026-02-09 12:58:56] Executing task: fix-docs-gaps.sh +[2026-02-09 12:58:56] ========================================== +[2026-02-09 12:58:57] Task fix-docs-gaps.sh completed (exit code: 0) +[2026-02-09 12:58:57] Committing results to Git... +[2026-02-09 12:58:58] Executor run complete +[2026-02-09 15:15:31] Pulling latest from Git... +[2026-02-09 15:15:31] ========================================== +[2026-02-09 15:15:31] Executing task: deploy-wikijs.sh +[2026-02-09 15:15:31] ========================================== +[2026-02-09 15:16:18] Pulling latest from Git... +[2026-02-09 15:16:18] ========================================== +[2026-02-09 15:16:18] Executing task: deploy-wikijs.sh +[2026-02-09 15:16:18] ========================================== +[2026-02-09 15:17:10] Pulling latest from Git... +[2026-02-09 15:17:10] ========================================== +[2026-02-09 15:17:10] Executing task: deploy-wikijs.sh +[2026-02-09 15:17:10] ========================================== +[2026-02-09 15:18:03] Pulling latest from Git... +[2026-02-09 15:18:03] ========================================== +[2026-02-09 15:18:03] Executing task: deploy-wikijs.sh +[2026-02-09 15:18:03] ========================================== +[2026-02-09 15:18:55] Pulling latest from Git... +[2026-02-09 15:18:55] ========================================== +[2026-02-09 15:18:55] Executing task: deploy-wikijs.sh +[2026-02-09 15:18:55] ========================================== +[2026-02-09 15:19:48] Pulling latest from Git... +[2026-02-09 15:19:48] ========================================== +[2026-02-09 15:19:48] Executing task: deploy-wikijs.sh +[2026-02-09 15:19:48] ========================================== +[2026-02-09 15:20:40] Pulling latest from Git... +[2026-02-09 15:20:40] ========================================== +[2026-02-09 15:20:40] Executing task: deploy-wikijs.sh +[2026-02-09 15:20:40] ========================================== +[2026-02-09 15:21:33] Pulling latest from Git... +[2026-02-09 15:21:33] ========================================== +[2026-02-09 15:21:33] Executing task: deploy-wikijs.sh +[2026-02-09 15:21:33] ========================================== +[2026-02-09 15:22:25] Pulling latest from Git... +[2026-02-09 15:22:25] ========================================== +[2026-02-09 15:22:25] Executing task: deploy-wikijs.sh +[2026-02-09 15:22:25] ========================================== +[2026-02-09 15:23:18] Pulling latest from Git... +[2026-02-09 15:23:18] ========================================== +[2026-02-09 15:23:18] Executing task: deploy-wikijs.sh +[2026-02-09 15:23:18] ========================================== +[2026-02-09 15:24:10] Pulling latest from Git... +[2026-02-09 15:24:10] ========================================== +[2026-02-09 15:24:10] Executing task: deploy-wikijs.sh +[2026-02-09 15:24:10] ========================================== +[2026-02-09 15:25:02] Pulling latest from Git... +[2026-02-09 15:25:02] ========================================== +[2026-02-09 15:25:02] Executing task: deploy-wikijs.sh +[2026-02-09 15:25:02] ========================================== +[2026-02-09 15:25:55] Pulling latest from Git... +[2026-02-09 15:25:55] ========================================== +[2026-02-09 15:25:55] Executing task: deploy-wikijs.sh +[2026-02-09 15:25:55] ========================================== +[2026-02-09 15:26:47] Pulling latest from Git... +[2026-02-09 15:26:47] WARNING: Git pull failed, continuing with local +[2026-02-09 15:26:47] ========================================== +[2026-02-09 15:26:47] Executing task: deploy-wikijs.sh +[2026-02-09 15:26:47] ========================================== +[2026-02-09 15:27:40] Pulling latest from Git... +[2026-02-09 15:27:40] WARNING: Git pull failed, continuing with local +[2026-02-09 15:27:40] ========================================== +[2026-02-09 15:27:40] Executing task: deploy-wikijs.sh +[2026-02-09 15:27:40] ========================================== +[2026-02-09 15:28:32] Pulling latest from Git... +[2026-02-09 15:28:32] WARNING: Git pull failed, continuing with local +[2026-02-09 15:28:32] ========================================== +[2026-02-09 15:28:32] Executing task: deploy-wikijs.sh +[2026-02-09 15:28:32] ========================================== +[2026-02-09 15:29:25] Pulling latest from Git... +[2026-02-09 15:29:25] WARNING: Git pull failed, continuing with local +[2026-02-09 15:29:25] ========================================== +[2026-02-09 15:29:25] Executing task: deploy-wikijs.sh +[2026-02-09 15:29:25] ========================================== +[2026-02-09 15:30:17] Pulling latest from Git... +[2026-02-09 15:30:17] WARNING: Git pull failed, continuing with local +[2026-02-09 15:30:17] ========================================== +[2026-02-09 15:30:17] Executing task: deploy-wikijs.sh +[2026-02-09 15:30:17] ========================================== +[2026-02-09 15:31:09] Pulling latest from Git... +[2026-02-09 15:31:09] WARNING: Git pull failed, continuing with local +[2026-02-09 15:31:09] ========================================== +[2026-02-09 15:31:09] Executing task: deploy-wikijs.sh +[2026-02-09 15:31:09] ========================================== +[2026-02-09 15:32:02] Pulling latest from Git... +[2026-02-09 15:32:02] WARNING: Git pull failed, continuing with local +[2026-02-09 15:32:02] ========================================== +[2026-02-09 15:32:02] Executing task: deploy-wikijs.sh +[2026-02-09 15:32:02] ========================================== +[2026-02-09 15:32:54] Pulling latest from Git... +[2026-02-09 15:32:54] WARNING: Git pull failed, continuing with local +[2026-02-09 15:32:54] ========================================== +[2026-02-09 15:32:54] Executing task: deploy-wikijs.sh +[2026-02-09 15:32:54] ========================================== +[2026-02-09 15:33:47] Pulling latest from Git... +[2026-02-09 15:33:47] WARNING: Git pull failed, continuing with local +[2026-02-09 15:33:47] ========================================== +[2026-02-09 15:33:47] Executing task: deploy-wikijs.sh +[2026-02-09 15:33:47] ========================================== +[2026-02-09 15:34:39] Pulling latest from Git... +[2026-02-09 15:34:39] WARNING: Git pull failed, continuing with local +[2026-02-09 15:34:39] ========================================== +[2026-02-09 15:34:39] Executing task: deploy-wikijs.sh +[2026-02-09 15:34:39] ========================================== +[2026-02-09 15:35:32] Pulling latest from Git... +[2026-02-09 15:35:32] WARNING: Git pull failed, continuing with local +[2026-02-09 15:35:32] ========================================== +[2026-02-09 15:35:32] Executing task: deploy-wikijs.sh +[2026-02-09 15:35:32] ========================================== +[2026-02-09 15:36:24] Pulling latest from Git... +[2026-02-09 15:36:24] WARNING: Git pull failed, continuing with local +[2026-02-09 15:36:24] ========================================== +[2026-02-09 15:36:24] Executing task: deploy-wikijs.sh +[2026-02-09 15:36:24] ========================================== +[2026-02-09 15:37:17] Pulling latest from Git... +[2026-02-09 15:37:17] WARNING: Git pull failed, continuing with local +[2026-02-09 15:37:17] ========================================== +[2026-02-09 15:37:17] Executing task: deploy-wikijs.sh +[2026-02-09 15:37:17] ========================================== +[2026-02-09 15:38:09] Pulling latest from Git... +[2026-02-09 15:38:09] WARNING: Git pull failed, continuing with local +[2026-02-09 15:38:09] ========================================== +[2026-02-09 15:38:09] Executing task: deploy-wikijs.sh +[2026-02-09 15:38:09] ========================================== +[2026-02-09 15:39:02] Pulling latest from Git... +[2026-02-09 15:39:02] WARNING: Git pull failed, continuing with local +[2026-02-09 15:39:02] ========================================== +[2026-02-09 15:39:02] Executing task: deploy-wikijs.sh +[2026-02-09 15:39:02] ========================================== +[2026-02-09 15:39:54] Pulling latest from Git... +[2026-02-09 15:39:54] WARNING: Git pull failed, continuing with local +[2026-02-09 15:39:54] ========================================== +[2026-02-09 15:39:54] Executing task: deploy-wikijs.sh +[2026-02-09 15:39:54] ========================================== +[2026-02-09 15:40:47] Pulling latest from Git... +[2026-02-09 15:40:47] ========================================== +[2026-02-09 15:40:47] Executing task: deploy-wikijs.sh +[2026-02-09 15:40:47] ========================================== +[2026-02-09 15:41:39] Pulling latest from Git... +[2026-02-09 15:41:39] ========================================== +[2026-02-09 15:41:39] Executing task: deploy-wikijs.sh +[2026-02-09 15:41:39] ========================================== +[2026-02-09 15:42:32] Pulling latest from Git... +[2026-02-09 15:42:32] ========================================== +[2026-02-09 15:42:32] Executing task: deploy-wikijs.sh +[2026-02-09 15:42:32] ========================================== +[2026-02-09 15:43:24] Pulling latest from Git... +[2026-02-09 15:43:24] ========================================== +[2026-02-09 15:43:24] Executing task: deploy-wikijs.sh +[2026-02-09 15:43:24] ========================================== +[2026-02-09 15:44:17] Pulling latest from Git... +[2026-02-09 15:44:17] ========================================== +[2026-02-09 15:44:17] Executing task: deploy-wikijs.sh +[2026-02-09 15:44:17] ========================================== +[2026-02-09 15:45:09] Pulling latest from Git... +[2026-02-09 15:45:09] ========================================== +[2026-02-09 15:45:09] Executing task: deploy-wikijs.sh +[2026-02-09 15:45:09] ========================================== +[2026-02-09 15:46:02] Pulling latest from Git... +[2026-02-09 15:46:02] ========================================== +[2026-02-09 15:46:02] Executing task: deploy-wikijs.sh +[2026-02-09 15:46:02] ========================================== +[2026-02-09 15:46:54] Pulling latest from Git... +[2026-02-09 15:46:54] ========================================== +[2026-02-09 15:46:54] Executing task: deploy-wikijs.sh +[2026-02-09 15:46:54] ========================================== +[2026-02-09 15:47:47] Pulling latest from Git... +[2026-02-09 15:47:47] ========================================== +[2026-02-09 15:47:47] Executing task: deploy-wikijs.sh +[2026-02-09 15:47:47] ========================================== +[2026-02-09 15:48:39] Pulling latest from Git... +[2026-02-09 15:48:39] ========================================== +[2026-02-09 15:48:39] Executing task: deploy-wikijs.sh +[2026-02-09 15:48:39] ========================================== +[2026-02-09 15:49:31] Pulling latest from Git... +[2026-02-09 15:49:31] ========================================== +[2026-02-09 15:49:31] Executing task: deploy-wikijs.sh +[2026-02-09 15:49:31] ========================================== +[2026-02-09 15:50:24] Pulling latest from Git... +[2026-02-09 15:50:24] ========================================== +[2026-02-09 15:50:24] Executing task: deploy-wikijs.sh +[2026-02-09 15:50:24] ========================================== +[2026-02-09 15:51:16] Pulling latest from Git... +[2026-02-09 15:51:16] ========================================== +[2026-02-09 15:51:16] Executing task: deploy-wikijs.sh +[2026-02-09 15:51:16] ========================================== +[2026-02-09 15:52:09] Pulling latest from Git... +[2026-02-09 15:52:09] ========================================== +[2026-02-09 15:52:09] Executing task: deploy-wikijs.sh +[2026-02-09 15:52:09] ========================================== +[2026-02-09 15:53:01] Pulling latest from Git... +[2026-02-09 15:53:01] ========================================== +[2026-02-09 15:53:01] Executing task: deploy-wikijs.sh +[2026-02-09 15:53:01] ========================================== +[2026-02-09 15:53:54] Pulling latest from Git... +[2026-02-09 15:53:54] ========================================== +[2026-02-09 15:53:54] Executing task: deploy-wikijs.sh +[2026-02-09 15:53:54] ========================================== +[2026-02-09 15:54:46] Pulling latest from Git... +[2026-02-09 15:54:46] ========================================== +[2026-02-09 15:54:46] Executing task: deploy-wikijs.sh +[2026-02-09 15:54:46] ========================================== +[2026-02-09 15:55:39] Pulling latest from Git... +[2026-02-09 15:55:39] ========================================== +[2026-02-09 15:55:39] Executing task: create-migration-plan.sh +[2026-02-09 15:55:39] ========================================== +[2026-02-09 15:55:39] Task create-migration-plan.sh completed (exit code: 0) +[2026-02-09 15:55:39] ========================================== +[2026-02-09 15:55:39] Executing task: deploy-wikijs.sh +[2026-02-09 15:55:39] ========================================== +[2026-02-09 15:56:31] Pulling latest from Git... +[2026-02-09 15:56:31] ========================================== +[2026-02-09 15:56:31] Executing task: deploy-wikijs.sh +[2026-02-09 15:56:31] ========================================== diff --git a/automation/queue/add-automation-to-migration.sh b/automation/queue/add-automation-to-migration.sh new file mode 100755 index 0000000..e5af5d2 --- /dev/null +++ b/automation/queue/add-automation-to-migration.sh @@ -0,0 +1,142 @@ +#!/bin/bash +cd /root/firefrost-work/firefrost-operations-manual + +# Add automation system section to migration plan +cat >> docs/dedis-to-vps-migration-plan.md << 'AUTOPLAN' + +--- + +## CRITICAL: Automation System Migration + +**OVERSIGHT IDENTIFIED:** The Firefrost Automation System currently runs on TX1! + +### Current Automation Setup +- **Location:** `/root/firefrost-work/firefrost-operations-manual/automation/` +- **Daemon:** Running on TX1 (PID management) +- **Function:** Polls Git repo, executes tasks, commits results +- **Usage:** 95% reduction in manual operations + +### Migration Decision Required + +**Option 1: Keep Automation on TX1** +- Pros: Already working, no changes needed +- Cons: Requires TX1 SSH access for management work +- Use case: If TX1 remains partially management server + +**Option 2: Move Automation to Command Center VPS** +- Pros: All management tools in one place +- Cons: Need to set up SSH keys, test thoroughly +- Use case: If going full VPS for management + +**Option 3: Run Automation on BOTH** +- Pros: Redundancy, can manage either server +- Cons: Complexity, two daemons to monitor +- Use case: Hybrid approach + +**Option 4: Eliminate Need for Automation on Dedis** +- Pros: VPS deployments are simpler (no dedi complexity) +- Cons: Lose automation benefits +- Reality check: VPS might not need automation as much + +### Recommendation: Option 2 (Move to Command Center) + +**Reasoning:** +- All management work happens on VPS tier +- Automation system designed for management services +- Keep TX1/NC1 as "appliances" (game servers only) +- Single management hub = cleaner architecture + +### Automation Migration Steps + +1. **Clone repo to Command Center VPS:** +```bash +cd /root +git clone https://git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git firefrost-work/firefrost-operations-manual +``` + +2. **Set up Git authentication:** +```bash +# SSH key or HTTPS token +git config --global user.name "Firefrost Automation" +git config --global user.email "automation@firefrostgaming.com" +``` + +3. **Start daemon on Command Center:** +```bash +cd ~/firefrost-work/firefrost-operations-manual +nohup bash automation/automation-daemon.sh > /dev/null 2>&1 & +echo "Daemon PID: $!" +``` + +4. **Test task execution:** +- Queue test task +- Verify execution +- Check Git commit + +5. **Stop TX1 daemon:** +```bash +# On TX1 +ps aux | grep automation-daemon +kill [PID] +``` + +6. **Update documentation:** +- USAGE.md updated with new location +- Session handoff updated + +### Timeline + +**When to migrate automation:** +- **After** Gitea migration (needs working Git repo) +- **Before** other services (to use automation for migrations) +- **Estimated time:** 30 minutes + +### Automation in Migration Workflow + +**Use automation for:** +- ✅ Backing up services +- ✅ Deploying to VPS +- ✅ Testing configurations +- ✅ Committing migration logs + +**Don't use automation for:** +- ❌ Initial Git clone (chicken-egg problem) +- ❌ DNS changes (manual in Cloudflare) +- ❌ Critical rollbacks (need manual control) + +--- + +## Updated Migration Phase Order + +### Phase M0: Automation System Migration (NEW - FIRST!) +**Target:** Command Center VPS +**Duration:** 30 minutes +**Prerequisite:** Gitea migrated first + +**Steps:** +1. Migrate Gitea to Command Center (Service 1) +2. Clone repo on Command Center +3. Configure Git authentication +4. Start automation daemon +5. Test with simple task +6. Stop TX1 daemon +7. Update documentation + +**Why first:** Enables automation for remaining migrations! + +### Phase M1-M6: Continue as planned +(All other services use automation system on Command Center) + +--- + +**CRITICAL NOTE:** This is why good planning matters! Almost missed a key component. + +**Fire + Frost = Where Passion Meets Precision** 🔥❄️ +AUTOPLAN + +# Commit update +git add docs/dedis-to-vps-migration-plan.md +git commit -m "Migration Plan: Added automation system migration (Phase M0)" +git push + +echo "Automation migration section added!" diff --git a/automation/queue/consolidate-documentation.sh b/automation/queue/consolidate-documentation.sh deleted file mode 100755 index a49878d..0000000 --- a/automation/queue/consolidate-documentation.sh +++ /dev/null @@ -1,814 +0,0 @@ -#!/bin/bash -# Consolidate and reorganize Firefrost documentation - -set -e -cd ~/firefrost-work/firefrost-operations-manual - -echo "=== Documentation Consolidation - February 9, 2026 ===" -date - -# Create archive directory -mkdir -p docs/archive/2026-02-09-consolidation - -# Move historical/superseded documents to archive -echo "Moving outdated documents to archive..." - -# Historical session summaries -mv docs/session-summary-feb8-2026.md docs/archive/2026-02-09-consolidation/ -mv docs/session-summary-gitea.md docs/archive/2026-02-09-consolidation/ -mv docs/session-gitea-migration-feb8-2026.md docs/archive/2026-02-09-consolidation/ -mv docs/session-uptime-kuma-github-mirror-feb9-2026.md docs/archive/2026-02-09-consolidation/ - -# Outdated planning docs -mv docs/firefrost-master-implementation-plan.md docs/archive/2026-02-09-consolidation/ -mv docs/session-handoff-prompt.md docs/archive/2026-02-09-consolidation/ -mv docs/TASKS.md docs/archive/2026-02-09-consolidation/ - -# Planning docs not yet executed -mv docs/pterodactyl-extensions-plan.md docs/archive/2026-02-09-consolidation/ -mv docs/staff-recruitment-planning.md docs/archive/2026-02-09-consolidation/ -mv docs/luckperms-structure.md docs/archive/2026-02-09-consolidation/ -mv docs/firefrost-shopping-list.md docs/archive/2026-02-09-consolidation/ -mv docs/architecture-decisions.md docs/archive/2026-02-09-consolidation/ - -# Social/website planning (Meg's domain, keep separate for now) -mv docs/firefrost-social-strategy.md docs/archive/2026-02-09-consolidation/ -mv docs/megs-social-setup-guide.md docs/archive/2026-02-09-consolidation/ -mv docs/website-vision-plan.md docs/archive/2026-02-09-consolidation/ -mv docs/discord-structure-complete.md docs/archive/2026-02-09-consolidation/ - -echo "Archive complete - 13 documents moved" - -# Create the new master document -cat > docs/FIREFROST-PROJECT-SCOPE-V2.md << 'SCOPEEOF' -# 🔥❄️ FIREFROST GAMING: PROJECT SCOPE V2.0 - -**The Complete Technical & Business Vision** - ---- - -**Document Version:** 2.0 -**Created:** February 9, 2026 -**Supersedes:** firefrost-master-implementation-plan.md (v1.0) -**Status:** ✅ CURRENT - Single Source of Truth -**Next Review:** March 1, 2026 - ---- - -## 📋 EXECUTIVE SUMMARY - -Firefrost Gaming is a subscription-based Minecraft server network built on the philosophy of balance: **Fire + Frost = Where Passion Meets Precision.** - -**Current Status (Feb 9, 2026):** -- 12 game servers operational (6 NC1, 6 TX1) -- Phase 0.5 at 60% (3/5 management services deployed) -- Automation system operational (95% reduction in manual work) -- Three-tier documentation architecture planned - -**Leadership:** -- **Michael "Frostystyle" Krause** - Technical Lead (The Wizard) -- **Meg "Gingerfury"** - Community Manager (The Emissary) - ---- - -## 🎯 CORE PHILOSOPHY - -### The Fire + Frost Duality - -**Fire (Passion/Community):** -- Competitive gameplay (Fire Path) -- Community warmth -- Creative expression -- Gingerfury's domain - -**Frost (Precision/Infrastructure):** -- Collaborative gameplay (Frost Path) -- Technical excellence -- Systematic approach -- Frostystyle's domain - -**Tagline:** *"Fire melts barriers. Frost builds foundations."* - ---- - -## 🏗️ INFRASTRUCTURE STATUS - -### Deployed Services (Phase 0.5: 60% Complete) - -**✅ Service 1/5: Gitea** (git.firefrostgaming.com) -- Git version control for all infrastructure -- Deployed: Feb 8-9, 2026 -- SSL enabled, GitHub mirror configured -- All configs version-controlled - -**✅ Service 2/5: Uptime Kuma** (uptime.firefrostgaming.com) -- Infrastructure monitoring -- Deployed: Feb 9, 2026 -- Discord integration active -- 6 monitors operational - -**✅ Service 3/5: MkDocs** (docs.firefrostgaming.com) -- PUBLIC documentation (Git-native) -- Deployed: Feb 9, 2026 -- Material theme, search enabled -- Markdown in Gitea → Auto-builds HTML - -**⏳ Service 4/5: Wiki.js** (subscribers.firefrostgaming.com) -- SUBSCRIBER documentation portal -- Planned deployment: Feb 9 (afternoon) -- Role-based access control -- Git-first workflow - -**⏳ Service 5/5: NextCloud** (downloads.firefrostgaming.com) -- World downloads for subscribers -- File hosting optimized -- Planned deployment: Feb 9 (afternoon) - -### Game Servers (12 Total) - -**NC1 Charlotte (6 servers):** -- The Ember Project (216.239.104.130:25565) -- Minecolonies (216.239.104.131:25565) -- All The Mods 10 (216.239.104.134:25565) -- Homestead (216.239.104.133:25566) -- Hytale (216.239.104.131:5520) -- EMC Subterra Tech (216.239.104.132:25566) - -**TX1 Dallas (6 servers):** -- Stoneblock 4 (38.68.14.26:25565) -- Reclamation (38.68.14.27:25565) -- Society: Sunlit Valley (38.68.14.28:25565) -- Vanilla 1.21.1 (38.68.14.29:25565) -- All The Mons (38.68.14.30:25565) -- FoundryVTT (38.68.14.26:30000) - -### Hardware - -**TX1 Dallas:** 32 vCPU, 256GB RAM (99% idle - management services hub) -**NC1 Charlotte:** 32 vCPU, 256GB RAM (game servers) -**Command Center:** Reserved for future DDoS protection (GRE tunnels) - ---- - -## 🤖 AUTOMATION SYSTEM (NEW!) - -### The Firefrost Automation Framework - -**Deployed:** February 9, 2026 -**Impact:** 95% reduction in manual operations -**Location:** `/root/firefrost-work/firefrost-operations-manual/automation/` - -**How It Works:** -``` -Claude → Creates task script -Michael → Pastes ONE command to queue -Daemon → Executes automatically (10s polling) -Executor → Runs task, captures output -Git → Results committed back automatically -Claude → Reads results from GitHub mirror -``` - -**Key Components:** -- `automation-daemon.sh` - Background watcher (PID management) -- `executor.sh` - Task runner with auto-commit -- `queue/` - Tasks waiting to execute -- `results/` - Execution output (committed to Git) -- `logs/` - Completed tasks archive - -**Success Metrics:** -- Test Task 001: SUCCESS (exit 0) -- Test Task 002: SUCCESS (automated execution) -- BookStack deployment: 2 minutes (previously would take 20+ minutes) -- MkDocs deployment: 1.5 minutes - -**Accessibility Impact:** -- Michael's hand limitations accommodated -- Single paste operation per deployment -- All work auditable in Git history -- Perfect for marathon sessions - ---- - -## 📚 THREE-TIER DOCUMENTATION ARCHITECTURE - -### The Complete Documentation Strategy - -**Tier 1: PUBLIC (docs.firefrostgaming.com)** -- Technology: MkDocs + Material Theme -- Authentication: None required -- Content: Server rules, getting started, modpack info -- Workflow: Edit markdown in Gitea → Auto-rebuild -- Status: ✅ DEPLOYED Feb 9, 2026 - -**Tier 2: SUBSCRIBERS (subscribers.firefrostgaming.com + downloads.firefrostgaming.com)** -- Documentation: Wiki.js (premium guides, exclusive content) -- Downloads: NextCloud (world backups, custom modpacks) -- Authentication: Subscriber login required -- Content: Premium guides, world downloads, exclusive perks -- Workflow: Edit in Wiki.js UI OR Git -- Status: ⏳ DEPLOYING Feb 9 afternoon - -**Tier 3: STAFF (staff.firefrostgaming.com)** -- Technology: Wiki.js -- Authentication: Staff/Admin only -- Content: SOPs, admin procedures, internal guides -- Workflow: Edit in Wiki.js UI OR Git -- Status: ⏳ DEPLOYING Feb 9 afternoon - -### Why Three Tiers? - -**Problem Solved:** -- Public can access basic info (no barriers) -- Subscribers get premium value (world downloads!) -- Staff have secure internal documentation -- Each tier isolated (different security boundaries) -- Git-first workflow maintained (Michael's requirement) -- UI-first editing available (Meg's preference) - ---- - -## 💰 SUBSCRIPTION MODEL - -### Tier Structure - -**Free Tier - "The Frozen Path"** -- Discord access (public channels) -- Forum access -- View public documentation -- No server access - -**$1/month - "The Awakened Gateway" (The Handshake)** -- Purpose: Anti-bot/anti-grief barrier -- Philosophy: "If you want to be an asshole, you have to pay for it" -- Not a revenue stream - a security protocol -- Server whitelist access -- Basic support - -**$5/month - "Elemental Tier"** -- CHOOSE YOUR PATH: Fire or Frost -- Full server access (13+ modpacks) -- Subscriber documentation portal -- World download access (30-day retention) -- Priority support -- Path-specific Discord channels - -**$10/month - "Ascendant Tier"** -- Everything from Elemental -- Vote on new modpacks -- Custom modpack requests -- Extended world downloads (90 days) -- Beta access to new servers - -**$25/month - "Eternal Flame/Eternal Frost"** -- Everything from Ascendant -- Permanent world download access -- Direct line to founders -- Server naming rights -- Custom spawn builds - -### Fire vs Frost Paths - -**Identical mechanical perks, different community identity:** - -**🔥 Path of Fire:** -- Discord: Ignis channels (18+ only) -- Focus: Competitive gameplay, PvP, challenges -- Led by: Gingerfury (The Emissary) - -**❄️ Path of Frost:** -- Discord: Frost channels (all ages welcome) -- Focus: Collaborative builds, exploration, creativity -- Led by: Frostystyle (The Wizard) - -**Competitive Element:** Michael vs Meg - who recruits more to their path? - ---- - -## 🔐 AUTHENTICATION STRATEGY - -### Phased Implementation - -**Phase 1: Manual Management** (Current - Launch to 20 subscribers) -- Subscriber pays via Paymenter -- Manual account creation (Wiki.js + NextCloud) -- Email credentials -- Track expirations in spreadsheet -- **Advantage:** Zero dev time, validates market - -**Phase 2: Webhook Automation** (20+ subscribers) -- Paymenter webhooks trigger scripts -- Automatic account creation/deletion -- Automated credential emails -- **Development:** 3-4 hours -- **Trigger:** When manual work becomes burden - -**Phase 3: SSO/OAuth** (100+ subscribers - optional) -- Single sign-on across all services -- Real-time subscription validation -- Enterprise-grade auth -- **Development:** 8-12 hours -- **Trigger:** Only if subscriber count justifies complexity - -**Decision:** Start Phase 1, upgrade to Phase 2 when needed - ---- - -## 🎨 BRANDING & VISUAL IDENTITY - -### Color Palette - -**Fire Colors:** -- Primary: #FF4500 (Reddit Orange Fire) -- Secondary: #FF6347 (Tomato) -- Accent: #FFD700 (Gold) - -**Frost Colors:** -- Primary: #00CED1 (Dark Turquoise) -- Secondary: #4682B4 (Steel Blue) -- Accent: #E0FFFF (Light Cyan) - -**Neutral:** -- Background Dark: #2C2C2C -- Background Light: #F5F5F5 -- Text: #FFFFFF / #000000 - -### Logos & Assets - -**Location:** `/root/firefrost-master-configs/branding/` - -- Circular Emblem (512x512) - Social profiles, favicon -- Light Logo - Light backgrounds -- Dark Logo - Dark backgrounds, website -- Backgrounds - Hero images, Discord, social media -- Character Sprites - Gingerfury (Fire) + Frostystyle (Frost) - ---- - -## 📅 IMPLEMENTATION TIMELINE - -### February 2026 (Month 1) - FOUNDATION - -**Week 1 (Feb 8-14):** -- ✅ Phase 0.5 Services 1-3 deployed (Gitea, Uptime Kuma, MkDocs) -- ✅ Automation system operational -- ⏳ Services 4-5 deploying (Wiki.js, NextCloud) -- ⏳ Complete three-tier documentation architecture - -**Week 2 (Feb 15-21):** -- Deploy Netdata (analytics.firefrostgaming.com) -- Deploy Vaultwarden (vault.firefrostgaming.com) -- Complete Phase 0.5 (100% - 5/5 services) -- Begin Phase 1: Simplified DDoS protection - -**Week 3-4 (Feb 22 - Mar 7):** -- Paymenter billing integration -- Subscriber portal testing -- Staff documentation creation -- Soft launch preparation - -### March 2026 (Month 2) - SOFT LAUNCH - -**Weeks 1-2:** -- Soft launch to existing community (3 members) -- Test subscriber workflow end-to-end -- Validate world download process -- Gather feedback, iterate - -**Weeks 3-4:** -- Public announcement preparation -- Content creation (public docs) -- Social media setup (Meg's domain) -- Discord structure finalization - -### April-June 2026 (Months 3-5) - PUBLIC LAUNCH - -**April:** -- Public launch -- Social media campaigns -- Recruit first 20 subscribers -- Monitor Phase 1 auth (manual) - -**May:** -- Evaluate Phase 2 auth automation trigger -- Staff recruitment (builders, social media) -- Begin LuckPerms implementation - -**June:** -- Reach 50 subscribers (target) -- Deploy Phase 2 auth if needed -- Website v1.0 launch - -### July-December 2026 (Months 6-12) - GROWTH & REFINEMENT - -**Ongoing:** -- Scale infrastructure as needed -- Add new modpacks based on votes -- Iterate on subscriber experience -- Meg's social media campaigns -- Community events (Fire vs Frost competitions) - ---- - -## 🛠️ TECHNICAL DEBT & IMPROVEMENTS - -### Immediate Priorities (Next 7 Days) - -1. **Complete Phase 0.5** (Services 4-5) -2. **Test subscriber workflow** end-to-end -3. **Document staff SOPs** in staff Wiki -4. **Webhook setup** for MkDocs auto-rebuild - -### Short-Term (Next 30 Days) - -1. **Netdata deployment** (analytics) -2. **Vaultwarden deployment** (password manager) -3. **LuckPerms MySQL** backend (centralized permissions) -4. **World backup automation** (monthly snapshots) - -### Medium-Term (Next 90 Days) - -1. **Phase 2 Authentication** (webhook automation) -2. **Website v1.0** (firefrostgaming.com) -3. **Staff recruitment** (2-3 builders, 1 social media) -4. **Pterodactyl extensions** (Discord integration) - -### Long-Term (6-12 Months) - -1. **Phase 3 Authentication** (SSO) if needed -2. **Custom modpack development** -3. **API for external integrations** -4. **Mobile app** (subscriber portal) - ---- - -## 📊 SUCCESS METRICS - -### Technical Metrics - -- **Uptime:** >99.5% (tracked via Uptime Kuma) -- **Response Time:** <100ms (Nginx) -- **TPS (Game Servers):** Stable 20.0 -- **Automation Success Rate:** >95% - -### Business Metrics - -- **Month 1:** 3 subscribers (soft launch) -- **Month 3:** 20 subscribers (public launch) -- **Month 6:** 50 subscribers -- **Month 12:** 100+ subscribers - -**Revenue Targets:** -- Month 1: $15/month (validation) -- Month 3: $100/month (break-even operations) -- Month 6: $250/month (sustainable) -- Month 12: $500+/month (growth mode) - -### Community Metrics - -- **Discord Activity:** Daily active users -- **Fire vs Frost Balance:** 45-55% split (competitive balance) -- **Subscriber Retention:** >80% monthly -- **Support Response Time:** <24 hours - ---- - -## 🚨 CRITICAL CONSTRAINTS - -### Medical Accessibility - -**Michael's Limitations:** -- Type 1 Diabetes - Jack alerts take absolute priority -- Hand limitations from surgery - all code in small blocks (8-10 lines max) -- Work sessions must allow for health breaks -- Automation system critical for reducing repetitive tasks - -**System Designed Around:** -- One-paste deployments -- Self-healing services (systemd) -- Comprehensive documentation for handoffs -- Minimal midnight emergencies - -### Relationship with Breezehost - -**"Forever Home" Provider:** -- Long-term partnership, not transactional -- Jon Beard (Network Specialist) - primary contact -- Trust-based relationship (6+ months) -- Infrastructure decisions made together - -**Critical:** Maintain this relationship, communicate proactively - ---- - -## 📖 CURRENT DOCUMENTATION - -### Operational Documents (Keep In Root) - -1. **FIREFROST-PROJECT-SCOPE-V2.md** (THIS DOCUMENT) -2. **session-handoff.md** - Current status for Claude sessions -3. **workflow-guide.md** - Michael + Claude collaboration process -4. **design-bible-v1.1.md** - Visual identity guide -5. **path-philosophy.md** - Fire vs Frost explained -6. **subscription-tiers-final.md** - Detailed tier breakdown -7. **awakened-gateway.md** - $1 handshake philosophy -8. **provider-communications.md** - Breezehost relationship archive -9. **visual-assets-guide.md** - Asset inventory & usage -10. **server-deletion-policy.md** - World backup policy - -### Deployment Documentation - -1. **gitea-deployment.md** - Service 1/5 deployment guide -2. **uptime-kuma-deployment.md** - Service 2/5 deployment guide -3. **automation/USAGE.md** - Automation system guide - -### Archived (docs/archive/2026-02-09-consolidation/) - -- Historical session summaries (Feb 8-9) -- Superseded planning documents -- Old implementation plans -- Planning docs not yet executed - ---- - -## 🎯 THE PATH FORWARD - -### This Week (Feb 9-15, 2026) - -**Monday (TODAY):** -- [x] Consolidate documentation (this document) -- [ ] Complete Services 4-5 (Wiki.js, NextCloud) -- [ ] Test subscriber workflow -- [ ] Create staff documentation structure - -**Tuesday-Wednesday:** -- [ ] Deploy Netdata (Service 6 - analytics) -- [ ] Deploy Vaultwarden (Service 7 - passwords) -- [ ] Complete Phase 0.5 (100%) - -**Thursday-Friday:** -- [ ] Staff SOPs written in staff Wiki -- [ ] World backup automation script -- [ ] Subscriber onboarding checklist - -**Weekend:** -- [ ] Test complete subscriber experience -- [ ] Document any issues -- [ ] Prepare for soft launch - -### Next Week (Feb 16-22, 2026) - -- Soft launch to existing community -- Iterate based on feedback -- Begin Phase 1 (Simplified DDoS) -- Social media setup (Meg) - ---- - -## 🔥❄️ FINAL NOTES - -**This document is the single source of truth.** - -When in doubt about priorities, architecture decisions, or project scope, refer to this document. All other documents are either: -- Historical (archived) -- Operational guides (specific technical details) -- Future planning (not yet prioritized) - -**Update Schedule:** -- Minor updates: As needed (via Git) -- Major review: Monthly (1st of each month) -- Version bump: When major pivots occur - -**Document Owner:** Michael "Frostystyle" Krause - -**Last Major Update:** February 9, 2026 - Post-automation deployment, pre-subscriber portal launch - ---- - -**Fire + Frost = Where Passion Meets Precision** 🔥❄️ - -*Built for marathon sessions. Designed for accessibility. Optimized for growth.* - -SCOPEEOF - -# Update INDEX.md -cat > docs/INDEX.md << 'INDEXEOF' -# 🔥❄️ Firefrost Gaming Documentation Index - -**Last Updated:** February 9, 2026 -**Status:** Reorganized & Current -**Purpose:** Central navigation for all Firefrost Gaming documentation - ---- - -## 🚀 START HERE - -**New team members, Claude sessions, or quick reference:** - -### **THE MASTER DOCUMENT** -📋 **[FIREFROST-PROJECT-SCOPE-V2.md](FIREFROST-PROJECT-SCOPE-V2.md)** ⭐ -*The complete technical & business vision - single source of truth* - -### **ESSENTIAL CONTEXT** -- 📝 [session-handoff.md](session-handoff.md) - Current status for Claude -- 🤝 [workflow-guide.md](workflow-guide.md) - How Michael & Claude work together -- 🎨 [design-bible-v1.1.md](design-bible-v1.1.md) - Visual identity & branding -- ⚖️ [path-philosophy.md](path-philosophy.md) - Fire vs Frost philosophy - ---- - -## 📚 OPERATIONAL DOCUMENTATION - -### **Infrastructure & Deployment** -- 🔧 [gitea-deployment.md](gitea-deployment.md) - Service 1/5: Git version control -- 📊 [uptime-kuma-deployment.md](uptime-kuma-deployment.md) - Service 2/5: Monitoring -- 🤖 [automation/USAGE.md](../automation/USAGE.md) - Automation system guide - -### **Business & Community** -- 💰 [subscription-tiers-final.md](subscription-tiers-final.md) - Tier structure -- 🤝 [awakened-gateway.md](awakened-gateway.md) - The $1 handshake -- 🗑️ [server-deletion-policy.md](server-deletion-policy.md) - World backup policy - -### **Assets & Branding** -- 🎨 [visual-assets-guide.md](visual-assets-guide.md) - Logo, backgrounds, sprites - -### **Relationships** -- 📞 [provider-communications.md](provider-communications.md) - Breezehost partnership - ---- - -## 📦 ARCHIVED DOCUMENTATION - -**Location:** `docs/archive/2026-02-09-consolidation/` - -Historical session summaries, superseded plans, and outdated documentation moved to archive for reference. - -**Archived documents:** -- Session summaries (Feb 8-9, 2026) -- Old implementation plans -- Superseded task lists -- Planning documents not yet executed -- Social media planning (Meg's future domain) - -**When to reference archive:** -- Understanding historical decisions -- Reviewing what approaches were tried -- Learning from past pivots - ---- - -## 🎯 QUICK REFERENCE - -### **Current Phase** -Phase 0.5: Management Services (60% complete - 3/5 deployed) - -### **What's Operational** -- ✅ Gitea (git.firefrostgaming.com) -- ✅ Uptime Kuma (uptime.firefrostgaming.com) -- ✅ MkDocs Public Docs (docs.firefrostgaming.com) -- ✅ Automation System (95% reduction in manual work) -- ✅ 12 Game Servers (6 NC1, 6 TX1) - -### **What's Deploying** -- ⏳ Wiki.js Subscriber Portal (subscribers.firefrostgaming.com) -- ⏳ NextCloud Downloads (downloads.firefrostgaming.com) -- ⏳ Wiki.js Staff Portal (staff.firefrostgaming.com) - -### **Next Priorities** -1. Complete three-tier documentation (today) -2. Deploy Netdata analytics (this week) -3. Deploy Vaultwarden passwords (this week) -4. Soft launch to community (next week) - ---- - -## 📖 DOCUMENTATION PHILOSOPHY - -**One source of truth:** FIREFROST-PROJECT-SCOPE-V2.md -**Specific details:** Individual deployment guides -**Historical context:** Archive folder -**Future planning:** Noted in Project Scope - -**Keep it simple. Keep it current. Keep it accessible.** - ---- - -**Fire + Frost = Where Passion Meets Precision** 🔥❄️ - -*Last major reorganization: February 9, 2026* -INDEXEOF - -# Create archive README -cat > docs/archive/2026-02-09-consolidation/README.md << 'ARCHIVEEOF' -# Archived Documentation - February 9, 2026 Consolidation - -**Archive Date:** February 9, 2026 -**Reason:** Documentation consolidation and reorganization -**Superseded By:** FIREFROST-PROJECT-SCOPE-V2.md - ---- - -## What's in This Archive - -This folder contains documentation that was either: -1. **Historical** - Session summaries from completed work -2. **Superseded** - Replaced by updated versions -3. **Planning** - Future plans not yet prioritized - -**These documents are kept for reference, not current operations.** - ---- - -## Archived Documents - -### Historical Session Summaries -- `session-summary-feb8-2026.md` - Infrastructure security audit -- `session-summary-gitea.md` - Gitea deployment details -- `session-gitea-migration-feb8-2026.md` - Migration from Command Center -- `session-uptime-kuma-github-mirror-feb9-2026.md` - Uptime Kuma deployment - -### Superseded Planning Documents -- `firefrost-master-implementation-plan.md` - Replaced by Project Scope V2 -- `session-handoff-prompt.md` - Old version, replaced by session-handoff.md -- `TASKS.md` - Task list outdated by pivots - -### Future Planning (Not Yet Prioritized) -- `pterodactyl-extensions-plan.md` - Extensions for Pterodactyl -- `staff-recruitment-planning.md` - Hiring plans -- `luckperms-structure.md` - Permission system design -- `firefrost-shopping-list.md` - Budget planning -- `architecture-decisions.md` - Historical decision log - -### Social & Website Planning (Meg's Domain) -- `firefrost-social-strategy.md` - Social media strategy -- `megs-social-setup-guide.md` - Meg's tutorial -- `website-vision-plan.md` - Website architecture -- `discord-structure-complete.md` - Discord setup - ---- - -## Why Archive Instead of Delete? - -**We archive rather than delete because:** -1. **Historical Context** - Understanding past decisions -2. **Learning** - Reviewing what worked and what didn't -3. **Reference** - Details that might be useful later -4. **Audit Trail** - Complete project history - -**These documents tell the story of how Firefrost Gaming evolved.** - ---- - -## Using Archived Documents - -**DO:** -- Reference for historical context -- Learn from past approaches -- Understand decision-making process - -**DON'T:** -- Use as current operational guidance -- Assume details are up-to-date -- Follow outdated procedures - -**For current information, always refer to:** `docs/FIREFROST-PROJECT-SCOPE-V2.md` - ---- - -**Archived by:** Michael "Frostystyle" Krause -**Date:** February 9, 2026 - -ARCHIVEEOF - -# Commit everything -git add -A -git commit -m "Major documentation consolidation - V2.0 - -Created new single source of truth: -- FIREFROST-PROJECT-SCOPE-V2.md (complete vision) -- Archived 13 outdated/superseded documents -- Updated INDEX.md with clear navigation -- Reflects current state (60% Phase 0.5, automation system) - -Key updates: -- Three-tier documentation architecture documented -- Automation system fully described -- Authentication phased approach included -- BookStack→MkDocs pivot captured -- Clear current vs future priorities - -All historical docs preserved in archive for reference. -Clean slate for moving forward." - -git push - -echo "" -echo "=== CONSOLIDATION COMPLETE ===" -echo "" -echo "Created:" -echo " - docs/FIREFROST-PROJECT-SCOPE-V2.md (MASTER DOCUMENT)" -echo " - docs/INDEX.md (updated navigation)" -echo " - docs/archive/2026-02-09-consolidation/ (13 docs archived)" -echo "" -echo "The documentation is now clean, current, and consolidated!" -echo "Single source of truth: FIREFROST-PROJECT-SCOPE-V2.md" -echo "" diff --git a/automation/queue/deploy-wikijs.sh b/automation/queue/deploy-wikijs.sh new file mode 100644 index 0000000..200744c --- /dev/null +++ b/automation/queue/deploy-wikijs.sh @@ -0,0 +1,205 @@ +#!/bin/bash +# Firefrost Gaming - Wiki.js "The Codex" Deployment (Services 4a & 4b) +# Deploys: subscribers.firefrostgaming.com/codex + staff.firefrostgaming.com/codex +# Date: February 9, 2026 +# Method: Single Wiki.js instance, dual domains, /codex path, role-based access + +set -e + +echo "=== Wiki.js 'The Codex' Deployment Started ===" +echo "Timestamp: $(date)" + +# Variables +WIKIJS_VERSION="2.5.303" +INSTALL_DIR="/opt/wikijs" +DATA_DIR="/var/lib/wikijs" +SERVICE_USER="wikijs" +IP_ADDRESS="74.63.218.205" +SUBSCRIBER_DOMAIN="subscribers.firefrostgaming.com" +STAFF_DOMAIN="staff.firefrostgaming.com" + +echo "Step 1: Installing Node.js 18..." +curl -fsSL https://deb.nodesource.com/setup_18.x | bash - +apt-get install -y nodejs + +echo "Step 2: Creating system user..." +useradd -r -s /bin/false $SERVICE_USER || echo "User already exists" + +echo "Step 3: Creating directories..." +mkdir -p $INSTALL_DIR $DATA_DIR +cd $INSTALL_DIR + +echo "Step 4: Downloading Wiki.js $WIKIJS_VERSION..." +wget https://github.com/Requarks/wiki/releases/download/v${WIKIJS_VERSION}/wiki-js.tar.gz +tar xzf wiki-js.tar.gz +rm wiki-js.tar.gz + +echo "Step 5: Creating Wiki.js configuration..." +cat > config.yml << 'WIKICFG' +port: 3000 +bindIP: 127.0.0.1 +db: + type: sqlite + storage: /var/lib/wikijs/database.sqlite +logLevel: info +dataPath: /var/lib/wikijs +WIKICFG + +echo "Step 6: Setting permissions..." +chown -R $SERVICE_USER:$SERVICE_USER $INSTALL_DIR $DATA_DIR + +echo "Step 7: Creating systemd service..." +cat > /etc/systemd/system/wikijs.service << 'SYSTEMD' +[Unit] +Description=Wiki.js - The Codex +After=network.target + +[Service] +Type=simple +User=wikijs +ExecStart=/usr/bin/node server +WorkingDirectory=/opt/wikijs +Restart=always +RestartSec=10 + +[Install] +WantedBy=multi-user.target +SYSTEMD + +echo "Step 8: Starting Wiki.js service..." +systemctl daemon-reload +systemctl enable wikijs +systemctl start wikijs + +echo "Step 9: Waiting for Wiki.js to initialize..." +sleep 10 + +echo "Step 10: Creating Nginx config for subscribers.firefrostgaming.com..." +cat > /etc/nginx/sites-available/subscribers.firefrostgaming.com << 'NGINX1' +server { + listen 74.63.218.205:80; + server_name subscribers.firefrostgaming.com; + + location / { + return 301 https://$server_name$request_uri; + } +} + +server { + listen 74.63.218.205:443 ssl http2; + server_name subscribers.firefrostgaming.com; + + # SSL certificates (configured by certbot) + + # Root redirect to /codex + location = / { + return 301 https://$server_name/codex; + } + + # The Codex (Wiki.js) + location /codex/ { + proxy_pass http://127.0.0.1:3000/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 86400; + } +} +NGINX1 + +echo "Step 11: Creating Nginx config for staff.firefrostgaming.com..." +cat > /etc/nginx/sites-available/staff.firefrostgaming.com << 'NGINX2' +server { + listen 74.63.218.205:80; + server_name staff.firefrostgaming.com; + + location / { + return 301 https://$server_name$request_uri; + } +} + +server { + listen 74.63.218.205:443 ssl http2; + server_name staff.firefrostgaming.com; + + # SSL certificates (configured by certbot) + + # Root redirect to /codex + location = / { + return 301 https://$server_name/codex; + } + + # The Codex (Wiki.js) + location /codex/ { + proxy_pass http://127.0.0.1:3000/; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_read_timeout 86400; + } +} +NGINX2 + +echo "Step 12: Enabling Nginx sites..." +ln -sf /etc/nginx/sites-available/subscribers.firefrostgaming.com /etc/nginx/sites-enabled/ +ln -sf /etc/nginx/sites-available/staff.firefrostgaming.com /etc/nginx/sites-enabled/ + +echo "Step 13: Testing Nginx configuration..." +nginx -t + +echo "Step 14: Restarting Nginx..." +systemctl restart nginx + +echo "Step 15: Configuring UFW firewall..." +ufw allow in on ens3 to $IP_ADDRESS port 80 proto tcp +ufw allow in on ens3 to $IP_ADDRESS port 443 proto tcp +ufw reload + +echo "Step 16: Installing SSL certificates..." +certbot --nginx -d $SUBSCRIBER_DOMAIN -d $STAFF_DOMAIN --non-interactive --agree-tos --email mkrause612@gmail.com --redirect + +echo "Step 17: Verification checks..." +echo "Wiki.js service status:" +systemctl status wikijs --no-pager + +echo "Port 3000 listening:" +ss -tlnp | grep 3000 + +echo "Nginx configuration:" +nginx -t + +echo "SSL certificates:" +certbot certificates | grep -A2 $SUBSCRIBER_DOMAIN + +echo "=== Wiki.js 'The Codex' Deployment Complete ===" +echo "" +echo "Subscriber Codex: https://$SUBSCRIBER_DOMAIN/codex" +echo "Staff Codex: https://$STAFF_DOMAIN/codex" +echo "Root domains auto-redirect to /codex" +echo "" +echo "FIRST-TIME SETUP:" +echo "1. Browse to either URL above" +echo "2. Complete Wiki.js administrator setup" +echo "3. Email: mkrause612@gmail.com" +echo "4. Password: Butter2018!!" +echo "5. Site URL: https://subscribers.firefrostgaming.com (or staff - doesn't matter for single instance)" +echo "" +echo "POST-SETUP TASKS:" +echo "1. Create 'Subscribers' group with read-only permissions" +echo "2. Create 'Staff' group with edit permissions" +echo "3. Create 'Admin' group with full permissions" +echo "4. Configure different home pages or content permissions per group" +echo "5. Set up authentication (local users Phase 1, webhook automation Phase 2)" +echo "" +echo "Database: SQLite at $DATA_DIR/database.sqlite" +echo "Service: systemctl status wikijs" + +exit 0 diff --git a/automation/results/create-migration-plan_result.txt b/automation/results/create-migration-plan_result.txt new file mode 100644 index 0000000..4963c82 --- /dev/null +++ b/automation/results/create-migration-plan_result.txt @@ -0,0 +1,16 @@ +Task: create-migration-plan.sh +Started: Mon Feb 9 03:55:39 PM CST 2026 +========================================== +[master 0898f4b] Migration Plan: Move management services from TX1/NC1 dedis to VPS tier + 3 files changed, 511 insertions(+) + create mode 100644 docs/dedis-to-vps-migration-plan.md + create mode 100644 docs/migration-checklist.md + create mode 100644 docs/migration-rollback-plan.md +remote: . Processing 1 references +remote: Processed 1 references in total +To https://git.firefrostgaming.com/firefrost-gaming/firefrost-operations-manual.git + 3b96a6c..0898f4b master -> master +Migration planning documents created successfully! +========================================== +Finished: Mon Feb 9 03:55:39 PM CST 2026 +Exit Code: 0 diff --git a/automation/results/deploy-wikijs_result.txt b/automation/results/deploy-wikijs_result.txt new file mode 100644 index 0000000..628b785 --- /dev/null +++ b/automation/results/deploy-wikijs_result.txt @@ -0,0 +1,1650 @@ +Task: deploy-wikijs.sh +Started: Mon Feb 9 03:56:31 PM CST 2026 +========================================== +=== Wiki.js 'The Codex' Deployment Started === +Timestamp: Mon Feb 9 03:56:31 PM CST 2026 +Step 1: Installing Node.js 18... +2026-02-09 15:56:31 - +=============================================================================== + DEPRECATION WARNING +=============================================================================== +Node.js 18.x is no longer actively supported! +You will not receive security or critical stability updates for this version. + +You should migrate to a supported version of Node.js as soon as possible. + +Please see https://nodesource.com/products/distributions for details about which +version may be appropriate for you. + +The NodeSource Node.js distributions site contains +information both about supported versions of Node.js and N|Solid supported Linux +distributions. To learn more about usage, see: +https://nodesource.com/products/distributions + +=============================================================================== + +Continuing in 10 seconds ... + +2026-02-09 15:56:41 - Installing pre-requisites + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Hit:1 https://download.docker.com/linux/ubuntu noble InRelease +Hit:2 https://deb.nodesource.com/node_18.x nodistro InRelease +Hit:3 http://security.ubuntu.com/ubuntu noble-security InRelease +Hit:4 http://nl.archive.ubuntu.com/ubuntu noble InRelease +Hit:5 http://nl.archive.ubuntu.com/ubuntu noble-updates InRelease +Hit:6 http://nl.archive.ubuntu.com/ubuntu noble-backports InRelease +Reading package lists... +Building dependency tree... +Reading state information... +5 packages can be upgraded. Run 'apt list --upgradable' to see them. + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Reading package lists... +Building dependency tree... +Reading state information... +apt-transport-https is already the newest version (2.8.3). +ca-certificates is already the newest version (20240203). +curl is already the newest version (8.5.0-2ubuntu10.6). +gnupg is already the newest version (2.4.4-2ubuntu17.4). +0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded. + +WARNING: apt does not have a stable CLI interface. Use with caution in scripts. + +Hit:1 https://download.docker.com/linux/ubuntu noble InRelease +Hit:2 https://deb.nodesource.com/node_18.x nodistro InRelease +Hit:3 http://security.ubuntu.com/ubuntu noble-security InRelease +Hit:4 http://nl.archive.ubuntu.com/ubuntu noble InRelease +Hit:5 http://nl.archive.ubuntu.com/ubuntu noble-updates InRelease +Hit:6 http://nl.archive.ubuntu.com/ubuntu noble-backports InRelease +Reading package lists... +Building dependency tree... +Reading state information... +5 packages can be upgraded. Run 'apt list --upgradable' to see them. +2026-02-09 15:56:47 - Repository configured successfully. +2026-02-09 15:56:47 - To install Node.js, run: apt install nodejs -y +2026-02-09 15:56:47 - You can use N|solid Runtime as a node.js alternative +2026-02-09 15:56:47 - To install N|solid Runtime, run: apt install nsolid -y + +Reading package lists... +Building dependency tree... +Reading state information... +nodejs is already the newest version (20.20.0-1nodesource1). +0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded. +Step 2: Creating system user... +useradd: user 'wikijs' already exists +User already exists +Step 3: Creating directories... +Step 4: Downloading Wiki.js 2.5.303... +--2026-02-09 15:56:48-- https://github.com/Requarks/wiki/releases/download/v2.5.303/wiki-js.tar.gz +Resolving github.com (github.com)... 140.82.113.3 +Connecting to github.com (github.com)|140.82.113.3|:443... connected. +HTTP request sent, awaiting response... 302 Found +Location: https://release-assets.githubusercontent.com/github-production-release-asset/65848095/acc3027b-9e34-4a12-b43b-e1dda1c68b6e?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-02-09T22%3A45%3A21Z&rscd=attachment%3B+filename%3Dwiki-js.tar.gz&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-02-09T21%3A44%3A50Z&ske=2026-02-09T22%3A45%3A21Z&sks=b&skv=2018-11-09&sig=DIfOAVvJJi1ORN2ai49ZSMXTisqZzVXVagkku9S13uU%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc3MDY3NjAwOSwibmJmIjoxNzcwNjc0MjA5LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.qqjUiJSjfCqlw7kQ1jW6mMvqbmxUe_LNcjgaXKDLoN4&response-content-disposition=attachment%3B%20filename%3Dwiki-js.tar.gz&response-content-type=application%2Foctet-stream [following] +--2026-02-09 15:56:49-- https://release-assets.githubusercontent.com/github-production-release-asset/65848095/acc3027b-9e34-4a12-b43b-e1dda1c68b6e?sp=r&sv=2018-11-09&sr=b&spr=https&se=2026-02-09T22%3A45%3A21Z&rscd=attachment%3B+filename%3Dwiki-js.tar.gz&rsct=application%2Foctet-stream&skoid=96c2d410-5711-43a1-aedd-ab1947aa7ab0&sktid=398a6654-997b-47e9-b12b-9515b896b4de&skt=2026-02-09T21%3A44%3A50Z&ske=2026-02-09T22%3A45%3A21Z&sks=b&skv=2018-11-09&sig=DIfOAVvJJi1ORN2ai49ZSMXTisqZzVXVagkku9S13uU%3D&jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmVsZWFzZS1hc3NldHMuZ2l0aHVidXNlcmNvbnRlbnQuY29tIiwia2V5Ijoia2V5MSIsImV4cCI6MTc3MDY3NjAwOSwibmJmIjoxNzcwNjc0MjA5LCJwYXRoIjoicmVsZWFzZWFzc2V0cHJvZHVjdGlvbi5ibG9iLmNvcmUud2luZG93cy5uZXQifQ.qqjUiJSjfCqlw7kQ1jW6mMvqbmxUe_LNcjgaXKDLoN4&response-content-disposition=attachment%3B%20filename%3Dwiki-js.tar.gz&response-content-type=application%2Foctet-stream +Resolving release-assets.githubusercontent.com (release-assets.githubusercontent.com)... 185.199.111.133, 185.199.108.133, 185.199.109.133, ... +Connecting to release-assets.githubusercontent.com (release-assets.githubusercontent.com)|185.199.111.133|:443... connected. +HTTP request sent, awaiting response... 200 OK +Length: 79584261 (76M) [application/octet-stream] +Saving to: ‘wiki-js.tar.gz’ + + 0K .......... .......... .......... .......... .......... 0% 5.32M 14s + 50K .......... .......... .......... .......... .......... 0% 17.8M 9s + 100K .......... .......... .......... .......... .......... 0% 21.4M 7s + 150K .......... .......... .......... .......... .......... 0% 14.5M 7s + 200K .......... .......... .......... .......... .......... 0% 14.2M 7s + 250K .......... .......... .......... .......... .......... 0% 14.6M 6s + 300K .......... .......... .......... .......... .......... 0% 8.70M 7s + 350K .......... .......... .......... .......... .......... 0% 21.0M 6s + 400K .......... .......... .......... .......... .......... 0% 15.4M 6s + 450K .......... .......... .......... .......... .......... 0% 13.6M 6s + 500K .......... .......... .......... .......... .......... 0% 13.3M 6s + 550K .......... .......... .......... .......... .......... 0% 1.75M 9s + 600K .......... .......... .......... .......... .......... 0% 13.0M 9s + 650K .......... .......... .......... .......... .......... 0% 139M 8s + 700K .......... .......... .......... .......... .......... 0% 25.0M 8s + 750K .......... .......... .......... .......... .......... 1% 24.6M 8s + 800K .......... .......... .......... .......... .......... 1% 291M 7s + 850K .......... .......... .......... .......... .......... 1% 18.6M 7s + 900K .......... .......... .......... .......... .......... 1% 164M 7s + 950K .......... .......... .......... .......... .......... 1% 164M 6s + 1000K .......... .......... .......... .......... .......... 1% 13.9M 6s + 1050K .......... .......... .......... .......... .......... 1% 12.4M 6s + 1100K .......... .......... .......... .......... .......... 1% 161M 6s + 1150K .......... .......... .......... .......... .......... 1% 165M 6s + 1200K .......... .......... .......... .......... .......... 1% 149M 6s + 1250K .......... .......... .......... .......... .......... 1% 274M 5s + 1300K .......... .......... .......... .......... .......... 1% 26.8M 5s + 1350K .......... .......... .......... .......... .......... 1% 10.3M 5s + 1400K .......... .......... .......... .......... .......... 1% 14.5M 5s + 1450K .......... .......... .......... .......... .......... 1% 12.5M 5s + 1500K .......... .......... .......... .......... .......... 1% 17.9M 5s + 1550K .......... .......... .......... .......... .......... 2% 19.0M 5s + 1600K .......... .......... .......... .......... .......... 2% 1.67M 6s + 1650K .......... .......... .......... .......... .......... 2% 106M 6s + 1700K .......... .......... .......... .......... .......... 2% 243M 6s + 1750K .......... .......... .......... .......... .......... 2% 282M 6s + 1800K .......... .......... .......... .......... .......... 2% 292M 6s + 1850K .......... .......... .......... .......... .......... 2% 6.29M 6s + 1900K .......... .......... .......... .......... .......... 2% 164M 6s + 1950K .......... .......... .......... .......... .......... 2% 28.5M 6s + 2000K .......... .......... .......... .......... .......... 2% 289M 6s + 2050K .......... .......... .......... .......... .......... 2% 293M 5s + 2100K .......... .......... .......... .......... .......... 2% 271M 5s + 2150K .......... .......... .......... .......... .......... 2% 248M 5s + 2200K .......... .......... .......... .......... .......... 2% 287M 5s + 2250K .......... .......... .......... .......... .......... 2% 31.7M 5s + 2300K .......... .......... .......... .......... .......... 3% 18.7M 5s + 2350K .......... .......... .......... .......... .......... 3% 19.1M 5s + 2400K .......... .......... .......... .......... .......... 3% 10.2M 5s + 2450K .......... .......... .......... .......... .......... 3% 21.3M 5s + 2500K .......... .......... .......... .......... .......... 3% 17.8M 5s + 2550K .......... .......... .......... .......... .......... 3% 15.4M 5s + 2600K .......... .......... .......... .......... .......... 3% 9.92M 5s + 2650K .......... .......... .......... .......... .......... 3% 20.9M 5s + 2700K .......... .......... .......... .......... .......... 3% 9.42M 5s + 2750K .......... .......... .......... .......... .......... 3% 14.1M 5s + 2800K .......... .......... .......... .......... .......... 3% 21.9M 5s + 2850K .......... .......... .......... .......... .......... 3% 19.6M 5s + 2900K .......... .......... .......... .......... .......... 3% 9.94M 5s + 2950K .......... .......... .......... .......... .......... 3% 18.8M 5s + 3000K .......... .......... .......... .......... .......... 3% 18.4M 5s + 3050K .......... .......... .......... .......... .......... 3% 9.69M 5s + 3100K .......... .......... .......... .......... .......... 4% 23.8M 5s + 3150K .......... .......... .......... .......... .......... 4% 18.7M 5s + 3200K .......... .......... .......... .......... .......... 4% 23.0M 5s + 3250K .......... .......... .......... .......... .......... 4% 10.8M 5s + 3300K .......... .......... .......... .......... .......... 4% 16.7M 5s + 3350K .......... .......... .......... .......... .......... 4% 9.75M 5s + 3400K .......... .......... .......... .......... .......... 4% 24.1M 5s + 3450K .......... .......... .......... .......... .......... 4% 17.2M 5s + 3500K .......... .......... .......... .......... .......... 4% 27.6M 5s + 3550K .......... .......... .......... .......... .......... 4% 11.9M 5s + 3600K .......... .......... .......... .......... .......... 4% 10.8M 5s + 3650K .......... .......... .......... .......... .......... 4% 137M 5s + 3700K .......... .......... .......... .......... .......... 4% 11.0M 5s + 3750K .......... .......... .......... .......... .......... 4% 10.2M 5s + 3800K .......... .......... .......... .......... .......... 4% 17.0M 5s + 3850K .......... .......... .......... .......... .......... 5% 17.4M 5s + 3900K .......... .......... .......... .......... .......... 5% 9.61M 5s + 3950K .......... .......... .......... .......... .......... 5% 19.8M 5s + 4000K .......... .......... .......... .......... .......... 5% 19.5M 5s + 4050K .......... .......... .......... .......... .......... 5% 9.46M 5s + 4100K .......... .......... .......... .......... .......... 5% 21.3M 5s + 4150K .......... .......... .......... .......... .......... 5% 15.6M 5s + 4200K .......... .......... .......... .......... .......... 5% 10.2M 5s + 4250K .......... .......... .......... .......... .......... 5% 23.5M 5s + 4300K .......... .......... .......... .......... .......... 5% 15.4M 5s + 4350K .......... .......... .......... .......... .......... 5% 11.5M 5s + 4400K .......... .......... .......... .......... .......... 5% 25.6M 5s + 4450K .......... .......... .......... .......... .......... 5% 18.8M 5s + 4500K .......... .......... .......... .......... .......... 5% 24.0M 5s + 4550K .......... .......... .......... .......... .......... 5% 11.0M 5s + 4600K .......... .......... .......... .......... .......... 5% 14.3M 5s + 4650K .......... .......... .......... .......... .......... 6% 22.0M 5s + 4700K .......... .......... .......... .......... .......... 6% 9.33M 5s + 4750K .......... .......... .......... .......... .......... 6% 17.1M 5s + 4800K .......... .......... .......... .......... .......... 6% 22.5M 5s + 4850K .......... .......... .......... .......... .......... 6% 15.1M 5s + 4900K .......... .......... .......... .......... .......... 6% 9.73M 5s + 4950K .......... .......... .......... .......... .......... 6% 24.5M 5s + 5000K .......... .......... .......... .......... .......... 6% 14.0M 5s + 5050K .......... .......... .......... .......... .......... 6% 10.9M 5s + 5100K .......... .......... .......... .......... .......... 6% 27.2M 5s + 5150K .......... .......... .......... .......... .......... 6% 20.9M 5s + 5200K .......... .......... .......... .......... .......... 6% 9.58M 5s + 5250K .......... .......... .......... .......... .......... 6% 21.7M 5s + 5300K .......... .......... .......... .......... .......... 6% 16.8M 5s + 5350K .......... .......... .......... .......... .......... 6% 12.5M 5s + 5400K .......... .......... .......... .......... .......... 7% 31.0M 5s + 5450K .......... .......... .......... .......... .......... 7% 16.1M 5s + 5500K .......... .......... .......... .......... .......... 7% 11.6M 5s + 5550K .......... .......... .......... .......... .......... 7% 35.3M 5s + 5600K .......... .......... .......... .......... .......... 7% 19.9M 5s + 5650K .......... .......... .......... .......... .......... 7% 9.34M 5s + 5700K .......... .......... .......... .......... .......... 7% 34.6M 5s + 5750K .......... .......... .......... .......... .......... 7% 22.0M 5s + 5800K .......... .......... .......... .......... .......... 7% 10.7M 5s + 5850K .......... .......... .......... .......... .......... 7% 25.8M 5s + 5900K .......... .......... .......... .......... .......... 7% 15.9M 5s + 5950K .......... .......... .......... .......... .......... 7% 24.5M 5s + 6000K .......... .......... .......... .......... .......... 7% 11.7M 5s + 6050K .......... .......... .......... .......... .......... 7% 15.5M 5s + 6100K .......... .......... .......... .......... .......... 7% 17.4M 5s + 6150K .......... .......... .......... .......... .......... 7% 14.9M 5s + 6200K .......... .......... .......... .......... .......... 8% 15.4M 5s + 6250K .......... .......... .......... .......... .......... 8% 12.9M 5s + 6300K .......... .......... .......... .......... .......... 8% 18.8M 5s + 6350K .......... .......... .......... .......... .......... 8% 14.3M 5s + 6400K .......... .......... .......... .......... .......... 8% 26.8M 5s + 6450K .......... .......... .......... .......... .......... 8% 19.3M 5s + 6500K .......... .......... .......... .......... .......... 8% 10.9M 5s + 6550K .......... .......... .......... .......... .......... 8% 22.9M 5s + 6600K .......... .......... .......... .......... .......... 8% 18.2M 5s + 6650K .......... .......... .......... .......... .......... 8% 14.7M 5s + 6700K .......... .......... .......... .......... .......... 8% 18.7M 5s + 6750K .......... .......... .......... .......... .......... 8% 30.3M 5s + 6800K .......... .......... .......... .......... .......... 8% 25.7M 5s + 6850K .......... .......... .......... .......... .......... 8% 13.4M 5s + 6900K .......... .......... .......... .......... .......... 8% 18.1M 5s + 6950K .......... .......... .......... .......... .......... 9% 10.2M 5s + 7000K .......... .......... .......... .......... .......... 9% 25.0M 5s + 7050K .......... .......... .......... .......... .......... 9% 21.0M 4s + 7100K .......... .......... .......... .......... .......... 9% 24.8M 4s + 7150K .......... .......... .......... .......... .......... 9% 9.57M 4s + 7200K .......... .......... .......... .......... .......... 9% 8.20M 5s + 7250K .......... .......... .......... .......... .......... 9% 242M 4s + 7300K .......... .......... .......... .......... .......... 9% 26.5M 4s + 7350K .......... .......... .......... .......... .......... 9% 13.5M 4s + 7400K .......... .......... .......... .......... .......... 9% 168M 4s + 7450K .......... .......... .......... .......... .......... 9% 23.6M 4s + 7500K .......... .......... .......... .......... .......... 9% 7.96M 4s + 7550K .......... .......... .......... .......... .......... 9% 221M 4s + 7600K .......... .......... .......... .......... .......... 9% 16.0M 4s + 7650K .......... .......... .......... .......... .......... 9% 11.9M 4s + 7700K .......... .......... .......... .......... .......... 9% 15.6M 4s + 7750K .......... .......... .......... .......... .......... 10% 29.3M 4s + 7800K .......... .......... .......... .......... .......... 10% 29.0M 4s + 7850K .......... .......... .......... .......... .......... 10% 18.6M 4s + 7900K .......... .......... .......... .......... .......... 10% 14.2M 4s + 7950K .......... .......... .......... .......... .......... 10% 14.0M 4s + 8000K .......... .......... .......... .......... .......... 10% 25.0M 4s + 8050K .......... .......... .......... .......... .......... 10% 14.3M 4s + 8100K .......... .......... .......... .......... .......... 10% 30.7M 4s + 8150K .......... .......... .......... .......... .......... 10% 12.8M 4s + 8200K .......... .......... .......... .......... .......... 10% 18.0M 4s + 8250K .......... .......... .......... .......... .......... 10% 10.8M 4s + 8300K .......... .......... .......... .......... .......... 10% 24.2M 4s + 8350K .......... .......... .......... .......... .......... 10% 20.0M 4s + 8400K .......... .......... .......... .......... .......... 10% 22.7M 4s + 8450K .......... .......... .......... .......... .......... 10% 20.6M 4s + 8500K .......... .......... .......... .......... .......... 11% 11.8M 4s + 8550K .......... .......... .......... .......... .......... 11% 11.3M 4s + 8600K .......... .......... .......... .......... .......... 11% 20.3M 4s + 8650K .......... .......... .......... .......... .......... 11% 18.4M 4s + 8700K .......... .......... .......... .......... .......... 11% 22.1M 4s + 8750K .......... .......... .......... .......... .......... 11% 20.7M 4s + 8800K .......... .......... .......... .......... .......... 11% 13.1M 4s + 8850K .......... .......... .......... .......... .......... 11% 23.7M 4s + 8900K .......... .......... .......... .......... .......... 11% 22.8M 4s + 8950K .......... .......... .......... .......... .......... 11% 13.4M 4s + 9000K .......... .......... .......... .......... .......... 11% 24.8M 4s + 9050K .......... .......... .......... .......... .......... 11% 19.3M 4s + 9100K .......... .......... .......... .......... .......... 11% 12.2M 4s + 9150K .......... .......... .......... .......... .......... 11% 31.2M 4s + 9200K .......... .......... .......... .......... .......... 11% 17.6M 4s + 9250K .......... .......... .......... .......... .......... 11% 11.5M 4s + 9300K .......... .......... .......... .......... .......... 12% 27.7M 4s + 9350K .......... .......... .......... .......... .......... 12% 22.3M 4s + 9400K .......... .......... .......... .......... .......... 12% 29.1M 4s + 9450K .......... .......... .......... .......... .......... 12% 12.1M 4s + 9500K .......... .......... .......... .......... .......... 12% 21.8M 4s + 9550K .......... .......... .......... .......... .......... 12% 12.1M 4s + 9600K .......... .......... .......... .......... .......... 12% 23.9M 4s + 9650K .......... .......... .......... .......... .......... 12% 21.8M 4s + 9700K .......... .......... .......... .......... .......... 12% 31.1M 4s + 9750K .......... .......... .......... .......... .......... 12% 13.8M 4s + 9800K .......... .......... .......... .......... .......... 12% 17.8M 4s + 9850K .......... .......... .......... .......... .......... 12% 26.7M 4s + 9900K .......... .......... .......... .......... .......... 12% 14.5M 4s + 9950K .......... .......... .......... .......... .......... 12% 20.4M 4s + 10000K .......... .......... .......... .......... .......... 12% 22.9M 4s + 10050K .......... .......... .......... .......... .......... 12% 18.2M 4s + 10100K .......... .......... .......... .......... .......... 13% 24.5M 4s + 10150K .......... .......... .......... .......... .......... 13% 13.3M 4s + 10200K .......... .......... .......... .......... .......... 13% 12.7M 4s + 10250K .......... .......... .......... .......... .......... 13% 16.1M 4s + 10300K .......... .......... .......... .......... .......... 13% 23.7M 4s + 10350K .......... .......... .......... .......... .......... 13% 27.8M 4s + 10400K .......... .......... .......... .......... .......... 13% 11.0M 4s + 10450K .......... .......... .......... .......... .......... 13% 18.0M 4s + 10500K .......... .......... .......... .......... .......... 13% 21.9M 4s + 10550K .......... .......... .......... .......... .......... 13% 28.2M 4s + 10600K .......... .......... .......... .......... .......... 13% 11.4M 4s + 10650K .......... .......... .......... .......... .......... 13% 22.7M 4s + 10700K .......... .......... .......... .......... .......... 13% 23.1M 4s + 10750K .......... .......... .......... .......... .......... 13% 12.9M 4s + 10800K .......... .......... .......... .......... .......... 13% 24.6M 4s + 10850K .......... .......... .......... .......... .......... 14% 21.7M 4s + 10900K .......... .......... .......... .......... .......... 14% 25.1M 4s + 10950K .......... .......... .......... .......... .......... 14% 13.2M 4s + 11000K .......... .......... .......... .......... .......... 14% 21.3M 4s + 11050K .......... .......... .......... .......... .......... 14% 11.4M 4s + 11100K .......... .......... .......... .......... .......... 14% 23.2M 4s + 11150K .......... .......... .......... .......... .......... 14% 23.4M 4s + 11200K .......... .......... .......... .......... .......... 14% 12.7M 4s + 11250K .......... .......... .......... .......... .......... 14% 24.4M 4s + 11300K .......... .......... .......... .......... .......... 14% 19.4M 4s + 11350K .......... .......... .......... .......... .......... 14% 26.4M 4s + 11400K .......... .......... .......... .......... .......... 14% 12.3M 4s + 11450K .......... .......... .......... .......... .......... 14% 20.3M 4s + 11500K .......... .......... .......... .......... .......... 14% 24.8M 4s + 11550K .......... .......... .......... .......... .......... 14% 13.8M 4s + 11600K .......... .......... .......... .......... .......... 14% 23.0M 4s + 11650K .......... .......... .......... .......... .......... 15% 21.7M 4s + 11700K .......... .......... .......... .......... .......... 15% 21.6M 4s + 11750K .......... .......... .......... .......... .......... 15% 13.1M 4s + 11800K .......... .......... .......... .......... .......... 15% 26.8M 4s + 11850K .......... .......... .......... .......... .......... 15% 19.1M 4s + 11900K .......... .......... .......... .......... .......... 15% 12.9M 4s + 11950K .......... .......... .......... .......... .......... 15% 31.4M 4s + 12000K .......... .......... .......... .......... .......... 15% 21.8M 4s + 12050K .......... .......... .......... .......... .......... 15% 12.8M 4s + 12100K .......... .......... .......... .......... .......... 15% 27.8M 4s + 12150K .......... .......... .......... .......... .......... 15% 22.3M 4s + 12200K .......... .......... .......... .......... .......... 15% 12.8M 4s + 12250K .......... .......... .......... .......... .......... 15% 24.0M 4s + 12300K .......... .......... .......... .......... .......... 15% 23.2M 4s + 12350K .......... .......... .......... .......... .......... 15% 26.4M 4s + 12400K .......... .......... .......... .......... .......... 16% 11.4M 4s + 12450K .......... .......... .......... .......... .......... 16% 27.5M 4s + 12500K .......... .......... .......... .......... .......... 16% 19.3M 4s + 12550K .......... .......... .......... .......... .......... 16% 14.0M 4s + 12600K .......... .......... .......... .......... .......... 16% 29.7M 4s + 12650K .......... .......... .......... .......... .......... 16% 11.2M 4s + 12700K .......... .......... .......... .......... .......... 16% 246M 4s + 12750K .......... .......... .......... .......... .......... 16% 13.8M 4s + 12800K .......... .......... .......... .......... .......... 16% 24.9M 4s + 12850K .......... .......... .......... .......... .......... 16% 22.1M 4s + 12900K .......... .......... .......... .......... .......... 16% 13.5M 4s + 12950K .......... .......... .......... .......... .......... 16% 27.0M 4s + 13000K .......... .......... .......... .......... .......... 16% 28.6M 4s + 13050K .......... .......... .......... .......... .......... 16% 12.6M 4s + 13100K .......... .......... .......... .......... .......... 16% 19.8M 4s + 13150K .......... .......... .......... .......... .......... 16% 21.6M 4s + 13200K .......... .......... .......... .......... .......... 17% 11.4M 4s + 13250K .......... .......... .......... .......... .......... 17% 19.6M 4s + 13300K .......... .......... .......... .......... .......... 17% 16.7M 4s + 13350K .......... .......... .......... .......... .......... 17% 29.7M 4s + 13400K .......... .......... .......... .......... .......... 17% 13.7M 4s + 13450K .......... .......... .......... .......... .......... 17% 20.5M 4s + 13500K .......... .......... .......... .......... .......... 17% 19.3M 4s + 13550K .......... .......... .......... .......... .......... 17% 11.9M 4s + 13600K .......... .......... .......... .......... .......... 17% 21.5M 4s + 13650K .......... .......... .......... .......... .......... 17% 25.3M 4s + 13700K .......... .......... .......... .......... .......... 17% 13.2M 4s + 13750K .......... .......... .......... .......... .......... 17% 25.7M 4s + 13800K .......... .......... .......... .......... .......... 17% 17.5M 4s + 13850K .......... .......... .......... .......... .......... 17% 9.59M 4s + 13900K .......... .......... .......... .......... .......... 17% 22.8M 4s + 13950K .......... .......... .......... .......... .......... 18% 19.5M 4s + 14000K .......... .......... .......... .......... .......... 18% 12.4M 4s + 14050K .......... .......... .......... .......... .......... 18% 20.5M 4s + 14100K .......... .......... .......... .......... .......... 18% 21.6M 4s + 14150K .......... .......... .......... .......... .......... 18% 10.5M 4s + 14200K .......... .......... .......... .......... .......... 18% 20.4M 4s + 14250K .......... .......... .......... .......... .......... 18% 21.1M 4s + 14300K .......... .......... .......... .......... .......... 18% 30.3M 4s + 14350K .......... .......... .......... .......... .......... 18% 12.0M 4s + 14400K .......... .......... .......... .......... .......... 18% 18.9M 4s + 14450K .......... .......... .......... .......... .......... 18% 22.7M 4s + 14500K .......... .......... .......... .......... .......... 18% 11.9M 4s + 14550K .......... .......... .......... .......... .......... 18% 20.5M 4s + 14600K .......... .......... .......... .......... .......... 18% 24.1M 4s + 14650K .......... .......... .......... .......... .......... 18% 10.9M 4s + 14700K .......... .......... .......... .......... .......... 18% 29.6M 4s + 14750K .......... .......... .......... .......... .......... 19% 16.0M 4s + 14800K .......... .......... .......... .......... .......... 19% 19.5M 4s + 14850K .......... .......... .......... .......... .......... 19% 12.0M 4s + 14900K .......... .......... .......... .......... .......... 19% 18.5M 4s + 14950K .......... .......... .......... .......... .......... 19% 18.8M 4s + 15000K .......... .......... .......... .......... .......... 19% 24.3M 4s + 15050K .......... .......... .......... .......... .......... 19% 11.7M 4s + 15100K .......... .......... .......... .......... .......... 19% 20.8M 4s + 15150K .......... .......... .......... .......... .......... 19% 12.2M 4s + 15200K .......... .......... .......... .......... .......... 19% 13.8M 4s + 15250K .......... .......... .......... .......... .......... 19% 31.3M 4s + 15300K .......... .......... .......... .......... .......... 19% 12.4M 4s + 15350K .......... .......... .......... .......... .......... 19% 21.8M 4s + 15400K .......... .......... .......... .......... .......... 19% 15.7M 4s + 15450K .......... .......... .......... .......... .......... 19% 30.3M 4s + 15500K .......... .......... .......... .......... .......... 20% 12.6M 4s + 15550K .......... .......... .......... .......... .......... 20% 18.7M 4s + 15600K .......... .......... .......... .......... .......... 20% 23.0M 4s + 15650K .......... .......... .......... .......... .......... 20% 10.6M 4s + 15700K .......... .......... .......... .......... .......... 20% 26.7M 4s + 15750K .......... .......... .......... .......... .......... 20% 23.4M 4s + 15800K .......... .......... .......... .......... .......... 20% 13.1M 4s + 15850K .......... .......... .......... .......... .......... 20% 24.9M 4s + 15900K .......... .......... .......... .......... .......... 20% 15.4M 4s + 15950K .......... .......... .......... .......... .......... 20% 11.5M 4s + 16000K .......... .......... .......... .......... .......... 20% 28.7M 4s + 16050K .......... .......... .......... .......... .......... 20% 22.9M 4s + 16100K .......... .......... .......... .......... .......... 20% 25.5M 4s + 16150K .......... .......... .......... .......... .......... 20% 10.6M 4s + 16200K .......... .......... .......... .......... .......... 20% 30.9M 4s + 16250K .......... .......... .......... .......... .......... 20% 22.4M 4s + 16300K .......... .......... .......... .......... .......... 21% 11.3M 4s + 16350K .......... .......... .......... .......... .......... 21% 24.0M 4s + 16400K .......... .......... .......... .......... .......... 21% 22.8M 4s + 16450K .......... .......... .......... .......... .......... 21% 13.8M 4s + 16500K .......... .......... .......... .......... .......... 21% 20.0M 4s + 16550K .......... .......... .......... .......... .......... 21% 20.5M 4s + 16600K .......... .......... .......... .......... .......... 21% 12.0M 4s + 16650K .......... .......... .......... .......... .......... 21% 31.5M 4s + 16700K .......... .......... .......... .......... .......... 21% 25.7M 4s + 16750K .......... .......... .......... .......... .......... 21% 19.4M 4s + 16800K .......... .......... .......... .......... .......... 21% 10.3M 4s + 16850K .......... .......... .......... .......... .......... 21% 25.1M 4s + 16900K .......... .......... .......... .......... .......... 21% 11.1M 4s + 16950K .......... .......... .......... .......... .......... 21% 211M 4s + 17000K .......... .......... .......... .......... .......... 21% 8.02M 4s + 17050K .......... .......... .......... .......... .......... 22% 16.5M 4s + 17100K .......... .......... .......... .......... .......... 22% 23.3M 4s + 17150K .......... .......... .......... .......... .......... 22% 27.8M 4s + 17200K .......... .......... .......... .......... .......... 22% 17.8M 4s + 17250K .......... .......... .......... .......... .......... 22% 17.0M 4s + 17300K .......... .......... .......... .......... .......... 22% 11.0M 4s + 17350K .......... .......... .......... .......... .......... 22% 17.9M 4s + 17400K .......... .......... .......... .......... .......... 22% 23.4M 4s + 17450K .......... .......... .......... .......... .......... 22% 11.2M 4s + 17500K .......... .......... .......... .......... .......... 22% 33.3M 4s + 17550K .......... .......... .......... .......... .......... 22% 20.3M 4s + 17600K .......... .......... .......... .......... .......... 22% 24.2M 4s + 17650K .......... .......... .......... .......... .......... 22% 13.1M 4s + 17700K .......... .......... .......... .......... .......... 22% 27.6M 4s + 17750K .......... .......... .......... .......... .......... 22% 21.4M 4s + 17800K .......... .......... .......... .......... .......... 22% 12.4M 4s + 17850K .......... .......... .......... .......... .......... 23% 27.2M 4s + 17900K .......... .......... .......... .......... .......... 23% 26.0M 3s + 17950K .......... .......... .......... .......... .......... 23% 10.4M 3s + 18000K .......... .......... .......... .......... .......... 23% 32.2M 3s + 18050K .......... .......... .......... .......... .......... 23% 23.0M 3s + 18100K .......... .......... .......... .......... .......... 23% 12.2M 3s + 18150K .......... .......... .......... .......... .......... 23% 16.8M 3s + 18200K .......... .......... .......... .......... .......... 23% 24.0M 3s + 18250K .......... .......... .......... .......... .......... 23% 28.9M 3s + 18300K .......... .......... .......... .......... .......... 23% 11.4M 3s + 18350K .......... .......... .......... .......... .......... 23% 21.1M 3s + 18400K .......... .......... .......... .......... .......... 23% 28.3M 3s + 18450K .......... .......... .......... .......... .......... 23% 14.8M 3s + 18500K .......... .......... .......... .......... .......... 23% 22.2M 3s + 18550K .......... .......... .......... .......... .......... 23% 20.9M 3s + 18600K .......... .......... .......... .......... .......... 23% 10.9M 3s + 18650K .......... .......... .......... .......... .......... 24% 23.2M 3s + 18700K .......... .......... .......... .......... .......... 24% 28.6M 3s + 18750K .......... .......... .......... .......... .......... 24% 12.2M 3s + 18800K .......... .......... .......... .......... .......... 24% 18.4M 3s + 18850K .......... .......... .......... .......... .......... 24% 20.7M 3s + 18900K .......... .......... .......... .......... .......... 24% 16.0M 3s + 18950K .......... .......... .......... .......... .......... 24% 11.5M 3s + 19000K .......... .......... .......... .......... .......... 24% 32.9M 3s + 19050K .......... .......... .......... .......... .......... 24% 18.2M 3s + 19100K .......... .......... .......... .......... .......... 24% 13.2M 3s + 19150K .......... .......... .......... .......... .......... 24% 19.9M 3s + 19200K .......... .......... .......... .......... .......... 24% 28.0M 3s + 19250K .......... .......... .......... .......... .......... 24% 26.0M 3s + 19300K .......... .......... .......... .......... .......... 24% 13.3M 3s + 19350K .......... .......... .......... .......... .......... 24% 20.0M 3s + 19400K .......... .......... .......... .......... .......... 25% 23.7M 3s + 19450K .......... .......... .......... .......... .......... 25% 18.7M 3s + 19500K .......... .......... .......... .......... .......... 25% 18.2M 3s + 19550K .......... .......... .......... .......... .......... 25% 23.7M 3s + 19600K .......... .......... .......... .......... .......... 25% 10.6M 3s + 19650K .......... .......... .......... .......... .......... 25% 16.5M 3s + 19700K .......... .......... .......... .......... .......... 25% 22.6M 3s + 19750K .......... .......... .......... .......... .......... 25% 16.4M 3s + 19800K .......... .......... .......... .......... .......... 25% 22.3M 3s + 19850K .......... .......... .......... .......... .......... 25% 19.4M 3s + 19900K .......... .......... .......... .......... .......... 25% 12.2M 3s + 19950K .......... .......... .......... .......... .......... 25% 21.0M 3s + 20000K .......... .......... .......... .......... .......... 25% 22.2M 3s + 20050K .......... .......... .......... .......... .......... 25% 27.9M 3s + 20100K .......... .......... .......... .......... .......... 25% 12.2M 3s + 20150K .......... .......... .......... .......... .......... 25% 23.6M 3s + 20200K .......... .......... .......... .......... .......... 26% 11.2M 3s + 20250K .......... .......... .......... .......... .......... 26% 19.1M 3s + 20300K .......... .......... .......... .......... .......... 26% 35.5M 3s + 20350K .......... .......... .......... .......... .......... 26% 11.4M 3s + 20400K .......... .......... .......... .......... .......... 26% 28.2M 3s + 20450K .......... .......... .......... .......... .......... 26% 21.8M 3s + 20500K .......... .......... .......... .......... .......... 26% 32.5M 3s + 20550K .......... .......... .......... .......... .......... 26% 18.3M 3s + 20600K .......... .......... .......... .......... .......... 26% 13.5M 3s + 20650K .......... .......... .......... .......... .......... 26% 47.5M 3s + 20700K .......... .......... .......... .......... .......... 26% 15.9M 3s + 20750K .......... .......... .......... .......... .......... 26% 14.9M 3s + 20800K .......... .......... .......... .......... .......... 26% 30.7M 3s + 20850K .......... .......... .......... .......... .......... 26% 18.2M 3s + 20900K .......... .......... .......... .......... .......... 26% 25.1M 3s + 20950K .......... .......... .......... .......... .......... 27% 15.9M 3s + 21000K .......... .......... .......... .......... .......... 27% 22.6M 3s + 21050K .......... .......... .......... .......... .......... 27% 8.31M 3s + 21100K .......... .......... .......... .......... .......... 27% 26.4M 3s + 21150K .......... .......... .......... .......... .......... 27% 11.4M 3s + 21200K .......... .......... .......... .......... .......... 27% 14.6M 3s + 21250K .......... .......... .......... .......... .......... 27% 25.4M 3s + 21300K .......... .......... .......... .......... .......... 27% 22.5M 3s + 21350K .......... .......... .......... .......... .......... 27% 15.7M 3s + 21400K .......... .......... .......... .......... .......... 27% 9.47M 3s + 21450K .......... .......... .......... .......... .......... 27% 25.8M 3s + 21500K .......... .......... .......... .......... .......... 27% 16.5M 3s + 21550K .......... .......... .......... .......... .......... 27% 11.0M 3s + 21600K .......... .......... .......... .......... .......... 27% 27.2M 3s + 21650K .......... .......... .......... .......... .......... 27% 16.6M 3s + 21700K .......... .......... .......... .......... .......... 27% 9.18M 3s + 21750K .......... .......... .......... .......... .......... 28% 25.6M 3s + 21800K .......... .......... .......... .......... .......... 28% 15.6M 3s + 21850K .......... .......... .......... .......... .......... 28% 10.3M 3s + 21900K .......... .......... .......... .......... .......... 28% 26.3M 3s + 21950K .......... .......... .......... .......... .......... 28% 15.1M 3s + 22000K .......... .......... .......... .......... .......... 28% 10.3M 3s + 22050K .......... .......... .......... .......... .......... 28% 23.9M 3s + 22100K .......... .......... .......... .......... .......... 28% 14.4M 3s + 22150K .......... .......... .......... .......... .......... 28% 11.5M 3s + 22200K .......... .......... .......... .......... .......... 28% 26.1M 3s + 22250K .......... .......... .......... .......... .......... 28% 20.9M 3s + 22300K .......... .......... .......... .......... .......... 28% 24.9M 3s + 22350K .......... .......... .......... .......... .......... 28% 22.8M 3s + 22400K .......... .......... .......... .......... .......... 28% 10.9M 3s + 22450K .......... .......... .......... .......... .......... 28% 22.1M 3s + 22500K .......... .......... .......... .......... .......... 29% 19.0M 3s + 22550K .......... .......... .......... .......... .......... 29% 12.3M 3s + 22600K .......... .......... .......... .......... .......... 29% 26.5M 3s + 22650K .......... .......... .......... .......... .......... 29% 11.9M 3s + 22700K .......... .......... .......... .......... .......... 29% 21.4M 3s + 22750K .......... .......... .......... .......... .......... 29% 25.3M 3s + 22800K .......... .......... .......... .......... .......... 29% 23.1M 3s + 22850K .......... .......... .......... .......... .......... 29% 11.1M 3s + 22900K .......... .......... .......... .......... .......... 29% 16.2M 3s + 22950K .......... .......... .......... .......... .......... 29% 29.0M 3s + 23000K .......... .......... .......... .......... .......... 29% 20.8M 3s + 23050K .......... .......... .......... .......... .......... 29% 12.1M 3s + 23100K .......... .......... .......... .......... .......... 29% 29.5M 3s + 23150K .......... .......... .......... .......... .......... 29% 27.1M 3s + 23200K .......... .......... .......... .......... .......... 29% 12.8M 3s + 23250K .......... .......... .......... .......... .......... 29% 25.1M 3s + 23300K .......... .......... .......... .......... .......... 30% 24.0M 3s + 23350K .......... .......... .......... .......... .......... 30% 29.5M 3s + 23400K .......... .......... .......... .......... .......... 30% 13.5M 3s + 23450K .......... .......... .......... .......... .......... 30% 11.5M 3s + 23500K .......... .......... .......... .......... .......... 30% 185M 3s + 23550K .......... .......... .......... .......... .......... 30% 12.4M 3s + 23600K .......... .......... .......... .......... .......... 30% 24.1M 3s + 23650K .......... .......... .......... .......... .......... 30% 16.5M 3s + 23700K .......... .......... .......... .......... .......... 30% 13.1M 3s + 23750K .......... .......... .......... .......... .......... 30% 30.7M 3s + 23800K .......... .......... .......... .......... .......... 30% 11.3M 3s + 23850K .......... .......... .......... .......... .......... 30% 17.6M 3s + 23900K .......... .......... .......... .......... .......... 30% 21.1M 3s + 23950K .......... .......... .......... .......... .......... 30% 19.7M 3s + 24000K .......... .......... .......... .......... .......... 30% 21.2M 3s + 24050K .......... .......... .......... .......... .......... 31% 7.15M 3s + 24100K .......... .......... .......... .......... .......... 31% 21.8M 3s + 24150K .......... .......... .......... .......... .......... 31% 26.9M 3s + 24200K .......... .......... .......... .......... .......... 31% 26.9M 3s + 24250K .......... .......... .......... .......... .......... 31% 15.2M 3s + 24300K .......... .......... .......... .......... .......... 31% 19.0M 3s + 24350K .......... .......... .......... .......... .......... 31% 19.7M 3s + 24400K .......... .......... .......... .......... .......... 31% 9.66M 3s + 24450K .......... .......... .......... .......... .......... 31% 14.1M 3s + 24500K .......... .......... .......... .......... .......... 31% 28.0M 3s + 24550K .......... .......... .......... .......... .......... 31% 17.3M 3s + 24600K .......... .......... .......... .......... .......... 31% 18.9M 3s + 24650K .......... .......... .......... .......... .......... 31% 25.4M 3s + 24700K .......... .......... .......... .......... .......... 31% 13.7M 3s + 24750K .......... .......... .......... .......... .......... 31% 15.7M 3s + 24800K .......... .......... .......... .......... .......... 31% 24.1M 3s + 24850K .......... .......... .......... .......... .......... 32% 9.94M 3s + 24900K .......... .......... .......... .......... .......... 32% 15.6M 3s + 24950K .......... .......... .......... .......... .......... 32% 20.3M 3s + 25000K .......... .......... .......... .......... .......... 32% 12.3M 3s + 25050K .......... .......... .......... .......... .......... 32% 17.3M 3s + 25100K .......... .......... .......... .......... .......... 32% 14.2M 3s + 25150K .......... .......... .......... .......... .......... 32% 13.0M 3s + 25200K .......... .......... .......... .......... .......... 32% 47.9M 3s + 25250K .......... .......... .......... .......... .......... 32% 25.9M 3s + 25300K .......... .......... .......... .......... .......... 32% 12.3M 3s + 25350K .......... .......... .......... .......... .......... 32% 21.1M 3s + 25400K .......... .......... .......... .......... .......... 32% 23.8M 3s + 25450K .......... .......... .......... .......... .......... 32% 33.0M 3s + 25500K .......... .......... .......... .......... .......... 32% 11.2M 3s + 25550K .......... .......... .......... .......... .......... 32% 21.1M 3s + 25600K .......... .......... .......... .......... .......... 33% 11.3M 3s + 25650K .......... .......... .......... .......... .......... 33% 29.8M 3s + 25700K .......... .......... .......... .......... .......... 33% 14.0M 3s + 25750K .......... .......... .......... .......... .......... 33% 11.1M 3s + 25800K .......... .......... .......... .......... .......... 33% 34.2M 3s + 25850K .......... .......... .......... .......... .......... 33% 20.5M 3s + 25900K .......... .......... .......... .......... .......... 33% 25.7M 3s + 25950K .......... .......... .......... .......... .......... 33% 10.1M 3s + 26000K .......... .......... .......... .......... .......... 33% 24.8M 3s + 26050K .......... .......... .......... .......... .......... 33% 24.9M 3s + 26100K .......... .......... .......... .......... .......... 33% 12.4M 3s + 26150K .......... .......... .......... .......... .......... 33% 18.0M 3s + 26200K .......... .......... .......... .......... .......... 33% 21.2M 3s + 26250K .......... .......... .......... .......... .......... 33% 24.8M 3s + 26300K .......... .......... .......... .......... .......... 33% 10.9M 3s + 26350K .......... .......... .......... .......... .......... 33% 16.5M 3s + 26400K .......... .......... .......... .......... .......... 34% 12.8M 3s + 26450K .......... .......... .......... .......... .......... 34% 18.8M 3s + 26500K .......... .......... .......... .......... .......... 34% 26.7M 3s + 26550K .......... .......... .......... .......... .......... 34% 19.2M 3s + 26600K .......... .......... .......... .......... .......... 34% 18.9M 3s + 26650K .......... .......... .......... .......... .......... 34% 11.7M 3s + 26700K .......... .......... .......... .......... .......... 34% 16.1M 3s + 26750K .......... .......... .......... .......... .......... 34% 22.1M 3s + 26800K .......... .......... .......... .......... .......... 34% 16.0M 3s + 26850K .......... .......... .......... .......... .......... 34% 16.7M 3s + 26900K .......... .......... .......... .......... .......... 34% 18.0M 3s + 26950K .......... .......... .......... .......... .......... 34% 12.3M 3s + 27000K .......... .......... .......... .......... .......... 34% 28.3M 3s + 27050K .......... .......... .......... .......... .......... 34% 28.0M 3s + 27100K .......... .......... .......... .......... .......... 34% 10.9M 3s + 27150K .......... .......... .......... .......... .......... 34% 27.5M 3s + 27200K .......... .......... .......... .......... .......... 35% 27.8M 3s + 27250K .......... .......... .......... .......... .......... 35% 26.0M 3s + 27300K .......... .......... .......... .......... .......... 35% 13.0M 3s + 27350K .......... .......... .......... .......... .......... 35% 20.5M 3s + 27400K .......... .......... .......... .......... .......... 35% 21.1M 3s + 27450K .......... .......... .......... .......... .......... 35% 14.7M 3s + 27500K .......... .......... .......... .......... .......... 35% 33.1M 3s + 27550K .......... .......... .......... .......... .......... 35% 9.70M 3s + 27600K .......... .......... .......... .......... .......... 35% 143M 3s + 27650K .......... .......... .......... .......... .......... 35% 11.3M 3s + 27700K .......... .......... .......... .......... .......... 35% 10.4M 3s + 27750K .......... .......... .......... .......... .......... 35% 140M 3s + 27800K .......... .......... .......... .......... .......... 35% 14.6M 3s + 27850K .......... .......... .......... .......... .......... 35% 24.7M 3s + 27900K .......... .......... .......... .......... .......... 35% 16.4M 3s + 27950K .......... .......... .......... .......... .......... 36% 12.4M 3s + 28000K .......... .......... .......... .......... .......... 36% 26.0M 3s + 28050K .......... .......... .......... .......... .......... 36% 17.2M 3s + 28100K .......... .......... .......... .......... .......... 36% 14.9M 3s + 28150K .......... .......... .......... .......... .......... 36% 23.4M 3s + 28200K .......... .......... .......... .......... .......... 36% 10.3M 3s + 28250K .......... .......... .......... .......... .......... 36% 218M 3s + 28300K .......... .......... .......... .......... .......... 36% 13.0M 3s + 28350K .......... .......... .......... .......... .......... 36% 10.9M 3s + 28400K .......... .......... .......... .......... .......... 36% 162M 3s + 28450K .......... .......... .......... .......... .......... 36% 11.6M 3s + 28500K .......... .......... .......... .......... .......... 36% 27.2M 3s + 28550K .......... .......... .......... .......... .......... 36% 18.0M 3s + 28600K .......... .......... .......... .......... .......... 36% 13.8M 3s + 28650K .......... .......... .......... .......... .......... 36% 25.2M 3s + 28700K .......... .......... .......... .......... .......... 36% 14.8M 3s + 28750K .......... .......... .......... .......... .......... 37% 12.7M 3s + 28800K .......... .......... .......... .......... .......... 37% 23.3M 3s + 28850K .......... .......... .......... .......... .......... 37% 19.2M 3s + 28900K .......... .......... .......... .......... .......... 37% 23.2M 3s + 28950K .......... .......... .......... .......... .......... 37% 12.5M 3s + 29000K .......... .......... .......... .......... .......... 37% 20.2M 3s + 29050K .......... .......... .......... .......... .......... 37% 12.5M 3s + 29100K .......... .......... .......... .......... .......... 37% 19.4M 3s + 29150K .......... .......... .......... .......... .......... 37% 30.0M 3s + 29200K .......... .......... .......... .......... .......... 37% 15.4M 3s + 29250K .......... .......... .......... .......... .......... 37% 12.6M 3s + 29300K .......... .......... .......... .......... .......... 37% 21.9M 3s + 29350K .......... .......... .......... .......... .......... 37% 24.8M 3s + 29400K .......... .......... .......... .......... .......... 37% 11.0M 3s + 29450K .......... .......... .......... .......... .......... 37% 20.5M 3s + 29500K .......... .......... .......... .......... .......... 38% 15.6M 3s + 29550K .......... .......... .......... .......... .......... 38% 11.3M 3s + 29600K .......... .......... .......... .......... .......... 38% 20.9M 3s + 29650K .......... .......... .......... .......... .......... 38% 13.8M 3s + 29700K .......... .......... .......... .......... .......... 38% 10.8M 3s + 29750K .......... .......... .......... .......... .......... 38% 21.8M 3s + 29800K .......... .......... .......... .......... .......... 38% 25.8M 3s + 29850K .......... .......... .......... .......... .......... 38% 12.0M 3s + 29900K .......... .......... .......... .......... .......... 38% 20.5M 3s + 29950K .......... .......... .......... .......... .......... 38% 21.7M 3s + 30000K .......... .......... .......... .......... .......... 38% 25.8M 3s + 30050K .......... .......... .......... .......... .......... 38% 8.76M 3s + 30100K .......... .......... .......... .......... .......... 38% 23.1M 3s + 30150K .......... .......... .......... .......... .......... 38% 28.7M 3s + 30200K .......... .......... .......... .......... .......... 38% 9.96M 3s + 30250K .......... .......... .......... .......... .......... 38% 31.7M 3s + 30300K .......... .......... .......... .......... .......... 39% 24.0M 3s + 30350K .......... .......... .......... .......... .......... 39% 9.06M 3s + 30400K .......... .......... .......... .......... .......... 39% 19.4M 3s + 30450K .......... .......... .......... .......... .......... 39% 19.7M 3s + 30500K .......... .......... .......... .......... .......... 39% 15.6M 3s + 30550K .......... .......... .......... .......... .......... 39% 12.3M 3s + 30600K .......... .......... .......... .......... .......... 39% 18.6M 3s + 30650K .......... .......... .......... .......... .......... 39% 19.6M 3s + 30700K .......... .......... .......... .......... .......... 39% 18.8M 3s + 30750K .......... .......... .......... .......... .......... 39% 11.2M 3s + 30800K .......... .......... .......... .......... .......... 39% 24.8M 3s + 30850K .......... .......... .......... .......... .......... 39% 9.91M 3s + 30900K .......... .......... .......... .......... .......... 39% 17.8M 3s + 30950K .......... .......... .......... .......... .......... 39% 24.8M 3s + 31000K .......... .......... .......... .......... .......... 39% 18.1M 3s + 31050K .......... .......... .......... .......... .......... 40% 11.2M 3s + 31100K .......... .......... .......... .......... .......... 40% 19.4M 3s + 31150K .......... .......... .......... .......... .......... 40% 9.43M 3s + 31200K .......... .......... .......... .......... .......... 40% 20.8M 3s + 31250K .......... .......... .......... .......... .......... 40% 19.4M 3s + 31300K .......... .......... .......... .......... .......... 40% 16.9M 3s + 31350K .......... .......... .......... .......... .......... 40% 19.4M 3s + 31400K .......... .......... .......... .......... .......... 40% 12.5M 3s + 31450K .......... .......... .......... .......... .......... 40% 13.5M 3s + 31500K .......... .......... .......... .......... .......... 40% 19.3M 3s + 31550K .......... .......... .......... .......... .......... 40% 26.6M 3s + 31600K .......... .......... .......... .......... .......... 40% 18.2M 3s + 31650K .......... .......... .......... .......... .......... 40% 19.8M 3s + 31700K .......... .......... .......... .......... .......... 40% 20.1M 3s + 31750K .......... .......... .......... .......... .......... 40% 13.4M 3s + 31800K .......... .......... .......... .......... .......... 40% 26.8M 3s + 31850K .......... .......... .......... .......... .......... 41% 13.4M 3s + 31900K .......... .......... .......... .......... .......... 41% 19.7M 3s + 31950K .......... .......... .......... .......... .......... 41% 19.4M 3s + 32000K .......... .......... .......... .......... .......... 41% 24.2M 3s + 32050K .......... .......... .......... .......... .......... 41% 12.0M 3s + 32100K .......... .......... .......... .......... .......... 41% 23.0M 3s + 32150K .......... .......... .......... .......... .......... 41% 10.4M 3s + 32200K .......... .......... .......... .......... .......... 41% 25.5M 3s + 32250K .......... .......... .......... .......... .......... 41% 18.6M 3s + 32300K .......... .......... .......... .......... .......... 41% 24.2M 3s + 32350K .......... .......... .......... .......... .......... 41% 9.72M 3s + 32400K .......... .......... .......... .......... .......... 41% 18.3M 3s + 32450K .......... .......... .......... .......... .......... 41% 10.8M 3s + 32500K .......... .......... .......... .......... .......... 41% 19.5M 3s + 32550K .......... .......... .......... .......... .......... 41% 16.9M 3s + 32600K .......... .......... .......... .......... .......... 42% 20.5M 3s + 32650K .......... .......... .......... .......... .......... 42% 12.3M 3s + 32700K .......... .......... .......... .......... .......... 42% 21.0M 3s + 32750K .......... .......... .......... .......... .......... 42% 20.2M 3s + 32800K .......... .......... .......... .......... .......... 42% 9.39M 3s + 32850K .......... .......... .......... .......... .......... 42% 21.4M 3s + 32900K .......... .......... .......... .......... .......... 42% 18.0M 3s + 32950K .......... .......... .......... .......... .......... 42% 10.3M 3s + 33000K .......... .......... .......... .......... .......... 42% 14.7M 3s + 33050K .......... .......... .......... .......... .......... 42% 21.0M 3s + 33100K .......... .......... .......... .......... .......... 42% 10.6M 3s + 33150K .......... .......... .......... .......... .......... 42% 16.7M 3s + 33200K .......... .......... .......... .......... .......... 42% 19.7M 3s + 33250K .......... .......... .......... .......... .......... 42% 18.2M 3s + 33300K .......... .......... .......... .......... .......... 42% 11.7M 3s + 33350K .......... .......... .......... .......... .......... 42% 19.4M 3s + 33400K .......... .......... .......... .......... .......... 43% 18.5M 3s + 33450K .......... .......... .......... .......... .......... 43% 24.8M 3s + 33500K .......... .......... .......... .......... .......... 43% 10.4M 3s + 33550K .......... .......... .......... .......... .......... 43% 22.4M 3s + 33600K .......... .......... .......... .......... .......... 43% 24.4M 3s + 33650K .......... .......... .......... .......... .......... 43% 13.9M 3s + 33700K .......... .......... .......... .......... .......... 43% 16.6M 3s + 33750K .......... .......... .......... .......... .......... 43% 26.7M 3s + 33800K .......... .......... .......... .......... .......... 43% 11.1M 3s + 33850K .......... .......... .......... .......... .......... 43% 24.0M 3s + 33900K .......... .......... .......... .......... .......... 43% 21.0M 3s + 33950K .......... .......... .......... .......... .......... 43% 10.4M 3s + 34000K .......... .......... .......... .......... .......... 43% 16.5M 3s + 34050K .......... .......... .......... .......... .......... 43% 26.9M 3s + 34100K .......... .......... .......... .......... .......... 43% 18.0M 3s + 34150K .......... .......... .......... .......... .......... 44% 11.8M 3s + 34200K .......... .......... .......... .......... .......... 44% 23.3M 3s + 34250K .......... .......... .......... .......... .......... 44% 13.3M 3s + 34300K .......... .......... .......... .......... .......... 44% 18.9M 3s + 34350K .......... .......... .......... .......... .......... 44% 17.9M 3s + 34400K .......... .......... .......... .......... .......... 44% 20.7M 3s + 34450K .......... .......... .......... .......... .......... 44% 12.7M 3s + 34500K .......... .......... .......... .......... .......... 44% 20.9M 3s + 34550K .......... .......... .......... .......... .......... 44% 21.5M 3s + 34600K .......... .......... .......... .......... .......... 44% 10.7M 3s + 34650K .......... .......... .......... .......... .......... 44% 23.5M 2s + 34700K .......... .......... .......... .......... .......... 44% 22.5M 2s + 34750K .......... .......... .......... .......... .......... 44% 13.4M 2s + 34800K .......... .......... .......... .......... .......... 44% 15.7M 2s + 34850K .......... .......... .......... .......... .......... 44% 28.2M 2s + 34900K .......... .......... .......... .......... .......... 44% 24.1M 2s + 34950K .......... .......... .......... .......... .......... 45% 10.7M 2s + 35000K .......... .......... .......... .......... .......... 45% 23.8M 2s + 35050K .......... .......... .......... .......... .......... 45% 22.3M 2s + 35100K .......... .......... .......... .......... .......... 45% 27.2M 2s + 35150K .......... .......... .......... .......... .......... 45% 10.5M 2s + 35200K .......... .......... .......... .......... .......... 45% 24.7M 2s + 35250K .......... .......... .......... .......... .......... 45% 10.4M 2s + 35300K .......... .......... .......... .......... .......... 45% 25.9M 2s + 35350K .......... .......... .......... .......... .......... 45% 17.8M 2s + 35400K .......... .......... .......... .......... .......... 45% 25.1M 2s + 35450K .......... .......... .......... .......... .......... 45% 25.0M 2s + 35500K .......... .......... .......... .......... .......... 45% 13.5M 2s + 35550K .......... .......... .......... .......... .......... 45% 20.4M 2s + 35600K .......... .......... .......... .......... .......... 45% 11.7M 2s + 35650K .......... .......... .......... .......... .......... 45% 16.9M 2s + 35700K .......... .......... .......... .......... .......... 45% 21.0M 2s + 35750K .......... .......... .......... .......... .......... 46% 13.6M 2s + 35800K .......... .......... .......... .......... .......... 46% 23.4M 2s + 35850K .......... .......... .......... .......... .......... 46% 13.3M 2s + 35900K .......... .......... .......... .......... .......... 46% 20.6M 2s + 35950K .......... .......... .......... .......... .......... 46% 15.1M 2s + 36000K .......... .......... .......... .......... .......... 46% 16.2M 2s + 36050K .......... .......... .......... .......... .......... 46% 24.4M 2s + 36100K .......... .......... .......... .......... .......... 46% 20.2M 2s + 36150K .......... .......... .......... .......... .......... 46% 11.4M 2s + 36200K .......... .......... .......... .......... .......... 46% 14.0M 2s + 36250K .......... .......... .......... .......... .......... 46% 15.2M 2s + 36300K .......... .......... .......... .......... .......... 46% 14.5M 2s + 36350K .......... .......... .......... .......... .......... 46% 20.5M 2s + 36400K .......... .......... .......... .......... .......... 46% 18.1M 2s + 36450K .......... .......... .......... .......... .......... 46% 13.1M 2s + 36500K .......... .......... .......... .......... .......... 47% 31.4M 2s + 36550K .......... .......... .......... .......... .......... 47% 12.6M 2s + 36600K .......... .......... .......... .......... .......... 47% 22.8M 2s + 36650K .......... .......... .......... .......... .......... 47% 21.6M 2s + 36700K .......... .......... .......... .......... .......... 47% 21.1M 2s + 36750K .......... .......... .......... .......... .......... 47% 20.9M 2s + 36800K .......... .......... .......... .......... .......... 47% 12.9M 2s + 36850K .......... .......... .......... .......... .......... 47% 14.9M 2s + 36900K .......... .......... .......... .......... .......... 47% 22.3M 2s + 36950K .......... .......... .......... .......... .......... 47% 26.8M 2s + 37000K .......... .......... .......... .......... .......... 47% 21.1M 2s + 37050K .......... .......... .......... .......... .......... 47% 26.0M 2s + 37100K .......... .......... .......... .......... .......... 47% 11.6M 2s + 37150K .......... .......... .......... .......... .......... 47% 24.3M 2s + 37200K .......... .......... .......... .......... .......... 47% 17.8M 2s + 37250K .......... .......... .......... .......... .......... 47% 13.3M 2s + 37300K .......... .......... .......... .......... .......... 48% 20.2M 2s + 37350K .......... .......... .......... .......... .......... 48% 24.0M 2s + 37400K .......... .......... .......... .......... .......... 48% 10.6M 2s + 37450K .......... .......... .......... .......... .......... 48% 36.8M 2s + 37500K .......... .......... .......... .......... .......... 48% 19.9M 2s + 37550K .......... .......... .......... .......... .......... 48% 12.4M 2s + 37600K .......... .......... .......... .......... .......... 48% 20.1M 2s + 37650K .......... .......... .......... .......... .......... 48% 26.2M 2s + 37700K .......... .......... .......... .......... .......... 48% 23.2M 2s + 37750K .......... .......... .......... .......... .......... 48% 14.2M 2s + 37800K .......... .......... .......... .......... .......... 48% 27.1M 2s + 37850K .......... .......... .......... .......... .......... 48% 11.9M 2s + 37900K .......... .......... .......... .......... .......... 48% 27.6M 2s + 37950K .......... .......... .......... .......... .......... 48% 21.2M 2s + 38000K .......... .......... .......... .......... .......... 48% 21.8M 2s + 38050K .......... .......... .......... .......... .......... 49% 12.5M 2s + 38100K .......... .......... .......... .......... .......... 49% 23.3M 2s + 38150K .......... .......... .......... .......... .......... 49% 25.3M 2s + 38200K .......... .......... .......... .......... .......... 49% 11.1M 2s + 38250K .......... .......... .......... .......... .......... 49% 23.9M 2s + 38300K .......... .......... .......... .......... .......... 49% 25.4M 2s + 38350K .......... .......... .......... .......... .......... 49% 15.7M 2s + 38400K .......... .......... .......... .......... .......... 49% 23.6M 2s + 38450K .......... .......... .......... .......... .......... 49% 14.6M 2s + 38500K .......... .......... .......... .......... .......... 49% 23.2M 2s + 38550K .......... .......... .......... .......... .......... 49% 11.5M 2s + 38600K .......... .......... .......... .......... .......... 49% 23.3M 2s + 38650K .......... .......... .......... .......... .......... 49% 24.7M 2s + 38700K .......... .......... .......... .......... .......... 49% 13.3M 2s + 38750K .......... .......... .......... .......... .......... 49% 23.7M 2s + 38800K .......... .......... .......... .......... .......... 49% 25.7M 2s + 38850K .......... .......... .......... .......... .......... 50% 11.0M 2s + 38900K .......... .......... .......... .......... .......... 50% 33.6M 2s + 38950K .......... .......... .......... .......... .......... 50% 24.2M 2s + 39000K .......... .......... .......... .......... .......... 50% 19.4M 2s + 39050K .......... .......... .......... .......... .......... 50% 22.0M 2s + 39100K .......... .......... .......... .......... .......... 50% 16.0M 2s + 39150K .......... .......... .......... .......... .......... 50% 22.4M 2s + 39200K .......... .......... .......... .......... .......... 50% 19.9M 2s + 39250K .......... .......... .......... .......... .......... 50% 13.9M 2s + 39300K .......... .......... .......... .......... .......... 50% 28.8M 2s + 39350K .......... .......... .......... .......... .......... 50% 9.44M 2s + 39400K .......... .......... .......... .......... .......... 50% 24.6M 2s + 39450K .......... .......... .......... .......... .......... 50% 30.6M 2s + 39500K .......... .......... .......... .......... .......... 50% 11.4M 2s + 39550K .......... .......... .......... .......... .......... 50% 16.9M 2s + 39600K .......... .......... .......... .......... .......... 51% 25.6M 2s + 39650K .......... .......... .......... .......... .......... 51% 16.1M 2s + 39700K .......... .......... .......... .......... .......... 51% 19.4M 2s + 39750K .......... .......... .......... .......... .......... 51% 13.4M 2s + 39800K .......... .......... .......... .......... .......... 51% 19.9M 2s + 39850K .......... .......... .......... .......... .......... 51% 23.8M 2s + 39900K .......... .......... .......... .......... .......... 51% 12.9M 2s + 39950K .......... .......... .......... .......... .......... 51% 23.9M 2s + 40000K .......... .......... .......... .......... .......... 51% 12.6M 2s + 40050K .......... .......... .......... .......... .......... 51% 25.2M 2s + 40100K .......... .......... .......... .......... .......... 51% 21.6M 2s + 40150K .......... .......... .......... .......... .......... 51% 21.9M 2s + 40200K .......... .......... .......... .......... .......... 51% 12.8M 2s + 40250K .......... .......... .......... .......... .......... 51% 20.4M 2s + 40300K .......... .......... .......... .......... .......... 51% 12.4M 2s + 40350K .......... .......... .......... .......... .......... 51% 21.9M 2s + 40400K .......... .......... .......... .......... .......... 52% 23.6M 2s + 40450K .......... .......... .......... .......... .......... 52% 10.1M 2s + 40500K .......... .......... .......... .......... .......... 52% 230M 2s + 40550K .......... .......... .......... .......... .......... 52% 12.7M 2s + 40600K .......... .......... .......... .......... .......... 52% 21.4M 2s + 40650K .......... .......... .......... .......... .......... 52% 12.4M 2s + 40700K .......... .......... .......... .......... .......... 52% 11.6M 2s + 40750K .......... .......... .......... .......... .......... 52% 18.3M 2s + 40800K .......... .......... .......... .......... .......... 52% 18.3M 2s + 40850K .......... .......... .......... .......... .......... 52% 8.08M 2s + 40900K .......... .......... .......... .......... .......... 52% 12.9M 2s + 40950K .......... .......... .......... .......... .......... 52% 15.9M 2s + 41000K .......... .......... .......... .......... .......... 52% 34.0M 2s + 41050K .......... .......... .......... .......... .......... 52% 17.5M 2s + 41100K .......... .......... .......... .......... .......... 52% 17.3M 2s + 41150K .......... .......... .......... .......... .......... 53% 17.4M 2s + 41200K .......... .......... .......... .......... .......... 53% 11.2M 2s + 41250K .......... .......... .......... .......... .......... 53% 18.7M 2s + 41300K .......... .......... .......... .......... .......... 53% 12.2M 2s + 41350K .......... .......... .......... .......... .......... 53% 24.6M 2s + 41400K .......... .......... .......... .......... .......... 53% 19.8M 2s + 41450K .......... .......... .......... .......... .......... 53% 10.4M 2s + 41500K .......... .......... .......... .......... .......... 53% 20.3M 2s + 41550K .......... .......... .......... .......... .......... 53% 26.3M 2s + 41600K .......... .......... .......... .......... .......... 53% 24.7M 2s + 41650K .......... .......... .......... .......... .......... 53% 23.1M 2s + 41700K .......... .......... .......... .......... .......... 53% 12.5M 2s + 41750K .......... .......... .......... .......... .......... 53% 22.5M 2s + 41800K .......... .......... .......... .......... .......... 53% 10.6M 2s + 41850K .......... .......... .......... .......... .......... 53% 22.4M 2s + 41900K .......... .......... .......... .......... .......... 53% 11.7M 2s + 41950K .......... .......... .......... .......... .......... 54% 24.0M 2s + 42000K .......... .......... .......... .......... .......... 54% 28.0M 2s + 42050K .......... .......... .......... .......... .......... 54% 15.1M 2s + 42100K .......... .......... .......... .......... .......... 54% 23.8M 2s + 42150K .......... .......... .......... .......... .......... 54% 10.9M 2s + 42200K .......... .......... .......... .......... .......... 54% 26.0M 2s + 42250K .......... .......... .......... .......... .......... 54% 14.3M 2s + 42300K .......... .......... .......... .......... .......... 54% 19.7M 2s + 42350K .......... .......... .......... .......... .......... 54% 17.5M 2s + 42400K .......... .......... .......... .......... .......... 54% 24.4M 2s + 42450K .......... .......... .......... .......... .......... 54% 10.8M 2s + 42500K .......... .......... .......... .......... .......... 54% 15.3M 2s + 42550K .......... .......... .......... .......... .......... 54% 13.7M 2s + 42600K .......... .......... .......... .......... .......... 54% 16.8M 2s + 42650K .......... .......... .......... .......... .......... 54% 25.4M 2s + 42700K .......... .......... .......... .......... .......... 55% 15.8M 2s + 42750K .......... .......... .......... .......... .......... 55% 16.4M 2s + 42800K .......... .......... .......... .......... .......... 55% 26.6M 2s + 42850K .......... .......... .......... .......... .......... 55% 9.99M 2s + 42900K .......... .......... .......... .......... .......... 55% 8.71M 2s + 42950K .......... .......... .......... .......... .......... 55% 20.4M 2s + 43000K .......... .......... .......... .......... .......... 55% 13.3M 2s + 43050K .......... .......... .......... .......... .......... 55% 17.6M 2s + 43100K .......... .......... .......... .......... .......... 55% 15.4M 2s + 43150K .......... .......... .......... .......... .......... 55% 12.0M 2s + 43200K .......... .......... .......... .......... .......... 55% 22.2M 2s + 43250K .......... .......... .......... .......... .......... 55% 8.43M 2s + 43300K .......... .......... .......... .......... .......... 55% 18.9M 2s + 43350K .......... .......... .......... .......... .......... 55% 21.0M 2s + 43400K .......... .......... .......... .......... .......... 55% 17.2M 2s + 43450K .......... .......... .......... .......... .......... 55% 10.0M 2s + 43500K .......... .......... .......... .......... .......... 56% 22.9M 2s + 43550K .......... .......... .......... .......... .......... 56% 20.6M 2s + 43600K .......... .......... .......... .......... .......... 56% 8.82M 2s + 43650K .......... .......... .......... .......... .......... 56% 20.7M 2s + 43700K .......... .......... .......... .......... .......... 56% 17.3M 2s + 43750K .......... .......... .......... .......... .......... 56% 9.47M 2s + 43800K .......... .......... .......... .......... .......... 56% 19.5M 2s + 43850K .......... .......... .......... .......... .......... 56% 20.3M 2s + 43900K .......... .......... .......... .......... .......... 56% 10.8M 2s + 43950K .......... .......... .......... .......... .......... 56% 23.6M 2s + 44000K .......... .......... .......... .......... .......... 56% 28.8M 2s + 44050K .......... .......... .......... .......... .......... 56% 10.4M 2s + 44100K .......... .......... .......... .......... .......... 56% 18.8M 2s + 44150K .......... .......... .......... .......... .......... 56% 24.0M 2s + 44200K .......... .......... .......... .......... .......... 56% 24.2M 2s + 44250K .......... .......... .......... .......... .......... 57% 17.7M 2s + 44300K .......... .......... .......... .......... .......... 57% 16.3M 2s + 44350K .......... .......... .......... .......... .......... 57% 23.0M 2s + 44400K .......... .......... .......... .......... .......... 57% 10.9M 2s + 44450K .......... .......... .......... .......... .......... 57% 27.0M 2s + 44500K .......... .......... .......... .......... .......... 57% 25.7M 2s + 44550K .......... .......... .......... .......... .......... 57% 24.4M 2s + 44600K .......... .......... .......... .......... .......... 57% 10.4M 2s + 44650K .......... .......... .......... .......... .......... 57% 27.8M 2s + 44700K .......... .......... .......... .......... .......... 57% 21.6M 2s + 44750K .......... .......... .......... .......... .......... 57% 12.5M 2s + 44800K .......... .......... .......... .......... .......... 57% 26.6M 2s + 44850K .......... .......... .......... .......... .......... 57% 25.5M 2s + 44900K .......... .......... .......... .......... .......... 57% 9.29M 2s + 44950K .......... .......... .......... .......... .......... 57% 21.4M 2s + 45000K .......... .......... .......... .......... .......... 57% 8.52M 2s + 45050K .......... .......... .......... .......... .......... 58% 20.0M 2s + 45100K .......... .......... .......... .......... .......... 58% 21.9M 2s + 45150K .......... .......... .......... .......... .......... 58% 13.3M 2s + 45200K .......... .......... .......... .......... .......... 58% 17.3M 2s + 45250K .......... .......... .......... .......... .......... 58% 11.8M 2s + 45300K .......... .......... .......... .......... .......... 58% 13.5M 2s + 45350K .......... .......... .......... .......... .......... 58% 15.9M 2s + 45400K .......... .......... .......... .......... .......... 58% 9.88M 2s + 45450K .......... .......... .......... .......... .......... 58% 14.5M 2s + 45500K .......... .......... .......... .......... .......... 58% 11.4M 2s + 45550K .......... .......... .......... .......... .......... 58% 26.2M 2s + 45600K .......... .......... .......... .......... .......... 58% 15.6M 2s + 45650K .......... .......... .......... .......... .......... 58% 30.0M 2s + 45700K .......... .......... .......... .......... .......... 58% 8.21M 2s + 45750K .......... .......... .......... .......... .......... 58% 17.4M 2s + 45800K .......... .......... .......... .......... .......... 58% 23.1M 2s + 45850K .......... .......... .......... .......... .......... 59% 11.1M 2s + 45900K .......... .......... .......... .......... .......... 59% 20.6M 2s + 45950K .......... .......... .......... .......... .......... 59% 23.9M 2s + 46000K .......... .......... .......... .......... .......... 59% 13.4M 2s + 46050K .......... .......... .......... .......... .......... 59% 18.3M 2s + 46100K .......... .......... .......... .......... .......... 59% 18.6M 2s + 46150K .......... .......... .......... .......... .......... 59% 23.2M 2s + 46200K .......... .......... .......... .......... .......... 59% 25.6M 2s + 46250K .......... .......... .......... .......... .......... 59% 12.2M 2s + 46300K .......... .......... .......... .......... .......... 59% 22.1M 2s + 46350K .......... .......... .......... .......... .......... 59% 15.2M 2s + 46400K .......... .......... .......... .......... .......... 59% 11.8M 2s + 46450K .......... .......... .......... .......... .......... 59% 26.8M 2s + 46500K .......... .......... .......... .......... .......... 59% 28.1M 2s + 46550K .......... .......... .......... .......... .......... 59% 11.1M 2s + 46600K .......... .......... .......... .......... .......... 60% 15.1M 2s + 46650K .......... .......... .......... .......... .......... 60% 24.8M 2s + 46700K .......... .......... .......... .......... .......... 60% 26.9M 2s + 46750K .......... .......... .......... .......... .......... 60% 14.6M 2s + 46800K .......... .......... .......... .......... .......... 60% 20.3M 2s + 46850K .......... .......... .......... .......... .......... 60% 29.1M 2s + 46900K .......... .......... .......... .......... .......... 60% 14.1M 2s + 46950K .......... .......... .......... .......... .......... 60% 18.8M 2s + 47000K .......... .......... .......... .......... .......... 60% 25.2M 2s + 47050K .......... .......... .......... .......... .......... 60% 13.7M 2s + 47100K .......... .......... .......... .......... .......... 60% 22.4M 2s + 47150K .......... .......... .......... .......... .......... 60% 22.5M 2s + 47200K .......... .......... .......... .......... .......... 60% 13.8M 2s + 47250K .......... .......... .......... .......... .......... 60% 25.5M 2s + 47300K .......... .......... .......... .......... .......... 60% 22.7M 2s + 47350K .......... .......... .......... .......... .......... 60% 13.4M 2s + 47400K .......... .......... .......... .......... .......... 61% 20.2M 2s + 47450K .......... .......... .......... .......... .......... 61% 21.0M 2s + 47500K .......... .......... .......... .......... .......... 61% 26.2M 2s + 47550K .......... .......... .......... .......... .......... 61% 13.0M 2s + 47600K .......... .......... .......... .......... .......... 61% 18.4M 2s + 47650K .......... .......... .......... .......... .......... 61% 16.6M 2s + 47700K .......... .......... .......... .......... .......... 61% 29.1M 2s + 47750K .......... .......... .......... .......... .......... 61% 12.2M 2s + 47800K .......... .......... .......... .......... .......... 61% 11.9M 2s + 47850K .......... .......... .......... .......... .......... 61% 31.5M 2s + 47900K .......... .......... .......... .......... .......... 61% 15.2M 2s + 47950K .......... .......... .......... .......... .......... 61% 27.4M 2s + 48000K .......... .......... .......... .......... .......... 61% 9.39M 2s + 48050K .......... .......... .......... .......... .......... 61% 17.7M 2s + 48100K .......... .......... .......... .......... .......... 61% 27.7M 2s + 48150K .......... .......... .......... .......... .......... 62% 11.9M 2s + 48200K .......... .......... .......... .......... .......... 62% 14.4M 2s + 48250K .......... .......... .......... .......... .......... 62% 26.0M 2s + 48300K .......... .......... .......... .......... .......... 62% 23.0M 2s + 48350K .......... .......... .......... .......... .......... 62% 11.5M 2s + 48400K .......... .......... .......... .......... .......... 62% 16.1M 2s + 48450K .......... .......... .......... .......... .......... 62% 14.5M 2s + 48500K .......... .......... .......... .......... .......... 62% 13.6M 2s + 48550K .......... .......... .......... .......... .......... 62% 20.6M 2s + 48600K .......... .......... .......... .......... .......... 62% 16.6M 2s + 48650K .......... .......... .......... .......... .......... 62% 25.8M 2s + 48700K .......... .......... .......... .......... .......... 62% 12.1M 2s + 48750K .......... .......... .......... .......... .......... 62% 21.6M 2s + 48800K .......... .......... .......... .......... .......... 62% 20.5M 2s + 48850K .......... .......... .......... .......... .......... 62% 13.5M 2s + 48900K .......... .......... .......... .......... .......... 62% 18.6M 2s + 48950K .......... .......... .......... .......... .......... 63% 20.0M 2s + 49000K .......... .......... .......... .......... .......... 63% 15.3M 2s + 49050K .......... .......... .......... .......... .......... 63% 16.0M 2s + 49100K .......... .......... .......... .......... .......... 63% 33.1M 2s + 49150K .......... .......... .......... .......... .......... 63% 11.8M 2s + 49200K .......... .......... .......... .......... .......... 63% 17.7M 2s + 49250K .......... .......... .......... .......... .......... 63% 27.0M 2s + 49300K .......... .......... .......... .......... .......... 63% 27.8M 2s + 49350K .......... .......... .......... .......... .......... 63% 13.7M 2s + 49400K .......... .......... .......... .......... .......... 63% 17.7M 2s + 49450K .......... .......... .......... .......... .......... 63% 27.2M 2s + 49500K .......... .......... .......... .......... .......... 63% 13.4M 2s + 49550K .......... .......... .......... .......... .......... 63% 17.9M 2s + 49600K .......... .......... .......... .......... .......... 63% 18.8M 2s + 49650K .......... .......... .......... .......... .......... 63% 30.6M 2s + 49700K .......... .......... .......... .......... .......... 64% 12.8M 2s + 49750K .......... .......... .......... .......... .......... 64% 22.8M 2s + 49800K .......... .......... .......... .......... .......... 64% 10.7M 2s + 49850K .......... .......... .......... .......... .......... 64% 22.7M 2s + 49900K .......... .......... .......... .......... .......... 64% 18.6M 2s + 49950K .......... .......... .......... .......... .......... 64% 10.2M 2s + 50000K .......... .......... .......... .......... .......... 64% 18.8M 2s + 50050K .......... .......... .......... .......... .......... 64% 19.4M 2s + 50100K .......... .......... .......... .......... .......... 64% 7.52M 2s + 50150K .......... .......... .......... .......... .......... 64% 22.6M 2s + 50200K .......... .......... .......... .......... .......... 64% 26.0M 2s + 50250K .......... .......... .......... .......... .......... 64% 19.0M 2s + 50300K .......... .......... .......... .......... .......... 64% 11.0M 2s + 50350K .......... .......... .......... .......... .......... 64% 24.2M 2s + 50400K .......... .......... .......... .......... .......... 64% 23.6M 2s + 50450K .......... .......... .......... .......... .......... 64% 11.6M 2s + 50500K .......... .......... .......... .......... .......... 65% 26.0M 2s + 50550K .......... .......... .......... .......... .......... 65% 22.2M 2s + 50600K .......... .......... .......... .......... .......... 65% 21.9M 2s + 50650K .......... .......... .......... .......... .......... 65% 18.5M 2s + 50700K .......... .......... .......... .......... .......... 65% 11.9M 2s + 50750K .......... .......... .......... .......... .......... 65% 19.6M 2s + 50800K .......... .......... .......... .......... .......... 65% 12.0M 2s + 50850K .......... .......... .......... .......... .......... 65% 23.0M 2s + 50900K .......... .......... .......... .......... .......... 65% 11.5M 2s + 50950K .......... .......... .......... .......... .......... 65% 26.0M 2s + 51000K .......... .......... .......... .......... .......... 65% 24.7M 2s + 51050K .......... .......... .......... .......... .......... 65% 16.2M 2s + 51100K .......... .......... .......... .......... .......... 65% 15.8M 2s + 51150K .......... .......... .......... .......... .......... 65% 16.1M 2s + 51200K .......... .......... .......... .......... .......... 65% 22.1M 2s + 51250K .......... .......... .......... .......... .......... 66% 11.2M 2s + 51300K .......... .......... .......... .......... .......... 66% 20.4M 2s + 51350K .......... .......... .......... .......... .......... 66% 21.8M 2s + 51400K .......... .......... .......... .......... .......... 66% 12.3M 2s + 51450K .......... .......... .......... .......... .......... 66% 25.8M 2s + 51500K .......... .......... .......... .......... .......... 66% 15.0M 2s + 51550K .......... .......... .......... .......... .......... 66% 18.3M 2s + 51600K .......... .......... .......... .......... .......... 66% 26.5M 2s + 51650K .......... .......... .......... .......... .......... 66% 9.32M 2s + 51700K .......... .......... .......... .......... .......... 66% 34.6M 2s + 51750K .......... .......... .......... .......... .......... 66% 9.00M 2s + 51800K .......... .......... .......... .......... .......... 66% 17.2M 2s + 51850K .......... .......... .......... .......... .......... 66% 17.9M 1s + 51900K .......... .......... .......... .......... .......... 66% 18.0M 1s + 51950K .......... .......... .......... .......... .......... 66% 11.3M 1s + 52000K .......... .......... .......... .......... .......... 66% 15.2M 1s + 52050K .......... .......... .......... .......... .......... 67% 14.3M 1s + 52100K .......... .......... .......... .......... .......... 67% 18.2M 1s + 52150K .......... .......... .......... .......... .......... 67% 22.5M 1s + 52200K .......... .......... .......... .......... .......... 67% 22.7M 1s + 52250K .......... .......... .......... .......... .......... 67% 20.0M 1s + 52300K .......... .......... .......... .......... .......... 67% 12.3M 1s + 52350K .......... .......... .......... .......... .......... 67% 33.0M 1s + 52400K .......... .......... .......... .......... .......... 67% 12.1M 1s + 52450K .......... .......... .......... .......... .......... 67% 23.2M 1s + 52500K .......... .......... .......... .......... .......... 67% 17.4M 1s + 52550K .......... .......... .......... .......... .......... 67% 32.1M 1s + 52600K .......... .......... .......... .......... .......... 67% 9.31M 1s + 52650K .......... .......... .......... .......... .......... 67% 16.9M 1s + 52700K .......... .......... .......... .......... .......... 67% 18.3M 1s + 52750K .......... .......... .......... .......... .......... 67% 11.9M 1s + 52800K .......... .......... .......... .......... .......... 68% 17.3M 1s + 52850K .......... .......... .......... .......... .......... 68% 23.8M 1s + 52900K .......... .......... .......... .......... .......... 68% 9.55M 1s + 52950K .......... .......... .......... .......... .......... 68% 18.9M 1s + 53000K .......... .......... .......... .......... .......... 68% 25.2M 1s + 53050K .......... .......... .......... .......... .......... 68% 11.9M 1s + 53100K .......... .......... .......... .......... .......... 68% 24.8M 1s + 53150K .......... .......... .......... .......... .......... 68% 25.1M 1s + 53200K .......... .......... .......... .......... .......... 68% 21.4M 1s + 53250K .......... .......... .......... .......... .......... 68% 11.2M 1s + 53300K .......... .......... .......... .......... .......... 68% 27.4M 1s + 53350K .......... .......... .......... .......... .......... 68% 16.3M 1s + 53400K .......... .......... .......... .......... .......... 68% 10.8M 1s + 53450K .......... .......... .......... .......... .......... 68% 19.4M 1s + 53500K .......... .......... .......... .......... .......... 68% 17.6M 1s + 53550K .......... .......... .......... .......... .......... 68% 17.7M 1s + 53600K .......... .......... .......... .......... .......... 69% 10.3M 1s + 53650K .......... .......... .......... .......... .......... 69% 23.6M 1s + 53700K .......... .......... .......... .......... .......... 69% 10.5M 1s + 53750K .......... .......... .......... .......... .......... 69% 22.2M 1s + 53800K .......... .......... .......... .......... .......... 69% 24.5M 1s + 53850K .......... .......... .......... .......... .......... 69% 23.2M 1s + 53900K .......... .......... .......... .......... .......... 69% 22.4M 1s + 53950K .......... .......... .......... .......... .......... 69% 9.50M 1s + 54000K .......... .......... .......... .......... .......... 69% 23.6M 1s + 54050K .......... .......... .......... .......... .......... 69% 14.5M 1s + 54100K .......... .......... .......... .......... .......... 69% 24.1M 1s + 54150K .......... .......... .......... .......... .......... 69% 13.5M 1s + 54200K .......... .......... .......... .......... .......... 69% 23.8M 1s + 54250K .......... .......... .......... .......... .......... 69% 10.7M 1s + 54300K .......... .......... .......... .......... .......... 69% 20.9M 1s + 54350K .......... .......... .......... .......... .......... 69% 9.61M 1s + 54400K .......... .......... .......... .......... .......... 70% 18.1M 1s + 54450K .......... .......... .......... .......... .......... 70% 17.2M 1s + 54500K .......... .......... .......... .......... .......... 70% 13.0M 1s + 54550K .......... .......... .......... .......... .......... 70% 10.4M 1s + 54600K .......... .......... .......... .......... .......... 70% 18.3M 1s + 54650K .......... .......... .......... .......... .......... 70% 20.2M 1s + 54700K .......... .......... .......... .......... .......... 70% 9.16M 1s + 54750K .......... .......... .......... .......... .......... 70% 23.1M 1s + 54800K .......... .......... .......... .......... .......... 70% 22.5M 1s + 54850K .......... .......... .......... .......... .......... 70% 19.8M 1s + 54900K .......... .......... .......... .......... .......... 70% 11.8M 1s + 54950K .......... .......... .......... .......... .......... 70% 21.5M 1s + 55000K .......... .......... .......... .......... .......... 70% 17.0M 1s + 55050K .......... .......... .......... .......... .......... 70% 9.51M 1s + 55100K .......... .......... .......... .......... .......... 70% 21.2M 1s + 55150K .......... .......... .......... .......... .......... 71% 29.0M 1s + 55200K .......... .......... .......... .......... .......... 71% 12.1M 1s + 55250K .......... .......... .......... .......... .......... 71% 17.6M 1s + 55300K .......... .......... .......... .......... .......... 71% 27.3M 1s + 55350K .......... .......... .......... .......... .......... 71% 11.8M 1s + 55400K .......... .......... .......... .......... .......... 71% 16.3M 1s + 55450K .......... .......... .......... .......... .......... 71% 25.1M 1s + 55500K .......... .......... .......... .......... .......... 71% 12.5M 1s + 55550K .......... .......... .......... .......... .......... 71% 14.9M 1s + 55600K .......... .......... .......... .......... .......... 71% 21.5M 1s + 55650K .......... .......... .......... .......... .......... 71% 28.5M 1s + 55700K .......... .......... .......... .......... .......... 71% 13.3M 1s + 55750K .......... .......... .......... .......... .......... 71% 16.7M 1s + 55800K .......... .......... .......... .......... .......... 71% 19.8M 1s + 55850K .......... .......... .......... .......... .......... 71% 11.3M 1s + 55900K .......... .......... .......... .......... .......... 71% 21.5M 1s + 55950K .......... .......... .......... .......... .......... 72% 20.4M 1s + 56000K .......... .......... .......... .......... .......... 72% 7.13M 1s + 56050K .......... .......... .......... .......... .......... 72% 20.6M 1s + 56100K .......... .......... .......... .......... .......... 72% 16.1M 1s + 56150K .......... .......... .......... .......... .......... 72% 21.5M 1s + 56200K .......... .......... .......... .......... .......... 72% 12.2M 1s + 56250K .......... .......... .......... .......... .......... 72% 16.2M 1s + 56300K .......... .......... .......... .......... .......... 72% 7.45M 1s + 56350K .......... .......... .......... .......... .......... 72% 30.7M 1s + 56400K .......... .......... .......... .......... .......... 72% 22.9M 1s + 56450K .......... .......... .......... .......... .......... 72% 15.0M 1s + 56500K .......... .......... .......... .......... .......... 72% 10.7M 1s + 56550K .......... .......... .......... .......... .......... 72% 23.5M 1s + 56600K .......... .......... .......... .......... .......... 72% 15.5M 1s + 56650K .......... .......... .......... .......... .......... 72% 20.1M 1s + 56700K .......... .......... .......... .......... .......... 73% 10.6M 1s + 56750K .......... .......... .......... .......... .......... 73% 17.4M 1s + 56800K .......... .......... .......... .......... .......... 73% 12.3M 1s + 56850K .......... .......... .......... .......... .......... 73% 16.2M 1s + 56900K .......... .......... .......... .......... .......... 73% 14.4M 1s + 56950K .......... .......... .......... .......... .......... 73% 12.1M 1s + 57000K .......... .......... .......... .......... .......... 73% 17.1M 1s + 57050K .......... .......... .......... .......... .......... 73% 18.1M 1s + 57100K .......... .......... .......... .......... .......... 73% 17.6M 1s + 57150K .......... .......... .......... .......... .......... 73% 11.1M 1s + 57200K .......... .......... .......... .......... .......... 73% 17.9M 1s + 57250K .......... .......... .......... .......... .......... 73% 20.0M 1s + 57300K .......... .......... .......... .......... .......... 73% 9.60M 1s + 57350K .......... .......... .......... .......... .......... 73% 25.5M 1s + 57400K .......... .......... .......... .......... .......... 73% 21.0M 1s + 57450K .......... .......... .......... .......... .......... 73% 16.4M 1s + 57500K .......... .......... .......... .......... .......... 74% 11.2M 1s + 57550K .......... .......... .......... .......... .......... 74% 15.2M 1s + 57600K .......... .......... .......... .......... .......... 74% 19.2M 1s + 57650K .......... .......... .......... .......... .......... 74% 17.6M 1s + 57700K .......... .......... .......... .......... .......... 74% 14.5M 1s + 57750K .......... .......... .......... .......... .......... 74% 15.4M 1s + 57800K .......... .......... .......... .......... .......... 74% 11.5M 1s + 57850K .......... .......... .......... .......... .......... 74% 20.9M 1s + 57900K .......... .......... .......... .......... .......... 74% 17.9M 1s + 57950K .......... .......... .......... .......... .......... 74% 11.9M 1s + 58000K .......... .......... .......... .......... .......... 74% 18.9M 1s + 58050K .......... .......... .......... .......... .......... 74% 20.4M 1s + 58100K .......... .......... .......... .......... .......... 74% 14.3M 1s + 58150K .......... .......... .......... .......... .......... 74% 10.4M 1s + 58200K .......... .......... .......... .......... .......... 74% 22.6M 1s + 58250K .......... .......... .......... .......... .......... 75% 21.0M 1s + 58300K .......... .......... .......... .......... .......... 75% 9.21M 1s + 58350K .......... .......... .......... .......... .......... 75% 21.9M 1s + 58400K .......... .......... .......... .......... .......... 75% 25.4M 1s + 58450K .......... .......... .......... .......... .......... 75% 9.80M 1s + 58500K .......... .......... .......... .......... .......... 75% 17.0M 1s + 58550K .......... .......... .......... .......... .......... 75% 18.6M 1s + 58600K .......... .......... .......... .......... .......... 75% 23.9M 1s + 58650K .......... .......... .......... .......... .......... 75% 12.2M 1s + 58700K .......... .......... .......... .......... .......... 75% 17.5M 1s + 58750K .......... .......... .......... .......... .......... 75% 9.87M 1s + 58800K .......... .......... .......... .......... .......... 75% 24.9M 1s + 58850K .......... .......... .......... .......... .......... 75% 18.5M 1s + 58900K .......... .......... .......... .......... .......... 75% 21.3M 1s + 58950K .......... .......... .......... .......... .......... 75% 12.4M 1s + 59000K .......... .......... .......... .......... .......... 75% 24.3M 1s + 59050K .......... .......... .......... .......... .......... 76% 26.5M 1s + 59100K .......... .......... .......... .......... .......... 76% 15.7M 1s + 59150K .......... .......... .......... .......... .......... 76% 12.7M 1s + 59200K .......... .......... .......... .......... .......... 76% 14.9M 1s + 59250K .......... .......... .......... .......... .......... 76% 28.2M 1s + 59300K .......... .......... .......... .......... .......... 76% 11.2M 1s + 59350K .......... .......... .......... .......... .......... 76% 20.6M 1s + 59400K .......... .......... .......... .......... .......... 76% 20.7M 1s + 59450K .......... .......... .......... .......... .......... 76% 9.89M 1s + 59500K .......... .......... .......... .......... .......... 76% 15.7M 1s + 59550K .......... .......... .......... .......... .......... 76% 16.8M 1s + 59600K .......... .......... .......... .......... .......... 76% 9.91M 1s + 59650K .......... .......... .......... .......... .......... 76% 18.4M 1s + 59700K .......... .......... .......... .......... .......... 76% 15.3M 1s + 59750K .......... .......... .......... .......... .......... 76% 9.59M 1s + 59800K .......... .......... .......... .......... .......... 77% 19.5M 1s + 59850K .......... .......... .......... .......... .......... 77% 14.0M 1s + 59900K .......... .......... .......... .......... .......... 77% 19.9M 1s + 59950K .......... .......... .......... .......... .......... 77% 15.9M 1s + 60000K .......... .......... .......... .......... .......... 77% 9.40M 1s + 60050K .......... .......... .......... .......... .......... 77% 13.8M 1s + 60100K .......... .......... .......... .......... .......... 77% 19.0M 1s + 60150K .......... .......... .......... .......... .......... 77% 19.0M 1s + 60200K .......... .......... .......... .......... .......... 77% 25.5M 1s + 60250K .......... .......... .......... .......... .......... 77% 22.1M 1s + 60300K .......... .......... .......... .......... .......... 77% 10.5M 1s + 60350K .......... .......... .......... .......... .......... 77% 19.9M 1s + 60400K .......... .......... .......... .......... .......... 77% 20.2M 1s + 60450K .......... .......... .......... .......... .......... 77% 10.9M 1s + 60500K .......... .......... .......... .......... .......... 77% 21.9M 1s + 60550K .......... .......... .......... .......... .......... 77% 17.0M 1s + 60600K .......... .......... .......... .......... .......... 78% 10.3M 1s + 60650K .......... .......... .......... .......... .......... 78% 23.0M 1s + 60700K .......... .......... .......... .......... .......... 78% 16.7M 1s + 60750K .......... .......... .......... .......... .......... 78% 11.4M 1s + 60800K .......... .......... .......... .......... .......... 78% 19.1M 1s + 60850K .......... .......... .......... .......... .......... 78% 27.0M 1s + 60900K .......... .......... .......... .......... .......... 78% 18.6M 1s + 60950K .......... .......... .......... .......... .......... 78% 12.2M 1s + 61000K .......... .......... .......... .......... .......... 78% 21.3M 1s + 61050K .......... .......... .......... .......... .......... 78% 12.8M 1s + 61100K .......... .......... .......... .......... .......... 78% 18.8M 1s + 61150K .......... .......... .......... .......... .......... 78% 24.9M 1s + 61200K .......... .......... .......... .......... .......... 78% 29.1M 1s + 61250K .......... .......... .......... .......... .......... 78% 19.5M 1s + 61300K .......... .......... .......... .......... .......... 78% 11.4M 1s + 61350K .......... .......... .......... .......... .......... 79% 25.2M 1s + 61400K .......... .......... .......... .......... .......... 79% 18.8M 1s + 61450K .......... .......... .......... .......... .......... 79% 12.6M 1s + 61500K .......... .......... .......... .......... .......... 79% 30.8M 1s + 61550K .......... .......... .......... .......... .......... 79% 9.40M 1s + 61600K .......... .......... .......... .......... .......... 79% 19.2M 1s + 61650K .......... .......... .......... .......... .......... 79% 23.2M 1s + 61700K .......... .......... .......... .......... .......... 79% 9.75M 1s + 61750K .......... .......... .......... .......... .......... 79% 22.1M 1s + 61800K .......... .......... .......... .......... .......... 79% 18.8M 1s + 61850K .......... .......... .......... .......... .......... 79% 23.5M 1s + 61900K .......... .......... .......... .......... .......... 79% 12.5M 1s + 61950K .......... .......... .......... .......... .......... 79% 22.5M 1s + 62000K .......... .......... .......... .......... .......... 79% 19.9M 1s + 62050K .......... .......... .......... .......... .......... 79% 11.2M 1s + 62100K .......... .......... .......... .......... .......... 79% 16.4M 1s + 62150K .......... .......... .......... .......... .......... 80% 19.4M 1s + 62200K .......... .......... .......... .......... .......... 80% 19.7M 1s + 62250K .......... .......... .......... .......... .......... 80% 9.26M 1s + 62300K .......... .......... .......... .......... .......... 80% 21.2M 1s + 62350K .......... .......... .......... .......... .......... 80% 10.1M 1s + 62400K .......... .......... .......... .......... .......... 80% 18.4M 1s + 62450K .......... .......... .......... .......... .......... 80% 15.3M 1s + 62500K .......... .......... .......... .......... .......... 80% 26.3M 1s + 62550K .......... .......... .......... .......... .......... 80% 9.43M 1s + 62600K .......... .......... .......... .......... .......... 80% 16.6M 1s + 62650K .......... .......... .......... .......... .......... 80% 22.5M 1s + 62700K .......... .......... .......... .......... .......... 80% 10.8M 1s + 62750K .......... .......... .......... .......... .......... 80% 22.0M 1s + 62800K .......... .......... .......... .......... .......... 80% 23.4M 1s + 62850K .......... .......... .......... .......... .......... 80% 22.5M 1s + 62900K .......... .......... .......... .......... .......... 80% 12.0M 1s + 62950K .......... .......... .......... .......... .......... 81% 14.0M 1s + 63000K .......... .......... .......... .......... .......... 81% 21.7M 1s + 63050K .......... .......... .......... .......... .......... 81% 11.0M 1s + 63100K .......... .......... .......... .......... .......... 81% 17.2M 1s + 63150K .......... .......... .......... .......... .......... 81% 26.3M 1s + 63200K .......... .......... .......... .......... .......... 81% 13.7M 1s + 63250K .......... .......... .......... .......... .......... 81% 16.4M 1s + 63300K .......... .......... .......... .......... .......... 81% 22.4M 1s + 63350K .......... .......... .......... .......... .......... 81% 9.09M 1s + 63400K .......... .......... .......... .......... .......... 81% 16.8M 1s + 63450K .......... .......... .......... .......... .......... 81% 24.4M 1s + 63500K .......... .......... .......... .......... .......... 81% 8.65M 1s + 63550K .......... .......... .......... .......... .......... 81% 23.1M 1s + 63600K .......... .......... .......... .......... .......... 81% 10.0M 1s + 63650K .......... .......... .......... .......... .......... 81% 17.4M 1s + 63700K .......... .......... .......... .......... .......... 82% 16.4M 1s + 63750K .......... .......... .......... .......... .......... 82% 17.2M 1s + 63800K .......... .......... .......... .......... .......... 82% 10.9M 1s + 63850K .......... .......... .......... .......... .......... 82% 15.0M 1s + 63900K .......... .......... .......... .......... .......... 82% 11.6M 1s + 63950K .......... .......... .......... .......... .......... 82% 22.6M 1s + 64000K .......... .......... .......... .......... .......... 82% 10.4M 1s + 64050K .......... .......... .......... .......... .......... 82% 20.5M 1s + 64100K .......... .......... .......... .......... .......... 82% 14.5M 1s + 64150K .......... .......... .......... .......... .......... 82% 10.5M 1s + 64200K .......... .......... .......... .......... .......... 82% 176M 1s + 64250K .......... .......... .......... .......... .......... 82% 7.11M 1s + 64300K .......... .......... .......... .......... .......... 82% 23.1M 1s + 64350K .......... .......... .......... .......... .......... 82% 8.57M 1s + 64400K .......... .......... .......... .......... .......... 82% 13.5M 1s + 64450K .......... .......... .......... .......... .......... 82% 11.7M 1s + 64500K .......... .......... .......... .......... .......... 83% 20.9M 1s + 64550K .......... .......... .......... .......... .......... 83% 16.0M 1s + 64600K .......... .......... .......... .......... .......... 83% 22.7M 1s + 64650K .......... .......... .......... .......... .......... 83% 9.32M 1s + 64700K .......... .......... .......... .......... .......... 83% 17.6M 1s + 64750K .......... .......... .......... .......... .......... 83% 23.5M 1s + 64800K .......... .......... .......... .......... .......... 83% 17.3M 1s + 64850K .......... .......... .......... .......... .......... 83% 9.90M 1s + 64900K .......... .......... .......... .......... .......... 83% 28.1M 1s + 64950K .......... .......... .......... .......... .......... 83% 18.8M 1s + 65000K .......... .......... .......... .......... .......... 83% 11.8M 1s + 65050K .......... .......... .......... .......... .......... 83% 15.6M 1s + 65100K .......... .......... .......... .......... .......... 83% 26.8M 1s + 65150K .......... .......... .......... .......... .......... 83% 9.38M 1s + 65200K .......... .......... .......... .......... .......... 83% 20.0M 1s + 65250K .......... .......... .......... .......... .......... 84% 20.2M 1s + 65300K .......... .......... .......... .......... .......... 84% 10.6M 1s + 65350K .......... .......... .......... .......... .......... 84% 33.5M 1s + 65400K .......... .......... .......... .......... .......... 84% 23.7M 1s + 65450K .......... .......... .......... .......... .......... 84% 20.2M 1s + 65500K .......... .......... .......... .......... .......... 84% 8.68M 1s + 65550K .......... .......... .......... .......... .......... 84% 16.9M 1s + 65600K .......... .......... .......... .......... .......... 84% 19.8M 1s + 65650K .......... .......... .......... .......... .......... 84% 19.8M 1s + 65700K .......... .......... .......... .......... .......... 84% 10.1M 1s + 65750K .......... .......... .......... .......... .......... 84% 17.6M 1s + 65800K .......... .......... .......... .......... .......... 84% 10.6M 1s + 65850K .......... .......... .......... .......... .......... 84% 18.0M 1s + 65900K .......... .......... .......... .......... .......... 84% 20.8M 1s + 65950K .......... .......... .......... .......... .......... 84% 10.6M 1s + 66000K .......... .......... .......... .......... .......... 84% 20.3M 1s + 66050K .......... .......... .......... .......... .......... 85% 19.8M 1s + 66100K .......... .......... .......... .......... .......... 85% 16.7M 1s + 66150K .......... .......... .......... .......... .......... 85% 13.1M 1s + 66200K .......... .......... .......... .......... .......... 85% 32.0M 1s + 66250K .......... .......... .......... .......... .......... 85% 19.8M 1s + 66300K .......... .......... .......... .......... .......... 85% 16.9M 1s + 66350K .......... .......... .......... .......... .......... 85% 12.1M 1s + 66400K .......... .......... .......... .......... .......... 85% 18.6M 1s + 66450K .......... .......... .......... .......... .......... 85% 12.2M 1s + 66500K .......... .......... .......... .......... .......... 85% 23.2M 1s + 66550K .......... .......... .......... .......... .......... 85% 22.8M 1s + 66600K .......... .......... .......... .......... .......... 85% 24.2M 1s + 66650K .......... .......... .......... .......... .......... 85% 11.2M 1s + 66700K .......... .......... .......... .......... .......... 85% 22.1M 1s + 66750K .......... .......... .......... .......... .......... 85% 20.4M 1s + 66800K .......... .......... .......... .......... .......... 86% 11.4M 1s + 66850K .......... .......... .......... .......... .......... 86% 20.6M 1s + 66900K .......... .......... .......... .......... .......... 86% 22.8M 1s + 66950K .......... .......... .......... .......... .......... 86% 18.7M 1s + 67000K .......... .......... .......... .......... .......... 86% 11.6M 1s + 67050K .......... .......... .......... .......... .......... 86% 14.3M 1s + 67100K .......... .......... .......... .......... .......... 86% 12.2M 1s + 67150K .......... .......... .......... .......... .......... 86% 15.5M 1s + 67200K .......... .......... .......... .......... .......... 86% 23.1M 1s + 67250K .......... .......... .......... .......... .......... 86% 17.4M 1s + 67300K .......... .......... .......... .......... .......... 86% 9.86M 1s + 67350K .......... .......... .......... .......... .......... 86% 19.9M 1s + 67400K .......... .......... .......... .......... .......... 86% 20.1M 1s + 67450K .......... .......... .......... .......... .......... 86% 13.5M 1s + 67500K .......... .......... .......... .......... .......... 86% 23.5M 1s + 67550K .......... .......... .......... .......... .......... 86% 19.4M 1s + 67600K .......... .......... .......... .......... .......... 87% 11.5M 1s + 67650K .......... .......... .......... .......... .......... 87% 23.9M 1s + 67700K .......... .......... .......... .......... .......... 87% 19.6M 1s + 67750K .......... .......... .......... .......... .......... 87% 14.6M 1s + 67800K .......... .......... .......... .......... .......... 87% 11.5M 1s + 67850K .......... .......... .......... .......... .......... 87% 250M 1s + 67900K .......... .......... .......... .......... .......... 87% 13.5M 1s + 67950K .......... .......... .......... .......... .......... 87% 15.3M 1s + 68000K .......... .......... .......... .......... .......... 87% 17.1M 1s + 68050K .......... .......... .......... .......... .......... 87% 14.8M 1s + 68100K .......... .......... .......... .......... .......... 87% 9.76M 1s + 68150K .......... .......... .......... .......... .......... 87% 145M 1s + 68200K .......... .......... .......... .......... .......... 87% 15.0M 1s + 68250K .......... .......... .......... .......... .......... 87% 11.0M 1s + 68300K .......... .......... .......... .......... .......... 87% 1.51M 1s + 68350K .......... .......... .......... .......... .......... 88% 243M 1s + 68400K .......... .......... .......... .......... .......... 88% 207M 1s + 68450K .......... .......... .......... .......... .......... 88% 303M 1s + 68500K .......... .......... .......... .......... .......... 88% 8.99M 1s + 68550K .......... .......... .......... .......... .......... 88% 137M 1s + 68600K .......... .......... .......... .......... .......... 88% 160M 1s + 68650K .......... .......... .......... .......... .......... 88% 189M 1s + 68700K .......... .......... .......... .......... .......... 88% 215M 1s + 68750K .......... .......... .......... .......... .......... 88% 268M 1s + 68800K .......... .......... .......... .......... .......... 88% 283M 1s + 68850K .......... .......... .......... .......... .......... 88% 4.11M 1s + 68900K .......... .......... .......... .......... .......... 88% 288M 1s + 68950K .......... .......... .......... .......... .......... 88% 284M 1s + 69000K .......... .......... .......... .......... .......... 88% 233M 1s + 69050K .......... .......... .......... .......... .......... 88% 291M 1s + 69100K .......... .......... .......... .......... .......... 88% 266M 1s + 69150K .......... .......... .......... .......... .......... 89% 34.0M 1s + 69200K .......... .......... .......... .......... .......... 89% 22.7M 1s + 69250K .......... .......... .......... .......... .......... 89% 25.7M 0s + 69300K .......... .......... .......... .......... .......... 89% 9.87M 0s + 69350K .......... .......... .......... .......... .......... 89% 25.6M 0s + 69400K .......... .......... .......... .......... .......... 89% 18.7M 0s + 69450K .......... .......... .......... .......... .......... 89% 14.0M 0s + 69500K .......... .......... .......... .......... .......... 89% 23.7M 0s + 69550K .......... .......... .......... .......... .......... 89% 14.0M 0s + 69600K .......... .......... .......... .......... .......... 89% 24.4M 0s + 69650K .......... .......... .......... .......... .......... 89% 10.7M 0s + 69700K .......... .......... .......... .......... .......... 89% 9.85M 0s + 69750K .......... .......... .......... .......... .......... 89% 17.3M 0s + 69800K .......... .......... .......... .......... .......... 89% 15.7M 0s + 69850K .......... .......... .......... .......... .......... 89% 19.3M 0s + 69900K .......... .......... .......... .......... .......... 90% 14.3M 0s + 69950K .......... .......... .......... .......... .......... 90% 16.9M 0s + 70000K .......... .......... .......... .......... .......... 90% 16.6M 0s + 70050K .......... .......... .......... .......... .......... 90% 17.6M 0s + 70100K .......... .......... .......... .......... .......... 90% 11.9M 0s + 70150K .......... .......... .......... .......... .......... 90% 17.5M 0s + 70200K .......... .......... .......... .......... .......... 90% 8.21M 0s + 70250K .......... .......... .......... .......... .......... 90% 16.9M 0s + 70300K .......... .......... .......... .......... .......... 90% 16.2M 0s + 70350K .......... .......... .......... .......... .......... 90% 18.4M 0s + 70400K .......... .......... .......... .......... .......... 90% 11.1M 0s + 70450K .......... .......... .......... .......... .......... 90% 20.6M 0s + 70500K .......... .......... .......... .......... .......... 90% 22.6M 0s + 70550K .......... .......... .......... .......... .......... 90% 11.1M 0s + 70600K .......... .......... .......... .......... .......... 90% 19.2M 0s + 70650K .......... .......... .......... .......... .......... 90% 16.9M 0s + 70700K .......... .......... .......... .......... .......... 91% 13.7M 0s + 70750K .......... .......... .......... .......... .......... 91% 9.06M 0s + 70800K .......... .......... .......... .......... .......... 91% 20.4M 0s + 70850K .......... .......... .......... .......... .......... 91% 17.7M 0s + 70900K .......... .......... .......... .......... .......... 91% 10.0M 0s + 70950K .......... .......... .......... .......... .......... 91% 22.6M 0s + 71000K .......... .......... .......... .......... .......... 91% 21.4M 0s + 71050K .......... .......... .......... .......... .......... 91% 12.4M 0s + 71100K .......... .......... .......... .......... .......... 91% 22.6M 0s + 71150K .......... .......... .......... .......... .......... 91% 20.4M 0s + 71200K .......... .......... .......... .......... .......... 91% 22.8M 0s + 71250K .......... .......... .......... .......... .......... 91% 11.0M 0s + 71300K .......... .......... .......... .......... .......... 91% 22.7M 0s + 71350K .......... .......... .......... .......... .......... 91% 9.98M 0s + 71400K .......... .......... .......... .......... .......... 91% 23.7M 0s + 71450K .......... .......... .......... .......... .......... 91% 21.1M 0s + 71500K .......... .......... .......... .......... .......... 92% 19.6M 0s + 71550K .......... .......... .......... .......... .......... 92% 10.1M 0s + 71600K .......... .......... .......... .......... .......... 92% 15.4M 0s + 71650K .......... .......... .......... .......... .......... 92% 17.7M 0s + 71700K .......... .......... .......... .......... .......... 92% 10.3M 0s + 71750K .......... .......... .......... .......... .......... 92% 20.4M 0s + 71800K .......... .......... .......... .......... .......... 92% 17.2M 0s + 71850K .......... .......... .......... .......... .......... 92% 15.2M 0s + 71900K .......... .......... .......... .......... .......... 92% 9.65M 0s + 71950K .......... .......... .......... .......... .......... 92% 22.5M 0s + 72000K .......... .......... .......... .......... .......... 92% 11.6M 0s + 72050K .......... .......... .......... .......... .......... 92% 16.4M 0s + 72100K .......... .......... .......... .......... .......... 92% 19.7M 0s + 72150K .......... .......... .......... .......... .......... 92% 17.3M 0s + 72200K .......... .......... .......... .......... .......... 92% 10.3M 0s + 72250K .......... .......... .......... .......... .......... 93% 17.5M 0s + 72300K .......... .......... .......... .......... .......... 93% 20.4M 0s + 72350K .......... .......... .......... .......... .......... 93% 10.1M 0s + 72400K .......... .......... .......... .......... .......... 93% 25.6M 0s + 72450K .......... .......... .......... .......... .......... 93% 14.2M 0s + 72500K .......... .......... .......... .......... .......... 93% 12.0M 0s + 72550K .......... .......... .......... .......... .......... 93% 23.6M 0s + 72600K .......... .......... .......... .......... .......... 93% 16.9M 0s + 72650K .......... .......... .......... .......... .......... 93% 11.3M 0s + 72700K .......... .......... .......... .......... .......... 93% 28.8M 0s + 72750K .......... .......... .......... .......... .......... 93% 19.4M 0s + 72800K .......... .......... .......... .......... .......... 93% 9.95M 0s + 72850K .......... .......... .......... .......... .......... 93% 29.3M 0s + 72900K .......... .......... .......... .......... .......... 93% 17.3M 0s + 72950K .......... .......... .......... .......... .......... 93% 28.0M 0s + 73000K .......... .......... .......... .......... .......... 93% 19.3M 0s + 73050K .......... .......... .......... .......... .......... 94% 11.1M 0s + 73100K .......... .......... .......... .......... .......... 94% 20.7M 0s + 73150K .......... .......... .......... .......... .......... 94% 15.8M 0s + 73200K .......... .......... .......... .......... .......... 94% 8.70M 0s + 73250K .......... .......... .......... .......... .......... 94% 24.2M 0s + 73300K .......... .......... .......... .......... .......... 94% 15.2M 0s + 73350K .......... .......... .......... .......... .......... 94% 14.4M 0s + 73400K .......... .......... .......... .......... .......... 94% 13.9M 0s + 73450K .......... .......... .......... .......... .......... 94% 18.0M 0s + 73500K .......... .......... .......... .......... .......... 94% 12.2M 0s + 73550K .......... .......... .......... .......... .......... 94% 26.8M 0s + 73600K .......... .......... .......... .......... .......... 94% 24.2M 0s + 73650K .......... .......... .......... .......... .......... 94% 10.6M 0s + 73700K .......... .......... .......... .......... .......... 94% 23.4M 0s + 73750K .......... .......... .......... .......... .......... 94% 23.0M 0s + 73800K .......... .......... .......... .......... .......... 95% 25.0M 0s + 73850K .......... .......... .......... .......... .......... 95% 10.7M 0s + 73900K .......... .......... .......... .......... .......... 95% 22.7M 0s + 73950K .......... .......... .......... .......... .......... 95% 15.0M 0s + 74000K .......... .......... .......... .......... .......... 95% 12.6M 0s + 74050K .......... .......... .......... .......... .......... 95% 31.1M 0s + 74100K .......... .......... .......... .......... .......... 95% 19.5M 0s + 74150K .......... .......... .......... .......... .......... 95% 10.7M 0s + 74200K .......... .......... .......... .......... .......... 95% 23.7M 0s + 74250K .......... .......... .......... .......... .......... 95% 18.5M 0s + 74300K .......... .......... .......... .......... .......... 95% 10.8M 0s + 74350K .......... .......... .......... .......... .......... 95% 22.4M 0s + 74400K .......... .......... .......... .......... .......... 95% 15.9M 0s + 74450K .......... .......... .......... .......... .......... 95% 20.4M 0s + 74500K .......... .......... .......... .......... .......... 95% 12.7M 0s + 74550K .......... .......... .......... .......... .......... 95% 17.3M 0s + 74600K .......... .......... .......... .......... .......... 96% 19.3M 0s + 74650K .......... .......... .......... .......... .......... 96% 17.6M 0s + 74700K .......... .......... .......... .......... .......... 96% 10.2M 0s + 74750K .......... .......... .......... .......... .......... 96% 24.8M 0s + 74800K .......... .......... .......... .......... .......... 96% 9.72M 0s + 74850K .......... .......... .......... .......... .......... 96% 22.4M 0s + 74900K .......... .......... .......... .......... .......... 96% 24.8M 0s + 74950K .......... .......... .......... .......... .......... 96% 18.3M 0s + 75000K .......... .......... .......... .......... .......... 96% 10.8M 0s + 75050K .......... .......... .......... .......... .......... 96% 20.6M 0s + 75100K .......... .......... .......... .......... .......... 96% 11.5M 0s + 75150K .......... .......... .......... .......... .......... 96% 17.2M 0s + 75200K .......... .......... .......... .......... .......... 96% 20.6M 0s + 75250K .......... .......... .......... .......... .......... 96% 24.3M 0s + 75300K .......... .......... .......... .......... .......... 96% 12.7M 0s + 75350K .......... .......... .......... .......... .......... 97% 22.5M 0s + 75400K .......... .......... .......... .......... .......... 97% 24.3M 0s + 75450K .......... .......... .......... .......... .......... 97% 21.5M 0s + 75500K .......... .......... .......... .......... .......... 97% 10.4M 0s + 75550K .......... .......... .......... .......... .......... 97% 22.0M 0s + 75600K .......... .......... .......... .......... .......... 97% 18.5M 0s + 75650K .......... .......... .......... .......... .......... 97% 11.1M 0s + 75700K .......... .......... .......... .......... .......... 97% 23.7M 0s + 75750K .......... .......... .......... .......... .......... 97% 11.3M 0s + 75800K .......... .......... .......... .......... .......... 97% 23.2M 0s + 75850K .......... .......... .......... .......... .......... 97% 26.6M 0s + 75900K .......... .......... .......... .......... .......... 97% 22.3M 0s + 75950K .......... .......... .......... .......... .......... 97% 10.5M 0s + 76000K .......... .......... .......... .......... .......... 97% 24.9M 0s + 76050K .......... .......... .......... .......... .......... 97% 22.2M 0s + 76100K .......... .......... .......... .......... .......... 97% 11.3M 0s + 76150K .......... .......... .......... .......... .......... 98% 22.8M 0s + 76200K .......... .......... .......... .......... .......... 98% 16.4M 0s + 76250K .......... .......... .......... .......... .......... 98% 23.5M 0s + 76300K .......... .......... .......... .......... .......... 98% 11.6M 0s + 76350K .......... .......... .......... .......... .......... 98% 20.5M 0s + 76400K .......... .......... .......... .......... .......... 98% 21.9M 0s + 76450K .......... .......... .......... .......... .......... 98% 11.9M 0s + 76500K .......... .......... .......... .......... .......... 98% 21.1M 0s + 76550K .......... .......... .......... .......... .......... 98% 10.9M 0s + 76600K .......... .......... .......... .......... .......... 98% 25.4M 0s + 76650K .......... .......... .......... .......... .......... 98% 21.0M 0s + 76700K .......... .......... .......... .......... .......... 98% 23.3M 0s + 76750K .......... .......... .......... .......... .......... 98% 18.6M 0s + 76800K .......... .......... .......... .......... .......... 98% 11.1M 0s + 76850K .......... .......... .......... .......... .......... 98% 22.2M 0s + 76900K .......... .......... .......... .......... .......... 99% 11.7M 0s + 76950K .......... .......... .......... .......... .......... 99% 23.4M 0s + 77000K .......... .......... .......... .......... .......... 99% 22.6M 0s + 77050K .......... .......... .......... .......... .......... 99% 16.8M 0s + 77100K .......... .......... .......... .......... .......... 99% 13.5M 0s + 77150K .......... .......... .......... .......... .......... 99% 25.4M 0s + 77200K .......... .......... .......... .......... .......... 99% 19.7M 0s + 77250K .......... .......... .......... .......... .......... 99% 10.3M 0s + 77300K .......... .......... .......... .......... .......... 99% 20.8M 0s + 77350K .......... .......... .......... .......... .......... 99% 25.2M 0s + 77400K .......... .......... .......... .......... .......... 99% 18.5M 0s + 77450K .......... .......... .......... .......... .......... 99% 9.85M 0s + 77500K .......... .......... .......... .......... .......... 99% 26.9M 0s + 77550K .......... .......... .......... .......... .......... 99% 18.9M 0s + 77600K .......... .......... .......... .......... .......... 99% 12.3M 0s + 77650K .......... .......... .......... .......... .......... 99% 36.7M 0s + 77700K .......... ......... 100% 191M=4.6s + +2026-02-09 15:56:54 (16.5 MB/s) - ‘wiki-js.tar.gz’ saved [79584261/79584261] + diff --git a/docs/TASKS.md b/docs/TASKS.md index 90bba34..1f2b0f1 100644 --- a/docs/TASKS.md +++ b/docs/TASKS.md @@ -156,3 +156,109 @@ Asked Breezehost if this is: --- **END OF TASKS.md** + +--- + +## 🎨 FUTURE ENHANCEMENTS + +### Landing Pages for Subscriber & Staff Portals +**Priority:** Medium +**Status:** PLANNED +**Created:** Feb 9, 2026 1:45 PM CST + +**Goal:** +Create landing pages for staff.firefrostgaming.com and subscribers.firefrostgaming.com root domains that serve as entry points to multiple tools/services. + +**Current State (Phase 1):** +- Root domains auto-redirect to /codex (Wiki.js) +- Users go straight to documentation +- Simple, functional, gets us operational + +**Future State (Phase 2):** +- Custom landing pages at root (`/`) +- Links to multiple services: + - 📖 The Codex (Wiki.js documentation) + - 🔧 Tools (future staff tools) + - 📊 Dashboard (future analytics/status) + - 📥 Downloads (NextCloud for subscribers) +- Secure access control (authenticate at landing page level) + +**Design Considerations:** +- Fire/Frost visual identity (match Design Bible) +- Role-based content (subscribers see different options than staff) +- Mobile-responsive +- Fast load times +- SSO/authentication strategy (Phase 2 webhook automation) + +**Security Requirements:** +- Authentication BEFORE accessing any services +- Session management +- Secure token handling +- Rate limiting on login attempts + +**Technologies to Explore:** +- Static HTML + Tailwind CSS (simple, fast) +- Next.js (if we want dynamic content) +- Authentik or Authelia (SSO/authentication layer) +- Integration with Paymenter subscriber validation + +**Next Steps:** +1. Complete Wiki.js deployment (Service 4) +2. Complete NextCloud deployment (Service 5) +3. Reach 100% Phase 0.5 completion +4. THEN discuss landing page architecture in dedicated session + +**Discussion Topics for Future Session:** +- Authentication strategy (Phase 1 manual vs Phase 2 webhooks) +- Visual design (Frost vs Fire styling for each portal) +- Navigation structure (what tools/links appear on each portal) +- Mobile vs desktop experience +- Onboarding flow for new subscribers + +--- + + +### Configure Wiki.js Git Sync with Gitea +**Priority:** High +**Status:** PENDING - Deploy Wiki.js first +**Created:** Feb 9, 2026 2:00 PM CST + +**Goal:** +Set up two-way Git synchronization between Wiki.js and Gitea for markdown-based documentation workflow. + +**Prerequisites:** +- ✅ Wiki.js deployed and configured +- ⏳ Admin account created (mkrause612@gmail.com / Butter2018!!) +- ⏳ Initial setup wizard completed + +**Implementation Steps:** +1. Create new Gitea repository: `firefrost-codex` +2. Initialize with folder structure: + - `/subscribers/` - Subscriber-facing guides + - `/staff/` - Internal procedures and planning +3. Configure Wiki.js Git sync: + - Repository URL: https://git.firefrostgaming.com/firefrost-gaming/firefrost-codex.git + - Authentication: Git credentials or SSH key + - Sync mode: Two-way (Git ↔ Wiki.js) + - Sync interval: Every 5 minutes or manual trigger +4. Test workflow: + - Create page in Wiki.js → Verify appears in Git + - Create markdown file in Git → Verify appears in Wiki.js +5. Set up path-based permissions: + - Subscribers group: Read-only access to /subscribers/ + - Staff group: Full access to /staff/ + - Admin group: Full access everywhere + +**Benefits:** +- Write in markdown (terminal/editor) OR web UI (Meg's preference) +- All content version controlled in Git +- Automatic sync both directions +- Perfect for Fire + Frost workflow (technical precision + creative editing) + +**Next Steps:** +1. Wait for Wiki.js deployment to complete +2. Complete web setup wizard +3. Execute this configuration task + +--- +