homebridge 2.0.3-beta.9 → 2.1.1-beta.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.
Files changed (94) hide show
  1. package/dist/bridgeService.d.ts +78 -6
  2. package/dist/bridgeService.d.ts.map +1 -1
  3. package/dist/bridgeService.js +118 -3
  4. package/dist/bridgeService.js.map +1 -1
  5. package/dist/childBridgeFork.d.ts +12 -0
  6. package/dist/childBridgeFork.d.ts.map +1 -1
  7. package/dist/childBridgeFork.js +49 -16
  8. package/dist/childBridgeFork.js.map +1 -1
  9. package/dist/childBridgeService.d.ts +15 -7
  10. package/dist/childBridgeService.d.ts.map +1 -1
  11. package/dist/childBridgeService.js +76 -17
  12. package/dist/childBridgeService.js.map +1 -1
  13. package/dist/ipcService.d.ts +6 -1
  14. package/dist/ipcService.d.ts.map +1 -1
  15. package/dist/matter/BaseMatterManager.d.ts +13 -0
  16. package/dist/matter/BaseMatterManager.d.ts.map +1 -1
  17. package/dist/matter/BaseMatterManager.js +43 -11
  18. package/dist/matter/BaseMatterManager.js.map +1 -1
  19. package/dist/matter/ChildBridgeMatterManager.d.ts +41 -2
  20. package/dist/matter/ChildBridgeMatterManager.d.ts.map +1 -1
  21. package/dist/matter/ChildBridgeMatterManager.js +103 -6
  22. package/dist/matter/ChildBridgeMatterManager.js.map +1 -1
  23. package/dist/matter/ChildBridgeMatterMessageHandler.d.ts.map +1 -1
  24. package/dist/matter/ChildBridgeMatterMessageHandler.js +13 -6
  25. package/dist/matter/ChildBridgeMatterMessageHandler.js.map +1 -1
  26. package/dist/matter/ExternalMatterAccessoryPublisher.d.ts.map +1 -1
  27. package/dist/matter/ExternalMatterAccessoryPublisher.js +25 -1
  28. package/dist/matter/ExternalMatterAccessoryPublisher.js.map +1 -1
  29. package/dist/matter/MatterAPIImpl.d.ts +17 -0
  30. package/dist/matter/MatterAPIImpl.d.ts.map +1 -1
  31. package/dist/matter/MatterAPIImpl.js +29 -0
  32. package/dist/matter/MatterAPIImpl.js.map +1 -1
  33. package/dist/matter/MatterBridgeManager.d.ts +38 -3
  34. package/dist/matter/MatterBridgeManager.d.ts.map +1 -1
  35. package/dist/matter/MatterBridgeManager.js +115 -12
  36. package/dist/matter/MatterBridgeManager.js.map +1 -1
  37. package/dist/matter/MatterError.d.ts +76 -0
  38. package/dist/matter/MatterError.d.ts.map +1 -0
  39. package/dist/matter/MatterError.js +90 -0
  40. package/dist/matter/MatterError.js.map +1 -0
  41. package/dist/matter/MatterPortAllocator.d.ts.map +1 -1
  42. package/dist/matter/MatterPortAllocator.js +7 -1
  43. package/dist/matter/MatterPortAllocator.js.map +1 -1
  44. package/dist/matter/accessoryCache.d.ts +12 -0
  45. package/dist/matter/accessoryCache.d.ts.map +1 -1
  46. package/dist/matter/accessoryCache.js +19 -0
  47. package/dist/matter/accessoryCache.js.map +1 -1
  48. package/dist/matter/behaviors/BehaviorRegistry.d.ts +3 -2
  49. package/dist/matter/behaviors/BehaviorRegistry.d.ts.map +1 -1
  50. package/dist/matter/behaviors/BehaviorRegistry.js +10 -1
  51. package/dist/matter/behaviors/BehaviorRegistry.js.map +1 -1
  52. package/dist/matter/behaviors/DoorLockBehavior.d.ts.map +1 -1
  53. package/dist/matter/behaviors/DoorLockBehavior.js +10 -4
  54. package/dist/matter/behaviors/DoorLockBehavior.js.map +1 -1
  55. package/dist/matter/config.d.ts +73 -1
  56. package/dist/matter/config.d.ts.map +1 -1
  57. package/dist/matter/config.js +138 -10
  58. package/dist/matter/config.js.map +1 -1
  59. package/dist/matter/configValidator.d.ts.map +1 -1
  60. package/dist/matter/configValidator.js +15 -0
  61. package/dist/matter/configValidator.js.map +1 -1
  62. package/dist/matter/ipc-types.d.ts +7 -0
  63. package/dist/matter/ipc-types.d.ts.map +1 -1
  64. package/dist/matter/logFormatter.d.ts.map +1 -1
  65. package/dist/matter/logFormatter.js +7 -60
  66. package/dist/matter/logFormatter.js.map +1 -1
  67. package/dist/matter/managerTypes.d.ts +4 -4
  68. package/dist/matter/managerTypes.d.ts.map +1 -1
  69. package/dist/matter/server/AccessoryManager.d.ts.map +1 -1
  70. package/dist/matter/server/AccessoryManager.js +9 -2
  71. package/dist/matter/server/AccessoryManager.js.map +1 -1
  72. package/dist/matter/server/ServerLifecycle.d.ts +23 -4
  73. package/dist/matter/server/ServerLifecycle.d.ts.map +1 -1
  74. package/dist/matter/server/ServerLifecycle.js +127 -22
  75. package/dist/matter/server/ServerLifecycle.js.map +1 -1
  76. package/dist/matter/server.js +1 -1
  77. package/dist/matter/server.js.map +1 -1
  78. package/dist/matter/types.d.ts +21 -57
  79. package/dist/matter/types.d.ts.map +1 -1
  80. package/dist/matter/types.js +6 -71
  81. package/dist/matter/types.js.map +1 -1
  82. package/dist/matter/utils.d.ts +2 -0
  83. package/dist/matter/utils.d.ts.map +1 -1
  84. package/dist/matter/utils.js +3 -1
  85. package/dist/matter/utils.js.map +1 -1
  86. package/dist/pluginManager.d.ts +11 -0
  87. package/dist/pluginManager.d.ts.map +1 -1
  88. package/dist/pluginManager.js +25 -3
  89. package/dist/pluginManager.js.map +1 -1
  90. package/dist/server.d.ts +29 -7
  91. package/dist/server.d.ts.map +1 -1
  92. package/dist/server.js +140 -47
  93. package/dist/server.js.map +1 -1
  94. package/package.json +8 -7
