@decibelsystems/tools 3.0.0 → 3.1.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/CHANGELOG.md +66 -0
- package/dist/agentCommands.d.ts +0 -1
- package/dist/agentCommands.d.ts.map +1 -1
- package/dist/agentCommands.js +19 -8
- package/dist/agentCommands.js.map +1 -1
- package/dist/agentPresence.d.ts +5 -3
- package/dist/agentPresence.d.ts.map +1 -1
- package/dist/agentPresence.js +20 -29
- package/dist/agentPresence.js.map +1 -1
- package/dist/architectAdrs.d.ts +13 -1
- package/dist/architectAdrs.d.ts.map +1 -1
- package/dist/architectAdrs.js +83 -1
- package/dist/architectAdrs.js.map +1 -1
- package/dist/artifacts.d.ts +60 -0
- package/dist/artifacts.d.ts.map +1 -0
- package/dist/artifacts.js +208 -0
- package/dist/artifacts.js.map +1 -0
- package/dist/asks.d.ts +93 -0
- package/dist/asks.d.ts.map +1 -0
- package/dist/asks.js +383 -0
- package/dist/asks.js.map +1 -0
- package/dist/chat.d.ts +47 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +288 -0
- package/dist/chat.js.map +1 -0
- package/dist/daemon.d.ts +14 -3
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +44 -14
- package/dist/daemon.js.map +1 -1
- package/dist/daemonConfig.d.ts +22 -0
- package/dist/daemonConfig.d.ts.map +1 -1
- package/dist/daemonConfig.js +11 -0
- package/dist/daemonConfig.js.map +1 -1
- package/dist/domain/issue.d.ts +19 -15
- package/dist/domain/issue.d.ts.map +1 -1
- package/dist/domain/issue.js +4 -32
- package/dist/domain/issue.js.map +1 -1
- package/dist/domain/issueCodec.d.ts.map +1 -1
- package/dist/domain/issueCodec.js +10 -0
- package/dist/domain/issueCodec.js.map +1 -1
- package/dist/domain/issueRepository.d.ts +35 -2
- package/dist/domain/issueRepository.d.ts.map +1 -1
- package/dist/domain/issueRepository.js +40 -1
- package/dist/domain/issueRepository.js.map +1 -1
- package/dist/domain/uid.d.ts +16 -0
- package/dist/domain/uid.d.ts.map +1 -0
- package/dist/domain/uid.js +43 -0
- package/dist/domain/uid.js.map +1 -0
- package/dist/facades/definitions.d.ts.map +1 -1
- package/dist/facades/definitions.js +46 -3
- package/dist/facades/definitions.js.map +1 -1
- package/dist/hq/defineAgent.d.ts.map +1 -1
- package/dist/hq/defineAgent.js +7 -11
- package/dist/hq/defineAgent.js.map +1 -1
- package/dist/httpServer.d.ts.map +1 -1
- package/dist/httpServer.js +201 -48
- package/dist/httpServer.js.map +1 -1
- package/dist/identity.d.ts +123 -0
- package/dist/identity.d.ts.map +1 -0
- package/dist/identity.js +312 -0
- package/dist/identity.js.map +1 -0
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +24 -1
- package/dist/kernel.js.map +1 -1
- package/dist/killSwitch.d.ts +117 -0
- package/dist/killSwitch.d.ts.map +1 -0
- package/dist/killSwitch.js +161 -0
- package/dist/killSwitch.js.map +1 -0
- package/dist/lib/atomicWrite.d.ts +23 -0
- package/dist/lib/atomicWrite.d.ts.map +1 -1
- package/dist/lib/atomicWrite.js +84 -0
- package/dist/lib/atomicWrite.js.map +1 -1
- package/dist/lib/recordIdAllocator.d.ts +21 -5
- package/dist/lib/recordIdAllocator.d.ts.map +1 -1
- package/dist/lib/recordIdAllocator.js +25 -7
- package/dist/lib/recordIdAllocator.js.map +1 -1
- package/dist/orgId.d.ts +23 -0
- package/dist/orgId.d.ts.map +1 -0
- package/dist/orgId.js +73 -0
- package/dist/orgId.js.map +1 -0
- package/dist/pairCli.d.ts +2 -0
- package/dist/pairCli.d.ts.map +1 -0
- package/dist/pairCli.js +97 -0
- package/dist/pairCli.js.map +1 -0
- package/dist/peerBroker.d.ts +40 -0
- package/dist/peerBroker.d.ts.map +1 -0
- package/dist/peerBroker.js +70 -0
- package/dist/peerBroker.js.map +1 -0
- package/dist/peerBrokerSupervisor.d.ts +21 -0
- package/dist/peerBrokerSupervisor.d.ts.map +1 -0
- package/dist/peerBrokerSupervisor.js +131 -0
- package/dist/peerBrokerSupervisor.js.map +1 -0
- package/dist/projectPaths.d.ts.map +1 -1
- package/dist/projectPaths.js +1 -19
- package/dist/projectPaths.js.map +1 -1
- package/dist/projectRegistry.d.ts +22 -0
- package/dist/projectRegistry.d.ts.map +1 -1
- package/dist/projectRegistry.js +58 -2
- package/dist/projectRegistry.js.map +1 -1
- package/dist/pty/boundary.d.ts +39 -0
- package/dist/pty/boundary.d.ts.map +1 -0
- package/dist/pty/boundary.js +100 -0
- package/dist/pty/boundary.js.map +1 -0
- package/dist/pty/errors.d.ts +6 -0
- package/dist/pty/errors.d.ts.map +1 -0
- package/dist/pty/errors.js +12 -0
- package/dist/pty/errors.js.map +1 -0
- package/dist/pty/fleet.d.ts +159 -0
- package/dist/pty/fleet.d.ts.map +1 -0
- package/dist/pty/fleet.js +543 -0
- package/dist/pty/fleet.js.map +1 -0
- package/dist/pty/launchProfile.d.ts +45 -0
- package/dist/pty/launchProfile.d.ts.map +1 -0
- package/dist/pty/launchProfile.js +149 -0
- package/dist/pty/launchProfile.js.map +1 -0
- package/dist/pty/openTerminal.d.ts +48 -0
- package/dist/pty/openTerminal.d.ts.map +1 -0
- package/dist/pty/openTerminal.js +185 -0
- package/dist/pty/openTerminal.js.map +1 -0
- package/dist/pty/pairDialog.d.ts +16 -0
- package/dist/pty/pairDialog.d.ts.map +1 -0
- package/dist/pty/pairDialog.js +121 -0
- package/dist/pty/pairDialog.js.map +1 -0
- package/dist/pty/pairing.d.ts +86 -0
- package/dist/pty/pairing.d.ts.map +1 -0
- package/dist/pty/pairing.js +351 -0
- package/dist/pty/pairing.js.map +1 -0
- package/dist/pty/routes.d.ts +49 -0
- package/dist/pty/routes.d.ts.map +1 -0
- package/dist/pty/routes.js +624 -0
- package/dist/pty/routes.js.map +1 -0
- package/dist/pty/sessions.d.ts +167 -0
- package/dist/pty/sessions.d.ts.map +1 -0
- package/dist/pty/sessions.js +513 -0
- package/dist/pty/sessions.js.map +1 -0
- package/dist/pty/tmux.d.ts +109 -0
- package/dist/pty/tmux.d.ts.map +1 -0
- package/dist/pty/tmux.js +271 -0
- package/dist/pty/tmux.js.map +1 -0
- package/dist/roster.d.ts +37 -0
- package/dist/roster.d.ts.map +1 -0
- package/dist/roster.js +126 -0
- package/dist/roster.js.map +1 -0
- package/dist/runtime/daemonMeta.d.ts +53 -0
- package/dist/runtime/daemonMeta.d.ts.map +1 -0
- package/dist/runtime/daemonMeta.js +121 -0
- package/dist/runtime/daemonMeta.js.map +1 -0
- package/dist/runtime/ensureRuntime.d.ts.map +1 -1
- package/dist/runtime/ensureRuntime.js +5 -10
- package/dist/runtime/ensureRuntime.js.map +1 -1
- package/dist/sentinelIssues.d.ts +16 -0
- package/dist/sentinelIssues.d.ts.map +1 -1
- package/dist/sentinelIssues.js +42 -1
- package/dist/sentinelIssues.js.map +1 -1
- package/dist/server.js +66 -5
- package/dist/server.js.map +1 -1
- package/dist/toolConfig.d.ts.map +1 -1
- package/dist/toolConfig.js +12 -0
- package/dist/toolConfig.js.map +1 -1
- package/dist/tools/agentic/agentQueue.d.ts.map +1 -1
- package/dist/tools/agentic/agentQueue.js +4 -0
- package/dist/tools/agentic/agentQueue.js.map +1 -1
- package/dist/tools/architect/index.d.ts +1 -0
- package/dist/tools/architect/index.d.ts.map +1 -1
- package/dist/tools/architect/index.js +45 -1
- package/dist/tools/architect/index.js.map +1 -1
- package/dist/tools/architect.d.ts.map +1 -1
- package/dist/tools/architect.js +59 -8
- package/dist/tools/architect.js.map +1 -1
- package/dist/tools/artifacts.d.ts +5 -0
- package/dist/tools/artifacts.d.ts.map +1 -0
- package/dist/tools/artifacts.js +89 -0
- package/dist/tools/artifacts.js.map +1 -0
- package/dist/tools/asks.d.ts +6 -0
- package/dist/tools/asks.d.ts.map +1 -0
- package/dist/tools/asks.js +104 -0
- package/dist/tools/asks.js.map +1 -0
- package/dist/tools/coordinator/index.d.ts +1 -0
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +42 -2
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/data-inspector.d.ts +1 -1
- package/dist/tools/data-inspector.d.ts.map +1 -1
- package/dist/tools/data-inspector.js +1 -1
- package/dist/tools/data-inspector.js.map +1 -1
- package/dist/tools/dojo/index.d.ts.map +1 -1
- package/dist/tools/dojo/index.js +52 -3
- package/dist/tools/dojo/index.js.map +1 -1
- package/dist/tools/dojo.d.ts +62 -1
- package/dist/tools/dojo.d.ts.map +1 -1
- package/dist/tools/dojo.js +84 -1
- package/dist/tools/dojo.js.map +1 -1
- package/dist/tools/guardian.d.ts +7 -0
- package/dist/tools/guardian.d.ts.map +1 -1
- package/dist/tools/guardian.js +146 -9
- package/dist/tools/guardian.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/killswitch/index.d.ts +13 -0
- package/dist/tools/killswitch/index.d.ts.map +1 -0
- package/dist/tools/killswitch/index.js +138 -0
- package/dist/tools/killswitch/index.js.map +1 -0
- package/dist/tools/oracle/index.d.ts.map +1 -1
- package/dist/tools/oracle/index.js +8 -0
- package/dist/tools/oracle/index.js.map +1 -1
- package/dist/tools/oracle.d.ts +7 -0
- package/dist/tools/oracle.d.ts.map +1 -1
- package/dist/tools/oracle.js +22 -6
- package/dist/tools/oracle.js.map +1 -1
- package/dist/tools/provenance.d.ts +11 -2
- package/dist/tools/provenance.d.ts.map +1 -1
- package/dist/tools/provenance.js +26 -24
- package/dist/tools/provenance.js.map +1 -1
- package/dist/tools/registry/index.d.ts.map +1 -1
- package/dist/tools/registry/index.js +24 -0
- package/dist/tools/registry/index.js.map +1 -1
- package/dist/tools/sentinel/index.d.ts.map +1 -1
- package/dist/tools/sentinel/index.js +54 -2
- package/dist/tools/sentinel/index.js.map +1 -1
- package/dist/tools/sentinel.d.ts +50 -0
- package/dist/tools/sentinel.d.ts.map +1 -1
- package/dist/tools/sentinel.js +72 -7
- package/dist/tools/sentinel.js.map +1 -1
- package/dist/tools/shared/runTracker.d.ts +2 -0
- package/dist/tools/shared/runTracker.d.ts.map +1 -1
- package/dist/tools/shared/runTracker.js +38 -0
- package/dist/tools/shared/runTracker.js.map +1 -1
- package/dist/tools/swarm.d.ts +3 -1
- package/dist/tools/swarm.d.ts.map +1 -1
- package/dist/tools/swarm.js +6 -12
- package/dist/tools/swarm.js.map +1 -1
- package/dist/tools/voice/index.d.ts +1 -0
- package/dist/tools/voice/index.d.ts.map +1 -1
- package/dist/tools/voice/index.js +33 -2
- package/dist/tools/voice/index.js.map +1 -1
- package/dist/tools/voice.d.ts +48 -1
- package/dist/tools/voice.d.ts.map +1 -1
- package/dist/tools/voice.js +63 -3
- package/dist/tools/voice.js.map +1 -1
- package/dist/transports/bridge.d.ts.map +1 -1
- package/dist/transports/bridge.js +2 -1
- package/dist/transports/bridge.js.map +1 -1
- package/dist/transports/mcp.d.ts.map +1 -1
- package/dist/transports/mcp.js +2 -1
- package/dist/transports/mcp.js.map +1 -1
- package/dist/version.d.ts +5 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +23 -0
- package/dist/version.js.map +1 -0
- package/package.json +13 -2
- package/templates/AGENT.md +3 -0
- package/templates/CLAUDE-decibel.md +11 -0
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import { type BrokerPeer } from '../peerBroker.js';
|
|
2
|
+
import { SessionError } from './errors.js';
|
|
3
|
+
import { type TmuxSession } from './tmux.js';
|
|
4
|
+
type NodePty = typeof import('node-pty');
|
|
5
|
+
export declare function loadPty(): Promise<NodePty | null>;
|
|
6
|
+
export type SessionOrigin = 'spawned' | 'adopted' | 'peer';
|
|
7
|
+
/** One row of GET /sessions. Unknown fields are omitted, never null. */
|
|
8
|
+
export interface HostedSession {
|
|
9
|
+
session_key: string;
|
|
10
|
+
/** Omitted when the session's cwd is in no registered project. */
|
|
11
|
+
project_id?: string;
|
|
12
|
+
origin: SessionOrigin;
|
|
13
|
+
state: 'live' | 'exited';
|
|
14
|
+
attachable: boolean;
|
|
15
|
+
attach_handle?: string;
|
|
16
|
+
/** Live spawned sessions: the exact argv to attach from a terminal (ADR-0018). */
|
|
17
|
+
attach_argv?: string[];
|
|
18
|
+
claude_session_id?: string;
|
|
19
|
+
peer_id?: string;
|
|
20
|
+
pid?: number;
|
|
21
|
+
tty?: string;
|
|
22
|
+
cwd?: string;
|
|
23
|
+
branch?: string;
|
|
24
|
+
issue_label?: string;
|
|
25
|
+
summary?: string;
|
|
26
|
+
created?: string;
|
|
27
|
+
}
|
|
28
|
+
export { SessionError };
|
|
29
|
+
export declare function isUuid(v: unknown): v is string;
|
|
30
|
+
export interface StrictProject {
|
|
31
|
+
id: string;
|
|
32
|
+
path: string;
|
|
33
|
+
}
|
|
34
|
+
/** Exact id or alias in projects.json, available on this device. Nothing else. */
|
|
35
|
+
export declare function resolveRegisteredProject(projectId: string): StrictProject;
|
|
36
|
+
export declare function isWithin(child: string, parent: string): boolean;
|
|
37
|
+
export interface ListDeps {
|
|
38
|
+
ownedSessions?: () => Promise<TmuxSession[]>;
|
|
39
|
+
userSessions?: () => Promise<TmuxSession[]>;
|
|
40
|
+
ttyMap?: () => Promise<Map<string, string>>;
|
|
41
|
+
peers?: () => Promise<BrokerPeer[]>;
|
|
42
|
+
ptyAvailable?: () => Promise<boolean>;
|
|
43
|
+
projects?: () => StrictProject[];
|
|
44
|
+
}
|
|
45
|
+
/** Every registered project available on this device. */
|
|
46
|
+
export declare function availableProjects(): StrictProject[];
|
|
47
|
+
/**
|
|
48
|
+
* The registered project a path belongs to: the LONGEST registered path that
|
|
49
|
+
* contains it, so a checkout nested inside another project belongs to itself.
|
|
50
|
+
* Undefined when nothing contains it (a session in ~/Documents/GitHub itself,
|
|
51
|
+
* or in a repo that was never registered).
|
|
52
|
+
*/
|
|
53
|
+
export declare function projectForPath(path: string, projects: StrictProject[]): StrictProject | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* The session roster. With a project id, that project's sessions only (and an
|
|
56
|
+
* unregistered id is an error, never a fallback). Without one, every session
|
|
57
|
+
* on the machine; `project_id` is present where the session resolves to a
|
|
58
|
+
* registered project and omitted where it does not.
|
|
59
|
+
*/
|
|
60
|
+
export declare function listHostedSessions(projectId?: string, deps?: ListDeps): Promise<HostedSession[]>;
|
|
61
|
+
/**
|
|
62
|
+
* What an attach token may be minted for: a live spawned session, or a tmux
|
|
63
|
+
* session that is hosting a claude-peers session. Never an arbitrary tmux
|
|
64
|
+
* session — the user's other tmux work is not HQ's to open.
|
|
65
|
+
*/
|
|
66
|
+
export declare function resolveAttachable(key: string): Promise<TmuxSession>;
|
|
67
|
+
/**
|
|
68
|
+
* launchd gives the daemon no login PATH. Find claude by absolute path, then
|
|
69
|
+
* run it under a login shell so it gets the user's environment.
|
|
70
|
+
*/
|
|
71
|
+
export declare function resolveClaude(): string;
|
|
72
|
+
/**
|
|
73
|
+
* argv for the pane: `$SHELL -lc 'exec "$0" "$@"' <claude> <args...>`. The
|
|
74
|
+
* claude path and arguments travel as positional parameters, so nothing is
|
|
75
|
+
* interpolated into the shell script.
|
|
76
|
+
*/
|
|
77
|
+
export declare function claudeCommand(claudeArgs: string[]): string[];
|
|
78
|
+
export declare function sessionNameFor(projectId: string): string;
|
|
79
|
+
export interface SpawnInput {
|
|
80
|
+
project_id?: unknown;
|
|
81
|
+
branch?: unknown;
|
|
82
|
+
issue_label?: unknown;
|
|
83
|
+
resume?: unknown;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Daemon-internal spawn options. Never read from a request body: a caller
|
|
87
|
+
* that can choose the cwd chooses where `claude` runs.
|
|
88
|
+
*/
|
|
89
|
+
export interface SpawnInternal {
|
|
90
|
+
/**
|
|
91
|
+
* Fleet restore (ADR-0018): the cwd the session was recorded in. Claude
|
|
92
|
+
* keys transcripts by cwd, so a session started in a subdirectory resumes
|
|
93
|
+
* only from that subdirectory. Must lie inside the registered project.
|
|
94
|
+
*/
|
|
95
|
+
cwd?: string;
|
|
96
|
+
}
|
|
97
|
+
export interface SpawnResult {
|
|
98
|
+
session_key: string;
|
|
99
|
+
claude_session_id: string;
|
|
100
|
+
attach_argv: string[];
|
|
101
|
+
/** Set when the dev-channels dialog could not be confirmed (ADR-0018 D4). */
|
|
102
|
+
needs_attention?: {
|
|
103
|
+
code: AttentionCode;
|
|
104
|
+
error: string;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* The argv for attaching to an owned session from a terminal (ADR-0018). The
|
|
109
|
+
* absolute tmux path, because launchd's PATH and a login shell's can resolve
|
|
110
|
+
* different binaries, and a client/server version mismatch refuses to attach.
|
|
111
|
+
* `=key` is an exact-match target. Not secret.
|
|
112
|
+
*/
|
|
113
|
+
export declare function attachArgv(key: string): string[];
|
|
114
|
+
/**
|
|
115
|
+
* Apply launch.json's tmux options to the owned server, if it is running.
|
|
116
|
+
* Spawns apply them too; this covers a daemon restart, where the tmux server
|
|
117
|
+
* and its sessions outlive the daemon. A missing server or a bad launch.json
|
|
118
|
+
* is logged, never thrown: the daemon must still boot.
|
|
119
|
+
*/
|
|
120
|
+
export declare function applyTmuxProfile(): Promise<void>;
|
|
121
|
+
/**
|
|
122
|
+
* Scroll a session's pane through tmux copy-mode, for a client with no
|
|
123
|
+
* scrollback of its own (HQ's xterm.js pane: tmux draws on the alternate
|
|
124
|
+
* screen, and the owned server runs with mouse off). Never a keystroke into
|
|
125
|
+
* the session: copy-mode is tmux's own view.
|
|
126
|
+
*
|
|
127
|
+
* {lines: n<0} enter copy-mode -e and scroll up |n| lines
|
|
128
|
+
* {lines: n>0} scroll down; -e leaves copy-mode at the bottom by itself
|
|
129
|
+
* {cancel: true} leave copy-mode
|
|
130
|
+
*
|
|
131
|
+
* Down and cancel do nothing when the pane is not in copy-mode. HQ's line
|
|
132
|
+
* counter can overcount past the top of history, and it sends cancel before
|
|
133
|
+
* the first keystroke after any scroll, so both arrive when nothing is
|
|
134
|
+
* scrolled. tmux answers "not in a mode" then, which is the no-op.
|
|
135
|
+
*/
|
|
136
|
+
export declare function scrollPane(key: string, frame: {
|
|
137
|
+
lines?: unknown;
|
|
138
|
+
cancel?: unknown;
|
|
139
|
+
}): Promise<void>;
|
|
140
|
+
export declare function spawnSession(input: SpawnInput, internal?: SpawnInternal): Promise<SpawnResult>;
|
|
141
|
+
export type AttentionCode = 'DIALOG_UNRECOGNISED' | 'DIALOG_TIMEOUT' | 'CLAUDE_EXITED';
|
|
142
|
+
export declare const DIALOG_TIMEOUT_MS = 15000;
|
|
143
|
+
/** Exact match for the dev-channels warning, cursor on "1.". */
|
|
144
|
+
export declare function isDevChannelsDialog(screen: string): boolean;
|
|
145
|
+
export interface ConfirmDeps {
|
|
146
|
+
capture?: (key: string) => Promise<string | null>;
|
|
147
|
+
isDead?: (key: string) => Promise<boolean>;
|
|
148
|
+
sendEnter?: (key: string) => Promise<boolean>;
|
|
149
|
+
sleep?: (ms: number) => Promise<void>;
|
|
150
|
+
now?: () => number;
|
|
151
|
+
timeoutMs?: number;
|
|
152
|
+
}
|
|
153
|
+
/** Null when confirmed; the attention code and message otherwise. */
|
|
154
|
+
export declare function confirmDevChannels(key: string, deps?: ConfirmDeps): Promise<{
|
|
155
|
+
code: AttentionCode;
|
|
156
|
+
error: string;
|
|
157
|
+
} | null>;
|
|
158
|
+
export type ControlAction = 'interrupt' | 'kill' | 'resume';
|
|
159
|
+
export declare function controlSession(key: string, action: unknown): Promise<{
|
|
160
|
+
ok: true;
|
|
161
|
+
action: ControlAction;
|
|
162
|
+
needs_attention?: {
|
|
163
|
+
code: AttentionCode;
|
|
164
|
+
error: string;
|
|
165
|
+
};
|
|
166
|
+
}>;
|
|
167
|
+
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/pty/sessions.ts"],"names":[],"mappings":"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"}
|