pixi-watchface-engine 0.1.0 → 0.1.2
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/dist/EventBus.d.ts +7 -0
- package/dist/EventBus.d.ts.map +1 -1
- package/dist/WatchfaceEngine.d.ts +24 -0
- package/dist/WatchfaceEngine.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1572 -1
- package/dist/plugins/ViewportPlugin.d.ts +39 -0
- package/dist/plugins/ViewportPlugin.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +2 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/types.d.ts +5 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
package/dist/EventBus.d.ts
CHANGED
|
@@ -60,6 +60,13 @@ export interface EngineEventMap {
|
|
|
60
60
|
'state:loaded': {
|
|
61
61
|
json: string;
|
|
62
62
|
};
|
|
63
|
+
'viewport:zoomed': {
|
|
64
|
+
zoom: number;
|
|
65
|
+
};
|
|
66
|
+
'viewport:moved': {
|
|
67
|
+
x: number;
|
|
68
|
+
y: number;
|
|
69
|
+
};
|
|
63
70
|
}
|
|
64
71
|
type Handler<T> = T extends void ? () => void : (data: T) => void;
|
|
65
72
|
export declare class EventBus {
|
package/dist/EventBus.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../src/EventBus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,IAAI,CAAC;IACrB,gBAAgB,EAAE,IAAI,CAAC;IAEvB,eAAe,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAC1C,iBAAiB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAC5C,iBAAiB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACpG,kBAAkB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAEzE,mBAAmB,EAAE;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IACjD,mBAAmB,EAAE,IAAI,CAAC;IAE1B,uBAAuB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACtF,sBAAsB,EAAE;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,qBAAqB,EAAE;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IACnD,yBAAyB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IACpD,uBAAuB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAClD,yBAAyB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IACpD,uBAAuB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAElD,kBAAkB,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAE/C,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"EventBus.d.ts","sourceRoot":"","sources":["../src/EventBus.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,IAAI,CAAC;IACrB,gBAAgB,EAAE,IAAI,CAAC;IAEvB,eAAe,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAC1C,iBAAiB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAC5C,iBAAiB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACpG,kBAAkB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAEzE,mBAAmB,EAAE;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IACjD,mBAAmB,EAAE,IAAI,CAAC;IAE1B,uBAAuB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAC;QAAC,QAAQ,EAAE;YAAE,CAAC,EAAE,MAAM,CAAC;YAAC,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IACtF,sBAAsB,EAAE;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5E,qBAAqB,EAAE;QAAE,QAAQ,EAAE,WAAW,EAAE,CAAA;KAAE,CAAC;IACnD,yBAAyB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IACpD,uBAAuB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAClD,yBAAyB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IACpD,uBAAuB,EAAE;QAAE,OAAO,EAAE,WAAW,CAAA;KAAE,CAAC;IAElD,kBAAkB,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,CAAC;IAE/C,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAChC,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAEjC,iBAAiB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,gBAAgB,EAAE;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,GAAG,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC;AAElE,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAAoC;IAErD,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAC/B,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAClC,MAAM,IAAI;IAQb,IAAI,CAAC,CAAC,SAAS,MAAM,cAAc,EACjC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GACjE,IAAI;IAIP,GAAG,CAAC,CAAC,SAAS,MAAM,cAAc,EAChC,KAAK,EAAE,CAAC,EACR,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAClC,IAAI;IAIP,kBAAkB,IAAI,IAAI;CAG3B"}
|
|
@@ -5,6 +5,7 @@ import { ZOrderManager } from './managers/ZOrderManager.ts';
|
|
|
5
5
|
import { SerializationManager } from './managers/SerializationManager.ts';
|
|
6
6
|
import { SelectionManager } from './selection/SelectionManager.ts';
|
|
7
7
|
import { PluginManager } from './plugins/PluginManager.ts';
|
|
8
|
+
import type { CoordinateOrigin } from './types.ts';
|
|
8
9
|
export interface WatchfaceEngineOptions {
|
|
9
10
|
width: number;
|
|
10
11
|
height: number;
|
|
@@ -12,6 +13,13 @@ export interface WatchfaceEngineOptions {
|
|
|
12
13
|
selectionHandleColor?: number;
|
|
13
14
|
selectionHandleFillColor?: number;
|
|
14
15
|
selectionHandleSize?: number;
|
|
16
|
+
/**
|
|
17
|
+
* Where (0, 0) is placed on the canvas.
|
|
18
|
+
* - `'top-left'` (default) — standard screen coordinates.
|
|
19
|
+
* - `'center'` — origin is the center of the canvas; useful for watchface
|
|
20
|
+
* layouts where elements are positioned relative to the watch center.
|
|
21
|
+
*/
|
|
22
|
+
coordinateOrigin?: CoordinateOrigin;
|
|
15
23
|
}
|
|
16
24
|
export declare class WatchfaceEngine {
|
|
17
25
|
readonly app: Application;
|
|
@@ -25,6 +33,12 @@ export declare class WatchfaceEngine {
|
|
|
25
33
|
private elementsLayer;
|
|
26
34
|
private selectionLayer;
|
|
27
35
|
private overlayLayer;
|
|
36
|
+
/**
|
|
37
|
+
* Single container that holds all four layers. Plugins (e.g. ViewportPlugin)
|
|
38
|
+
* should move this container rather than individual layers.
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
private _contentRoot;
|
|
28
42
|
private interaction;
|
|
29
43
|
private _options;
|
|
30
44
|
private _initialized;
|
|
@@ -34,6 +48,16 @@ export declare class WatchfaceEngine {
|
|
|
34
48
|
init(container: HTMLDivElement, options: WatchfaceEngineOptions): Promise<void>;
|
|
35
49
|
get options(): Readonly<WatchfaceEngineOptions>;
|
|
36
50
|
get initialized(): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* The offset applied to the content root based on `coordinateOrigin`.
|
|
53
|
+
* `{ x: 0, y: 0 }` for `'top-left'`, `{ x: width/2, y: height/2 }` for `'center'`.
|
|
54
|
+
*/
|
|
55
|
+
get originOffset(): {
|
|
56
|
+
x: number;
|
|
57
|
+
y: number;
|
|
58
|
+
};
|
|
59
|
+
/** The container that holds all layers. Plugins should add this to viewports. */
|
|
60
|
+
getContentRoot(): Container;
|
|
37
61
|
getBackgroundLayer(): Container;
|
|
38
62
|
getElementsLayer(): Container;
|
|
39
63
|
getSelectionLayer(): Container;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WatchfaceEngine.d.ts","sourceRoot":"","sources":["../src/WatchfaceEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"WatchfaceEngine.d.ts","sourceRoot":"","sources":["../src/WatchfaceEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAgB,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,qBAAa,eAAe;IAC1B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAChC,QAAQ,CAAC,aAAa,EAAE,oBAAoB,CAAC;IAC7C,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAE/B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,YAAY,CAAa;IAEjC;;;;OAIG;IACH,OAAO,CAAC,YAAY,CAAa;IAEjC,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,QAAQ,CAA0B;IAC1C,OAAO,CAAC,YAAY,CAAS;IAE7B,qFAAqF;IACrF,gBAAgB,UAAS;;IAqBnB,IAAI,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAuDrF,IAAI,OAAO,IAAI,QAAQ,CAAC,sBAAsB,CAAC,CAE9C;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACH,IAAI,YAAY,IAAI;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAK3C;IAED,iFAAiF;IACjF,cAAc,IAAI,SAAS;IAI3B,kBAAkB,IAAI,SAAS;IAI/B,gBAAgB,IAAI,SAAS;IAI7B,iBAAiB,IAAI,SAAS;IAI9B,eAAe,IAAI,SAAS;IAI5B,OAAO,IAAI,IAAI;CAUhB"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,11 +16,13 @@ export type { AutosavePluginOptions } from './plugins/AutosavePlugin.ts';
|
|
|
16
16
|
export { UndoRedoPlugin } from './plugins/UndoRedoPlugin.ts';
|
|
17
17
|
export type { UndoRedoPluginOptions } from './plugins/UndoRedoPlugin.ts';
|
|
18
18
|
export { KeyboardShortcutsPlugin } from './plugins/KeyboardShortcutsPlugin.ts';
|
|
19
|
+
export { ViewportPlugin } from './plugins/ViewportPlugin.ts';
|
|
20
|
+
export type { ViewportPluginOptions } from './plugins/ViewportPlugin.ts';
|
|
19
21
|
export { ElementManager } from './managers/ElementManager.ts';
|
|
20
22
|
export { ZOrderManager } from './managers/ZOrderManager.ts';
|
|
21
23
|
export { SelectionManager } from './selection/SelectionManager.ts';
|
|
22
24
|
export { SerializationManager } from './managers/SerializationManager.ts';
|
|
23
|
-
export type { FillDirection, ShapeType, ElementType, SerializedElement, WatchfaceState, UndoableAction, HandleConfig, Bounds, } from './types.ts';
|
|
25
|
+
export type { FillDirection, ShapeType, ElementType, CoordinateOrigin, SerializedElement, WatchfaceState, UndoableAction, HandleConfig, Bounds, } from './types.ts';
|
|
24
26
|
export { EventBus } from './EventBus.ts';
|
|
25
27
|
export type { EngineEventMap } from './EventBus.ts';
|
|
26
28
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAGnE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,YAAY,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAG1E,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,YAAY,EACZ,MAAM,GACP,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC"}
|