@@ -13,6 +13,29 @@ export declare const DEFAULT_BRIDGE_DEFAULTS: {
13
13
  readonly manufacturer: "homebridge.io";
14
14
  readonly model: "homebridge";
15
15
  };
16
+ /**
17
+ * HAP-specific configuration for a bridge. Mirrors the shape of `MatterConfig`
18
+ * so the two protocol blocks are symmetric and can be reasoned about uniformly.
19
+ */
20
+ export interface BridgeHapConfig {
21
+ /**
22
+ * Whether HAP is published for this bridge. Default `true` (so omitting the
23
+ * block, or omitting `enabled`, means HAP is on). Set to `false` to suppress
24
+ * the bridge's HAP advertisement while preserving any existing pairing.
25
+ *
26
+ * Both `hap` and `matter` may be disabled on the same bridge; the bridge
27
+ * then advertises nothing (it still loads, it just exposes no accessories).
28
+ */
29
+ enabled?: boolean;
30
+ /**
31
+ * When `true`, the bridge accessory itself is NOT published, but external
32
+ * accessories registered by plugins against this bridge ARE still published
33
+ * (each as its own standalone HAP accessory). Intended to be paired with
34
+ * `enabled: false`; if `externalsOnly: true` is set on its own, validation
35
+ * warns and normalises `enabled` to `false` rather than rejecting the config.
36
+ */
37
+ externalsOnly?: boolean;
38
+ }
16
39
  export interface BridgeConfiguration {
17
40
  name: string;
18
41
  username: MacAddress;
@@ -29,20 +52,54 @@ export interface BridgeConfiguration {
29
52
  serialNumber?: string;
30
53
  debugModeEnabled?: boolean;
31
54
  /**
32
- * When `false`, this bridge will not publish HAP. Useful for Matter-only
33
- * bridges where the user does not want to expose a HomeKit bridge accessory.
34
- * Default: `true` (HAP is published).
55
+ * HAP publishing config. Defaults to enabled when omitted.
35
56
  *
36
- * Note: at least one of `hap` or `matter` must be enabled per bridge —
37
- * setting `hap: false` without a `matter` configuration is rejected.
57
+ * The object form (`BridgeHapConfig`) is preferred. The bare boolean form
58
+ * (`hap: false` / `hap: true`) is the deprecated v2-beta shorthand, still
59
+ * accepted for back-compat and normalized to `{ enabled: <boolean> }` by
60
+ * `validateHapConfig`. The type allows it so existing configs keep compiling.
61
+ *
62
+ * @deprecated Pass `hap` as a boolean is deprecated; use `{ enabled }` instead.
38
63
  */
39
- hap?: boolean;
64
+ hap?: BridgeHapConfig | boolean;
40
65
  matter?: MatterConfig;
41
66
  env?: {
42
67
  DEBUG?: string;
43
68
  NODE_OPTIONS?: string;
44
69
  };
45
70
  }
71
+ /**
72
+ * Whether HAP is enabled for the given bridge configuration. HAP is on by
73
+ * default; users opt out via `hap: { enabled: false }`. Missing block or
74
+ * missing `enabled` both mean enabled.
75
+ *
76
+ * The legacy boolean form (`hap: false`/`hap: true`) is handled here too.
77
+ * `validateHapConfig` normalizes it to the object shape, but a raw `false`
78
+ * must still read as disabled even if this is reached before normalization —
79
+ * otherwise `!hap` (true for `false`) would wrongly report a disabled bridge
80
+ * as enabled and publish it anyway.
81
+ */
82
+ export declare function isHapConfigEnabled(hap: BridgeHapConfig | boolean | undefined): boolean;
83
+ /**
84
+ * Whether the bridge is in HAP externalsOnly mode (the bridge accessory itself
85
+ * is suppressed but external accessories still publish). Only the object form
86
+ * carries `externalsOnly`; the legacy boolean form never does, so it is always
87
+ * false there. Accepts the boolean form so callers can pass `bridge.hap`
88
+ * directly without narrowing.
89
+ */
90
+ export declare function isHapExternalsOnly(hap: BridgeHapConfig | boolean | undefined): boolean;
91
+ /**
92
+ * Validate a `hap` config block. Throws on hard errors (wrong type, conflict
93
+ * between `externalsOnly` and `enabled`). For accessory child bridges, strips
94
+ * `externalsOnly` with a warn-level log because externals are not supported
95
+ * via the accessory plugin API.
96
+ *
97
+ * Mutates the passed block in place when stripping fields.
98
+ */
99
+ export declare function validateHapConfig(bridgeConfig: BridgeConfiguration, opts: {
100
+ bridgeLabel: string;
101
+ isAccessoryPlugin?: boolean;
102
+ }): void;
46
103
  export interface AccessoryConfig extends Record<string, any> {
47
104
  accessory: AccessoryName | AccessoryIdentifier;
48
105
  name: string;
@@ -75,6 +132,14 @@ export interface HomebridgeConfig {
75
132
  export interface BridgeOptions extends HomebridgeOptions {
76
133
  cachedAccessoriesDir: string;
77
134
  cachedAccessoriesItemName: string;
135
+ externalAccessoriesItemName: string;
136
+ }
137
+ export interface ExternalAccessoryMetadata {
138
+ username: MacAddress;
139
+ plugin: PluginIdentifier;
140
+ displayName: string;
141
+ category: number;
142
+ port?: number;
78
143
  }
79
144
  export interface CharacteristicWarningOpts {
80
145
  ignoreSlow?: boolean;
@@ -91,6 +156,7 @@ export declare class BridgeService {
91
156
  private cachedPlatformAccessories;
92
157
  private cachedAccessoriesFileLoaded;
93
158
  private readonly publishedExternalAccessories;
159
+ private readonly publishedExternalAccessoriesMetadata;
94
160
  constructor(api: HomebridgeAPI, pluginManager: PluginManager, externalPortService: ExternalPortService, bridgeOptions: BridgeOptions, bridgeConfig: BridgeConfiguration);
95
161
  static printCharacteristicWriteWarning(plugin: Plugin, accessory: Accessory, opts: CharacteristicWarningOpts, warning: CharacteristicWarning): void;
96
162
  publishBridge(): void;
@@ -117,6 +183,12 @@ export declare class BridgeService {
117
183
  * Save the cached accessories back to disk.
118
184
  */
119
185
  saveCachedPlatformAccessoriesOnDisk(): void;
186
+ /**
187
+ * Save metadata for currently published external accessories so external tools (e.g. the
188
+ * Homebridge UI) can attribute each accessory to the plugin that published it. The
189
+ * underlying HAP `AccessoryInfo` files do not store plugin attribution.
190
+ */
191
+ saveExternalAccessoriesMetadataOnDisk(): void;
120
192
  handleRegisterPlatformAccessories(accessories: PlatformAccessory[]): void;
121
193
  handleUpdatePlatformAccessories(accessories: PlatformAccessory[]): void;
122
194
  handleUnregisterPlatformAccessories(accessories: PlatformAccessory[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeService.d.ts","sourceRoot":"","sources":["../src/bridgeService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridgeService.d.ts","sourceRoot":"","sources":["../src/bridgeService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,UAAU,EACV,cAAc,EAGf,MAAM,wBAAwB,CAAA;AAE/B,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,UAAU,CAAA;AACjB,OAAO,KAAK,EAAE,0BAA0B,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC/F,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAEpD,OAAO,EACL,SAAS,EAET,MAAM,EASP,MAAM,wBAAwB,CAAA;AAI/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAKlD,eAAO,MAAM,uBAAuB;;;;CAI1B,CAAA;AAIV;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,UAAU,CAAA;IACpB,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,CAAC,EAAE,cAAc,CAAA;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,CAAC,aAAa,GAAG,SAAS,CAAC,EAAE,CAAA;IAClE,sFAAsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;;;;OASG;IACH,GAAG,CAAC,EAAE,eAAe,GAAG,OAAO,CAAA;IAC/B,MAAM,CAAC,EAAE,YAAY,CAAA;IACrB,GAAG,CAAC,EAAE;QACJ,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,YAAY,CAAC,EAAE,MAAM,CAAA;KACtB,CAAA;CACF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAKtF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAEtF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,mBAAmB,EACjC,IAAI,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GACzD,IAAI,CA0CN;AAED,MAAM,WAAW,eAAgB,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAC1D,SAAS,EAAE,aAAa,GAAG,mBAAmB,CAAA;IAC9C,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B;AAED,MAAM,WAAW,cAAe,SAAQ,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IACzD,QAAQ,EAAE,YAAY,GAAG,kBAAkB,CAAA;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,mBAAmB,CAAA;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,mBAAmB,CAAA;IAE3B;;OAEG;IACH,IAAI,CAAC,EAAE,GAAG,CAAA;IAEV,WAAW,EAAE,eAAe,EAAE,CAAA;IAC9B,SAAS,EAAE,cAAc,EAAE,CAAA;IAE3B,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAE5B;;;;OAIG;IACH,eAAe,CAAC,EAAE,gBAAgB,EAAE,CAAA;IAGpC,KAAK,CAAC,EAAE,0BAA0B,CAAA;IAIlC,WAAW,CAAC,EAAE,0BAA0B,CAAA;CACzC;AAED,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,oBAAoB,EAAE,MAAM,CAAA;IAC5B,yBAAyB,EAAE,MAAM,CAAA;IACjC,2BAA2B,EAAE,MAAM,CAAA;CACpC;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,UAAU,CAAA;IACpB,MAAM,EAAE,gBAAgB,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,yBAAyB;IACxC,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,qBAAa,aAAa;IAUtB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,YAAY;IAbf,MAAM,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,yBAAyB,CAA0B;IAC3D,OAAO,CAAC,2BAA2B,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAgD;IAC7F,OAAO,CAAC,QAAQ,CAAC,oCAAoC,CAAwD;gBAGnG,GAAG,EAAE,aAAa,EAClB,aAAa,EAAE,aAAa,EAC5B,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,aAAa,EAC5B,YAAY,EAAE,mBAAmB;WAkC7B,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,qBAAqB,GAAG,IAAI;IA+BnJ,aAAa,IAAI,IAAI;IAsC5B;;OAEG;IACU,qCAAqC,IAAI,OAAO,CAAC,IAAI,CAAC;IA+BnE;;OAEG;IACH,OAAO,KAAK,mBAAmB,GAE9B;IAED;;;OAGG;YACW,6BAA6B;IAQ3C;;;OAGG;YACW,8BAA8B;IAYrC,gCAAgC,IAAI,IAAI;IAoD/C;;OAEG;IACI,mCAAmC,IAAI,IAAI;IAclD;;;;OAIG;IACI,qCAAqC,IAAI,IAAI;IAapD,iCAAiC,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAmEzE,+BAA+B,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAkBvE,mCAAmC,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,IAAI;IAcrE,gCAAgC,CAAC,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAiEhF,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,GAAG,mBAAmB,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS;IAiDnL,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,YAAY,EAAE,YAAY,GAAG,kBAAkB,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAoC7K,QAAQ,IAAI,IAAI;IAgBhB,OAAO,CAAC,MAAM,CAAC,gBAAgB;CAOhC"}
@@ -11,6 +11,75 @@ export const DEFAULT_BRIDGE_DEFAULTS = {
11
11
  model: 'homebridge',
12
12
  };
13
13
  const log = Logger.internal;
14
+ /**
15
+ * Whether HAP is enabled for the given bridge configuration. HAP is on by
16
+ * default; users opt out via `hap: { enabled: false }`. Missing block or
17
+ * missing `enabled` both mean enabled.
18
+ *
19
+ * The legacy boolean form (`hap: false`/`hap: true`) is handled here too.
20
+ * `validateHapConfig` normalizes it to the object shape, but a raw `false`
21
+ * must still read as disabled even if this is reached before normalization —
22
+ * otherwise `!hap` (true for `false`) would wrongly report a disabled bridge
23
+ * as enabled and publish it anyway.
24
+ */
25
+ export function isHapConfigEnabled(hap) {
26
+ if (typeof hap === 'boolean') {
27
+ return hap;
28
+ }
29
+ return !hap || hap.enabled !== false;
30
+ }
31
+ /**
32
+ * Whether the bridge is in HAP externalsOnly mode (the bridge accessory itself
33
+ * is suppressed but external accessories still publish). Only the object form
34
+ * carries `externalsOnly`; the legacy boolean form never does, so it is always
35
+ * false there. Accepts the boolean form so callers can pass `bridge.hap`
36
+ * directly without narrowing.
37
+ */
38
+ export function isHapExternalsOnly(hap) {
39
+ return typeof hap === 'object' && hap.externalsOnly === true;
40
+ }
41
+ /**
42
+ * Validate a `hap` config block. Throws on hard errors (wrong type, conflict
43
+ * between `externalsOnly` and `enabled`). For accessory child bridges, strips
44
+ * `externalsOnly` with a warn-level log because externals are not supported
45
+ * via the accessory plugin API.
46
+ *
47
+ * Mutates the passed block in place when stripping fields.
48
+ */
49
+ export function validateHapConfig(bridgeConfig, opts) {
50
+ const hap = bridgeConfig.hap;
51
+ if (hap === undefined) {
52
+ return;
53
+ }
54
+ // Back-compat: the v2 beta used a boolean `hap` (`hap: false` to disable HAP,
55
+ // `hap: true` to force it on). Normalize it to the object shape rather than
56
+ // rejecting it — this is not a major-version change, so existing configs that
57
+ // still use the boolean form must keep working without a manual edit.
58
+ if (typeof hap === 'boolean') {
59
+ bridgeConfig.hap = { enabled: hap };
60
+ log.warn(`${opts.bridgeLabel}: 'hap: ${hap}' is deprecated; treating it as 'hap: { enabled: ${hap} }'. Please update your config to the object form.`);
61
+ return;
62
+ }
63
+ if (typeof hap !== 'object' || hap === null || Array.isArray(hap)) {
64
+ throw new Error(`${opts.bridgeLabel}: 'hap' must be a boolean or an object with optional 'enabled' and 'externalsOnly' fields, not a ${Array.isArray(hap) ? 'array' : typeof hap}.`);
65
+ }
66
+ const hapBlock = hap;
67
+ if (hapBlock.externalsOnly === true) {
68
+ if (opts.isAccessoryPlugin) {
69
+ log.warn(`${opts.bridgeLabel}: 'hap.externalsOnly' is not supported on accessory child bridges. Ignoring.`);
70
+ delete hapBlock.externalsOnly;
71
+ return;
72
+ }
73
+ if (hapBlock.enabled !== false) {
74
+ // Honour the unambiguous intent rather than failing the whole process:
75
+ // warn and normalise `enabled` to false so the block matches the canonical
76
+ // externalsOnly form every downstream check expects. Mirrors
77
+ // validateMatterExternalsOnly — the two protocol blocks stay symmetric.
78
+ log.warn(`${opts.bridgeLabel}: 'hap.externalsOnly: true' was set without 'hap.enabled: false'. Proceeding in externalsOnly mode (the bridge accessory will not publish). Set 'hap.enabled: false' to confirm intent and silence this warning.`);
79
+ hapBlock.enabled = false;
80
+ }
81
+ }
82
+ }
14
83
  export class BridgeService {
15
84
  api;
16
85
  pluginManager;
@@ -23,6 +92,7 @@ export class BridgeService {
23
92
  cachedPlatformAccessories = [];
24
93
  cachedAccessoriesFileLoaded = false;
25
94
  publishedExternalAccessories = new Map();
95
+ publishedExternalAccessoriesMetadata = new Map();
26
96
  constructor(api, pluginManager, externalPortService, bridgeOptions, bridgeConfig) {
27
97
  this.api = api;
28
98
  this.pluginManager = pluginManager;
@@ -31,6 +101,14 @@ export class BridgeService {
31
101
  this.bridgeConfig = bridgeConfig;
32
102
  this.storageService = new StorageService(this.bridgeOptions.cachedAccessoriesDir);
33
103
  this.storageService.initSync();
104
+ // Externals are republished from scratch on every startup, so any persisted metadata
105
+ // from a previous run is stale until the owning plugin re-registers its accessories.
106
+ try {
107
+ this.storageService.removeItemSync(this.bridgeOptions.externalAccessoriesItemName);
108
+ }
109
+ catch (error) {
110
+ log.warn('Failed to clear stale external accessories metadata file:', error.message);
111
+ }
34
112
  // Server is "secure by default", meaning it creates a top-level Bridge accessory that
35
113
  // will not allow unauthenticated requests. This matches the behavior of actual HomeKit
36
114
  // accessories. However, you can set this to true to allow all requests without authentication,
@@ -239,7 +317,33 @@ export class BridgeService {
239
317
  log.error('Your accessories will not persist between restarts until this issue is resolved.');
240
318
  }
241
319
  }
320
+ /**
321
+ * Save metadata for currently published external accessories so external tools (e.g. the
322
+ * Homebridge UI) can attribute each accessory to the plugin that published it. The
323
+ * underlying HAP `AccessoryInfo` files do not store plugin attribution.
324
+ */
325
+ saveExternalAccessoriesMetadataOnDisk() {
326
+ try {
327
+ const entries = Array.from(this.publishedExternalAccessoriesMetadata.values());
328
+ if (entries.length === 0) {
329
+ this.storageService.removeItemSync(this.bridgeOptions.externalAccessoriesItemName);
330
+ return;
331
+ }
332
+ this.storageService.setItemSync(this.bridgeOptions.externalAccessoriesItemName, entries);
333
+ }
334
+ catch (error) {
335
+ log.error('Failed to save external accessories metadata to disk:', error.message);
336
+ }
337
+ }
242
338
  handleRegisterPlatformAccessories(accessories) {
339
+ // In HAP externalsOnly mode the bridge accessory itself is never published,
340
+ // so bridged accessories registered here are added to the (unpublished)
341
+ // bridge and will not advertise. Log a debug breadcrumb for parity with the
342
+ // Matter manager's externalsOnly drop-stubs — external accessories still
343
+ // publish via handlePublishExternalAccessories.
344
+ if (isHapExternalsOnly(this.bridgeConfig.hap)) {
345
+ log.debug(`HAP externalsOnly mode: ${accessories.length} bridged accessor${accessories.length === 1 ? 'y' : 'ies'} registered to this bridge will not be advertised (only external accessories publish).`);
346
+ }
243
347
  const hapAccessories = accessories.map((accessory) => {
244
348
  const newUUID = accessory._associatedHAPAccessory.UUID;
245
349
  // Check for UUID collision against already-cached platform accessories.
@@ -297,9 +401,12 @@ export class BridgeService {
297
401
  this.saveCachedPlatformAccessoriesOnDisk();
298
402
  }
299
403
  async handlePublishExternalAccessories(accessories) {
300
- // HAP must be enabled to publish external accessories
301
- if (this.bridgeConfig.hap === false) {
302
- log.debug('Skipping external accessory HAP publish: HAP is disabled for this bridge (bridgeConfig.hap=false).');
404
+ // HAP must be enabled to publish externals, unless the bridge is in
405
+ // externalsOnly mode (where the bridge itself is suppressed but its
406
+ // externals continue to advertise as standalone HAP accessories).
407
+ const hap = this.bridgeConfig.hap;
408
+ if (!isHapConfigEnabled(hap) && !isHapExternalsOnly(hap)) {
409
+ log.debug('Skipping external accessory HAP publish: HAP is disabled for this bridge (hap.enabled=false).');
303
410
  return;
304
411
  }
305
412
  const accessoryPin = this.bridgeConfig.pin;
@@ -313,6 +420,13 @@ export class BridgeService {
313
420
  }
314
421
  else {
315
422
  this.publishedExternalAccessories.set(advertiseAddress, accessory);
423
+ this.publishedExternalAccessoriesMetadata.set(advertiseAddress, {
424
+ username: advertiseAddress,
425
+ plugin: accessory._associatedPlugin,
426
+ displayName: hapAccessory.displayName,
427
+ category: accessory.category,
428
+ port: accessoryPort,
429
+ });
316
430
  }
317
431
  const plugin = this.pluginManager.getPlugin(accessory._associatedPlugin);
318
432
  if (plugin) {
@@ -341,6 +455,7 @@ export class BridgeService {
341
455
  log.error('Failed to publish external accessory \'%s\': %s', hapAccessory.displayName, message);
342
456
  });
343
457
  }
458
+ this.saveExternalAccessoriesMetadataOnDisk();
344
459
  }
345
460
  createHAPAccessory(plugin, accessoryInstance, displayName, accessoryType, uuidBase) {
346
461
  const services = (accessoryInstance.getServices() || [])
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeService.js","sourceRoot":"","sources":["../src/bridgeService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bridgeService.js","sourceRoot":"","sources":["../src/bridgeService.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,18 @@ export declare class ChildBridgeFork {
20
20
  sendMessage<T = unknown>(type: ChildProcessMessageEventType, data?: T): void;
21
21
  loadPlugin(data: ChildProcessLoadEventData): Promise<void>;
22
22
  startBridge(): Promise<void>;
23
+ /**
24
+ * Decide whether to publish the HAP bridge based on the bridge's `hap`
25
+ * config block. Three branches:
26
+ * - HAP enabled and not externalsOnly → publishBridge()
27
+ * - externalsOnly: true → log externalsOnly notice, externals will publish via their own path
28
+ * - hap.enabled: false → log disabled notice (warn if Matter is also inactive,
29
+ * since the child bridge then advertises nothing at all)
30
+ *
31
+ * Public for testability (the bridgeService dependency is set up in startBridge,
32
+ * so direct invocation from tests is straightforward with a mocked bridgeService).
33
+ */
34
+ publishHapIfEnabled(): void;
23
35
  /**
24
36
  * Request the next available external HAP port from the parent process
25
37
  * @param username
@@ -1 +1 @@
1
- {"version":3,"file":"childBridgeFork.d.ts","sourceRoot":"","sources":["../src/childBridgeFork.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AASxD,OAAO,KAAK,EAEV,yBAAyB,EAGzB,kCAAkC,EAEnC,MAAM,yBAAyB,CAAA;AAWhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAOtE,OAAO,gCAAgC,CAAA;AAUvC,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,mBAAmB,CAAiC;IAG5D,OAAO,CAAC,aAAa,CAAC,CAA0B;IAGhD,OAAO,CAAC,oBAAoB,CAAC,CAAiC;IAE9D,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,mBAAmB,CAAiE;;IAO5F,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IAStE,UAAU,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IA4D1D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IA0IlC;;;OAGG;IACU,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqBnF;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA2B7E;;;OAGG;IACI,sBAAsB,CAAC,IAAI,EAAE,kCAAkC,GAAG,IAAI;IAO7E;;;OAGG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIhD;;OAEG;IACI,qBAAqB;IAa5B;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAInC;;OAEG;IACH,0BAA0B,IAAI,IAAI;IAIlC;;OAEG;IACH,0BAA0B,IAAI,IAAI;IAsBlC;;OAEG;IACH,4BAA4B,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI1D;;OAEG;IACH,4BAA4B,CAAC,IAAI,EAAE;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACnC,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,IAAI;IAIR,QAAQ,IAAI,IAAI;CAUjB"}
1
+ {"version":3,"file":"childBridgeFork.d.ts","sourceRoot":"","sources":["../src/childBridgeFork.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AASxD,OAAO,KAAK,EAEV,yBAAyB,EAGzB,kCAAkC,EAEnC,MAAM,yBAAyB,CAAA;AAWhC,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAA;AAQtE,OAAO,gCAAgC,CAAA;AAUvC,qBAAa,eAAe;IAC1B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,GAAG,CAAgB;IAC3B,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,mBAAmB,CAAiC;IAG5D,OAAO,CAAC,aAAa,CAAC,CAA0B;IAGhD,OAAO,CAAC,oBAAoB,CAAC,CAAiC;IAE9D,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,mBAAmB,CAAiE;;IAO5F,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IAStE,UAAU,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE1D,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAwIlC;;;;;;;;;;OAUG;IACI,mBAAmB,IAAI,IAAI;IAkBlC;;;OAGG;IACU,mBAAmB,CAAC,QAAQ,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAqBnF;;;OAGG;IACU,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IA2B7E;;;OAGG;IACI,sBAAsB,CAAC,IAAI,EAAE,kCAAkC,GAAG,IAAI;IAO7E;;;OAGG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIhD;;OAEG;IACI,qBAAqB;IAa5B;;OAEG;IACH,2BAA2B,IAAI,IAAI;IAInC;;OAEG;IACH,0BAA0B,IAAI,IAAI;IAIlC;;OAEG;IACH,0BAA0B,IAAI,IAAI;IAsBlC;;OAEG;IACH,4BAA4B,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI1D;;OAEG;IACH,4BAA4B,CAAC,IAAI,EAAE;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,MAAM,CAAA;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QACnC,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,GAAG,IAAI;IAIR,QAAQ,IAAI,IAAI;CAUjB"}
@@ -2,10 +2,11 @@
2
2
  import process from 'node:process';
3
3
  import { HAPStorage } from '@homebridge/hap-nodejs';
4
4
  import { HomebridgeAPI } from './api.js';
5
- import { BridgeService } from './bridgeService.js';
5
+ import { BridgeService, isHapConfigEnabled, isHapExternalsOnly } from './bridgeService.js';
6
6
  import { ChildBridgeExternalPortService } from './externalPortService.js';
7
7
  import { Logger } from './logger.js';
8
8
  import { ChildBridgeMatterMessageHandler } from './matter/ChildBridgeMatterMessageHandler.js';
9
+ import { isMatterActive } from './matter/config.js';
9
10
  import { PluginManager } from './pluginManager.js';
10
11
  import { User } from './user.js';
11
12
  import 'source-map-support/register.js';
@@ -73,11 +74,15 @@ export class ChildBridgeFork {
73
74
  this.pluginManager = new PluginManager(this.api);
74
75
  this.externalPortService = new ChildBridgeExternalPortService(this);
75
76
  // Eagerly load the MatterAPI facade BEFORE plugin init when Matter is
76
- // configured for this child bridge, so api.matter is defined when the
77
+ // active for this child bridge, so api.matter is defined when the
77
78
  // plugin's initializer runs. The heavy ChildBridgeMatterManager init
78
79
  // still happens later in startBridge(). Matter is unsupported on
79
80
  // accessory-style child bridges, so skip there.
80
- if (this.bridgeConfig.matter && this.type !== "accessory" /* PluginType.ACCESSORY */) {
81
+ //
82
+ // `isMatterActive` includes externalsOnly mode so plugins can still call
83
+ // api.matter.publishExternalAccessories even when the bridge node itself
84
+ // is suppressed.
85
+ if (isMatterActive(this.bridgeConfig.matter) && this.type !== "accessory" /* PluginType.ACCESSORY */) {
81
86
  await this.api.loadMatterAPI();
82
87
  }
83
88
  // load plugin
@@ -91,12 +96,13 @@ export class ChildBridgeFork {
91
96
  });
92
97
  }
93
98
  async startBridge() {
94
- // Conditionally load Matter support only if this child bridge has Matter configured
95
- // This prevents loading heavy Matter.js libraries for child bridges that don't use it
96
- if (this.bridgeConfig.matter && this.type === "accessory" /* PluginType.ACCESSORY */) {
99
+ // Conditionally load Matter support only if this child bridge has Matter active
100
+ // (configured + enabled OR externalsOnly). Prevents loading heavy Matter.js
101
+ // libraries for child bridges that don't use it.
102
+ if (isMatterActive(this.bridgeConfig.matter) && this.type === "accessory" /* PluginType.ACCESSORY */) {
97
103
  matterLogger.warn('Matter is not supported on accessory child bridges. Ignoring matter configuration.');
98
104
  }
99
- if (this.bridgeConfig.matter && this.type !== "accessory" /* PluginType.ACCESSORY */) {
105
+ if (isMatterActive(this.bridgeConfig.matter) && this.type !== "accessory" /* PluginType.ACCESSORY */) {
100
106
  matterLogger.info('Loading Matter support for child bridge...');
101
107
  // Note: api.loadMatterAPI() was already called at the start of loadPlugin()
102
108
  // so api.matter is already defined by the time the plugin's initializer ran.
@@ -178,15 +184,11 @@ export class ChildBridgeFork {
178
184
  if (this.matterManager) {
179
185
  this.matterManager.restoreCachedAccessories(this.bridgeOptions.keepOrphanedCachedAccessories ?? false);
180
186
  }
181
- // Publish HAP only when not opted out via bridgeConfig.hap=false. The
182
- // protocol-enablement check in Server.validateChildBridgeConfig has
183
- // already guaranteed at least one of HAP or Matter is on for this bridge.
184
- if (this.bridgeConfig.hap !== false) {
185
- this.bridgeService.publishBridge();
186
- }
187
- else {
188
- Logger.internal.info('HAP is disabled for this child bridge (bridgeConfig.hap=false); skipping HAP publish.');
189
- }
187
+ // Publish HAP only when not opted out via hap.enabled=false and not in
188
+ // externalsOnly mode. Both protocols may be disabled or in externalsOnly
189
+ // mode, in which case this child bridge advertises nothing of its own
190
+ // (externals can still publish independently in externalsOnly mode).
191
+ this.publishHapIfEnabled();
190
192
  this.api.signalFinished();
191
193
  // Send initial status update with HAP and Matter info BEFORE telling parent we're online
192
194
  // This ensures the parent's cache is populated before any UI status updates
@@ -194,6 +196,37 @@ export class ChildBridgeFork {
194
196
  // tell the parent we are online
195
197
  this.sendMessage("online" /* ChildProcessMessageEventType.ONLINE */);
196
198
  }
199
+ /**
200
+ * Decide whether to publish the HAP bridge based on the bridge's `hap`
201
+ * config block. Three branches:
202
+ * - HAP enabled and not externalsOnly → publishBridge()
203
+ * - externalsOnly: true → log externalsOnly notice, externals will publish via their own path
204
+ * - hap.enabled: false → log disabled notice (warn if Matter is also inactive,
205
+ * since the child bridge then advertises nothing at all)
206
+ *
207
+ * Public for testability (the bridgeService dependency is set up in startBridge,
208
+ * so direct invocation from tests is straightforward with a mocked bridgeService).
209
+ */
210
+ publishHapIfEnabled() {
211
+ const hap = this.bridgeConfig.hap;
212
+ if (isHapConfigEnabled(hap) && !isHapExternalsOnly(hap)) {
213
+ this.bridgeService.publishBridge();
214
+ }
215
+ else if (isHapExternalsOnly(hap)) {
216
+ Logger.internal.info('HAP externalsOnly mode for this child bridge; bridge accessory will not publish but external accessories will.');
217
+ }
218
+ else if (!this.matterManager) {
219
+ // HAP is off (plain disabled, not externalsOnly) AND Matter is inactive
220
+ // for this child (matterManager is only constructed when Matter is active,
221
+ // including externalsOnly). A child bridge exists solely to advertise its
222
+ // accessories, so one with neither protocol is almost certainly a
223
+ // misconfiguration — surface it loudly rather than as a quiet info line.
224
+ Logger.internal.warn('Both HAP and Matter are disabled for this child bridge; it will not advertise any accessories. Check the \'hap\' and \'matter\' config blocks for this child bridge.');
225
+ }
226
+ else {
227
+ Logger.internal.info('HAP is disabled for this child bridge (hap.enabled=false); skipping HAP publish.');
228
+ }
229
+ }
197
230
  /**
198
231
  * Request the next available external HAP port from the parent process
199
232
  * @param username
@@ -1 +1 @@
1
- {"version":3,"file":"childBridgeFork.js","sourceRoot":"","sources":["../src/childBridgeFork.ts"],"names":[],"mappings":"AAAA,mBAAmB;AAuBnB,OAAO,OAAO,MAAM,cAAc,CAAA;AAElC,OAAO,EAAuB,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAExE,OAAO,EAAE,aAAa,EAAc,MAAM,UAAU,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAA;AACzE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,+BAA+B,EAAE,MAAM,6CAA6C,CAAA;AAC7F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,OAAO,gCAAgC,CAAA;AAEvC;;GAEG;AAEH,OAAO,CAAC,KAAK,GAAG,0BAA0B,CAAA;AAE1C,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAA;AAE7D,MAAM,OAAO,eAAe;IAClB,aAAa,CAAgB;IAC7B,GAAG,CAAgB;IACnB,aAAa,CAAgB;IAC7B,mBAAmB,CAAiC;IAE5D,0DAA0D;IAClD,aAAa,CAA2B;IAEhD,yDAAyD;IACjD,oBAAoB,CAAkC;IAEtD,IAAI,CAAa;IACjB,MAAM,CAAS;IACf,UAAU,CAAS;IACnB,YAAY,CAA0C;IACtD,YAAY,CAAsB;IAClC,aAAa,CAAgB;IAE7B,mBAAmB,GAAwD,IAAI,GAAG,EAAE,CAAA;IAE5F;QACE,+DAA+D;QAC/D,IAAI,CAAC,WAAW,kDAAoC,CAAA;IACtD,CAAC;IAED,WAAW,CAAc,IAAkC,EAAE,IAAQ;QACnE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC;gBACX,EAAE,EAAE,IAAI;gBACR,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAA+B;QAC9C,WAAW;QACX,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAA;QACjC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAA;QACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAA;QAEvC,mEAAmE;QACnE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,OAAO,MAAM,CAAC,OAAO,CAAA;QACvB,CAAC;QAED,mDAAmD;QACnD,IAAI,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;YACvC,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;YACxC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,kBAAkB,EAAE,CAAC;YAC1C,MAAM,CAAC,UAAU,EAAE,CAAA;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACzC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAA;QAC3D,CAAC;QAED,wDAAwD;QACxD,UAAU,CAAC,oBAAoB,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QAEnD,WAAW;QACX,IAAI,CAAC,GAAG,GAAG,IAAI,aAAa,EAAE,CAAA;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAChD,IAAI,CAAC,mBAAmB,GAAG,IAAI,8BAA8B,CAAC,IAAI,CAAC,CAAA;QAEnE,sEAAsE;QACtE,sEAAsE;QACtE,qEAAqE;QACrE,iEAAiE;QACjE,gDAAgD;QAChD,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,2CAAyB,EAAE,CAAC;YACnE,MAAM,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;QAChC,CAAC;QAED,cAAc;QACd,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC5D,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;QACxB,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;QAEvE,8CAA8C;QAC9C,OAAO,CAAC,KAAK,GAAG,eAAe,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EAAE,CAAA;QAElE,IAAI,CAAC,WAAW,qDAAyE;YACvF,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;SAC7B,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,WAAW;QACf,oFAAoF;QACpF,sFAAsF;QACtF,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,2CAAyB,EAAE,CAAC;YACnE,YAAY,CAAC,IAAI,CAAC,oFAAoF,CAAC,CAAA;QACzG,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,2CAAyB,EAAE,CAAC;YACnE,YAAY,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAA;YAE/D,4EAA4E;YAC5E,6EAA6E;YAE7E,qDAAqD;YACrD,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;YAEtE,+BAA+B;YAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAwB,CAC/C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,aAAa,CACnB,CAAA;YAED,qDAAqD;YACrD,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;YAE9C,yCAAyC;YACzC,kEAAkE;YAClE,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,GAAG,EAAE;gBACvC,IAAI,CAAC,qBAAqB,EAAE,CAAA;YAC9B,CAAC,CAAC,CAAA;YAEF,yDAAyD;YACzD,YAAY,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAA;YACjE,IAAI,CAAC,oBAAoB,GAAG,IAAI,+BAA+B,CAC7D,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAC1B,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,IAAoC,EAAE,IAAI,CAAC,CAC7E,CAAA;YACD,YAAY,CAAC,KAAK,CAAC,mDAAmD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAA;QACrG,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,KAAK,CAAC,oEAAoE,CAAC,CAAA;QAC1F,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CACpC,IAAI,CAAC,GAAG,EACR,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,YAAY,CAClB,CAAA;QAED,qDAAqD;QACrD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,oDAAiC,GAAG,EAAE;YAChE,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,yDAAyD;QACzD,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,4CAA6B,GAAG,EAAE;YAC5D,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,2DAA2D;QAC3D,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,gDAA+B,GAAG,EAAE;YAC9D,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAC9B,CAAC,CAAC,CAAA;QAEF,8BAA8B;QAC9B,MAAM,IAAI,CAAC,aAAa,CAAC,qCAAqC,EAAE,CAAA;QAEhE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,yCAAwB,EAAE,CAAC;gBACtC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACvE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAA;gBAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;gBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAClE,MAAM,QAAQ,GAAmB,IAAI,WAAW,CAAC,MAAM,EAAE,MAAwB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;gBAE5F,IAAI,aAAa,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACpD,MAAM,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;gBACzD,CAAC;qBAAM,IAAI,aAAa,CAAC,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,+BAA+B;oBAC1F,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;gBAC7F,CAAC;qBAAM,CAAC;oBACN,sFAAsF;oBACtF,sDAAsD;gBACxD,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,2CAAyB,EAAE,CAAC;gBAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACxE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAA;gBAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,8EAA8E,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;oBACrH,OAAM;gBACR,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAA;gBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBACnE,MAAM,iBAAiB,GAAoB,IAAI,WAAW,CAAC,MAAM,EAAE,MAAyB,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;gBAEvG,8IAA8I;gBAC9I,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;gBAElI,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA;gBAC1D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,8EAA8E,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;gBACzG,CAAC;YACH,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,CAAC,aAAa,CAAC,gCAAgC,EAAE,CAAA;QAErD,kEAAkE;QAClE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,IAAI,CAAC,aAAa,CAAC,6BAA6B,IAAI,KAAK,CAAC,CAAA;QACxG,CAAC;QAED,sEAAsE;QACtE,oEAAoE;QACpE,0EAA0E;QAC1E,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,KAAK,KAAK,EAAE,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAA;QACpC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,uFAAuF,CAAC,CAAA;QAC/G,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAA;QAEzB,yFAAyF;QACzF,4EAA4E;QAC5E,IAAI,CAAC,qBAAqB,EAAE,CAAA;QAE5B,gCAAgC;QAChC,IAAI,CAAC,WAAW,oDAAqC,CAAA;IACvD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,mBAAmB,CAAC,QAAoB;QACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBACrC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAA;gBAC3H,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACzC,OAAO,CAAC,SAAS,CAAC,CAAA;YACpB,CAAC,EAAE,IAAI,CAAC,CAAA;YAER,iBAAiB;YACjB,MAAM,QAAQ,GAAG,CAAC,IAAwB,EAAE,EAAE;gBAC5C,YAAY,CAAC,cAAc,CAAC,CAAA;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;gBACzC,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAA;YACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAEhD,oBAAoB;YACpB,IAAI,CAAC,WAAW,gEAA8E,EAAE,QAAQ,EAAE,CAAC,CAAA;QAC7G,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,iBAAiB,CAAC,QAAgB;QAC7C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,+CAA+C;YAC/C,MAAM,GAAG,GAAG,QAAsB,CAAA;YAElC,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;gBACrC,YAAY,CAAC,IAAI,CAAC,4GAA4G,CAAC,CAAA;gBAC/H,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACpC,OAAO,CAAC,SAAS,CAAC,CAAA;YACpB,CAAC,EAAE,IAAI,CAAC,CAAA;YAER,iBAAiB;YACjB,MAAM,QAAQ,GAAG,CAAC,IAAwB,EAAE,EAAE;gBAC5C,YAAY,CAAC,cAAc,CAAC,CAAA;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACpC,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAA;YACD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAE3C,2BAA2B;YAC3B,IAAI,CAAC,WAAW,gEAA8E;gBAC5F,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,QAAQ;aACnB,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACI,sBAAsB,CAAC,IAAwC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC5D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,QAAgB;QACvC,IAAI,CAAC,WAAW,6EAAyE,EAAE,QAAQ,EAAE,CAAC,CAAA;IACxG,CAAC;IAED;;OAEG;IACI,qBAAqB;QAC1B,qDAAqD;QACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,mBAAmB,EAAE,CAAA;QAC5D,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAA;QAEhE,IAAI,CAAC,WAAW,4DAA+E;YAC7F,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC3F,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/E,uDAAuD;YACvD,GAAG,CAAC,UAAU,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;SAC1C,CAAC,CAAA;IACJ,CAAC;IAED;;OAEG;IACH,2BAA2B;QACzB,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,EAAE,CAAA;IAC1D,CAAC;IAED;;OAEG;IACH,0BAA0B;QACxB,IAAI,CAAC,oBAAoB,EAAE,0BAA0B,EAAE,CAAA;IACzD,CAAC;IAED;;OAEG;IACH,0BAA0B;QACxB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC/B,qEAAqE;YACrE,qEAAqE;YACrE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,qDAAqD;gBACrD,OAAM;YACR,CAAC;YAED,MAAM,KAAK,GAAgB;gBACzB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE;oBACJ,cAAc,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ;oBAC1C,WAAW,EAAE,EAAE;iBAChB;aACF,CAAA;YACD,IAAI,CAAC,WAAW,gEAA4C,KAAK,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,IAAI,CAAC,oBAAoB,CAAC,0BAA0B,EAAE,CAAA;IACxD,CAAC;IAED;;OAEG;IACH,4BAA4B,CAAC,IAAsB;QACjD,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED;;OAEG;IACH,4BAA4B,CAAC,IAK5B;QACC,IAAI,CAAC,oBAAoB,EAAE,4BAA4B,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAA;QAE7B,iEAAiE;QACjE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACrD,YAAY,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;YACjE,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAA;AAE7C;;GAEG;AACH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAA0C,EAAE,EAAE;IACnE,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;QAC/C,OAAM;IACR,CAAC;IAED,QAAQ,OAAO,CAAC,EAAE,EAAE,CAAC;QACnB,mDAAsC,CAAC,CAAC,CAAC;YACvC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,IAAiC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBAC7F,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;gBACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC,CAAC,CAAA;YACF,MAAK;QACP,CAAC;QACD,qDAAuC,CAAC,CAAC,CAAC;YACxC,eAAe,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACrD,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAA;gBAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjB,CAAC,CAAC,CAAA;YACF,MAAK;QACP,CAAC;QACD,sEAAgD,CAAC,CAAC,CAAC;YACjD,eAAe,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAA0C,CAAC,CAAA;YAC1F,MAAK;QACP,CAAC;QACD,uFAAyD,CAAC,CAAC,CAAC;YAC1D,eAAe,CAAC,2BAA2B,EAAE,CAAA;YAC7C,MAAK;QACP,CAAC;QACD,qFAAwD,CAAC,CAAC,CAAC;YACzD,eAAe,CAAC,0BAA0B,EAAE,CAAA;YAC5C,MAAK;QACP,CAAC;QACD,qFAAwD,CAAC,CAAC,CAAC;YACzD,eAAe,CAAC,0BAA0B,EAAE,CAAA;YAC5C,MAAK;QACP,CAAC;QACD,0FAA2D,CAAC,CAAC,CAAC;YAC5D,eAAe,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAAwB,CAAC,CAAA;YAC9E,MAAK;QACP,CAAC;QACD,yFAA0D,CAAC,CAAC,CAAC;YAC3D,eAAe,CAAC,4BAA4B,CAAC,OAAO,CAAC,IAKpD,CAAC,CAAA;YACF,MAAK;QACP,CAAC;QACD,OAAO,CAAC,CAAC,CAAC;YACR,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,sDAAsD,OAAO,CAAC,EAAE,EAAE,CAAC,CAAA;YACxF,MAAK;QACP,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAA;AAEF;;GAEG;AACH,IAAI,YAAY,GAAG,KAAK,CAAA;AACxB,SAAS,aAAa,CAAC,MAAsB,EAAE,SAAiB;IAC9D,IAAI,YAAY,EAAE,CAAC;QACjB,OAAM;IACR,CAAC;IACD,YAAY,GAAG,IAAI,CAAA;IAEnB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,+CAA+C,EAAE,MAAM,CAAC,CAAA;IAE7E,IAAI,CAAC;QACH,eAAe,CAAC,QAAQ,EAAE,CAAA;IAC5B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;IACrE,CAAC;IAED,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAA;AAC/D,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;AAChE,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;AAEnE;;;;;;GAMG;AACH,OAAO,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;IAC5B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;IAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"childBridgeFork.js","sourceRoot":"","sources":["../src/childBridgeFork.ts"],"names":[],"mappings":"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"}