capdebug 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -1
- package/android/src/main/java/com/capdebug/plugin/CapDebugPlugin.kt +54 -0
- package/dist/plugin.cjs.js +1783 -1922
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +1876 -2015
- package/dist/plugin.js.map +1 -1
- package/dist/plugin.mjs +1783 -1922
- package/dist/plugin.mjs.map +1 -1
- package/ios/Sources/CapDebugPlugin/CapDebugPlugin.swift +41 -0
- package/package.json +2 -2
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../src/sanitizer.ts","../src/store.ts","../src/collectors/console.collector.ts","../src/collectors/error.collector.ts","../src/collectors/network.collector.ts","../src/collectors/custom-event.collector.ts","../src/collectors/browser-event.collector.ts","../src/collectors/bridge.collector.ts","../src/ui/styles.ts","../src/ui/floating-button.ts","../src/ui/json-viewer.ts","../src/definitions.ts","../src/ui/panel.ts","../src/ui/viewer.element.ts","../src/index.ts","../src/web.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../src/sanitizer.ts","../src/store.ts","../src/collectors/console.collector.ts","../src/collectors/error.collector.ts","../src/collectors/network.collector.ts","../src/collectors/custom-event.collector.ts","../src/collectors/browser-event.collector.ts","../src/collectors/bridge.collector.ts","../src/ui/styles.ts","../src/ui/floating-button.ts","../src/ui/json-viewer.ts","../src/definitions.ts","../src/ui/panel.ts","../src/ui/viewer.element.ts","../src/index.ts","../src/web.ts"],"sourcesContent":["const DEFAULT_SENSITIVE_KEYS = new Set([\n 'authorization',\n 'cookie',\n 'set-cookie',\n 'password',\n 'passwd',\n 'pass',\n 'token',\n 'access_token',\n 'accesstoken',\n 'refresh_token',\n 'refreshtoken',\n 'api_key',\n 'apikey',\n 'secret',\n 'client_secret',\n 'clientsecret',\n 'bearer',\n 'private_key',\n 'privatekey',\n 'session_id',\n 'sessionid',\n 'jwt',\n 'credit_card',\n 'creditcard',\n 'cvv',\n 'ssn',\n]);\n\nconst MASK_VALUE = '********';\n\nexport interface SanitizeOptions {\n customMaskKeys?: string[];\n maxDepth?: number;\n maxArrayLength?: number;\n}\n\nexport class DataSanitizer {\n private maskKeys: Set<string>;\n private maxDepth: number;\n private maxArrayLength: number;\n\n constructor(options: SanitizeOptions = {}) {\n this.maskKeys = new Set([\n ...DEFAULT_SENSITIVE_KEYS,\n ...(options.customMaskKeys || []).map(k => k.toLowerCase().trim()),\n ]);\n this.maxDepth = options.maxDepth ?? 10;\n this.maxArrayLength = options.maxArrayLength ?? 100;\n }\n\n private isSensitiveKey(key: string): boolean {\n const normalized = key.toLowerCase().replace(/[-_]/g, '');\n if (this.maskKeys.has(key.toLowerCase()) || this.maskKeys.has(normalized)) {\n return true;\n }\n for (const sensitive of this.maskKeys) {\n const cleanSensitive = sensitive.replace(/[-_]/g, '');\n if (normalized.includes(cleanSensitive) && cleanSensitive.length >= 4) {\n return true;\n }\n }\n return false;\n }\n\n public sanitize<T = unknown>(value: unknown): T {\n const seen = new WeakSet<object>();\n return this.sanitizeRecursive(value, 0, seen) as T;\n }\n\n private sanitizeRecursive(\n value: unknown,\n depth: number,\n seen: WeakSet<object>\n ): unknown {\n if (value === null || value === undefined) {\n return value;\n }\n\n if (depth > this.maxDepth) {\n return '[Max Depth Reached]';\n }\n\n const type = typeof value;\n\n if (type === 'string' || type === 'number' || type === 'boolean') {\n return value;\n }\n\n if (type === 'bigint') {\n return value.toString() + 'n';\n }\n\n if (type === 'symbol') {\n return value.toString();\n }\n\n if (type === 'function') {\n return `[Function: ${(value as Function).name || 'anonymous'}]`;\n }\n\n if (typeof value === 'object') {\n // Check circular reference\n if (seen.has(value as object)) {\n return '[Circular Reference]';\n }\n seen.add(value as object);\n\n // Error handling\n if (value instanceof Error) {\n return {\n name: value.name,\n message: value.message,\n stack: value.stack,\n ...(value as any),\n };\n }\n\n // Date handling\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n // RegExp handling\n if (value instanceof RegExp) {\n return value.toString();\n }\n\n // DOM Node handling\n if (typeof Element !== 'undefined' && value instanceof Element) {\n const id = value.id ? `#${value.id}` : '';\n const className = value.className ? `.${String(value.className).trim().replace(/\\s+/g, '.')}` : '';\n return `<${value.tagName.toLowerCase()}${id}${className}>`;\n }\n\n // Array handling\n if (Array.isArray(value)) {\n const arr = value.slice(0, this.maxArrayLength).map(item =>\n this.sanitizeRecursive(item, depth + 1, seen)\n );\n if (value.length > this.maxArrayLength) {\n arr.push(`[... ${value.length - this.maxArrayLength} more items]` as any);\n }\n return arr;\n }\n\n // Map handling\n if (value instanceof Map) {\n const entries: Record<string, unknown> = {};\n for (const [k, v] of value.entries()) {\n const keyStr = String(k);\n entries[keyStr] = this.isSensitiveKey(keyStr)\n ? MASK_VALUE\n : this.sanitizeRecursive(v, depth + 1, seen);\n }\n return entries;\n }\n\n // Set handling\n if (value instanceof Set) {\n return Array.from(value).map(item =>\n this.sanitizeRecursive(item, depth + 1, seen)\n );\n }\n\n // Plain Object handling\n const result: Record<string, unknown> = {};\n const obj = value as Record<string, unknown>;\n\n for (const [key, val] of Object.entries(obj)) {\n if (this.isSensitiveKey(key)) {\n result[key] = MASK_VALUE;\n } else {\n result[key] = this.sanitizeRecursive(val, depth + 1, seen);\n }\n }\n\n return result;\n }\n\n return String(value);\n }\n}\n\nexport const defaultSanitizer = new DataSanitizer();\n\nexport function sanitize<T = unknown>(value: unknown, options?: SanitizeOptions): T {\n if (!options) {\n return defaultSanitizer.sanitize<T>(value);\n }\n return new DataSanitizer(options).sanitize<T>(value);\n}\n","import type {\n CapDebugEvent,\n CapDebugLevel,\n CapDebugSource,\n CapDebugTab,\n} from './types';\nimport { sanitize } from './sanitizer';\n\nexport interface StoreFilterState {\n tab: CapDebugTab;\n search: string;\n level: CapDebugLevel | 'all';\n source: CapDebugSource | 'all';\n}\n\nexport type StoreListener = (events: CapDebugEvent[], store: CapDebugStore) => void;\n\nexport class CapDebugStore {\n private buffer: CapDebugEvent[] = [];\n private maxEvents: number;\n private paused: boolean = false;\n private listeners: Set<StoreListener> = new Set();\n private rafId: number | null = null;\n private customMaskKeys: string[] = [];\n\n private filterState: StoreFilterState = {\n tab: 'all',\n search: '',\n level: 'all',\n source: 'all',\n };\n\n constructor(maxEvents = 500, customMaskKeys: string[] = []) {\n this.maxEvents = Math.max(1, maxEvents);\n this.customMaskKeys = customMaskKeys;\n }\n\n public setMaxEvents(max: number): void {\n this.maxEvents = Math.max(1, max);\n if (this.buffer.length > this.maxEvents) {\n this.buffer = this.buffer.slice(this.buffer.length - this.maxEvents);\n this.notify();\n }\n }\n\n public setCustomMaskKeys(keys: string[]): void {\n this.customMaskKeys = keys;\n }\n\n public add(event: Partial<CapDebugEvent> & { type: string }): CapDebugEvent | null {\n if (this.paused) {\n return null;\n }\n\n const sanitizedData = event.data !== undefined\n ? sanitize(event.data, { customMaskKeys: this.customMaskKeys })\n : undefined;\n\n const fullEvent: CapDebugEvent = {\n id: event.id || this.generateId(),\n timestamp: event.timestamp || Date.now(),\n source: event.source || 'web',\n type: event.type,\n level: event.level || 'info',\n message: event.message,\n data: sanitizedData,\n duration: event.duration,\n platform: event.platform,\n };\n\n if (this.buffer.length >= this.maxEvents) {\n this.buffer.shift(); // Evict oldest FIFO\n }\n\n this.buffer.push(fullEvent);\n this.notify();\n\n return fullEvent;\n }\n\n public clear(): void {\n this.buffer = [];\n this.notify();\n }\n\n public pause(): void {\n this.paused = true;\n this.notify();\n }\n\n public resume(): void {\n this.paused = false;\n this.notify();\n }\n\n public togglePause(): boolean {\n this.paused = !this.paused;\n this.notify();\n return this.paused;\n }\n\n public isPaused(): boolean {\n return this.paused;\n }\n\n public setFilter(partial: Partial<StoreFilterState>): void {\n this.filterState = { ...this.filterState, ...partial };\n this.notify();\n }\n\n public getFilter(): Readonly<StoreFilterState> {\n return this.filterState;\n }\n\n public getAll(): CapDebugEvent[] {\n return [...this.buffer];\n }\n\n public getCounts(): Record<CapDebugTab, number> {\n const counts: Record<CapDebugTab, number> = {\n all: this.buffer.length,\n console: 0,\n errors: 0,\n events: 0,\n native: 0,\n device: 0,\n network: 0,\n bridge: 0,\n };\n\n for (const ev of this.buffer) {\n if (ev.source === 'console') counts.console++;\n if (ev.level === 'error') counts.errors++;\n if (ev.source === 'web' || ev.source === 'system') counts.events++;\n if (ev.source === 'native') counts.native++;\n if (ev.source === 'network') counts.network++;\n if (ev.source === 'bridge') counts.bridge++;\n }\n\n return counts;\n }\n\n public getFiltered(): CapDebugEvent[] {\n const { tab, search, level, source } = this.filterState;\n const query = search.trim().toLowerCase();\n\n return this.buffer.filter(event => {\n // 1. Tab filtering\n if (tab === 'console' && event.source !== 'console') return false;\n if (tab === 'errors' && event.level !== 'error') return false;\n if (tab === 'events' && (event.source !== 'web' && event.source !== 'system')) return false;\n if (tab === 'native' && event.source !== 'native') return false;\n if (tab === 'network' && event.source !== 'network') return false;\n if (tab === 'bridge' && event.source !== 'bridge') return false;\n\n // 2. Level filter\n if (level !== 'all' && event.level !== level) return false;\n\n // 3. Source filter\n if (source !== 'all' && event.source !== source) return false;\n\n // 4. Search query\n if (query) {\n const typeMatch = event.type.toLowerCase().includes(query);\n const msgMatch = event.message ? event.message.toLowerCase().includes(query) : false;\n const sourceMatch = event.source.toLowerCase().includes(query);\n if (typeMatch || msgMatch || sourceMatch) return true;\n\n if (event.data) {\n try {\n const dataStr = typeof event.data === 'string'\n ? event.data.toLowerCase()\n : JSON.stringify(event.data).toLowerCase();\n return dataStr.includes(query);\n } catch {\n return false;\n }\n }\n return false;\n }\n\n return true;\n });\n }\n\n public exportJson(): string {\n return JSON.stringify(\n {\n exportedAt: new Date().toISOString(),\n totalEvents: this.buffer.length,\n events: this.buffer,\n },\n null,\n 2\n );\n }\n\n public subscribe(listener: StoreListener): () => void {\n this.listeners.add(listener);\n listener(this.getFiltered(), this);\n return () => {\n this.listeners.delete(listener);\n };\n }\n\n private notify(): void {\n if (typeof window !== 'undefined' && typeof window.requestAnimationFrame === 'function') {\n if (this.rafId !== null) {\n cancelAnimationFrame(this.rafId);\n }\n this.rafId = requestAnimationFrame(() => {\n this.rafId = null;\n this.dispatchToListeners();\n });\n } else {\n this.dispatchToListeners();\n }\n }\n\n private dispatchToListeners(): void {\n const filtered = this.getFiltered();\n for (const listener of this.listeners) {\n try {\n listener(filtered, this);\n } catch (err) {\n // Prevent subscriber errors from halting store\n }\n }\n }\n\n private generateId(): string {\n return 'ev_' + Math.random().toString(36).substring(2, 9) + '_' + Date.now().toString(36);\n }\n}\n","import type { CapDebugCollector, CapDebugLevel } from '../types';\n\ntype ConsoleMethod = 'log' | 'info' | 'warn' | 'error' | 'debug';\n\nexport class ConsoleCollector implements CapDebugCollector {\n public readonly id = 'console';\n private running = false;\n private originalMethods: Partial<Record<ConsoleMethod, (...args: any[]) => void>> = {};\n\n public start(): void {\n if (this.running || typeof console === 'undefined') return;\n\n const methods: { method: ConsoleMethod; level: CapDebugLevel }[] = [\n { method: 'log', level: 'info' },\n { method: 'info', level: 'info' },\n { method: 'warn', level: 'warn' },\n { method: 'error', level: 'error' },\n { method: 'debug', level: 'debug' },\n ];\n\n for (const { method, level } of methods) {\n const original = console[method]?.bind(console);\n this.originalMethods[method] = original;\n\n console[method] = (...args: any[]) => {\n // 1. Call original console method\n if (original) {\n try {\n original(...args);\n } catch {\n // ignore\n }\n }\n\n // 2. Dispatch CapDebug event safely\n try {\n this.emitConsoleEvent(method, level, args);\n } catch {\n // ignore to prevent crashing host application\n }\n };\n }\n\n this.running = true;\n }\n\n public stop(): void {\n if (!this.running || typeof console === 'undefined') return;\n\n for (const method of Object.keys(this.originalMethods) as ConsoleMethod[]) {\n const original = this.originalMethods[method];\n if (original) {\n console[method] = original;\n }\n }\n\n this.originalMethods = {};\n this.running = false;\n }\n\n private emitConsoleEvent(method: ConsoleMethod, level: CapDebugLevel, args: any[]): void {\n if (typeof window === 'undefined') return;\n\n let message = '';\n let data: unknown = undefined;\n\n if (args.length === 1) {\n const arg = args[0];\n if (typeof arg === 'string' || typeof arg === 'number' || typeof arg === 'boolean') {\n message = String(arg);\n } else if (arg instanceof Error) {\n message = `${arg.name}: ${arg.message}`;\n data = { name: arg.name, message: arg.message, stack: arg.stack };\n } else {\n message = `[${typeof arg}]`;\n data = arg;\n }\n } else if (args.length > 1) {\n // Multiple arguments\n const first = args[0];\n if (typeof first === 'string') {\n message = first;\n data = args.slice(1);\n } else {\n message = args.map(a => (typeof a === 'object' && a !== null ? '[Object]' : String(a))).join(' ');\n data = args;\n }\n }\n\n window.dispatchEvent(\n new CustomEvent('capdebug', {\n detail: {\n source: 'console',\n type: `console.${method}`,\n level,\n message,\n data,\n timestamp: Date.now(),\n },\n })\n );\n }\n}\n","import type { CapDebugCollector } from '../types';\n\nexport class ErrorCollector implements CapDebugCollector {\n public readonly id = 'error';\n private running = false;\n private errorHandler: ((event: ErrorEvent) => void) | null = null;\n private rejectionHandler: ((event: PromiseRejectionEvent) => void) | null = null;\n\n public start(): void {\n if (this.running || typeof window === 'undefined') return;\n\n this.errorHandler = (event: ErrorEvent) => {\n try {\n const error = event.error;\n const message = event.message || (error && error.message) || 'Uncaught Error';\n const stack = error && error.stack ? error.stack : undefined;\n\n window.dispatchEvent(\n new CustomEvent('capdebug', {\n detail: {\n source: 'web',\n type: 'window.error',\n level: 'error',\n message,\n data: {\n filename: event.filename,\n lineno: event.lineno,\n colno: event.colno,\n stack,\n errorName: error?.name,\n },\n timestamp: Date.now(),\n },\n })\n );\n } catch {\n // ignore\n }\n };\n\n this.rejectionHandler = (event: PromiseRejectionEvent) => {\n try {\n const reason = event.reason;\n let message = 'Unhandled Promise Rejection';\n let stack: string | undefined = undefined;\n let data: unknown = reason;\n\n if (reason instanceof Error) {\n message = `Unhandled Rejection: ${reason.message}`;\n stack = reason.stack;\n data = {\n name: reason.name,\n message: reason.message,\n stack,\n };\n } else if (typeof reason === 'string') {\n message = `Unhandled Rejection: ${reason}`;\n }\n\n window.dispatchEvent(\n new CustomEvent('capdebug', {\n detail: {\n source: 'web',\n type: 'unhandledrejection',\n level: 'error',\n message,\n data: {\n reason: data,\n stack,\n },\n timestamp: Date.now(),\n },\n })\n );\n } catch {\n // ignore\n }\n };\n\n window.addEventListener('error', this.errorHandler);\n window.addEventListener('unhandledrejection', this.rejectionHandler);\n this.running = true;\n }\n\n public stop(): void {\n if (!this.running || typeof window === 'undefined') return;\n\n if (this.errorHandler) {\n window.removeEventListener('error', this.errorHandler);\n this.errorHandler = null;\n }\n\n if (this.rejectionHandler) {\n window.removeEventListener('unhandledrejection', this.rejectionHandler);\n this.rejectionHandler = null;\n }\n\n this.running = false;\n }\n}\n","import type { CapDebugCollector, CapDebugLevel, NetworkCaptureOptions } from '../types';\n\nexport class NetworkCollector implements CapDebugCollector {\n public readonly id = 'network';\n private running = false;\n private originalFetch: typeof window.fetch | null = null;\n private options: NetworkCaptureOptions;\n\n constructor(options: NetworkCaptureOptions = {}) {\n this.options = {\n body: false,\n ...options,\n };\n }\n\n public setOptions(options: NetworkCaptureOptions): void {\n this.options = { ...this.options, ...options };\n }\n\n public start(): void {\n if (this.running || typeof window === 'undefined' || !window.fetch) return;\n\n this.originalFetch = window.fetch;\n const self = this;\n\n window.fetch = async function (\n input: RequestInfo | URL,\n init?: RequestInit\n ): Promise<Response> {\n const startTime = performance.now();\n const timestamp = Date.now();\n\n let url = '';\n let method = 'GET';\n\n if (typeof input === 'string') {\n url = input;\n } else if (input instanceof URL) {\n url = input.toString();\n } else if (typeof Request !== 'undefined' && input instanceof Request) {\n url = input.url;\n method = input.method;\n }\n\n if (init && init.method) {\n method = init.method.toUpperCase();\n }\n\n let requestHeaders: Record<string, string> = {};\n if (init && init.headers) {\n if (typeof Headers !== 'undefined' && init.headers instanceof Headers) {\n init.headers.forEach((value, key) => {\n requestHeaders[key] = value;\n });\n } else if (Array.isArray(init.headers)) {\n for (const [k, v] of init.headers) {\n requestHeaders[k] = v;\n }\n } else if (typeof init.headers === 'object') {\n requestHeaders = { ...(init.headers as Record<string, string>) };\n }\n }\n\n let requestBody: unknown = undefined;\n if (self.options.body && init && init.body) {\n try {\n if (typeof init.body === 'string') {\n try {\n requestBody = JSON.parse(init.body);\n } catch {\n requestBody = init.body;\n }\n } else {\n requestBody = '[Binary/Stream Body]';\n }\n } catch {\n requestBody = '[Unreadable Body]';\n }\n }\n\n try {\n const response = await self.originalFetch!.call(this, input, init);\n const duration = Math.round(performance.now() - startTime);\n\n let level: CapDebugLevel = 'info';\n if (response.status >= 500) {\n level = 'error';\n } else if (response.status >= 400) {\n level = 'warn';\n }\n\n let responseBody: unknown = undefined;\n if (self.options.body) {\n try {\n const clone = response.clone();\n const contentType = clone.headers.get('content-type') || '';\n if (contentType.includes('application/json')) {\n responseBody = await clone.json();\n } else if (contentType.includes('text/')) {\n responseBody = await clone.text();\n }\n } catch {\n responseBody = '[Could not clone response body]';\n }\n }\n\n const responseHeaders: Record<string, string> = {};\n response.headers.forEach((v, k) => {\n responseHeaders[k] = v;\n });\n\n self.emitNetworkEvent({\n type: `fetch ${method}`,\n level,\n message: `${method} ${url} → ${response.status} ${response.statusText} (${duration}ms)`,\n duration,\n timestamp,\n data: {\n method,\n url,\n status: response.status,\n statusText: response.statusText,\n ok: response.ok,\n duration,\n requestHeaders,\n responseHeaders,\n requestBody,\n responseBody,\n },\n });\n\n return response;\n } catch (err: any) {\n const duration = Math.round(performance.now() - startTime);\n\n self.emitNetworkEvent({\n type: `fetch ${method}`,\n level: 'error',\n message: `${method} ${url} → Failed: ${err?.message || 'Network Error'} (${duration}ms)`,\n duration,\n timestamp,\n data: {\n method,\n url,\n error: err?.message || String(err),\n duration,\n requestHeaders,\n requestBody,\n },\n });\n\n throw err;\n }\n };\n\n this.running = true;\n }\n\n public stop(): void {\n if (!this.running || typeof window === 'undefined') return;\n\n if (this.originalFetch) {\n window.fetch = this.originalFetch;\n this.originalFetch = null;\n }\n\n this.running = false;\n }\n\n private emitNetworkEvent(detail: {\n type: string;\n level: CapDebugLevel;\n message: string;\n duration: number;\n timestamp: number;\n data: unknown;\n }): void {\n if (typeof window === 'undefined') return;\n\n try {\n window.dispatchEvent(\n new CustomEvent('capdebug', {\n detail: {\n source: 'network',\n ...detail,\n },\n })\n );\n } catch {\n // ignore\n }\n }\n}\n","import type { CapDebugCollector, CapDebugEventInput } from '../types';\nimport type { CapDebugStore } from '../store';\n\nexport class CustomEventCollector implements CapDebugCollector {\n public readonly id = 'custom-event';\n private store: CapDebugStore;\n private running = false;\n private handler: ((event: Event) => void) | null = null;\n\n constructor(store: CapDebugStore) {\n this.store = store;\n }\n\n public start(): void {\n if (this.running || typeof window === 'undefined') return;\n\n this.handler = (event: Event) => {\n const customEvent = event as CustomEvent<CapDebugEventInput>;\n if (customEvent && customEvent.detail) {\n const detail = customEvent.detail;\n this.store.add({\n id: detail.id,\n timestamp: detail.timestamp || Date.now(),\n source: detail.source || 'web',\n type: detail.type || 'custom-event',\n level: detail.level || 'info',\n message: detail.message,\n data: detail.data,\n duration: detail.duration,\n platform: detail.platform,\n });\n }\n };\n\n window.addEventListener('capdebug', this.handler as EventListener);\n this.running = true;\n }\n\n public stop(): void {\n if (!this.running || typeof window === 'undefined') return;\n if (this.handler) {\n window.removeEventListener('capdebug', this.handler as EventListener);\n this.handler = null;\n }\n this.running = false;\n }\n}\n","import type { CapDebugCollector } from '../types';\n\nexport class BrowserEventCollector implements CapDebugCollector {\n public readonly id = 'browser-event';\n private running = false;\n private observedEvents = new Map<string, EventListener>();\n\n public start(): void {\n this.running = true;\n }\n\n public observe(eventName: string): void {\n if (!this.running || typeof window === 'undefined' || this.observedEvents.has(eventName)) return;\n\n const listener = (event: Event) => {\n let data: Record<string, unknown> = {\n type: event.type,\n timeStamp: event.timeStamp,\n };\n\n if (event.type === 'visibilitychange' && typeof document !== 'undefined') {\n data.visibilityState = document.visibilityState;\n data.hidden = document.hidden;\n } else if (event.type === 'online' || event.type === 'offline') {\n data.onLine = typeof navigator !== 'undefined' ? navigator.onLine : undefined;\n }\n\n window.dispatchEvent(\n new CustomEvent('capdebug', {\n detail: {\n source: 'system',\n type: `event.${eventName}`,\n level: 'info',\n message: `Browser event fired: ${eventName}`,\n data,\n timestamp: Date.now(),\n },\n })\n );\n };\n\n const target: EventTarget =\n eventName === 'visibilitychange' && typeof document !== 'undefined'\n ? document\n : window;\n\n target.addEventListener(eventName, listener);\n this.observedEvents.set(eventName, listener);\n }\n\n public unobserve(eventName: string): void {\n const listener = this.observedEvents.get(eventName);\n if (!listener) return;\n\n const target: EventTarget =\n eventName === 'visibilitychange' && typeof document !== 'undefined'\n ? document\n : window;\n\n target.removeEventListener(eventName, listener);\n this.observedEvents.delete(eventName);\n }\n\n public stop(): void {\n for (const [eventName, listener] of this.observedEvents.entries()) {\n const target: EventTarget =\n eventName === 'visibilitychange' && typeof document !== 'undefined'\n ? document\n : window;\n\n target.removeEventListener(eventName, listener);\n }\n this.observedEvents.clear();\n this.running = false;\n }\n}\n","import type { CapDebugCollector } from '../types';\n\nexport class BridgeCollector implements CapDebugCollector {\n public readonly id = 'bridge';\n private running = false;\n\n public start(): void {\n if (this.running) return;\n // Reserved for non-intrusive Capacitor bridge telemetry\n this.running = true;\n }\n\n public stop(): void {\n this.running = false;\n }\n\n public emitBridgeCall(pluginName: string, methodName: string, options?: unknown, duration?: number): void {\n if (!this.running || typeof window === 'undefined') return;\n\n window.dispatchEvent(\n new CustomEvent('capdebug', {\n detail: {\n source: 'bridge',\n type: `${pluginName}.${methodName}`,\n level: 'debug',\n message: `Bridge call: ${pluginName}.${methodName}`,\n data: options,\n duration,\n timestamp: Date.now(),\n },\n })\n );\n }\n}\n","export const VIEWER_STYLES = `\n:host {\n --cd-bg-base: #0d1117;\n --cd-bg-surface: #161b22;\n --cd-bg-surface-elevated: #21262d;\n --cd-bg-hover: #30363d;\n --cd-border: #30363d;\n --cd-border-subtle: #21262d;\n \n --cd-text-primary: #f0f6fc;\n --cd-text-secondary: #8b949e;\n --cd-text-muted: #6e7681;\n \n --cd-color-brand: #58a6ff;\n --cd-color-brand-rgb: 88, 166, 255;\n --cd-color-info: #38bdf8;\n --cd-color-warn: #fbbf24;\n --cd-color-error: #f87171;\n --cd-color-debug: #c084fc;\n --cd-color-success: #34d399;\n\n --cd-font-sans: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n --cd-font-mono: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Monaco, Consolas, monospace;\n \n --cd-z-index: 2147483647;\n \n all: initial;\n font-family: var(--cd-font-sans);\n font-size: 13px;\n line-height: 1.4;\n color: var(--cd-text-primary);\n box-sizing: border-box;\n}\n\n*, *::before, *::after {\n box-sizing: border-box;\n}\n\n/* Floating Trigger Button */\n.cd-floating-btn {\n position: fixed;\n z-index: var(--cd-z-index);\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 6px;\n height: 38px;\n padding: 0 12px;\n background: rgba(22, 27, 34, 0.88);\n backdrop-filter: blur(12px);\n -webkit-backdrop-filter: blur(12px);\n border: 1px solid rgba(240, 246, 252, 0.15);\n border-radius: 9999px;\n color: var(--cd-text-primary);\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n touch-action: none;\n box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4), 0 2px 6px rgba(0, 0, 0, 0.3);\n transition: transform 0.15s ease, background-color 0.2s ease, border-color 0.2s ease;\n}\n\n.cd-floating-btn:active {\n transform: scale(0.94);\n}\n\n.cd-floating-btn.dragging {\n opacity: 0.85;\n transform: scale(1.05);\n box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6);\n}\n\n.cd-btn-logo {\n display: flex;\n align-items: center;\n justify-content: center;\n font-weight: 700;\n font-size: 11px;\n letter-spacing: 0.5px;\n color: #38bdf8;\n font-family: var(--cd-font-mono);\n}\n\n.cd-btn-badge {\n display: none;\n align-items: center;\n justify-content: center;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n font-size: 10px;\n font-weight: 700;\n font-family: var(--cd-font-mono);\n background: var(--cd-color-error);\n color: #ffffff;\n border-radius: 9999px;\n}\n\n.cd-btn-badge.visible {\n display: flex;\n}\n\n/* Backdrop */\n.cd-backdrop {\n position: fixed;\n inset: 0;\n z-index: calc(var(--cd-z-index) - 1);\n background: rgba(0, 0, 0, 0.45);\n backdrop-filter: blur(2px);\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.cd-backdrop.open {\n opacity: 1;\n pointer-events: auto;\n}\n\n/* Main Drawer Panel */\n.cd-panel {\n position: fixed;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: var(--cd-z-index);\n height: 80vh;\n max-height: 85vh;\n background: var(--cd-bg-base);\n border-top: 1px solid var(--cd-border);\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.6);\n display: flex;\n flex-direction: column;\n transform: translateY(100%);\n transition: transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);\n padding-bottom: env(safe-area-inset-bottom, 12px);\n}\n\n@media (min-width: 768px) {\n .cd-panel {\n bottom: 12px;\n right: 12px;\n left: auto;\n width: 480px;\n height: calc(100vh - 24px);\n max-height: 880px;\n border-radius: 16px;\n border: 1px solid var(--cd-border);\n transform: translateX(calc(100% + 24px));\n padding-bottom: 0;\n }\n}\n\n.cd-panel.open {\n transform: translateY(0);\n}\n\n@media (min-width: 768px) {\n .cd-panel.open {\n transform: translateX(0);\n }\n}\n\n/* Panel Header */\n.cd-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--cd-border);\n background: var(--cd-bg-surface);\n border-top-left-radius: 16px;\n border-top-right-radius: 16px;\n user-select: none;\n}\n\n.cd-header-left {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.cd-header-title {\n font-weight: 700;\n font-size: 13px;\n font-family: var(--cd-font-mono);\n color: var(--cd-text-primary);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.cd-status-indicator {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n background: var(--cd-color-success);\n}\n\n.cd-status-indicator.paused {\n background: var(--cd-color-warn);\n}\n\n.cd-header-actions {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.cd-btn-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 6px;\n color: var(--cd-text-secondary);\n cursor: pointer;\n transition: all 0.15s ease;\n padding: 0;\n}\n\n.cd-btn-icon:hover {\n background: var(--cd-bg-hover);\n color: var(--cd-text-primary);\n border-color: var(--cd-border);\n}\n\n.cd-btn-icon.active {\n background: rgba(251, 191, 36, 0.15);\n color: var(--cd-color-warn);\n border-color: rgba(251, 191, 36, 0.3);\n}\n\n/* Tabs Bar */\n.cd-tabs-bar {\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 6px 10px;\n background: var(--cd-bg-surface);\n border-bottom: 1px solid var(--cd-border);\n overflow-x: auto;\n scrollbar-width: none;\n -webkit-overflow-scrolling: touch;\n}\n\n.cd-tabs-bar::-webkit-scrollbar {\n display: none;\n}\n\n.cd-tab {\n display: flex;\n align-items: center;\n gap: 6px;\n padding: 5px 10px;\n background: transparent;\n border: 1px solid transparent;\n border-radius: 6px;\n color: var(--cd-text-secondary);\n font-size: 12px;\n font-weight: 500;\n cursor: pointer;\n white-space: nowrap;\n transition: all 0.15s ease;\n}\n\n.cd-tab:hover {\n background: var(--cd-bg-hover);\n color: var(--cd-text-primary);\n}\n\n.cd-tab.active {\n background: var(--cd-bg-surface-elevated);\n border-color: var(--cd-border);\n color: var(--cd-text-primary);\n font-weight: 600;\n}\n\n.cd-tab-badge {\n font-size: 10px;\n font-family: var(--cd-font-mono);\n padding: 1px 5px;\n background: var(--cd-bg-hover);\n border-radius: 10px;\n color: var(--cd-text-muted);\n}\n\n.cd-tab.active .cd-tab-badge {\n background: rgba(88, 166, 255, 0.2);\n color: var(--cd-color-brand);\n}\n\n/* Toolbar */\n.cd-toolbar {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--cd-bg-base);\n border-bottom: 1px solid var(--cd-border-subtle);\n}\n\n.cd-search-input {\n flex: 1;\n height: 28px;\n padding: 0 8px;\n background: var(--cd-bg-surface);\n border: 1px solid var(--cd-border);\n border-radius: 6px;\n color: var(--cd-text-primary);\n font-size: 12px;\n outline: none;\n transition: border-color 0.15s ease;\n}\n\n.cd-search-input:focus {\n border-color: var(--cd-color-brand);\n}\n\n.cd-search-input::placeholder {\n color: var(--cd-text-muted);\n}\n\n.cd-level-filters {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n\n.cd-level-pill {\n padding: 3px 7px;\n border-radius: 4px;\n font-size: 11px;\n font-weight: 600;\n background: transparent;\n border: 1px solid var(--cd-border-subtle);\n color: var(--cd-text-muted);\n cursor: pointer;\n transition: all 0.12s ease;\n}\n\n.cd-level-pill:hover {\n border-color: var(--cd-border);\n color: var(--cd-text-secondary);\n}\n\n.cd-level-pill.active {\n background: var(--cd-bg-surface-elevated);\n border-color: var(--cd-border);\n color: var(--cd-text-primary);\n}\n\n.cd-level-pill[data-level=\"error\"].active {\n background: rgba(248, 113, 113, 0.15);\n border-color: rgba(248, 113, 113, 0.3);\n color: var(--cd-color-error);\n}\n\n.cd-level-pill[data-level=\"warn\"].active {\n background: rgba(251, 191, 36, 0.15);\n border-color: rgba(251, 191, 36, 0.3);\n color: var(--cd-color-warn);\n}\n\n/* Event List */\n.cd-content {\n flex: 1;\n overflow-y: auto;\n position: relative;\n -webkit-overflow-scrolling: touch;\n}\n\n.cd-event-list {\n display: flex;\n flex-direction: column;\n}\n\n.cd-event-row {\n display: flex;\n align-items: flex-start;\n gap: 8px;\n padding: 8px 12px;\n border-bottom: 1px solid var(--cd-border-subtle);\n cursor: pointer;\n transition: background-color 0.12s ease;\n font-family: var(--cd-font-mono);\n font-size: 11.5px;\n}\n\n.cd-event-row:hover {\n background: var(--cd-bg-surface);\n}\n\n.cd-event-level-dot {\n width: 6px;\n height: 6px;\n border-radius: 50%;\n margin-top: 5px;\n flex-shrink: 0;\n background: var(--cd-text-muted);\n}\n\n.cd-event-row[data-level=\"info\"] .cd-event-level-dot { background: var(--cd-color-info); }\n.cd-event-row[data-level=\"warn\"] .cd-event-level-dot { background: var(--cd-color-warn); }\n.cd-event-row[data-level=\"error\"] .cd-event-level-dot { background: var(--cd-color-error); }\n.cd-event-row[data-level=\"debug\"] .cd-event-level-dot { background: var(--cd-color-debug); }\n\n.cd-event-time {\n color: var(--cd-text-muted);\n font-size: 10.5px;\n flex-shrink: 0;\n margin-top: 1px;\n}\n\n.cd-event-source {\n padding: 1px 5px;\n border-radius: 3px;\n background: var(--cd-bg-surface-elevated);\n color: var(--cd-text-secondary);\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n flex-shrink: 0;\n}\n\n.cd-event-main {\n flex: 1;\n min-width: 0;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.cd-event-type {\n font-weight: 600;\n color: var(--cd-text-primary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.cd-event-msg {\n color: var(--cd-text-secondary);\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-size: 11px;\n}\n\n.cd-event-duration {\n font-size: 10px;\n padding: 1px 4px;\n border-radius: 3px;\n background: rgba(88, 166, 255, 0.1);\n color: var(--cd-color-brand);\n flex-shrink: 0;\n}\n\n.cd-empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 200px;\n color: var(--cd-text-muted);\n gap: 8px;\n font-size: 12px;\n}\n\n/* Detail Modal Overlay */\n.cd-detail-overlay {\n position: absolute;\n inset: 0;\n background: var(--cd-bg-base);\n z-index: 10;\n display: flex;\n flex-direction: column;\n transform: translateX(100%);\n transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);\n}\n\n.cd-detail-overlay.open {\n transform: translateX(0);\n}\n\n.cd-detail-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 14px;\n border-bottom: 1px solid var(--cd-border);\n background: var(--cd-bg-surface);\n}\n\n.cd-detail-back {\n display: flex;\n align-items: center;\n gap: 6px;\n background: transparent;\n border: none;\n color: var(--cd-color-brand);\n font-size: 12px;\n font-weight: 600;\n cursor: pointer;\n padding: 4px 6px;\n border-radius: 4px;\n}\n\n.cd-detail-back:hover {\n background: var(--cd-bg-hover);\n}\n\n.cd-detail-body {\n flex: 1;\n overflow-y: auto;\n padding: 14px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n font-family: var(--cd-font-mono);\n font-size: 12px;\n}\n\n.cd-meta-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n gap: 8px;\n padding: 10px;\n background: var(--cd-bg-surface);\n border: 1px solid var(--cd-border-subtle);\n border-radius: 8px;\n}\n\n.cd-meta-item {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.cd-meta-label {\n font-size: 10px;\n text-transform: uppercase;\n color: var(--cd-text-muted);\n font-weight: 600;\n}\n\n.cd-meta-val {\n font-size: 11.5px;\n color: var(--cd-text-primary);\n word-break: break-all;\n}\n\n.cd-section-title {\n font-size: 11px;\n text-transform: uppercase;\n color: var(--cd-text-muted);\n font-weight: 700;\n margin-top: 6px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.cd-msg-block {\n padding: 10px;\n background: var(--cd-bg-surface);\n border: 1px solid var(--cd-border-subtle);\n border-radius: 8px;\n color: var(--cd-text-primary);\n white-space: pre-wrap;\n word-break: break-word;\n line-height: 1.5;\n}\n\n/* Device Tab View */\n.cd-device-view {\n padding: 14px;\n display: flex;\n flex-direction: column;\n gap: 14px;\n}\n\n.cd-device-card {\n background: var(--cd-bg-surface);\n border: 1px solid var(--cd-border);\n border-radius: 8px;\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.cd-device-card-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-weight: 700;\n font-size: 12px;\n color: var(--cd-color-brand);\n border-bottom: 1px solid var(--cd-border-subtle);\n padding-bottom: 6px;\n}\n\n.cd-device-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));\n gap: 8px;\n}\n\n/* Collapsible JSON Viewer */\n.cd-json-tree {\n background: var(--cd-bg-surface);\n border: 1px solid var(--cd-border-subtle);\n border-radius: 8px;\n padding: 10px;\n font-family: var(--cd-font-mono);\n font-size: 11.5px;\n line-height: 1.5;\n overflow-x: auto;\n}\n\n.cd-json-node {\n display: block;\n}\n\n.cd-json-row {\n display: flex;\n align-items: flex-start;\n gap: 4px;\n padding: 1px 0;\n}\n\n.cd-json-toggle {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n cursor: pointer;\n user-select: none;\n color: var(--cd-text-muted);\n font-size: 9px;\n transition: transform 0.1s ease;\n}\n\n.cd-json-toggle.collapsed {\n transform: rotate(-90deg);\n}\n\n.cd-json-key {\n color: #7ee787;\n}\n\n.cd-json-colon {\n color: var(--cd-text-muted);\n}\n\n.cd-json-string {\n color: #a5d6ff;\n word-break: break-all;\n}\n\n.cd-json-number {\n color: #79c0ff;\n}\n\n.cd-json-boolean {\n color: #ff7b72;\n}\n\n.cd-json-null {\n color: var(--cd-text-muted);\n font-style: italic;\n}\n\n.cd-json-copy-btn {\n opacity: 0;\n padding: 1px 4px;\n font-size: 9px;\n background: var(--cd-bg-hover);\n border: 1px solid var(--cd-border);\n border-radius: 3px;\n color: var(--cd-text-secondary);\n cursor: pointer;\n margin-left: 6px;\n}\n\n.cd-json-row:hover .cd-json-copy-btn {\n opacity: 1;\n}\n\n.cd-json-children {\n padding-left: 14px;\n border-left: 1px solid var(--cd-border-subtle);\n margin-left: 6px;\n}\n\n.cd-json-children.hidden {\n display: none;\n}\n\n/* Small UI helpers */\n.cd-copy-btn-sm {\n background: var(--cd-bg-surface-elevated);\n border: 1px solid var(--cd-border);\n border-radius: 4px;\n color: var(--cd-text-secondary);\n font-size: 10px;\n padding: 3px 8px;\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.cd-copy-btn-sm:hover {\n background: var(--cd-bg-hover);\n color: var(--cd-text-primary);\n}\n`;\n","export interface FloatingButtonOptions {\n position?: 'right' | 'left' | { x: number; y: number };\n persistPosition?: boolean;\n onClick?: () => void;\n}\n\nconst STORAGE_KEY = 'capdebug_btn_pos';\n\nexport class FloatingButton {\n private element: HTMLElement;\n private badgeElement: HTMLElement;\n private options: FloatingButtonOptions;\n private isDragging = false;\n private hasMoved = false;\n private startX = 0;\n private startY = 0;\n private initialLeft = 0;\n private initialTop = 0;\n\n constructor(options: FloatingButtonOptions = {}) {\n this.options = {\n position: 'right',\n persistPosition: true,\n ...options,\n };\n\n this.element = document.createElement('div');\n this.element.className = 'cd-floating-btn';\n this.element.setAttribute('role', 'button');\n this.element.setAttribute('aria-label', 'Open CapDebug');\n\n const logo = document.createElement('span');\n logo.className = 'cd-btn-logo';\n logo.innerHTML = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 4px\"><path d=\"m8 2 1.88 1.88\"/><path d=\"M14.12 3.88 16 2\"/><path d=\"M9 7.13v-1a3.003 3.003 0 1 1 6 0v1\"/><path d=\"M12 20c-3.3 0-6-2.7-6-6v-3a4 4 0 0 1 4-4h4a4 4 0 0 1 4 4v3c0 3.3-2.7 6-6 6\"/><path d=\"M12 20v-9\"/><path d=\"M6.53 9C4.6 8.8 3 7.1 3 5\"/><path d=\"M6 13H2\"/><path d=\"M3 21c0-2.1 1.7-3.9 3.8-4\"/><path d=\"M20.97 5c0 2.1-1.6 3.8-3.5 4\"/><path d=\"M22 13h-4\"/><path d=\"M17.2 17c2.1.1 3.8 1.9 3.8 4\"/></svg>CAP`;\n\n this.badgeElement = document.createElement('span');\n this.badgeElement.className = 'cd-btn-badge';\n this.badgeElement.textContent = '0';\n\n this.element.appendChild(logo);\n this.element.appendChild(this.badgeElement);\n\n this.initPosition();\n this.bindEvents();\n }\n\n public getElement(): HTMLElement {\n return this.element;\n }\n\n public setErrorCount(count: number): void {\n if (count > 0) {\n this.badgeElement.textContent = count > 99 ? '99+' : String(count);\n this.badgeElement.classList.add('visible');\n } else {\n this.badgeElement.classList.remove('visible');\n }\n }\n\n public show(): void {\n this.element.style.display = 'flex';\n }\n\n public hide(): void {\n this.element.style.display = 'none';\n }\n\n private initPosition(): void {\n let savedPos: { x: number; y: number } | null = null;\n if (this.options.persistPosition && typeof localStorage !== 'undefined') {\n try {\n const stored = localStorage.getItem(STORAGE_KEY);\n if (stored) {\n savedPos = JSON.parse(stored);\n }\n } catch {\n // ignore\n }\n }\n\n const windowWidth = typeof window !== 'undefined' ? window.innerWidth : 400;\n const windowHeight = typeof window !== 'undefined' ? window.innerHeight : 800;\n\n let x = windowWidth - 76;\n let y = Math.max(80, windowHeight * 0.4);\n\n if (savedPos && typeof savedPos.x === 'number' && typeof savedPos.y === 'number') {\n x = Math.min(Math.max(10, savedPos.x), windowWidth - 76);\n y = Math.min(Math.max(60, savedPos.y), windowHeight - 60);\n } else if (typeof this.options.position === 'object') {\n x = this.options.position.x;\n y = this.options.position.y;\n } else if (this.options.position === 'left') {\n x = 12;\n }\n\n this.setPosition(x, y);\n }\n\n private setPosition(x: number, y: number): void {\n this.element.style.left = `${x}px`;\n this.element.style.top = `${y}px`;\n this.element.style.right = 'auto';\n this.element.style.bottom = 'auto';\n }\n\n private bindEvents(): void {\n const onPointerDown = (e: PointerEvent) => {\n this.isDragging = true;\n this.hasMoved = false;\n this.startX = e.clientX;\n this.startY = e.clientY;\n\n const rect = this.element.getBoundingClientRect();\n this.initialLeft = rect.left;\n this.initialTop = rect.top;\n\n this.element.classList.add('dragging');\n this.element.setPointerCapture(e.pointerId);\n };\n\n const onPointerMove = (e: PointerEvent) => {\n if (!this.isDragging) return;\n\n const deltaX = e.clientX - this.startX;\n const deltaY = e.clientY - this.startY;\n\n if (Math.abs(deltaX) > 4 || Math.abs(deltaY) > 4) {\n this.hasMoved = true;\n }\n\n let newX = this.initialLeft + deltaX;\n let newY = this.initialTop + deltaY;\n\n const maxX = window.innerWidth - this.element.offsetWidth - 8;\n const maxY = window.innerHeight - this.element.offsetHeight - 8;\n\n newX = Math.max(8, Math.min(newX, maxX));\n newY = Math.max(40, Math.min(newY, maxY));\n\n this.setPosition(newX, newY);\n };\n\n const onPointerUp = (e: PointerEvent) => {\n if (!this.isDragging) return;\n this.isDragging = false;\n this.element.classList.remove('dragging');\n\n try {\n this.element.releasePointerCapture(e.pointerId);\n } catch {\n // ignore\n }\n\n if (!this.hasMoved) {\n // Tap / Click action\n if (this.options.onClick) {\n this.options.onClick();\n }\n } else {\n // Snap to nearest edge (left or right)\n this.snapToEdge();\n }\n };\n\n this.element.addEventListener('pointerdown', onPointerDown);\n this.element.addEventListener('pointermove', onPointerMove);\n this.element.addEventListener('pointerup', onPointerUp);\n this.element.addEventListener('pointercancel', onPointerUp);\n }\n\n private snapToEdge(): void {\n const rect = this.element.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n const snapLeft = 12;\n const snapRight = windowWidth - rect.width - 12;\n\n const targetX = rect.left + rect.width / 2 < windowWidth / 2 ? snapLeft : snapRight;\n const targetY = Math.max(50, Math.min(rect.top, windowHeight - rect.height - 50));\n\n this.element.style.transition = 'left 0.2s cubic-bezier(0.16, 1, 0.3, 1), top 0.2s cubic-bezier(0.16, 1, 0.3, 1)';\n this.setPosition(targetX, targetY);\n\n setTimeout(() => {\n this.element.style.transition = '';\n }, 200);\n\n if (this.options.persistPosition && typeof localStorage !== 'undefined') {\n try {\n localStorage.setItem(STORAGE_KEY, JSON.stringify({ x: targetX, y: targetY }));\n } catch {\n // ignore\n }\n }\n }\n}\n","export class JsonViewer {\n public static render(data: unknown, initialExpandedDepth = 2): HTMLElement {\n const container = document.createElement('div');\n container.className = 'cd-json-tree';\n\n if (data === undefined) {\n const undefinedSpan = document.createElement('span');\n undefinedSpan.className = 'cd-json-null';\n undefinedSpan.textContent = 'undefined';\n container.appendChild(undefinedSpan);\n return container;\n }\n\n const rootNode = JsonViewer.renderNode('', data, 0, initialExpandedDepth);\n container.appendChild(rootNode);\n\n return container;\n }\n\n private static renderNode(\n key: string | number,\n value: unknown,\n depth: number,\n maxExpandedDepth: number\n ): HTMLElement {\n const node = document.createElement('div');\n node.className = 'cd-json-node';\n\n const row = document.createElement('div');\n row.className = 'cd-json-row';\n\n const isObject = typeof value === 'object' && value !== null;\n const isArray = Array.isArray(value);\n\n // Toggle button for objects/arrays\n if (isObject) {\n const toggle = document.createElement('span');\n toggle.className = 'cd-json-toggle';\n toggle.innerHTML = '▼';\n row.appendChild(toggle);\n } else {\n const spacer = document.createElement('span');\n spacer.style.width = '14px';\n spacer.style.display = 'inline-block';\n row.appendChild(spacer);\n }\n\n // Key (if present)\n if (key !== '') {\n const keySpan = document.createElement('span');\n keySpan.className = 'cd-json-key';\n keySpan.textContent = typeof key === 'number' ? `[${key}]` : `\"${key}\"`;\n row.appendChild(keySpan);\n\n const colonSpan = document.createElement('span');\n colonSpan.className = 'cd-json-colon';\n colonSpan.textContent = ': ';\n row.appendChild(colonSpan);\n }\n\n // Value preview or primitive\n if (isObject) {\n const entries = isArray\n ? (value as unknown[]).map((v, i) => [i, v] as [number, unknown])\n : Object.entries(value as Record<string, unknown>);\n\n const bracketOpen = isArray ? '[' : '{';\n const bracketClose = isArray ? ']' : '}';\n\n const previewSpan = document.createElement('span');\n previewSpan.className = 'cd-json-colon';\n previewSpan.textContent = `${bracketOpen} ${entries.length} ${isArray ? 'items' : 'keys'} ${bracketClose}`;\n row.appendChild(previewSpan);\n\n // Copy object JSON button\n const copyBtn = document.createElement('button');\n copyBtn.className = 'cd-json-copy-btn';\n copyBtn.textContent = 'copy';\n copyBtn.title = 'Copy branch JSON';\n copyBtn.addEventListener('click', e => {\n e.stopPropagation();\n JsonViewer.copyToClipboard(JSON.stringify(value, null, 2), copyBtn);\n });\n row.appendChild(copyBtn);\n\n node.appendChild(row);\n\n // Children container\n const childrenContainer = document.createElement('div');\n childrenContainer.className = 'cd-json-children';\n\n const isInitiallyExpanded = depth < maxExpandedDepth;\n if (!isInitiallyExpanded) {\n childrenContainer.classList.add('hidden');\n const toggle = row.querySelector('.cd-json-toggle');\n if (toggle) toggle.classList.add('collapsed');\n }\n\n for (const [childKey, childVal] of entries) {\n childrenContainer.appendChild(\n JsonViewer.renderNode(childKey, childVal, depth + 1, maxExpandedDepth)\n );\n }\n\n node.appendChild(childrenContainer);\n\n // Toggle collapse on row or toggle click\n row.addEventListener('click', e => {\n if ((e.target as HTMLElement).tagName.toLowerCase() === 'button') return;\n const toggle = row.querySelector('.cd-json-toggle');\n const isHidden = childrenContainer.classList.toggle('hidden');\n if (toggle) {\n toggle.classList.toggle('collapsed', isHidden);\n }\n });\n } else {\n // Primitive value\n const valSpan = document.createElement('span');\n const valType = typeof value;\n\n if (value === null) {\n valSpan.className = 'cd-json-null';\n valSpan.textContent = 'null';\n } else if (valType === 'string') {\n valSpan.className = 'cd-json-string';\n valSpan.textContent = `\"${value}\"`;\n } else if (valType === 'number') {\n valSpan.className = 'cd-json-number';\n valSpan.textContent = String(value);\n } else if (valType === 'boolean') {\n valSpan.className = 'cd-json-boolean';\n valSpan.textContent = String(value);\n } else {\n valSpan.className = 'cd-json-null';\n valSpan.textContent = String(value);\n }\n\n row.appendChild(valSpan);\n\n // Copy primitive value button\n const copyBtn = document.createElement('button');\n copyBtn.className = 'cd-json-copy-btn';\n copyBtn.textContent = 'copy';\n copyBtn.title = 'Copy value';\n copyBtn.addEventListener('click', e => {\n e.stopPropagation();\n JsonViewer.copyToClipboard(String(value), copyBtn);\n });\n row.appendChild(copyBtn);\n\n node.appendChild(row);\n }\n\n return node;\n }\n\n public static async copyToClipboard(text: string, triggerBtn?: HTMLElement): Promise<boolean> {\n try {\n if (navigator.clipboard && window.isSecureContext) {\n await navigator.clipboard.writeText(text);\n } else {\n const textarea = document.createElement('textarea');\n textarea.value = text;\n textarea.style.position = 'fixed';\n textarea.style.left = '-9999px';\n textarea.style.top = '-9999px';\n document.body.appendChild(textarea);\n textarea.focus();\n textarea.select();\n document.execCommand('copy');\n document.body.removeChild(textarea);\n }\n\n if (triggerBtn) {\n const originalText = triggerBtn.textContent;\n triggerBtn.textContent = 'copied!';\n triggerBtn.style.color = '#34d399';\n setTimeout(() => {\n triggerBtn.textContent = originalText;\n triggerBtn.style.color = '';\n }, 1500);\n }\n return true;\n } catch {\n return false;\n }\n }\n}\n","import { registerPlugin } from '@capacitor/core';\nimport type { DeviceInfo, MemoryInfo, WebViewInfo, AppInfo, NetworkInfo } from './types';\n\nexport interface CapDebugNativePlugin {\n getDeviceInfo(): Promise<DeviceInfo>;\n getMemoryInfo(): Promise<MemoryInfo>;\n getWebViewInfo(): Promise<WebViewInfo>;\n getAppInfo(): Promise<AppInfo>;\n getNetworkInfo(): Promise<NetworkInfo>;\n}\n\nexport const CapDebugNative = registerPlugin<CapDebugNativePlugin>('CapDebug', {\n web: () => import('./web').then(m => new m.CapDebugWeb()),\n});\n","import type { CapDebugEvent, CapDebugLevel, CapDebugTab } from '../types';\nimport type { CapDebugStore } from '../store';\nimport { JsonViewer } from './json-viewer';\nimport { CapDebugNative } from '../definitions';\n\nexport interface PanelOptions {\n defaultTab?: CapDebugTab;\n onClose?: () => void;\n}\n\nexport class DebugPanel {\n private element: HTMLElement;\n private backdrop: HTMLElement;\n private store: CapDebugStore;\n private options: PanelOptions;\n private isOpen = false;\n\n // Header UI\n private statusIndicator!: HTMLElement;\n private titleCountSpan!: HTMLElement;\n private pauseBtn!: HTMLButtonElement;\n\n // Tab elements\n private tabElements: Map<CapDebugTab, HTMLElement> = new Map();\n private tabBadgeElements: Map<CapDebugTab, HTMLElement> = new Map();\n\n // Search & Filter UI\n private searchInput!: HTMLInputElement;\n private levelPills: Map<string, HTMLElement> = new Map();\n\n // Content\n private contentContainer!: HTMLElement;\n private eventListContainer!: HTMLElement;\n private deviceViewContainer!: HTMLElement;\n\n // Detail Overlay\n private detailOverlay!: HTMLElement;\n private selectedEvent: CapDebugEvent | null = null;\n\n // Device tab state\n private isDeviceLoading = false;\n private deviceData: Record<string, unknown> | null = null;\n\n constructor(store: CapDebugStore, options: PanelOptions = {}) {\n this.store = store;\n this.options = {\n defaultTab: 'all',\n ...options,\n };\n\n this.backdrop = document.createElement('div');\n this.backdrop.className = 'cd-backdrop';\n\n this.element = document.createElement('div');\n this.element.className = 'cd-panel';\n\n this.buildUI();\n this.bindStore();\n\n if (this.options.defaultTab) {\n this.store.setFilter({ tab: this.options.defaultTab });\n }\n }\n\n public getElement(): HTMLElement {\n return this.element;\n }\n\n public getBackdrop(): HTMLElement {\n return this.backdrop;\n }\n\n public open(): void {\n this.isOpen = true;\n this.element.classList.add('open');\n this.backdrop.classList.add('open');\n\n // If device tab is active, trigger lazy load\n if (this.store.getFilter().tab === 'device') {\n this.loadDeviceDiagnostics();\n }\n }\n\n public close(): void {\n this.isOpen = false;\n this.element.classList.remove('open');\n this.backdrop.classList.remove('open');\n this.closeDetail();\n\n if (this.options.onClose) {\n this.options.onClose();\n }\n }\n\n public toggle(): boolean {\n if (this.isOpen) {\n this.close();\n return false;\n } else {\n this.open();\n return true;\n }\n }\n\n public isPanelOpen(): boolean {\n return this.isOpen;\n }\n\n private buildUI(): void {\n this.backdrop.addEventListener('click', () => this.close());\n\n // 1. Header\n const header = document.createElement('div');\n header.className = 'cd-header';\n\n const headerLeft = document.createElement('div');\n headerLeft.className = 'cd-header-left';\n\n this.statusIndicator = document.createElement('div');\n this.statusIndicator.className = 'cd-status-indicator';\n this.statusIndicator.title = 'CapDebug Active';\n\n const headerTitle = document.createElement('div');\n headerTitle.className = 'cd-header-title';\n headerTitle.innerHTML = `<span>CapDebug</span>`;\n\n this.titleCountSpan = document.createElement('span');\n this.titleCountSpan.style.color = 'var(--cd-text-muted)';\n this.titleCountSpan.style.fontSize = '11px';\n this.titleCountSpan.textContent = '(0)';\n headerTitle.appendChild(this.titleCountSpan);\n\n headerLeft.appendChild(this.statusIndicator);\n headerLeft.appendChild(headerTitle);\n\n const headerActions = document.createElement('div');\n headerActions.className = 'cd-header-actions';\n\n // Pause/Resume Button\n this.pauseBtn = document.createElement('button');\n this.pauseBtn.className = 'cd-btn-icon';\n this.pauseBtn.title = 'Pause/Resume capture';\n this.pauseBtn.innerHTML = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"6\" y=\"4\" width=\"4\" height=\"16\"/><rect x=\"14\" y=\"4\" width=\"4\" height=\"16\"/></svg>`;\n this.pauseBtn.addEventListener('click', () => {\n const isPaused = this.store.togglePause();\n this.updatePauseState(isPaused);\n });\n\n // Clear Button\n const clearBtn = document.createElement('button');\n clearBtn.className = 'cd-btn-icon';\n clearBtn.title = 'Clear events';\n clearBtn.innerHTML = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"/></svg>`;\n clearBtn.addEventListener('click', () => {\n this.store.clear();\n this.closeDetail();\n });\n\n // Export Button\n const exportBtn = document.createElement('button');\n exportBtn.className = 'cd-btn-icon';\n exportBtn.title = 'Export JSON to clipboard';\n exportBtn.innerHTML = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"/><polyline points=\"7 10 12 15 17 10\"/><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"/></svg>`;\n exportBtn.addEventListener('click', async () => {\n const json = this.store.exportJson();\n await JsonViewer.copyToClipboard(json, exportBtn);\n });\n\n // Close Button\n const closeBtn = document.createElement('button');\n closeBtn.className = 'cd-btn-icon';\n closeBtn.title = 'Close viewer';\n closeBtn.innerHTML = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"/></svg>`;\n closeBtn.addEventListener('click', () => this.close());\n\n headerActions.appendChild(this.pauseBtn);\n headerActions.appendChild(clearBtn);\n headerActions.appendChild(exportBtn);\n headerActions.appendChild(closeBtn);\n\n header.appendChild(headerLeft);\n header.appendChild(headerActions);\n this.element.appendChild(header);\n\n // 2. Tabs Bar\n const tabsBar = document.createElement('div');\n tabsBar.className = 'cd-tabs-bar';\n\n const tabs: { id: CapDebugTab; label: string }[] = [\n { id: 'all', label: 'All' },\n { id: 'console', label: 'Console' },\n { id: 'errors', label: 'Errors' },\n { id: 'events', label: 'Events' },\n { id: 'native', label: 'Native' },\n { id: 'device', label: 'Device' },\n { id: 'network', label: 'Network' },\n { id: 'bridge', label: 'Bridge' },\n ];\n\n for (const { id, label } of tabs) {\n const tabBtn = document.createElement('button');\n tabBtn.className = 'cd-tab';\n if (id === this.options.defaultTab) {\n tabBtn.classList.add('active');\n }\n\n const labelSpan = document.createElement('span');\n labelSpan.textContent = label;\n\n const badgeSpan = document.createElement('span');\n badgeSpan.className = 'cd-tab-badge';\n badgeSpan.textContent = '0';\n\n tabBtn.appendChild(labelSpan);\n tabBtn.appendChild(badgeSpan);\n\n tabBtn.addEventListener('click', () => {\n this.selectTab(id);\n });\n\n this.tabElements.set(id, tabBtn);\n this.tabBadgeElements.set(id, badgeSpan);\n tabsBar.appendChild(tabBtn);\n }\n\n this.element.appendChild(tabsBar);\n\n // 3. Toolbar (Search & Level Filters)\n const toolbar = document.createElement('div');\n toolbar.className = 'cd-toolbar';\n\n this.searchInput = document.createElement('input');\n this.searchInput.className = 'cd-search-input';\n this.searchInput.type = 'text';\n this.searchInput.placeholder = 'Filter logs, types, payloads...';\n this.searchInput.addEventListener('input', () => {\n this.store.setFilter({ search: this.searchInput.value });\n });\n\n const levelFilters = document.createElement('div');\n levelFilters.className = 'cd-level-filters';\n\n const levels: (CapDebugLevel | 'all')[] = ['all', 'error', 'warn', 'info', 'debug'];\n for (const lvl of levels) {\n const pill = document.createElement('button');\n pill.className = 'cd-level-pill';\n pill.setAttribute('data-level', lvl);\n pill.textContent = lvl === 'all' ? 'All' : lvl.toUpperCase();\n if (lvl === 'all') pill.classList.add('active');\n\n pill.addEventListener('click', () => {\n this.selectLevel(lvl);\n });\n\n this.levelPills.set(lvl, pill);\n levelFilters.appendChild(pill);\n }\n\n toolbar.appendChild(this.searchInput);\n toolbar.appendChild(levelFilters);\n this.element.appendChild(toolbar);\n\n // 4. Content Area\n this.contentContainer = document.createElement('div');\n this.contentContainer.className = 'cd-content';\n\n this.eventListContainer = document.createElement('div');\n this.eventListContainer.className = 'cd-event-list';\n\n this.deviceViewContainer = document.createElement('div');\n this.deviceViewContainer.className = 'cd-device-view';\n this.deviceViewContainer.style.display = 'none';\n\n this.contentContainer.appendChild(this.eventListContainer);\n this.contentContainer.appendChild(this.deviceViewContainer);\n this.element.appendChild(this.contentContainer);\n\n // 5. Detail Overlay\n this.buildDetailOverlay();\n }\n\n private selectTab(tab: CapDebugTab): void {\n for (const [id, el] of this.tabElements.entries()) {\n el.classList.toggle('active', id === tab);\n }\n\n this.store.setFilter({ tab });\n this.closeDetail();\n\n if (tab === 'device') {\n this.eventListContainer.style.display = 'none';\n this.deviceViewContainer.style.display = 'flex';\n this.loadDeviceDiagnostics();\n } else {\n this.eventListContainer.style.display = 'flex';\n this.deviceViewContainer.style.display = 'none';\n }\n }\n\n private selectLevel(level: CapDebugLevel | 'all'): void {\n for (const [lvl, pill] of this.levelPills.entries()) {\n pill.classList.toggle('active', lvl === level);\n }\n this.store.setFilter({ level });\n }\n\n private updatePauseState(isPaused: boolean): void {\n this.statusIndicator.classList.toggle('paused', isPaused);\n this.pauseBtn.classList.toggle('active', isPaused);\n this.pauseBtn.title = isPaused ? 'Resume capture' : 'Pause capture';\n }\n\n private bindStore(): void {\n this.store.subscribe((events, store) => {\n this.renderEventList(events);\n this.renderCounts(store.getCounts());\n this.updatePauseState(store.isPaused());\n });\n }\n\n private renderCounts(counts: Record<CapDebugTab, number>): void {\n this.titleCountSpan.textContent = `(${counts.all})`;\n\n for (const [tab, badge] of this.tabBadgeElements.entries()) {\n if (tab === 'device') {\n badge.style.display = 'none';\n } else {\n const count = counts[tab] || 0;\n badge.textContent = count > 999 ? '999+' : String(count);\n }\n }\n }\n\n private renderEventList(events: CapDebugEvent[]): void {\n if (this.store.getFilter().tab === 'device') {\n return;\n }\n\n this.eventListContainer.innerHTML = '';\n\n if (events.length === 0) {\n const empty = document.createElement('div');\n empty.className = 'cd-empty-state';\n empty.innerHTML = `\n <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\"><circle cx=\"11\" cy=\"11\" r=\"8\"/><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"/></svg>\n <span>No events match current filter</span>\n `;\n this.eventListContainer.appendChild(empty);\n return;\n }\n\n // Render newest items at the top\n for (let i = events.length - 1; i >= 0; i--) {\n const event = events[i];\n const row = this.createEventRow(event);\n this.eventListContainer.appendChild(row);\n }\n }\n\n private createEventRow(event: CapDebugEvent): HTMLElement {\n const row = document.createElement('div');\n row.className = 'cd-event-row';\n row.setAttribute('data-level', event.level || 'info');\n\n const dot = document.createElement('div');\n dot.className = 'cd-event-level-dot';\n\n const time = document.createElement('div');\n time.className = 'cd-event-time';\n time.textContent = this.formatTime(event.timestamp);\n\n const source = document.createElement('div');\n source.className = 'cd-event-source';\n source.textContent = event.source;\n\n const main = document.createElement('div');\n main.className = 'cd-event-main';\n\n const type = document.createElement('div');\n type.className = 'cd-event-type';\n type.textContent = event.type;\n\n main.appendChild(type);\n\n if (event.message) {\n const msg = document.createElement('div');\n msg.className = 'cd-event-msg';\n msg.textContent = event.message;\n main.appendChild(msg);\n }\n\n row.appendChild(dot);\n row.appendChild(time);\n row.appendChild(source);\n row.appendChild(main);\n\n if (event.duration !== undefined) {\n const duration = document.createElement('div');\n duration.className = 'cd-event-duration';\n duration.textContent = `${event.duration}ms`;\n row.appendChild(duration);\n }\n\n row.addEventListener('click', () => {\n this.showDetail(event);\n });\n\n return row;\n }\n\n private buildDetailOverlay(): void {\n this.detailOverlay = document.createElement('div');\n this.detailOverlay.className = 'cd-detail-overlay';\n\n const header = document.createElement('div');\n header.className = 'cd-detail-header';\n\n const backBtn = document.createElement('button');\n backBtn.className = 'cd-detail-back';\n backBtn.innerHTML = `<svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><line x1=\"19\" y1=\"12\" x2=\"5\" y2=\"12\"/><polyline points=\"12 19 5 12 12 5\"/></svg> Back`;\n backBtn.addEventListener('click', () => this.closeDetail());\n\n const copyAllBtn = document.createElement('button');\n copyAllBtn.className = 'cd-copy-btn-sm';\n copyAllBtn.textContent = 'Copy JSON';\n copyAllBtn.addEventListener('click', async () => {\n if (this.selectedEvent) {\n await JsonViewer.copyToClipboard(\n JSON.stringify(this.selectedEvent, null, 2),\n copyAllBtn\n );\n }\n });\n\n header.appendChild(backBtn);\n header.appendChild(copyAllBtn);\n this.detailOverlay.appendChild(header);\n\n const body = document.createElement('div');\n body.className = 'cd-detail-body';\n this.detailOverlay.appendChild(body);\n\n this.contentContainer.appendChild(this.detailOverlay);\n }\n\n private showDetail(event: CapDebugEvent): void {\n this.selectedEvent = event;\n const body = this.detailOverlay.querySelector('.cd-detail-body') as HTMLElement;\n body.innerHTML = '';\n\n // 1. Meta Grid\n const metaGrid = document.createElement('div');\n metaGrid.className = 'cd-meta-grid';\n\n const addMeta = (label: string, value: string | number | undefined) => {\n if (value === undefined) return;\n const item = document.createElement('div');\n item.className = 'cd-meta-item';\n item.innerHTML = `\n <span class=\"cd-meta-label\">${label}</span>\n <span class=\"cd-meta-val\">${value}</span>\n `;\n metaGrid.appendChild(item);\n };\n\n addMeta('Type', event.type);\n addMeta('Source', event.source);\n addMeta('Level', event.level);\n addMeta('Time', `${this.formatTime(event.timestamp)} (${new Date(event.timestamp).toLocaleTimeString()})`);\n addMeta('ID', event.id);\n if (event.duration !== undefined) addMeta('Duration', `${event.duration}ms`);\n if (event.platform) addMeta('Platform', event.platform);\n\n body.appendChild(metaGrid);\n\n // 2. Message\n if (event.message) {\n const msgSection = document.createElement('div');\n msgSection.innerHTML = `<div class=\"cd-section-title\">Message</div>`;\n const msgBlock = document.createElement('div');\n msgBlock.className = 'cd-msg-block';\n msgBlock.textContent = event.message;\n msgSection.appendChild(msgBlock);\n body.appendChild(msgSection);\n }\n\n // 3. Data Payload / JSON Viewer\n if (event.data !== undefined) {\n const dataSection = document.createElement('div');\n dataSection.innerHTML = `<div class=\"cd-section-title\">Data Payload</div>`;\n const jsonTree = JsonViewer.render(event.data, 3);\n dataSection.appendChild(jsonTree);\n body.appendChild(dataSection);\n }\n\n this.detailOverlay.classList.add('open');\n }\n\n private closeDetail(): void {\n this.selectedEvent = null;\n this.detailOverlay.classList.remove('open');\n }\n\n private async loadDeviceDiagnostics(): Promise<void> {\n if (this.isDeviceLoading) return;\n this.isDeviceLoading = true;\n\n this.deviceViewContainer.innerHTML = `\n <div class=\"cd-empty-state\">\n <span>Querying native device diagnostics...</span>\n </div>\n `;\n\n try {\n const [device, memory, webView, app, network] = await Promise.allSettled([\n CapDebugNative.getDeviceInfo(),\n CapDebugNative.getMemoryInfo(),\n CapDebugNative.getWebViewInfo(),\n CapDebugNative.getAppInfo(),\n CapDebugNative.getNetworkInfo(),\n ]);\n\n this.deviceData = {\n device: device.status === 'fulfilled' ? device.value : { error: String((device as any).reason) },\n memory: memory.status === 'fulfilled' ? memory.value : { error: String((memory as any).reason) },\n webView: webView.status === 'fulfilled' ? webView.value : { error: String((webView as any).reason) },\n app: app.status === 'fulfilled' ? app.value : { error: String((app as any).reason) },\n network: network.status === 'fulfilled' ? network.value : { error: String((network as any).reason) },\n };\n\n // Emit native diagnostics event into the store as well\n this.store.add({\n source: 'native',\n type: 'device.diagnostics',\n level: 'info',\n message: 'Device diagnostics loaded',\n data: this.deviceData,\n });\n\n this.renderDeviceView();\n } catch (err: any) {\n this.deviceViewContainer.innerHTML = `\n <div class=\"cd-empty-state\">\n <span style=\"color: var(--cd-color-error)\">Failed to load diagnostics: ${err?.message || String(err)}</span>\n </div>\n `;\n } finally {\n this.isDeviceLoading = false;\n }\n }\n\n private renderDeviceView(): void {\n if (!this.deviceData) return;\n this.deviceViewContainer.innerHTML = '';\n\n // Refresh action bar\n const topBar = document.createElement('div');\n topBar.style.display = 'flex';\n topBar.style.justifyContent = 'space-between';\n topBar.style.alignItems = 'center';\n\n const infoLabel = document.createElement('span');\n infoLabel.style.fontSize = '11px';\n infoLabel.style.color = 'var(--cd-text-muted)';\n infoLabel.textContent = `Diagnostic snapshot: ${new Date().toLocaleTimeString()}`;\n\n const refreshBtn = document.createElement('button');\n refreshBtn.className = 'cd-copy-btn-sm';\n refreshBtn.textContent = '↻ Refresh Live Data';\n refreshBtn.addEventListener('click', () => this.loadDeviceDiagnostics());\n\n topBar.appendChild(infoLabel);\n topBar.appendChild(refreshBtn);\n this.deviceViewContainer.appendChild(topBar);\n\n const sections = [\n { title: 'Device Information', data: this.deviceData.device },\n { title: 'Memory & Heap', data: this.deviceData.memory },\n { title: 'Application Info', data: this.deviceData.app },\n { title: 'WebView & User Agent', data: this.deviceData.webView },\n { title: 'Network State', data: this.deviceData.network },\n ];\n\n for (const { title, data } of sections) {\n const card = document.createElement('div');\n card.className = 'cd-device-card';\n\n const cardHeader = document.createElement('div');\n cardHeader.className = 'cd-device-card-header';\n cardHeader.textContent = title;\n card.appendChild(cardHeader);\n\n if (typeof data === 'object' && data !== null) {\n const grid = document.createElement('div');\n grid.className = 'cd-device-grid';\n\n for (const [k, v] of Object.entries(data as Record<string, unknown>)) {\n if (typeof v === 'object' && v !== null) continue;\n const item = document.createElement('div');\n item.className = 'cd-meta-item';\n item.innerHTML = `\n <span class=\"cd-meta-label\">${k}</span>\n <span class=\"cd-meta-val\">${v !== undefined && v !== null ? String(v) : '—'}</span>\n `;\n grid.appendChild(item);\n }\n\n card.appendChild(grid);\n\n // Render nested objects if present\n for (const [k, v] of Object.entries(data as Record<string, unknown>)) {\n if (typeof v === 'object' && v !== null) {\n const nestedSection = document.createElement('div');\n nestedSection.innerHTML = `<div style=\"font-size: 10px; color: var(--cd-text-muted); font-weight: 600; margin-top: 6px;\">${k.toUpperCase()}</div>`;\n nestedSection.appendChild(JsonViewer.render(v, 2));\n card.appendChild(nestedSection);\n }\n }\n } else {\n card.textContent = String(data);\n }\n\n this.deviceViewContainer.appendChild(card);\n }\n }\n\n private formatTime(timestamp: number): string {\n const d = new Date(timestamp);\n const h = String(d.getHours()).padStart(2, '0');\n const m = String(d.getMinutes()).padStart(2, '0');\n const s = String(d.getSeconds()).padStart(2, '0');\n const ms = String(d.getMilliseconds()).padStart(3, '0');\n return `${h}:${m}:${s}.${ms}`;\n }\n}\n","import type { CapDebugOptions } from '../types';\nimport type { CapDebugStore } from '../store';\nimport { VIEWER_STYLES } from './styles';\nimport { FloatingButton } from './floating-button';\nimport { DebugPanel } from './panel';\n\nexport class CapDebugViewerElement extends HTMLElement {\n public static readonly TAG = 'cap-debug-viewer';\n\n private shadowRootNode!: ShadowRoot;\n private floatingButton: FloatingButton | null = null;\n private debugPanel: DebugPanel | null = null;\n private store: CapDebugStore | null = null;\n private unsubscribeStore: (() => void) | null = null;\n\n constructor() {\n super();\n this.shadowRootNode = this.attachShadow({ mode: 'open' });\n }\n\n public getStore(): CapDebugStore | null {\n return this.store;\n }\n\n public init(store: CapDebugStore, options: CapDebugOptions = {}): void {\n this.store = store;\n\n // Inject isolated styles\n const styleEl = document.createElement('style');\n styleEl.textContent = VIEWER_STYLES;\n this.shadowRootNode.appendChild(styleEl);\n\n // Create Panel\n this.debugPanel = new DebugPanel(store, {\n defaultTab: options.defaultTab || 'all',\n onClose: () => {\n // Can handle panel close events if needed\n },\n });\n\n this.shadowRootNode.appendChild(this.debugPanel.getBackdrop());\n this.shadowRootNode.appendChild(this.debugPanel.getElement());\n\n // Create Floating Button (if enabled)\n if (options.button !== false) {\n this.floatingButton = new FloatingButton({\n position: options.position,\n persistPosition: options.persistPosition !== false,\n onClick: () => {\n this.toggle();\n },\n });\n\n this.shadowRootNode.appendChild(this.floatingButton.getElement());\n }\n\n // Subscribe to error counts for the button badge\n this.unsubscribeStore = store.subscribe((_events, s) => {\n const counts = s.getCounts();\n if (this.floatingButton) {\n this.floatingButton.setErrorCount(counts.errors);\n }\n });\n }\n\n public show(): void {\n if (this.debugPanel) {\n this.debugPanel.open();\n }\n }\n\n public hide(): void {\n if (this.debugPanel) {\n this.debugPanel.close();\n }\n }\n\n public toggle(): boolean {\n if (this.debugPanel) {\n return this.debugPanel.toggle();\n }\n return false;\n }\n\n public showButton(): void {\n if (this.floatingButton) {\n this.floatingButton.show();\n }\n }\n\n public hideButton(): void {\n if (this.floatingButton) {\n this.floatingButton.hide();\n }\n }\n\n public disconnectedCallback(): void {\n if (this.unsubscribeStore) {\n this.unsubscribeStore();\n this.unsubscribeStore = null;\n }\n }\n}\n\nexport function registerCustomElement(): void {\n if (typeof customElements !== 'undefined' && !customElements.get(CapDebugViewerElement.TAG)) {\n customElements.define(CapDebugViewerElement.TAG, CapDebugViewerElement);\n }\n}\n","import type {\n CapDebugEventInput,\n CapDebugOptions,\n NetworkCaptureOptions,\n} from './types';\nimport { CapDebugStore } from './store';\nimport { ConsoleCollector } from './collectors/console.collector';\nimport { ErrorCollector } from './collectors/error.collector';\nimport { NetworkCollector } from './collectors/network.collector';\nimport { CustomEventCollector } from './collectors/custom-event.collector';\nimport { BrowserEventCollector } from './collectors/browser-event.collector';\nimport { BridgeCollector } from './collectors/bridge.collector';\nimport { CapDebugViewerElement, registerCustomElement } from './ui/viewer.element';\nimport { CapDebugNative } from './definitions';\n\nexport * from './types';\nexport * from './definitions';\nexport * from './sanitizer';\nexport * from './store';\nexport * from './collectors/collector';\nexport * from './collectors/console.collector';\nexport * from './collectors/error.collector';\nexport * from './collectors/network.collector';\nexport * from './collectors/custom-event.collector';\nexport * from './collectors/browser-event.collector';\nexport * from './collectors/bridge.collector';\nexport * from './ui/viewer.element';\nexport * from './ui/json-viewer';\n\nexport class CapDebugManager {\n private store: CapDebugStore;\n private viewerElement: CapDebugViewerElement | null = null;\n private isMounted = false;\n\n private customEventCollector: CustomEventCollector;\n private consoleCollector: ConsoleCollector;\n private errorCollector: ErrorCollector;\n private networkCollector: NetworkCollector;\n private browserEventCollector: BrowserEventCollector;\n private bridgeCollector: BridgeCollector;\n\n constructor() {\n this.store = new CapDebugStore();\n this.customEventCollector = new CustomEventCollector(this.store);\n this.consoleCollector = new ConsoleCollector();\n this.errorCollector = new ErrorCollector();\n this.networkCollector = new NetworkCollector();\n this.browserEventCollector = new BrowserEventCollector();\n this.bridgeCollector = new BridgeCollector();\n }\n\n public get native() {\n return CapDebugNative;\n }\n\n public get currentStore(): CapDebugStore {\n return this.store;\n }\n\n /**\n * Mounts the CapDebug UI into the DOM and activates collectors.\n */\n public mount(options: CapDebugOptions = {}): void {\n if (typeof window === 'undefined' || typeof document === 'undefined') {\n return;\n }\n\n if (this.isMounted) {\n this.unmount();\n }\n\n // Configure store\n if (options.maxEvents) {\n this.store.setMaxEvents(options.maxEvents);\n }\n if (options.customMaskKeys) {\n this.store.setCustomMaskKeys(options.customMaskKeys);\n }\n\n // 1. Start core CustomEvent bus listener\n this.customEventCollector.start();\n\n // 2. Start optional collectors\n if (options.console !== false) {\n this.consoleCollector.start();\n }\n\n if (options.errors !== false) {\n this.errorCollector.start();\n }\n\n if (options.network) {\n const netOpts: NetworkCaptureOptions =\n typeof options.network === 'object' ? options.network : {};\n this.networkCollector.setOptions(netOpts);\n this.networkCollector.start();\n }\n\n if (options.bridge) {\n this.bridgeCollector.start();\n }\n\n this.browserEventCollector.start();\n\n // 3. Register and create Web Component\n registerCustomElement();\n\n this.viewerElement = document.createElement(CapDebugViewerElement.TAG) as CapDebugViewerElement;\n this.viewerElement.init(this.store, options);\n\n document.body.appendChild(this.viewerElement);\n this.isMounted = true;\n }\n\n /**\n * Unmounts CapDebug UI and stops all collectors.\n */\n public unmount(): void {\n if (!this.isMounted) return;\n\n if (this.viewerElement && this.viewerElement.parentNode) {\n this.viewerElement.parentNode.removeChild(this.viewerElement);\n this.viewerElement = null;\n }\n\n this.customEventCollector.stop();\n this.consoleCollector.stop();\n this.errorCollector.stop();\n this.networkCollector.stop();\n this.browserEventCollector.stop();\n this.bridgeCollector.stop();\n\n this.isMounted = false;\n }\n\n /**\n * Opens the debug viewer drawer.\n */\n public show(): void {\n if (this.viewerElement) {\n this.viewerElement.show();\n }\n }\n\n /**\n * Closes the debug viewer drawer.\n */\n public hide(): void {\n if (this.viewerElement) {\n this.viewerElement.hide();\n }\n }\n\n /**\n * Toggles the debug viewer drawer open/closed.\n */\n public toggle(): boolean {\n if (this.viewerElement) {\n return this.viewerElement.toggle();\n }\n return false;\n }\n\n /**\n * Dispatches a debug event through the CustomEvent bus.\n */\n public emit(event: CapDebugEventInput): void {\n if (typeof window === 'undefined') return;\n\n window.dispatchEvent(\n new CustomEvent('capdebug', {\n detail: {\n id: event.id,\n timestamp: event.timestamp || Date.now(),\n source: event.source || 'web',\n type: event.type,\n level: event.level || 'info',\n message: event.message,\n data: event.data,\n duration: event.duration,\n platform: event.platform,\n },\n })\n );\n }\n\n /**\n * Clears all recorded events from the store.\n */\n public clear(): void {\n this.store.clear();\n }\n\n /**\n * Pauses capturing new events.\n */\n public pause(): void {\n this.store.pause();\n }\n\n /**\n * Resumes capturing events.\n */\n public resume(): void {\n this.store.resume();\n }\n\n public captureConsole(): void {\n this.consoleCollector.start();\n }\n\n public releaseConsole(): void {\n this.consoleCollector.stop();\n }\n\n public captureErrors(): void {\n this.errorCollector.start();\n }\n\n public releaseErrors(): void {\n this.errorCollector.stop();\n }\n\n public captureFetch(options?: NetworkCaptureOptions): void {\n if (options) {\n this.networkCollector.setOptions(options);\n }\n this.networkCollector.start();\n }\n\n public releaseFetch(): void {\n this.networkCollector.stop();\n }\n\n public observeEvent(eventName: string): void {\n this.browserEventCollector.observe(eventName);\n }\n\n public unobserveEvent(eventName: string): void {\n this.browserEventCollector.unobserve(eventName);\n }\n}\n\nexport const CapDebug = new CapDebugManager();\nexport default CapDebug;\n","import { WebPlugin } from '@capacitor/core';\nimport type { CapDebugNativePlugin } from './definitions';\nimport type { DeviceInfo, MemoryInfo, WebViewInfo, AppInfo, NetworkInfo } from './types';\n\nfunction formatBytes(bytes: number): string {\n if (bytes === 0) return '0 B';\n const k = 1024;\n const sizes = ['B', 'KB', 'MB', 'GB'];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i];\n}\n\nexport class CapDebugWeb extends WebPlugin implements CapDebugNativePlugin {\n async getDeviceInfo(): Promise<DeviceInfo> {\n const nav = typeof navigator !== 'undefined' ? navigator : ({} as any);\n return {\n manufacturer: 'Web Browser',\n model: nav.userAgentData?.brands?.[0]?.brand || nav.appName || 'Browser',\n device: (nav as any).platform || 'Web',\n systemVersion: nav.appVersion || 'Unknown',\n architecture: (nav as any).userAgentData?.architecture || 'Unknown',\n availableProcessors: nav.hardwareConcurrency || 1,\n isEmulator: false,\n platform: 'web',\n };\n }\n\n async getMemoryInfo(): Promise<MemoryInfo> {\n const perf = typeof window !== 'undefined' ? (window.performance as any) : null;\n const memory = perf && perf.memory ? perf.memory : null;\n\n if (memory) {\n return {\n appMemoryUsage: memory.usedJSHeapSize,\n appMemoryUsageFormatted: formatBytes(memory.usedJSHeapSize),\n totalHeap: memory.totalJSHeapSize,\n totalHeapFormatted: formatBytes(memory.totalJSHeapSize),\n maxHeap: memory.jsHeapSizeLimit,\n maxHeapFormatted: formatBytes(memory.jsHeapSizeLimit),\n freeHeap: memory.totalJSHeapSize - memory.usedJSHeapSize,\n freeHeapFormatted: formatBytes(memory.totalJSHeapSize - memory.usedJSHeapSize),\n lowMemory: false,\n };\n }\n\n return {\n appMemoryUsageFormatted: 'N/A (Browser non-Chrome)',\n lowMemory: false,\n };\n }\n\n async getWebViewInfo(): Promise<WebViewInfo> {\n const nav = typeof navigator !== 'undefined' ? navigator : ({} as any);\n return {\n userAgent: nav.userAgent || 'Unknown',\n version: nav.appVersion || 'Unknown',\n packageName: typeof window !== 'undefined' ? window.location.hostname : 'localhost',\n debugEnabled: true,\n };\n }\n\n async getAppInfo(): Promise<AppInfo> {\n return {\n applicationId: typeof window !== 'undefined' ? window.location.host : 'localhost',\n version: '1.0.0',\n versionName: '1.0.0 (Web)',\n versionCode: 1,\n buildType: typeof process !== 'undefined' && process.env?.NODE_ENV ? process.env.NODE_ENV : 'development',\n };\n }\n\n async getNetworkInfo(): Promise<NetworkInfo> {\n const nav = typeof navigator !== 'undefined' ? navigator : ({} as any);\n const conn = (nav as any).connection || (nav as any).mozConnection || (nav as any).webkitConnection;\n\n return {\n connected: nav.onLine ?? true,\n connectionType: conn ? conn.effectiveType || conn.type || 'unknown' : (nav.onLine ? 'online' : 'offline'),\n metered: conn ? conn.saveData ?? false : false,\n };\n }\n}\n"],"names":["registerPlugin","WebPlugin"],"mappings":"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AA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AA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"}
|