homebridge-adt-pulse 3.1.9 → 3.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.
@@ -31,7 +31,7 @@ export class ADTPulseAccessory {
31
31
  this.#services.Information = this.#accessory.getService(service.AccessoryInformation) ?? this.#accessory.addService(service.AccessoryInformation);
32
32
  this.#services.Information
33
33
  .setCharacteristic(this.#characteristic.Identify, false)
34
- .setCharacteristic(this.#characteristic.Manufacturer, manufacturer ?? 'ADT')
34
+ .setCharacteristic(this.#characteristic.Manufacturer, manufacturer ?? 'N/A')
35
35
  .setCharacteristic(this.#characteristic.Model, model ?? 'N/A')
36
36
  .setCharacteristic(this.#characteristic.Name, name)
37
37
  .setCharacteristic(this.#characteristic.SerialNumber, serial ?? 'N/A')
@@ -331,7 +331,7 @@ export class ADTPulseAccessory {
331
331
  }
332
332
  const { panelStates, panelStatuses } = this.#state.data.panelStatus;
333
333
  if (mode === 'alarmType') {
334
- if (isPanelAlarmActive(panelStatuses, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false)) {
334
+ if (isPanelAlarmActive(panelStatuses, this.#state.data.orbSecurityButtons, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false)) {
335
335
  return 1;
336
336
  }
337
337
  return 0;
@@ -351,7 +351,7 @@ export class ADTPulseAccessory {
351
351
  switch (true) {
352
352
  case mode === 'current' && this.#activity.isBusy && this.#activity.setCurrentValue !== null:
353
353
  return this.#activity.setCurrentValue;
354
- case mode === 'current' && isPanelAlarmActive(panelStatuses, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false):
354
+ case mode === 'current' && isPanelAlarmActive(panelStatuses, this.#state.data.orbSecurityButtons, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false):
355
355
  return this.#characteristic.SecuritySystemCurrentState.ALARM_TRIGGERED;
356
356
  case mode === 'current' && panelStates.includes('Armed Stay'):
357
357
  return this.#characteristic.SecuritySystemCurrentState.STAY_ARM;
@@ -400,7 +400,7 @@ export class ADTPulseAccessory {
400
400
  if (this.#activity.isBusy && this.#activity.setValue !== null) {
401
401
  return this.#activity.setValue;
402
402
  }
403
- return isPanelAlarmActive(panelStatuses, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false);
403
+ return isPanelAlarmActive(panelStatuses, this.#state.data.orbSecurityButtons, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false);
404
404
  }
405
405
  async setPanelStatus(arm) {
406
406
  const { context } = this.#accessory;
@@ -422,7 +422,7 @@ export class ADTPulseAccessory {
422
422
  }
423
423
  const { panelStates } = this.#state.data.panelStatus;
424
424
  const condensedPanelStates = condensePanelStates(this.#characteristic, panelStates);
425
- const isAlarmActive = isPanelAlarmActive(this.#state.data.panelStatus.panelStatuses, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false);
425
+ const isAlarmActive = isPanelAlarmActive(this.#state.data.panelStatus.panelStatuses, this.#state.data.orbSecurityButtons, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false);
426
426
  if (condensedPanelStates === undefined) {
427
427
  hapStatus = new this.#api.hap.HapStatusError(-70403);
428
428
  this.#log.warn(`Attempted to set panel status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but panel status cannot be found or most likely "Status Unavailable".`);
@@ -503,7 +503,7 @@ export class ADTPulseAccessory {
503
503
  }
504
504
  const { panelStates } = this.#state.data.panelStatus;
505
505
  const condensedPanelStates = condensePanelStates(this.#characteristic, panelStates);
506
- const isAlarmActive = isPanelAlarmActive(this.#state.data.panelStatus.panelStatuses, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false);
506
+ const isAlarmActive = isPanelAlarmActive(this.#state.data.panelStatus.panelStatuses, this.#state.data.orbSecurityButtons, this.#config?.options.includes('ignoreSensorProblemStatus') ?? false);
507
507
  if (condensedPanelStates === undefined) {
508
508
  hapStatus = new this.#api.hap.HapStatusError(-70403);
509
509
  this.#log.warn(`Attempted to set panel switch status on ${chalk.underline(name)} (id: ${id}, uuid: ${uuid}) accessory but panel status cannot be found or most likely "Status Unavailable".`);
@@ -1 +1 @@
1
- {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../../src/lib/accessory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accessory.js","sourceRoot":"","sources":["../../src/lib/accessory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,+BAA+B,EAC/B,kBAAkB,EAClB,WAAW,GACZ,MAAM,kBAAkB,CAAC;AAoC1B,MAAM,OAAO,iBAAiB;IAQnB,UAAU,CAA6B;IAShD,SAAS,CAA4B;IASrC,IAAI,CAAuB;IASlB,eAAe,CAAkC;IAS1D,OAAO,CAA0B;IASjC,SAAS,CAA4B;IAS5B,IAAI,CAAuB;IASpC,SAAS,CAA4B;IASrC,MAAM,CAAyB;IAgB/B,YAAmB,SAAgD,EAAE,KAAwC,EAAE,MAA0C,EAAE,QAA8C,EAAE,OAA4C,EAAE,cAA0D,EAAE,GAAoC,EAAE,GAAoC;QAC7X,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG;YACf,MAAM,EAAE,KAAK;YACb,eAAe,EAAE,IAAI;YACrB,cAAc,EAAE,IAAI;YACpB,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAEpB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,IAAI,GACL,GAAG,OAAO,CAAC;QAGZ,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;QAGlJ,IAAI,CAAC,SAAS,CAAC,WAAW;aACvB,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,KAAK,CAAC;aACvD,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,YAAY,IAAI,KAAK,CAAC;aAC3E,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,IAAI,KAAK,CAAC;aAC7D,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;aAClD,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,MAAM,IAAI,KAAK,CAAC;aACrE,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,QAAQ,IAAI,KAAK,CAAC;aAC3E,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,QAAQ,IAAI,KAAK,CAAC;aAC3E,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,QAAQ,IAAI,KAAK,CAAC,CAAC;QAG/E,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBAEZ,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;gBAClI,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;gBAClH,MAAM;YACR;gBACE,MAAM;QACV,CAAC;QAGD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;gBAC9I,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;gBAChI,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;gBAC5H,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;gBAC1H,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACpI,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACpI,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;gBAC9H,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gBACpI,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;gBACxI,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IASM,OAAO;QACZ,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,IAAI,GACL,GAAG,OAAO,CAAC;QAGZ,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAEzC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,4DAA4D,CAAC,CAAC;YACnJ,CAAC;YAED,OAAO;QACT,CAAC;QAGD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBAEZ,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC;qBACtF,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;gBAE/C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC;qBACrF,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAE9C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC;qBACrF,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;qBAC9D,WAAW,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC;gBAE5C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;qBAC9D,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5D,MAAM;YACR;gBACE,MAAM;QACV,CAAC;QAGD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS;gBAEZ,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC;qBACnF,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC;gBAEjD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;qBACvE,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;qBAC1E,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC9C,MAAM;YACR,KAAK,aAAa;gBAEhB,MAAM;YACR;gBACE,MAAM;QACV,CAAC;QAGD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC;qBAClF,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;qBAC9E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;qBACzE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;qBACxE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;qBAC7E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;qBAC7E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;qBAC1E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC;qBAC7E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR,KAAK,aAAa;gBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC;qBAC9E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR;gBACE,MAAM;QACV,CAAC;QAGD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI,CAAC;YACV,KAAK,YAAY,CAAC;YAClB,KAAK,MAAM,CAAC;YACZ,KAAK,OAAO,CAAC;YACb,KAAK,OAAO,CAAC;YACb,KAAK,MAAM,CAAC;YACZ,KAAK,QAAQ,CAAC;YACd,KAAK,OAAO,CAAC;YACb,KAAK,aAAa;gBAChB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;qBACxE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAE/C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC;qBACvE,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;gBAE9C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC;qBAC5E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAAC;gBAEnD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;qBAC1E,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC/C,MAAM;YACR;gBACE,MAAM;QACV,CAAC;IACH,CAAC;IAaO,eAAe,CAAC,IAA0C;QAChE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,YAAY,EACZ,IAAI,EACJ,IAAI,EACJ,IAAI,GACL,GAAG,OAAO,CAAC;QAEZ,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAErK,IAAI,SAAS,CAAC;QAGd,IACE,mBAAmB,KAAK,SAAS;eAC9B,IAAI,KAAK,SAAS;eAClB,IAAI,KAAK,OAAO;eAChB,IAAI,KAAK,aAAa;eACtB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC3C,CAAC;YACD,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAiD,CAAC;YAE9F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qCAAqC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,sEAAsE,CAAC,CAAC;YAE5K,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,mBAAmB,CAAC;QAG/C,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAEtB,OAAO,CACL,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;mBAC1B,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;mBAC7B,IAAI,KAAK,gBAAgB;mBACzB,IAAI,KAAK,gBAAgB,CAC7B,CAAC;QACJ,CAAC;QAGD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YAErB,IACE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;mBACvB,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;mBAC7B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;mBAC5B,IAAI,KAAK,cAAc,EAC1B,CAAC;gBACD,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC;YACxD,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC;QACnD,CAAC;QAGD,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAE1B,IACE,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC;mBAC7B,IAAI,KAAK,gBAAgB,EAC5B,CAAC;gBACD,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,iBAAiB,CAAC;YACjE,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;QACpE,CAAC;QAGD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YAEtB,IACE,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;mBAC1B,IAAI,KAAK,eAAe,EAC3B,CAAC;gBACD,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC;YACtD,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC;QAC1D,CAAC;QAGD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI;gBACP,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,kBAAkB,CAAC;gBACxE,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,CAAC,gBAAgB,CAAC;gBACtE,CAAC;gBACD,MAAM;YACR,KAAK,YAAY;gBACf,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,oBAAoB,CAAC;gBACtE,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChC,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,gBAAgB,CAAC;gBAClE,CAAC;gBACD,MAAM;YACR,KAAK,MAAM;gBACT,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,cAAc,CAAC;gBAC3D,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,kBAAkB,CAAC;gBAC/D,CAAC;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,aAAa,CAAC;gBACzD,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,iBAAiB,CAAC;gBAC7D,CAAC;gBACD,MAAM;YACR,KAAK,OAAO;gBACV,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;gBACnE,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;gBACvE,CAAC;gBACD,MAAM;YAER,KAAK,MAAM;gBACT,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,kBAAkB,CAAC;gBACnE,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,sBAAsB,CAAC;gBACvE,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAC9D,OAAO,IAAI,CAAC;gBACd,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChE,OAAO,KAAK,CAAC;gBACf,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,MAAM;YAER,KAAK,aAAa;gBAWhB,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC/D,OAAO,GAAG,CAAC;gBACb,CAAC;gBAED,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC9B,OAAO,CAAC,CAAC;gBACX,CAAC;gBACD,MAAM;YACR;gBACE,MAAM;QACV,CAAC;QAGD,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAsD,CAAC;YAEnG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,6DAA6D,CAAC,CAAC;YAElK,OAAO,SAAS,CAAC;QACnB,CAAC;QAGD,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAkD,CAAC;QAE/F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qCAAqC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,wDAAwD,CAAC,CAAC;QAE7J,OAAO,SAAS,CAAC;IACnB,CAAC;IAaO,cAAc,CAAC,IAAyC;QAC9D,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,IAAI,GACL,GAAG,OAAO,CAAC;QAEZ,IAAI,SAAS,CAAC;QAGd,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAkD,CAAC;YAE/F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,iDAAiD,CAAC,CAAC;YAEtJ,OAAO,SAAS,CAAC;QACnB,CAAC;QAGD,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI;eAClC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;eACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAC1D,CAAC;YACD,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAuC,CAAC;YAEpF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,0DAA0D,CAAC,CAAC;YAE/J,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAGpE,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;YACzB,IAAI,kBAAkB,CACpB,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EACnC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,KAAK,CACrE,EAAE,CAAC;gBACF,OAAO,CAAC,CAAC;YACX,CAAC;YAED,OAAO,CAAC,CAAC;QACX,CAAC;QAGD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACzC,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,aAAa,CAAC;YACxD,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,QAAQ,CAAC;QACnD,CAAC;QAGD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,IAAI,aAAa,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAC1F,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC;YACtD,CAAC;YAED,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC;QAC1D,CAAC;QAUD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,eAAe,KAAK,IAAI;gBACzF,OAAO,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;YACxC,KAAK,IAAI,KAAK,SAAS,IAAI,kBAAkB,CAC3C,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EACnC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,KAAK,CACrE;gBACC,OAAO,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,eAAe,CAAC;YACzE,KAAK,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YAClE,KAAK,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YAClE,KAAK,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC5D,OAAO,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,SAAS,CAAC;YACnE,KAAK,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACzD,OAAO,IAAI,CAAC,eAAe,CAAC,0BAA0B,CAAC,QAAQ,CAAC;YAClE;gBACE,MAAM;QACV,CAAC;QAUD,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,cAAc,KAAK,IAAI;gBACvF,OAAO,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC;YACvC,KAAK,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC1D,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,QAAQ,CAAC;YACjE,KAAK,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAC1D,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,QAAQ,CAAC;YACjE,KAAK,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC;gBAC3D,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,SAAS,CAAC;YAClE,KAAK,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACxD,OAAO,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM,CAAC;YAC/D;gBACE,MAAM;QACV,CAAC;QAGD,IAAI,WAAW,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC/C,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAuC,CAAC;YAEpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,sDAAsD,CAAC,CAAC;YAE1J,OAAO,SAAS,CAAC;QACnB,CAAC;QAGD,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAuD,CAAC;QAEpG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,wDAAwD,CAAC,CAAC;QAE5J,OAAO,SAAS,CAAC;IACnB,CAAC;IAWO,oBAAoB;QAC1B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;QAEnC,IAAI,SAAS,CAAC;QAGd,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrG,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAuC,CAAC;YAEpF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,iEAAiE,CAAC,CAAC;YAE7K,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAGvD,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC9D,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC;QACjC,CAAC;QAGD,OAAO,kBAAkB,CACvB,aAAa,EACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EACnC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,KAAK,CACrE,CAAC;IACJ,CAAC;IAaO,KAAK,CAAC,cAAc,CAAC,GAAuC;QAClE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,IAAI,GACL,GAAG,OAAO,CAAC;QAEZ,IAAI,SAAS,CAAC;QACd,IAAI,MAAM,GAAG;YACX,OAAO,EAAE,KAAK;SACf,CAAC;QACF,IAAI,eAAe,GAAG,KAAK,CAAC;QAG5B,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;YACrB,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAkD,CAAC;YAE/F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,iDAAiD,CAAC,CAAC;YAEtJ,MAAM,SAAS,CAAC;QAClB,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnG,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAuC,CAAC;YAEpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,0DAA0D,CAAC,CAAC;YAE9J,MAAM,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAErD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,kBAAkB,CACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EACnC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,KAAK,CACrE,CAAC;QAGF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAuC,CAAC;YAEpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,mFAAmF,CAAC,CAAC;YAEvL,MAAM,SAAS,CAAC;QAClB,CAAC;QAED,IACE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;eACnB,oBAAoB,CAAC,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAC1D,CAAC;YACD,MAAM,eAAe,GAAG,+BAA+B,CAAC,mBAAmB,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAGxG,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;gBAClC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAkD,CAAC;gBAE/F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,8DAA8D,CAAC,CAAC;gBAEnK,MAAM,SAAS,CAAC;YAClB,CAAC;YAGD,IAAI,CAAC,SAAS,GAAG;gBACf,MAAM,EAAE,IAAI;gBACZ,eAAe;gBACf,cAAc,EAAE,GAAG;gBACnB,QAAQ,EAAE,IAAI;aACf,CAAC;YAGF,QAAQ,GAAG,EAAE,CAAC;gBACZ,KAAK,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,QAAQ;oBAC1D,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oBACnG,MAAM;gBACR,KAAK,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,QAAQ;oBAC1D,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;oBACnG,MAAM;gBACR,KAAK,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,SAAS;oBAC3D,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;oBACpG,MAAM;gBACR,KAAK,IAAI,CAAC,eAAe,CAAC,yBAAyB,CAAC,MAAM;oBACxD,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;oBAClG,MAAM;gBACR;oBACE,eAAe,GAAG,IAAI,CAAC;oBACvB,MAAM;YACV,CAAC;YAGD,IAAI,CAAC,SAAS,GAAG;gBACf,MAAM,EAAE,KAAK;gBACb,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;aACf,CAAC;YAGF,IAAI,eAAe,EAAE,CAAC;gBACpB,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAkD,CAAC;gBAE/F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,gDAAgD,CAAC,CAAC;gBAErJ,MAAM,SAAS,CAAC;YAClB,CAAC;YAGD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAA6C,CAAC;gBAE1F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,oCAAoC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,6CAA6C,CAAC,CAAC;gBAElJ,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBAEpC,MAAM,SAAS,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IAaO,KAAK,CAAC,oBAAoB,CAAC,EAA2C;QAC5E,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,EACJ,EAAE,EACF,IAAI,EACJ,IAAI,EACJ,IAAI,GACL,GAAG,OAAO,CAAC;QAEZ,IAAI,SAAS,CAAC;QACd,IAAI,MAAM,GAAG;YACX,OAAO,EAAE,KAAK;SACf,CAAC;QACF,IAAI,eAAe,GAAG,KAAK,CAAC;QAG5B,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAkD,CAAC;YAE/F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,+CAA+C,CAAC,CAAC;YAE3J,MAAM,SAAS,CAAC;QAClB,CAAC;QAGD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnG,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAuC,CAAC;YAEpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2CAA2C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,0DAA0D,CAAC,CAAC;YAErK,MAAM,SAAS,CAAC;QAClB,CAAC;QAGD,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;YAChB,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,GAAiC,CAAC;YAE9E,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,uFAAuF,CAAC,CAAC;YAEnM,MAAM,SAAS,CAAC;QAClB,CAAC;QAED,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;QAErD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;QACpF,MAAM,aAAa,GAAG,kBAAkB,CACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EACnC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,2BAA2B,CAAC,IAAI,KAAK,CACrE,CAAC;QAGF,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACvC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAuC,CAAC;YAEpF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,2CAA2C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,mFAAmF,CAAC,CAAC;YAE9L,MAAM,SAAS,CAAC;QAClB,CAAC;QAED,IACE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;eACnB,aAAa,EAChB,CAAC;YAED,IAAI,CAAC,SAAS,GAAG;gBACf,MAAM,EAAE,IAAI;gBACZ,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,KAAK;aAChB,CAAC;YAGF,QAAQ,EAAE,EAAE,CAAC;gBACX,KAAK,KAAK;oBACR,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;oBAClG,MAAM;gBACR;oBACE,eAAe,GAAG,IAAI,CAAC;oBACvB,MAAM;YACV,CAAC;YAGD,IAAI,CAAC,SAAS,GAAG;gBACf,MAAM,EAAE,KAAK;gBACb,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI;gBACpB,QAAQ,EAAE,IAAI;aACf,CAAC;YAGF,IAAI,eAAe,EAAE,CAAC;gBACpB,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAAkD,CAAC;gBAE/F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,gDAAgD,CAAC,CAAC;gBAE5J,MAAM,SAAS,CAAC;YAClB,CAAC;YAGD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,QAA6C,CAAC;gBAE1F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,IAAI,6CAA6C,CAAC,CAAC;gBAEzJ,WAAW,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;gBAEpC,MAAM,SAAS,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
package/build/lib/api.js CHANGED
@@ -5,8 +5,8 @@ import _ from 'lodash';
5
5
  import { serializeError } from 'serialize-error';
6
6
  import { CookieJar } from 'tough-cookie';
7
7
  import { detectApiDebugParser, detectApiDoSubmitHandlers, detectApiGatewayInformation, detectApiOrbSecurityButtons, detectApiPanelInformation, detectApiPanelStatus, detectApiPortalVersion, detectApiSensorsInformation, detectApiSensorsStatus, } from './detect.js';
8
- import { paramNetworkId, paramSat, requestPathAccessSignIn, requestPathAccessSignInEXxPartnerAdt, requestPathAccessSignInNetworkIdXxPartnerAdt, requestPathAjaxSyncCheckServTXx, requestPathKeepAlive, requestPathMfaMfaSignInWorkflowChallenge, requestPathQuickControlArmDisarm, requestPathQuickControlServRunRraCommand, requestPathSummarySummary, requestPathSystemDeviceId1, requestPathSystemGateway, requestPathSystemSystem, textPanelEmergencyKeys, } from './regex.js';
9
- import { debugLog, fetchErrorMessage, fetchMissingSatCode, fetchTableCells, findNullKeys, generateDynatracePCHeaderValue, generateFakeReadyButtons, generateHash, isPortalSyncCode, parseArmDisarmMessage, parseDoSubmitHandlers, parseOrbSecurityButtons, parseOrbSensors, parseOrbTextSummary, parseSensorsTable, sleep, stackTracer, } from './utility.js';
8
+ import { paramNetworkId, paramSat, requestPathAccessSignIn, requestPathAccessSignInEXxPartnerAdt, requestPathAccessSignInNetworkIdXxPartnerAdt, requestPathAjaxSyncCheckServTXx, requestPathKeepAlive, requestPathMfaMfaSignInWorkflowChallenge, requestPathQuickControlArmDisarm, requestPathQuickControlServRunRraCommand, requestPathSummarySummary, requestPathSystemDeviceId1, requestPathSystemGateway, requestPathSystemSystem, textPanelEmergencyKeys, textPanelTypeModel, } from './regex.js';
9
+ import { debugLog, fetchErrorMessage, fetchMissingSatCode, fetchTableCells, findGatewayManufacturerModel, findNullKeys, findPanelManufacturer, generateDynatracePCHeaderValue, generateFakeReadyButtons, generateHash, isPortalSyncCode, parseArmDisarmMessage, parseDoSubmitHandlers, parseOrbSecurityButtons, parseOrbSensors, parseOrbTextSummary, parseSensorsTable, sleep, stackTracer, } from './utility.js';
10
10
  export class ADTPulse {
11
11
  #credentials;
12
12
  #internal;
@@ -423,6 +423,10 @@ export class ADTPulse {
423
423
  'Serial Number:',
424
424
  'Status:',
425
425
  ], 1, 1);
426
+ const manufacturer = _.get(fetchedTableCells, ['Manufacturer:', 0], null);
427
+ const model = _.get(fetchedTableCells, ['Model:', 0], null);
428
+ const parsedManufacturer = findGatewayManufacturerModel('manufacturer', manufacturer, model);
429
+ const parsedModel = findGatewayManufacturerModel('model', manufacturer, model);
426
430
  const gatewayInformation = {
427
431
  communication: {
428
432
  broadbandConnectionStatus: _.get(fetchedTableCells, ['Broadband Connection Status:', 0], null),
@@ -430,8 +434,8 @@ export class ADTPulse {
430
434
  cellularSignalStrength: _.get(fetchedTableCells, ['Cellular Signal Strength:', 0], null),
431
435
  primaryConnectionType: _.get(fetchedTableCells, ['Primary Connection Type:', 0], null),
432
436
  },
433
- manufacturer: _.get(fetchedTableCells, ['Manufacturer:', 0], null),
434
- model: _.get(fetchedTableCells, ['Model:', 0], null),
437
+ manufacturer: parsedManufacturer,
438
+ model: parsedModel,
435
439
  network: {
436
440
  broadband: {
437
441
  ip: _.get(fetchedTableCells, ['Broadband LAN IP Address:', 0], null),
@@ -558,18 +562,17 @@ export class ADTPulse {
558
562
  'Type/Model:',
559
563
  ], 1, 1);
560
564
  const emergencyKeys = _.get(fetchedTableCells, ['Emergency Keys:', 0], null);
561
- const parsedEmergencyKeys = (emergencyKeys !== null) ? emergencyKeys.match(textPanelEmergencyKeys) : null;
562
565
  const manufacturerProvider = _.get(fetchedTableCells, ['Manufacturer/Provider:', 0], null);
563
- const parsedManufacturer = (manufacturerProvider !== null) ? manufacturerProvider.split(' - ')[0] ?? null : null;
564
- const parsedProvider = (manufacturerProvider !== null) ? manufacturerProvider.split(' - ')[1] ?? null : null;
565
566
  const typeModel = _.get(fetchedTableCells, ['Type/Model:', 0], null);
566
- const parsedType = (typeModel !== null) ? typeModel.split(' - ')[0] ?? null : null;
567
- const parsedModel = (typeModel !== null) ? typeModel.split(' - ')[1] ?? null : null;
567
+ const parsedEmergencyKeys = (emergencyKeys !== null) ? emergencyKeys.match(textPanelEmergencyKeys) : null;
568
+ const parsedManufacturer = findPanelManufacturer(manufacturerProvider, typeModel);
569
+ const parsedType = (typeModel !== null && typeModel.includes(' - ')) ? typeModel.replace(textPanelTypeModel, '$1') : null;
570
+ const parsedModel = (typeModel !== null) ? typeModel.replace(textPanelTypeModel, '$2') : null;
568
571
  const panelInformation = {
569
572
  emergencyKeys: parsedEmergencyKeys,
570
573
  manufacturer: parsedManufacturer,
571
574
  masterCode: _.get(fetchedTableCells, ['Security Panel Master Code:', 0], null),
572
- provider: parsedProvider,
575
+ provider: 'ADT',
573
576
  type: parsedType,
574
577
  model: parsedModel,
575
578
  status: _.get(fetchedTableCells, ['Status:', 0], null),
@@ -769,83 +772,22 @@ export class ADTPulse {
769
772
  debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'warn', `Alarm is currently ringing and arm state is being changed from "${armFrom}" to "${armTo}"`);
770
773
  }
771
774
  try {
772
- const sessions = {};
773
775
  let isAlarmCurrentlyActive = isAlarmActive;
774
- sessions.axiosSummary = await this.#session.httpClient.get(`${this.#internal.baseUrl}/myhome/${this.#session.portalVersion}/summary/summary.jsp`, this.getRequestConfig({
775
- headers: {
776
- Referer: `${this.#internal.baseUrl}/myhome/${this.#session.portalVersion}/summary/summary.jsp`,
777
- 'Sec-Fetch-Site': 'same-origin',
778
- },
779
- }));
780
- if (typeof sessions.axiosSummary?.request === 'undefined') {
776
+ const securityButtonsResponse = await this.getOrbSecurityButtons();
777
+ if (!securityButtonsResponse.success) {
781
778
  if (this.#internal.debug) {
782
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'error', 'The HTTP client responded without the "request" object');
779
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'error', 'An error occurred while retrieving security buttons');
783
780
  }
784
781
  return {
785
782
  action: 'SET_PANEL_STATUS',
786
783
  success: false,
787
- info: {
788
- message: 'The HTTP client responded without the "request" object',
789
- },
784
+ info: securityButtonsResponse.info,
790
785
  };
791
786
  }
792
- const axiosSummaryRequestPath = sessions.axiosSummary.request.path;
793
- const axiosSummaryRequestPathValid = requestPathSummarySummary.test(axiosSummaryRequestPath);
794
- if (this.#internal.debug) {
795
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'info', `Request path ➜ ${axiosSummaryRequestPath}`);
796
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'info', `Request path valid ➜ ${axiosSummaryRequestPathValid}`);
797
- }
798
- if (!axiosSummaryRequestPathValid) {
799
- if (this.#internal.debug) {
800
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'error', `"${axiosSummaryRequestPath}" is not the summary page`);
801
- }
802
- this.handleLoginFailure(axiosSummaryRequestPath, sessions.axiosSummary);
803
- return {
804
- action: 'SET_PANEL_STATUS',
805
- success: false,
806
- info: {
807
- message: `"${axiosSummaryRequestPath}" is not the summary page`,
808
- },
809
- };
810
- }
811
- if (typeof sessions.axiosSummary.data !== 'string') {
812
- if (this.#internal.debug) {
813
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'error', 'The response body of the summary page is not of type "string"');
814
- }
815
- return {
816
- action: 'SET_PANEL_STATUS',
817
- success: false,
818
- info: {
819
- message: 'The response body of the summary page is not of type "string"',
820
- },
821
- };
822
- }
823
- if (this.#session.backupSatCode === null) {
824
- const missingSatCode = fetchMissingSatCode(sessions.axiosSummary);
825
- if (missingSatCode !== null) {
826
- if (this.#internal.debug) {
827
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'success', 'Backup sat code was successfully recovered from previous failed retrieval');
828
- }
829
- this.#session.backupSatCode = missingSatCode;
830
- }
831
- }
832
- sessions.jsdomSummary = new JSDOM(sessions.axiosSummary.data, {
833
- url: sessions.axiosSummary.config.url,
834
- referrer: sessions.axiosSummary.config.headers.Referer,
835
- contentType: 'text/html',
836
- pretendToBeVisual: true,
837
- });
838
- const jsdomSummaryOrbSecurityButtons = sessions.jsdomSummary.window.document.querySelectorAll('#divOrbSecurityButtons input');
839
- const parsedOrbSecurityButtons = parseOrbSecurityButtons(jsdomSummaryOrbSecurityButtons);
840
- await this.newInformationDispatcher('orb-security-buttons', parsedOrbSecurityButtons);
841
- await this.newInformationDispatcher('debug-parser', {
842
- method: 'setPanelStatus',
843
- response: parsedOrbSecurityButtons,
844
- rawHtml: sessions.axiosSummary.data,
845
- });
846
- let readyButtons = parsedOrbSecurityButtons.filter((parsedOrbSecurityButton) => !parsedOrbSecurityButton.buttonDisabled);
787
+ const securityButtons = securityButtonsResponse.info;
788
+ let readyButtons = securityButtons.filter((securityButton) => !securityButton.buttonDisabled);
847
789
  if (readyButtons.length === 0 && this.#session.backupSatCode !== null) {
848
- readyButtons = generateFakeReadyButtons(parsedOrbSecurityButtons, this.#session.isCleanState, {
790
+ readyButtons = generateFakeReadyButtons(securityButtons, this.#session.isCleanState, {
849
791
  relativeUrl: 'quickcontrol/armDisarm.jsp',
850
792
  href: 'rest/adt/ui/client/security/setArmState',
851
793
  sat: this.#session.backupSatCode,
@@ -853,7 +795,7 @@ export class ADTPulse {
853
795
  if (this.#internal.debug) {
854
796
  debugLog(this.#internal.logger, 'api.ts / ADTPulse.setPanelStatus()', 'warn', 'No security buttons were found. Replacing stuck orb security buttons with fake buttons');
855
797
  stackTracer('fake-ready-buttons', {
856
- before: parsedOrbSecurityButtons,
798
+ before: securityButtons,
857
799
  after: readyButtons,
858
800
  });
859
801
  }
@@ -1181,6 +1123,109 @@ export class ADTPulse {
1181
1123
  },
1182
1124
  };
1183
1125
  }
1126
+ async getOrbSecurityButtons() {
1127
+ let errorObject;
1128
+ if (this.#internal.debug) {
1129
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'info', `Attempting to retrieve orb security buttons from "${this.#internal.baseUrl}"`);
1130
+ }
1131
+ try {
1132
+ const sessions = {};
1133
+ sessions.axiosSummary = await this.#session.httpClient.get(`${this.#internal.baseUrl}/myhome/${this.#session.portalVersion}/summary/summary.jsp`, this.getRequestConfig({
1134
+ headers: {
1135
+ Referer: `${this.#internal.baseUrl}/myhome/${this.#session.portalVersion}/summary/summary.jsp`,
1136
+ 'Sec-Fetch-Site': 'same-origin',
1137
+ },
1138
+ }));
1139
+ if (typeof sessions.axiosSummary?.request === 'undefined') {
1140
+ if (this.#internal.debug) {
1141
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'error', 'The HTTP client responded without the "request" object');
1142
+ }
1143
+ return {
1144
+ action: 'GET_ORB_SECURITY_BUTTONS',
1145
+ success: false,
1146
+ info: {
1147
+ message: 'The HTTP client responded without the "request" object',
1148
+ },
1149
+ };
1150
+ }
1151
+ const axiosSummaryRequestPath = sessions.axiosSummary.request.path;
1152
+ const axiosSummaryRequestPathValid = requestPathSummarySummary.test(axiosSummaryRequestPath);
1153
+ if (this.#internal.debug) {
1154
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'info', `Request path ➜ ${axiosSummaryRequestPath}`);
1155
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'info', `Request path valid ➜ ${axiosSummaryRequestPathValid}`);
1156
+ }
1157
+ if (!axiosSummaryRequestPathValid) {
1158
+ if (this.#internal.debug) {
1159
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'error', `"${axiosSummaryRequestPath}" is not the summary page`);
1160
+ }
1161
+ this.handleLoginFailure(axiosSummaryRequestPath, sessions.axiosSummary);
1162
+ return {
1163
+ action: 'GET_ORB_SECURITY_BUTTONS',
1164
+ success: false,
1165
+ info: {
1166
+ message: `"${axiosSummaryRequestPath}" is not the summary page`,
1167
+ },
1168
+ };
1169
+ }
1170
+ if (typeof sessions.axiosSummary.data !== 'string') {
1171
+ if (this.#internal.debug) {
1172
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'error', 'The response body of the summary page is not of type "string"');
1173
+ }
1174
+ return {
1175
+ action: 'GET_ORB_SECURITY_BUTTONS',
1176
+ success: false,
1177
+ info: {
1178
+ message: 'The response body of the summary page is not of type "string"',
1179
+ },
1180
+ };
1181
+ }
1182
+ if (this.#session.backupSatCode === null) {
1183
+ const missingSatCode = fetchMissingSatCode(sessions.axiosSummary);
1184
+ if (missingSatCode !== null) {
1185
+ if (this.#internal.debug) {
1186
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'success', 'Backup sat code was successfully recovered from previous failed retrieval');
1187
+ }
1188
+ this.#session.backupSatCode = missingSatCode;
1189
+ }
1190
+ }
1191
+ sessions.jsdomSummary = new JSDOM(sessions.axiosSummary.data, {
1192
+ url: sessions.axiosSummary.config.url,
1193
+ referrer: sessions.axiosSummary.config.headers.Referer,
1194
+ contentType: 'text/html',
1195
+ pretendToBeVisual: true,
1196
+ });
1197
+ const jsdomSummaryOrbSecurityButtons = sessions.jsdomSummary.window.document.querySelectorAll('#divOrbSecurityButtons input');
1198
+ const parsedOrbSecurityButtons = parseOrbSecurityButtons(jsdomSummaryOrbSecurityButtons);
1199
+ await this.newInformationDispatcher('orb-security-buttons', parsedOrbSecurityButtons);
1200
+ await this.newInformationDispatcher('debug-parser', {
1201
+ method: 'getOrbSecurityButtons',
1202
+ response: parsedOrbSecurityButtons,
1203
+ rawHtml: sessions.axiosSummary.data,
1204
+ });
1205
+ if (this.#internal.debug) {
1206
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'success', `Successfully retrieved orb security buttons from "${this.#internal.baseUrl}"`);
1207
+ }
1208
+ return {
1209
+ action: 'GET_ORB_SECURITY_BUTTONS',
1210
+ success: true,
1211
+ info: parsedOrbSecurityButtons,
1212
+ };
1213
+ }
1214
+ catch (error) {
1215
+ errorObject = serializeError(error);
1216
+ }
1217
+ if (this.#internal.debug) {
1218
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.getOrbSecurityButtons()', 'error', 'Method encountered an error during execution');
1219
+ stackTracer('serialize-error', errorObject);
1220
+ }
1221
+ return {
1222
+ action: 'GET_ORB_SECURITY_BUTTONS',
1223
+ success: false,
1224
+ info: {
1225
+ error: errorObject,
1226
+ },
1227
+ };
1228
+ }
1184
1229
  async performSyncCheck() {
1185
1230
  let errorObject;
1186
1231
  if (this.#internal.debug) {
@@ -1379,16 +1424,13 @@ export class ADTPulse {
1379
1424
  }
1380
1425
  if ((options.armState === 'away'
1381
1426
  && options.arm === 'away')
1382
- || (options.armState === 'night'
1383
- && options.arm === 'night')
1384
- || (options.armState === 'night+stay'
1427
+ || ((options.armState === 'night'
1428
+ || options.armState === 'night+stay')
1385
1429
  && options.arm === 'night')
1386
1430
  || (options.armState === 'stay'
1387
1431
  && options.arm === 'stay')
1388
- || (options.armState === 'disarmed'
1389
- && options.arm === 'off'
1390
- && !isAlarmActive)
1391
- || (options.armState === 'off'
1432
+ || ((options.armState === 'disarmed'
1433
+ || options.armState === 'off')
1392
1434
  && options.arm === 'off'
1393
1435
  && !isAlarmActive)) {
1394
1436
  if (this.#internal.debug) {
@@ -1470,81 +1512,21 @@ export class ADTPulse {
1470
1512
  }
1471
1513
  this.#session.isCleanState = false;
1472
1514
  await sleep(this.#internal.waitTimeAfterArm);
1473
- sessions.axiosSummary = await this.#session.httpClient.get(`${this.#internal.baseUrl}/myhome/${this.#session.portalVersion}/summary/summary.jsp`, this.getRequestConfig({
1474
- headers: {
1475
- Referer: `${this.#internal.baseUrl}/myhome/${this.#session.portalVersion}/summary/summary.jsp`,
1476
- 'Sec-Fetch-Site': 'same-origin',
1477
- },
1478
- }));
1479
- if (typeof sessions.axiosSummary?.request === 'undefined') {
1515
+ const securityButtonsResponse = await this.getOrbSecurityButtons();
1516
+ if (!securityButtonsResponse.success) {
1480
1517
  if (this.#internal.debug) {
1481
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.armDisarmHandler()', 'error', 'The HTTP client responded without the "request" object');
1482
- }
1483
- return {
1484
- action: 'ARM_DISARM_HANDLER',
1485
- success: false,
1486
- info: {
1487
- message: 'The HTTP client responded without the "request" object',
1488
- },
1489
- };
1490
- }
1491
- const axiosSummaryRequestPath = sessions.axiosSummary.request.path;
1492
- const axiosSummaryRequestPathValid = requestPathSummarySummary.test(axiosSummaryRequestPath);
1493
- if (this.#internal.debug) {
1494
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.armDisarmHandler()', 'info', `Request path ➜ ${axiosSummaryRequestPath}`);
1495
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.armDisarmHandler()', 'info', `Request path valid ➜ ${axiosSummaryRequestPathValid}`);
1496
- }
1497
- if (!axiosSummaryRequestPathValid) {
1498
- if (this.#internal.debug) {
1499
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.armDisarmHandler()', 'error', `"${axiosSummaryRequestPath}" is not the summary page`);
1500
- }
1501
- this.handleLoginFailure(axiosSummaryRequestPath, sessions.axiosSummary);
1502
- return {
1503
- action: 'ARM_DISARM_HANDLER',
1504
- success: false,
1505
- info: {
1506
- message: `"${axiosSummaryRequestPath}" is not the summary page`,
1507
- },
1508
- };
1509
- }
1510
- if (typeof sessions.axiosSummary.data !== 'string') {
1511
- if (this.#internal.debug) {
1512
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.armDisarmHandler()', 'error', 'The response body of the summary page is not of type "string"');
1518
+ debugLog(this.#internal.logger, 'api.ts / ADTPulse.armDisarmHandler()', 'error', 'An error occurred while retrieving security buttons');
1513
1519
  }
1514
1520
  return {
1515
1521
  action: 'ARM_DISARM_HANDLER',
1516
1522
  success: false,
1517
- info: {
1518
- message: 'The response body of the summary page is not of type "string"',
1519
- },
1523
+ info: securityButtonsResponse.info,
1520
1524
  };
1521
1525
  }
1522
- if (this.#session.backupSatCode === null) {
1523
- const missingSatCode = fetchMissingSatCode(sessions.axiosSummary);
1524
- if (missingSatCode !== null) {
1525
- if (this.#internal.debug) {
1526
- debugLog(this.#internal.logger, 'api.ts / ADTPulse.armDisarmHandler()', 'success', 'Backup sat code was successfully recovered from previous failed retrieval');
1527
- }
1528
- this.#session.backupSatCode = missingSatCode;
1529
- }
1530
- }
1531
- sessions.jsdomSummary = new JSDOM(sessions.axiosSummary.data, {
1532
- url: sessions.axiosSummary.config.url,
1533
- referrer: sessions.axiosSummary.config.headers.Referer,
1534
- contentType: 'text/html',
1535
- pretendToBeVisual: true,
1536
- });
1537
- const jsdomSummaryOrbSecurityButtons = sessions.jsdomSummary.window.document.querySelectorAll('#divOrbSecurityButtons input');
1538
- const parsedOrbSecurityButtons = parseOrbSecurityButtons(jsdomSummaryOrbSecurityButtons);
1539
- await this.newInformationDispatcher('orb-security-buttons', parsedOrbSecurityButtons);
1540
- await this.newInformationDispatcher('debug-parser', {
1541
- method: 'armDisarmHandler',
1542
- response: parsedOrbSecurityButtons,
1543
- rawHtml: sessions.axiosSummary.data,
1544
- });
1545
- let readyButtons = parsedOrbSecurityButtons.filter((parsedOrbSecurityButton) => !parsedOrbSecurityButton.buttonDisabled);
1526
+ const securityButtons = securityButtonsResponse.info;
1527
+ let readyButtons = securityButtons.filter((securityButton) => !securityButton.buttonDisabled);
1546
1528
  if (readyButtons.length === 0) {
1547
- readyButtons = generateFakeReadyButtons(parsedOrbSecurityButtons, this.#session.isCleanState, {
1529
+ readyButtons = generateFakeReadyButtons(securityButtons, this.#session.isCleanState, {
1548
1530
  relativeUrl: options.relativeUrl,
1549
1531
  href: options.href,
1550
1532
  sat: options.sat,
@@ -1552,7 +1534,7 @@ export class ADTPulse {
1552
1534
  if (this.#internal.debug) {
1553
1535
  debugLog(this.#internal.logger, 'api.ts / ADTPulse.armDisarmHandler()', 'warn', 'No security buttons were found. Replacing stuck orb security buttons with fake buttons');
1554
1536
  stackTracer('fake-ready-buttons', {
1555
- before: parsedOrbSecurityButtons,
1537
+ before: securityButtons,
1556
1538
  after: readyButtons,
1557
1539
  });
1558
1540
  }