@kohost/api-client 4.1.0 → 4.1.1

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 (251) hide show
  1. package/dist/amqpClient.cjs.map +1 -1
  2. package/dist/amqpClient.js +1 -1
  3. package/dist/amqpClient.js.map +1 -1
  4. package/dist/chunk-2E7UEQEH.js +2 -0
  5. package/dist/{chunk-7SHYEVWE.js.map → chunk-2E7UEQEH.js.map} +1 -1
  6. package/dist/{chunk-5ZYQ36YL.js → chunk-2JNABCJ2.js} +2 -2
  7. package/dist/chunk-2SJNXX23.js +2 -0
  8. package/dist/chunk-2SJNXX23.js.map +1 -0
  9. package/dist/{chunk-CVDZUMXJ.js → chunk-3CZKHJ7N.js} +2 -2
  10. package/dist/{chunk-VC2V3PHC.js → chunk-3DU6K767.js} +2 -2
  11. package/dist/{chunk-PETOLFLX.js → chunk-4C5OBWVN.js} +2 -2
  12. package/dist/chunk-524YZXLK.js +2 -0
  13. package/dist/chunk-5JGCTR5Z.js +2 -0
  14. package/dist/chunk-5JGCTR5Z.js.map +1 -0
  15. package/dist/{chunk-37FIKXHX.js → chunk-6KRXD5CY.js} +2 -2
  16. package/dist/{chunk-GJIPDIFZ.js → chunk-6LMPRNFF.js} +2 -2
  17. package/dist/{chunk-YOL5XPE3.js → chunk-6O7ZX4X7.js} +2 -2
  18. package/dist/{chunk-O7PXQJJY.js → chunk-6U2OIFXY.js} +2 -2
  19. package/dist/chunk-7ELLKGO7.js +2 -0
  20. package/dist/{chunk-SX2W4GPS.js → chunk-7KMQJALP.js} +2 -2
  21. package/dist/{chunk-CQUOFTLG.js → chunk-AEJWGUVQ.js} +2 -2
  22. package/dist/{chunk-ZWOYQQAT.js → chunk-B3OCXT23.js} +2 -2
  23. package/dist/chunk-BO2PBAU5.js +2 -0
  24. package/dist/chunk-BO2PBAU5.js.map +1 -0
  25. package/dist/{chunk-C3TN4CYW.js → chunk-BRGOPL7L.js} +2 -2
  26. package/dist/chunk-BX6CQJFM.js +2 -0
  27. package/dist/{chunk-4E6BCEWY.js → chunk-BZQFOBXL.js} +2 -2
  28. package/dist/{chunk-SVVXKGUR.js → chunk-CG24PJRP.js} +2 -2
  29. package/dist/chunk-CHMXZOUA.js +2 -0
  30. package/dist/{chunk-C3RBREGQ.js → chunk-CODHXSP5.js} +2 -2
  31. package/dist/{chunk-BTZP2NFI.js → chunk-CYDIODNO.js} +2 -2
  32. package/dist/{chunk-SAJDTYRL.js → chunk-D2HMXQ5V.js} +2 -2
  33. package/dist/{chunk-RA6P4LQT.js → chunk-E4B7EMQY.js} +2 -2
  34. package/dist/{chunk-4W5Z6ODP.js → chunk-EJBOTV7Z.js} +2 -2
  35. package/dist/{chunk-MXG5WD7W.js → chunk-EYE772SL.js} +2 -2
  36. package/dist/{chunk-CMC5MQ6R.js → chunk-EZM6YTSB.js} +2 -2
  37. package/dist/{chunk-TVARHVM6.js → chunk-GEJHO6ZQ.js} +2 -2
  38. package/dist/{chunk-X74FEMWH.js → chunk-HDBSURJM.js} +2 -2
  39. package/dist/{chunk-CNI7RI6U.js → chunk-HYGHX2PI.js} +2 -2
  40. package/dist/{chunk-KOUQIZGQ.js → chunk-JBVTGWXB.js} +2 -2
  41. package/dist/{chunk-YLHF2LO4.js → chunk-JJ4LIFB7.js} +2 -2
  42. package/dist/{chunk-GCUILL6R.js → chunk-JOOKSEVZ.js} +2 -2
  43. package/dist/{chunk-2QP6XL3A.js → chunk-KAULYRJQ.js} +2 -2
  44. package/dist/{chunk-RLR3YOGQ.js → chunk-KTTIUDWK.js} +2 -2
  45. package/dist/{chunk-YHUK77T4.js → chunk-L7CPV7YE.js} +2 -2
  46. package/dist/chunk-LGN6JXN7.js +2 -0
  47. package/dist/chunk-LGN6JXN7.js.map +1 -0
  48. package/dist/{chunk-QASGY3Q2.js → chunk-LSQQWTMD.js} +2 -2
  49. package/dist/{chunk-5GGHD7FY.js → chunk-MGBD5X35.js} +2 -2
  50. package/dist/{chunk-LABRQJP2.js → chunk-MORNYRJW.js} +2 -2
  51. package/dist/{chunk-6Z3UQS6E.js → chunk-MQ7WEN2S.js} +2 -2
  52. package/dist/{chunk-7LB4ISYU.js → chunk-N3CMDBJP.js} +2 -2
  53. package/dist/{chunk-ONETIQAT.js → chunk-N4NBQDBE.js} +2 -2
  54. package/dist/{chunk-5MWETEB7.js → chunk-NERQSYRV.js} +2 -2
  55. package/dist/{chunk-OH2O7TRF.js → chunk-O4IOWXAT.js} +2 -2
  56. package/dist/{chunk-OIBIACJH.js → chunk-OK4G4APE.js} +2 -2
  57. package/dist/{chunk-NXZ7ARCN.js → chunk-PLSUJCGV.js} +2 -2
  58. package/dist/chunk-QKXT5OPD.js +2 -0
  59. package/dist/chunk-QKXT5OPD.js.map +1 -0
  60. package/dist/{chunk-2MIWI6DI.js → chunk-QNSNR2JT.js} +2 -2
  61. package/dist/{chunk-KAX6G7NS.js → chunk-RAKSUYSJ.js} +2 -2
  62. package/dist/chunk-RY4K6ZF3.js +2 -0
  63. package/dist/chunk-RY4K6ZF3.js.map +1 -0
  64. package/dist/{chunk-Z7AM4NZY.js → chunk-S7IER5PA.js} +2 -2
  65. package/dist/chunk-S7LNLVGN.js +2 -0
  66. package/dist/{chunk-F5ZVXIDJ.js.map → chunk-S7LNLVGN.js.map} +1 -1
  67. package/dist/{chunk-3VWLUTOA.js → chunk-SBTJP7Z2.js} +2 -2
  68. package/dist/chunk-SXMLEY5A.js +2 -0
  69. package/dist/{chunk-R2DTSCEX.js.map → chunk-SXMLEY5A.js.map} +1 -1
  70. package/dist/{chunk-AW4RTCUR.js → chunk-T3BUZPJU.js} +2 -2
  71. package/dist/{chunk-DUJGKEG7.js → chunk-UC6WZNNN.js} +2 -2
  72. package/dist/chunk-UI5GTCXQ.js +2 -0
  73. package/dist/chunk-UI5GTCXQ.js.map +1 -0
  74. package/dist/chunk-VX4GAFTX.js +2 -0
  75. package/dist/{chunk-2B6KTWLF.js → chunk-W3XUK7GU.js} +2 -2
  76. package/dist/{chunk-WJTBALCJ.js → chunk-WARDPDUE.js} +2 -2
  77. package/dist/{chunk-L2JBBTJI.js → chunk-WQMI4TKM.js} +2 -2
  78. package/dist/{chunk-5HWB2RZE.js → chunk-WRGQFX3L.js} +2 -2
  79. package/dist/{chunk-QRCVQOOU.js → chunk-Y6QFETPF.js} +2 -2
  80. package/dist/{chunk-4SFW2QVD.js → chunk-YBVTOOAO.js} +2 -2
  81. package/dist/{chunk-L2X57ZPQ.js → chunk-YHE3YBCX.js} +2 -2
  82. package/dist/commands/checkInReservation.js +1 -1
  83. package/dist/commands/checkOutReservation.js +1 -1
  84. package/dist/commands/command.js +1 -1
  85. package/dist/commands/createImageUploadEndpoint.js +1 -1
  86. package/dist/commands/createShortLink.js +1 -1
  87. package/dist/commands/getCategories.js +1 -1
  88. package/dist/commands/getMobileKey.js +1 -1
  89. package/dist/commands/getProducts.js +1 -1
  90. package/dist/commands/getReservationSpaceCategoryAvailabilities.js +1 -1
  91. package/dist/commands/getReservations.js +1 -1
  92. package/dist/commands/getRooms.js +1 -1
  93. package/dist/commands/getUsers.js +1 -1
  94. package/dist/commands/index.cjs.map +1 -1
  95. package/dist/commands/index.js +1 -1
  96. package/dist/commands/ocrDocument.js +1 -1
  97. package/dist/commands/sellProducts.js +1 -1
  98. package/dist/commands/sendEmail.js +1 -1
  99. package/dist/commands/sendSMS.js +1 -1
  100. package/dist/commands/setAlarm.js +1 -1
  101. package/dist/commands/setCourtesy.js +1 -1
  102. package/dist/commands/setDimmer.js +1 -1
  103. package/dist/commands/setLock.js +1 -1
  104. package/dist/commands/setMedia.js +1 -1
  105. package/dist/commands/setScene.js +1 -1
  106. package/dist/commands/setSwitch.js +1 -1
  107. package/dist/commands/setThermostat.js +1 -1
  108. package/dist/commands/setWindowCovering.js +1 -1
  109. package/dist/commands/updateReservation.js +1 -1
  110. package/dist/commands/updateUser.js +1 -1
  111. package/dist/commands/uploadImage.js +1 -1
  112. package/dist/defs-dQNiu_Sz.d.cts +68 -0
  113. package/dist/defs-dQNiu_Sz.d.ts +68 -0
  114. package/dist/defs.d.cts +1 -62
  115. package/dist/defs.d.ts +1 -62
  116. package/dist/defs.js +1 -1
  117. package/dist/errors/index.cjs.map +1 -1
  118. package/dist/errors/index.js +1 -1
  119. package/dist/events/applicationInUse.js +1 -1
  120. package/dist/events/applicationOutOfUse.js +1 -1
  121. package/dist/events/emailEvent.js +1 -1
  122. package/dist/events/event.js +1 -1
  123. package/dist/events/index.cjs.map +1 -1
  124. package/dist/events/index.js +1 -1
  125. package/dist/events/reservationCheckedIn.js +1 -1
  126. package/dist/events/reservationCheckedOut.js +1 -1
  127. package/dist/events/reservationSpaceChanged.js +1 -1
  128. package/dist/events/sceneSet.js +1 -1
  129. package/dist/events/shortLinkCreated.js +1 -1
  130. package/dist/events/smsEvent.js +1 -1
  131. package/dist/events/systemAlarmUpdated.js +1 -1
  132. package/dist/events/systemCameraUpdated.js +1 -1
  133. package/dist/events/systemCategoryUpdated.js +1 -1
  134. package/dist/events/systemCourtesyUpdated.js +1 -1
  135. package/dist/events/systemCredentialUpdated.js +1 -1
  136. package/dist/events/systemDimmerUpdated.js +1 -1
  137. package/dist/events/systemEntityDeleted.js +1 -1
  138. package/dist/events/systemGatewayUpdated.js +1 -1
  139. package/dist/events/systemLockUpdated.js +1 -1
  140. package/dist/events/systemMediaSourceUpdated.js +1 -1
  141. package/dist/events/systemMotionSensorUpdated.js +1 -1
  142. package/dist/events/systemOrganizationUpdated.js +1 -1
  143. package/dist/events/systemProductUpdated.js +1 -1
  144. package/dist/events/systemPropertyUpdated.js +1 -1
  145. package/dist/events/systemReservationUpdated.js +1 -1
  146. package/dist/events/systemSpaceUpdated.js +1 -1
  147. package/dist/events/systemSwitchUpdated.js +1 -1
  148. package/dist/events/systemThermostatUpdated.js +1 -1
  149. package/dist/events/systemUserUpdated.js +1 -1
  150. package/dist/events/systemWindowCoveringUpdated.js +1 -1
  151. package/dist/httpClient.js +1 -1
  152. package/dist/httpClient.js.map +1 -1
  153. package/dist/index-1wlt3uo2.d.ts +66 -0
  154. package/dist/index-7k9xaBaL.d.ts +30 -0
  155. package/dist/index-CCxWpmgi.d.cts +128 -0
  156. package/dist/index-DWIfTpkT.d.ts +62 -0
  157. package/dist/index-DXQ1T_T1.d.cts +30 -0
  158. package/dist/index-DZhiQtZE.d.cts +434 -0
  159. package/dist/index-DrrP0Vfc.d.cts +66 -0
  160. package/dist/index-FoJsC_G_.d.ts +128 -0
  161. package/dist/index-Z1u-INfc.d.ts +434 -0
  162. package/dist/index-x2QgAlTf.d.cts +62 -0
  163. package/dist/index.cjs +16 -0
  164. package/dist/index.cjs.map +1 -0
  165. package/dist/index.d.cts +338 -0
  166. package/dist/index.d.ts +338 -0
  167. package/dist/index.js +2 -0
  168. package/dist/models/index.cjs.map +1 -1
  169. package/dist/models/index.js +1 -1
  170. package/dist/models/property.d.cts +1 -1
  171. package/dist/models/property.d.ts +1 -1
  172. package/dist/socketIoClient.js +1 -1
  173. package/dist/socketIoClient.js.map +1 -1
  174. package/dist/useCases/index.cjs.map +1 -1
  175. package/dist/useCases/index.js +1 -1
  176. package/dist/utils-D0wFMkFl.d.ts +83 -0
  177. package/dist/utils-W1Wvt2rJ.d.cts +83 -0
  178. package/dist/utils.cjs.map +1 -1
  179. package/dist/utils.d.cts +71 -76
  180. package/dist/utils.d.ts +71 -76
  181. package/dist/utils.js +1 -1
  182. package/dist/utils.js.map +1 -1
  183. package/package.json +1 -1
  184. package/dist/chunk-7SHYEVWE.js +0 -2
  185. package/dist/chunk-AJSKEHVL.js +0 -2
  186. package/dist/chunk-CU6A4JQE.js +0 -2
  187. package/dist/chunk-F5ZVXIDJ.js +0 -2
  188. package/dist/chunk-GH2DDBTB.js +0 -2
  189. package/dist/chunk-PLRLELBM.js +0 -2
  190. package/dist/chunk-PUGUYK7E.js +0 -1
  191. package/dist/chunk-R2DTSCEX.js +0 -2
  192. package/dist/chunk-UUJFTUN6.js +0 -2
  193. /package/dist/{chunk-5ZYQ36YL.js.map → chunk-2JNABCJ2.js.map} +0 -0
  194. /package/dist/{chunk-CVDZUMXJ.js.map → chunk-3CZKHJ7N.js.map} +0 -0
  195. /package/dist/{chunk-VC2V3PHC.js.map → chunk-3DU6K767.js.map} +0 -0
  196. /package/dist/{chunk-PETOLFLX.js.map → chunk-4C5OBWVN.js.map} +0 -0
  197. /package/dist/{chunk-AJSKEHVL.js.map → chunk-524YZXLK.js.map} +0 -0
  198. /package/dist/{chunk-37FIKXHX.js.map → chunk-6KRXD5CY.js.map} +0 -0
  199. /package/dist/{chunk-GJIPDIFZ.js.map → chunk-6LMPRNFF.js.map} +0 -0
  200. /package/dist/{chunk-YOL5XPE3.js.map → chunk-6O7ZX4X7.js.map} +0 -0
  201. /package/dist/{chunk-O7PXQJJY.js.map → chunk-6U2OIFXY.js.map} +0 -0
  202. /package/dist/{chunk-CU6A4JQE.js.map → chunk-7ELLKGO7.js.map} +0 -0
  203. /package/dist/{chunk-SX2W4GPS.js.map → chunk-7KMQJALP.js.map} +0 -0
  204. /package/dist/{chunk-CQUOFTLG.js.map → chunk-AEJWGUVQ.js.map} +0 -0
  205. /package/dist/{chunk-ZWOYQQAT.js.map → chunk-B3OCXT23.js.map} +0 -0
  206. /package/dist/{chunk-C3TN4CYW.js.map → chunk-BRGOPL7L.js.map} +0 -0
  207. /package/dist/{chunk-GH2DDBTB.js.map → chunk-BX6CQJFM.js.map} +0 -0
  208. /package/dist/{chunk-4E6BCEWY.js.map → chunk-BZQFOBXL.js.map} +0 -0
  209. /package/dist/{chunk-SVVXKGUR.js.map → chunk-CG24PJRP.js.map} +0 -0
  210. /package/dist/{chunk-UUJFTUN6.js.map → chunk-CHMXZOUA.js.map} +0 -0
  211. /package/dist/{chunk-C3RBREGQ.js.map → chunk-CODHXSP5.js.map} +0 -0
  212. /package/dist/{chunk-BTZP2NFI.js.map → chunk-CYDIODNO.js.map} +0 -0
  213. /package/dist/{chunk-SAJDTYRL.js.map → chunk-D2HMXQ5V.js.map} +0 -0
  214. /package/dist/{chunk-RA6P4LQT.js.map → chunk-E4B7EMQY.js.map} +0 -0
  215. /package/dist/{chunk-4W5Z6ODP.js.map → chunk-EJBOTV7Z.js.map} +0 -0
  216. /package/dist/{chunk-MXG5WD7W.js.map → chunk-EYE772SL.js.map} +0 -0
  217. /package/dist/{chunk-CMC5MQ6R.js.map → chunk-EZM6YTSB.js.map} +0 -0
  218. /package/dist/{chunk-TVARHVM6.js.map → chunk-GEJHO6ZQ.js.map} +0 -0
  219. /package/dist/{chunk-X74FEMWH.js.map → chunk-HDBSURJM.js.map} +0 -0
  220. /package/dist/{chunk-CNI7RI6U.js.map → chunk-HYGHX2PI.js.map} +0 -0
  221. /package/dist/{chunk-KOUQIZGQ.js.map → chunk-JBVTGWXB.js.map} +0 -0
  222. /package/dist/{chunk-YLHF2LO4.js.map → chunk-JJ4LIFB7.js.map} +0 -0
  223. /package/dist/{chunk-GCUILL6R.js.map → chunk-JOOKSEVZ.js.map} +0 -0
  224. /package/dist/{chunk-2QP6XL3A.js.map → chunk-KAULYRJQ.js.map} +0 -0
  225. /package/dist/{chunk-RLR3YOGQ.js.map → chunk-KTTIUDWK.js.map} +0 -0
  226. /package/dist/{chunk-YHUK77T4.js.map → chunk-L7CPV7YE.js.map} +0 -0
  227. /package/dist/{chunk-QASGY3Q2.js.map → chunk-LSQQWTMD.js.map} +0 -0
  228. /package/dist/{chunk-5GGHD7FY.js.map → chunk-MGBD5X35.js.map} +0 -0
  229. /package/dist/{chunk-LABRQJP2.js.map → chunk-MORNYRJW.js.map} +0 -0
  230. /package/dist/{chunk-6Z3UQS6E.js.map → chunk-MQ7WEN2S.js.map} +0 -0
  231. /package/dist/{chunk-7LB4ISYU.js.map → chunk-N3CMDBJP.js.map} +0 -0
  232. /package/dist/{chunk-ONETIQAT.js.map → chunk-N4NBQDBE.js.map} +0 -0
  233. /package/dist/{chunk-5MWETEB7.js.map → chunk-NERQSYRV.js.map} +0 -0
  234. /package/dist/{chunk-OH2O7TRF.js.map → chunk-O4IOWXAT.js.map} +0 -0
  235. /package/dist/{chunk-OIBIACJH.js.map → chunk-OK4G4APE.js.map} +0 -0
  236. /package/dist/{chunk-NXZ7ARCN.js.map → chunk-PLSUJCGV.js.map} +0 -0
  237. /package/dist/{chunk-2MIWI6DI.js.map → chunk-QNSNR2JT.js.map} +0 -0
  238. /package/dist/{chunk-KAX6G7NS.js.map → chunk-RAKSUYSJ.js.map} +0 -0
  239. /package/dist/{chunk-Z7AM4NZY.js.map → chunk-S7IER5PA.js.map} +0 -0
  240. /package/dist/{chunk-3VWLUTOA.js.map → chunk-SBTJP7Z2.js.map} +0 -0
  241. /package/dist/{chunk-AW4RTCUR.js.map → chunk-T3BUZPJU.js.map} +0 -0
  242. /package/dist/{chunk-DUJGKEG7.js.map → chunk-UC6WZNNN.js.map} +0 -0
  243. /package/dist/{chunk-PLRLELBM.js.map → chunk-VX4GAFTX.js.map} +0 -0
  244. /package/dist/{chunk-2B6KTWLF.js.map → chunk-W3XUK7GU.js.map} +0 -0
  245. /package/dist/{chunk-WJTBALCJ.js.map → chunk-WARDPDUE.js.map} +0 -0
  246. /package/dist/{chunk-L2JBBTJI.js.map → chunk-WQMI4TKM.js.map} +0 -0
  247. /package/dist/{chunk-5HWB2RZE.js.map → chunk-WRGQFX3L.js.map} +0 -0
  248. /package/dist/{chunk-QRCVQOOU.js.map → chunk-Y6QFETPF.js.map} +0 -0
  249. /package/dist/{chunk-4SFW2QVD.js.map → chunk-YBVTOOAO.js.map} +0 -0
  250. /package/dist/{chunk-L2X57ZPQ.js.map → chunk-YHE3YBCX.js.map} +0 -0
  251. /package/dist/{chunk-PUGUYK7E.js.map → index.js.map} +0 -0
package/dist/index.cjs ADDED
@@ -0,0 +1,16 @@
1
+ var km=Object.create;var Qe=Object.defineProperty;var jm=Object.getOwnPropertyDescriptor;var Am=Object.getOwnPropertyNames;var qm=Object.getPrototypeOf,xm=Object.prototype.hasOwnProperty;var c=(r,t)=>Qe(r,"name",{value:t,configurable:!0});var Et=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),te=(r,t)=>{for(var f in t)Qe(r,f,{get:t[f],enumerable:!0})},xa=(r,t,f,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let p of Am(t))!xm.call(r,p)&&p!==f&&Qe(r,p,{get:()=>t[p],enumerable:!(u=jm(t,p))||u.enumerable});return r};var Ia=(r,t,f)=>(f=r!=null?km(qm(r)):{},xa(t||!r||!r.__esModule?Qe(f,"default",{value:r,enumerable:!0}):f,r)),Im=r=>xa(Qe({},"__esModule",{value:!0}),r);var Ta=Et((hy,Fa)=>{"use strict";Fa.exports=c(function r(t,f){if(t===f)return!0;if(t&&f&&typeof t=="object"&&typeof f=="object"){if(t.constructor!==f.constructor)return!1;var u,p,e;if(Array.isArray(t)){if(u=t.length,u!=f.length)return!1;for(p=u;p--!==0;)if(!r(t[p],f[p]))return!1;return!0}if(t.constructor===RegExp)return t.source===f.source&&t.flags===f.flags;if(t.valueOf!==Object.prototype.valueOf)return t.valueOf()===f.valueOf();if(t.toString!==Object.prototype.toString)return t.toString()===f.toString();if(e=Object.keys(t),u=e.length,u!==Object.keys(f).length)return!1;for(p=u;p--!==0;)if(!Object.prototype.hasOwnProperty.call(f,e[p]))return!1;for(p=u;p--!==0;){var s=e[p];if(!r(t[s],f[s]))return!1}return!0}return t!==t&&f!==f},"equal")});var Ra=Et(pr=>{"use strict";Object.defineProperty(pr,"__esModule",{value:!0});var Za=Ta();Za.code='require("ajv/dist/runtime/equal").default';pr.default=Za});var Ba=Et(mr=>{"use strict";Object.defineProperty(mr,"__esModule",{value:!0});function Va(r){let t=r.length,f=0,u=0,p;for(;u<t;)f++,p=r.charCodeAt(u++),p>=55296&&p<=56319&&u<t&&(p=r.charCodeAt(u),(p&64512)===56320&&u++);return f}c(Va,"ucs2length");mr.default=Va;Va.code='require("ajv/dist/runtime/ucs2length").default'});var yr=Et(Y=>{"use strict";Object.defineProperty(Y,"__esModule",{value:!0});Y.formatNames=Y.fastFormats=Y.fullFormats=void 0;function G(r,t){return{validate:r,compare:t}}c(G,"fmtDef");Y.fullFormats={date:G(La,fr),time:G(ur(!0),cr),"date-time":G(Ka(!0),Ga),"iso-time":G(ur(),Wa),"iso-date-time":G(Ka(),Ya),duration:/^P(?!$)((\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+S)?)?|(\d+W)?)$/,uri:Tm,"uri-reference":/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,"uri-template":/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,url:/^(?:https?|ftp):\/\/(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)(?:\.(?:[a-z0-9\u{00a1}-\u{ffff}]+-)*[a-z0-9\u{00a1}-\u{ffff}]+)*(?:\.(?:[a-z\u{00a1}-\u{ffff}]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/iu,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)$/,ipv6:/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i,regex:Um,uuid:/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,"json-pointer":/^(?:\/(?:[^~/]|~0|~1)*)*$/,"json-pointer-uri-fragment":/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,"relative-json-pointer":/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/,byte:Zm,int32:{type:"number",validate:Bm},int64:{type:"number",validate:Km},float:{type:"number",validate:Ua},double:{type:"number",validate:Ua},password:!0,binary:!0};Y.fastFormats={...Y.fullFormats,date:G(/^\d\d\d\d-[0-1]\d-[0-3]\d$/,fr),time:G(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,cr),"date-time":G(/^\d\d\d\d-[0-1]\d-[0-3]\dt(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,Ga),"iso-time":G(/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Wa),"iso-date-time":G(/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,Ya),uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i};Y.formatNames=Object.keys(Y.fullFormats);function Sm(r){return r%4===0&&(r%100!==0||r%400===0)}c(Sm,"isLeapYear");var Dm=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Om=[0,31,28,31,30,31,30,31,31,30,31,30,31];function La(r){let t=Dm.exec(r);if(!t)return!1;let f=+t[1],u=+t[2],p=+t[3];return u>=1&&u<=12&&p>=1&&p<=(u===2&&Sm(f)?29:Om[u])}c(La,"date");function fr(r,t){if(r&&t)return r>t?1:r<t?-1:0}c(fr,"compareDate");var lr=/^(\d\d):(\d\d):(\d\d(?:\.\d+)?)(z|([+-])(\d\d)(?::?(\d\d))?)?$/i;function ur(r){return c(function(f){let u=lr.exec(f);if(!u)return!1;let p=+u[1],e=+u[2],s=+u[3],a=u[4],n=u[5]==="-"?-1:1,i=+(u[6]||0),o=+(u[7]||0);if(i>23||o>59||r&&!a)return!1;if(p<=23&&e<=59&&s<60)return!0;let m=e-o*n,l=p-i*n-(m<0?1:0);return(l===23||l===-1)&&(m===59||m===-1)&&s<61},"time")}c(ur,"getTime");function cr(r,t){if(!(r&&t))return;let f=new Date("2020-01-01T"+r).valueOf(),u=new Date("2020-01-01T"+t).valueOf();if(f&&u)return f-u}c(cr,"compareTime");function Wa(r,t){if(!(r&&t))return;let f=lr.exec(r),u=lr.exec(t);if(f&&u)return r=f[1]+f[2]+f[3],t=u[1]+u[2]+u[3],r>t?1:r<t?-1:0}c(Wa,"compareIsoTime");var dr=/t|\s/i;function Ka(r){let t=ur(r);return c(function(u){let p=u.split(dr);return p.length===2&&La(p[0])&&t(p[1])},"date_time")}c(Ka,"getDateTime");function Ga(r,t){if(!(r&&t))return;let f=new Date(r).valueOf(),u=new Date(t).valueOf();if(f&&u)return f-u}c(Ga,"compareDateTime");function Ya(r,t){if(!(r&&t))return;let[f,u]=r.split(dr),[p,e]=t.split(dr),s=fr(f,p);if(s!==void 0)return s||cr(u,e)}c(Ya,"compareIsoDateTime");var Cm=/\/|:/,Fm=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i;function Tm(r){return Cm.test(r)&&Fm.test(r)}c(Tm,"uri");var Ha=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm;function Zm(r){return Ha.lastIndex=0,Ha.test(r)}c(Zm,"byte");var Rm=-(2**31),Vm=2**31-1;function Bm(r){return Number.isInteger(r)&&r<=Vm&&r>=Rm}c(Bm,"validateInt32");function Km(r){return Number.isInteger(r)}c(Km,"validateInt64");function Ua(){return!0}c(Ua,"validateNumber");var Hm=/[^\\]\\Z/;function Um(r){if(Hm.test(r))return!1;try{return new RegExp(r),!0}catch{return!1}}c(Um,"regex")});var yl={};te(yl,{AMQPClient:()=>St,Client:()=>Ot,Commands:()=>Es,Errors:()=>oe,Events:()=>mt,Models:()=>ss,SocketIoClient:()=>Ct,UseCases:()=>ja,defs:()=>rs,utils:()=>Aa});module.exports=Im(yl);var Ma=require("amqplib"),Ea=require("amqplib/lib/connection"),Sa=Ia(require("debug"),1),Da=require("buffer"),Oa=Ia(require("crypto"),1);var rs={};te(rs,{amqpExchanges:()=>Z,deviceTypes:()=>Nm});var Z={Commands:{name:"kohost.commands",type:"headers",options:{durable:!0}},CommandResponses:{name:"kohost.commandResponses",type:"topic",options:{durable:!0}},DriverEvents:{name:"kohost.events.drivers",type:"topic",options:{durable:!0}},AppEvents:{name:"kohost.events.app",type:"topic",options:{durable:!0}},Direct:{name:"kohost.direct",type:"direct",options:{durable:!0}},dlx:{name:"kohost.dlx",type:"direct"}},Nm=["dimmer","switch","thermostat","lock","windowCovering","courtesy","alarm","camera","mediaSource","motionSensor","gateway"];var oe={};te(oe,{AppError:()=>O,AuthenticationError:()=>Je,AuthorizationError:()=>_e,ConflictError:()=>et,DeviceCommError:()=>tt,LoginError:()=>st,NotFoundError:()=>rt,RequestError:()=>it,SystemCommError:()=>nt,TokenExpiredError:()=>ot,UnprocessableRequestError:()=>at,ValidationError:()=>ne});var O=class r extends Error{static{c(this,"AppError")}constructor(t="Internal Server Error",f){super(t,f),this.type=this.constructor.name,this.statusCode=500,this.name="AppError",Object.setPrototypeOf(this,r.prototype)}};var Je=class r extends O{static{c(this,"AuthenticationError")}constructor(t="Authentication Error",f={}){super(t,f),this.statusCode=401,this.name="AuthenticationError",Object.setPrototypeOf(this,r.prototype)}};var _e=class r extends O{static{c(this,"AuthorizationError")}constructor(t="Authorization Error",f={}){super(t,f),this.statusCode=403,this.name="AuthorizationError",Object.setPrototypeOf(this,r.prototype)}};var et=class r extends O{static{c(this,"ConflictError")}constructor(t="Bad Request",f={}){super(t,f),this.statusCode=409,this.name="ConflictError",Object.setPrototypeOf(this,r.prototype)}};var tt=class r extends O{static{c(this,"DeviceCommError")}constructor(t="Device Communication Error",f={}){super(t,f),this.statusCode=503,this.name="DeviceCommError",Object.setPrototypeOf(this,r.prototype)}};var st=class r extends O{static{c(this,"LoginError")}constructor(t="Invalid Login information provided",f={}){super(t,f),this.statusCode=401,this.name="LoginError",Object.setPrototypeOf(this,r.prototype)}};var rt=class r extends O{static{c(this,"NotFoundError")}constructor(t="Resource Not Found",f={}){super(t,f),this.statusCode=404,this.name="NotFoundError",Object.setPrototypeOf(this,r.prototype)}};var it=class r extends O{static{c(this,"RequestError")}constructor(t="Bad Request",f={}){super(t,f),this.statusCode=400,this.name="RequestError",Object.setPrototypeOf(this,r.prototype)}};var nt=class r extends O{static{c(this,"SystemCommError")}constructor(t="System Communication Error",f={}){super(t,f),this.statusCode=503,this.name="SystemCommError",Object.setPrototypeOf(this,r.prototype)}};var ot=class r extends O{static{c(this,"TokenExpiredError")}constructor(t="Token Expired",f={}){super(t,f),this.statusCode=401,this.name="TokenExpiredError",Object.setPrototypeOf(this,r.prototype)}};var at=class r extends O{static{c(this,"UnprocessableRequestError")}constructor(t="Unprocessable Request Error",f={}){super(t,f),this.statusCode=422,this.name="UnprocessableRequestError",Object.setPrototypeOf(this,r.prototype)}};var ne=class r extends O{static{c(this,"ValidationError")}constructor(t="Validation Error",f={}){super(t,f),this.statusCode=400,this.name="ValidationError",Object.setPrototypeOf(this,r.prototype)}};var zm=Oa.randomUUID,is=(0,Sa.default)("kohost:amqp-client"),Na="X-Organization-Id",za="X-Property-Id",$a="X-Driver",$m="X-Command-Name",Mm="X-Event-Name",St=class{static{c(this,"KohostAMQPClient")}static get Message(){return Dt}static get exchanges(){return Z}static generateCorrelationId(){return zm()}static validateMessage(t){if(!t)throw new Error("Message is required")}static parseError(t){let f,u,p={};if(t.message&&t.type){let{message:e,type:s,...a}=t;f=s,u=e,p=a}else u=t.message||"Unknown Error";return is("parseError",f,u,p),f&&oe[f]?new oe[f](u,p):new Error(u,p)}static parseMessage(t){let f=null,u={},p={},e={},s={},a=t?.properties?.type==="Command",n=t?.properties?.type==="Event",i=t?.properties?.headers||{},o=i[$m]||null,m=i[Mm]||null;if(t.content)try{let d=t.properties?.contentType==="application/json"?JSON.parse(t.content.toString()):t.content.toString();u=d?.data||{},f=d?.error,p=d?.query||{},e=d?.context||{}}catch(d){is("error parsing content",d),u=t.content.toString()}if(t?.properties?.headers){let d=t.properties.headers[Na],h=t.properties.headers[za],y=t.properties.headers[$a];d&&(e.organizationId=d,s[Na]=d),h&&(e.propertyId=h,s[za]=h),y&&(e.driver=y,s[$a]=y)}let l={};return f&&(l.error=this.parseError(f)),l.data=u,l.query=p,l.context=e,l.headers=s,n&&m?l.event=m:a&&o&&(l.command=o),is("amqp parsed %o",l),l}static getMessage(t){return t?.content?JSON.parse(t.content.toString())?.data:null}static isFatalError(t){return(0,Ea.isFatalError)(t)}async createConnection(t,f={}){return await(0,Ma.connect)(t,f)}static createMessage(t){return new Dt(t)}async createChannel(t){return await t.createChannel()}async assertExchange(t,{exchange:f,type:u,options:p}){return await t.assertExchange(f,u,p)}async assertQueue(t,{queue:f,options:u}){return await t.assertQueue(f,u)}async bindQueue(t,{queue:f,exchange:u,routingKey:p,args:e}){return await t.bindQueue(f,u,p,e)}async bindExchange(t,{source:f,destination:u,routingKey:p,args:e}){return await t.bindExchange(u,f,p,e)}async subscribeToQueue(t,{queue:f,cb:u,options:p}){return await t.consume(f,u,p)}publishToExchange(t,{exchange:f,routingKey:u,content:p,options:e}){return t.publish(f,u,p,e)}},Dt=class{static{c(this,"Message")}constructor(t){this.toExchange=null,this.content=t,this.options={contentType:"application/json",timestamp:Date.now()},this.routingKey=""}get correlationId(){return this.options.correlationId||null}to({exchange:t}){if(typeof t>"u")throw new Error("Exchange is required");return this.toExchange=t,this}withType(t){return this.options.type=t,this}withRoutingKey(t){return this.routingKey=t,this}withHeaders(t){return this.options.headers||(this.options.headers={}),this.options.headers={...this.options.headers,...t},this}withContext(t){for(let f in t)this.withHeaders({[f]:t[f]});return this}withCorrelationId(t){return this.options.correlationId=t,this}withReplyTo(t){return this.options.replyTo=t,this}build(){let t=this.content;return t.build&&typeof t.build=="function"&&(t=t.build()),{exchange:this.toExchange,content:Da.Buffer.from(JSON.stringify(t)),options:this.options,routingKey:this.routingKey}}};var pt=class r{static{c(this,"RefreshTokenCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/auth/refresh";static method="post"};var Ot=class r{static{c(this,"KohostHTTPClient")}#e;#t;constructor(t={url:"",propertyId:"",organizationId:"",apiKey:"",headers:new Headers({}),onSuccess:c(f=>f,"onSuccess"),onError:c(f=>f,"onError")}){if(!t.url)throw new Error("options.url is required");this.options=t,this.isAuthTokenRenewalActive=!1,this.baseUrl=new URL(t.url),this.headers=new Headers({"Content-Type":"application/json",Accept:"application/json",...t.headers}),t.apiKey&&this.headers.set(r.defs.apiKeyHeader,t.apiKey),t.propertyId&&(this.propertyId=t.propertyId),t.organizationId&&(this.organizationId=t.organizationId),this.#e=t.onSuccess?t.onSuccess:f=>f,this.#t=t.onError?t.onError:f=>f,this.callbacks={}}on(t,f){if(typeof f!="function")throw new Error("Callback must be a function");this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(f)}emit(t,...f){this.callbacks[t]&&this.callbacks[t].forEach(u=>u(...f))}set organizationId(t){let f=r.defs.organizationHeader;this.headers.set(f,t)}get organizationId(){let t=r.defs.organizationHeader;return this.headers.get(t)}set propertyId(t){let f=r.defs.propertyHeader;this.headers.set(f,t)}get propertyId(){let t=r.defs.propertyHeader;return this.headers.get(t)}static get defs(){return{apiKeyHeader:"X-Api-Key",propertyHeader:"X-Property-Id",organizationHeader:"X-Organization-Id"}}async send(t){let f=t.config,u=this.createRequest(f),p=await fetch(u),s=p.headers.get("Content-Type")?.includes("application/json")||!1?await p.json():p.body;if(!p.ok){let a=s?.error||new Error(p.statusText),n=p.status,i=s.error?.type,o=s?.error?.message;try{let m=n>=400&&n<500,l=m&&i==="TokenExpiredError";if(m&&o==="Phone Verification is required")return this.#r(),Promise.reject(a);if(m&&o==="Login Required")return this.#s(),Promise.reject(a);if(m&&o==="No auth header or cookie provided")return this.#s(),Promise.reject(a);if(m&&l)for(;!this.isAuthTokenRenewalActive;)return this.isAuthTokenRenewalActive=!0,this.send(new pt({})).then(()=>(this.isAuthTokenRenewalActive=!1,this.send(t))).catch(d=>(this.isAuthTokenRenewalActive=!1,Promise.reject(d)))}catch(m){console.error(m)}return a=this.#t(a),Promise.reject(a)}return this.#e(s)}#s(){this.emit("LoginRequired")}#r(){this.emit("PhoneVerificationRequired")}createRequest(t){typeof t.headers!="object"&&(t.headers={});let f=t.url;f.startsWith("/")&&(f=`.${f}`);let u=new URL(f,this.baseUrl),p=t.method.toUpperCase()||"GET";t.params&&typeof t.params=="object"&&Object.entries(t.params).forEach(([n,i])=>{Array.isArray(i)?i.forEach(o=>{typeof o=="object"&&o!==null?Object.entries(o).forEach(([m,l])=>{u.searchParams.append(`${n}[][${m}]`,l)}):u.searchParams.append(`${n}[]`,o)}):i==null?u.searchParams.append(n,""):typeof i=="object"?Object.entries(i).forEach(([o,m])=>{Array.isArray(m)?m.forEach(l=>{u.searchParams.append(`${n}[${o}][]`,l)}):u.searchParams.append(`${n}[${o}]`,m)}):u.searchParams.append(n,i)});let e=new Headers(this.headers);t.headers&&Object.keys(t.headers).forEach(n=>{e.set(n,t.headers[n])});let s=t.data!==null&&["POST","PUT","PATCH"].includes(p)?e.get("Content-Type")==="application/json"?JSON.stringify(t.data):t.data:void 0;return new Request(u,{method:p,headers:e,credentials:"include",body:s})}};var Ca=require("socket.io-client");var Ct=class{static{c(this,"KohostSocketIoClient")}constructor(t={url:null,options:{}}){if(!t.url)throw new Error("config.url is required");this.url=t.url,this.options={autoConnect:!1,forceNew:!1,reconnection:!0,reconnectionAttempts:1/0,reconnectionDelay:1e3,withCredentials:!0,transports:["websocket","polling"],upgrade:!0,...t.options},this.socket=(0,Ca.io)(this.url,this.options),this.socket.on("connect",()=>{this.emit("connect",this.socket)}),this.socket.on("disconnect",f=>{this.emit("disconnect",f)}),this.socket.on("reconnect_attempt",f=>{this.emit("reconnect_attempt",f)}),this.socket.on("connect_error",f=>{this.emit("connect_error",f)}),this.callbacks={}}#e=null;get url(){return this.#e}set url(t){this.#e=t}get connected(){return this.socket?.connected||!1}get disconnected(){return this.socket?.disconnected||!1}on(t,f){if(typeof f!="function")throw new Error("Callback must be a function");this.callbacks[t]||(this.callbacks[t]=[]),this.callbacks[t].push(f)}emit(t,...f){this.callbacks[t]&&this.callbacks[t].forEach(u=>u(...f))}listeners(t){return this.callbacks[t]||[]}connect(){this.socket.connect()}disconnect(){this.socket.disconnect()}reconnect(){this.disconnect(),this.connect()}subscribe(t,f){this.socket.on(t,f)}unsubscribe(t,f){this.socket.off(t,f)}getSubscriptions(t){return this.socket.listeners(t)}send(t,{data:f={},query:u={},...p}){this.socket.emit(t,{data:f,query:u,...p})}destroy(){this.disconnect(),this.socket.removeAllListeners(),this.socket=null}};var Es={};te(Es,{CheckInReservation:()=>ns,CheckOutReservation:()=>os,Command:()=>$,CreateImageUploadEndpoint:()=>as,CreateShortLink:()=>ps,GetCategories:()=>ms,GetMobileKey:()=>ls,GetProducts:()=>us,GetReservationSpaceCategoryAvailabilities:()=>ds,GetReservations:()=>fs,GetRooms:()=>cs,GetUsers:()=>ys,OCRDocument:()=>hs,SellProducts:()=>gs,SendEmail:()=>bs,SendSMS:()=>ws,SetAlarm:()=>Ps,SetCourtesy:()=>vs,SetDimmer:()=>ks,SetLock:()=>js,SetMedia:()=>As,SetScene:()=>qs,SetSwitch:()=>xs,SetThermostat:()=>Is,SetWindowCovering:()=>Ns,UpdateReservation:()=>zs,UpdateUser:()=>$s,UploadImage:()=>Ms});var Em=Z.Commands,$=class{static{c(this,"Command")}constructor(t){if(this.data={},!t)throw new Error("Command data is required");if(typeof t!="object")throw new Error("Command data must be an object");for(let f in t)this.data[f]=t[f]}get name(){throw new Error("Command name is required")}static get type(){return"Command"}static get exchange(){return Em.name}build(){return{data:{...this.data}}}};var ns=class extends ${static{c(this,"CheckInReservation")}constructor({id:t,...f}){super({id:t,...f})}get name(){return"CheckInReservation"}};var os=class extends ${static{c(this,"CheckOutReservation")}constructor({reservationId:t,userId:f,...u}){super({reservationId:t,userId:f,...u})}get name(){return"CheckOutReservation"}};var as=class extends ${static{c(this,"CreateImageUploadEndpoint")}constructor({id:t,expires:f,...u}){super({id:t,expires:f,...u})}get name(){return"CreateImageUploadEndpoint"}};var ps=class extends ${static{c(this,"CreateShortLink")}constructor({title:t,destination:f,...u}){super({title:t,destination:f,...u})}get name(){return"CreateShortLink"}};var ms=class extends ${static{c(this,"GetCategories")}constructor({id:t,...f}){super({id:t,...f})}get name(){return"GetCategories"}};var ls=class extends ${static{c(this,"GetMobileKey")}constructor({id:t,phone:f,beginDateTime:u,endDateTime:p,keyToReplace:e,...s}){super({id:t,phone:f,beginDateTime:u,endDateTime:p,keyToReplace:e,...s})}get name(){return"GetMobileKey"}};var us=class extends ${static{c(this,"GetProducts")}constructor({id:t,externalSystemId:f,...u}){super({id:t,externalSystemId:f,...u})}get name(){return"GetProducts"}};var ds=class extends ${static{c(this,"GetReservationSpaceCategoryAvailabilities")}constructor(t){let{id:f,...u}=t;super({id:f,...u})}get name(){return"GetReservationSpaceCategoryAvailabilities"}};var fs=class extends ${static{c(this,"GetReservations")}constructor(t){let{id:f,startDate:u,endDate:p,status:e,...s}=t;super({id:f,startDate:u,endDate:p,status:e,...s})}get name(){return"GetReservations"}};var cs=class extends ${static{c(this,"GetRooms")}constructor({id:t,types:f,categories:u,startDate:p,endDate:e,serviceStatus:s,housekeepingStatus:a,...n}){super({id:t,types:f,categories:u,startDate:p,endDate:e,serviceStatus:s,housekeepingStatus:a,...n})}get name(){return"GetRooms"}};var ys=class extends ${static{c(this,"GetUsers")}constructor({id:t,...f}){super({id:t,...f})}get name(){return"GetUsers"}};var hs=class extends ${static{c(this,"OCRDocument")}constructor({type:t,image:f,...u}){super({type:t,image:f,...u})}get name(){return"OCRDocument"}};var gs=class extends ${static{c(this,"SellProducts")}constructor({reservationId:t,userId:f,products:u,...p}){super({reservationId:t,userId:f,products:u,...p})}get name(){return"SellProducts"}};var bs=class extends ${static{c(this,"SendEmail")}constructor({text:t,html:f,to:u,from:p,subject:e,...s}){super({text:t,html:f,to:u,from:p,subject:e,...s})}get name(){return"SendEmail"}};var ws=class extends ${static{c(this,"SendSMS")}constructor({id:t,body:f,to:u,from:p,media:e,...s}){super({id:t,body:f,to:u,from:p,media:e,...s})}get name(){return"SendSMS"}};var Ps=class extends ${static{c(this,"SetAlarm")}constructor({id:t,zones:f,areas:u,code:p,...e}){super({id:t,zones:f,areas:u,code:p,...e})}get name(){return"SetAlarm"}};var vs=class extends ${static{c(this,"SetCourtesy")}constructor({id:t,state:f,...u}){super({id:t,state:f,...u})}get name(){return"SetCourtesy"}};var ks=class extends ${static{c(this,"SetDimmer")}constructor({id:t,level:f,...u}){super({id:t,level:f,...u})}get name(){return"SetDimmer"}};var js=class extends ${static{c(this,"SetLock")}constructor({id:t,state:f,...u}){super({id:t,state:f,...u})}get name(){return"SetLock"}};var As=class extends ${static{c(this,"SetMedia")}constructor({id:t,command:f,...u}){super({id:t,command:f,...u})}get name(){return"SetMedia"}};var qs=class extends ${static{c(this,"SetScene")}constructor({id:t,devices:f,...u}){super({id:t,devices:f,...u})}get name(){return"SetScene"}};var xs=class extends ${static{c(this,"SetSwitch")}constructor({id:t,state:f,...u}){super({id:t,state:f,...u})}get name(){return"SetSwitch"}};var Is=class extends ${static{c(this,"SetThermostat")}constructor({id:t,setpoints:f,hvacMode:u,fanMode:p,...e}){super({id:t,setpoints:f,hvacMode:u,fanMode:p,...e})}get name(){return"SetThermostat"}};var Ns=class extends ${static{c(this,"SetWindowCovering")}constructor({id:t,position:f,...u}){super({id:t,position:f,...u})}get name(){return"SetWindowCovering"}};var zs=class extends ${static{c(this,"UpdateReservation")}constructor({id:t,...f}){super({id:t,...f})}get name(){return"UpdateReservation"}};var $s=class extends ${static{c(this,"UpdateUser")}constructor({id:t,email:f,phone:u,identification:p,address:e,note:s,nationality:a,file:n,payment:i,...o}){super({id:t,email:f,phone:u,identification:p,address:e,note:s,nationality:a,file:n,payment:i,...o})}get name(){return"UpdateUser"}};var Ms=class extends ${static{c(this,"UploadImage")}constructor({id:t,url:f,file:u,...p}){super({id:t,url:f,file:u,...p})}get name(){return"UploadImage"}};var mt={};te(mt,{ApplicationInUse:()=>Ss,ApplicationOutOfUse:()=>Ds,EmailEvent:()=>Os,Event:()=>z,ReservationCheckedIn:()=>Cs,ReservationCheckedOut:()=>Fs,ReservationSpaceChanged:()=>Ts,SMSEvent:()=>Vs,SceneSet:()=>Zs,ShortLinkCreated:()=>Rs,SystemAlarmUpdated:()=>Bs,SystemCameraUpdated:()=>Ks,SystemCategoryUpdated:()=>Hs,SystemCourtesyUpdated:()=>Us,SystemCredentialUpdated:()=>Ls,SystemDimmerUpdated:()=>Ws,SystemEntityDeleted:()=>Gs,SystemGatewayUpdated:()=>Ys,SystemLockUpdated:()=>Xs,SystemMediaSourceUpdated:()=>Qs,SystemMotionSensorUpdated:()=>Js,SystemOrganizationUpdated:()=>_s,SystemProductUpdated:()=>er,SystemPropertyUpdated:()=>tr,SystemReservationUpdated:()=>sr,SystemSpaceUpdate:()=>rr,SystemSwitchUpdated:()=>ir,SystemThermostatUpdated:()=>nr,SystemUserUpdated:()=>or,SystemWindowCoveringUpdated:()=>ar});var z=class{static{c(this,"Event")}constructor(t,f={}){if(this.data=[],this.context=f,!t)throw new Error("Event data is required");if(typeof t!="object"&&!Array.isArray(t))throw new Error("Event data must be an object or array");Array.isArray(t)?this.data=t:this.data=[t]}get organizationId(){return this.context.organizationId||"*"}get propertyId(){return this.context.propertyId||"*"}static get type(){return"Event"}static get exchange(){return Z.DriverEvents.name}static get entity(){return""}build(){return{data:{...this.data}}}get routingKey(){return`${this.organizationId}.${this.propertyId}.${this.constructor.entity}.${this.constructor.name}`}};var Ss=class extends z{constructor(t={},f){super(t,f)}static get name(){return"ApplicationInUse"}static get entity(){return"app"}static get exchange(){return Z.AppEvents.name}};var Ds=class extends z{constructor(t={},f={}){super(t,f)}static get name(){return"ApplicationOutOfUse"}static get entity(){return"app"}static get exchange(){return Z.AppEvents.name}};var Os=class extends z{constructor(t,f){super(t,f)}static get name(){return"EmailEvent"}static get entity(){return"emailMessage"}};var Cs=class extends z{constructor(t,f){super(t,f)}static get name(){return"ReservationCheckedIn"}static get entity(){return"reservation"}static get exchange(){return Z.AppEvents.name}};var Fs=class extends z{constructor(t,f){super(t,f)}static get name(){return"ReservationCheckedOut"}static get entity(){return"reservation"}static get exchange(){return Z.AppEvents.name}};var Ts=class extends z{constructor(t,f){super(t,f)}static get name(){return"ReservationSpaceChanged"}static get entity(){return"reservation"}static get exchange(){return Z.AppEvents.name}};var Zs=class extends z{constructor(t,f){super(t,f)}static get name(){return"SceneSet"}static get entity(){return"scene"}};var Rs=class extends z{constructor(t,f){super(t,f)}static get name(){return"ShortLinkCreated"}static get entity(){return"shortLink"}};var Vs=class extends z{constructor(t,f){super(t,f)}static get name(){return"SMSEvent"}static get entity(){return"smsMessage"}};var Bs=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemAlarmUpdated"}static get entity(){return"alarm"}};var Ks=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemCameraUpdated"}static get entity(){return"camera"}};var Hs=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemCategoryUpdated"}static get entity(){return"category"}};var Us=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemCourtesyUpdated"}static get entity(){return"courtesy"}};var Ls=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemCredentialUpdated"}static get entity(){return"credential"}};var Ws=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemDimmerUpdated"}static get entity(){return"dimmer"}};var Gs=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemEntityDeleted"}static get entity(){return"entity"}};var Ys=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemGatewayUpdated"}static get entity(){return"gateway"}};var Xs=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemLockUpdated"}static get entity(){return"lock"}};var Qs=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemMediaSourceUpdated"}static get entity(){return"mediaSource"}};var Js=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemMotionSensorUpdated"}static get entity(){return"motionSensor"}};var _s=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemOrganizationUpdated"}static get entity(){return"organization"}};var er=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemProductUpdated"}static get entity(){return"product"}};var tr=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemPropertyUpdated"}static get entity(){return"property"}};var sr=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemReservationUpdated"}static get entity(){return"reservation"}};var rr=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemSpaceUpdated"}static get entity(){return"space"}};var ir=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemSwitchUpdated"}static get entity(){return"switch"}};var nr=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemThermostatUpdated"}static get entity(){return"thermostat"}};var or=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemUserUpdated"}static get entity(){return"user"}};var ar=class extends z{constructor(t,f){super(t,f)}static get name(){return"SystemWindowCoveringUpdated"}static get entity(){return"windowCovering"}};var ss={};te(ss,{Alarm:()=>le,Announcement:()=>ue,Camera:()=>de,Category:()=>fe,Courtesy:()=>ce,Credential:()=>ye,DeviceRouter:()=>he,Dimmer:()=>ge,DiscoveredDevice:()=>be,EmailMessage:()=>we,EnergyReport:()=>Pe,EnergyReportShard:()=>ve,Entity:()=>x,Gateway:()=>ke,Identification:()=>je,Issue:()=>Ae,Lock:()=>qe,Log:()=>xe,MediaFile:()=>Ie,MediaSource:()=>Ne,MotionSensor:()=>ze,Order:()=>$e,Organization:()=>Me,Payment:()=>$t,Policy:()=>Ee,Product:()=>Se,Property:()=>De,Reservation:()=>Oe,Room:()=>Ce,Scene:()=>Fe,ShortLink:()=>Te,SmsMessage:()=>Ze,Space:()=>Re,Switch:()=>Ve,SystemUser:()=>Be,Thermostat:()=>Ke,Ticket:()=>He,TimeSheet:()=>Ue,User:()=>Le,Vendor:()=>We,WindowCovering:()=>Ge});var x=class{static{c(this,"Entity")}constructor(t){if(!this.schema)throw new Error("Schema is not defined");if(!this.validator)throw new Error("Validator is not defined");this.#e(t)}get schemaProperties(){return Object.keys(this.validator.schema.properties)}#e(t){if(!this.validator(t))throw new ne(`Invalid ${this.constructor.name}`,{cause:this.validator.errors})}};var mp=gt,lt={$schema:"http://json-schema.org/draft-07/schema",$id:"alarm.json",title:"Alarm",description:"Any smart alarm system",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"Name of the alarm"},offline:{type:"boolean"},type:{type:"string",enum:["alarm"],default:"alarm"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},areas:{type:"array",items:{type:"object",properties:{number:{type:"number"},name:{type:"string"},securityMode:{type:["string","null"],enum:["arming","disarming","armed","disarmed","alarm",null]}},additionalProperties:!1}},zones:{type:"array",items:{type:"object",properties:{number:{type:"number",minimum:0},name:{type:"string"},secure:{type:["boolean","null"]},bypassed:{type:["boolean","null"]}},additionalProperties:!1}},chime:{type:"boolean",description:"Reflects whether console chime is enabled"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},address:{$ref:"definitions.json#/definitions/address"}},required:["id","type","areas","zones","driver"]};var U={type:"array",uniqueItems:!0,items:{enum:["button 1","button 2","button 3","button 4","button 5","idle","powerHasBeedApplied","acMainsDisconnected","acMainsReconnected","replaceBatterySoon","replaceBatteryNow","batteryOk","hardwareFailure","softwareFailure","hardwareFailureWithCode","softwareFailureWithCode","motionDetection","airFilterNeedsCleaned","airFilterNeedsReplaced","smokeDetected","outsideSafeTemperatureRange","outsideSafeHumidityRange","scheduleMaintenance","doorAjar","communicationFailure","communicationOk","burglarAlarm","fireAlarm"]}},T={type:"string",description:"Driver used to communicate with the object.",enum:["adlink","aws-kinesis","butler","crestron","dell","dmp","doorbird","dormakaba","dsc","ecobee","epson","geovision-rs","geovision-as-manager","honeywell-vista","igor","inncom","isapi","kohost-k7","kohost","lg","lg-webos","lapi","lirc","mews","mht","paxton","pelican-wireless","power-shades","rachio","rebrandly","relay","rtsp","salto","salto-irn","samsung","se","sendgrid","sonifi","stay-n-touch","storable","twilio","unifi","valcom","vivotek","vizio","wisenet","cloudflare-images","cloudflare-stream","insperia-privacy"]};var V=Ra().default,F=Ba().default,L={type:["object","null"],properties:{name:{type:"string",$ref:"#/definitions/supportedNotifications/items"},timestamp:{type:"number",minimum:1655907956593},description:{type:"string"}}},W={enum:["button 1","button 2","button 3","button 4","button 5","idle","powerHasBeedApplied","acMainsDisconnected","acMainsReconnected","replaceBatterySoon","replaceBatteryNow","batteryOk","hardwareFailure","softwareFailure","hardwareFailureWithCode","softwareFailureWithCode","motionDetection","airFilterNeedsCleaned","airFilterNeedsReplaced","smokeDetected","outsideSafeTemperatureRange","outsideSafeHumidityRange","scheduleMaintenance","doorAjar","communicationFailure","communicationOk","burglarAlarm","fireAlarm"]};function Tt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Tt.errors=e,s===0}c(Tt,"validate12");function gt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="alarm"),r.id===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[i]:e.push(i),s++}if(r.type===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[i]:e.push(i),s++}if(r.areas===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"areas"},message:"must have required property 'areas'"};e===null?e=[i]:e.push(i),s++}if(r.zones===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"zones"},message:"must have required property 'zones'"};e===null?e=[i]:e.push(i),s++}if(r.driver===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let i={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.offline!==void 0&&typeof r.offline!="boolean"){let i={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[i]:e.push(i),s++}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="alarm"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:lt.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.supportedNotifications!==void 0){let i=r.supportedNotifications;if(Array.isArray(i)){let o=i.length;for(let d=0;d<o;d++){let h=i[d];if(!(h==="button 1"||h==="button 2"||h==="button 3"||h==="button 4"||h==="button 5"||h==="idle"||h==="powerHasBeedApplied"||h==="acMainsDisconnected"||h==="acMainsReconnected"||h==="replaceBatterySoon"||h==="replaceBatteryNow"||h==="batteryOk"||h==="hardwareFailure"||h==="softwareFailure"||h==="hardwareFailureWithCode"||h==="softwareFailureWithCode"||h==="motionDetection"||h==="airFilterNeedsCleaned"||h==="airFilterNeedsReplaced"||h==="smokeDetected"||h==="outsideSafeTemperatureRange"||h==="outsideSafeHumidityRange"||h==="scheduleMaintenance"||h==="doorAjar"||h==="communicationFailure"||h==="communicationOk"||h==="burglarAlarm"||h==="fireAlarm")){let y={instancePath:t+"/supportedNotifications/"+d,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[y]:e.push(y),s++}}let m=i.length,l;if(m>1){e:for(;m--;)for(l=m;l--;)if(V(i[m],i[l])){let d={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:m,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+m+" are identical)"};e===null?e=[d]:e.push(d),s++;break e}}}else{let o={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.notification!==void 0&&(Tt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Tt.errors:e.concat(Tt.errors),s=e.length)),r.driver!==void 0){let i=r.driver;if(typeof i!="string"){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="adlink"||i==="aws-kinesis"||i==="butler"||i==="crestron"||i==="dell"||i==="dmp"||i==="doorbird"||i==="dormakaba"||i==="dsc"||i==="ecobee"||i==="epson"||i==="geovision-rs"||i==="geovision-as-manager"||i==="honeywell-vista"||i==="igor"||i==="inncom"||i==="isapi"||i==="kohost-k7"||i==="kohost"||i==="lg"||i==="lg-webos"||i==="lapi"||i==="lirc"||i==="mews"||i==="mht"||i==="paxton"||i==="pelican-wireless"||i==="power-shades"||i==="rachio"||i==="rebrandly"||i==="relay"||i==="rtsp"||i==="salto"||i==="salto-irn"||i==="samsung"||i==="se"||i==="sendgrid"||i==="sonifi"||i==="stay-n-touch"||i==="storable"||i==="twilio"||i==="unifi"||i==="valcom"||i==="vivotek"||i==="vizio"||i==="wisenet"||i==="cloudflare-images"||i==="cloudflare-stream"||i==="insperia-privacy")){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.areas!==void 0){let i=r.areas;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++){let l=i[m];if(l&&typeof l=="object"&&!Array.isArray(l)){for(let d in l)if(!(d==="number"||d==="name"||d==="securityMode")){let h={instancePath:t+"/areas/"+m,schemaPath:"#/properties/areas/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:d},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(l.number!==void 0&&typeof l.number!="number"){let d={instancePath:t+"/areas/"+m+"/number",schemaPath:"#/properties/areas/items/properties/number/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[d]:e.push(d),s++}if(l.name!==void 0&&typeof l.name!="string"){let d={instancePath:t+"/areas/"+m+"/name",schemaPath:"#/properties/areas/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.securityMode!==void 0){let d=l.securityMode;if(typeof d!="string"&&d!==null){let h={instancePath:t+"/areas/"+m+"/securityMode",schemaPath:"#/properties/areas/items/properties/securityMode/type",keyword:"type",params:{type:lt.properties.areas.items.properties.securityMode.type},message:"must be string,null"};e===null?e=[h]:e.push(h),s++}if(!(d==="arming"||d==="disarming"||d==="armed"||d==="disarmed"||d==="alarm"||d===null)){let h={instancePath:t+"/areas/"+m+"/securityMode",schemaPath:"#/properties/areas/items/properties/securityMode/enum",keyword:"enum",params:{allowedValues:lt.properties.areas.items.properties.securityMode.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}}else{let d={instancePath:t+"/areas/"+m,schemaPath:"#/properties/areas/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let o={instancePath:t+"/areas",schemaPath:"#/properties/areas/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.zones!==void 0){let i=r.zones;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++){let l=i[m];if(l&&typeof l=="object"&&!Array.isArray(l)){for(let d in l)if(!(d==="number"||d==="name"||d==="secure"||d==="bypassed")){let h={instancePath:t+"/zones/"+m,schemaPath:"#/properties/zones/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:d},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(l.number!==void 0){let d=l.number;if(typeof d=="number"){if(d<0||isNaN(d)){let h={instancePath:t+"/zones/"+m+"/number",schemaPath:"#/properties/zones/items/properties/number/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[h]:e.push(h),s++}}else{let h={instancePath:t+"/zones/"+m+"/number",schemaPath:"#/properties/zones/items/properties/number/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[h]:e.push(h),s++}}if(l.name!==void 0&&typeof l.name!="string"){let d={instancePath:t+"/zones/"+m+"/name",schemaPath:"#/properties/zones/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.secure!==void 0){let d=l.secure;if(typeof d!="boolean"&&d!==null){let h={instancePath:t+"/zones/"+m+"/secure",schemaPath:"#/properties/zones/items/properties/secure/type",keyword:"type",params:{type:lt.properties.zones.items.properties.secure.type},message:"must be boolean,null"};e===null?e=[h]:e.push(h),s++}}if(l.bypassed!==void 0){let d=l.bypassed;if(typeof d!="boolean"&&d!==null){let h={instancePath:t+"/zones/"+m+"/bypassed",schemaPath:"#/properties/zones/items/properties/bypassed/type",keyword:"type",params:{type:lt.properties.zones.items.properties.bypassed.type},message:"must be boolean,null"};e===null?e=[h]:e.push(h),s++}}}else{let d={instancePath:t+"/zones/"+m,schemaPath:"#/properties/zones/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let o={instancePath:t+"/zones",schemaPath:"#/properties/zones/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.chime!==void 0&&typeof r.chime!="boolean"){let i={instancePath:t+"/chime",schemaPath:"#/properties/chime/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[i]:e.push(i),s++}if(r.watts!==void 0){let i=r.watts;if(typeof i=="number"){if(i<0||isNaN(i)){let o={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[o]:e.push(o),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let i={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let i={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let i={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let i={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.address!==void 0){let i=r.address;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.id!==void 0&&typeof i.id!="string"){let o={instancePath:t+"/address/id",schemaPath:"definitions.json#/definitions/address/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line1!==void 0&&typeof i.line1!="string"){let o={instancePath:t+"/address/line1",schemaPath:"definitions.json#/definitions/address/properties/line1/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line2!==void 0&&typeof i.line2!="string"){let o={instancePath:t+"/address/line2",schemaPath:"definitions.json#/definitions/address/properties/line2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line3!==void 0&&typeof i.line3!="string"){let o={instancePath:t+"/address/line3",schemaPath:"definitions.json#/definitions/address/properties/line3/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.city!==void 0&&typeof i.city!="string"){let o={instancePath:t+"/address/city",schemaPath:"definitions.json#/definitions/address/properties/city/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.state!==void 0&&typeof i.state!="string"){let o={instancePath:t+"/address/state",schemaPath:"definitions.json#/definitions/address/properties/state/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.postalCode!==void 0&&typeof i.postalCode!="string"){let o={instancePath:t+"/address/postalCode",schemaPath:"definitions.json#/definitions/address/properties/postalCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.countryCode!==void 0){let o=i.countryCode;if(typeof o=="string"){if(F(o)>2){let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/maxLength",keyword:"maxLength",params:{limit:2},message:"must NOT have more than 2 characters"};e===null?e=[m]:e.push(m),s++}if(F(o)<2){let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/minLength",keyword:"minLength",params:{limit:2},message:"must NOT have fewer than 2 characters"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}}}else{let o={instancePath:t+"/address",schemaPath:"definitions.json#/definitions/address/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return gt.errors=e,s===0}c(gt,"validate10");var lp=up,Xa={$schema:"http://json-schema.org/draft-07/schema",$id:"announcement.json",title:"Announcement",description:"Announcement message sent to users",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["announcement"],default:"announcement"},users:{type:"array",items:{type:"string"},minItems:1},group:{type:"string"},body:{type:"string"},media:{$ref:"mediaFile.json"},sentBy:{type:"string"},tags:{type:"array",items:{type:"string"}},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"}},additionalProperties:!1},R={type:["string","object"],format:"date-time"},Q=Object.prototype.hasOwnProperty,hr={$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]},ee=yr().fullFormats.uri,M=yr().fullFormats["date-time"];function E(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="mediaFile"),r.type===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[i]:e.push(i),s++}for(let i in r)if(!Q.call(hr.properties,i)){let o={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};e===null?e=[o]:e.push(o),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="mediaFile"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:hr.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.name!==void 0&&typeof r.name!="string"){let i={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.fileHash!==void 0&&typeof r.fileHash!="string"){let i={instancePath:t+"/fileHash",schemaPath:"#/properties/fileHash/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.category!==void 0&&typeof r.category!="string"){let i={instancePath:t+"/category",schemaPath:"#/properties/category/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.mimeType!==void 0){let i=r.mimeType;if(typeof i!="string"){let o={instancePath:t+"/mimeType",schemaPath:"#/properties/mimeType/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="image/*"||i==="image/jpeg"||i==="image/png"||i==="image/gif"||i==="image/webp"||i==="image/avif"||i==="image/svg+xml"||i==="application/pdf")){let o={instancePath:t+"/mimeType",schemaPath:"#/properties/mimeType/enum",keyword:"enum",params:{allowedValues:hr.properties.mimeType.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.data!==void 0&&typeof r.data!="string"){let i={instancePath:t+"/data",schemaPath:"#/properties/data/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.url!==void 0){let i=r.url;if(typeof i=="string"){if(!ee(i)){let o={instancePath:t+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.width!==void 0){let i=r.width;if(!(typeof i=="number"&&!(i%1)&&!isNaN(i))){let o={instancePath:t+"/width",schemaPath:"#/properties/width/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[o]:e.push(o),s++}if(typeof i=="number"&&(i<0||isNaN(i))){let o={instancePath:t+"/width",schemaPath:"#/properties/width/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[o]:e.push(o),s++}}if(r.height!==void 0){let i=r.height;if(!(typeof i=="number"&&!(i%1)&&!isNaN(i))){let o={instancePath:t+"/height",schemaPath:"#/properties/height/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[o]:e.push(o),s++}if(typeof i=="number"&&(i<0||isNaN(i))){let o={instancePath:t+"/height",schemaPath:"#/properties/height/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[o]:e.push(o),s++}}if(r.size!==void 0){let i=r.size;if(!(typeof i=="number"&&!(i%1)&&!isNaN(i))){let o={instancePath:t+"/size",schemaPath:"#/properties/size/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[o]:e.push(o),s++}if(typeof i=="number"&&(i<0||isNaN(i))){let o={instancePath:t+"/size",schemaPath:"#/properties/size/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[o]:e.push(o),s++}}if(r.uploadUrl!==void 0){let i=r.uploadUrl;if(typeof i=="string"){if(!ee(i)){let o={instancePath:t+"/uploadUrl",schemaPath:"#/properties/uploadUrl/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/uploadUrl",schemaPath:"#/properties/uploadUrl/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.uploadUrlExpires!==void 0){let i=r.uploadUrlExpires;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/uploadUrlExpires",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/uploadUrlExpires",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.createdBy!==void 0&&typeof r.createdBy!="string"){let i={instancePath:t+"/createdBy",schemaPath:"#/properties/createdBy/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return E.errors=e,s===0}c(E,"validate15");function up(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){r.type===void 0&&(r.type="announcement");for(let i in r)if(!Q.call(Xa.properties,i)){let o={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};e===null?e=[o]:e.push(o),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="announcement"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:Xa.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.users!==void 0){let i=r.users;if(Array.isArray(i)){if(i.length<1){let m={instancePath:t+"/users",schemaPath:"#/properties/users/minItems",keyword:"minItems",params:{limit:1},message:"must NOT have fewer than 1 items"};e===null?e=[m]:e.push(m),s++}let o=i.length;for(let m=0;m<o;m++)if(typeof i[m]!="string"){let l={instancePath:t+"/users/"+m,schemaPath:"#/properties/users/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}else{let o={instancePath:t+"/users",schemaPath:"#/properties/users/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.group!==void 0&&typeof r.group!="string"){let i={instancePath:t+"/group",schemaPath:"#/properties/group/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.body!==void 0&&typeof r.body!="string"){let i={instancePath:t+"/body",schemaPath:"#/properties/body/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.media!==void 0&&(E(r.media,{instancePath:t+"/media",parentData:r,parentDataProperty:"media",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length)),r.sentBy!==void 0&&typeof r.sentBy!="string"){let i={instancePath:t+"/sentBy",schemaPath:"#/properties/sentBy/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.tags!==void 0){let i=r.tags;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++)if(typeof i[m]!="string"){let l={instancePath:t+"/tags/"+m,schemaPath:"#/properties/tags/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}else{let o={instancePath:t+"/tags",schemaPath:"#/properties/tags/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.createdAt!==void 0){let i=r.createdAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.updatedAt!==void 0){let i=r.updatedAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return up.errors=e,s===0}c(up,"validate14");var dp=bt,K={$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type",default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1,required:["id","type","driver"]},H={type:"string",enum:["alarm","dimmer","switch","motionSensor","windowCovering","camera","mediaSource","thermostat","lock","courtesy","gateway","tv","dvr","appleTv","discPlayer","mediaPlayer","uncontrolledDevice"]};function Zt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Zt.errors=e,s===0}c(Zt,"validate18");function bt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="camera"),r.id===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[i]:e.push(i),s++}if(r.type===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[i]:e.push(i),s++}if(r.driver===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[i]:e.push(i),s++}for(let i in r)if(!Q.call(K.properties,i)){let o={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:i},message:"must NOT have additional properties"};e===null?e=[o]:e.push(o),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let i={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="alarm"||n==="dimmer"||n==="switch"||n==="motionSensor"||n==="windowCovering"||n==="camera"||n==="mediaSource"||n==="thermostat"||n==="lock"||n==="courtesy"||n==="gateway"||n==="tv"||n==="dvr"||n==="appleTv"||n==="discPlayer"||n==="mediaPlayer"||n==="uncontrolledDevice")){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.offline!==void 0&&typeof r.offline!="boolean"){let i={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[i]:e.push(i),s++}if(r.supportedNotifications!==void 0){let i=r.supportedNotifications;if(Array.isArray(i)){let o=i.length;for(let d=0;d<o;d++){let h=i[d];if(!(h==="button 1"||h==="button 2"||h==="button 3"||h==="button 4"||h==="button 5"||h==="idle"||h==="powerHasBeedApplied"||h==="acMainsDisconnected"||h==="acMainsReconnected"||h==="replaceBatterySoon"||h==="replaceBatteryNow"||h==="batteryOk"||h==="hardwareFailure"||h==="softwareFailure"||h==="hardwareFailureWithCode"||h==="softwareFailureWithCode"||h==="motionDetection"||h==="airFilterNeedsCleaned"||h==="airFilterNeedsReplaced"||h==="smokeDetected"||h==="outsideSafeTemperatureRange"||h==="outsideSafeHumidityRange"||h==="scheduleMaintenance"||h==="doorAjar"||h==="communicationFailure"||h==="communicationOk"||h==="burglarAlarm"||h==="fireAlarm")){let y={instancePath:t+"/supportedNotifications/"+d,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[y]:e.push(y),s++}}let m=i.length,l;if(m>1){e:for(;m--;)for(l=m;l--;)if(V(i[m],i[l])){let d={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:m,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+m+" are identical)"};e===null?e=[d]:e.push(d),s++;break e}}}else{let o={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.notification!==void 0&&(Zt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Zt.errors:e.concat(Zt.errors),s=e.length)),r.driver!==void 0){let i=r.driver;if(typeof i!="string"){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="adlink"||i==="aws-kinesis"||i==="butler"||i==="crestron"||i==="dell"||i==="dmp"||i==="doorbird"||i==="dormakaba"||i==="dsc"||i==="ecobee"||i==="epson"||i==="geovision-rs"||i==="geovision-as-manager"||i==="honeywell-vista"||i==="igor"||i==="inncom"||i==="isapi"||i==="kohost-k7"||i==="kohost"||i==="lg"||i==="lg-webos"||i==="lapi"||i==="lirc"||i==="mews"||i==="mht"||i==="paxton"||i==="pelican-wireless"||i==="power-shades"||i==="rachio"||i==="rebrandly"||i==="relay"||i==="rtsp"||i==="salto"||i==="salto-irn"||i==="samsung"||i==="se"||i==="sendgrid"||i==="sonifi"||i==="stay-n-touch"||i==="storable"||i==="twilio"||i==="unifi"||i==="valcom"||i==="vivotek"||i==="vizio"||i==="wisenet"||i==="cloudflare-images"||i==="cloudflare-stream"||i==="insperia-privacy")){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.liveStreams!==void 0){let i=r.liveStreams;if(i&&typeof i=="object"&&!Array.isArray(i)){for(let o in i)if(!(o==="iframe"||o==="hls"||o==="webRTC"||o==="rtsp")){let m={instancePath:t+"/liveStreams",schemaPath:"#/properties/liveStreams/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:o},message:"must NOT have additional properties"};e===null?e=[m]:e.push(m),s++}if(i.iframe!==void 0){let o=i.iframe;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStreams/iframe",schemaPath:"#/properties/liveStreams/properties/iframe/type",keyword:"type",params:{type:K.properties.liveStreams.properties.iframe.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}if(i.hls!==void 0){let o=i.hls;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStreams/hls",schemaPath:"#/properties/liveStreams/properties/hls/type",keyword:"type",params:{type:K.properties.liveStreams.properties.hls.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}if(i.webRTC!==void 0){let o=i.webRTC;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStreams/webRTC",schemaPath:"#/properties/liveStreams/properties/webRTC/type",keyword:"type",params:{type:K.properties.liveStreams.properties.webRTC.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}if(i.rtsp!==void 0){let o=i.rtsp;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStreams/rtsp",schemaPath:"#/properties/liveStreams/properties/rtsp/type",keyword:"type",params:{type:K.properties.liveStreams.properties.rtsp.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}}else{let o={instancePath:t+"/liveStreams",schemaPath:"#/properties/liveStreams/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.liveStream!==void 0){let i=r.liveStream;if(i&&typeof i=="object"&&!Array.isArray(i)){for(let o in i)if(!Q.call(K.properties.liveStream.properties,o)){let m={instancePath:t+"/liveStream",schemaPath:"#/properties/liveStream/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:o},message:"must NOT have additional properties"};e===null?e=[m]:e.push(m),s++}if(i.id!==void 0&&typeof i.id!="string"){let o={instancePath:t+"/liveStream/id",schemaPath:"#/properties/liveStream/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.driver!==void 0){let o=i.driver;if(typeof o!="string"){let m={instancePath:t+"/liveStream/driver",schemaPath:"#/properties/liveStream/properties/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="cloudflare-stream"||o==="aws-kinesis"||o==="digital-watchdog"||o==="mediamtx")){let m={instancePath:t+"/liveStream/driver",schemaPath:"#/properties/liveStream/properties/driver/enum",keyword:"enum",params:{allowedValues:K.properties.liveStream.properties.driver.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(i.allowedOrigins!==void 0){let o=i.allowedOrigins;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)if(typeof o[l]!="string"){let d={instancePath:t+"/liveStream/allowedOrigins/"+l,schemaPath:"#/properties/liveStream/properties/allowedOrigins/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let m={instancePath:t+"/liveStream/allowedOrigins",schemaPath:"#/properties/liveStream/properties/allowedOrigins/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(i.authRequired!==void 0&&typeof i.authRequired!="boolean"){let o={instancePath:t+"/liveStream/authRequired",schemaPath:"#/properties/liveStream/properties/authRequired/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(i.iframe!==void 0){let o=i.iframe;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStream/iframe",schemaPath:"#/properties/liveStream/properties/iframe/type",keyword:"type",params:{type:K.properties.liveStream.properties.iframe.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}if(i.hls!==void 0){let o=i.hls;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStream/hls",schemaPath:"#/properties/liveStream/properties/hls/type",keyword:"type",params:{type:K.properties.liveStream.properties.hls.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}if(i.webRTC!==void 0){let o=i.webRTC;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStream/webRTC",schemaPath:"#/properties/liveStream/properties/webRTC/type",keyword:"type",params:{type:K.properties.liveStream.properties.webRTC.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}if(i.rtsp!==void 0){let o=i.rtsp;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStream/rtsp",schemaPath:"#/properties/liveStream/properties/rtsp/type",keyword:"type",params:{type:K.properties.liveStream.properties.rtsp.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}if(i.previewImage!==void 0){let o=i.previewImage;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/liveStream/previewImage",schemaPath:"#/properties/liveStream/properties/previewImage/type",keyword:"type",params:{type:K.properties.liveStream.properties.previewImage.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}}else{let o={instancePath:t+"/liveStream",schemaPath:"#/properties/liveStream/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.watts!==void 0){let i=r.watts;if(typeof i=="number"){if(i<0||isNaN(i)){let o={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[o]:e.push(o),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let i={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let i={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let i={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let i={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return bt.errors=e,s===0}c(bt,"validate17");var fp=cp,Lm={$schema:"http://json-schema.org/draft-07/schema",$id:"category.json",title:"Category",type:"object",required:["type","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"category"},name:{type:"string",minLength:1},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},image:{$ref:"mediaFile.json"},rating:{type:"number",minimum:0,maximum:10,default:9},discriminator:{type:"string",enum:["space","product","mediaFile"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}};function cp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="category"),r.rating===void 0&&(r.rating=9),r.type===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[i]:e.push(i),s++}if(r.discriminator===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"discriminator"},message:"must have required property 'discriminator'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}if(typeof r.type!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.name!==void 0){let i=r.name;if(typeof i=="string"){if(F(i)<1){let o={instancePath:t+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.driver!==void 0){let i=r.driver;if(typeof i!="string"){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="adlink"||i==="aws-kinesis"||i==="butler"||i==="crestron"||i==="dell"||i==="dmp"||i==="doorbird"||i==="dormakaba"||i==="dsc"||i==="ecobee"||i==="epson"||i==="geovision-rs"||i==="geovision-as-manager"||i==="honeywell-vista"||i==="igor"||i==="inncom"||i==="isapi"||i==="kohost-k7"||i==="kohost"||i==="lg"||i==="lg-webos"||i==="lapi"||i==="lirc"||i==="mews"||i==="mht"||i==="paxton"||i==="pelican-wireless"||i==="power-shades"||i==="rachio"||i==="rebrandly"||i==="relay"||i==="rtsp"||i==="salto"||i==="salto-irn"||i==="samsung"||i==="se"||i==="sendgrid"||i==="sonifi"||i==="stay-n-touch"||i==="storable"||i==="twilio"||i==="unifi"||i==="valcom"||i==="vivotek"||i==="vizio"||i==="wisenet"||i==="cloudflare-images"||i==="cloudflare-stream"||i==="insperia-privacy")){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.description!==void 0&&typeof r.description!="string"){let i={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}r.image!==void 0&&(E(r.image,{instancePath:t+"/image",parentData:r,parentDataProperty:"image",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length));let n=r.rating;if(typeof n=="number"){if(n>10||isNaN(n)){let i={instancePath:t+"/rating",schemaPath:"#/properties/rating/maximum",keyword:"maximum",params:{comparison:"<=",limit:10},message:"must be <= 10"};e===null?e=[i]:e.push(i),s++}if(n<0||isNaN(n)){let i={instancePath:t+"/rating",schemaPath:"#/properties/rating/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/rating",schemaPath:"#/properties/rating/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[i]:e.push(i),s++}if(r.discriminator!==void 0){let i=r.discriminator;if(typeof i!="string"){let o={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="space"||i==="product"||i==="mediaFile")){let o={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/enum",keyword:"enum",params:{allowedValues:Lm.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return cp.errors=e,s===0}c(cp,"validate20");var yp=wt,Wm={$schema:"http://json-schema.org/draft-07/schema",$id:"courtesy.json",title:"Courtesy",description:"Any smart courtesy system",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedStates:{type:"array",uniqueItems:!0,items:{enum:["privacy","service","none"]}},state:{type:"string",$ref:"#/properties/supportedStates/items"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","driver","supportedStates","state"]},Gm={enum:["privacy","service","none"]};function Rt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Rt.errors=e,s===0}c(Rt,"validate23");function wt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.id===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(r.type===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[n]:e.push(n),s++}if(r.driver===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[n]:e.push(n),s++}if(r.supportedStates===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"supportedStates"},message:"must have required property 'supportedStates'"};e===null?e=[n]:e.push(n),s++}if(r.state===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"state"},message:"must have required property 'state'"};e===null?e=[n]:e.push(n),s++}if(r.id!==void 0){let n=r.id;if(typeof n!="string"){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let i=s,o=s;if(!(n==="global"||n==="system")){let m={};e===null?e=[m]:e.push(m),s++}var a=o===s;if(a){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[m]:e.push(m),s++}else s=i,e!==null&&(i?e.length=i:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.type!==void 0){let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="alarm"||n==="dimmer"||n==="switch"||n==="motionSensor"||n==="windowCovering"||n==="camera"||n==="mediaSource"||n==="thermostat"||n==="lock"||n==="courtesy"||n==="gateway"||n==="tv"||n==="dvr"||n==="appleTv"||n==="discPlayer"||n==="mediaPlayer"||n==="uncontrolledDevice")){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.supportedNotifications!==void 0){let n=r.supportedNotifications;if(Array.isArray(n)){let i=n.length;for(let l=0;l<i;l++){let d=n[l];if(!(d==="button 1"||d==="button 2"||d==="button 3"||d==="button 4"||d==="button 5"||d==="idle"||d==="powerHasBeedApplied"||d==="acMainsDisconnected"||d==="acMainsReconnected"||d==="replaceBatterySoon"||d==="replaceBatteryNow"||d==="batteryOk"||d==="hardwareFailure"||d==="softwareFailure"||d==="hardwareFailureWithCode"||d==="softwareFailureWithCode"||d==="motionDetection"||d==="airFilterNeedsCleaned"||d==="airFilterNeedsReplaced"||d==="smokeDetected"||d==="outsideSafeTemperatureRange"||d==="outsideSafeHumidityRange"||d==="scheduleMaintenance"||d==="doorAjar"||d==="communicationFailure"||d==="communicationOk"||d==="burglarAlarm"||d==="fireAlarm")){let h={instancePath:t+"/supportedNotifications/"+l,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}let o=n.length,m;if(o>1){e:for(;o--;)for(m=o;m--;)if(V(n[o],n[m])){let l={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:o,j:m},message:"must NOT have duplicate items (items ## "+m+" and "+o+" are identical)"};e===null?e=[l]:e.push(l),s++;break e}}}else{let i={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(r.notification!==void 0&&(Rt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Rt.errors:e.concat(Rt.errors),s=e.length)),r.driver!==void 0){let n=r.driver;if(typeof n!="string"){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="adlink"||n==="aws-kinesis"||n==="butler"||n==="crestron"||n==="dell"||n==="dmp"||n==="doorbird"||n==="dormakaba"||n==="dsc"||n==="ecobee"||n==="epson"||n==="geovision-rs"||n==="geovision-as-manager"||n==="honeywell-vista"||n==="igor"||n==="inncom"||n==="isapi"||n==="kohost-k7"||n==="kohost"||n==="lg"||n==="lg-webos"||n==="lapi"||n==="lirc"||n==="mews"||n==="mht"||n==="paxton"||n==="pelican-wireless"||n==="power-shades"||n==="rachio"||n==="rebrandly"||n==="relay"||n==="rtsp"||n==="salto"||n==="salto-irn"||n==="samsung"||n==="se"||n==="sendgrid"||n==="sonifi"||n==="stay-n-touch"||n==="storable"||n==="twilio"||n==="unifi"||n==="valcom"||n==="vivotek"||n==="vizio"||n==="wisenet"||n==="cloudflare-images"||n==="cloudflare-stream"||n==="insperia-privacy")){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.offline!==void 0&&typeof r.offline!="boolean"){let n={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[n]:e.push(n),s++}if(r.supportedStates!==void 0){let n=r.supportedStates;if(Array.isArray(n)){let i=n.length;for(let l=0;l<i;l++){let d=n[l];if(!(d==="privacy"||d==="service"||d==="none")){let h={instancePath:t+"/supportedStates/"+l,schemaPath:"#/properties/supportedStates/items/enum",keyword:"enum",params:{allowedValues:Wm.properties.supportedStates.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}let o=n.length,m;if(o>1){e:for(;o--;)for(m=o;m--;)if(V(n[o],n[m])){let l={instancePath:t+"/supportedStates",schemaPath:"#/properties/supportedStates/uniqueItems",keyword:"uniqueItems",params:{i:o,j:m},message:"must NOT have duplicate items (items ## "+m+" and "+o+" are identical)"};e===null?e=[l]:e.push(l),s++;break e}}}else{let i={instancePath:t+"/supportedStates",schemaPath:"#/properties/supportedStates/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(r.state!==void 0){let n=r.state;if(typeof n!="string"){let i={instancePath:t+"/state",schemaPath:"#/properties/state/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="privacy"||n==="service"||n==="none")){let i={instancePath:t+"/state",schemaPath:"#/properties/supportedStates/items/enum",keyword:"enum",params:{allowedValues:Gm.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let n={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.watts!==void 0){let n=r.watts;if(typeof n=="number"){if(n<0||isNaN(n)){let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[i]:e.push(i),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let n={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let n={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let n={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let n={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return wt.errors=e,s===0}c(wt,"validate22");var hp=gp,Qa={$schema:"http://json-schema.org/draft-07/schema",$id:"credential.json",title:"Credential",type:"object",required:["type","credential","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"credential"},driver:{$ref:"definitions.json#/definitions/driver"},discriminator:{type:"string",enum:["verificationCode","token","mobileKey","pin","publicKey","passkeyChallenge"]},credential:{type:"string"},userId:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},deviceId:{type:"string"},userAgent:{type:"string"},expires:{type:["string","object","null"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}};function gp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="credential"),r.type===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[n]:e.push(n),s++}if(r.credential===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"credential"},message:"must have required property 'credential'"};e===null?e=[n]:e.push(n),s++}if(r.expires===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"expires"},message:"must have required property 'expires'"};e===null?e=[n]:e.push(n),s++}if(r.id!==void 0){let n=r.id;if(typeof n!="string"){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let i=s,o=s;if(!(n==="global"||n==="system")){let m={};e===null?e=[m]:e.push(m),s++}var a=o===s;if(a){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[m]:e.push(m),s++}else s=i,e!==null&&(i?e.length=i:e=null)}if(typeof r.type!="string"){let n={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.driver!==void 0){let n=r.driver;if(typeof n!="string"){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="adlink"||n==="aws-kinesis"||n==="butler"||n==="crestron"||n==="dell"||n==="dmp"||n==="doorbird"||n==="dormakaba"||n==="dsc"||n==="ecobee"||n==="epson"||n==="geovision-rs"||n==="geovision-as-manager"||n==="honeywell-vista"||n==="igor"||n==="inncom"||n==="isapi"||n==="kohost-k7"||n==="kohost"||n==="lg"||n==="lg-webos"||n==="lapi"||n==="lirc"||n==="mews"||n==="mht"||n==="paxton"||n==="pelican-wireless"||n==="power-shades"||n==="rachio"||n==="rebrandly"||n==="relay"||n==="rtsp"||n==="salto"||n==="salto-irn"||n==="samsung"||n==="se"||n==="sendgrid"||n==="sonifi"||n==="stay-n-touch"||n==="storable"||n==="twilio"||n==="unifi"||n==="valcom"||n==="vivotek"||n==="vizio"||n==="wisenet"||n==="cloudflare-images"||n==="cloudflare-stream"||n==="insperia-privacy")){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.discriminator!==void 0){let n=r.discriminator;if(typeof n!="string"){let i={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="verificationCode"||n==="token"||n==="mobileKey"||n==="pin"||n==="publicKey"||n==="passkeyChallenge")){let i={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/enum",keyword:"enum",params:{allowedValues:Qa.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.credential!==void 0&&typeof r.credential!="string"){let n={instancePath:t+"/credential",schemaPath:"#/properties/credential/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.userId!==void 0&&typeof r.userId!="string"){let n={instancePath:t+"/userId",schemaPath:"#/properties/userId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.organizationId!==void 0&&typeof r.organizationId!="string"){let n={instancePath:t+"/organizationId",schemaPath:"#/properties/organizationId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.propertyId!==void 0&&typeof r.propertyId!="string"){let n={instancePath:t+"/propertyId",schemaPath:"#/properties/propertyId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.deviceId!==void 0&&typeof r.deviceId!="string"){let n={instancePath:t+"/deviceId",schemaPath:"#/properties/deviceId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.userAgent!==void 0&&typeof r.userAgent!="string"){let n={instancePath:t+"/userAgent",schemaPath:"#/properties/userAgent/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.expires!==void 0){let n=r.expires;if(typeof n!="string"&&!(n&&typeof n=="object"&&!Array.isArray(n))&&n!==null){let i={instancePath:t+"/expires",schemaPath:"#/properties/expires/type",keyword:"type",params:{type:Qa.properties.expires.type},message:"must be string,object,null"};e===null?e=[i]:e.push(i),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let n={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return gp.errors=e,s===0}c(gp,"validate25");var bp=wp,Ja={$schema:"http://json-schema.org/draft-07/schema",$id:"deviceRouter.json",title:"Device Router",description:"A device router contains instructions on where to route devices based on their organization and driver.",type:"object",required:["driver","organizationId"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"deviceRouter",enum:["deviceRouter"]},driver:{type:"string"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this router"},devices:{type:"object",additionalProperties:!0}}};function wp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="deviceRouter"),r.driver===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[i]:e.push(i),s++}if(r.organizationId===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"organizationId"},message:"must have required property 'organizationId'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="deviceRouter"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:Ja.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.driver!==void 0&&typeof r.driver!="string"){let i={instancePath:t+"/driver",schemaPath:"#/properties/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.organizationId!==void 0){let i=r.organizationId;if(typeof i!="string"&&i!==null){let o={instancePath:t+"/organizationId",schemaPath:"#/properties/organizationId/type",keyword:"type",params:{type:Ja.properties.organizationId.type},message:"must be string,null"};e===null?e=[o]:e.push(o),s++}}if(r.devices!==void 0){let i=r.devices;if(!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/devices",schemaPath:"#/properties/devices/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return wp.errors=e,s===0}c(wp,"validate26");var Pp=Pt,Ym={$schema:"http://json-schema.org/draft-07/schema",$id:"dimmer.json",title:"Dimmer",description:"Any smart dimmer",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},level:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","level","driver"]};function Vt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Vt.errors=e,s===0}c(Vt,"validate28");function Pt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.id===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(r.type===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[n]:e.push(n),s++}if(r.level===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"level"},message:"must have required property 'level'"};e===null?e=[n]:e.push(n),s++}if(r.driver===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[n]:e.push(n),s++}if(r.id!==void 0){let n=r.id;if(typeof n!="string"){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let i=s,o=s;if(!(n==="global"||n==="system")){let m={};e===null?e=[m]:e.push(m),s++}var a=o===s;if(a){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[m]:e.push(m),s++}else s=i,e!==null&&(i?e.length=i:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.type!==void 0){let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="alarm"||n==="dimmer"||n==="switch"||n==="motionSensor"||n==="windowCovering"||n==="camera"||n==="mediaSource"||n==="thermostat"||n==="lock"||n==="courtesy"||n==="gateway"||n==="tv"||n==="dvr"||n==="appleTv"||n==="discPlayer"||n==="mediaPlayer"||n==="uncontrolledDevice")){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.supportedNotifications!==void 0){let n=r.supportedNotifications;if(Array.isArray(n)){let i=n.length;for(let l=0;l<i;l++){let d=n[l];if(!(d==="button 1"||d==="button 2"||d==="button 3"||d==="button 4"||d==="button 5"||d==="idle"||d==="powerHasBeedApplied"||d==="acMainsDisconnected"||d==="acMainsReconnected"||d==="replaceBatterySoon"||d==="replaceBatteryNow"||d==="batteryOk"||d==="hardwareFailure"||d==="softwareFailure"||d==="hardwareFailureWithCode"||d==="softwareFailureWithCode"||d==="motionDetection"||d==="airFilterNeedsCleaned"||d==="airFilterNeedsReplaced"||d==="smokeDetected"||d==="outsideSafeTemperatureRange"||d==="outsideSafeHumidityRange"||d==="scheduleMaintenance"||d==="doorAjar"||d==="communicationFailure"||d==="communicationOk"||d==="burglarAlarm"||d==="fireAlarm")){let h={instancePath:t+"/supportedNotifications/"+l,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}let o=n.length,m;if(o>1){e:for(;o--;)for(m=o;m--;)if(V(n[o],n[m])){let l={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:o,j:m},message:"must NOT have duplicate items (items ## "+m+" and "+o+" are identical)"};e===null?e=[l]:e.push(l),s++;break e}}}else{let i={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(r.notification!==void 0&&(Vt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Vt.errors:e.concat(Vt.errors),s=e.length)),r.driver!==void 0){let n=r.driver;if(typeof n!="string"){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="adlink"||n==="aws-kinesis"||n==="butler"||n==="crestron"||n==="dell"||n==="dmp"||n==="doorbird"||n==="dormakaba"||n==="dsc"||n==="ecobee"||n==="epson"||n==="geovision-rs"||n==="geovision-as-manager"||n==="honeywell-vista"||n==="igor"||n==="inncom"||n==="isapi"||n==="kohost-k7"||n==="kohost"||n==="lg"||n==="lg-webos"||n==="lapi"||n==="lirc"||n==="mews"||n==="mht"||n==="paxton"||n==="pelican-wireless"||n==="power-shades"||n==="rachio"||n==="rebrandly"||n==="relay"||n==="rtsp"||n==="salto"||n==="salto-irn"||n==="samsung"||n==="se"||n==="sendgrid"||n==="sonifi"||n==="stay-n-touch"||n==="storable"||n==="twilio"||n==="unifi"||n==="valcom"||n==="vivotek"||n==="vizio"||n==="wisenet"||n==="cloudflare-images"||n==="cloudflare-stream"||n==="insperia-privacy")){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.offline!==void 0&&typeof r.offline!="boolean"){let n={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[n]:e.push(n),s++}if(r.level!==void 0){let n=r.level;if(typeof n!="number"&&n!==null){let i={instancePath:t+"/level",schemaPath:"#/properties/level/type",keyword:"type",params:{type:Ym.properties.level.type},message:"must be number,null"};e===null?e=[i]:e.push(i),s++}if(typeof n=="number"){if(n>100||isNaN(n)){let i={instancePath:t+"/level",schemaPath:"#/properties/level/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[i]:e.push(i),s++}if(n<0||isNaN(n)){let i={instancePath:t+"/level",schemaPath:"#/properties/level/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[i]:e.push(i),s++}}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let n={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.watts!==void 0){let n=r.watts;if(typeof n=="number"){if(n<0||isNaN(n)){let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[i]:e.push(i),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let n={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let n={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let n={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let n={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Pt.errors=e,s===0}c(Pt,"validate27");var vp=kp,gr={$schema:"http://json-schema.org/draft-07/schema",$id:"discoveredDevice.json",title:"Discovered Device",description:"A device that has been discovered by Kohost, but not yet added to the Kohost system.",type:"object",required:["name","deviceId","deviceData"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},deviceId:{type:"string"},type:{type:"string",enum:["discoveredDevice"],default:"discoveredDevice"},discriminator:{$ref:"definitions.json#/definitions/type"},driver:{type:"string"},deviceData:{type:"object"},ignore:{type:"boolean"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this device"},propertyId:{type:["string","null"],description:"Reference (id) to the property that this device belongs to"}}};function kp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="discoveredDevice"),r.name===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[i]:e.push(i),s++}if(r.deviceId===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"deviceId"},message:"must have required property 'deviceId'"};e===null?e=[i]:e.push(i),s++}if(r.deviceData===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"deviceData"},message:"must have required property 'deviceData'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let i={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.deviceId!==void 0&&typeof r.deviceId!="string"){let i={instancePath:t+"/deviceId",schemaPath:"#/properties/deviceId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="discoveredDevice"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:gr.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.discriminator!==void 0){let i=r.discriminator;if(typeof i!="string"){let o={instancePath:t+"/discriminator",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="alarm"||i==="dimmer"||i==="switch"||i==="motionSensor"||i==="windowCovering"||i==="camera"||i==="mediaSource"||i==="thermostat"||i==="lock"||i==="courtesy"||i==="gateway"||i==="tv"||i==="dvr"||i==="appleTv"||i==="discPlayer"||i==="mediaPlayer"||i==="uncontrolledDevice")){let o={instancePath:t+"/discriminator",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.driver!==void 0&&typeof r.driver!="string"){let i={instancePath:t+"/driver",schemaPath:"#/properties/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.deviceData!==void 0){let i=r.deviceData;if(!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/deviceData",schemaPath:"#/properties/deviceData/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.ignore!==void 0&&typeof r.ignore!="boolean"){let i={instancePath:t+"/ignore",schemaPath:"#/properties/ignore/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[i]:e.push(i),s++}if(r.organizationId!==void 0){let i=r.organizationId;if(typeof i!="string"&&i!==null){let o={instancePath:t+"/organizationId",schemaPath:"#/properties/organizationId/type",keyword:"type",params:{type:gr.properties.organizationId.type},message:"must be string,null"};e===null?e=[o]:e.push(o),s++}}if(r.propertyId!==void 0){let i=r.propertyId;if(typeof i!="string"&&i!==null){let o={instancePath:t+"/propertyId",schemaPath:"#/properties/propertyId/type",keyword:"type",params:{type:gr.properties.propertyId.type},message:"must be string,null"};e===null?e=[o]:e.push(o),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return kp.errors=e,s===0}c(kp,"validate30");var jp=Ap,_a={$schema:"http://json-schema.org/draft-07/schema",$id:"emailMessage.json",title:"Email Message",type:"object",required:["to","from","status","subject"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"emailMessage",enum:["emailMessage"]},to:{type:"string",pattern:"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"},from:{type:"string",pattern:".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*",description:"Must be in the format of 'Sender <email@example.com>"},subject:{type:"string"},status:{type:"string",enum:["queued","sending","sent","deferred","delivered","undelivered","bounced","blocked","receiving","received","opened","clicked","unsubscribed","spamReport"]},statusMessage:{type:"string"},html:{type:"string"},text:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},Xm=new RegExp("^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$","u"),Qm=new RegExp(".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*","u");function Ap(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="emailMessage"),r.to===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"to"},message:"must have required property 'to'"};e===null?e=[i]:e.push(i),s++}if(r.from===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"from"},message:"must have required property 'from'"};e===null?e=[i]:e.push(i),s++}if(r.status===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[i]:e.push(i),s++}if(r.subject===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"subject"},message:"must have required property 'subject'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="emailMessage"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:_a.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.to!==void 0){let i=r.to;if(typeof i=="string"){if(!Xm.test(i)){let o={instancePath:t+"/to",schemaPath:"#/properties/to/pattern",keyword:"pattern",params:{pattern:"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"},message:'must match pattern "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/to",schemaPath:"#/properties/to/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.from!==void 0){let i=r.from;if(typeof i=="string"){if(!Qm.test(i)){let o={instancePath:t+"/from",schemaPath:"#/properties/from/pattern",keyword:"pattern",params:{pattern:".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*"},message:'must match pattern ".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/from",schemaPath:"#/properties/from/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.subject!==void 0&&typeof r.subject!="string"){let i={instancePath:t+"/subject",schemaPath:"#/properties/subject/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.status!==void 0){let i=r.status;if(typeof i!="string"){let o={instancePath:t+"/status",schemaPath:"#/properties/status/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="queued"||i==="sending"||i==="sent"||i==="deferred"||i==="delivered"||i==="undelivered"||i==="bounced"||i==="blocked"||i==="receiving"||i==="received"||i==="opened"||i==="clicked"||i==="unsubscribed"||i==="spamReport")){let o={instancePath:t+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues:_a.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.statusMessage!==void 0&&typeof r.statusMessage!="string"){let i={instancePath:t+"/statusMessage",schemaPath:"#/properties/statusMessage/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.html!==void 0&&typeof r.html!="string"){let i={instancePath:t+"/html",schemaPath:"#/properties/html/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.text!==void 0&&typeof r.text!="string"){let i={instancePath:t+"/text",schemaPath:"#/properties/text/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.driver!==void 0&&typeof r.driver!="string"){let i={instancePath:t+"/driver",schemaPath:"#/properties/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.appData!==void 0){let i=r.appData;if(!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/appData",schemaPath:"#/properties/appData/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.createdAt!==void 0){let i=r.createdAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.updatedAt!==void 0){let i=r.updatedAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Ap.errors=e,s===0}c(Ap,"validate31");var qp=xp,Ft={$schema:"http://json-schema.org/draft-07/schema",$id:"energyReport.json",title:"Energy Report",description:"Hourly Report for Energy based on energy report shards",type:"object",required:["id","type","roomId","first","last","consumption","totals","costPerKw"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReport"],default:"energyReport"},reportTime:{type:"string",enum:["hourly","daily","monthly"]},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},consumption:{type:"array",items:{type:"object",required:["id","type","kwh"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},kwh:{type:"number",minimum:0}}}},totals:{type:"array",items:{type:"object",required:["lights","climate","media"],properties:{lights:{type:"number",minimum:0},climate:{type:"number",minimum:0},media:{type:"number",minimum:0}}}},costPerKw:{type:"number",minimum:0}}};function xp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="energyReport"),r.id===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[m]:e.push(m),s++}if(r.type===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[m]:e.push(m),s++}if(r.roomId===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"roomId"},message:"must have required property 'roomId'"};e===null?e=[m]:e.push(m),s++}if(r.first===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"first"},message:"must have required property 'first'"};e===null?e=[m]:e.push(m),s++}if(r.last===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"last"},message:"must have required property 'last'"};e===null?e=[m]:e.push(m),s++}if(r.consumption===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"consumption"},message:"must have required property 'consumption'"};e===null?e=[m]:e.push(m),s++}if(r.totals===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"totals"},message:"must have required property 'totals'"};e===null?e=[m]:e.push(m),s++}if(r.costPerKw===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"costPerKw"},message:"must have required property 'costPerKw'"};e===null?e=[m]:e.push(m),s++}if(r.id!==void 0){let m=r.id;if(typeof m!="string"){let h={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}let l=s,d=s;if(!(m==="global"||m==="system")){let h={};e===null?e=[h]:e.push(h),s++}var a=d===s;if(a){let h={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[h]:e.push(h),s++}else s=l,e!==null&&(l?e.length=l:e=null)}let o=r.type;if(typeof o!="string"){let m={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o!=="energyReport"){let m={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:Ft.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}if(r.reportTime!==void 0){let m=r.reportTime;if(typeof m!="string"){let l={instancePath:t+"/reportTime",schemaPath:"#/properties/reportTime/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(!(m==="hourly"||m==="daily"||m==="monthly")){let l={instancePath:t+"/reportTime",schemaPath:"#/properties/reportTime/enum",keyword:"enum",params:{allowedValues:Ft.properties.reportTime.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}}if(r.roomId!==void 0){let m=r.roomId;if(typeof m!="string"){let h={instancePath:t+"/roomId",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}let l=s,d=s;if(!(m==="global"||m==="system")){let h={};e===null?e=[h]:e.push(h),s++}var n=d===s;if(n){let h={instancePath:t+"/roomId",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[h]:e.push(h),s++}else s=l,e!==null&&(l?e.length=l:e=null)}if(r.first!==void 0){let m=r.first;if(typeof m!="string"&&!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/first",schemaPath:"#/properties/first/type",keyword:"type",params:{type:Ft.properties.first.type},message:"must be string,object"};e===null?e=[l]:e.push(l),s++}if(typeof m=="string"&&!M.validate(m)){let l={instancePath:t+"/first",schemaPath:"#/properties/first/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}if(r.last!==void 0){let m=r.last;if(typeof m!="string"&&!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/last",schemaPath:"#/properties/last/type",keyword:"type",params:{type:Ft.properties.last.type},message:"must be string,object"};e===null?e=[l]:e.push(l),s++}if(typeof m=="string"&&!M.validate(m)){let l={instancePath:t+"/last",schemaPath:"#/properties/last/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}if(r.consumption!==void 0){let m=r.consumption;if(Array.isArray(m)){let l=m.length;for(let d=0;d<l;d++){let h=m[d];if(h&&typeof h=="object"&&!Array.isArray(h)){if(h.id===void 0){let y={instancePath:t+"/consumption/"+d,schemaPath:"#/properties/consumption/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[y]:e.push(y),s++}if(h.type===void 0){let y={instancePath:t+"/consumption/"+d,schemaPath:"#/properties/consumption/items/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[y]:e.push(y),s++}if(h.kwh===void 0){let y={instancePath:t+"/consumption/"+d,schemaPath:"#/properties/consumption/items/required",keyword:"required",params:{missingProperty:"kwh"},message:"must have required property 'kwh'"};e===null?e=[y]:e.push(y),s++}if(h.id!==void 0){let y=h.id;if(typeof y!="string"){let v={instancePath:t+"/consumption/"+d+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}let b=s,P=s;if(!(y==="global"||y==="system")){let v={};e===null?e=[v]:e.push(v),s++}var i=P===s;if(i){let v={instancePath:t+"/consumption/"+d+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[v]:e.push(v),s++}else s=b,e!==null&&(b?e.length=b:e=null)}if(h.type!==void 0){let y=h.type;if(typeof y!="string"){let b={instancePath:t+"/consumption/"+d+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(!(y==="alarm"||y==="dimmer"||y==="switch"||y==="motionSensor"||y==="windowCovering"||y==="camera"||y==="mediaSource"||y==="thermostat"||y==="lock"||y==="courtesy"||y==="gateway"||y==="tv"||y==="dvr"||y==="appleTv"||y==="discPlayer"||y==="mediaPlayer"||y==="uncontrolledDevice")){let b={instancePath:t+"/consumption/"+d+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}if(h.kwh!==void 0){let y=h.kwh;if(typeof y=="number"){if(y<0||isNaN(y)){let b={instancePath:t+"/consumption/"+d+"/kwh",schemaPath:"#/properties/consumption/items/properties/kwh/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[b]:e.push(b),s++}}else{let b={instancePath:t+"/consumption/"+d+"/kwh",schemaPath:"#/properties/consumption/items/properties/kwh/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[b]:e.push(b),s++}}}else{let y={instancePath:t+"/consumption/"+d,schemaPath:"#/properties/consumption/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[y]:e.push(y),s++}}}else{let l={instancePath:t+"/consumption",schemaPath:"#/properties/consumption/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[l]:e.push(l),s++}}if(r.totals!==void 0){let m=r.totals;if(Array.isArray(m)){let l=m.length;for(let d=0;d<l;d++){let h=m[d];if(h&&typeof h=="object"&&!Array.isArray(h)){if(h.lights===void 0){let y={instancePath:t+"/totals/"+d,schemaPath:"#/properties/totals/items/required",keyword:"required",params:{missingProperty:"lights"},message:"must have required property 'lights'"};e===null?e=[y]:e.push(y),s++}if(h.climate===void 0){let y={instancePath:t+"/totals/"+d,schemaPath:"#/properties/totals/items/required",keyword:"required",params:{missingProperty:"climate"},message:"must have required property 'climate'"};e===null?e=[y]:e.push(y),s++}if(h.media===void 0){let y={instancePath:t+"/totals/"+d,schemaPath:"#/properties/totals/items/required",keyword:"required",params:{missingProperty:"media"},message:"must have required property 'media'"};e===null?e=[y]:e.push(y),s++}if(h.lights!==void 0){let y=h.lights;if(typeof y=="number"){if(y<0||isNaN(y)){let b={instancePath:t+"/totals/"+d+"/lights",schemaPath:"#/properties/totals/items/properties/lights/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[b]:e.push(b),s++}}else{let b={instancePath:t+"/totals/"+d+"/lights",schemaPath:"#/properties/totals/items/properties/lights/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[b]:e.push(b),s++}}if(h.climate!==void 0){let y=h.climate;if(typeof y=="number"){if(y<0||isNaN(y)){let b={instancePath:t+"/totals/"+d+"/climate",schemaPath:"#/properties/totals/items/properties/climate/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[b]:e.push(b),s++}}else{let b={instancePath:t+"/totals/"+d+"/climate",schemaPath:"#/properties/totals/items/properties/climate/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[b]:e.push(b),s++}}if(h.media!==void 0){let y=h.media;if(typeof y=="number"){if(y<0||isNaN(y)){let b={instancePath:t+"/totals/"+d+"/media",schemaPath:"#/properties/totals/items/properties/media/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[b]:e.push(b),s++}}else{let b={instancePath:t+"/totals/"+d+"/media",schemaPath:"#/properties/totals/items/properties/media/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[b]:e.push(b),s++}}}else{let y={instancePath:t+"/totals/"+d,schemaPath:"#/properties/totals/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[y]:e.push(y),s++}}}else{let l={instancePath:t+"/totals",schemaPath:"#/properties/totals/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[l]:e.push(l),s++}}if(r.costPerKw!==void 0){let m=r.costPerKw;if(typeof m=="number"){if(m<0||isNaN(m)){let l={instancePath:t+"/costPerKw",schemaPath:"#/properties/costPerKw/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/costPerKw",schemaPath:"#/properties/costPerKw/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[l]:e.push(l),s++}}}else{let o={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}return xp.errors=e,s===0}c(xp,"validate32");var Ip=Np,ut={$schema:"http://json-schema.org/draft-07/schema",$id:"energyReportShard.json",title:"Energy Report Shard",description:"Shard used for Energy Reports",type:"object",required:["id","type","roomId","first","last","data","ndata","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReportShard"],default:"energyReportShard"},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},data:{type:"array",items:{type:"object",required:["time","watts","id","type","value"],properties:{time:{type:["string","object"],format:"date-time"},watts:{$ref:"definitions.json#/definitions/watts"},id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},value:{type:"number",minimum:0,maximum:1}}}},ndata:{type:"integer",minimum:0,maximum:1e5,default:0},expires:{type:["string","object"],format:"date-time"}}};function Np(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="energyReportShard"),r.ndata===void 0&&(r.ndata=0),r.id===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[l]:e.push(l),s++}if(r.type===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[l]:e.push(l),s++}if(r.roomId===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"roomId"},message:"must have required property 'roomId'"};e===null?e=[l]:e.push(l),s++}if(r.first===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"first"},message:"must have required property 'first'"};e===null?e=[l]:e.push(l),s++}if(r.last===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"last"},message:"must have required property 'last'"};e===null?e=[l]:e.push(l),s++}if(r.data===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"data"},message:"must have required property 'data'"};e===null?e=[l]:e.push(l),s++}if(r.ndata===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"ndata"},message:"must have required property 'ndata'"};e===null?e=[l]:e.push(l),s++}if(r.expires===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"expires"},message:"must have required property 'expires'"};e===null?e=[l]:e.push(l),s++}if(r.id!==void 0){let l=r.id;if(typeof l!="string"){let y={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}let d=s,h=s;if(!(l==="global"||l==="system")){let y={};e===null?e=[y]:e.push(y),s++}var a=h===s;if(a){let y={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[y]:e.push(y),s++}else s=d,e!==null&&(d?e.length=d:e=null)}let o=r.type;if(typeof o!="string"){let l={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(o!=="energyReportShard"){let l={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ut.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}if(r.roomId!==void 0){let l=r.roomId;if(typeof l!="string"){let y={instancePath:t+"/roomId",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}let d=s,h=s;if(!(l==="global"||l==="system")){let y={};e===null?e=[y]:e.push(y),s++}var n=h===s;if(n){let y={instancePath:t+"/roomId",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[y]:e.push(y),s++}else s=d,e!==null&&(d?e.length=d:e=null)}if(r.first!==void 0){let l=r.first;if(typeof l!="string"&&!(l&&typeof l=="object"&&!Array.isArray(l))){let d={instancePath:t+"/first",schemaPath:"#/properties/first/type",keyword:"type",params:{type:ut.properties.first.type},message:"must be string,object"};e===null?e=[d]:e.push(d),s++}if(typeof l=="string"&&!M.validate(l)){let d={instancePath:t+"/first",schemaPath:"#/properties/first/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[d]:e.push(d),s++}}if(r.last!==void 0){let l=r.last;if(typeof l!="string"&&!(l&&typeof l=="object"&&!Array.isArray(l))){let d={instancePath:t+"/last",schemaPath:"#/properties/last/type",keyword:"type",params:{type:ut.properties.last.type},message:"must be string,object"};e===null?e=[d]:e.push(d),s++}if(typeof l=="string"&&!M.validate(l)){let d={instancePath:t+"/last",schemaPath:"#/properties/last/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[d]:e.push(d),s++}}if(r.data!==void 0){let l=r.data;if(Array.isArray(l)){let d=l.length;for(let h=0;h<d;h++){let y=l[h];if(y&&typeof y=="object"&&!Array.isArray(y)){if(y.time===void 0){let b={instancePath:t+"/data/"+h,schemaPath:"#/properties/data/items/required",keyword:"required",params:{missingProperty:"time"},message:"must have required property 'time'"};e===null?e=[b]:e.push(b),s++}if(y.watts===void 0){let b={instancePath:t+"/data/"+h,schemaPath:"#/properties/data/items/required",keyword:"required",params:{missingProperty:"watts"},message:"must have required property 'watts'"};e===null?e=[b]:e.push(b),s++}if(y.id===void 0){let b={instancePath:t+"/data/"+h,schemaPath:"#/properties/data/items/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[b]:e.push(b),s++}if(y.type===void 0){let b={instancePath:t+"/data/"+h,schemaPath:"#/properties/data/items/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[b]:e.push(b),s++}if(y.value===void 0){let b={instancePath:t+"/data/"+h,schemaPath:"#/properties/data/items/required",keyword:"required",params:{missingProperty:"value"},message:"must have required property 'value'"};e===null?e=[b]:e.push(b),s++}if(y.time!==void 0){let b=y.time;if(typeof b!="string"&&!(b&&typeof b=="object"&&!Array.isArray(b))){let P={instancePath:t+"/data/"+h+"/time",schemaPath:"#/properties/data/items/properties/time/type",keyword:"type",params:{type:ut.properties.data.items.properties.time.type},message:"must be string,object"};e===null?e=[P]:e.push(P),s++}if(typeof b=="string"&&!M.validate(b)){let P={instancePath:t+"/data/"+h+"/time",schemaPath:"#/properties/data/items/properties/time/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[P]:e.push(P),s++}}if(y.watts!==void 0){let b=y.watts;if(typeof b=="number"){if(b<0||isNaN(b)){let P={instancePath:t+"/data/"+h+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/data/"+h+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[P]:e.push(P),s++}}if(y.id!==void 0){let b=y.id;if(typeof b!="string"){let g={instancePath:t+"/data/"+h+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}let P=s,v=s;if(!(b==="global"||b==="system")){let g={};e===null?e=[g]:e.push(g),s++}var i=v===s;if(i){let g={instancePath:t+"/data/"+h+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[g]:e.push(g),s++}else s=P,e!==null&&(P?e.length=P:e=null)}if(y.type!==void 0){let b=y.type;if(typeof b!="string"){let P={instancePath:t+"/data/"+h+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}if(!(b==="alarm"||b==="dimmer"||b==="switch"||b==="motionSensor"||b==="windowCovering"||b==="camera"||b==="mediaSource"||b==="thermostat"||b==="lock"||b==="courtesy"||b==="gateway"||b==="tv"||b==="dvr"||b==="appleTv"||b==="discPlayer"||b==="mediaPlayer"||b==="uncontrolledDevice")){let P={instancePath:t+"/data/"+h+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[P]:e.push(P),s++}}if(y.value!==void 0){let b=y.value;if(typeof b=="number"){if(b>1||isNaN(b)){let P={instancePath:t+"/data/"+h+"/value",schemaPath:"#/properties/data/items/properties/value/maximum",keyword:"maximum",params:{comparison:"<=",limit:1},message:"must be <= 1"};e===null?e=[P]:e.push(P),s++}if(b<0||isNaN(b)){let P={instancePath:t+"/data/"+h+"/value",schemaPath:"#/properties/data/items/properties/value/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/data/"+h+"/value",schemaPath:"#/properties/data/items/properties/value/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[P]:e.push(P),s++}}}else{let b={instancePath:t+"/data/"+h,schemaPath:"#/properties/data/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[b]:e.push(b),s++}}}else{let d={instancePath:t+"/data",schemaPath:"#/properties/data/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[d]:e.push(d),s++}}let m=r.ndata;if(!(typeof m=="number"&&!(m%1)&&!isNaN(m))){let l={instancePath:t+"/ndata",schemaPath:"#/properties/ndata/type",keyword:"type",params:{type:"integer"},message:"must be integer"};e===null?e=[l]:e.push(l),s++}if(typeof m=="number"){if(m>1e5||isNaN(m)){let l={instancePath:t+"/ndata",schemaPath:"#/properties/ndata/maximum",keyword:"maximum",params:{comparison:"<=",limit:1e5},message:"must be <= 100000"};e===null?e=[l]:e.push(l),s++}if(m<0||isNaN(m)){let l={instancePath:t+"/ndata",schemaPath:"#/properties/ndata/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[l]:e.push(l),s++}}if(r.expires!==void 0){let l=r.expires;if(typeof l!="string"&&!(l&&typeof l=="object"&&!Array.isArray(l))){let d={instancePath:t+"/expires",schemaPath:"#/properties/expires/type",keyword:"type",params:{type:ut.properties.expires.type},message:"must be string,object"};e===null?e=[d]:e.push(d),s++}if(typeof l=="string"&&!M.validate(l)){let d={instancePath:t+"/expires",schemaPath:"#/properties/expires/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[d]:e.push(d),s++}}}else{let o={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}return Np.errors=e,s===0}c(Np,"validate33");var zp=$p;function Bt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Bt.errors=e,s===0}c(Bt,"validate35");function $p(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.id===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(r.type===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[n]:e.push(n),s++}if(r.status===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[n]:e.push(n),s++}if(r.driver===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[n]:e.push(n),s++}if(r.id!==void 0){let n=r.id;if(typeof n!="string"){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let i=s,o=s;if(!(n==="global"||n==="system")){let m={};e===null?e=[m]:e.push(m),s++}var a=o===s;if(a){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[m]:e.push(m),s++}else s=i,e!==null&&(i?e.length=i:e=null)}if(r.type!==void 0){let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="alarm"||n==="dimmer"||n==="switch"||n==="motionSensor"||n==="windowCovering"||n==="camera"||n==="mediaSource"||n==="thermostat"||n==="lock"||n==="courtesy"||n==="gateway"||n==="tv"||n==="dvr"||n==="appleTv"||n==="discPlayer"||n==="mediaPlayer"||n==="uncontrolledDevice")){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.supportedNotifications!==void 0){let n=r.supportedNotifications;if(Array.isArray(n)){let i=n.length;for(let l=0;l<i;l++){let d=n[l];if(!(d==="button 1"||d==="button 2"||d==="button 3"||d==="button 4"||d==="button 5"||d==="idle"||d==="powerHasBeedApplied"||d==="acMainsDisconnected"||d==="acMainsReconnected"||d==="replaceBatterySoon"||d==="replaceBatteryNow"||d==="batteryOk"||d==="hardwareFailure"||d==="softwareFailure"||d==="hardwareFailureWithCode"||d==="softwareFailureWithCode"||d==="motionDetection"||d==="airFilterNeedsCleaned"||d==="airFilterNeedsReplaced"||d==="smokeDetected"||d==="outsideSafeTemperatureRange"||d==="outsideSafeHumidityRange"||d==="scheduleMaintenance"||d==="doorAjar"||d==="communicationFailure"||d==="communicationOk"||d==="burglarAlarm"||d==="fireAlarm")){let h={instancePath:t+"/supportedNotifications/"+l,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}let o=n.length,m;if(o>1){e:for(;o--;)for(m=o;m--;)if(V(n[o],n[m])){let l={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:o,j:m},message:"must NOT have duplicate items (items ## "+m+" and "+o+" are identical)"};e===null?e=[l]:e.push(l),s++;break e}}}else{let i={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(r.notification!==void 0&&(Bt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Bt.errors:e.concat(Bt.errors),s=e.length)),r.status!==void 0&&typeof r.status!="string"){let n={instancePath:t+"/status",schemaPath:"#/properties/status/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.systemId!==void 0&&typeof r.systemId!="string"){let n={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.driver!==void 0){let n=r.driver;if(typeof n!="string"){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="adlink"||n==="aws-kinesis"||n==="butler"||n==="crestron"||n==="dell"||n==="dmp"||n==="doorbird"||n==="dormakaba"||n==="dsc"||n==="ecobee"||n==="epson"||n==="geovision-rs"||n==="geovision-as-manager"||n==="honeywell-vista"||n==="igor"||n==="inncom"||n==="isapi"||n==="kohost-k7"||n==="kohost"||n==="lg"||n==="lg-webos"||n==="lapi"||n==="lirc"||n==="mews"||n==="mht"||n==="paxton"||n==="pelican-wireless"||n==="power-shades"||n==="rachio"||n==="rebrandly"||n==="relay"||n==="rtsp"||n==="salto"||n==="salto-irn"||n==="samsung"||n==="se"||n==="sendgrid"||n==="sonifi"||n==="stay-n-touch"||n==="storable"||n==="twilio"||n==="unifi"||n==="valcom"||n==="vivotek"||n==="vizio"||n==="wisenet"||n==="cloudflare-images"||n==="cloudflare-stream"||n==="insperia-privacy")){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.watts!==void 0){let n=r.watts;if(typeof n=="number"){if(n<0||isNaN(n)){let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[i]:e.push(i),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let n={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let n={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let n={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let n={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return $p.errors=e,s===0}c($p,"validate34");var Mp=re,br={$schema:"http://json-schema.org/draft-07/schema",$id:"identification.json",title:"Identification",type:"object",required:["type"],oneOf:[{required:["number"]},{required:["encryptedNumber"]}],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["driversLicense","passport","identityCard","visa"]},number:{type:"string"},maskedNumber:{type:"string"},encryptedNumber:{type:"string"},issued:{type:["string","object"],format:"date-time"},expires:{type:["string","object","null"],format:"date-time"},verified:{type:"boolean"},matched:{type:"boolean"},firstName:{type:"string"},lastName:{type:"string"},issuingCountry:{type:"string",minLength:2,maxLength:2},systemId:{$ref:"definitions.json#/definitions/systemId"}}};function re(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0,a=s,n=!1,i=null,o=s;if(r&&typeof r=="object"&&!Array.isArray(r)&&r.number===void 0){let h={instancePath:t,schemaPath:"#/oneOf/0/required",keyword:"required",params:{missingProperty:"number"},message:"must have required property 'number'"};e===null?e=[h]:e.push(h),s++}var l=o===s;l&&(n=!0,i=0);let m=s;if(r&&typeof r=="object"&&!Array.isArray(r)&&r.encryptedNumber===void 0){let h={instancePath:t,schemaPath:"#/oneOf/1/required",keyword:"required",params:{missingProperty:"encryptedNumber"},message:"must have required property 'encryptedNumber'"};e===null?e=[h]:e.push(h),s++}var l=m===s;if(l&&n?(n=!1,i=[i,1]):l&&(n=!0,i=1),n)s=a,e!==null&&(a?e.length=a:e=null);else{let h={instancePath:t,schemaPath:"#/oneOf",keyword:"oneOf",params:{passingSchemas:i},message:"must match exactly one schema in oneOf"};e===null?e=[h]:e.push(h),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0){let h={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[h]:e.push(h),s++}if(r.id!==void 0){let h=r.id;if(typeof h!="string"){let P={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}let y=s,b=s;if(!(h==="global"||h==="system")){let P={};e===null?e=[P]:e.push(P),s++}var d=b===s;if(d){let P={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[P]:e.push(P),s++}else s=y,e!==null&&(y?e.length=y:e=null)}if(r.type!==void 0){let h=r.type;if(typeof h!="string"){let y={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}if(!(h==="driversLicense"||h==="passport"||h==="identityCard"||h==="visa")){let y={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:br.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[y]:e.push(y),s++}}if(r.number!==void 0&&typeof r.number!="string"){let h={instancePath:t+"/number",schemaPath:"#/properties/number/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}if(r.maskedNumber!==void 0&&typeof r.maskedNumber!="string"){let h={instancePath:t+"/maskedNumber",schemaPath:"#/properties/maskedNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}if(r.encryptedNumber!==void 0&&typeof r.encryptedNumber!="string"){let h={instancePath:t+"/encryptedNumber",schemaPath:"#/properties/encryptedNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}if(r.issued!==void 0){let h=r.issued;if(typeof h!="string"&&!(h&&typeof h=="object"&&!Array.isArray(h))){let y={instancePath:t+"/issued",schemaPath:"#/properties/issued/type",keyword:"type",params:{type:br.properties.issued.type},message:"must be string,object"};e===null?e=[y]:e.push(y),s++}if(typeof h=="string"&&!M.validate(h)){let y={instancePath:t+"/issued",schemaPath:"#/properties/issued/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[y]:e.push(y),s++}}if(r.expires!==void 0){let h=r.expires;if(typeof h!="string"&&!(h&&typeof h=="object"&&!Array.isArray(h))&&h!==null){let y={instancePath:t+"/expires",schemaPath:"#/properties/expires/type",keyword:"type",params:{type:br.properties.expires.type},message:"must be string,object,null"};e===null?e=[y]:e.push(y),s++}if(typeof h=="string"&&!M.validate(h)){let y={instancePath:t+"/expires",schemaPath:"#/properties/expires/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[y]:e.push(y),s++}}if(r.verified!==void 0&&typeof r.verified!="boolean"){let h={instancePath:t+"/verified",schemaPath:"#/properties/verified/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[h]:e.push(h),s++}if(r.matched!==void 0&&typeof r.matched!="boolean"){let h={instancePath:t+"/matched",schemaPath:"#/properties/matched/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[h]:e.push(h),s++}if(r.firstName!==void 0&&typeof r.firstName!="string"){let h={instancePath:t+"/firstName",schemaPath:"#/properties/firstName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}if(r.lastName!==void 0&&typeof r.lastName!="string"){let h={instancePath:t+"/lastName",schemaPath:"#/properties/lastName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}if(r.issuingCountry!==void 0){let h=r.issuingCountry;if(typeof h=="string"){if(F(h)>2){let y={instancePath:t+"/issuingCountry",schemaPath:"#/properties/issuingCountry/maxLength",keyword:"maxLength",params:{limit:2},message:"must NOT have more than 2 characters"};e===null?e=[y]:e.push(y),s++}if(F(h)<2){let y={instancePath:t+"/issuingCountry",schemaPath:"#/properties/issuingCountry/minLength",keyword:"minLength",params:{limit:2},message:"must NOT have fewer than 2 characters"};e===null?e=[y]:e.push(y),s++}}else{let y={instancePath:t+"/issuingCountry",schemaPath:"#/properties/issuingCountry/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let h={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}}else{let h={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}return re.errors=e,s===0}c(re,"validate37");var Ep=Sp,Jm={$schema:"http://json-schema.org/draft-07/schema",$id:"issue.json",title:"Issue",description:"An issue associated with ticketing and concierge.",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["issue"],default:"issue"},name:{type:"string"},description:{type:"string"},department:{type:"string"},autoAssign:{type:"object",properties:{userId:{type:"string"},vendorId:{type:"string"},priority:{$ref:"ticket.json#/properties/priority"},tags:{type:"array",items:{type:"string"}}}},systemKey:{type:"string"},autoCreateTicket:{type:"boolean",default:!0},excludedResources:{type:"array",description:"A list of resources that should not trigger notifications of this issue",items:{type:"string"},default:[]}},required:["id","type","name","department"]},_m={type:"string",enum:["low","normal","high"],default:"normal"};function Sp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="issue"),r.autoCreateTicket===void 0&&(r.autoCreateTicket=!0),r.excludedResources===void 0&&(r.excludedResources=[]),r.id===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[o]:e.push(o),s++}if(r.type===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[o]:e.push(o),s++}if(r.name===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[o]:e.push(o),s++}if(r.department===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"department"},message:"must have required property 'department'"};e===null?e=[o]:e.push(o),s++}if(r.id!==void 0){let o=r.id;if(typeof o!="string"){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}let m=s,l=s;if(!(o==="global"||o==="system")){let d={};e===null?e=[d]:e.push(d),s++}var a=l===s;if(a){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[d]:e.push(d),s++}else s=m,e!==null&&(m?e.length=m:e=null)}let n=r.type;if(typeof n!="string"){let o={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(n!=="issue"){let o={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:Jm.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}if(r.name!==void 0&&typeof r.name!="string"){let o={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.description!==void 0&&typeof r.description!="string"){let o={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.department!==void 0&&typeof r.department!="string"){let o={instancePath:t+"/department",schemaPath:"#/properties/department/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.autoAssign!==void 0){let o=r.autoAssign;if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.userId!==void 0&&typeof o.userId!="string"){let m={instancePath:t+"/autoAssign/userId",schemaPath:"#/properties/autoAssign/properties/userId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.vendorId!==void 0&&typeof o.vendorId!="string"){let m={instancePath:t+"/autoAssign/vendorId",schemaPath:"#/properties/autoAssign/properties/vendorId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.priority!==void 0){let m=o.priority;if(typeof m!="string"){let l={instancePath:t+"/autoAssign/priority",schemaPath:"ticket.json#/properties/priority/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(!(m==="low"||m==="normal"||m==="high")){let l={instancePath:t+"/autoAssign/priority",schemaPath:"ticket.json#/properties/priority/enum",keyword:"enum",params:{allowedValues:_m.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}}if(o.tags!==void 0){let m=o.tags;if(Array.isArray(m)){let l=m.length;for(let d=0;d<l;d++)if(typeof m[d]!="string"){let h={instancePath:t+"/autoAssign/tags/"+d,schemaPath:"#/properties/autoAssign/properties/tags/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}}else{let l={instancePath:t+"/autoAssign/tags",schemaPath:"#/properties/autoAssign/properties/tags/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[l]:e.push(l),s++}}}else{let m={instancePath:t+"/autoAssign",schemaPath:"#/properties/autoAssign/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}if(r.systemKey!==void 0&&typeof r.systemKey!="string"){let o={instancePath:t+"/systemKey",schemaPath:"#/properties/systemKey/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(typeof r.autoCreateTicket!="boolean"){let o={instancePath:t+"/autoCreateTicket",schemaPath:"#/properties/autoCreateTicket/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}let i=r.excludedResources;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++)if(typeof i[m]!="string"){let l={instancePath:t+"/excludedResources/"+m,schemaPath:"#/properties/excludedResources/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}else{let o={instancePath:t+"/excludedResources",schemaPath:"#/properties/excludedResources/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Sp.errors=e,s===0}c(Sp,"validate38");var Dp=vt,dt={$schema:"http://json-schema.org/draft-07/schema",$id:"lock.json",title:"Lock",description:"Any smart lock",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},state:{type:["string","null"],enum:["locked","unlocked",null]},mode:{type:["string","null"],enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null],description:"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated",default:null},supportedModes:{type:"array",uniqueItems:!0,items:{enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null]}},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]};function Kt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Kt.errors=e,s===0}c(Kt,"validate46");function vt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.mode===void 0&&(r.mode=null),r.id===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[i]:e.push(i),s++}if(r.type===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[i]:e.push(i),s++}if(r.state===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"state"},message:"must have required property 'state'"};e===null?e=[i]:e.push(i),s++}if(r.driver===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let i={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.type!==void 0){let i=r.type;if(typeof i!="string"){let o={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="alarm"||i==="dimmer"||i==="switch"||i==="motionSensor"||i==="windowCovering"||i==="camera"||i==="mediaSource"||i==="thermostat"||i==="lock"||i==="courtesy"||i==="gateway"||i==="tv"||i==="dvr"||i==="appleTv"||i==="discPlayer"||i==="mediaPlayer"||i==="uncontrolledDevice")){let o={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.offline!==void 0&&typeof r.offline!="boolean"){let i={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[i]:e.push(i),s++}if(r.supportedNotifications!==void 0){let i=r.supportedNotifications;if(Array.isArray(i)){let o=i.length;for(let d=0;d<o;d++){let h=i[d];if(!(h==="button 1"||h==="button 2"||h==="button 3"||h==="button 4"||h==="button 5"||h==="idle"||h==="powerHasBeedApplied"||h==="acMainsDisconnected"||h==="acMainsReconnected"||h==="replaceBatterySoon"||h==="replaceBatteryNow"||h==="batteryOk"||h==="hardwareFailure"||h==="softwareFailure"||h==="hardwareFailureWithCode"||h==="softwareFailureWithCode"||h==="motionDetection"||h==="airFilterNeedsCleaned"||h==="airFilterNeedsReplaced"||h==="smokeDetected"||h==="outsideSafeTemperatureRange"||h==="outsideSafeHumidityRange"||h==="scheduleMaintenance"||h==="doorAjar"||h==="communicationFailure"||h==="communicationOk"||h==="burglarAlarm"||h==="fireAlarm")){let y={instancePath:t+"/supportedNotifications/"+d,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[y]:e.push(y),s++}}let m=i.length,l;if(m>1){e:for(;m--;)for(l=m;l--;)if(V(i[m],i[l])){let d={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:m,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+m+" are identical)"};e===null?e=[d]:e.push(d),s++;break e}}}else{let o={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.notification!==void 0&&(Kt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Kt.errors:e.concat(Kt.errors),s=e.length)),r.driver!==void 0){let i=r.driver;if(typeof i!="string"){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="adlink"||i==="aws-kinesis"||i==="butler"||i==="crestron"||i==="dell"||i==="dmp"||i==="doorbird"||i==="dormakaba"||i==="dsc"||i==="ecobee"||i==="epson"||i==="geovision-rs"||i==="geovision-as-manager"||i==="honeywell-vista"||i==="igor"||i==="inncom"||i==="isapi"||i==="kohost-k7"||i==="kohost"||i==="lg"||i==="lg-webos"||i==="lapi"||i==="lirc"||i==="mews"||i==="mht"||i==="paxton"||i==="pelican-wireless"||i==="power-shades"||i==="rachio"||i==="rebrandly"||i==="relay"||i==="rtsp"||i==="salto"||i==="salto-irn"||i==="samsung"||i==="se"||i==="sendgrid"||i==="sonifi"||i==="stay-n-touch"||i==="storable"||i==="twilio"||i==="unifi"||i==="valcom"||i==="vivotek"||i==="vizio"||i==="wisenet"||i==="cloudflare-images"||i==="cloudflare-stream"||i==="insperia-privacy")){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.state!==void 0){let i=r.state;if(typeof i!="string"&&i!==null){let o={instancePath:t+"/state",schemaPath:"#/properties/state/type",keyword:"type",params:{type:dt.properties.state.type},message:"must be string,null"};e===null?e=[o]:e.push(o),s++}if(!(i==="locked"||i==="unlocked"||i===null)){let o={instancePath:t+"/state",schemaPath:"#/properties/state/enum",keyword:"enum",params:{allowedValues:dt.properties.state.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}let n=r.mode;if(typeof n!="string"&&n!==null){let i={instancePath:t+"/mode",schemaPath:"#/properties/mode/type",keyword:"type",params:{type:dt.properties.mode.type},message:"must be string,null"};e===null?e=[i]:e.push(i),s++}if(!(n==="normal"||n==="autoLock"||n==="emergencyOpen"||n==="emergencyClose"||n==="holdOpen"||n==="lockdown"||n===null)){let i={instancePath:t+"/mode",schemaPath:"#/properties/mode/enum",keyword:"enum",params:{allowedValues:dt.properties.mode.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.supportedModes!==void 0){let i=r.supportedModes;if(Array.isArray(i)){let o=i.length;for(let d=0;d<o;d++){let h=i[d];if(!(h==="normal"||h==="autoLock"||h==="emergencyOpen"||h==="emergencyClose"||h==="holdOpen"||h==="lockdown"||h===null)){let y={instancePath:t+"/supportedModes/"+d,schemaPath:"#/properties/supportedModes/items/enum",keyword:"enum",params:{allowedValues:dt.properties.supportedModes.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[y]:e.push(y),s++}}let m=i.length,l;if(m>1){e:for(;m--;)for(l=m;l--;)if(V(i[m],i[l])){let d={instancePath:t+"/supportedModes",schemaPath:"#/properties/supportedModes/uniqueItems",keyword:"uniqueItems",params:{i:m,j:l},message:"must NOT have duplicate items (items ## "+l+" and "+m+" are identical)"};e===null?e=[d]:e.push(d),s++;break e}}}else{let o={instancePath:t+"/supportedModes",schemaPath:"#/properties/supportedModes/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.batteryLevel!==void 0){let i=r.batteryLevel;if(typeof i=="number"){if(i>100||isNaN(i)){let o={instancePath:t+"/batteryLevel",schemaPath:"definitions.json#/definitions/batteryLevel/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[o]:e.push(o),s++}if(i<0||isNaN(i)){let o={instancePath:t+"/batteryLevel",schemaPath:"definitions.json#/definitions/batteryLevel/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/batteryLevel",schemaPath:"definitions.json#/definitions/batteryLevel/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[o]:e.push(o),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.watts!==void 0){let i=r.watts;if(typeof i=="number"){if(i<0||isNaN(i)){let o={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[o]:e.push(o),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let i={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let i={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let i={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let i={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return vt.errors=e,s===0}c(vt,"validate45");var Op=Cp,el={$schema:"http://json-schema.org/draft-07/schema",$id:"log.json",title:"Log",type:"object",required:["type","timestamp","id","driver","name"],properties:{type:{type:"string",default:"log",enum:["log"]},timestamp:{type:"number",minimum:1655907956593},id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},name:{type:"string",description:"Event name"},field1:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field2:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field3:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field4:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field5:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field6:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}}}};function Cp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="log"),r.type===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[i]:e.push(i),s++}if(r.timestamp===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"timestamp"},message:"must have required property 'timestamp'"};e===null?e=[i]:e.push(i),s++}if(r.id===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[i]:e.push(i),s++}if(r.driver===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[i]:e.push(i),s++}if(r.name===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[i]:e.push(i),s++}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="log"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:el.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.timestamp!==void 0){let i=r.timestamp;if(typeof i=="number"){if(i<1655907956593||isNaN(i)){let o={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[o]:e.push(o),s++}}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}if(r.driver!==void 0){let i=r.driver;if(typeof i!="string"){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="adlink"||i==="aws-kinesis"||i==="butler"||i==="crestron"||i==="dell"||i==="dmp"||i==="doorbird"||i==="dormakaba"||i==="dsc"||i==="ecobee"||i==="epson"||i==="geovision-rs"||i==="geovision-as-manager"||i==="honeywell-vista"||i==="igor"||i==="inncom"||i==="isapi"||i==="kohost-k7"||i==="kohost"||i==="lg"||i==="lg-webos"||i==="lapi"||i==="lirc"||i==="mews"||i==="mht"||i==="paxton"||i==="pelican-wireless"||i==="power-shades"||i==="rachio"||i==="rebrandly"||i==="relay"||i==="rtsp"||i==="salto"||i==="salto-irn"||i==="samsung"||i==="se"||i==="sendgrid"||i==="sonifi"||i==="stay-n-touch"||i==="storable"||i==="twilio"||i==="unifi"||i==="valcom"||i==="vivotek"||i==="vizio"||i==="wisenet"||i==="cloudflare-images"||i==="cloudflare-stream"||i==="insperia-privacy")){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.name!==void 0&&typeof r.name!="string"){let i={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.field1!==void 0){let i=r.field1;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.name===void 0){let o={instancePath:t+"/field1",schemaPath:"#/properties/field1/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[o]:e.push(o),s++}if(i.value===void 0){let o={instancePath:t+"/field1",schemaPath:"#/properties/field1/required",keyword:"required",params:{missingProperty:"value"},message:"must have required property 'value'"};e===null?e=[o]:e.push(o),s++}if(i.name!==void 0&&typeof i.name!="string"){let o={instancePath:t+"/field1/name",schemaPath:"#/properties/field1/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.value!==void 0&&typeof i.value!="string"){let o={instancePath:t+"/field1/value",schemaPath:"#/properties/field1/properties/value/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/field1",schemaPath:"#/properties/field1/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.field2!==void 0){let i=r.field2;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.name===void 0){let o={instancePath:t+"/field2",schemaPath:"#/properties/field2/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[o]:e.push(o),s++}if(i.value===void 0){let o={instancePath:t+"/field2",schemaPath:"#/properties/field2/required",keyword:"required",params:{missingProperty:"value"},message:"must have required property 'value'"};e===null?e=[o]:e.push(o),s++}if(i.name!==void 0&&typeof i.name!="string"){let o={instancePath:t+"/field2/name",schemaPath:"#/properties/field2/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.value!==void 0&&typeof i.value!="string"){let o={instancePath:t+"/field2/value",schemaPath:"#/properties/field2/properties/value/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/field2",schemaPath:"#/properties/field2/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.field3!==void 0){let i=r.field3;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.name===void 0){let o={instancePath:t+"/field3",schemaPath:"#/properties/field3/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[o]:e.push(o),s++}if(i.value===void 0){let o={instancePath:t+"/field3",schemaPath:"#/properties/field3/required",keyword:"required",params:{missingProperty:"value"},message:"must have required property 'value'"};e===null?e=[o]:e.push(o),s++}if(i.name!==void 0&&typeof i.name!="string"){let o={instancePath:t+"/field3/name",schemaPath:"#/properties/field3/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.value!==void 0&&typeof i.value!="string"){let o={instancePath:t+"/field3/value",schemaPath:"#/properties/field3/properties/value/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/field3",schemaPath:"#/properties/field3/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.field4!==void 0){let i=r.field4;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.name===void 0){let o={instancePath:t+"/field4",schemaPath:"#/properties/field4/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[o]:e.push(o),s++}if(i.value===void 0){let o={instancePath:t+"/field4",schemaPath:"#/properties/field4/required",keyword:"required",params:{missingProperty:"value"},message:"must have required property 'value'"};e===null?e=[o]:e.push(o),s++}if(i.name!==void 0&&typeof i.name!="string"){let o={instancePath:t+"/field4/name",schemaPath:"#/properties/field4/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.value!==void 0&&typeof i.value!="string"){let o={instancePath:t+"/field4/value",schemaPath:"#/properties/field4/properties/value/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/field4",schemaPath:"#/properties/field4/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.field5!==void 0){let i=r.field5;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.name===void 0){let o={instancePath:t+"/field5",schemaPath:"#/properties/field5/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[o]:e.push(o),s++}if(i.value===void 0){let o={instancePath:t+"/field5",schemaPath:"#/properties/field5/required",keyword:"required",params:{missingProperty:"value"},message:"must have required property 'value'"};e===null?e=[o]:e.push(o),s++}if(i.name!==void 0&&typeof i.name!="string"){let o={instancePath:t+"/field5/name",schemaPath:"#/properties/field5/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.value!==void 0&&typeof i.value!="string"){let o={instancePath:t+"/field5/value",schemaPath:"#/properties/field5/properties/value/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/field5",schemaPath:"#/properties/field5/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.field6!==void 0){let i=r.field6;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.name===void 0){let o={instancePath:t+"/field6",schemaPath:"#/properties/field6/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[o]:e.push(o),s++}if(i.value===void 0){let o={instancePath:t+"/field6",schemaPath:"#/properties/field6/required",keyword:"required",params:{missingProperty:"value"},message:"must have required property 'value'"};e===null?e=[o]:e.push(o),s++}if(i.name!==void 0&&typeof i.name!="string"){let o={instancePath:t+"/field6/name",schemaPath:"#/properties/field6/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.value!==void 0&&typeof i.value!="string"){let o={instancePath:t+"/field6/value",schemaPath:"#/properties/field6/properties/value/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/field6",schemaPath:"#/properties/field6/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Cp.errors=e,s===0}c(Cp,"validate48");var Fp=E,Tp=kt,ae={$schema:"http://json-schema.org/draft-07/schema",$id:"mediaSource.json",title:"Media Source",description:"Any media source",type:"object",required:["id","type","discriminator","audio","video","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaSource",enum:["mediaSource"]},discriminator:{type:"string",enum:["tv","dvr","appleTv","discPlayer","mediaPlayer","paSystem","uncontrolledDevice"]},playlists:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"}}}},remote:{type:"string",enum:["MR22GA","XRT260","XRT270","HOF-16K 1.2","219863500","SONIFI","AKB76039803","BN59-01388A"]},name:{$ref:"definitions.json#/definitions/name"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},audio:{type:"boolean"},video:{type:"boolean"},powerFeedback:{type:"boolean"},volumeFeedback:{type:"boolean"},muted:{type:"boolean"},volume:{type:"number",minimum:0,maximum:100},brightness:{type:"number",minimum:0,maximum:100},contrast:{type:"number",minimum:0,maximum:100},power:{type:"string",enum:["on","off"]},input:{type:"string"},supportedInputs:{type:"array",items:{type:"string"}},supportedOutputs:{type:"array",items:{type:"string"}},command:{type:["string","null"],enum:["mute","volumeUp","volumeDown","brightnessUp","brightnessDown","channelUp","channelDown","number0","number1","number2","number3","number4","number5","number6","number7","number8","number9","lastChannel","display","favoriteChannel","play","playing","stop","stopped","pause","paused","fastForward","fastForwarding","rewind","rewinding","instantReplay","record","ac3","pvrMenu","guide","menu","menuUp","menuDown","menuLeft","menuRight","pageUp","pageDown","select","exit","input","power","enterChannel","enterVolume","enterBrightness","enterContrast","number10","number11","number12","number13","number14","number15","number16","number10Plus","number20Plus","number100","dash","threeChan","threeD","sixChan","a","add","alarm","am","analog","angle","antenna","antennaEast","antennaWest","aspect","audio1","audio2","audio3","audioDumming","audioLevelDown","audioLevelUp","b","back","c","component1","component2","component3","d","home","list","liveTv","discreteInputCable","powerOff","powerOn","setupMenu","skipForward","skipReverse","video1","video2","video3","video4","video5","details","hdmi1","hdmi2","hdmi3","cecDeviceList","mtsSap","red","green","yellow","blue","alert","order"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1};function Ht(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Ht.errors=e,s===0}c(Ht,"validate50");function kt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="mediaSource"),r.id===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[o]:e.push(o),s++}if(r.type===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[o]:e.push(o),s++}if(r.discriminator===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"discriminator"},message:"must have required property 'discriminator'"};e===null?e=[o]:e.push(o),s++}if(r.audio===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"audio"},message:"must have required property 'audio'"};e===null?e=[o]:e.push(o),s++}if(r.video===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"video"},message:"must have required property 'video'"};e===null?e=[o]:e.push(o),s++}if(r.driver===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[o]:e.push(o),s++}for(let o in r)if(!Q.call(ae.properties,o)){let m={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:o},message:"must NOT have additional properties"};e===null?e=[m]:e.push(m),s++}if(r.id!==void 0){let o=r.id;if(typeof o!="string"){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}let m=s,l=s;if(!(o==="global"||o==="system")){let d={};e===null?e=[d]:e.push(d),s++}var a=l===s;if(a){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[d]:e.push(d),s++}else s=m,e!==null&&(m?e.length=m:e=null)}let i=r.type;if(typeof i!="string"){let o={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i!=="mediaSource"){let o={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ae.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}if(r.discriminator!==void 0){let o=r.discriminator;if(typeof o!="string"){let m={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="tv"||o==="dvr"||o==="appleTv"||o==="discPlayer"||o==="mediaPlayer"||o==="paSystem"||o==="uncontrolledDevice")){let m={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/enum",keyword:"enum",params:{allowedValues:ae.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.playlists!==void 0){let o=r.playlists;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++){let d=o[l];if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.id!==void 0){let h=d.id;if(typeof h!="string"){let P={instancePath:t+"/playlists/"+l+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}let y=s,b=s;if(!(h==="global"||h==="system")){let P={};e===null?e=[P]:e.push(P),s++}var n=b===s;if(n){let P={instancePath:t+"/playlists/"+l+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[P]:e.push(P),s++}else s=y,e!==null&&(y?e.length=y:e=null)}if(d.name!==void 0&&typeof d.name!="string"){let h={instancePath:t+"/playlists/"+l+"/name",schemaPath:"definitions.json#/definitions/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}}else{let h={instancePath:t+"/playlists/"+l,schemaPath:"#/properties/playlists/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}}}else{let m={instancePath:t+"/playlists",schemaPath:"#/properties/playlists/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.remote!==void 0){let o=r.remote;if(typeof o!="string"){let m={instancePath:t+"/remote",schemaPath:"#/properties/remote/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="MR22GA"||o==="XRT260"||o==="XRT270"||o==="HOF-16K 1.2"||o==="219863500"||o==="SONIFI"||o==="AKB76039803"||o==="BN59-01388A")){let m={instancePath:t+"/remote",schemaPath:"#/properties/remote/enum",keyword:"enum",params:{allowedValues:ae.properties.remote.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.name!==void 0&&typeof r.name!="string"){let o={instancePath:t+"/name",schemaPath:"definitions.json#/definitions/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.driver!==void 0){let o=r.driver;if(typeof o!="string"){let m={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="adlink"||o==="aws-kinesis"||o==="butler"||o==="crestron"||o==="dell"||o==="dmp"||o==="doorbird"||o==="dormakaba"||o==="dsc"||o==="ecobee"||o==="epson"||o==="geovision-rs"||o==="geovision-as-manager"||o==="honeywell-vista"||o==="igor"||o==="inncom"||o==="isapi"||o==="kohost-k7"||o==="kohost"||o==="lg"||o==="lg-webos"||o==="lapi"||o==="lirc"||o==="mews"||o==="mht"||o==="paxton"||o==="pelican-wireless"||o==="power-shades"||o==="rachio"||o==="rebrandly"||o==="relay"||o==="rtsp"||o==="salto"||o==="salto-irn"||o==="samsung"||o==="se"||o==="sendgrid"||o==="sonifi"||o==="stay-n-touch"||o==="storable"||o==="twilio"||o==="unifi"||o==="valcom"||o==="vivotek"||o==="vizio"||o==="wisenet"||o==="cloudflare-images"||o==="cloudflare-stream"||o==="insperia-privacy")){let m={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.offline!==void 0&&typeof r.offline!="boolean"){let o={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.audio!==void 0&&typeof r.audio!="boolean"){let o={instancePath:t+"/audio",schemaPath:"#/properties/audio/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.video!==void 0&&typeof r.video!="boolean"){let o={instancePath:t+"/video",schemaPath:"#/properties/video/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.powerFeedback!==void 0&&typeof r.powerFeedback!="boolean"){let o={instancePath:t+"/powerFeedback",schemaPath:"#/properties/powerFeedback/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.volumeFeedback!==void 0&&typeof r.volumeFeedback!="boolean"){let o={instancePath:t+"/volumeFeedback",schemaPath:"#/properties/volumeFeedback/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.muted!==void 0&&typeof r.muted!="boolean"){let o={instancePath:t+"/muted",schemaPath:"#/properties/muted/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.volume!==void 0){let o=r.volume;if(typeof o=="number"){if(o>100||isNaN(o)){let m={instancePath:t+"/volume",schemaPath:"#/properties/volume/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[m]:e.push(m),s++}if(o<0||isNaN(o)){let m={instancePath:t+"/volume",schemaPath:"#/properties/volume/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/volume",schemaPath:"#/properties/volume/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}}if(r.brightness!==void 0){let o=r.brightness;if(typeof o=="number"){if(o>100||isNaN(o)){let m={instancePath:t+"/brightness",schemaPath:"#/properties/brightness/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[m]:e.push(m),s++}if(o<0||isNaN(o)){let m={instancePath:t+"/brightness",schemaPath:"#/properties/brightness/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/brightness",schemaPath:"#/properties/brightness/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}}if(r.contrast!==void 0){let o=r.contrast;if(typeof o=="number"){if(o>100||isNaN(o)){let m={instancePath:t+"/contrast",schemaPath:"#/properties/contrast/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[m]:e.push(m),s++}if(o<0||isNaN(o)){let m={instancePath:t+"/contrast",schemaPath:"#/properties/contrast/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/contrast",schemaPath:"#/properties/contrast/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}}if(r.power!==void 0){let o=r.power;if(typeof o!="string"){let m={instancePath:t+"/power",schemaPath:"#/properties/power/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="on"||o==="off")){let m={instancePath:t+"/power",schemaPath:"#/properties/power/enum",keyword:"enum",params:{allowedValues:ae.properties.power.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.input!==void 0&&typeof r.input!="string"){let o={instancePath:t+"/input",schemaPath:"#/properties/input/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.supportedInputs!==void 0){let o=r.supportedInputs;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)if(typeof o[l]!="string"){let d={instancePath:t+"/supportedInputs/"+l,schemaPath:"#/properties/supportedInputs/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let m={instancePath:t+"/supportedInputs",schemaPath:"#/properties/supportedInputs/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.supportedOutputs!==void 0){let o=r.supportedOutputs;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)if(typeof o[l]!="string"){let d={instancePath:t+"/supportedOutputs/"+l,schemaPath:"#/properties/supportedOutputs/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let m={instancePath:t+"/supportedOutputs",schemaPath:"#/properties/supportedOutputs/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.command!==void 0){let o=r.command;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/command",schemaPath:"#/properties/command/type",keyword:"type",params:{type:ae.properties.command.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}if(!(o==="mute"||o==="volumeUp"||o==="volumeDown"||o==="brightnessUp"||o==="brightnessDown"||o==="channelUp"||o==="channelDown"||o==="number0"||o==="number1"||o==="number2"||o==="number3"||o==="number4"||o==="number5"||o==="number6"||o==="number7"||o==="number8"||o==="number9"||o==="lastChannel"||o==="display"||o==="favoriteChannel"||o==="play"||o==="playing"||o==="stop"||o==="stopped"||o==="pause"||o==="paused"||o==="fastForward"||o==="fastForwarding"||o==="rewind"||o==="rewinding"||o==="instantReplay"||o==="record"||o==="ac3"||o==="pvrMenu"||o==="guide"||o==="menu"||o==="menuUp"||o==="menuDown"||o==="menuLeft"||o==="menuRight"||o==="pageUp"||o==="pageDown"||o==="select"||o==="exit"||o==="input"||o==="power"||o==="enterChannel"||o==="enterVolume"||o==="enterBrightness"||o==="enterContrast"||o==="number10"||o==="number11"||o==="number12"||o==="number13"||o==="number14"||o==="number15"||o==="number16"||o==="number10Plus"||o==="number20Plus"||o==="number100"||o==="dash"||o==="threeChan"||o==="threeD"||o==="sixChan"||o==="a"||o==="add"||o==="alarm"||o==="am"||o==="analog"||o==="angle"||o==="antenna"||o==="antennaEast"||o==="antennaWest"||o==="aspect"||o==="audio1"||o==="audio2"||o==="audio3"||o==="audioDumming"||o==="audioLevelDown"||o==="audioLevelUp"||o==="b"||o==="back"||o==="c"||o==="component1"||o==="component2"||o==="component3"||o==="d"||o==="home"||o==="list"||o==="liveTv"||o==="discreteInputCable"||o==="powerOff"||o==="powerOn"||o==="setupMenu"||o==="skipForward"||o==="skipReverse"||o==="video1"||o==="video2"||o==="video3"||o==="video4"||o==="video5"||o==="details"||o==="hdmi1"||o==="hdmi2"||o==="hdmi3"||o==="cecDeviceList"||o==="mtsSap"||o==="red"||o==="green"||o==="yellow"||o==="blue"||o==="alert"||o==="order")){let m={instancePath:t+"/command",schemaPath:"#/properties/command/enum",keyword:"enum",params:{allowedValues:ae.properties.command.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.supportedNotifications!==void 0){let o=r.supportedNotifications;if(Array.isArray(o)){let m=o.length;for(let h=0;h<m;h++){let y=o[h];if(!(y==="button 1"||y==="button 2"||y==="button 3"||y==="button 4"||y==="button 5"||y==="idle"||y==="powerHasBeedApplied"||y==="acMainsDisconnected"||y==="acMainsReconnected"||y==="replaceBatterySoon"||y==="replaceBatteryNow"||y==="batteryOk"||y==="hardwareFailure"||y==="softwareFailure"||y==="hardwareFailureWithCode"||y==="softwareFailureWithCode"||y==="motionDetection"||y==="airFilterNeedsCleaned"||y==="airFilterNeedsReplaced"||y==="smokeDetected"||y==="outsideSafeTemperatureRange"||y==="outsideSafeHumidityRange"||y==="scheduleMaintenance"||y==="doorAjar"||y==="communicationFailure"||y==="communicationOk"||y==="burglarAlarm"||y==="fireAlarm")){let b={instancePath:t+"/supportedNotifications/"+h,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}let l=o.length,d;if(l>1){e:for(;l--;)for(d=l;d--;)if(V(o[l],o[d])){let h={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:l,j:d},message:"must NOT have duplicate items (items ## "+d+" and "+l+" are identical)"};e===null?e=[h]:e.push(h),s++;break e}}}else{let m={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.notification!==void 0&&(Ht(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Ht.errors:e.concat(Ht.errors),s=e.length)),r.systemId!==void 0&&typeof r.systemId!="string"){let o={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.watts!==void 0){let o=r.watts;if(typeof o=="number"){if(o<0||isNaN(o)){let m={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let o={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let o={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let o={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let o={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let i={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[i]:e.push(i),s++}return kt.errors=e,s===0}c(kt,"validate49");var Zp=jt,tl={$schema:"http://json-schema.org/draft-07/schema",$id:"motionSensor.json",title:"Motion Sensor",description:"Any smart motion sensor",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},driver:{$ref:"definitions.json#/definitions/driver"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1,required:["id","type","driver"]};function Ut(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Ut.errors=e,s===0}c(Ut,"validate53");function jt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.id===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(r.type===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[n]:e.push(n),s++}if(r.driver===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[n]:e.push(n),s++}for(let n in r)if(!Q.call(tl.properties,n)){let i={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:n},message:"must NOT have additional properties"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let n=r.id;if(typeof n!="string"){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let i=s,o=s;if(!(n==="global"||n==="system")){let m={};e===null?e=[m]:e.push(m),s++}var a=o===s;if(a){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[m]:e.push(m),s++}else s=i,e!==null&&(i?e.length=i:e=null)}if(r.type!==void 0){let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="alarm"||n==="dimmer"||n==="switch"||n==="motionSensor"||n==="windowCovering"||n==="camera"||n==="mediaSource"||n==="thermostat"||n==="lock"||n==="courtesy"||n==="gateway"||n==="tv"||n==="dvr"||n==="appleTv"||n==="discPlayer"||n==="mediaPlayer"||n==="uncontrolledDevice")){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.driver!==void 0){let n=r.driver;if(typeof n!="string"){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="adlink"||n==="aws-kinesis"||n==="butler"||n==="crestron"||n==="dell"||n==="dmp"||n==="doorbird"||n==="dormakaba"||n==="dsc"||n==="ecobee"||n==="epson"||n==="geovision-rs"||n==="geovision-as-manager"||n==="honeywell-vista"||n==="igor"||n==="inncom"||n==="isapi"||n==="kohost-k7"||n==="kohost"||n==="lg"||n==="lg-webos"||n==="lapi"||n==="lirc"||n==="mews"||n==="mht"||n==="paxton"||n==="pelican-wireless"||n==="power-shades"||n==="rachio"||n==="rebrandly"||n==="relay"||n==="rtsp"||n==="salto"||n==="salto-irn"||n==="samsung"||n==="se"||n==="sendgrid"||n==="sonifi"||n==="stay-n-touch"||n==="storable"||n==="twilio"||n==="unifi"||n==="valcom"||n==="vivotek"||n==="vizio"||n==="wisenet"||n==="cloudflare-images"||n==="cloudflare-stream"||n==="insperia-privacy")){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let n={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.supportedNotifications!==void 0){let n=r.supportedNotifications;if(Array.isArray(n)){let i=n.length;for(let l=0;l<i;l++){let d=n[l];if(!(d==="button 1"||d==="button 2"||d==="button 3"||d==="button 4"||d==="button 5"||d==="idle"||d==="powerHasBeedApplied"||d==="acMainsDisconnected"||d==="acMainsReconnected"||d==="replaceBatterySoon"||d==="replaceBatteryNow"||d==="batteryOk"||d==="hardwareFailure"||d==="softwareFailure"||d==="hardwareFailureWithCode"||d==="softwareFailureWithCode"||d==="motionDetection"||d==="airFilterNeedsCleaned"||d==="airFilterNeedsReplaced"||d==="smokeDetected"||d==="outsideSafeTemperatureRange"||d==="outsideSafeHumidityRange"||d==="scheduleMaintenance"||d==="doorAjar"||d==="communicationFailure"||d==="communicationOk"||d==="burglarAlarm"||d==="fireAlarm")){let h={instancePath:t+"/supportedNotifications/"+l,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}let o=n.length,m;if(o>1){e:for(;o--;)for(m=o;m--;)if(V(n[o],n[m])){let l={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:o,j:m},message:"must NOT have duplicate items (items ## "+m+" and "+o+" are identical)"};e===null?e=[l]:e.push(l),s++;break e}}}else{let i={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(r.notification!==void 0&&(Ut(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Ut.errors:e.concat(Ut.errors),s=e.length)),r.watts!==void 0){let n=r.watts;if(typeof n=="number"){if(n<0||isNaN(n)){let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[i]:e.push(i),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let n={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let n={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let n={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let n={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return jt.errors=e,s===0}c(jt,"validate52");var Rp=Vp,ft={$schema:"http://json-schema.org/draft-07/schema",$id:"order.json",title:"Order",description:"A purchase order for products or services.",type:"object",required:["type","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"order",enum:["order"]},orderNumber:{type:"string"},status:{type:"string",enum:["draft","pendingPayment","processing","outForDelivery","completed","paymentFailed","cancelled","refunded"]},userId:{$ref:"definitions.json#/definitions/id",description:"User id of purchaser"},reservationId:{$ref:"definitions.json#/definitions/id",description:"Reservation id if the order is for a reservation"},date:{$ref:"definitions.json#/definitions/date"},items:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},sku:{type:"string"},quantity:{type:"number",default:1},price:{type:"number"},taxClass:{type:"string"},deliveryClass:{type:"string"},productId:{type:"string"}}}},taxes:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},fees:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},price:{type:"number"}}}},delivery:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},payments:{type:"array",default:[],items:{type:"object",properties:{method:{type:"string",enum:["folio","invoice","amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},name:{type:"string"},date:{$ref:"definitions.json#/definitions/date"},amount:{type:"number"},transactionReference:{type:"string"}}}}}};function Vp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="order"),r.items===void 0&&(r.items=[]),r.taxes===void 0&&(r.taxes=[]),r.fees===void 0&&(r.fees=[]),r.delivery===void 0&&(r.delivery=[]),r.payments===void 0&&(r.payments=[]),r.type===void 0){let b={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[b]:e.push(b),s++}if(r.status===void 0){let b={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[b]:e.push(b),s++}if(r.id!==void 0){let b=r.id;if(typeof b!="string"){let g={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}let P=s,v=s;if(!(b==="global"||b==="system")){let g={};e===null?e=[g]:e.push(g),s++}var a=v===s;if(a){let g={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[g]:e.push(g),s++}else s=P,e!==null&&(P?e.length=P:e=null)}let o=r.type;if(typeof o!="string"){let b={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(o!=="order"){let b={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ft.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}if(r.orderNumber!==void 0&&typeof r.orderNumber!="string"){let b={instancePath:t+"/orderNumber",schemaPath:"#/properties/orderNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(r.status!==void 0){let b=r.status;if(typeof b!="string"){let P={instancePath:t+"/status",schemaPath:"#/properties/status/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}if(!(b==="draft"||b==="pendingPayment"||b==="processing"||b==="outForDelivery"||b==="completed"||b==="paymentFailed"||b==="cancelled"||b==="refunded")){let P={instancePath:t+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues:ft.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[P]:e.push(P),s++}}if(r.userId!==void 0){let b=r.userId;if(typeof b!="string"){let g={instancePath:t+"/userId",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}let P=s,v=s;if(!(b==="global"||b==="system")){let g={};e===null?e=[g]:e.push(g),s++}var n=v===s;if(n){let g={instancePath:t+"/userId",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[g]:e.push(g),s++}else s=P,e!==null&&(P?e.length=P:e=null)}if(r.reservationId!==void 0){let b=r.reservationId;if(typeof b!="string"){let g={instancePath:t+"/reservationId",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}let P=s,v=s;if(!(b==="global"||b==="system")){let g={};e===null?e=[g]:e.push(g),s++}var i=v===s;if(i){let g={instancePath:t+"/reservationId",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[g]:e.push(g),s++}else s=P,e!==null&&(P?e.length=P:e=null)}if(r.date!==void 0){let b=r.date;if(typeof b!="string"&&!(b&&typeof b=="object"&&!Array.isArray(b))){let P={instancePath:t+"/date",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[P]:e.push(P),s++}if(typeof b=="string"&&!M.validate(b)){let P={instancePath:t+"/date",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[P]:e.push(P),s++}}let m=r.items;if(Array.isArray(m)){let b=m.length;for(let P=0;P<b;P++){let v=m[P];if(v&&typeof v=="object"&&!Array.isArray(v)){if(v.quantity===void 0&&(v.quantity=1),v.name===void 0){let g={instancePath:t+"/items/"+P,schemaPath:"#/properties/items/items/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[g]:e.push(g),s++}if(v.price===void 0){let g={instancePath:t+"/items/"+P,schemaPath:"#/properties/items/items/required",keyword:"required",params:{missingProperty:"price"},message:"must have required property 'price'"};e===null?e=[g]:e.push(g),s++}if(v.additionalProperties!==void 0){let g={instancePath:t+"/items/"+P+"/additionalProperties",schemaPath:"#/properties/items/items/properties/additionalProperties/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};e===null?e=[g]:e.push(g),s++}if(v.name!==void 0&&typeof v.name!="string"){let g={instancePath:t+"/items/"+P+"/name",schemaPath:"#/properties/items/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(v.sku!==void 0&&typeof v.sku!="string"){let g={instancePath:t+"/items/"+P+"/sku",schemaPath:"#/properties/items/items/properties/sku/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(typeof v.quantity!="number"){let g={instancePath:t+"/items/"+P+"/quantity",schemaPath:"#/properties/items/items/properties/quantity/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[g]:e.push(g),s++}if(v.price!==void 0&&typeof v.price!="number"){let g={instancePath:t+"/items/"+P+"/price",schemaPath:"#/properties/items/items/properties/price/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[g]:e.push(g),s++}if(v.taxClass!==void 0&&typeof v.taxClass!="string"){let g={instancePath:t+"/items/"+P+"/taxClass",schemaPath:"#/properties/items/items/properties/taxClass/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(v.deliveryClass!==void 0&&typeof v.deliveryClass!="string"){let g={instancePath:t+"/items/"+P+"/deliveryClass",schemaPath:"#/properties/items/items/properties/deliveryClass/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(v.productId!==void 0&&typeof v.productId!="string"){let g={instancePath:t+"/items/"+P+"/productId",schemaPath:"#/properties/items/items/properties/productId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/items/"+P,schemaPath:"#/properties/items/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[g]:e.push(g),s++}}}else{let b={instancePath:t+"/items",schemaPath:"#/properties/items/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[b]:e.push(b),s++}let l=r.taxes;if(Array.isArray(l)){let b=l.length;for(let P=0;P<b;P++){let v=l[P];if(v&&typeof v=="object"&&!Array.isArray(v)){if(v.rateType===void 0&&(v.rateType="percentage"),v.name===void 0){let w={instancePath:t+"/taxes/"+P,schemaPath:"#/properties/taxes/items/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[w]:e.push(w),s++}if(v.rate===void 0){let w={instancePath:t+"/taxes/"+P,schemaPath:"#/properties/taxes/items/required",keyword:"required",params:{missingProperty:"rate"},message:"must have required property 'rate'"};e===null?e=[w]:e.push(w),s++}if(v.additionalProperties!==void 0){let w={instancePath:t+"/taxes/"+P+"/additionalProperties",schemaPath:"#/properties/taxes/items/properties/additionalProperties/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};e===null?e=[w]:e.push(w),s++}if(v.name!==void 0&&typeof v.name!="string"){let w={instancePath:t+"/taxes/"+P+"/name",schemaPath:"#/properties/taxes/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(v.class!==void 0&&typeof v.class!="string"){let w={instancePath:t+"/taxes/"+P+"/class",schemaPath:"#/properties/taxes/items/properties/class/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}let g=v.rateType;if(typeof g!="string"){let w={instancePath:t+"/taxes/"+P+"/rateType",schemaPath:"#/properties/taxes/items/properties/rateType/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(!(g==="percentage"||g==="flat")){let w={instancePath:t+"/taxes/"+P+"/rateType",schemaPath:"#/properties/taxes/items/properties/rateType/enum",keyword:"enum",params:{allowedValues:ft.properties.taxes.items.properties.rateType.enum},message:"must be equal to one of the allowed values"};e===null?e=[w]:e.push(w),s++}if(v.rate!==void 0&&typeof v.rate!="number"){let w={instancePath:t+"/taxes/"+P+"/rate",schemaPath:"#/properties/taxes/items/properties/rate/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[w]:e.push(w),s++}if(v.total!==void 0&&typeof v.total!="number"){let w={instancePath:t+"/taxes/"+P+"/total",schemaPath:"#/properties/taxes/items/properties/total/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[w]:e.push(w),s++}}else{let g={instancePath:t+"/taxes/"+P,schemaPath:"#/properties/taxes/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[g]:e.push(g),s++}}}else{let b={instancePath:t+"/taxes",schemaPath:"#/properties/taxes/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[b]:e.push(b),s++}let d=r.fees;if(Array.isArray(d)){let b=d.length;for(let P=0;P<b;P++){let v=d[P];if(v&&typeof v=="object"&&!Array.isArray(v)){if(v.name===void 0){let g={instancePath:t+"/fees/"+P,schemaPath:"#/properties/fees/items/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[g]:e.push(g),s++}if(v.price===void 0){let g={instancePath:t+"/fees/"+P,schemaPath:"#/properties/fees/items/required",keyword:"required",params:{missingProperty:"price"},message:"must have required property 'price'"};e===null?e=[g]:e.push(g),s++}if(v.additionalProperties!==void 0){let g={instancePath:t+"/fees/"+P+"/additionalProperties",schemaPath:"#/properties/fees/items/properties/additionalProperties/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};e===null?e=[g]:e.push(g),s++}if(v.name!==void 0&&typeof v.name!="string"){let g={instancePath:t+"/fees/"+P+"/name",schemaPath:"#/properties/fees/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(v.price!==void 0&&typeof v.price!="number"){let g={instancePath:t+"/fees/"+P+"/price",schemaPath:"#/properties/fees/items/properties/price/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/fees/"+P,schemaPath:"#/properties/fees/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[g]:e.push(g),s++}}}else{let b={instancePath:t+"/fees",schemaPath:"#/properties/fees/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[b]:e.push(b),s++}let h=r.delivery;if(Array.isArray(h)){let b=h.length;for(let P=0;P<b;P++){let v=h[P];if(v&&typeof v=="object"&&!Array.isArray(v)){if(v.rateType===void 0&&(v.rateType="percentage"),v.name===void 0){let w={instancePath:t+"/delivery/"+P,schemaPath:"#/properties/delivery/items/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[w]:e.push(w),s++}if(v.rate===void 0){let w={instancePath:t+"/delivery/"+P,schemaPath:"#/properties/delivery/items/required",keyword:"required",params:{missingProperty:"rate"},message:"must have required property 'rate'"};e===null?e=[w]:e.push(w),s++}if(v.additionalProperties!==void 0){let w={instancePath:t+"/delivery/"+P+"/additionalProperties",schemaPath:"#/properties/delivery/items/properties/additionalProperties/false schema",keyword:"false schema",params:{},message:"boolean schema is false"};e===null?e=[w]:e.push(w),s++}if(v.name!==void 0&&typeof v.name!="string"){let w={instancePath:t+"/delivery/"+P+"/name",schemaPath:"#/properties/delivery/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(v.class!==void 0&&typeof v.class!="string"){let w={instancePath:t+"/delivery/"+P+"/class",schemaPath:"#/properties/delivery/items/properties/class/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}let g=v.rateType;if(typeof g!="string"){let w={instancePath:t+"/delivery/"+P+"/rateType",schemaPath:"#/properties/delivery/items/properties/rateType/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(!(g==="percentage"||g==="flat")){let w={instancePath:t+"/delivery/"+P+"/rateType",schemaPath:"#/properties/delivery/items/properties/rateType/enum",keyword:"enum",params:{allowedValues:ft.properties.delivery.items.properties.rateType.enum},message:"must be equal to one of the allowed values"};e===null?e=[w]:e.push(w),s++}if(v.rate!==void 0&&typeof v.rate!="number"){let w={instancePath:t+"/delivery/"+P+"/rate",schemaPath:"#/properties/delivery/items/properties/rate/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[w]:e.push(w),s++}if(v.total!==void 0&&typeof v.total!="number"){let w={instancePath:t+"/delivery/"+P+"/total",schemaPath:"#/properties/delivery/items/properties/total/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[w]:e.push(w),s++}}else{let g={instancePath:t+"/delivery/"+P,schemaPath:"#/properties/delivery/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[g]:e.push(g),s++}}}else{let b={instancePath:t+"/delivery",schemaPath:"#/properties/delivery/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[b]:e.push(b),s++}let y=r.payments;if(Array.isArray(y)){let b=y.length;for(let P=0;P<b;P++){let v=y[P];if(v&&typeof v=="object"&&!Array.isArray(v)){if(v.method!==void 0){let g=v.method;if(typeof g!="string"){let w={instancePath:t+"/payments/"+P+"/method",schemaPath:"#/properties/payments/items/properties/method/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(!(g==="folio"||g==="invoice"||g==="amex"||g==="visa"||g==="masterCard"||g==="maestro"||g==="discover"||g==="diners"||g==="jcb"||g==="applePay"||g==="alipay"||g==="chinaUnionPay"||g==="vpay")){let w={instancePath:t+"/payments/"+P+"/method",schemaPath:"#/properties/payments/items/properties/method/enum",keyword:"enum",params:{allowedValues:ft.properties.payments.items.properties.method.enum},message:"must be equal to one of the allowed values"};e===null?e=[w]:e.push(w),s++}}if(v.name!==void 0&&typeof v.name!="string"){let g={instancePath:t+"/payments/"+P+"/name",schemaPath:"#/properties/payments/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(v.date!==void 0){let g=v.date;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/payments/"+P+"/date",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/payments/"+P+"/date",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}if(v.amount!==void 0&&typeof v.amount!="number"){let g={instancePath:t+"/payments/"+P+"/amount",schemaPath:"#/properties/payments/items/properties/amount/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[g]:e.push(g),s++}if(v.transactionReference!==void 0&&typeof v.transactionReference!="string"){let g={instancePath:t+"/payments/"+P+"/transactionReference",schemaPath:"#/properties/payments/items/properties/transactionReference/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}}else{let g={instancePath:t+"/payments/"+P,schemaPath:"#/properties/payments/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[g]:e.push(g),s++}}}else{let b={instancePath:t+"/payments",schemaPath:"#/properties/payments/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[b]:e.push(b),s++}}else{let o={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}return Vp.errors=e,s===0}c(Vp,"validate55");var Bp=Kp,Ye={$schema:"http://json-schema.org/draft-07/schema",$id:"organization.json",title:"Organization",type:"object",description:"An organization is a group or entity that subscribes to Kohost software.",required:["accountNumber","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"organization",enum:["organization"]},accountNumber:{type:["number","null"],minimum:1e4},name:{type:"string"},properties:{type:"array",items:{type:"string"}},hostname:{type:["string","null"]},appManifest:{type:"object",properties:{name:{type:"string"},short_name:{type:"string"},scope:{type:"string"},start_url:{type:"string"},themeColor:{type:"string"},backgroundColor:{type:"string"},display:{type:"string",enum:["fullscreen","standalone","minimal-ui","browser"],default:"fullscreen"},orientation:{type:"string",enum:["portrait","landscape"],default:"portrait"},splash:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}},icons:{type:"array",items:{type:"object",properties:{src:{type:"string"},sizes:{type:"string"},type:{type:"string"}}}},logo:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}}},default:{name:"Kohost",short_name:"Kohost",start_url:"/",scope:"/",display:"fullscreen",orientation:"portrait",theme_color:"#1d1f22",background_color:"#1d1f22",icons:[{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512",sizes:"512x512",type:"image/png"}],splash:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500",sizes:"1500x800",type:"image/jpg"},logo:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75",sizes:"300x75",type:"image/png"}}},tickets:{type:"object",properties:{nextTicketNumber:{type:["string","integer"],default:1}}},credentials:{type:"object",additionalProperties:!0},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}},me={type:["string","object"],format:"date-time"},Xe={type:["string","object"],format:"date-time"};function Kp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="organization"),r.appManifest===void 0&&(r.appManifest={name:"Kohost",short_name:"Kohost",start_url:"/",scope:"/",display:"fullscreen",orientation:"portrait",theme_color:"#1d1f22",background_color:"#1d1f22",icons:[{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512",sizes:"512x512",type:"image/png"}],splash:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500",sizes:"1500x800",type:"image/jpg"},logo:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75",sizes:"300x75",type:"image/png"}}),r.accountNumber===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"accountNumber"},message:"must have required property 'accountNumber'"};e===null?e=[o]:e.push(o),s++}if(r.name===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[o]:e.push(o),s++}if(r.id!==void 0){let o=r.id;if(typeof o!="string"){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}let m=s,l=s;if(!(o==="global"||o==="system")){let d={};e===null?e=[d]:e.push(d),s++}var a=l===s;if(a){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[d]:e.push(d),s++}else s=m,e!==null&&(m?e.length=m:e=null)}let n=r.type;if(typeof n!="string"){let o={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(n!=="organization"){let o={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:Ye.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}if(r.accountNumber!==void 0){let o=r.accountNumber;if(typeof o!="number"&&o!==null){let m={instancePath:t+"/accountNumber",schemaPath:"#/properties/accountNumber/type",keyword:"type",params:{type:Ye.properties.accountNumber.type},message:"must be number,null"};e===null?e=[m]:e.push(m),s++}if(typeof o=="number"&&(o<1e4||isNaN(o))){let m={instancePath:t+"/accountNumber",schemaPath:"#/properties/accountNumber/minimum",keyword:"minimum",params:{comparison:">=",limit:1e4},message:"must be >= 10000"};e===null?e=[m]:e.push(m),s++}}if(r.name!==void 0&&typeof r.name!="string"){let o={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.properties!==void 0){let o=r.properties;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)if(typeof o[l]!="string"){let d={instancePath:t+"/properties/"+l,schemaPath:"#/properties/properties/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let m={instancePath:t+"/properties",schemaPath:"#/properties/properties/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.hostname!==void 0){let o=r.hostname;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/hostname",schemaPath:"#/properties/hostname/type",keyword:"type",params:{type:Ye.properties.hostname.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}}let i=r.appManifest;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.display===void 0&&(i.display="fullscreen"),i.orientation===void 0&&(i.orientation="portrait"),i.name!==void 0&&typeof i.name!="string"){let l={instancePath:t+"/appManifest/name",schemaPath:"#/properties/appManifest/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(i.short_name!==void 0&&typeof i.short_name!="string"){let l={instancePath:t+"/appManifest/short_name",schemaPath:"#/properties/appManifest/properties/short_name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(i.scope!==void 0&&typeof i.scope!="string"){let l={instancePath:t+"/appManifest/scope",schemaPath:"#/properties/appManifest/properties/scope/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(i.start_url!==void 0&&typeof i.start_url!="string"){let l={instancePath:t+"/appManifest/start_url",schemaPath:"#/properties/appManifest/properties/start_url/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(i.themeColor!==void 0&&typeof i.themeColor!="string"){let l={instancePath:t+"/appManifest/themeColor",schemaPath:"#/properties/appManifest/properties/themeColor/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(i.backgroundColor!==void 0&&typeof i.backgroundColor!="string"){let l={instancePath:t+"/appManifest/backgroundColor",schemaPath:"#/properties/appManifest/properties/backgroundColor/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=i.display;if(typeof o!="string"){let l={instancePath:t+"/appManifest/display",schemaPath:"#/properties/appManifest/properties/display/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(!(o==="fullscreen"||o==="standalone"||o==="minimal-ui"||o==="browser")){let l={instancePath:t+"/appManifest/display",schemaPath:"#/properties/appManifest/properties/display/enum",keyword:"enum",params:{allowedValues:Ye.properties.appManifest.properties.display.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}let m=i.orientation;if(typeof m!="string"){let l={instancePath:t+"/appManifest/orientation",schemaPath:"#/properties/appManifest/properties/orientation/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(!(m==="portrait"||m==="landscape")){let l={instancePath:t+"/appManifest/orientation",schemaPath:"#/properties/appManifest/properties/orientation/enum",keyword:"enum",params:{allowedValues:Ye.properties.appManifest.properties.orientation.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}if(i.splash!==void 0){let l=i.splash;if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.src!==void 0&&typeof l.src!="string"){let d={instancePath:t+"/appManifest/splash/src",schemaPath:"#/properties/appManifest/properties/splash/properties/src/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.type!==void 0&&typeof l.type!="string"){let d={instancePath:t+"/appManifest/splash/type",schemaPath:"#/properties/appManifest/properties/splash/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.sizes!==void 0&&typeof l.sizes!="string"){let d={instancePath:t+"/appManifest/splash/sizes",schemaPath:"#/properties/appManifest/properties/splash/properties/sizes/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let d={instancePath:t+"/appManifest/splash",schemaPath:"#/properties/appManifest/properties/splash/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}if(i.icons!==void 0){let l=i.icons;if(Array.isArray(l)){let d=l.length;for(let h=0;h<d;h++){let y=l[h];if(y&&typeof y=="object"&&!Array.isArray(y)){if(y.src!==void 0&&typeof y.src!="string"){let b={instancePath:t+"/appManifest/icons/"+h+"/src",schemaPath:"#/properties/appManifest/properties/icons/items/properties/src/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(y.sizes!==void 0&&typeof y.sizes!="string"){let b={instancePath:t+"/appManifest/icons/"+h+"/sizes",schemaPath:"#/properties/appManifest/properties/icons/items/properties/sizes/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(y.type!==void 0&&typeof y.type!="string"){let b={instancePath:t+"/appManifest/icons/"+h+"/type",schemaPath:"#/properties/appManifest/properties/icons/items/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}}else{let b={instancePath:t+"/appManifest/icons/"+h,schemaPath:"#/properties/appManifest/properties/icons/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[b]:e.push(b),s++}}}else{let d={instancePath:t+"/appManifest/icons",schemaPath:"#/properties/appManifest/properties/icons/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[d]:e.push(d),s++}}if(i.logo!==void 0){let l=i.logo;if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.src!==void 0&&typeof l.src!="string"){let d={instancePath:t+"/appManifest/logo/src",schemaPath:"#/properties/appManifest/properties/logo/properties/src/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.type!==void 0&&typeof l.type!="string"){let d={instancePath:t+"/appManifest/logo/type",schemaPath:"#/properties/appManifest/properties/logo/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.sizes!==void 0&&typeof l.sizes!="string"){let d={instancePath:t+"/appManifest/logo/sizes",schemaPath:"#/properties/appManifest/properties/logo/properties/sizes/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let d={instancePath:t+"/appManifest/logo",schemaPath:"#/properties/appManifest/properties/logo/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let o={instancePath:t+"/appManifest",schemaPath:"#/properties/appManifest/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}if(r.tickets!==void 0){let o=r.tickets;if(o&&typeof o=="object"&&!Array.isArray(o)){o.nextTicketNumber===void 0&&(o.nextTicketNumber=1);let m=o.nextTicketNumber;if(typeof m!="string"&&!(typeof m=="number"&&!(m%1)&&!isNaN(m))){let l={instancePath:t+"/tickets/nextTicketNumber",schemaPath:"#/properties/tickets/properties/nextTicketNumber/type",keyword:"type",params:{type:Ye.properties.tickets.properties.nextTicketNumber.type},message:"must be string,integer"};e===null?e=[l]:e.push(l),s++}}else{let m={instancePath:t+"/tickets",schemaPath:"#/properties/tickets/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}if(r.credentials!==void 0){let o=r.credentials;if(!(o&&typeof o=="object"&&!Array.isArray(o))){let m={instancePath:t+"/credentials",schemaPath:"#/properties/credentials/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}if(r.createdAt!==void 0){let o=r.createdAt;if(typeof o!="string"&&!(o&&typeof o=="object"&&!Array.isArray(o))){let m={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/type",keyword:"type",params:{type:me.type},message:"must be string,object"};e===null?e=[m]:e.push(m),s++}if(typeof o=="string"&&!M.validate(o)){let m={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[m]:e.push(m),s++}}if(r.updatedAt!==void 0){let o=r.updatedAt;if(typeof o!="string"&&!(o&&typeof o=="object"&&!Array.isArray(o))){let m={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/type",keyword:"type",params:{type:Xe.type},message:"must be string,object"};e===null?e=[m]:e.push(m),s++}if(typeof o=="string"&&!M.validate(o)){let m={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[m]:e.push(m),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Kp.errors=e,s===0}c(Kp,"validate56");var Hp=ie,wr={$schema:"http://json-schema.org/draft-07/schema",$id:"payment.json",title:"Payment",type:"object",required:["type","maskedNumber","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},enabled:{type:"boolean",default:!0},storageData:{type:["string","null"]},maskedNumber:{type:"string"},issued:{type:["string","null"]},expires:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}}};function ie(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.enabled===void 0&&(r.enabled=!0),r.type===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[n]:e.push(n),s++}if(r.maskedNumber===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"maskedNumber"},message:"must have required property 'maskedNumber'"};e===null?e=[n]:e.push(n),s++}if(r.expires===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"expires"},message:"must have required property 'expires'"};e===null?e=[n]:e.push(n),s++}if(r.id!==void 0){let n=r.id;if(typeof n!="string"){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let i=s,o=s;if(!(n==="global"||n==="system")){let m={};e===null?e=[m]:e.push(m),s++}var a=o===s;if(a){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[m]:e.push(m),s++}else s=i,e!==null&&(i?e.length=i:e=null)}if(r.type!==void 0){let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="amex"||n==="visa"||n==="masterCard"||n==="maestro"||n==="discover"||n==="diners"||n==="jcb"||n==="applePay"||n==="alipay"||n==="chinaUnionPay"||n==="vpay")){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:wr.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(typeof r.enabled!="boolean"){let n={instancePath:t+"/enabled",schemaPath:"#/properties/enabled/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[n]:e.push(n),s++}if(r.storageData!==void 0){let n=r.storageData;if(typeof n!="string"&&n!==null){let i={instancePath:t+"/storageData",schemaPath:"#/properties/storageData/type",keyword:"type",params:{type:wr.properties.storageData.type},message:"must be string,null"};e===null?e=[i]:e.push(i),s++}}if(r.maskedNumber!==void 0&&typeof r.maskedNumber!="string"){let n={instancePath:t+"/maskedNumber",schemaPath:"#/properties/maskedNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.issued!==void 0){let n=r.issued;if(typeof n!="string"&&n!==null){let i={instancePath:t+"/issued",schemaPath:"#/properties/issued/type",keyword:"type",params:{type:wr.properties.issued.type},message:"must be string,null"};e===null?e=[i]:e.push(i),s++}}if(r.expires!==void 0&&typeof r.expires!="string"){let n={instancePath:t+"/expires",schemaPath:"#/properties/expires/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.systemId!==void 0&&typeof r.systemId!="string"){let n={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return ie.errors=e,s===0}c(ie,"validate57");var Up=At,Pr={$schema:"http://json-schema.org/draft-07/schema",$id:"policy.json",title:"Policy",description:"A policy is a set of permissions that can be applied to a user to limit their access to resources.",type:"object",required:["name","type","organizationId","propertyId","permissions","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"policy",enum:["policy"]},discriminator:{type:"string",enum:["user"]},name:{type:"string",minLength:1},description:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},permissions:{type:"array",items:{type:"object",required:["entities","effect"],properties:{entities:{type:"array",items:{type:"string",pattern:"^[^:]+(:.+)+$"}},effect:{type:"string",enum:["Allow","Deny"]}}}}}},sl=new RegExp("^[^:]+(:.+)+$","u");function At(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="policy"),r.name===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[i]:e.push(i),s++}if(r.type===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[i]:e.push(i),s++}if(r.organizationId===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"organizationId"},message:"must have required property 'organizationId'"};e===null?e=[i]:e.push(i),s++}if(r.propertyId===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"propertyId"},message:"must have required property 'propertyId'"};e===null?e=[i]:e.push(i),s++}if(r.permissions===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"permissions"},message:"must have required property 'permissions'"};e===null?e=[i]:e.push(i),s++}if(r.discriminator===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"discriminator"},message:"must have required property 'discriminator'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="policy"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:Pr.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.discriminator!==void 0){let i=r.discriminator;if(typeof i!="string"){let o={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i!=="user"){let o={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/enum",keyword:"enum",params:{allowedValues:Pr.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.name!==void 0){let i=r.name;if(typeof i=="string"){if(F(i)<1){let o={instancePath:t+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.description!==void 0&&typeof r.description!="string"){let i={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.organizationId!==void 0&&typeof r.organizationId!="string"){let i={instancePath:t+"/organizationId",schemaPath:"#/properties/organizationId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.propertyId!==void 0&&typeof r.propertyId!="string"){let i={instancePath:t+"/propertyId",schemaPath:"#/properties/propertyId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.permissions!==void 0){let i=r.permissions;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++){let l=i[m];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.entities===void 0){let d={instancePath:t+"/permissions/"+m,schemaPath:"#/properties/permissions/items/required",keyword:"required",params:{missingProperty:"entities"},message:"must have required property 'entities'"};e===null?e=[d]:e.push(d),s++}if(l.effect===void 0){let d={instancePath:t+"/permissions/"+m,schemaPath:"#/properties/permissions/items/required",keyword:"required",params:{missingProperty:"effect"},message:"must have required property 'effect'"};e===null?e=[d]:e.push(d),s++}if(l.entities!==void 0){let d=l.entities;if(Array.isArray(d)){let h=d.length;for(let y=0;y<h;y++){let b=d[y];if(typeof b=="string"){if(!sl.test(b)){let P={instancePath:t+"/permissions/"+m+"/entities/"+y,schemaPath:"#/properties/permissions/items/properties/entities/items/pattern",keyword:"pattern",params:{pattern:"^[^:]+(:.+)+$"},message:'must match pattern "^[^:]+(:.+)+$"'};e===null?e=[P]:e.push(P),s++}}else{let P={instancePath:t+"/permissions/"+m+"/entities/"+y,schemaPath:"#/properties/permissions/items/properties/entities/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}}else{let h={instancePath:t+"/permissions/"+m+"/entities",schemaPath:"#/properties/permissions/items/properties/entities/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[h]:e.push(h),s++}}if(l.effect!==void 0){let d=l.effect;if(typeof d!="string"){let h={instancePath:t+"/permissions/"+m+"/effect",schemaPath:"#/properties/permissions/items/properties/effect/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}if(!(d==="Allow"||d==="Deny")){let h={instancePath:t+"/permissions/"+m+"/effect",schemaPath:"#/properties/permissions/items/properties/effect/enum",keyword:"enum",params:{allowedValues:Pr.properties.permissions.items.properties.effect.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}}else{let d={instancePath:t+"/permissions/"+m,schemaPath:"#/properties/permissions/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let o={instancePath:t+"/permissions",schemaPath:"#/properties/permissions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return At.errors=e,s===0}c(At,"validate58");var Lp=Wp,ep={$schema:"http://json-schema.org/draft-07/schema",$id:"product.json",title:"Product",type:"object",required:["name","price","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"product",enum:["product"]},name:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},price:{type:"number"},tax:{type:["number","null"]},image:{$ref:"mediaFile.json"},category:{type:"string"},imageUrl:{type:"string",format:"uri",pattern:"^https?://"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},rl=new RegExp("^https?://","u");function Wp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="product"),r.name===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[i]:e.push(i),s++}if(r.price===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"price"},message:"must have required property 'price'"};e===null?e=[i]:e.push(i),s++}if(r.driver===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="product"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ep.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.name!==void 0&&typeof r.name!="string"){let i={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.driver!==void 0){let i=r.driver;if(typeof i!="string"){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="adlink"||i==="aws-kinesis"||i==="butler"||i==="crestron"||i==="dell"||i==="dmp"||i==="doorbird"||i==="dormakaba"||i==="dsc"||i==="ecobee"||i==="epson"||i==="geovision-rs"||i==="geovision-as-manager"||i==="honeywell-vista"||i==="igor"||i==="inncom"||i==="isapi"||i==="kohost-k7"||i==="kohost"||i==="lg"||i==="lg-webos"||i==="lapi"||i==="lirc"||i==="mews"||i==="mht"||i==="paxton"||i==="pelican-wireless"||i==="power-shades"||i==="rachio"||i==="rebrandly"||i==="relay"||i==="rtsp"||i==="salto"||i==="salto-irn"||i==="samsung"||i==="se"||i==="sendgrid"||i==="sonifi"||i==="stay-n-touch"||i==="storable"||i==="twilio"||i==="unifi"||i==="valcom"||i==="vivotek"||i==="vizio"||i==="wisenet"||i==="cloudflare-images"||i==="cloudflare-stream"||i==="insperia-privacy")){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.description!==void 0&&typeof r.description!="string"){let i={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.price!==void 0&&typeof r.price!="number"){let i={instancePath:t+"/price",schemaPath:"#/properties/price/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[i]:e.push(i),s++}if(r.tax!==void 0){let i=r.tax;if(typeof i!="number"&&i!==null){let o={instancePath:t+"/tax",schemaPath:"#/properties/tax/type",keyword:"type",params:{type:ep.properties.tax.type},message:"must be number,null"};e===null?e=[o]:e.push(o),s++}}if(r.image!==void 0&&(E(r.image,{instancePath:t+"/image",parentData:r,parentDataProperty:"image",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length)),r.category!==void 0&&typeof r.category!="string"){let i={instancePath:t+"/category",schemaPath:"#/properties/category/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.imageUrl!==void 0){let i=r.imageUrl;if(typeof i=="string"){if(!rl.test(i)){let o={instancePath:t+"/imageUrl",schemaPath:"#/properties/imageUrl/pattern",keyword:"pattern",params:{pattern:"^https?://"},message:'must match pattern "^https?://"'};e===null?e=[o]:e.push(o),s++}if(!ee(i)){let o={instancePath:t+"/imageUrl",schemaPath:"#/properties/imageUrl/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/imageUrl",schemaPath:"#/properties/imageUrl/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Wp.errors=e,s===0}c(Wp,"validate59");var Gp=Yp,X={$schema:"http://json-schema.org/draft-07/schema",$id:"property.json",title:"Property",type:"object",description:"A property is a physical asset or building",required:["id","name","type","organization","timezone","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",default:"property",enum:["property"]},discriminator:{type:"string",enum:["hospitality","education","commercial","storage"]},organization:{type:["string","null"],description:"Reference (id) to the organization that owns this property"},departments:{type:"array",items:{type:"string"}},testModeEnabled:{type:"boolean"},testMode:{type:"object",properties:{notificationEmails:{type:"array",items:{type:"string"},description:"Only users with these email addresses will receive notifications in test mode, including sms, email, or push."},notificationEmailDomains:{type:"array",items:{type:"string"},description:"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push."}}},timezone:{type:"string",description:"IANA timezone string",pattern:"^([a-zA-Z]+/[a-zA-Z_]+)$",examples:["America/New_York","America/Los_Angeles"]},smsNumber:{type:"string"},checkInTime:{type:"string"},checkOutTime:{type:"string"},address:{$ref:"definitions.json#/definitions/address"},latitude:{type:"number"},longitude:{type:"number"},appFeatures:{type:"object",properties:{RoomControl:{type:"object",properties:{disabledSystems:{type:"array",items:{type:"string",enum:["climate","lights","shades","tv","doors"]}},excludedDeviceIds:{type:"array",items:{type:"string"},default:[]},commonAreas:{type:"object",properties:{spaces:{type:"array",items:{type:"string"}}}},alarmConfig:{type:"object",patternProperties:{"^[a-zA-Z0-9]+$":{type:"object",properties:{zoneLockMap:{type:"object",description:"Maps zone numbers to lock ids",additionalProperties:{type:"string"}}}}},examples:[{wZz7hucY:{zoneLockMap:{1:"wc87hucc",2:"bc86hzxc",3:"zv5ah5jv"}}}]}},additionalProperties:!1},CheckIn:{type:"object",properties:{payment:{},identification:{},earlyCheckIn:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1},minimumTime:{type:"string"}}},roomUpgrades:{},pet:{},promos:{}}},CheckOut:{type:"object",properties:{lateCheckOut:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1}}}}},Concierge:{type:"object",properties:{timeTracking:{type:"boolean",default:!1},tipping:{type:"boolean",default:!1},ratings:{type:"boolean",default:!0},newTicketCCs:{type:"array",items:{type:"string"},default:[]},newMessageChannel:{type:["string","null"],enum:["sms","email"],default:"sms",description:"Determines how users should be notified of new messages in the concierge system"},quickServices:{type:"array",items:{type:"object",properties:{name:{type:"string"},description:{type:"string"},department:{type:"string"},image:{$ref:"mediaFile.json"}},required:["name","description","image"]}},issues:{type:"object",properties:{syncWithPropertyId:{type:"string"}}}}},DigitalKey:{type:"object",properties:{system:{type:"string",enum:["salto","dormakaba"]},systemOnline:{type:"boolean",default:!1},systemConfig:{type:"object",properties:{legicUrl:{type:"string",format:"uri"},legicWalletName:{type:"string"},legicAppId:{type:"number"},legicTechUsername:{type:"string"},legicTechPassword:{type:"string"}},additionalProperties:!1,default:{}},enableApp:{type:"boolean"},branding:{type:"object",properties:{logo:{type:"string",format:"uri"},gradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:2},highlightedGradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:3}}}}},SOS:{type:"object",properties:{active:{type:"boolean"},activeEmergencies:{type:"array",items:{type:"string",enum:["medical","fire","suspiciousPerson","other","conflict","shooter"]}}}},Elevator:{type:"object"},Experiences:{type:"object"},Dining:{type:"object",properties:{system:{type:"string",enum:["gotab"]},systemConfig:{type:"object",properties:{landingUrl:{type:"string",format:"uri"},includeUserDetails:{type:"boolean"}},additionalProperties:!1}}},Rentals:{type:"object"},Shop:{type:"object"},Spa:{type:"object"},Valet:{type:"object"}},additionalProperties:!1,default:{RoomControl:{}}},notifications:{type:"object",properties:{email:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},sms:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},push:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1,default:{email:{enabled:!1},sms:{enabled:!1},push:{enabled:!1}}},credentials:{type:"object",additionalProperties:!0}}},il=new RegExp("^([a-zA-Z]+/[a-zA-Z_]+)$","u"),nl=new RegExp("^[a-zA-Z0-9]+$","u"),tp=new RegExp("^(?!#ffffff)(#[0-9a-fA-F]{6})$","u");function Yp(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="property"),r.appFeatures===void 0&&(r.appFeatures={RoomControl:{}}),r.notifications===void 0&&(r.notifications={email:{enabled:!1},sms:{enabled:!1},push:{enabled:!1}}),r.id===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[m]:e.push(m),s++}if(r.name===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[m]:e.push(m),s++}if(r.type===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[m]:e.push(m),s++}if(r.organization===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"organization"},message:"must have required property 'organization'"};e===null?e=[m]:e.push(m),s++}if(r.timezone===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"timezone"},message:"must have required property 'timezone'"};e===null?e=[m]:e.push(m),s++}if(r.discriminator===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"discriminator"},message:"must have required property 'discriminator'"};e===null?e=[m]:e.push(m),s++}if(r.id!==void 0){let m=r.id;if(typeof m!="string"){let h={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}let l=s,d=s;if(!(m==="global"||m==="system")){let h={};e===null?e=[h]:e.push(h),s++}var a=d===s;if(a){let h={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[h]:e.push(h),s++}else s=l,e!==null&&(l?e.length=l:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let m={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let n=r.type;if(typeof n!="string"){let m={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(n!=="property"){let m={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:X.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}if(r.discriminator!==void 0){let m=r.discriminator;if(typeof m!="string"){let l={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(!(m==="hospitality"||m==="education"||m==="commercial"||m==="storage")){let l={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/enum",keyword:"enum",params:{allowedValues:X.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}}if(r.organization!==void 0){let m=r.organization;if(typeof m!="string"&&m!==null){let l={instancePath:t+"/organization",schemaPath:"#/properties/organization/type",keyword:"type",params:{type:X.properties.organization.type},message:"must be string,null"};e===null?e=[l]:e.push(l),s++}}if(r.departments!==void 0){let m=r.departments;if(Array.isArray(m)){let l=m.length;for(let d=0;d<l;d++)if(typeof m[d]!="string"){let h={instancePath:t+"/departments/"+d,schemaPath:"#/properties/departments/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}}else{let l={instancePath:t+"/departments",schemaPath:"#/properties/departments/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[l]:e.push(l),s++}}if(r.testModeEnabled!==void 0&&typeof r.testModeEnabled!="boolean"){let m={instancePath:t+"/testModeEnabled",schemaPath:"#/properties/testModeEnabled/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[m]:e.push(m),s++}if(r.testMode!==void 0){let m=r.testMode;if(m&&typeof m=="object"&&!Array.isArray(m)){if(m.notificationEmails!==void 0){let l=m.notificationEmails;if(Array.isArray(l)){let d=l.length;for(let h=0;h<d;h++)if(typeof l[h]!="string"){let y={instancePath:t+"/testMode/notificationEmails/"+h,schemaPath:"#/properties/testMode/properties/notificationEmails/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}else{let d={instancePath:t+"/testMode/notificationEmails",schemaPath:"#/properties/testMode/properties/notificationEmails/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[d]:e.push(d),s++}}if(m.notificationEmailDomains!==void 0){let l=m.notificationEmailDomains;if(Array.isArray(l)){let d=l.length;for(let h=0;h<d;h++)if(typeof l[h]!="string"){let y={instancePath:t+"/testMode/notificationEmailDomains/"+h,schemaPath:"#/properties/testMode/properties/notificationEmailDomains/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}else{let d={instancePath:t+"/testMode/notificationEmailDomains",schemaPath:"#/properties/testMode/properties/notificationEmailDomains/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[d]:e.push(d),s++}}}else{let l={instancePath:t+"/testMode",schemaPath:"#/properties/testMode/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(r.timezone!==void 0){let m=r.timezone;if(typeof m=="string"){if(!il.test(m)){let l={instancePath:t+"/timezone",schemaPath:"#/properties/timezone/pattern",keyword:"pattern",params:{pattern:"^([a-zA-Z]+/[a-zA-Z_]+)$"},message:'must match pattern "^([a-zA-Z]+/[a-zA-Z_]+)$"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/timezone",schemaPath:"#/properties/timezone/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}if(r.smsNumber!==void 0&&typeof r.smsNumber!="string"){let m={instancePath:t+"/smsNumber",schemaPath:"#/properties/smsNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.checkInTime!==void 0&&typeof r.checkInTime!="string"){let m={instancePath:t+"/checkInTime",schemaPath:"#/properties/checkInTime/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.checkOutTime!==void 0&&typeof r.checkOutTime!="string"){let m={instancePath:t+"/checkOutTime",schemaPath:"#/properties/checkOutTime/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.address!==void 0){let m=r.address;if(m&&typeof m=="object"&&!Array.isArray(m)){if(m.id!==void 0&&typeof m.id!="string"){let l={instancePath:t+"/address/id",schemaPath:"definitions.json#/definitions/address/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(m.line1!==void 0&&typeof m.line1!="string"){let l={instancePath:t+"/address/line1",schemaPath:"definitions.json#/definitions/address/properties/line1/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(m.line2!==void 0&&typeof m.line2!="string"){let l={instancePath:t+"/address/line2",schemaPath:"definitions.json#/definitions/address/properties/line2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(m.line3!==void 0&&typeof m.line3!="string"){let l={instancePath:t+"/address/line3",schemaPath:"definitions.json#/definitions/address/properties/line3/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(m.city!==void 0&&typeof m.city!="string"){let l={instancePath:t+"/address/city",schemaPath:"definitions.json#/definitions/address/properties/city/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(m.state!==void 0&&typeof m.state!="string"){let l={instancePath:t+"/address/state",schemaPath:"definitions.json#/definitions/address/properties/state/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(m.postalCode!==void 0&&typeof m.postalCode!="string"){let l={instancePath:t+"/address/postalCode",schemaPath:"definitions.json#/definitions/address/properties/postalCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(m.countryCode!==void 0){let l=m.countryCode;if(typeof l=="string"){if(F(l)>2){let d={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/maxLength",keyword:"maxLength",params:{limit:2},message:"must NOT have more than 2 characters"};e===null?e=[d]:e.push(d),s++}if(F(l)<2){let d={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/minLength",keyword:"minLength",params:{limit:2},message:"must NOT have fewer than 2 characters"};e===null?e=[d]:e.push(d),s++}}else{let d={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}}else{let l={instancePath:t+"/address",schemaPath:"definitions.json#/definitions/address/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(r.latitude!==void 0&&typeof r.latitude!="number"){let m={instancePath:t+"/latitude",schemaPath:"#/properties/latitude/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}if(r.longitude!==void 0&&typeof r.longitude!="number"){let m={instancePath:t+"/longitude",schemaPath:"#/properties/longitude/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}let i=r.appFeatures;if(i&&typeof i=="object"&&!Array.isArray(i)){for(let m in i)if(!Q.call(X.properties.appFeatures.properties,m)){let l={instancePath:t+"/appFeatures",schemaPath:"#/properties/appFeatures/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:m},message:"must NOT have additional properties"};e===null?e=[l]:e.push(l),s++}if(i.RoomControl!==void 0){let m=i.RoomControl;if(m&&typeof m=="object"&&!Array.isArray(m)){m.excludedDeviceIds===void 0&&(m.excludedDeviceIds=[]);for(let d in m)if(!(d==="disabledSystems"||d==="excludedDeviceIds"||d==="commonAreas"||d==="alarmConfig")){let h={instancePath:t+"/appFeatures/RoomControl",schemaPath:"#/properties/appFeatures/properties/RoomControl/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:d},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(m.disabledSystems!==void 0){let d=m.disabledSystems;if(Array.isArray(d)){let h=d.length;for(let y=0;y<h;y++){let b=d[y];if(typeof b!="string"){let P={instancePath:t+"/appFeatures/RoomControl/disabledSystems/"+y,schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/disabledSystems/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}if(!(b==="climate"||b==="lights"||b==="shades"||b==="tv"||b==="doors")){let P={instancePath:t+"/appFeatures/RoomControl/disabledSystems/"+y,schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/disabledSystems/items/enum",keyword:"enum",params:{allowedValues:X.properties.appFeatures.properties.RoomControl.properties.disabledSystems.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[P]:e.push(P),s++}}}else{let h={instancePath:t+"/appFeatures/RoomControl/disabledSystems",schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/disabledSystems/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[h]:e.push(h),s++}}let l=m.excludedDeviceIds;if(Array.isArray(l)){let d=l.length;for(let h=0;h<d;h++)if(typeof l[h]!="string"){let y={instancePath:t+"/appFeatures/RoomControl/excludedDeviceIds/"+h,schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/excludedDeviceIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}else{let d={instancePath:t+"/appFeatures/RoomControl/excludedDeviceIds",schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/excludedDeviceIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[d]:e.push(d),s++}if(m.commonAreas!==void 0){let d=m.commonAreas;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.spaces!==void 0){let h=d.spaces;if(Array.isArray(h)){let y=h.length;for(let b=0;b<y;b++)if(typeof h[b]!="string"){let P={instancePath:t+"/appFeatures/RoomControl/commonAreas/spaces/"+b,schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/commonAreas/properties/spaces/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[P]:e.push(P),s++}}else{let y={instancePath:t+"/appFeatures/RoomControl/commonAreas/spaces",schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/commonAreas/properties/spaces/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[y]:e.push(y),s++}}}else{let h={instancePath:t+"/appFeatures/RoomControl/commonAreas",schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/commonAreas/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}}if(m.alarmConfig!==void 0){let d=m.alarmConfig;if(d&&typeof d=="object"&&!Array.isArray(d)){for(let h in d)if(nl.test(h)){let y=d[h];if(y&&typeof y=="object"&&!Array.isArray(y)){if(y.zoneLockMap!==void 0){let b=y.zoneLockMap;if(b&&typeof b=="object"&&!Array.isArray(b)){for(let P in b)if(typeof b[P]!="string"){let v={instancePath:t+"/appFeatures/RoomControl/alarmConfig/"+h.replace(/~/g,"~0").replace(/\//g,"~1")+"/zoneLockMap/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/alarmConfig/patternProperties/%5E%5Ba-zA-Z0-9%5D%2B%24/properties/zoneLockMap/additionalProperties/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}}else{let P={instancePath:t+"/appFeatures/RoomControl/alarmConfig/"+h.replace(/~/g,"~0").replace(/\//g,"~1")+"/zoneLockMap",schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/alarmConfig/patternProperties/%5E%5Ba-zA-Z0-9%5D%2B%24/properties/zoneLockMap/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[P]:e.push(P),s++}}}else{let b={instancePath:t+"/appFeatures/RoomControl/alarmConfig/"+h.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/alarmConfig/patternProperties/%5E%5Ba-zA-Z0-9%5D%2B%24/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[b]:e.push(b),s++}}}else{let h={instancePath:t+"/appFeatures/RoomControl/alarmConfig",schemaPath:"#/properties/appFeatures/properties/RoomControl/properties/alarmConfig/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}}}else{let l={instancePath:t+"/appFeatures/RoomControl",schemaPath:"#/properties/appFeatures/properties/RoomControl/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.CheckIn!==void 0){let m=i.CheckIn;if(m&&typeof m=="object"&&!Array.isArray(m)){if(m.earlyCheckIn!==void 0){let l=m.earlyCheckIn;if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.dynamic===void 0&&(l.dynamic=!1),l.minimumPrice===void 0&&(l.minimumPrice=10),l.maximumPrice===void 0&&(l.maximumPrice=50),l.priceRatioPerHour===void 0&&(l.priceRatioPerHour=.1),l.dynamic===void 0){let d={instancePath:t+"/appFeatures/CheckIn/earlyCheckIn",schemaPath:"#/properties/appFeatures/properties/CheckIn/properties/earlyCheckIn/required",keyword:"required",params:{missingProperty:"dynamic"},message:"must have required property 'dynamic'"};e===null?e=[d]:e.push(d),s++}if(typeof l.dynamic!="boolean"){let d={instancePath:t+"/appFeatures/CheckIn/earlyCheckIn/dynamic",schemaPath:"#/properties/appFeatures/properties/CheckIn/properties/earlyCheckIn/properties/dynamic/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[d]:e.push(d),s++}if(typeof l.minimumPrice!="number"){let d={instancePath:t+"/appFeatures/CheckIn/earlyCheckIn/minimumPrice",schemaPath:"#/properties/appFeatures/properties/CheckIn/properties/earlyCheckIn/properties/minimumPrice/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[d]:e.push(d),s++}if(typeof l.maximumPrice!="number"){let d={instancePath:t+"/appFeatures/CheckIn/earlyCheckIn/maximumPrice",schemaPath:"#/properties/appFeatures/properties/CheckIn/properties/earlyCheckIn/properties/maximumPrice/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[d]:e.push(d),s++}if(typeof l.priceRatioPerHour!="number"){let d={instancePath:t+"/appFeatures/CheckIn/earlyCheckIn/priceRatioPerHour",schemaPath:"#/properties/appFeatures/properties/CheckIn/properties/earlyCheckIn/properties/priceRatioPerHour/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[d]:e.push(d),s++}if(l.minimumTime!==void 0&&typeof l.minimumTime!="string"){let d={instancePath:t+"/appFeatures/CheckIn/earlyCheckIn/minimumTime",schemaPath:"#/properties/appFeatures/properties/CheckIn/properties/earlyCheckIn/properties/minimumTime/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let d={instancePath:t+"/appFeatures/CheckIn/earlyCheckIn",schemaPath:"#/properties/appFeatures/properties/CheckIn/properties/earlyCheckIn/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let l={instancePath:t+"/appFeatures/CheckIn",schemaPath:"#/properties/appFeatures/properties/CheckIn/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.CheckOut!==void 0){let m=i.CheckOut;if(m&&typeof m=="object"&&!Array.isArray(m)){if(m.lateCheckOut!==void 0){let l=m.lateCheckOut;if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.dynamic===void 0&&(l.dynamic=!1),l.minimumPrice===void 0&&(l.minimumPrice=10),l.maximumPrice===void 0&&(l.maximumPrice=50),l.priceRatioPerHour===void 0&&(l.priceRatioPerHour=.1),l.dynamic===void 0){let d={instancePath:t+"/appFeatures/CheckOut/lateCheckOut",schemaPath:"#/properties/appFeatures/properties/CheckOut/properties/lateCheckOut/required",keyword:"required",params:{missingProperty:"dynamic"},message:"must have required property 'dynamic'"};e===null?e=[d]:e.push(d),s++}if(typeof l.dynamic!="boolean"){let d={instancePath:t+"/appFeatures/CheckOut/lateCheckOut/dynamic",schemaPath:"#/properties/appFeatures/properties/CheckOut/properties/lateCheckOut/properties/dynamic/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[d]:e.push(d),s++}if(typeof l.minimumPrice!="number"){let d={instancePath:t+"/appFeatures/CheckOut/lateCheckOut/minimumPrice",schemaPath:"#/properties/appFeatures/properties/CheckOut/properties/lateCheckOut/properties/minimumPrice/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[d]:e.push(d),s++}if(typeof l.maximumPrice!="number"){let d={instancePath:t+"/appFeatures/CheckOut/lateCheckOut/maximumPrice",schemaPath:"#/properties/appFeatures/properties/CheckOut/properties/lateCheckOut/properties/maximumPrice/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[d]:e.push(d),s++}if(typeof l.priceRatioPerHour!="number"){let d={instancePath:t+"/appFeatures/CheckOut/lateCheckOut/priceRatioPerHour",schemaPath:"#/properties/appFeatures/properties/CheckOut/properties/lateCheckOut/properties/priceRatioPerHour/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[d]:e.push(d),s++}}else{let d={instancePath:t+"/appFeatures/CheckOut/lateCheckOut",schemaPath:"#/properties/appFeatures/properties/CheckOut/properties/lateCheckOut/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let l={instancePath:t+"/appFeatures/CheckOut",schemaPath:"#/properties/appFeatures/properties/CheckOut/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.Concierge!==void 0){let m=i.Concierge;if(m&&typeof m=="object"&&!Array.isArray(m)){if(m.timeTracking===void 0&&(m.timeTracking=!1),m.tipping===void 0&&(m.tipping=!1),m.ratings===void 0&&(m.ratings=!0),m.newTicketCCs===void 0&&(m.newTicketCCs=[]),m.newMessageChannel===void 0&&(m.newMessageChannel="sms"),typeof m.timeTracking!="boolean"){let h={instancePath:t+"/appFeatures/Concierge/timeTracking",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/timeTracking/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[h]:e.push(h),s++}if(typeof m.tipping!="boolean"){let h={instancePath:t+"/appFeatures/Concierge/tipping",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/tipping/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[h]:e.push(h),s++}if(typeof m.ratings!="boolean"){let h={instancePath:t+"/appFeatures/Concierge/ratings",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/ratings/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[h]:e.push(h),s++}let l=m.newTicketCCs;if(Array.isArray(l)){let h=l.length;for(let y=0;y<h;y++)if(typeof l[y]!="string"){let b={instancePath:t+"/appFeatures/Concierge/newTicketCCs/"+y,schemaPath:"#/properties/appFeatures/properties/Concierge/properties/newTicketCCs/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}}else{let h={instancePath:t+"/appFeatures/Concierge/newTicketCCs",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/newTicketCCs/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[h]:e.push(h),s++}let d=m.newMessageChannel;if(typeof d!="string"&&d!==null){let h={instancePath:t+"/appFeatures/Concierge/newMessageChannel",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/newMessageChannel/type",keyword:"type",params:{type:X.properties.appFeatures.properties.Concierge.properties.newMessageChannel.type},message:"must be string,null"};e===null?e=[h]:e.push(h),s++}if(!(d==="sms"||d==="email")){let h={instancePath:t+"/appFeatures/Concierge/newMessageChannel",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/newMessageChannel/enum",keyword:"enum",params:{allowedValues:X.properties.appFeatures.properties.Concierge.properties.newMessageChannel.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}if(m.quickServices!==void 0){let h=m.quickServices;if(Array.isArray(h)){let y=h.length;for(let b=0;b<y;b++){let P=h[b];if(P&&typeof P=="object"&&!Array.isArray(P)){if(P.name===void 0){let v={instancePath:t+"/appFeatures/Concierge/quickServices/"+b,schemaPath:"#/properties/appFeatures/properties/Concierge/properties/quickServices/items/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[v]:e.push(v),s++}if(P.description===void 0){let v={instancePath:t+"/appFeatures/Concierge/quickServices/"+b,schemaPath:"#/properties/appFeatures/properties/Concierge/properties/quickServices/items/required",keyword:"required",params:{missingProperty:"description"},message:"must have required property 'description'"};e===null?e=[v]:e.push(v),s++}if(P.image===void 0){let v={instancePath:t+"/appFeatures/Concierge/quickServices/"+b,schemaPath:"#/properties/appFeatures/properties/Concierge/properties/quickServices/items/required",keyword:"required",params:{missingProperty:"image"},message:"must have required property 'image'"};e===null?e=[v]:e.push(v),s++}if(P.name!==void 0&&typeof P.name!="string"){let v={instancePath:t+"/appFeatures/Concierge/quickServices/"+b+"/name",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/quickServices/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}if(P.description!==void 0&&typeof P.description!="string"){let v={instancePath:t+"/appFeatures/Concierge/quickServices/"+b+"/description",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/quickServices/items/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}if(P.department!==void 0&&typeof P.department!="string"){let v={instancePath:t+"/appFeatures/Concierge/quickServices/"+b+"/department",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/quickServices/items/properties/department/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}P.image!==void 0&&(E(P.image,{instancePath:t+"/appFeatures/Concierge/quickServices/"+b+"/image",parentData:P,parentDataProperty:"image",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length))}else{let v={instancePath:t+"/appFeatures/Concierge/quickServices/"+b,schemaPath:"#/properties/appFeatures/properties/Concierge/properties/quickServices/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[v]:e.push(v),s++}}}else{let y={instancePath:t+"/appFeatures/Concierge/quickServices",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/quickServices/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[y]:e.push(y),s++}}if(m.issues!==void 0){let h=m.issues;if(h&&typeof h=="object"&&!Array.isArray(h)){if(h.syncWithPropertyId!==void 0&&typeof h.syncWithPropertyId!="string"){let y={instancePath:t+"/appFeatures/Concierge/issues/syncWithPropertyId",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/issues/properties/syncWithPropertyId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}else{let y={instancePath:t+"/appFeatures/Concierge/issues",schemaPath:"#/properties/appFeatures/properties/Concierge/properties/issues/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[y]:e.push(y),s++}}}else{let l={instancePath:t+"/appFeatures/Concierge",schemaPath:"#/properties/appFeatures/properties/Concierge/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.DigitalKey!==void 0){let m=i.DigitalKey;if(m&&typeof m=="object"&&!Array.isArray(m)){if(m.systemOnline===void 0&&(m.systemOnline=!1),m.systemConfig===void 0&&(m.systemConfig={}),m.system!==void 0){let d=m.system;if(typeof d!="string"){let h={instancePath:t+"/appFeatures/DigitalKey/system",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/system/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}if(!(d==="salto"||d==="dormakaba")){let h={instancePath:t+"/appFeatures/DigitalKey/system",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/system/enum",keyword:"enum",params:{allowedValues:X.properties.appFeatures.properties.DigitalKey.properties.system.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}if(typeof m.systemOnline!="boolean"){let d={instancePath:t+"/appFeatures/DigitalKey/systemOnline",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemOnline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[d]:e.push(d),s++}let l=m.systemConfig;if(l&&typeof l=="object"&&!Array.isArray(l)){for(let d in l)if(!(d==="legicUrl"||d==="legicWalletName"||d==="legicAppId"||d==="legicTechUsername"||d==="legicTechPassword")){let h={instancePath:t+"/appFeatures/DigitalKey/systemConfig",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemConfig/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:d},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(l.legicUrl!==void 0){let d=l.legicUrl;if(typeof d=="string"){if(!ee(d)){let h={instancePath:t+"/appFeatures/DigitalKey/systemConfig/legicUrl",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemConfig/properties/legicUrl/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[h]:e.push(h),s++}}else{let h={instancePath:t+"/appFeatures/DigitalKey/systemConfig/legicUrl",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemConfig/properties/legicUrl/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}}if(l.legicWalletName!==void 0&&typeof l.legicWalletName!="string"){let d={instancePath:t+"/appFeatures/DigitalKey/systemConfig/legicWalletName",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemConfig/properties/legicWalletName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.legicAppId!==void 0&&typeof l.legicAppId!="number"){let d={instancePath:t+"/appFeatures/DigitalKey/systemConfig/legicAppId",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemConfig/properties/legicAppId/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[d]:e.push(d),s++}if(l.legicTechUsername!==void 0&&typeof l.legicTechUsername!="string"){let d={instancePath:t+"/appFeatures/DigitalKey/systemConfig/legicTechUsername",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemConfig/properties/legicTechUsername/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.legicTechPassword!==void 0&&typeof l.legicTechPassword!="string"){let d={instancePath:t+"/appFeatures/DigitalKey/systemConfig/legicTechPassword",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemConfig/properties/legicTechPassword/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let d={instancePath:t+"/appFeatures/DigitalKey/systemConfig",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/systemConfig/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}if(m.enableApp!==void 0&&typeof m.enableApp!="boolean"){let d={instancePath:t+"/appFeatures/DigitalKey/enableApp",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/enableApp/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[d]:e.push(d),s++}if(m.branding!==void 0){let d=m.branding;if(d&&typeof d=="object"&&!Array.isArray(d)){if(d.logo!==void 0){let h=d.logo;if(typeof h=="string"){if(!ee(h)){let y={instancePath:t+"/appFeatures/DigitalKey/branding/logo",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/logo/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[y]:e.push(y),s++}}else{let y={instancePath:t+"/appFeatures/DigitalKey/branding/logo",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/logo/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}if(d.gradient!==void 0){let h=d.gradient;if(Array.isArray(h)){if(h.length>2){let b={instancePath:t+"/appFeatures/DigitalKey/branding/gradient",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/gradient/maxItems",keyword:"maxItems",params:{limit:2},message:"must NOT have more than 2 items"};e===null?e=[b]:e.push(b),s++}if(h.length<2){let b={instancePath:t+"/appFeatures/DigitalKey/branding/gradient",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/gradient/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};e===null?e=[b]:e.push(b),s++}let y=h.length;for(let b=0;b<y;b++){let P=h[b];if(typeof P=="string"){if(!tp.test(P)){let v={instancePath:t+"/appFeatures/DigitalKey/branding/gradient/"+b,schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/gradient/items/pattern",keyword:"pattern",params:{pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},message:'must match pattern "^(?!#ffffff)(#[0-9a-fA-F]{6})$"'};e===null?e=[v]:e.push(v),s++}}else{let v={instancePath:t+"/appFeatures/DigitalKey/branding/gradient/"+b,schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/gradient/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}}}else{let y={instancePath:t+"/appFeatures/DigitalKey/branding/gradient",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/gradient/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[y]:e.push(y),s++}}if(d.highlightedGradient!==void 0){let h=d.highlightedGradient;if(Array.isArray(h)){if(h.length>3){let b={instancePath:t+"/appFeatures/DigitalKey/branding/highlightedGradient",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/highlightedGradient/maxItems",keyword:"maxItems",params:{limit:3},message:"must NOT have more than 3 items"};e===null?e=[b]:e.push(b),s++}if(h.length<2){let b={instancePath:t+"/appFeatures/DigitalKey/branding/highlightedGradient",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/highlightedGradient/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};e===null?e=[b]:e.push(b),s++}let y=h.length;for(let b=0;b<y;b++){let P=h[b];if(typeof P=="string"){if(!tp.test(P)){let v={instancePath:t+"/appFeatures/DigitalKey/branding/highlightedGradient/"+b,schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/highlightedGradient/items/pattern",keyword:"pattern",params:{pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},message:'must match pattern "^(?!#ffffff)(#[0-9a-fA-F]{6})$"'};e===null?e=[v]:e.push(v),s++}}else{let v={instancePath:t+"/appFeatures/DigitalKey/branding/highlightedGradient/"+b,schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/highlightedGradient/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}}}else{let y={instancePath:t+"/appFeatures/DigitalKey/branding/highlightedGradient",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/properties/highlightedGradient/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[y]:e.push(y),s++}}}else{let h={instancePath:t+"/appFeatures/DigitalKey/branding",schemaPath:"#/properties/appFeatures/properties/DigitalKey/properties/branding/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}}}else{let l={instancePath:t+"/appFeatures/DigitalKey",schemaPath:"#/properties/appFeatures/properties/DigitalKey/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.SOS!==void 0){let m=i.SOS;if(m&&typeof m=="object"&&!Array.isArray(m)){if(m.active!==void 0&&typeof m.active!="boolean"){let l={instancePath:t+"/appFeatures/SOS/active",schemaPath:"#/properties/appFeatures/properties/SOS/properties/active/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[l]:e.push(l),s++}if(m.activeEmergencies!==void 0){let l=m.activeEmergencies;if(Array.isArray(l)){let d=l.length;for(let h=0;h<d;h++){let y=l[h];if(typeof y!="string"){let b={instancePath:t+"/appFeatures/SOS/activeEmergencies/"+h,schemaPath:"#/properties/appFeatures/properties/SOS/properties/activeEmergencies/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(!(y==="medical"||y==="fire"||y==="suspiciousPerson"||y==="other"||y==="conflict"||y==="shooter")){let b={instancePath:t+"/appFeatures/SOS/activeEmergencies/"+h,schemaPath:"#/properties/appFeatures/properties/SOS/properties/activeEmergencies/items/enum",keyword:"enum",params:{allowedValues:X.properties.appFeatures.properties.SOS.properties.activeEmergencies.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}}else{let d={instancePath:t+"/appFeatures/SOS/activeEmergencies",schemaPath:"#/properties/appFeatures/properties/SOS/properties/activeEmergencies/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[d]:e.push(d),s++}}}else{let l={instancePath:t+"/appFeatures/SOS",schemaPath:"#/properties/appFeatures/properties/SOS/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.Elevator!==void 0){let m=i.Elevator;if(!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/appFeatures/Elevator",schemaPath:"#/properties/appFeatures/properties/Elevator/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.Experiences!==void 0){let m=i.Experiences;if(!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/appFeatures/Experiences",schemaPath:"#/properties/appFeatures/properties/Experiences/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.Dining!==void 0){let m=i.Dining;if(m&&typeof m=="object"&&!Array.isArray(m)){if(m.system!==void 0){let l=m.system;if(typeof l!="string"){let d={instancePath:t+"/appFeatures/Dining/system",schemaPath:"#/properties/appFeatures/properties/Dining/properties/system/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l!=="gotab"){let d={instancePath:t+"/appFeatures/Dining/system",schemaPath:"#/properties/appFeatures/properties/Dining/properties/system/enum",keyword:"enum",params:{allowedValues:X.properties.appFeatures.properties.Dining.properties.system.enum},message:"must be equal to one of the allowed values"};e===null?e=[d]:e.push(d),s++}}if(m.systemConfig!==void 0){let l=m.systemConfig;if(l&&typeof l=="object"&&!Array.isArray(l)){for(let d in l)if(!(d==="landingUrl"||d==="includeUserDetails")){let h={instancePath:t+"/appFeatures/Dining/systemConfig",schemaPath:"#/properties/appFeatures/properties/Dining/properties/systemConfig/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:d},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(l.landingUrl!==void 0){let d=l.landingUrl;if(typeof d=="string"){if(!ee(d)){let h={instancePath:t+"/appFeatures/Dining/systemConfig/landingUrl",schemaPath:"#/properties/appFeatures/properties/Dining/properties/systemConfig/properties/landingUrl/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[h]:e.push(h),s++}}else{let h={instancePath:t+"/appFeatures/Dining/systemConfig/landingUrl",schemaPath:"#/properties/appFeatures/properties/Dining/properties/systemConfig/properties/landingUrl/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}}if(l.includeUserDetails!==void 0&&typeof l.includeUserDetails!="boolean"){let d={instancePath:t+"/appFeatures/Dining/systemConfig/includeUserDetails",schemaPath:"#/properties/appFeatures/properties/Dining/properties/systemConfig/properties/includeUserDetails/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[d]:e.push(d),s++}}else{let d={instancePath:t+"/appFeatures/Dining/systemConfig",schemaPath:"#/properties/appFeatures/properties/Dining/properties/systemConfig/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let l={instancePath:t+"/appFeatures/Dining",schemaPath:"#/properties/appFeatures/properties/Dining/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.Rentals!==void 0){let m=i.Rentals;if(!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/appFeatures/Rentals",schemaPath:"#/properties/appFeatures/properties/Rentals/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.Shop!==void 0){let m=i.Shop;if(!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/appFeatures/Shop",schemaPath:"#/properties/appFeatures/properties/Shop/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.Spa!==void 0){let m=i.Spa;if(!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/appFeatures/Spa",schemaPath:"#/properties/appFeatures/properties/Spa/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(i.Valet!==void 0){let m=i.Valet;if(!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/appFeatures/Valet",schemaPath:"#/properties/appFeatures/properties/Valet/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}}else{let m={instancePath:t+"/appFeatures",schemaPath:"#/properties/appFeatures/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}let o=r.notifications;if(o&&typeof o=="object"&&!Array.isArray(o)){for(let m in o)if(!(m==="email"||m==="sms"||m==="push")){let l={instancePath:t+"/notifications",schemaPath:"#/properties/notifications/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:m},message:"must NOT have additional properties"};e===null?e=[l]:e.push(l),s++}if(o.email!==void 0){let m=o.email;if(m&&typeof m=="object"&&!Array.isArray(m)){for(let l in m)if(l!=="enabled"){let d={instancePath:t+"/notifications/email",schemaPath:"#/properties/notifications/properties/email/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:l},message:"must NOT have additional properties"};e===null?e=[d]:e.push(d),s++}if(m.enabled!==void 0&&typeof m.enabled!="boolean"){let l={instancePath:t+"/notifications/email/enabled",schemaPath:"#/properties/notifications/properties/email/properties/enabled/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/notifications/email",schemaPath:"#/properties/notifications/properties/email/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(o.sms!==void 0){let m=o.sms;if(m&&typeof m=="object"&&!Array.isArray(m)){for(let l in m)if(l!=="enabled"){let d={instancePath:t+"/notifications/sms",schemaPath:"#/properties/notifications/properties/sms/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:l},message:"must NOT have additional properties"};e===null?e=[d]:e.push(d),s++}if(m.enabled!==void 0&&typeof m.enabled!="boolean"){let l={instancePath:t+"/notifications/sms/enabled",schemaPath:"#/properties/notifications/properties/sms/properties/enabled/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/notifications/sms",schemaPath:"#/properties/notifications/properties/sms/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(o.push!==void 0){let m=o.push;if(m&&typeof m=="object"&&!Array.isArray(m)){for(let l in m)if(l!=="enabled"){let d={instancePath:t+"/notifications/push",schemaPath:"#/properties/notifications/properties/push/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:l},message:"must NOT have additional properties"};e===null?e=[d]:e.push(d),s++}if(m.enabled!==void 0&&typeof m.enabled!="boolean"){let l={instancePath:t+"/notifications/push/enabled",schemaPath:"#/properties/notifications/properties/push/properties/enabled/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/notifications/push",schemaPath:"#/properties/notifications/properties/push/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}}else{let m={instancePath:t+"/notifications",schemaPath:"#/properties/notifications/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}if(r.credentials!==void 0){let m=r.credentials;if(!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/credentials",schemaPath:"#/properties/credentials/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Yp.errors=e,s===0}c(Yp,"validate61");var Xp=qt,J={$schema:"http://json-schema.org/draft-07/schema",$id:"reservation.json",title:"Reservation",type:"object",required:["type","status","checkInDateTime","checkOutDateTime"],properties:{id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},primaryGuest:{type:"string"},type:{type:"string",default:"reservation",enum:["reservation"]},sharedGuests:{type:"array",items:{type:"string"}},spaceCategory:{type:"string"},space:{type:["string","null"]},previousSpace:{type:["string","null"],default:null,description:"Used when there was a space assigned and it changes"},status:{type:"string",enum:["reserved","checkedIn","checkedOut","cancelled","noShow","enquired","requested","optional"],description:` reserved - confirmed by both parties, before check-in
2
+ checkedIn - checked in
3
+ checkedOut - checked out
4
+ cancelled - Cancelled
5
+ noShow - No show
6
+ enquired - Confirmed neither by the customer nor enterprise
7
+ requested - Confirmed by the customer but not the enterprise (waitlist)
8
+ optional - Confirmed by the enterprise but not the customer (holding)`},mobileCheckInSpaceCategoryChanged:{type:"boolean",description:"spaceCategory has changed from original."},mobileCheckInSpaceChanged:{type:"boolean"},mobileCheckInStatus:{type:"string",enum:["ready","blocked","preArrivalStepsRequired","spaceNotAssigned","spaceNotReady","checkInTimeNotStarted"]},mobileCheckInStatusMessage:{type:"string"},confirmationNumber:{type:"string"},expectedCheckInDateTime:{type:["string","object"],format:"date-time",description:"Expected arrival time of guest."},checkInDateTime:{type:["string","object"],format:"date-time"},checkOutDateTime:{type:["string","object"],format:"date-time"},adultCount:{type:"number",default:1,minimum:1},childCount:{type:"number",default:0},spaceCategoryAvailabilites:{type:"array",items:{type:"object",properties:{id:{type:"string"},price:{type:"number"},unit:{type:"string",enum:["night","stay","hour"]},isUpgrade:{type:"boolean"}}}},revenue:{$ref:"definitions.json#/definitions/revenue"},rateSuppressed:{type:"boolean"},payment:{type:"string"},company:{type:"string"},travelAgent:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},metadata:{$ref:"definitions.json#/definitions/metadata"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}};var kr={type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},date:{type:"string",format:"date-time"},price:{type:"number"},tax:{type:["number","null"]}}}};function Lt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(Array.isArray(r)){let n=r.length;for(let i=0;i<n;i++){let o=r[i];if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.id!==void 0){let m=o.id;if(typeof m!="string"){let h={instancePath:t+"/"+i+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}let l=s,d=s;if(!(m==="global"||m==="system")){let h={};e===null?e=[h]:e.push(h),s++}var a=d===s;if(a){let h={instancePath:t+"/"+i+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[h]:e.push(h),s++}else s=l,e!==null&&(l?e.length=l:e=null)}if(o.name!==void 0&&typeof o.name!="string"){let m={instancePath:t+"/"+i+"/name",schemaPath:"#/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.date!==void 0){let m=o.date;if(typeof m=="string"){if(!M.validate(m)){let l={instancePath:t+"/"+i+"/date",schemaPath:"#/items/properties/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/"+i+"/date",schemaPath:"#/items/properties/date/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}if(o.price!==void 0&&typeof o.price!="number"){let m={instancePath:t+"/"+i+"/price",schemaPath:"#/items/properties/price/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}if(o.tax!==void 0){let m=o.tax;if(typeof m!="number"&&m!==null){let l={instancePath:t+"/"+i+"/tax",schemaPath:"#/items/properties/tax/type",keyword:"type",params:{type:kr.items.properties.tax.type},message:"must be number,null"};e===null?e=[l]:e.push(l),s++}}}else{let m={instancePath:t+"/"+i,schemaPath:"#/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[n]:e.push(n),s++}return Lt.errors=e,s===0}c(Lt,"validate64");function qt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="reservation"),r.previousSpace===void 0&&(r.previousSpace=null),r.adultCount===void 0&&(r.adultCount=1),r.childCount===void 0&&(r.childCount=0),r.type===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[m]:e.push(m),s++}if(r.status===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[m]:e.push(m),s++}if(r.checkInDateTime===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"checkInDateTime"},message:"must have required property 'checkInDateTime'"};e===null?e=[m]:e.push(m),s++}if(r.checkOutDateTime===void 0){let m={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"checkOutDateTime"},message:"must have required property 'checkOutDateTime'"};e===null?e=[m]:e.push(m),s++}if(r.id!==void 0){let m=r.id;if(typeof m!="string"){let h={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}let l=s,d=s;if(!(m==="global"||m==="system")){let h={};e===null?e=[h]:e.push(h),s++}var a=d===s;if(a){let h={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[h]:e.push(h),s++}else s=l,e!==null&&(l?e.length=l:e=null)}if(r.driver!==void 0){let m=r.driver;if(typeof m!="string"){let l={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(!(m==="adlink"||m==="aws-kinesis"||m==="butler"||m==="crestron"||m==="dell"||m==="dmp"||m==="doorbird"||m==="dormakaba"||m==="dsc"||m==="ecobee"||m==="epson"||m==="geovision-rs"||m==="geovision-as-manager"||m==="honeywell-vista"||m==="igor"||m==="inncom"||m==="isapi"||m==="kohost-k7"||m==="kohost"||m==="lg"||m==="lg-webos"||m==="lapi"||m==="lirc"||m==="mews"||m==="mht"||m==="paxton"||m==="pelican-wireless"||m==="power-shades"||m==="rachio"||m==="rebrandly"||m==="relay"||m==="rtsp"||m==="salto"||m==="salto-irn"||m==="samsung"||m==="se"||m==="sendgrid"||m==="sonifi"||m==="stay-n-touch"||m==="storable"||m==="twilio"||m==="unifi"||m==="valcom"||m==="vivotek"||m==="vizio"||m==="wisenet"||m==="cloudflare-images"||m==="cloudflare-stream"||m==="insperia-privacy")){let l={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}}if(r.primaryGuest!==void 0&&typeof r.primaryGuest!="string"){let m={instancePath:t+"/primaryGuest",schemaPath:"#/properties/primaryGuest/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let n=r.type;if(typeof n!="string"){let m={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(n!=="reservation"){let m={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:J.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}if(r.sharedGuests!==void 0){let m=r.sharedGuests;if(Array.isArray(m)){let l=m.length;for(let d=0;d<l;d++)if(typeof m[d]!="string"){let h={instancePath:t+"/sharedGuests/"+d,schemaPath:"#/properties/sharedGuests/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}}else{let l={instancePath:t+"/sharedGuests",schemaPath:"#/properties/sharedGuests/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[l]:e.push(l),s++}}if(r.spaceCategory!==void 0&&typeof r.spaceCategory!="string"){let m={instancePath:t+"/spaceCategory",schemaPath:"#/properties/spaceCategory/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.space!==void 0){let m=r.space;if(typeof m!="string"&&m!==null){let l={instancePath:t+"/space",schemaPath:"#/properties/space/type",keyword:"type",params:{type:J.properties.space.type},message:"must be string,null"};e===null?e=[l]:e.push(l),s++}}let i=r.previousSpace;if(typeof i!="string"&&i!==null){let m={instancePath:t+"/previousSpace",schemaPath:"#/properties/previousSpace/type",keyword:"type",params:{type:J.properties.previousSpace.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}if(r.status!==void 0){let m=r.status;if(typeof m!="string"){let l={instancePath:t+"/status",schemaPath:"#/properties/status/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(!(m==="reserved"||m==="checkedIn"||m==="checkedOut"||m==="cancelled"||m==="noShow"||m==="enquired"||m==="requested"||m==="optional")){let l={instancePath:t+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues:J.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}}if(r.mobileCheckInSpaceCategoryChanged!==void 0&&typeof r.mobileCheckInSpaceCategoryChanged!="boolean"){let m={instancePath:t+"/mobileCheckInSpaceCategoryChanged",schemaPath:"#/properties/mobileCheckInSpaceCategoryChanged/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[m]:e.push(m),s++}if(r.mobileCheckInSpaceChanged!==void 0&&typeof r.mobileCheckInSpaceChanged!="boolean"){let m={instancePath:t+"/mobileCheckInSpaceChanged",schemaPath:"#/properties/mobileCheckInSpaceChanged/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[m]:e.push(m),s++}if(r.mobileCheckInStatus!==void 0){let m=r.mobileCheckInStatus;if(typeof m!="string"){let l={instancePath:t+"/mobileCheckInStatus",schemaPath:"#/properties/mobileCheckInStatus/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(!(m==="ready"||m==="blocked"||m==="preArrivalStepsRequired"||m==="spaceNotAssigned"||m==="spaceNotReady"||m==="checkInTimeNotStarted")){let l={instancePath:t+"/mobileCheckInStatus",schemaPath:"#/properties/mobileCheckInStatus/enum",keyword:"enum",params:{allowedValues:J.properties.mobileCheckInStatus.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}}if(r.mobileCheckInStatusMessage!==void 0&&typeof r.mobileCheckInStatusMessage!="string"){let m={instancePath:t+"/mobileCheckInStatusMessage",schemaPath:"#/properties/mobileCheckInStatusMessage/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.confirmationNumber!==void 0&&typeof r.confirmationNumber!="string"){let m={instancePath:t+"/confirmationNumber",schemaPath:"#/properties/confirmationNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.expectedCheckInDateTime!==void 0){let m=r.expectedCheckInDateTime;if(typeof m!="string"&&!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/expectedCheckInDateTime",schemaPath:"#/properties/expectedCheckInDateTime/type",keyword:"type",params:{type:J.properties.expectedCheckInDateTime.type},message:"must be string,object"};e===null?e=[l]:e.push(l),s++}if(typeof m=="string"&&!M.validate(m)){let l={instancePath:t+"/expectedCheckInDateTime",schemaPath:"#/properties/expectedCheckInDateTime/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}if(r.checkInDateTime!==void 0){let m=r.checkInDateTime;if(typeof m!="string"&&!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/checkInDateTime",schemaPath:"#/properties/checkInDateTime/type",keyword:"type",params:{type:J.properties.checkInDateTime.type},message:"must be string,object"};e===null?e=[l]:e.push(l),s++}if(typeof m=="string"&&!M.validate(m)){let l={instancePath:t+"/checkInDateTime",schemaPath:"#/properties/checkInDateTime/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}if(r.checkOutDateTime!==void 0){let m=r.checkOutDateTime;if(typeof m!="string"&&!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/checkOutDateTime",schemaPath:"#/properties/checkOutDateTime/type",keyword:"type",params:{type:J.properties.checkOutDateTime.type},message:"must be string,object"};e===null?e=[l]:e.push(l),s++}if(typeof m=="string"&&!M.validate(m)){let l={instancePath:t+"/checkOutDateTime",schemaPath:"#/properties/checkOutDateTime/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}let o=r.adultCount;if(typeof o=="number"){if(o<1||isNaN(o)){let m={instancePath:t+"/adultCount",schemaPath:"#/properties/adultCount/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/adultCount",schemaPath:"#/properties/adultCount/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}if(typeof r.childCount!="number"){let m={instancePath:t+"/childCount",schemaPath:"#/properties/childCount/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}if(r.spaceCategoryAvailabilites!==void 0){let m=r.spaceCategoryAvailabilites;if(Array.isArray(m)){let l=m.length;for(let d=0;d<l;d++){let h=m[d];if(h&&typeof h=="object"&&!Array.isArray(h)){if(h.id!==void 0&&typeof h.id!="string"){let y={instancePath:t+"/spaceCategoryAvailabilites/"+d+"/id",schemaPath:"#/properties/spaceCategoryAvailabilites/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}if(h.price!==void 0&&typeof h.price!="number"){let y={instancePath:t+"/spaceCategoryAvailabilites/"+d+"/price",schemaPath:"#/properties/spaceCategoryAvailabilites/items/properties/price/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[y]:e.push(y),s++}if(h.unit!==void 0){let y=h.unit;if(typeof y!="string"){let b={instancePath:t+"/spaceCategoryAvailabilites/"+d+"/unit",schemaPath:"#/properties/spaceCategoryAvailabilites/items/properties/unit/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(!(y==="night"||y==="stay"||y==="hour")){let b={instancePath:t+"/spaceCategoryAvailabilites/"+d+"/unit",schemaPath:"#/properties/spaceCategoryAvailabilites/items/properties/unit/enum",keyword:"enum",params:{allowedValues:J.properties.spaceCategoryAvailabilites.items.properties.unit.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}if(h.isUpgrade!==void 0&&typeof h.isUpgrade!="boolean"){let y={instancePath:t+"/spaceCategoryAvailabilites/"+d+"/isUpgrade",schemaPath:"#/properties/spaceCategoryAvailabilites/items/properties/isUpgrade/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[y]:e.push(y),s++}}else{let y={instancePath:t+"/spaceCategoryAvailabilites/"+d,schemaPath:"#/properties/spaceCategoryAvailabilites/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[y]:e.push(y),s++}}}else{let l={instancePath:t+"/spaceCategoryAvailabilites",schemaPath:"#/properties/spaceCategoryAvailabilites/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[l]:e.push(l),s++}}if(r.revenue!==void 0&&(Lt(r.revenue,{instancePath:t+"/revenue",parentData:r,parentDataProperty:"revenue",rootData:p})||(e=e===null?Lt.errors:e.concat(Lt.errors),s=e.length)),r.rateSuppressed!==void 0&&typeof r.rateSuppressed!="boolean"){let m={instancePath:t+"/rateSuppressed",schemaPath:"#/properties/rateSuppressed/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[m]:e.push(m),s++}if(r.payment!==void 0&&typeof r.payment!="string"){let m={instancePath:t+"/payment",schemaPath:"#/properties/payment/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.company!==void 0&&typeof r.company!="string"){let m={instancePath:t+"/company",schemaPath:"#/properties/company/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.travelAgent!==void 0&&typeof r.travelAgent!="string"){let m={instancePath:t+"/travelAgent",schemaPath:"#/properties/travelAgent/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.systemId!==void 0&&typeof r.systemId!="string"){let m={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(r.metadata!==void 0){let m=r.metadata;if(!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/metadata",schemaPath:"definitions.json#/definitions/metadata/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[l]:e.push(l),s++}}if(r.updatedAt!==void 0){let m=r.updatedAt;if(typeof m!="string"&&!(m&&typeof m=="object"&&!Array.isArray(m))){let l={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/type",keyword:"type",params:{type:Xe.type},message:"must be string,object"};e===null?e=[l]:e.push(l),s++}if(typeof m=="string"&&!M.validate(m)){let l={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return qt.errors=e,s===0}c(qt,"validate63");var Qp=em,sp={$schema:"http://json-schema.org/draft-07/schema",$id:"room.json",title:"Room",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["room"],default:"room"},name:{type:"string"},floor:{type:"string"},dimmers:{type:"array",default:[],items:{$ref:"dimmer.json"}},switches:{type:"array",default:[],items:{$ref:"switch.json"}},thermostats:{type:"array",default:[],items:{$ref:"thermostat.json"}},locks:{type:"array",default:[],items:{$ref:"lock.json"}},windowCoverings:{type:"array",default:[],items:{$ref:"windowCovering.json"}},courtesy:{type:"array",default:[],items:{$ref:"courtesy.json"}},cameras:{type:"array",default:[],items:{$ref:"camera.json"}},mediaSources:{type:"array",default:[],items:{$ref:"mediaSource.json"}},motionSensors:{type:"array",default:[],items:{$ref:"motionSensor.json"}},alarms:{type:"array",default:[],items:{$ref:"alarm.json"}},occupiedAt:{$ref:"definitions.json#/definitions/createdAt"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}},additionalProperties:!1},rp={$schema:"http://json-schema.org/draft-07/schema",$id:"switch.json",title:"Switch",description:"Any smart switch",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},discriminator:{type:"string",enum:["light","fan","irrigation"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},state:{type:"string",enum:["on","off"]},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]};function Wt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Wt.errors=e,s===0}c(Wt,"validate69");function xt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.id===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[n]:e.push(n),s++}if(r.type===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[n]:e.push(n),s++}if(r.state===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"state"},message:"must have required property 'state'"};e===null?e=[n]:e.push(n),s++}if(r.driver===void 0){let n={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[n]:e.push(n),s++}if(r.id!==void 0){let n=r.id;if(typeof n!="string"){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}let i=s,o=s;if(!(n==="global"||n==="system")){let m={};e===null?e=[m]:e.push(m),s++}var a=o===s;if(a){let m={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[m]:e.push(m),s++}else s=i,e!==null&&(i?e.length=i:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.type!==void 0){let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="alarm"||n==="dimmer"||n==="switch"||n==="motionSensor"||n==="windowCovering"||n==="camera"||n==="mediaSource"||n==="thermostat"||n==="lock"||n==="courtesy"||n==="gateway"||n==="tv"||n==="dvr"||n==="appleTv"||n==="discPlayer"||n==="mediaPlayer"||n==="uncontrolledDevice")){let i={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.discriminator!==void 0){let n=r.discriminator;if(typeof n!="string"){let i={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="light"||n==="fan"||n==="irrigation")){let i={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/enum",keyword:"enum",params:{allowedValues:rp.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.supportedNotifications!==void 0){let n=r.supportedNotifications;if(Array.isArray(n)){let i=n.length;for(let l=0;l<i;l++){let d=n[l];if(!(d==="button 1"||d==="button 2"||d==="button 3"||d==="button 4"||d==="button 5"||d==="idle"||d==="powerHasBeedApplied"||d==="acMainsDisconnected"||d==="acMainsReconnected"||d==="replaceBatterySoon"||d==="replaceBatteryNow"||d==="batteryOk"||d==="hardwareFailure"||d==="softwareFailure"||d==="hardwareFailureWithCode"||d==="softwareFailureWithCode"||d==="motionDetection"||d==="airFilterNeedsCleaned"||d==="airFilterNeedsReplaced"||d==="smokeDetected"||d==="outsideSafeTemperatureRange"||d==="outsideSafeHumidityRange"||d==="scheduleMaintenance"||d==="doorAjar"||d==="communicationFailure"||d==="communicationOk"||d==="burglarAlarm"||d==="fireAlarm")){let h={instancePath:t+"/supportedNotifications/"+l,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}let o=n.length,m;if(o>1){e:for(;o--;)for(m=o;m--;)if(V(n[o],n[m])){let l={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:o,j:m},message:"must NOT have duplicate items (items ## "+m+" and "+o+" are identical)"};e===null?e=[l]:e.push(l),s++;break e}}}else{let i={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[i]:e.push(i),s++}}if(r.notification!==void 0&&(Wt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Wt.errors:e.concat(Wt.errors),s=e.length)),r.driver!==void 0){let n=r.driver;if(typeof n!="string"){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="adlink"||n==="aws-kinesis"||n==="butler"||n==="crestron"||n==="dell"||n==="dmp"||n==="doorbird"||n==="dormakaba"||n==="dsc"||n==="ecobee"||n==="epson"||n==="geovision-rs"||n==="geovision-as-manager"||n==="honeywell-vista"||n==="igor"||n==="inncom"||n==="isapi"||n==="kohost-k7"||n==="kohost"||n==="lg"||n==="lg-webos"||n==="lapi"||n==="lirc"||n==="mews"||n==="mht"||n==="paxton"||n==="pelican-wireless"||n==="power-shades"||n==="rachio"||n==="rebrandly"||n==="relay"||n==="rtsp"||n==="salto"||n==="salto-irn"||n==="samsung"||n==="se"||n==="sendgrid"||n==="sonifi"||n==="stay-n-touch"||n==="storable"||n==="twilio"||n==="unifi"||n==="valcom"||n==="vivotek"||n==="vizio"||n==="wisenet"||n==="cloudflare-images"||n==="cloudflare-stream"||n==="insperia-privacy")){let i={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.offline!==void 0&&typeof r.offline!="boolean"){let n={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[n]:e.push(n),s++}if(r.state!==void 0){let n=r.state;if(typeof n!="string"){let i={instancePath:t+"/state",schemaPath:"#/properties/state/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(!(n==="on"||n==="off")){let i={instancePath:t+"/state",schemaPath:"#/properties/state/enum",keyword:"enum",params:{allowedValues:rp.properties.state.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let n={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.watts!==void 0){let n=r.watts;if(typeof n=="number"){if(n<0||isNaN(n)){let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[i]:e.push(i),s++}}else{let i={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[i]:e.push(i),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let n={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let n={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let n={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let n={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return xt.errors=e,s===0}c(xt,"validate68");var _={$schema:"http://json-schema.org/draft-07/schema",$id:"thermostat.json",title:"Thermostat",description:"Any smart thermostat",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"},type:{$ref:"definitions.json#/definitions/type",default:"thermostat"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},currentTemperature:{type:"number"},currentHumidity:{type:"number",minimum:0},hvacMode:{type:"string",$ref:"#/properties/supportedHvacModes/items"},hvacState:{type:["string","null"],enum:["cooling","heating","off",null]},fanMode:{type:"string",$ref:"#/properties/supportedFanModes/items"},fanState:{type:["string","null"],enum:["off","low","medium","high","on",null]},temperatureScale:{type:"string",enum:["celsius","fahrenheit"],default:"fahrenheit"},humidityScale:{type:["string","null"],enum:["absolute","relative",null]},supportedHvacModes:{type:"array",uniqueItems:!0,minItems:2,items:{enum:["cool","heat","auto","off"]}},supportedFanModes:{type:"array",uniqueItems:!0,items:{enum:["auto","low","medium","high","off","on"]}},setpoints:{type:"object",additionalProperties:!1,properties:{cool:{$ref:"#/$defs/setpoint"},heat:{$ref:"#/$defs/setpoint"},auto:{$ref:"#/$defs/setpoint"}}},minAutoDelta:{type:"number",default:3},cycleRate:{type:"number"},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},$defs:{setpoint:{type:"object",additionalProperties:!1,properties:{value:{$ref:"#/$defs/setpointValue"},min:{$ref:"#/$defs/setpointMinMax"},max:{$ref:"#/$defs/setpointMinMax"}}},setpointValue:{type:"number",minimum:0,maximum:99},setpointMinMax:{type:["number","null"],minimum:0,maximum:99}},required:["id","type","hvacMode","fanMode","hvacState","fanState","setpoints","temperatureScale","supportedHvacModes","supportedFanModes","driver"]},Jp={enum:["cool","heat","auto","off"]},_p={enum:["auto","low","medium","high","off","on"]};function Gt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Gt.errors=e,s===0}c(Gt,"validate73");var ip={type:["number","null"],minimum:0,maximum:99};function D(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){for(let a in r)if(!(a==="value"||a==="min"||a==="max")){let n={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};e===null?e=[n]:e.push(n),s++}if(r.value!==void 0){let a=r.value;if(typeof a=="number"){if(a>99||isNaN(a)){let n={instancePath:t+"/value",schemaPath:"#/$defs/setpointValue/maximum",keyword:"maximum",params:{comparison:"<=",limit:99},message:"must be <= 99"};e===null?e=[n]:e.push(n),s++}if(a<0||isNaN(a)){let n={instancePath:t+"/value",schemaPath:"#/$defs/setpointValue/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/value",schemaPath:"#/$defs/setpointValue/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.min!==void 0){let a=r.min;if(typeof a!="number"&&a!==null){let n={instancePath:t+"/min",schemaPath:"#/$defs/setpointMinMax/type",keyword:"type",params:{type:ip.type},message:"must be number,null"};e===null?e=[n]:e.push(n),s++}if(typeof a=="number"){if(a>99||isNaN(a)){let n={instancePath:t+"/min",schemaPath:"#/$defs/setpointMinMax/maximum",keyword:"maximum",params:{comparison:"<=",limit:99},message:"must be <= 99"};e===null?e=[n]:e.push(n),s++}if(a<0||isNaN(a)){let n={instancePath:t+"/min",schemaPath:"#/$defs/setpointMinMax/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[n]:e.push(n),s++}}}if(r.max!==void 0){let a=r.max;if(typeof a!="number"&&a!==null){let n={instancePath:t+"/max",schemaPath:"#/$defs/setpointMinMax/type",keyword:"type",params:{type:ip.type},message:"must be number,null"};e===null?e=[n]:e.push(n),s++}if(typeof a=="number"){if(a>99||isNaN(a)){let n={instancePath:t+"/max",schemaPath:"#/$defs/setpointMinMax/maximum",keyword:"maximum",params:{comparison:"<=",limit:99},message:"must be <= 99"};e===null?e=[n]:e.push(n),s++}if(a<0||isNaN(a)){let n={instancePath:t+"/max",schemaPath:"#/$defs/setpointMinMax/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[n]:e.push(n),s++}}}}else{let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}return D.errors=e,s===0}c(D,"validate75");function It(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="thermostat"),r.temperatureScale===void 0&&(r.temperatureScale="fahrenheit"),r.minAutoDelta===void 0&&(r.minAutoDelta=3),r.id===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[o]:e.push(o),s++}if(r.type===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[o]:e.push(o),s++}if(r.hvacMode===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"hvacMode"},message:"must have required property 'hvacMode'"};e===null?e=[o]:e.push(o),s++}if(r.fanMode===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"fanMode"},message:"must have required property 'fanMode'"};e===null?e=[o]:e.push(o),s++}if(r.hvacState===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"hvacState"},message:"must have required property 'hvacState'"};e===null?e=[o]:e.push(o),s++}if(r.fanState===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"fanState"},message:"must have required property 'fanState'"};e===null?e=[o]:e.push(o),s++}if(r.setpoints===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"setpoints"},message:"must have required property 'setpoints'"};e===null?e=[o]:e.push(o),s++}if(r.temperatureScale===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"temperatureScale"},message:"must have required property 'temperatureScale'"};e===null?e=[o]:e.push(o),s++}if(r.supportedHvacModes===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"supportedHvacModes"},message:"must have required property 'supportedHvacModes'"};e===null?e=[o]:e.push(o),s++}if(r.supportedFanModes===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"supportedFanModes"},message:"must have required property 'supportedFanModes'"};e===null?e=[o]:e.push(o),s++}if(r.driver===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[o]:e.push(o),s++}if(r.id!==void 0){let o=r.id;if(typeof o!="string"){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}let m=s,l=s;if(!(o==="global"||o==="system")){let d={};e===null?e=[d]:e.push(d),s++}var a=l===s;if(a){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[d]:e.push(d),s++}else s=m,e!==null&&(m?e.length=m:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let o={instancePath:t+"/name",schemaPath:"definitions.json#/definitions/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}let n=r.type;if(typeof n!="string"){let o={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(n==="alarm"||n==="dimmer"||n==="switch"||n==="motionSensor"||n==="windowCovering"||n==="camera"||n==="mediaSource"||n==="thermostat"||n==="lock"||n==="courtesy"||n==="gateway"||n==="tv"||n==="dvr"||n==="appleTv"||n==="discPlayer"||n==="mediaPlayer"||n==="uncontrolledDevice")){let o={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}if(r.driver!==void 0){let o=r.driver;if(typeof o!="string"){let m={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="adlink"||o==="aws-kinesis"||o==="butler"||o==="crestron"||o==="dell"||o==="dmp"||o==="doorbird"||o==="dormakaba"||o==="dsc"||o==="ecobee"||o==="epson"||o==="geovision-rs"||o==="geovision-as-manager"||o==="honeywell-vista"||o==="igor"||o==="inncom"||o==="isapi"||o==="kohost-k7"||o==="kohost"||o==="lg"||o==="lg-webos"||o==="lapi"||o==="lirc"||o==="mews"||o==="mht"||o==="paxton"||o==="pelican-wireless"||o==="power-shades"||o==="rachio"||o==="rebrandly"||o==="relay"||o==="rtsp"||o==="salto"||o==="salto-irn"||o==="samsung"||o==="se"||o==="sendgrid"||o==="sonifi"||o==="stay-n-touch"||o==="storable"||o==="twilio"||o==="unifi"||o==="valcom"||o==="vivotek"||o==="vizio"||o==="wisenet"||o==="cloudflare-images"||o==="cloudflare-stream"||o==="insperia-privacy")){let m={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.offline!==void 0&&typeof r.offline!="boolean"){let o={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.supportedNotifications!==void 0){let o=r.supportedNotifications;if(Array.isArray(o)){let m=o.length;for(let h=0;h<m;h++){let y=o[h];if(!(y==="button 1"||y==="button 2"||y==="button 3"||y==="button 4"||y==="button 5"||y==="idle"||y==="powerHasBeedApplied"||y==="acMainsDisconnected"||y==="acMainsReconnected"||y==="replaceBatterySoon"||y==="replaceBatteryNow"||y==="batteryOk"||y==="hardwareFailure"||y==="softwareFailure"||y==="hardwareFailureWithCode"||y==="softwareFailureWithCode"||y==="motionDetection"||y==="airFilterNeedsCleaned"||y==="airFilterNeedsReplaced"||y==="smokeDetected"||y==="outsideSafeTemperatureRange"||y==="outsideSafeHumidityRange"||y==="scheduleMaintenance"||y==="doorAjar"||y==="communicationFailure"||y==="communicationOk"||y==="burglarAlarm"||y==="fireAlarm")){let b={instancePath:t+"/supportedNotifications/"+h,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}let l=o.length,d;if(l>1){e:for(;l--;)for(d=l;d--;)if(V(o[l],o[d])){let h={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:l,j:d},message:"must NOT have duplicate items (items ## "+d+" and "+l+" are identical)"};e===null?e=[h]:e.push(h),s++;break e}}}else{let m={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.notification!==void 0&&(Gt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Gt.errors:e.concat(Gt.errors),s=e.length)),r.currentTemperature!==void 0&&typeof r.currentTemperature!="number"){let o={instancePath:t+"/currentTemperature",schemaPath:"#/properties/currentTemperature/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[o]:e.push(o),s++}if(r.currentHumidity!==void 0){let o=r.currentHumidity;if(typeof o=="number"){if(o<0||isNaN(o)){let m={instancePath:t+"/currentHumidity",schemaPath:"#/properties/currentHumidity/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/currentHumidity",schemaPath:"#/properties/currentHumidity/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}}if(r.hvacMode!==void 0){let o=r.hvacMode;if(typeof o!="string"){let m={instancePath:t+"/hvacMode",schemaPath:"#/properties/hvacMode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="cool"||o==="heat"||o==="auto"||o==="off")){let m={instancePath:t+"/hvacMode",schemaPath:"#/properties/supportedHvacModes/items/enum",keyword:"enum",params:{allowedValues:Jp.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.hvacState!==void 0){let o=r.hvacState;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/hvacState",schemaPath:"#/properties/hvacState/type",keyword:"type",params:{type:_.properties.hvacState.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}if(!(o==="cooling"||o==="heating"||o==="off"||o===null)){let m={instancePath:t+"/hvacState",schemaPath:"#/properties/hvacState/enum",keyword:"enum",params:{allowedValues:_.properties.hvacState.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.fanMode!==void 0){let o=r.fanMode;if(typeof o!="string"){let m={instancePath:t+"/fanMode",schemaPath:"#/properties/fanMode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="auto"||o==="low"||o==="medium"||o==="high"||o==="off"||o==="on")){let m={instancePath:t+"/fanMode",schemaPath:"#/properties/supportedFanModes/items/enum",keyword:"enum",params:{allowedValues:_p.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.fanState!==void 0){let o=r.fanState;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/fanState",schemaPath:"#/properties/fanState/type",keyword:"type",params:{type:_.properties.fanState.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}if(!(o==="off"||o==="low"||o==="medium"||o==="high"||o==="on"||o===null)){let m={instancePath:t+"/fanState",schemaPath:"#/properties/fanState/enum",keyword:"enum",params:{allowedValues:_.properties.fanState.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}let i=r.temperatureScale;if(typeof i!="string"){let o={instancePath:t+"/temperatureScale",schemaPath:"#/properties/temperatureScale/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="celsius"||i==="fahrenheit")){let o={instancePath:t+"/temperatureScale",schemaPath:"#/properties/temperatureScale/enum",keyword:"enum",params:{allowedValues:_.properties.temperatureScale.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}if(r.humidityScale!==void 0){let o=r.humidityScale;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/humidityScale",schemaPath:"#/properties/humidityScale/type",keyword:"type",params:{type:_.properties.humidityScale.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}if(!(o==="absolute"||o==="relative"||o===null)){let m={instancePath:t+"/humidityScale",schemaPath:"#/properties/humidityScale/enum",keyword:"enum",params:{allowedValues:_.properties.humidityScale.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.supportedHvacModes!==void 0){let o=r.supportedHvacModes;if(Array.isArray(o)){if(o.length<2){let h={instancePath:t+"/supportedHvacModes",schemaPath:"#/properties/supportedHvacModes/minItems",keyword:"minItems",params:{limit:2},message:"must NOT have fewer than 2 items"};e===null?e=[h]:e.push(h),s++}let m=o.length;for(let h=0;h<m;h++){let y=o[h];if(!(y==="cool"||y==="heat"||y==="auto"||y==="off")){let b={instancePath:t+"/supportedHvacModes/"+h,schemaPath:"#/properties/supportedHvacModes/items/enum",keyword:"enum",params:{allowedValues:_.properties.supportedHvacModes.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}let l=o.length,d;if(l>1){e:for(;l--;)for(d=l;d--;)if(V(o[l],o[d])){let h={instancePath:t+"/supportedHvacModes",schemaPath:"#/properties/supportedHvacModes/uniqueItems",keyword:"uniqueItems",params:{i:l,j:d},message:"must NOT have duplicate items (items ## "+d+" and "+l+" are identical)"};e===null?e=[h]:e.push(h),s++;break e}}}else{let m={instancePath:t+"/supportedHvacModes",schemaPath:"#/properties/supportedHvacModes/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.supportedFanModes!==void 0){let o=r.supportedFanModes;if(Array.isArray(o)){let m=o.length;for(let h=0;h<m;h++){let y=o[h];if(!(y==="auto"||y==="low"||y==="medium"||y==="high"||y==="off"||y==="on")){let b={instancePath:t+"/supportedFanModes/"+h,schemaPath:"#/properties/supportedFanModes/items/enum",keyword:"enum",params:{allowedValues:_.properties.supportedFanModes.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}let l=o.length,d;if(l>1){e:for(;l--;)for(d=l;d--;)if(V(o[l],o[d])){let h={instancePath:t+"/supportedFanModes",schemaPath:"#/properties/supportedFanModes/uniqueItems",keyword:"uniqueItems",params:{i:l,j:d},message:"must NOT have duplicate items (items ## "+d+" and "+l+" are identical)"};e===null?e=[h]:e.push(h),s++;break e}}}else{let m={instancePath:t+"/supportedFanModes",schemaPath:"#/properties/supportedFanModes/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.setpoints!==void 0){let o=r.setpoints;if(o&&typeof o=="object"&&!Array.isArray(o)){for(let m in o)if(!(m==="cool"||m==="heat"||m==="auto")){let l={instancePath:t+"/setpoints",schemaPath:"#/properties/setpoints/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:m},message:"must NOT have additional properties"};e===null?e=[l]:e.push(l),s++}o.cool!==void 0&&(D(o.cool,{instancePath:t+"/setpoints/cool",parentData:o,parentDataProperty:"cool",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length)),o.heat!==void 0&&(D(o.heat,{instancePath:t+"/setpoints/heat",parentData:o,parentDataProperty:"heat",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length)),o.auto!==void 0&&(D(o.auto,{instancePath:t+"/setpoints/auto",parentData:o,parentDataProperty:"auto",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length))}else{let m={instancePath:t+"/setpoints",schemaPath:"#/properties/setpoints/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}if(typeof r.minAutoDelta!="number"){let o={instancePath:t+"/minAutoDelta",schemaPath:"#/properties/minAutoDelta/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[o]:e.push(o),s++}if(r.cycleRate!==void 0&&typeof r.cycleRate!="number"){let o={instancePath:t+"/cycleRate",schemaPath:"#/properties/cycleRate/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[o]:e.push(o),s++}if(r.batteryLevel!==void 0){let o=r.batteryLevel;if(typeof o=="number"){if(o>100||isNaN(o)){let m={instancePath:t+"/batteryLevel",schemaPath:"definitions.json#/definitions/batteryLevel/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[m]:e.push(m),s++}if(o<0||isNaN(o)){let m={instancePath:t+"/batteryLevel",schemaPath:"definitions.json#/definitions/batteryLevel/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/batteryLevel",schemaPath:"definitions.json#/definitions/batteryLevel/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let o={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.watts!==void 0){let o=r.watts;if(typeof o=="number"){if(o<0||isNaN(o)){let m={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let o={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let o={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let o={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let o={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return It.errors=e,s===0}c(It,"validate72");var np={$schema:"http://json-schema.org/draft-07/schema",$id:"windowCovering.json",title:"Window Covering",description:"Any smart window covering",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type",default:"windowCovering"},discriminator:{type:"string",enum:["basic","variable"],default:"variable"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},position:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","position","driver"]};function Yt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(!(r&&typeof r=="object"&&!Array.isArray(r))&&r!==null){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:L.type},message:"must be object,null"};e===null?e=[a]:e.push(a),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name!==void 0){let a=r.name;if(typeof a!="string"){let n={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[n]:e.push(n),s++}if(!(a==="button 1"||a==="button 2"||a==="button 3"||a==="button 4"||a==="button 5"||a==="idle"||a==="powerHasBeedApplied"||a==="acMainsDisconnected"||a==="acMainsReconnected"||a==="replaceBatterySoon"||a==="replaceBatteryNow"||a==="batteryOk"||a==="hardwareFailure"||a==="softwareFailure"||a==="hardwareFailureWithCode"||a==="softwareFailureWithCode"||a==="motionDetection"||a==="airFilterNeedsCleaned"||a==="airFilterNeedsReplaced"||a==="smokeDetected"||a==="outsideSafeTemperatureRange"||a==="outsideSafeHumidityRange"||a==="scheduleMaintenance"||a==="doorAjar"||a==="communicationFailure"||a==="communicationOk"||a==="burglarAlarm"||a==="fireAlarm")){let n={instancePath:t+"/name",schemaPath:"#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:W.enum},message:"must be equal to one of the allowed values"};e===null?e=[n]:e.push(n),s++}}if(r.timestamp!==void 0){let a=r.timestamp;if(typeof a=="number"){if(a<1655907956593||isNaN(a)){let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/minimum",keyword:"minimum",params:{comparison:">=",limit:1655907956593},message:"must be >= 1655907956593"};e===null?e=[n]:e.push(n),s++}}else{let n={instancePath:t+"/timestamp",schemaPath:"#/properties/timestamp/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[n]:e.push(n),s++}}if(r.description!==void 0&&typeof r.description!="string"){let a={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}}return Yt.errors=e,s===0}c(Yt,"validate82");function Nt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="windowCovering"),r.discriminator===void 0&&(r.discriminator="variable"),r.id===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[o]:e.push(o),s++}if(r.type===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[o]:e.push(o),s++}if(r.position===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"position"},message:"must have required property 'position'"};e===null?e=[o]:e.push(o),s++}if(r.driver===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[o]:e.push(o),s++}if(r.id!==void 0){let o=r.id;if(typeof o!="string"){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}let m=s,l=s;if(!(o==="global"||o==="system")){let d={};e===null?e=[d]:e.push(d),s++}var a=l===s;if(a){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[d]:e.push(d),s++}else s=m,e!==null&&(m?e.length=m:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let o={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}let n=r.type;if(typeof n!="string"){let o={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(n==="alarm"||n==="dimmer"||n==="switch"||n==="motionSensor"||n==="windowCovering"||n==="camera"||n==="mediaSource"||n==="thermostat"||n==="lock"||n==="courtesy"||n==="gateway"||n==="tv"||n==="dvr"||n==="appleTv"||n==="discPlayer"||n==="mediaPlayer"||n==="uncontrolledDevice")){let o={instancePath:t+"/type",schemaPath:"definitions.json#/definitions/type/enum",keyword:"enum",params:{allowedValues:H.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}let i=r.discriminator;if(typeof i!="string"){let o={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="basic"||i==="variable")){let o={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/enum",keyword:"enum",params:{allowedValues:np.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}if(r.supportedNotifications!==void 0){let o=r.supportedNotifications;if(Array.isArray(o)){let m=o.length;for(let h=0;h<m;h++){let y=o[h];if(!(y==="button 1"||y==="button 2"||y==="button 3"||y==="button 4"||y==="button 5"||y==="idle"||y==="powerHasBeedApplied"||y==="acMainsDisconnected"||y==="acMainsReconnected"||y==="replaceBatterySoon"||y==="replaceBatteryNow"||y==="batteryOk"||y==="hardwareFailure"||y==="softwareFailure"||y==="hardwareFailureWithCode"||y==="softwareFailureWithCode"||y==="motionDetection"||y==="airFilterNeedsCleaned"||y==="airFilterNeedsReplaced"||y==="smokeDetected"||y==="outsideSafeTemperatureRange"||y==="outsideSafeHumidityRange"||y==="scheduleMaintenance"||y==="doorAjar"||y==="communicationFailure"||y==="communicationOk"||y==="burglarAlarm"||y==="fireAlarm")){let b={instancePath:t+"/supportedNotifications/"+h,schemaPath:"definitions.json#/definitions/supportedNotifications/items/enum",keyword:"enum",params:{allowedValues:U.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}let l=o.length,d;if(l>1){e:for(;l--;)for(d=l;d--;)if(V(o[l],o[d])){let h={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/uniqueItems",keyword:"uniqueItems",params:{i:l,j:d},message:"must NOT have duplicate items (items ## "+d+" and "+l+" are identical)"};e===null?e=[h]:e.push(h),s++;break e}}}else{let m={instancePath:t+"/supportedNotifications",schemaPath:"definitions.json#/definitions/supportedNotifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.notification!==void 0&&(Yt(r.notification,{instancePath:t+"/notification",parentData:r,parentDataProperty:"notification",rootData:p})||(e=e===null?Yt.errors:e.concat(Yt.errors),s=e.length)),r.driver!==void 0){let o=r.driver;if(typeof o!="string"){let m={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="adlink"||o==="aws-kinesis"||o==="butler"||o==="crestron"||o==="dell"||o==="dmp"||o==="doorbird"||o==="dormakaba"||o==="dsc"||o==="ecobee"||o==="epson"||o==="geovision-rs"||o==="geovision-as-manager"||o==="honeywell-vista"||o==="igor"||o==="inncom"||o==="isapi"||o==="kohost-k7"||o==="kohost"||o==="lg"||o==="lg-webos"||o==="lapi"||o==="lirc"||o==="mews"||o==="mht"||o==="paxton"||o==="pelican-wireless"||o==="power-shades"||o==="rachio"||o==="rebrandly"||o==="relay"||o==="rtsp"||o==="salto"||o==="salto-irn"||o==="samsung"||o==="se"||o==="sendgrid"||o==="sonifi"||o==="stay-n-touch"||o==="storable"||o==="twilio"||o==="unifi"||o==="valcom"||o==="vivotek"||o==="vizio"||o==="wisenet"||o==="cloudflare-images"||o==="cloudflare-stream"||o==="insperia-privacy")){let m={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.offline!==void 0&&typeof r.offline!="boolean"){let o={instancePath:t+"/offline",schemaPath:"#/properties/offline/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.position!==void 0){let o=r.position;if(typeof o!="number"&&o!==null){let m={instancePath:t+"/position",schemaPath:"#/properties/position/type",keyword:"type",params:{type:np.properties.position.type},message:"must be number,null"};e===null?e=[m]:e.push(m),s++}if(typeof o=="number"){if(o>100||isNaN(o)){let m={instancePath:t+"/position",schemaPath:"#/properties/position/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[m]:e.push(m),s++}if(o<0||isNaN(o)){let m={instancePath:t+"/position",schemaPath:"#/properties/position/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let o={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.watts!==void 0){let o=r.watts;if(typeof o=="number"){if(o<0||isNaN(o)){let m={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/watts",schemaPath:"definitions.json#/definitions/watts/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}}if(r.icon!==void 0&&typeof r.icon!="string"){let o={instancePath:t+"/icon",schemaPath:"#/properties/icon/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.modelNumber!==void 0&&typeof r.modelNumber!="string"){let o={instancePath:t+"/modelNumber",schemaPath:"#/properties/modelNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.serialNumber!==void 0&&typeof r.serialNumber!="string"){let o={instancePath:t+"/serialNumber",schemaPath:"#/properties/serialNumber/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.firmwareVersion!==void 0&&typeof r.firmwareVersion!="string"){let o={instancePath:t+"/firmwareVersion",schemaPath:"#/properties/firmwareVersion/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Nt.errors=e,s===0}c(Nt,"validate81");function em(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="room"),r.dimmers===void 0&&(r.dimmers=[]),r.switches===void 0&&(r.switches=[]),r.thermostats===void 0&&(r.thermostats=[]),r.locks===void 0&&(r.locks=[]),r.windowCoverings===void 0&&(r.windowCoverings=[]),r.courtesy===void 0&&(r.courtesy=[]),r.cameras===void 0&&(r.cameras=[]),r.mediaSources===void 0&&(r.mediaSources=[]),r.motionSensors===void 0&&(r.motionSensors=[]),r.alarms===void 0&&(r.alarms=[]),r.id===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[g]:e.push(g),s++}if(r.name===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[g]:e.push(g),s++}for(let g in r)if(!Q.call(sp.properties,g)){let w={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:g},message:"must NOT have additional properties"};e===null?e=[w]:e.push(w),s++}if(r.id!==void 0){let g=r.id;if(typeof g!="string"){let j={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[j]:e.push(j),s++}let w=s,k=s;if(!(g==="global"||g==="system")){let j={};e===null?e=[j]:e.push(j),s++}var a=k===s;if(a){let j={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[j]:e.push(j),s++}else s=w,e!==null&&(w?e.length=w:e=null)}let n=r.type;if(typeof n!="string"){let g={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(n!=="room"){let g={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:sp.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}if(r.name!==void 0&&typeof r.name!="string"){let g={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(r.floor!==void 0&&typeof r.floor!="string"){let g={instancePath:t+"/floor",schemaPath:"#/properties/floor/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}let i=r.dimmers;if(Array.isArray(i)){let g=i.length;for(let w=0;w<g;w++)Pt(i[w],{instancePath:t+"/dimmers/"+w,parentData:i,parentDataProperty:w,rootData:p})||(e=e===null?Pt.errors:e.concat(Pt.errors),s=e.length)}else{let g={instancePath:t+"/dimmers",schemaPath:"#/properties/dimmers/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let o=r.switches;if(Array.isArray(o)){let g=o.length;for(let w=0;w<g;w++)xt(o[w],{instancePath:t+"/switches/"+w,parentData:o,parentDataProperty:w,rootData:p})||(e=e===null?xt.errors:e.concat(xt.errors),s=e.length)}else{let g={instancePath:t+"/switches",schemaPath:"#/properties/switches/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let m=r.thermostats;if(Array.isArray(m)){let g=m.length;for(let w=0;w<g;w++)It(m[w],{instancePath:t+"/thermostats/"+w,parentData:m,parentDataProperty:w,rootData:p})||(e=e===null?It.errors:e.concat(It.errors),s=e.length)}else{let g={instancePath:t+"/thermostats",schemaPath:"#/properties/thermostats/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let l=r.locks;if(Array.isArray(l)){let g=l.length;for(let w=0;w<g;w++)vt(l[w],{instancePath:t+"/locks/"+w,parentData:l,parentDataProperty:w,rootData:p})||(e=e===null?vt.errors:e.concat(vt.errors),s=e.length)}else{let g={instancePath:t+"/locks",schemaPath:"#/properties/locks/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let d=r.windowCoverings;if(Array.isArray(d)){let g=d.length;for(let w=0;w<g;w++)Nt(d[w],{instancePath:t+"/windowCoverings/"+w,parentData:d,parentDataProperty:w,rootData:p})||(e=e===null?Nt.errors:e.concat(Nt.errors),s=e.length)}else{let g={instancePath:t+"/windowCoverings",schemaPath:"#/properties/windowCoverings/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let h=r.courtesy;if(Array.isArray(h)){let g=h.length;for(let w=0;w<g;w++)wt(h[w],{instancePath:t+"/courtesy/"+w,parentData:h,parentDataProperty:w,rootData:p})||(e=e===null?wt.errors:e.concat(wt.errors),s=e.length)}else{let g={instancePath:t+"/courtesy",schemaPath:"#/properties/courtesy/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let y=r.cameras;if(Array.isArray(y)){let g=y.length;for(let w=0;w<g;w++)bt(y[w],{instancePath:t+"/cameras/"+w,parentData:y,parentDataProperty:w,rootData:p})||(e=e===null?bt.errors:e.concat(bt.errors),s=e.length)}else{let g={instancePath:t+"/cameras",schemaPath:"#/properties/cameras/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let b=r.mediaSources;if(Array.isArray(b)){let g=b.length;for(let w=0;w<g;w++)kt(b[w],{instancePath:t+"/mediaSources/"+w,parentData:b,parentDataProperty:w,rootData:p})||(e=e===null?kt.errors:e.concat(kt.errors),s=e.length)}else{let g={instancePath:t+"/mediaSources",schemaPath:"#/properties/mediaSources/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let P=r.motionSensors;if(Array.isArray(P)){let g=P.length;for(let w=0;w<g;w++)jt(P[w],{instancePath:t+"/motionSensors/"+w,parentData:P,parentDataProperty:w,rootData:p})||(e=e===null?jt.errors:e.concat(jt.errors),s=e.length)}else{let g={instancePath:t+"/motionSensors",schemaPath:"#/properties/motionSensors/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let v=r.alarms;if(Array.isArray(v)){let g=v.length;for(let w=0;w<g;w++)gt(v[w],{instancePath:t+"/alarms/"+w,parentData:v,parentDataProperty:w,rootData:p})||(e=e===null?gt.errors:e.concat(gt.errors),s=e.length)}else{let g={instancePath:t+"/alarms",schemaPath:"#/properties/alarms/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}if(r.occupiedAt!==void 0){let g=r.occupiedAt;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/occupiedAt",schemaPath:"definitions.json#/definitions/createdAt/type",keyword:"type",params:{type:me.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/occupiedAt",schemaPath:"definitions.json#/definitions/createdAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}if(r.createdAt!==void 0){let g=r.createdAt;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/type",keyword:"type",params:{type:me.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}if(r.updatedAt!==void 0){let g=r.updatedAt;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/type",keyword:"type",params:{type:Xe.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return em.errors=e,s===0}c(em,"validate66");var tm=sm,ol={$schema:"http://json-schema.org/draft-07/schema",$id:"scene.json",title:"Scene",description:"A room represents a physical space of controllable IoT devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},description:{type:"string"},type:{type:"string",enum:["scene"],default:"scene"},devices:{type:"object",properties:{switches:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"switch.json#/properties/state"}},default:[]}},dimmers:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},level:{$ref:"dimmer.json#/properties/level"}}},default:[]},windowCoverings:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},position:{$ref:"windowCovering.json#/properties/position"}}},default:[]},thermostats:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},hvacMode:{$ref:"thermostat.json#/properties/hvacMode"},setpoints:{$ref:"thermostat.json#/properties/setpoints"},fanMode:{$ref:"thermostat.json#/properties/fanMode"},setpointDelta:{type:"number"}}},default:[]},mediaSources:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},volume:{type:"number",minimum:0,maximum:100},commands:{type:"array",items:{type:"string"}}}}},locks:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"lock.json#/properties/state"},mode:{$ref:"lock.json#/properties/mode"}}}}},additionalProperties:!1},isDefault:{type:"boolean",default:!1},showOnUi:{type:"boolean",default:!0}},required:["id","name","type"],additionalProperties:!1},al={type:"string",enum:["on","off"]},pl={type:["number","null"],minimum:0,maximum:100},ml={type:["number","null"],minimum:0,maximum:100},op={type:["string","null"],enum:["locked","unlocked",null]},ap={type:["string","null"],enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null],description:"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated",default:null};function Xt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(typeof r!="string"){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}if(!(r==="cool"||r==="heat"||r==="auto"||r==="off")){let a={instancePath:t,schemaPath:"#/properties/supportedHvacModes/items/enum",keyword:"enum",params:{allowedValues:Jp.enum},message:"must be equal to one of the allowed values"};e===null?e=[a]:e.push(a),s++}return Xt.errors=e,s===0}c(Xt,"validate91");function Qt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){for(let a in r)if(!(a==="cool"||a==="heat"||a==="auto")){let n={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};e===null?e=[n]:e.push(n),s++}r.cool!==void 0&&(D(r.cool,{instancePath:t+"/cool",parentData:r,parentDataProperty:"cool",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length)),r.heat!==void 0&&(D(r.heat,{instancePath:t+"/heat",parentData:r,parentDataProperty:"heat",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length)),r.auto!==void 0&&(D(r.auto,{instancePath:t+"/auto",parentData:r,parentDataProperty:"auto",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length))}else{let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}return Qt.errors=e,s===0}c(Qt,"validate93");function Jt(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(typeof r!="string"){let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[a]:e.push(a),s++}if(!(r==="auto"||r==="low"||r==="medium"||r==="high"||r==="off"||r==="on")){let a={instancePath:t,schemaPath:"#/properties/supportedFanModes/items/enum",keyword:"enum",params:{allowedValues:_p.enum},message:"must be equal to one of the allowed values"};e===null?e=[a]:e.push(a),s++}return Jt.errors=e,s===0}c(Jt,"validate98");function sm(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="scene"),r.isDefault===void 0&&(r.isDefault=!1),r.showOnUi===void 0&&(r.showOnUi=!0),r.id===void 0){let y={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[y]:e.push(y),s++}if(r.name===void 0){let y={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[y]:e.push(y),s++}if(r.type===void 0){let y={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[y]:e.push(y),s++}for(let y in r)if(!(y==="id"||y==="name"||y==="description"||y==="type"||y==="devices"||y==="isDefault"||y==="showOnUi")){let b={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:y},message:"must NOT have additional properties"};e===null?e=[b]:e.push(b),s++}if(r.id!==void 0){let y=r.id;if(typeof y!="string"){let v={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}let b=s,P=s;if(!(y==="global"||y==="system")){let v={};e===null?e=[v]:e.push(v),s++}var a=P===s;if(a){let v={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[v]:e.push(v),s++}else s=b,e!==null&&(b?e.length=b:e=null)}if(r.name!==void 0&&typeof r.name!="string"){let y={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}if(r.description!==void 0&&typeof r.description!="string"){let y={instancePath:t+"/description",schemaPath:"#/properties/description/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}let h=r.type;if(typeof h!="string"){let y={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}if(h!=="scene"){let y={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ol.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[y]:e.push(y),s++}if(r.devices!==void 0){let y=r.devices;if(y&&typeof y=="object"&&!Array.isArray(y)){y.dimmers===void 0&&(y.dimmers=[]),y.windowCoverings===void 0&&(y.windowCoverings=[]),y.thermostats===void 0&&(y.thermostats=[]);for(let g in y)if(!(g==="switches"||g==="dimmers"||g==="windowCoverings"||g==="thermostats"||g==="mediaSources"||g==="locks")){let w={instancePath:t+"/devices",schemaPath:"#/properties/devices/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:g},message:"must NOT have additional properties"};e===null?e=[w]:e.push(w),s++}if(y.switches!==void 0){let g=y.switches;if(Array.isArray(g)){let w=g.length;for(let k=0;k<w;k++){let j=g[k];if(j&&typeof j=="object"&&!Array.isArray(j)){if(j.id!==void 0){let A=j.id;if(typeof A!="string"){let q={instancePath:t+"/devices/switches/"+k+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}let I=s,N=s;if(!(A==="global"||A==="system")){let q={};e===null?e=[q]:e.push(q),s++}var n=N===s;if(n){let q={instancePath:t+"/devices/switches/"+k+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[q]:e.push(q),s++}else s=I,e!==null&&(I?e.length=I:e=null)}if(j.state!==void 0){let A=j.state;if(typeof A!="string"){let I={instancePath:t+"/devices/switches/"+k+"/state",schemaPath:"switch.json#/properties/state/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[I]:e.push(I),s++}if(!(A==="on"||A==="off")){let I={instancePath:t+"/devices/switches/"+k+"/state",schemaPath:"switch.json#/properties/state/enum",keyword:"enum",params:{allowedValues:al.enum},message:"must be equal to one of the allowed values"};e===null?e=[I]:e.push(I),s++}}}else{let A={instancePath:t+"/devices/switches/"+k,schemaPath:"#/properties/devices/properties/switches/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[A]:e.push(A),s++}}}else{let w={instancePath:t+"/devices/switches",schemaPath:"#/properties/devices/properties/switches/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[w]:e.push(w),s++}}let b=y.dimmers;if(Array.isArray(b)){let g=b.length;for(let w=0;w<g;w++){let k=b[w];if(k&&typeof k=="object"&&!Array.isArray(k)){if(k.id!==void 0){let j=k.id;if(typeof j!="string"){let N={instancePath:t+"/devices/dimmers/"+w+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[N]:e.push(N),s++}let A=s,I=s;if(!(j==="global"||j==="system")){let N={};e===null?e=[N]:e.push(N),s++}var i=I===s;if(i){let N={instancePath:t+"/devices/dimmers/"+w+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[N]:e.push(N),s++}else s=A,e!==null&&(A?e.length=A:e=null)}if(k.level!==void 0){let j=k.level;if(typeof j!="number"&&j!==null){let A={instancePath:t+"/devices/dimmers/"+w+"/level",schemaPath:"dimmer.json#/properties/level/type",keyword:"type",params:{type:pl.type},message:"must be number,null"};e===null?e=[A]:e.push(A),s++}if(typeof j=="number"){if(j>100||isNaN(j)){let A={instancePath:t+"/devices/dimmers/"+w+"/level",schemaPath:"dimmer.json#/properties/level/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[A]:e.push(A),s++}if(j<0||isNaN(j)){let A={instancePath:t+"/devices/dimmers/"+w+"/level",schemaPath:"dimmer.json#/properties/level/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[A]:e.push(A),s++}}}}else{let j={instancePath:t+"/devices/dimmers/"+w,schemaPath:"#/properties/devices/properties/dimmers/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[j]:e.push(j),s++}}}else{let g={instancePath:t+"/devices/dimmers",schemaPath:"#/properties/devices/properties/dimmers/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let P=y.windowCoverings;if(Array.isArray(P)){let g=P.length;for(let w=0;w<g;w++){let k=P[w];if(k&&typeof k=="object"&&!Array.isArray(k)){if(k.id!==void 0){let j=k.id;if(typeof j!="string"){let N={instancePath:t+"/devices/windowCoverings/"+w+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[N]:e.push(N),s++}let A=s,I=s;if(!(j==="global"||j==="system")){let N={};e===null?e=[N]:e.push(N),s++}var o=I===s;if(o){let N={instancePath:t+"/devices/windowCoverings/"+w+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[N]:e.push(N),s++}else s=A,e!==null&&(A?e.length=A:e=null)}if(k.position!==void 0){let j=k.position;if(typeof j!="number"&&j!==null){let A={instancePath:t+"/devices/windowCoverings/"+w+"/position",schemaPath:"windowCovering.json#/properties/position/type",keyword:"type",params:{type:ml.type},message:"must be number,null"};e===null?e=[A]:e.push(A),s++}if(typeof j=="number"){if(j>100||isNaN(j)){let A={instancePath:t+"/devices/windowCoverings/"+w+"/position",schemaPath:"windowCovering.json#/properties/position/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[A]:e.push(A),s++}if(j<0||isNaN(j)){let A={instancePath:t+"/devices/windowCoverings/"+w+"/position",schemaPath:"windowCovering.json#/properties/position/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[A]:e.push(A),s++}}}}else{let j={instancePath:t+"/devices/windowCoverings/"+w,schemaPath:"#/properties/devices/properties/windowCoverings/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[j]:e.push(j),s++}}}else{let g={instancePath:t+"/devices/windowCoverings",schemaPath:"#/properties/devices/properties/windowCoverings/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}let v=y.thermostats;if(Array.isArray(v)){let g=v.length;for(let w=0;w<g;w++){let k=v[w];if(k&&typeof k=="object"&&!Array.isArray(k)){if(k.id!==void 0){let j=k.id;if(typeof j!="string"){let N={instancePath:t+"/devices/thermostats/"+w+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[N]:e.push(N),s++}let A=s,I=s;if(!(j==="global"||j==="system")){let N={};e===null?e=[N]:e.push(N),s++}var m=I===s;if(m){let N={instancePath:t+"/devices/thermostats/"+w+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[N]:e.push(N),s++}else s=A,e!==null&&(A?e.length=A:e=null)}if(k.hvacMode!==void 0&&(Xt(k.hvacMode,{instancePath:t+"/devices/thermostats/"+w+"/hvacMode",parentData:k,parentDataProperty:"hvacMode",rootData:p})||(e=e===null?Xt.errors:e.concat(Xt.errors),s=e.length)),k.setpoints!==void 0&&(Qt(k.setpoints,{instancePath:t+"/devices/thermostats/"+w+"/setpoints",parentData:k,parentDataProperty:"setpoints",rootData:p})||(e=e===null?Qt.errors:e.concat(Qt.errors),s=e.length)),k.fanMode!==void 0&&(Jt(k.fanMode,{instancePath:t+"/devices/thermostats/"+w+"/fanMode",parentData:k,parentDataProperty:"fanMode",rootData:p})||(e=e===null?Jt.errors:e.concat(Jt.errors),s=e.length)),k.setpointDelta!==void 0&&typeof k.setpointDelta!="number"){let j={instancePath:t+"/devices/thermostats/"+w+"/setpointDelta",schemaPath:"#/properties/devices/properties/thermostats/items/properties/setpointDelta/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[j]:e.push(j),s++}}else{let j={instancePath:t+"/devices/thermostats/"+w,schemaPath:"#/properties/devices/properties/thermostats/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[j]:e.push(j),s++}}}else{let g={instancePath:t+"/devices/thermostats",schemaPath:"#/properties/devices/properties/thermostats/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}if(y.mediaSources!==void 0){let g=y.mediaSources;if(Array.isArray(g)){let w=g.length;for(let k=0;k<w;k++){let j=g[k];if(j&&typeof j=="object"&&!Array.isArray(j)){if(j.id!==void 0){let A=j.id;if(typeof A!="string"){let q={instancePath:t+"/devices/mediaSources/"+k+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}let I=s,N=s;if(!(A==="global"||A==="system")){let q={};e===null?e=[q]:e.push(q),s++}var l=N===s;if(l){let q={instancePath:t+"/devices/mediaSources/"+k+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[q]:e.push(q),s++}else s=I,e!==null&&(I?e.length=I:e=null)}if(j.volume!==void 0){let A=j.volume;if(typeof A=="number"){if(A>100||isNaN(A)){let I={instancePath:t+"/devices/mediaSources/"+k+"/volume",schemaPath:"#/properties/devices/properties/mediaSources/items/properties/volume/maximum",keyword:"maximum",params:{comparison:"<=",limit:100},message:"must be <= 100"};e===null?e=[I]:e.push(I),s++}if(A<0||isNaN(A)){let I={instancePath:t+"/devices/mediaSources/"+k+"/volume",schemaPath:"#/properties/devices/properties/mediaSources/items/properties/volume/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[I]:e.push(I),s++}}else{let I={instancePath:t+"/devices/mediaSources/"+k+"/volume",schemaPath:"#/properties/devices/properties/mediaSources/items/properties/volume/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[I]:e.push(I),s++}}if(j.commands!==void 0){let A=j.commands;if(Array.isArray(A)){let I=A.length;for(let N=0;N<I;N++)if(typeof A[N]!="string"){let q={instancePath:t+"/devices/mediaSources/"+k+"/commands/"+N,schemaPath:"#/properties/devices/properties/mediaSources/items/properties/commands/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}}else{let I={instancePath:t+"/devices/mediaSources/"+k+"/commands",schemaPath:"#/properties/devices/properties/mediaSources/items/properties/commands/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[I]:e.push(I),s++}}}else{let A={instancePath:t+"/devices/mediaSources/"+k,schemaPath:"#/properties/devices/properties/mediaSources/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[A]:e.push(A),s++}}}else{let w={instancePath:t+"/devices/mediaSources",schemaPath:"#/properties/devices/properties/mediaSources/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[w]:e.push(w),s++}}if(y.locks!==void 0){let g=y.locks;if(Array.isArray(g)){let w=g.length;for(let k=0;k<w;k++){let j=g[k];if(j&&typeof j=="object"&&!Array.isArray(j)){if(j.id!==void 0){let A=j.id;if(typeof A!="string"){let q={instancePath:t+"/devices/locks/"+k+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}let I=s,N=s;if(!(A==="global"||A==="system")){let q={};e===null?e=[q]:e.push(q),s++}var d=N===s;if(d){let q={instancePath:t+"/devices/locks/"+k+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[q]:e.push(q),s++}else s=I,e!==null&&(I?e.length=I:e=null)}if(j.state!==void 0){let A=j.state;if(typeof A!="string"&&A!==null){let I={instancePath:t+"/devices/locks/"+k+"/state",schemaPath:"lock.json#/properties/state/type",keyword:"type",params:{type:op.type},message:"must be string,null"};e===null?e=[I]:e.push(I),s++}if(!(A==="locked"||A==="unlocked"||A===null)){let I={instancePath:t+"/devices/locks/"+k+"/state",schemaPath:"lock.json#/properties/state/enum",keyword:"enum",params:{allowedValues:op.enum},message:"must be equal to one of the allowed values"};e===null?e=[I]:e.push(I),s++}}if(j.mode!==void 0){let A=j.mode;if(typeof A!="string"&&A!==null){let I={instancePath:t+"/devices/locks/"+k+"/mode",schemaPath:"lock.json#/properties/mode/type",keyword:"type",params:{type:ap.type},message:"must be string,null"};e===null?e=[I]:e.push(I),s++}if(!(A==="normal"||A==="autoLock"||A==="emergencyOpen"||A==="emergencyClose"||A==="holdOpen"||A==="lockdown"||A===null)){let I={instancePath:t+"/devices/locks/"+k+"/mode",schemaPath:"lock.json#/properties/mode/enum",keyword:"enum",params:{allowedValues:ap.enum},message:"must be equal to one of the allowed values"};e===null?e=[I]:e.push(I),s++}}}else{let A={instancePath:t+"/devices/locks/"+k,schemaPath:"#/properties/devices/properties/locks/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[A]:e.push(A),s++}}}else{let w={instancePath:t+"/devices/locks",schemaPath:"#/properties/devices/properties/locks/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[w]:e.push(w),s++}}}else{let b={instancePath:t+"/devices",schemaPath:"#/properties/devices/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[b]:e.push(b),s++}}if(typeof r.isDefault!="boolean"){let y={instancePath:t+"/isDefault",schemaPath:"#/properties/isDefault/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[y]:e.push(y),s++}if(typeof r.showOnUi!="boolean"){let y={instancePath:t+"/showOnUi",schemaPath:"#/properties/showOnUi/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[y]:e.push(y),s++}}else{let h={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}return sm.errors=e,s===0}c(sm,"validate90");var rm=im,ll={$schema:"http://json-schema.org/draft-07/schema",$id:"shortLink.json",title:"Short Link",type:"object",required:["destination","url"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"shortLink",enum:["shortLink"]},title:{type:"string"},destination:{type:"string",format:"uri"},url:{type:"string",format:"uri"},systemId:{$ref:"definitions.json#/definitions/systemId"}}};function im(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="shortLink"),r.destination===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"destination"},message:"must have required property 'destination'"};e===null?e=[i]:e.push(i),s++}if(r.url===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"url"},message:"must have required property 'url'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="shortLink"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ll.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.title!==void 0&&typeof r.title!="string"){let i={instancePath:t+"/title",schemaPath:"#/properties/title/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.destination!==void 0){let i=r.destination;if(typeof i=="string"){if(!ee(i)){let o={instancePath:t+"/destination",schemaPath:"#/properties/destination/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/destination",schemaPath:"#/properties/destination/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.url!==void 0){let i=r.url;if(typeof i=="string"){if(!ee(i)){let o={instancePath:t+"/url",schemaPath:"#/properties/url/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/url",schemaPath:"#/properties/url/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return im.errors=e,s===0}c(im,"validate100");var nm=om,pp={$schema:"http://json-schema.org/draft-07/schema",$id:"smsMessage.json",title:"Sms Message",type:"object",required:["to","from","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"smsMessage",enum:["smsMessage"]},to:{type:"string",pattern:"^\\+[0-9]{1,14}$"},from:{type:"string",pattern:"^\\+[0-9]{1,14}$"},media:{type:"string",format:"uri"},status:{type:"string",enum:["queued","accepted","sending","sent","failed","delivered","undelivered","receiving","received","read"]},body:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},zt=new RegExp("^\\+[0-9]{1,14}$","u");function om(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="smsMessage"),r.to===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"to"},message:"must have required property 'to'"};e===null?e=[i]:e.push(i),s++}if(r.from===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"from"},message:"must have required property 'from'"};e===null?e=[i]:e.push(i),s++}if(r.status===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="smsMessage"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:pp.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.to!==void 0){let i=r.to;if(typeof i=="string"){if(!zt.test(i)){let o={instancePath:t+"/to",schemaPath:"#/properties/to/pattern",keyword:"pattern",params:{pattern:"^\\+[0-9]{1,14}$"},message:'must match pattern "^\\+[0-9]{1,14}$"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/to",schemaPath:"#/properties/to/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.from!==void 0){let i=r.from;if(typeof i=="string"){if(!zt.test(i)){let o={instancePath:t+"/from",schemaPath:"#/properties/from/pattern",keyword:"pattern",params:{pattern:"^\\+[0-9]{1,14}$"},message:'must match pattern "^\\+[0-9]{1,14}$"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/from",schemaPath:"#/properties/from/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.media!==void 0){let i=r.media;if(typeof i=="string"){if(!ee(i)){let o={instancePath:t+"/media",schemaPath:"#/properties/media/format",keyword:"format",params:{format:"uri"},message:'must match format "uri"'};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/media",schemaPath:"#/properties/media/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.status!==void 0){let i=r.status;if(typeof i!="string"){let o={instancePath:t+"/status",schemaPath:"#/properties/status/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="queued"||i==="accepted"||i==="sending"||i==="sent"||i==="failed"||i==="delivered"||i==="undelivered"||i==="receiving"||i==="received"||i==="read")){let o={instancePath:t+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues:pp.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.body!==void 0&&typeof r.body!="string"){let i={instancePath:t+"/body",schemaPath:"#/properties/body/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.driver!==void 0&&typeof r.driver!="string"){let i={instancePath:t+"/driver",schemaPath:"#/properties/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.appData!==void 0){let i=r.appData;if(!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/appData",schemaPath:"#/properties/appData/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.createdAt!==void 0){let i=r.createdAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.updatedAt!==void 0){let i=r.updatedAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return om.errors=e,s===0}c(om,"validate101");var am=pm,pe={$schema:"http://json-schema.org/draft-07/schema",$id:"space.json",title:"Space",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",minLength:1},type:{type:"string",default:"space",enum:["space"]},discriminator:{type:"string",enum:["classRoom","hotelRoom","office","building","commonArea","conferenceRoom","lobby","gym","pool","restaurant","unit"]},driver:{$ref:"definitions.json#/definitions/driver"},category:{type:"string",description:"This is the category id"},rooms:{type:"array",items:{type:"string"}},subGroups:{type:"array",items:{type:"string"}},occupied:{type:"boolean"},inUse:{type:"boolean"},eco:{type:"object",additionalProperties:!1,default:{active:!1,allowed:!1,previousState:null},properties:{active:{type:"boolean",default:!1},activatedAt:{type:["string","object"],format:"date-time"},allowed:{type:"boolean",default:!1},previousState:{type:["object","null"],properties:{thermostats:{type:"object",patternProperties:{".*":{type:"object",properties:{setpoints:{$ref:"thermostat.json#/properties/setpoints"}}}}}},additionalProperties:!1}}},features:{type:"array",items:{type:"string",enum:["pet"]}},maximumOccupancy:{type:"number",minimum:1},housekeepingStatus:{type:"string",enum:["clean","dirty","inspected","pickup"]},serviceStatus:{type:"string",enum:["inService","outOfOrder","outOfService"]},systemId:{$ref:"definitions.json#/definitions/systemId"}},if:{properties:{type:{const:"hotelRoom"}}},then:{required:["name","type","features","maximumOccupancy","housekeepingStatus","serviceStatus"],properties:{features:{default:[]},maximumOccupancy:{default:2},housekeepingStatus:{default:"dirty"},serviceStatus:{default:"inService"}}},else:{required:["name","type"]}},ul=new RegExp(".*","u");function _t(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){for(let a in r)if(!(a==="cool"||a==="heat"||a==="auto")){let n={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:a},message:"must NOT have additional properties"};e===null?e=[n]:e.push(n),s++}r.cool!==void 0&&(D(r.cool,{instancePath:t+"/cool",parentData:r,parentDataProperty:"cool",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length)),r.heat!==void 0&&(D(r.heat,{instancePath:t+"/heat",parentData:r,parentDataProperty:"heat",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length)),r.auto!==void 0&&(D(r.auto,{instancePath:t+"/auto",parentData:r,parentDataProperty:"auto",rootData:p})||(e=e===null?D.errors:e.concat(D.errors),s=e.length))}else{let a={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[a]:e.push(a),s++}return _t.errors=e,s===0}c(_t,"validate103");function pm(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0,a=s,n=!0,i=s;if(r&&typeof r=="object"&&!Array.isArray(r)&&r.type!==void 0&&r.type!=="hotelRoom"){let d={};e===null?e=[d]:e.push(d),s++}var o=i===s;s=a,e!==null&&(a?e.length=a:e=null);let m;if(o){let d=s;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.features===void 0&&(r.features=[]),r.maximumOccupancy===void 0&&(r.maximumOccupancy=2),r.housekeepingStatus===void 0&&(r.housekeepingStatus="dirty"),r.serviceStatus===void 0&&(r.serviceStatus="inService"),r.name===void 0){let y={instancePath:t,schemaPath:"#/then/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[y]:e.push(y),s++}if(r.type===void 0){let y={instancePath:t,schemaPath:"#/then/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[y]:e.push(y),s++}if(r.features===void 0){let y={instancePath:t,schemaPath:"#/then/required",keyword:"required",params:{missingProperty:"features"},message:"must have required property 'features'"};e===null?e=[y]:e.push(y),s++}if(r.maximumOccupancy===void 0){let y={instancePath:t,schemaPath:"#/then/required",keyword:"required",params:{missingProperty:"maximumOccupancy"},message:"must have required property 'maximumOccupancy'"};e===null?e=[y]:e.push(y),s++}if(r.housekeepingStatus===void 0){let y={instancePath:t,schemaPath:"#/then/required",keyword:"required",params:{missingProperty:"housekeepingStatus"},message:"must have required property 'housekeepingStatus'"};e===null?e=[y]:e.push(y),s++}if(r.serviceStatus===void 0){let y={instancePath:t,schemaPath:"#/then/required",keyword:"required",params:{missingProperty:"serviceStatus"},message:"must have required property 'serviceStatus'"};e===null?e=[y]:e.push(y),s++}}var o=d===s;n=o,m="then"}else{let d=s;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.name===void 0){let y={instancePath:t,schemaPath:"#/else/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[y]:e.push(y),s++}if(r.type===void 0){let y={instancePath:t,schemaPath:"#/else/required",keyword:"required",params:{missingProperty:"type"},message:"must have required property 'type'"};e===null?e=[y]:e.push(y),s++}}var o=d===s;n=o,m="else"}if(!n){let d={instancePath:t,schemaPath:"#/if",keyword:"if",params:{failingKeyword:m},message:'must match "'+m+'" schema'};e===null?e=[d]:e.push(d),s++}if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="space"),r.eco===void 0&&(r.eco={active:!1,allowed:!1,previousState:null}),r.id!==void 0){let y=r.id;if(typeof y!="string"){let v={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}let b=s,P=s;if(!(y==="global"||y==="system")){let v={};e===null?e=[v]:e.push(v),s++}var l=P===s;if(l){let v={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[v]:e.push(v),s++}else s=b,e!==null&&(b?e.length=b:e=null)}if(r.name!==void 0){let y=r.name;if(typeof y=="string"){if(F(y)<1){let b={instancePath:t+"/name",schemaPath:"#/properties/name/minLength",keyword:"minLength",params:{limit:1},message:"must NOT have fewer than 1 characters"};e===null?e=[b]:e.push(b),s++}}else{let b={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}}let d=r.type;if(typeof d!="string"){let y={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}if(d!=="space"){let y={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:pe.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[y]:e.push(y),s++}if(r.discriminator!==void 0){let y=r.discriminator;if(typeof y!="string"){let b={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(!(y==="classRoom"||y==="hotelRoom"||y==="office"||y==="building"||y==="commonArea"||y==="conferenceRoom"||y==="lobby"||y==="gym"||y==="pool"||y==="restaurant"||y==="unit")){let b={instancePath:t+"/discriminator",schemaPath:"#/properties/discriminator/enum",keyword:"enum",params:{allowedValues:pe.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}if(r.driver!==void 0){let y=r.driver;if(typeof y!="string"){let b={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(!(y==="adlink"||y==="aws-kinesis"||y==="butler"||y==="crestron"||y==="dell"||y==="dmp"||y==="doorbird"||y==="dormakaba"||y==="dsc"||y==="ecobee"||y==="epson"||y==="geovision-rs"||y==="geovision-as-manager"||y==="honeywell-vista"||y==="igor"||y==="inncom"||y==="isapi"||y==="kohost-k7"||y==="kohost"||y==="lg"||y==="lg-webos"||y==="lapi"||y==="lirc"||y==="mews"||y==="mht"||y==="paxton"||y==="pelican-wireless"||y==="power-shades"||y==="rachio"||y==="rebrandly"||y==="relay"||y==="rtsp"||y==="salto"||y==="salto-irn"||y==="samsung"||y==="se"||y==="sendgrid"||y==="sonifi"||y==="stay-n-touch"||y==="storable"||y==="twilio"||y==="unifi"||y==="valcom"||y==="vivotek"||y==="vizio"||y==="wisenet"||y==="cloudflare-images"||y==="cloudflare-stream"||y==="insperia-privacy")){let b={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}if(r.category!==void 0&&typeof r.category!="string"){let y={instancePath:t+"/category",schemaPath:"#/properties/category/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}if(r.rooms!==void 0){let y=r.rooms;if(Array.isArray(y)){let b=y.length;for(let P=0;P<b;P++)if(typeof y[P]!="string"){let v={instancePath:t+"/rooms/"+P,schemaPath:"#/properties/rooms/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}}else{let b={instancePath:t+"/rooms",schemaPath:"#/properties/rooms/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[b]:e.push(b),s++}}if(r.subGroups!==void 0){let y=r.subGroups;if(Array.isArray(y)){let b=y.length;for(let P=0;P<b;P++)if(typeof y[P]!="string"){let v={instancePath:t+"/subGroups/"+P,schemaPath:"#/properties/subGroups/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}}else{let b={instancePath:t+"/subGroups",schemaPath:"#/properties/subGroups/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[b]:e.push(b),s++}}if(r.occupied!==void 0&&typeof r.occupied!="boolean"){let y={instancePath:t+"/occupied",schemaPath:"#/properties/occupied/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[y]:e.push(y),s++}if(r.inUse!==void 0&&typeof r.inUse!="boolean"){let y={instancePath:t+"/inUse",schemaPath:"#/properties/inUse/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[y]:e.push(y),s++}let h=r.eco;if(h&&typeof h=="object"&&!Array.isArray(h)){h.active===void 0&&(h.active=!1),h.allowed===void 0&&(h.allowed=!1);for(let y in h)if(!(y==="active"||y==="activatedAt"||y==="allowed"||y==="previousState")){let b={instancePath:t+"/eco",schemaPath:"#/properties/eco/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:y},message:"must NOT have additional properties"};e===null?e=[b]:e.push(b),s++}if(typeof h.active!="boolean"){let y={instancePath:t+"/eco/active",schemaPath:"#/properties/eco/properties/active/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[y]:e.push(y),s++}if(h.activatedAt!==void 0){let y=h.activatedAt;if(typeof y!="string"&&!(y&&typeof y=="object"&&!Array.isArray(y))){let b={instancePath:t+"/eco/activatedAt",schemaPath:"#/properties/eco/properties/activatedAt/type",keyword:"type",params:{type:pe.properties.eco.properties.activatedAt.type},message:"must be string,object"};e===null?e=[b]:e.push(b),s++}if(typeof y=="string"&&!M.validate(y)){let b={instancePath:t+"/eco/activatedAt",schemaPath:"#/properties/eco/properties/activatedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[b]:e.push(b),s++}}if(typeof h.allowed!="boolean"){let y={instancePath:t+"/eco/allowed",schemaPath:"#/properties/eco/properties/allowed/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[y]:e.push(y),s++}if(h.previousState!==void 0){let y=h.previousState;if(!(y&&typeof y=="object"&&!Array.isArray(y))&&y!==null){let b={instancePath:t+"/eco/previousState",schemaPath:"#/properties/eco/properties/previousState/type",keyword:"type",params:{type:pe.properties.eco.properties.previousState.type},message:"must be object,null"};e===null?e=[b]:e.push(b),s++}if(y&&typeof y=="object"&&!Array.isArray(y)){for(let b in y)if(b!=="thermostats"){let P={instancePath:t+"/eco/previousState",schemaPath:"#/properties/eco/properties/previousState/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:b},message:"must NOT have additional properties"};e===null?e=[P]:e.push(P),s++}if(y.thermostats!==void 0){let b=y.thermostats;if(b&&typeof b=="object"&&!Array.isArray(b)){for(let P in b)if(ul.test(P)){let v=b[P];if(v&&typeof v=="object"&&!Array.isArray(v))v.setpoints!==void 0&&(_t(v.setpoints,{instancePath:t+"/eco/previousState/thermostats/"+P.replace(/~/g,"~0").replace(/\//g,"~1")+"/setpoints",parentData:v,parentDataProperty:"setpoints",rootData:p})||(e=e===null?_t.errors:e.concat(_t.errors),s=e.length));else{let g={instancePath:t+"/eco/previousState/thermostats/"+P.replace(/~/g,"~0").replace(/\//g,"~1"),schemaPath:"#/properties/eco/properties/previousState/properties/thermostats/patternProperties/.*/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[g]:e.push(g),s++}}}else{let P={instancePath:t+"/eco/previousState/thermostats",schemaPath:"#/properties/eco/properties/previousState/properties/thermostats/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[P]:e.push(P),s++}}}}}else{let y={instancePath:t+"/eco",schemaPath:"#/properties/eco/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[y]:e.push(y),s++}if(r.features!==void 0){let y=r.features;if(Array.isArray(y)){let b=y.length;for(let P=0;P<b;P++){let v=y[P];if(typeof v!="string"){let g={instancePath:t+"/features/"+P,schemaPath:"#/properties/features/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(v!=="pet"){let g={instancePath:t+"/features/"+P,schemaPath:"#/properties/features/items/enum",keyword:"enum",params:{allowedValues:pe.properties.features.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}}}else{let b={instancePath:t+"/features",schemaPath:"#/properties/features/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[b]:e.push(b),s++}}if(r.maximumOccupancy!==void 0){let y=r.maximumOccupancy;if(typeof y=="number"){if(y<1||isNaN(y)){let b={instancePath:t+"/maximumOccupancy",schemaPath:"#/properties/maximumOccupancy/minimum",keyword:"minimum",params:{comparison:">=",limit:1},message:"must be >= 1"};e===null?e=[b]:e.push(b),s++}}else{let b={instancePath:t+"/maximumOccupancy",schemaPath:"#/properties/maximumOccupancy/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[b]:e.push(b),s++}}if(r.housekeepingStatus!==void 0){let y=r.housekeepingStatus;if(typeof y!="string"){let b={instancePath:t+"/housekeepingStatus",schemaPath:"#/properties/housekeepingStatus/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(!(y==="clean"||y==="dirty"||y==="inspected"||y==="pickup")){let b={instancePath:t+"/housekeepingStatus",schemaPath:"#/properties/housekeepingStatus/enum",keyword:"enum",params:{allowedValues:pe.properties.housekeepingStatus.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}if(r.serviceStatus!==void 0){let y=r.serviceStatus;if(typeof y!="string"){let b={instancePath:t+"/serviceStatus",schemaPath:"#/properties/serviceStatus/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(!(y==="inService"||y==="outOfOrder"||y==="outOfService")){let b={instancePath:t+"/serviceStatus",schemaPath:"#/properties/serviceStatus/enum",keyword:"enum",params:{allowedValues:pe.properties.serviceStatus.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let y={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}else{let d={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}return pm.errors=e,s===0}c(pm,"validate102");var mm=xt,lm=um,ct={$schema:"http://json-schema.org/draft-07/schema",$id:"systemUser.json",title:"System User",description:"A system user is a user that originated from an external 3rd party system.",type:"object",required:["firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"systemUser",enum:["systemUser"]},driver:{$ref:"definitions.json#/definitions/driver"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{type:"string"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},roles:{type:"array",items:{type:"string",enum:["Guest","User","Manager","Maintenance","Administrator","SuperAdmin"]}},nationality:{type:"string",minLength:2,maxLength:2},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systemId:{$ref:"definitions.json#/definitions/systemId"}}},jr=/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i;function es(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(Array.isArray(r)){let n=r.length;for(let i=0;i<n;i++){let o=r[i];if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.id!==void 0){let m=o.id;if(typeof m!="string"){let h={instancePath:t+"/"+i+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}let l=s,d=s;if(!(m==="global"||m==="system")){let h={};e===null?e=[h]:e.push(h),s++}var a=d===s;if(a){let h={instancePath:t+"/"+i+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[h]:e.push(h),s++}else s=l,e!==null&&(l?e.length=l:e=null)}if(o.name!==void 0&&typeof o.name!="string"){let m={instancePath:t+"/"+i+"/name",schemaPath:"#/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.date!==void 0){let m=o.date;if(typeof m=="string"){if(!M.validate(m)){let l={instancePath:t+"/"+i+"/date",schemaPath:"#/items/properties/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/"+i+"/date",schemaPath:"#/items/properties/date/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}if(o.price!==void 0&&typeof o.price!="number"){let m={instancePath:t+"/"+i+"/price",schemaPath:"#/items/properties/price/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}if(o.tax!==void 0){let m=o.tax;if(typeof m!="number"&&m!==null){let l={instancePath:t+"/"+i+"/tax",schemaPath:"#/items/properties/tax/type",keyword:"type",params:{type:kr.items.properties.tax.type},message:"must be number,null"};e===null?e=[l]:e.push(l),s++}}}else{let m={instancePath:t+"/"+i,schemaPath:"#/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[n]:e.push(n),s++}return es.errors=e,s===0}c(es,"validate112");function um(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="systemUser"),r.firstName===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"firstName"},message:"must have required property 'firstName'"};e===null?e=[i]:e.push(i),s++}if(r.lastName===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"lastName"},message:"must have required property 'lastName'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="systemUser"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ct.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.driver!==void 0){let i=r.driver;if(typeof i!="string"){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="adlink"||i==="aws-kinesis"||i==="butler"||i==="crestron"||i==="dell"||i==="dmp"||i==="doorbird"||i==="dormakaba"||i==="dsc"||i==="ecobee"||i==="epson"||i==="geovision-rs"||i==="geovision-as-manager"||i==="honeywell-vista"||i==="igor"||i==="inncom"||i==="isapi"||i==="kohost-k7"||i==="kohost"||i==="lg"||i==="lg-webos"||i==="lapi"||i==="lirc"||i==="mews"||i==="mht"||i==="paxton"||i==="pelican-wireless"||i==="power-shades"||i==="rachio"||i==="rebrandly"||i==="relay"||i==="rtsp"||i==="salto"||i==="salto-irn"||i==="samsung"||i==="se"||i==="sendgrid"||i==="sonifi"||i==="stay-n-touch"||i==="storable"||i==="twilio"||i==="unifi"||i==="valcom"||i==="vivotek"||i==="vizio"||i==="wisenet"||i==="cloudflare-images"||i==="cloudflare-stream"||i==="insperia-privacy")){let o={instancePath:t+"/driver",schemaPath:"definitions.json#/definitions/driver/enum",keyword:"enum",params:{allowedValues:T.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.firstName!==void 0&&typeof r.firstName!="string"){let i={instancePath:t+"/firstName",schemaPath:"#/properties/firstName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.lastName!==void 0&&typeof r.lastName!="string"){let i={instancePath:t+"/lastName",schemaPath:"#/properties/lastName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.phone!==void 0){let i=r.phone;if(typeof i!="string"&&i!==null){let o={instancePath:t+"/phone",schemaPath:"#/properties/phone/type",keyword:"type",params:{type:ct.properties.phone.type},message:"must be string,null"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!zt.test(i)){let o={instancePath:t+"/phone",schemaPath:"#/properties/phone/pattern",keyword:"pattern",params:{pattern:"^\\+[0-9]{1,14}$"},message:'must match pattern "^\\+[0-9]{1,14}$"'};e===null?e=[o]:e.push(o),s++}}if(r.email!==void 0){let i=r.email;if(typeof i!="string"&&i!==null){let o={instancePath:t+"/email",schemaPath:"#/properties/email/type",keyword:"type",params:{type:ct.properties.email.type},message:"must be string,null"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!jr.test(i)){let o={instancePath:t+"/email",schemaPath:"#/properties/email/format",keyword:"format",params:{format:"email"},message:'must match format "email"'};e===null?e=[o]:e.push(o),s++}}if(r.address!==void 0){let i=r.address;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.id!==void 0&&typeof i.id!="string"){let o={instancePath:t+"/address/id",schemaPath:"definitions.json#/definitions/address/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line1!==void 0&&typeof i.line1!="string"){let o={instancePath:t+"/address/line1",schemaPath:"definitions.json#/definitions/address/properties/line1/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line2!==void 0&&typeof i.line2!="string"){let o={instancePath:t+"/address/line2",schemaPath:"definitions.json#/definitions/address/properties/line2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line3!==void 0&&typeof i.line3!="string"){let o={instancePath:t+"/address/line3",schemaPath:"definitions.json#/definitions/address/properties/line3/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.city!==void 0&&typeof i.city!="string"){let o={instancePath:t+"/address/city",schemaPath:"definitions.json#/definitions/address/properties/city/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.state!==void 0&&typeof i.state!="string"){let o={instancePath:t+"/address/state",schemaPath:"definitions.json#/definitions/address/properties/state/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.postalCode!==void 0&&typeof i.postalCode!="string"){let o={instancePath:t+"/address/postalCode",schemaPath:"definitions.json#/definitions/address/properties/postalCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.countryCode!==void 0){let o=i.countryCode;if(typeof o=="string"){if(F(o)>2){let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/maxLength",keyword:"maxLength",params:{limit:2},message:"must NOT have more than 2 characters"};e===null?e=[m]:e.push(m),s++}if(F(o)<2){let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/minLength",keyword:"minLength",params:{limit:2},message:"must NOT have fewer than 2 characters"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}}}else{let o={instancePath:t+"/address",schemaPath:"definitions.json#/definitions/address/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.photo!==void 0&&typeof r.photo!="string"){let i={instancePath:t+"/photo",schemaPath:"#/properties/photo/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.jobTitle!==void 0&&typeof r.jobTitle!="string"){let i={instancePath:t+"/jobTitle",schemaPath:"#/properties/jobTitle/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.dob!==void 0&&typeof r.dob!="string"){let i={instancePath:t+"/dob",schemaPath:"#/properties/dob/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.gender!==void 0){let i=r.gender;if(typeof i!="string"){let o={instancePath:t+"/gender",schemaPath:"#/properties/gender/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(!(i==="male"||i==="female")){let o={instancePath:t+"/gender",schemaPath:"#/properties/gender/enum",keyword:"enum",params:{allowedValues:ct.properties.gender.enum},message:"must be equal to one of the allowed values"};e===null?e=[o]:e.push(o),s++}}if(r.roles!==void 0){let i=r.roles;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++){let l=i[m];if(typeof l!="string"){let d={instancePath:t+"/roles/"+m,schemaPath:"#/properties/roles/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(!(l==="Guest"||l==="User"||l==="Manager"||l==="Maintenance"||l==="Administrator"||l==="SuperAdmin")){let d={instancePath:t+"/roles/"+m,schemaPath:"#/properties/roles/items/enum",keyword:"enum",params:{allowedValues:ct.properties.roles.items.enum},message:"must be equal to one of the allowed values"};e===null?e=[d]:e.push(d),s++}}}else{let o={instancePath:t+"/roles",schemaPath:"#/properties/roles/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.nationality!==void 0){let i=r.nationality;if(typeof i=="string"){if(F(i)>2){let o={instancePath:t+"/nationality",schemaPath:"#/properties/nationality/maxLength",keyword:"maxLength",params:{limit:2},message:"must NOT have more than 2 characters"};e===null?e=[o]:e.push(o),s++}if(F(i)<2){let o={instancePath:t+"/nationality",schemaPath:"#/properties/nationality/minLength",keyword:"minLength",params:{limit:2},message:"must NOT have fewer than 2 characters"};e===null?e=[o]:e.push(o),s++}}else{let o={instancePath:t+"/nationality",schemaPath:"#/properties/nationality/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}}if(r.notes!==void 0){let i=r.notes;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++)if(typeof i[m]!="string"){let l={instancePath:t+"/notes/"+m,schemaPath:"#/properties/notes/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}else{let o={instancePath:t+"/notes",schemaPath:"#/properties/notes/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.files!==void 0){let i=r.files;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++)E(i[m],{instancePath:t+"/files/"+m,parentData:i,parentDataProperty:m,rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length)}else{let o={instancePath:t+"/files",schemaPath:"#/properties/files/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.identifications!==void 0){let i=r.identifications;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++)re(i[m],{instancePath:t+"/identifications/"+m,parentData:i,parentDataProperty:m,rootData:p})||(e=e===null?re.errors:e.concat(re.errors),s=e.length)}else{let o={instancePath:t+"/identifications",schemaPath:"#/properties/identifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.payments!==void 0){let i=r.payments;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++)ie(i[m],{instancePath:t+"/payments/"+m,parentData:i,parentDataProperty:m,rootData:p})||(e=e===null?ie.errors:e.concat(ie.errors),s=e.length)}else{let o={instancePath:t+"/payments",schemaPath:"#/properties/payments/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}if(r.revenue!==void 0&&(es(r.revenue,{instancePath:t+"/revenue",parentData:r,parentDataProperty:"revenue",rootData:p})||(e=e===null?es.errors:e.concat(es.errors),s=e.length)),r.createdAt!==void 0){let i=r.createdAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/type",keyword:"type",params:{type:me.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.updatedAt!==void 0){let i=r.updatedAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/type",keyword:"type",params:{type:Xe.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.systemId!==void 0&&typeof r.systemId!="string"){let i={instancePath:t+"/systemId",schemaPath:"definitions.json#/definitions/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return um.errors=e,s===0}c(um,"validate108");var dm=It,fm=cm,yt={$schema:"http://json-schema.org/draft-07/schema",$id:"ticket.json",title:"Ticket",description:"A ticket is a request from a user.",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["ticket"],default:"ticket"},number:{type:"string"},issueId:{type:"string"},conversation:{type:"array",default:[],items:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},userId:{type:"string"},userName:{type:"string"},vendorId:{type:"string"},vendorName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"},timestamp:{$ref:"definitions.json#/definitions/createdAt"},body:{type:"string"},readBy:{type:"array",default:[],items:{type:"string"}},media:{anyOf:[{$ref:"mediaFile.json"},{type:"null"}]}},anyOf:[{required:["id","userId","timestamp","body"]},{required:["id","systemId","timestamp","body"]},{required:["id","vendorId","timestamp","body"]}]}},subject:{type:"string"},openedBy:{type:"object",properties:{userId:{type:"string"},systemId:{type:"string"}}},requester:{type:"object",properties:{systemId:{type:"string"},systemName:{type:"string"},systemPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},deviceId:{type:"string"},roomId:{type:"string"},reservationId:{type:"string"},spaceId:{type:"string"},spaceName:{type:"string"}}},assignedTo:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},vendorId:{type:"string"},vendorName:{type:"string"},vendorPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]}}},status:{type:"string",enum:["open","pending","solved","closed"],default:"open"},priority:{type:"string",enum:["low","normal","high"],default:"normal"},tags:{type:"array",default:[],items:{type:"string"}},department:{type:"string"},rating:{type:"number",minimum:0,maximum:5},ratingComment:{type:"string"},tipAmount:{type:"string"},autoCloseAt:{$ref:"definitions.json#/definitions/date"},scheduleDate:{$ref:"definitions.json#/definitions/date"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},solvedAt:{$ref:"definitions.json#/definitions/date"},closedAt:{$ref:"definitions.json#/definitions/date"}},required:["id","conversation","requester","status","tags","createdAt","updatedAt"],additionalProperties:!1};function cm(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="ticket"),r.conversation===void 0&&(r.conversation=[]),r.status===void 0&&(r.status="open"),r.priority===void 0&&(r.priority="normal"),r.tags===void 0&&(r.tags=[]),r.id===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[g]:e.push(g),s++}if(r.conversation===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"conversation"},message:"must have required property 'conversation'"};e===null?e=[g]:e.push(g),s++}if(r.requester===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"requester"},message:"must have required property 'requester'"};e===null?e=[g]:e.push(g),s++}if(r.status===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"status"},message:"must have required property 'status'"};e===null?e=[g]:e.push(g),s++}if(r.tags===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"tags"},message:"must have required property 'tags'"};e===null?e=[g]:e.push(g),s++}if(r.createdAt===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"createdAt"},message:"must have required property 'createdAt'"};e===null?e=[g]:e.push(g),s++}if(r.updatedAt===void 0){let g={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"updatedAt"},message:"must have required property 'updatedAt'"};e===null?e=[g]:e.push(g),s++}for(let g in r)if(!Q.call(yt.properties,g)){let w={instancePath:t,schemaPath:"#/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:g},message:"must NOT have additional properties"};e===null?e=[w]:e.push(w),s++}if(r.id!==void 0){let g=r.id;if(typeof g!="string"){let j={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[j]:e.push(j),s++}let w=s,k=s;if(!(g==="global"||g==="system")){let j={};e===null?e=[j]:e.push(j),s++}var a=k===s;if(a){let j={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[j]:e.push(j),s++}else s=w,e!==null&&(w?e.length=w:e=null)}let h=r.type;if(typeof h!="string"){let g={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(h!=="ticket"){let g={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:yt.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}if(r.number!==void 0&&typeof r.number!="string"){let g={instancePath:t+"/number",schemaPath:"#/properties/number/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(r.issueId!==void 0&&typeof r.issueId!="string"){let g={instancePath:t+"/issueId",schemaPath:"#/properties/issueId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}let y=r.conversation;if(Array.isArray(y)){let g=y.length;for(let w=0;w<g;w++){let k=y[w],j=s,A=!1,I=s;if(k&&typeof k=="object"&&!Array.isArray(k)){if(k.id===void 0){let N={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/0/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[N]:e.push(N),s++}if(k.userId===void 0){let N={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/0/required",keyword:"required",params:{missingProperty:"userId"},message:"must have required property 'userId'"};e===null?e=[N]:e.push(N),s++}if(k.timestamp===void 0){let N={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/0/required",keyword:"required",params:{missingProperty:"timestamp"},message:"must have required property 'timestamp'"};e===null?e=[N]:e.push(N),s++}if(k.body===void 0){let N={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/0/required",keyword:"required",params:{missingProperty:"body"},message:"must have required property 'body'"};e===null?e=[N]:e.push(N),s++}}var n=I===s;if(A=A||n,!A){let N=s;if(k&&typeof k=="object"&&!Array.isArray(k)){if(k.id===void 0){let S={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/1/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[S]:e.push(S),s++}if(k.systemId===void 0){let S={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/1/required",keyword:"required",params:{missingProperty:"systemId"},message:"must have required property 'systemId'"};e===null?e=[S]:e.push(S),s++}if(k.timestamp===void 0){let S={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/1/required",keyword:"required",params:{missingProperty:"timestamp"},message:"must have required property 'timestamp'"};e===null?e=[S]:e.push(S),s++}if(k.body===void 0){let S={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/1/required",keyword:"required",params:{missingProperty:"body"},message:"must have required property 'body'"};e===null?e=[S]:e.push(S),s++}}var n=N===s;if(A=A||n,!A){let S=s;if(k&&typeof k=="object"&&!Array.isArray(k)){if(k.id===void 0){let B={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/2/required",keyword:"required",params:{missingProperty:"id"},message:"must have required property 'id'"};e===null?e=[B]:e.push(B),s++}if(k.vendorId===void 0){let B={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/2/required",keyword:"required",params:{missingProperty:"vendorId"},message:"must have required property 'vendorId'"};e===null?e=[B]:e.push(B),s++}if(k.timestamp===void 0){let B={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/2/required",keyword:"required",params:{missingProperty:"timestamp"},message:"must have required property 'timestamp'"};e===null?e=[B]:e.push(B),s++}if(k.body===void 0){let B={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf/2/required",keyword:"required",params:{missingProperty:"body"},message:"must have required property 'body'"};e===null?e=[B]:e.push(B),s++}}var n=S===s;A=A||n}}if(A)s=j,e!==null&&(j?e.length=j:e=null);else{let N={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[N]:e.push(N),s++}if(k&&typeof k=="object"&&!Array.isArray(k)){k.readBy===void 0&&(k.readBy=[]);for(let q in k)if(!Q.call(yt.properties.conversation.items.properties,q)){let S={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:q},message:"must NOT have additional properties"};e===null?e=[S]:e.push(S),s++}if(k.id!==void 0&&typeof k.id!="string"){let q={instancePath:t+"/conversation/"+w+"/id",schemaPath:"#/properties/conversation/items/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}if(k.userId!==void 0&&typeof k.userId!="string"){let q={instancePath:t+"/conversation/"+w+"/userId",schemaPath:"#/properties/conversation/items/properties/userId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}if(k.userName!==void 0&&typeof k.userName!="string"){let q={instancePath:t+"/conversation/"+w+"/userName",schemaPath:"#/properties/conversation/items/properties/userName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}if(k.vendorId!==void 0&&typeof k.vendorId!="string"){let q={instancePath:t+"/conversation/"+w+"/vendorId",schemaPath:"#/properties/conversation/items/properties/vendorId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}if(k.vendorName!==void 0&&typeof k.vendorName!="string"){let q={instancePath:t+"/conversation/"+w+"/vendorName",schemaPath:"#/properties/conversation/items/properties/vendorName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}if(k.systemId!==void 0&&typeof k.systemId!="string"){let q={instancePath:t+"/conversation/"+w+"/systemId",schemaPath:"#/properties/conversation/items/properties/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}if(k.systemName!==void 0&&typeof k.systemName!="string"){let q={instancePath:t+"/conversation/"+w+"/systemName",schemaPath:"#/properties/conversation/items/properties/systemName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}if(k.timestamp!==void 0){let q=k.timestamp;if(typeof q!="string"&&!(q&&typeof q=="object"&&!Array.isArray(q))){let S={instancePath:t+"/conversation/"+w+"/timestamp",schemaPath:"definitions.json#/definitions/createdAt/type",keyword:"type",params:{type:me.type},message:"must be string,object"};e===null?e=[S]:e.push(S),s++}if(typeof q=="string"&&!M.validate(q)){let S={instancePath:t+"/conversation/"+w+"/timestamp",schemaPath:"definitions.json#/definitions/createdAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[S]:e.push(S),s++}}if(k.body!==void 0&&typeof k.body!="string"){let q={instancePath:t+"/conversation/"+w+"/body",schemaPath:"#/properties/conversation/items/properties/body/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[q]:e.push(q),s++}let N=k.readBy;if(Array.isArray(N)){let q=N.length;for(let S=0;S<q;S++)if(typeof N[S]!="string"){let C={instancePath:t+"/conversation/"+w+"/readBy/"+S,schemaPath:"#/properties/conversation/items/properties/readBy/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[C]:e.push(C),s++}}else{let q={instancePath:t+"/conversation/"+w+"/readBy",schemaPath:"#/properties/conversation/items/properties/readBy/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[q]:e.push(q),s++}if(k.media!==void 0){let q=k.media,S=s,C=!1,B=s;E(q,{instancePath:t+"/conversation/"+w+"/media",parentData:k,parentDataProperty:"media",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length);var i=B===s;if(C=C||i,!C){let Mt=s;if(q!==null){let qa={instancePath:t+"/conversation/"+w+"/media",schemaPath:"#/properties/conversation/items/properties/media/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[qa]:e.push(qa),s++}var i=Mt===s;C=C||i}if(C)s=S,e!==null&&(S?e.length=S:e=null);else{let Mt={instancePath:t+"/conversation/"+w+"/media",schemaPath:"#/properties/conversation/items/properties/media/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[Mt]:e.push(Mt),s++}}}else{let N={instancePath:t+"/conversation/"+w,schemaPath:"#/properties/conversation/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[N]:e.push(N),s++}}}else{let g={instancePath:t+"/conversation",schemaPath:"#/properties/conversation/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}if(r.subject!==void 0&&typeof r.subject!="string"){let g={instancePath:t+"/subject",schemaPath:"#/properties/subject/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(r.openedBy!==void 0){let g=r.openedBy;if(g&&typeof g=="object"&&!Array.isArray(g)){if(g.userId!==void 0&&typeof g.userId!="string"){let w={instancePath:t+"/openedBy/userId",schemaPath:"#/properties/openedBy/properties/userId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.systemId!==void 0&&typeof g.systemId!="string"){let w={instancePath:t+"/openedBy/systemId",schemaPath:"#/properties/openedBy/properties/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/openedBy",schemaPath:"#/properties/openedBy/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[w]:e.push(w),s++}}if(r.requester!==void 0){let g=r.requester;if(g&&typeof g=="object"&&!Array.isArray(g)){if(g.systemId!==void 0&&typeof g.systemId!="string"){let w={instancePath:t+"/requester/systemId",schemaPath:"#/properties/requester/properties/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.systemName!==void 0&&typeof g.systemName!="string"){let w={instancePath:t+"/requester/systemName",schemaPath:"#/properties/requester/properties/systemName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.systemPhoto!==void 0){let w=g.systemPhoto,k=s,j=!1,A=s;E(w,{instancePath:t+"/requester/systemPhoto",parentData:g,parentDataProperty:"systemPhoto",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length);var o=A===s;if(j=j||o,!j){let I=s;if(w!==null){let q={instancePath:t+"/requester/systemPhoto",schemaPath:"#/properties/requester/properties/systemPhoto/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[q]:e.push(q),s++}var o=I===s;if(j=j||o,!j){let q=s;if(typeof w!="string"){let C={instancePath:t+"/requester/systemPhoto",schemaPath:"#/properties/requester/properties/systemPhoto/anyOf/2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[C]:e.push(C),s++}var o=q===s;j=j||o}}if(j)s=k,e!==null&&(k?e.length=k:e=null);else{let I={instancePath:t+"/requester/systemPhoto",schemaPath:"#/properties/requester/properties/systemPhoto/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[I]:e.push(I),s++}}if(g.userId!==void 0&&typeof g.userId!="string"){let w={instancePath:t+"/requester/userId",schemaPath:"#/properties/requester/properties/userId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.userName!==void 0&&typeof g.userName!="string"){let w={instancePath:t+"/requester/userName",schemaPath:"#/properties/requester/properties/userName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.userPhoto!==void 0){let w=g.userPhoto,k=s,j=!1,A=s;E(w,{instancePath:t+"/requester/userPhoto",parentData:g,parentDataProperty:"userPhoto",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length);var m=A===s;if(j=j||m,!j){let I=s;if(w!==null){let q={instancePath:t+"/requester/userPhoto",schemaPath:"#/properties/requester/properties/userPhoto/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[q]:e.push(q),s++}var m=I===s;if(j=j||m,!j){let q=s;if(typeof w!="string"){let C={instancePath:t+"/requester/userPhoto",schemaPath:"#/properties/requester/properties/userPhoto/anyOf/2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[C]:e.push(C),s++}var m=q===s;j=j||m}}if(j)s=k,e!==null&&(k?e.length=k:e=null);else{let I={instancePath:t+"/requester/userPhoto",schemaPath:"#/properties/requester/properties/userPhoto/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[I]:e.push(I),s++}}if(g.deviceId!==void 0&&typeof g.deviceId!="string"){let w={instancePath:t+"/requester/deviceId",schemaPath:"#/properties/requester/properties/deviceId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.roomId!==void 0&&typeof g.roomId!="string"){let w={instancePath:t+"/requester/roomId",schemaPath:"#/properties/requester/properties/roomId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.reservationId!==void 0&&typeof g.reservationId!="string"){let w={instancePath:t+"/requester/reservationId",schemaPath:"#/properties/requester/properties/reservationId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.spaceId!==void 0&&typeof g.spaceId!="string"){let w={instancePath:t+"/requester/spaceId",schemaPath:"#/properties/requester/properties/spaceId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.spaceName!==void 0&&typeof g.spaceName!="string"){let w={instancePath:t+"/requester/spaceName",schemaPath:"#/properties/requester/properties/spaceName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/requester",schemaPath:"#/properties/requester/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[w]:e.push(w),s++}}if(r.assignedTo!==void 0){let g=r.assignedTo;if(g&&typeof g=="object"&&!Array.isArray(g)){if(g.userId!==void 0&&typeof g.userId!="string"){let w={instancePath:t+"/assignedTo/userId",schemaPath:"#/properties/assignedTo/properties/userId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.userName!==void 0&&typeof g.userName!="string"){let w={instancePath:t+"/assignedTo/userName",schemaPath:"#/properties/assignedTo/properties/userName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.userPhoto!==void 0){let w=g.userPhoto,k=s,j=!1,A=s;E(w,{instancePath:t+"/assignedTo/userPhoto",parentData:g,parentDataProperty:"userPhoto",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length);var l=A===s;if(j=j||l,!j){let I=s;if(w!==null){let q={instancePath:t+"/assignedTo/userPhoto",schemaPath:"#/properties/assignedTo/properties/userPhoto/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[q]:e.push(q),s++}var l=I===s;if(j=j||l,!j){let q=s;if(typeof w!="string"){let C={instancePath:t+"/assignedTo/userPhoto",schemaPath:"#/properties/assignedTo/properties/userPhoto/anyOf/2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[C]:e.push(C),s++}var l=q===s;j=j||l}}if(j)s=k,e!==null&&(k?e.length=k:e=null);else{let I={instancePath:t+"/assignedTo/userPhoto",schemaPath:"#/properties/assignedTo/properties/userPhoto/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[I]:e.push(I),s++}}if(g.vendorId!==void 0&&typeof g.vendorId!="string"){let w={instancePath:t+"/assignedTo/vendorId",schemaPath:"#/properties/assignedTo/properties/vendorId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.vendorName!==void 0&&typeof g.vendorName!="string"){let w={instancePath:t+"/assignedTo/vendorName",schemaPath:"#/properties/assignedTo/properties/vendorName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[w]:e.push(w),s++}if(g.vendorPhoto!==void 0){let w=g.vendorPhoto,k=s,j=!1,A=s;E(w,{instancePath:t+"/assignedTo/vendorPhoto",parentData:g,parentDataProperty:"vendorPhoto",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length);var d=A===s;if(j=j||d,!j){let I=s;if(w!==null){let q={instancePath:t+"/assignedTo/vendorPhoto",schemaPath:"#/properties/assignedTo/properties/vendorPhoto/anyOf/1/type",keyword:"type",params:{type:"null"},message:"must be null"};e===null?e=[q]:e.push(q),s++}var d=I===s;if(j=j||d,!j){let q=s;if(typeof w!="string"){let C={instancePath:t+"/assignedTo/vendorPhoto",schemaPath:"#/properties/assignedTo/properties/vendorPhoto/anyOf/2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[C]:e.push(C),s++}var d=q===s;j=j||d}}if(j)s=k,e!==null&&(k?e.length=k:e=null);else{let I={instancePath:t+"/assignedTo/vendorPhoto",schemaPath:"#/properties/assignedTo/properties/vendorPhoto/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};e===null?e=[I]:e.push(I),s++}}}else{let w={instancePath:t+"/assignedTo",schemaPath:"#/properties/assignedTo/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[w]:e.push(w),s++}}let b=r.status;if(typeof b!="string"){let g={instancePath:t+"/status",schemaPath:"#/properties/status/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(!(b==="open"||b==="pending"||b==="solved"||b==="closed")){let g={instancePath:t+"/status",schemaPath:"#/properties/status/enum",keyword:"enum",params:{allowedValues:yt.properties.status.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}let P=r.priority;if(typeof P!="string"){let g={instancePath:t+"/priority",schemaPath:"#/properties/priority/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(!(P==="low"||P==="normal"||P==="high")){let g={instancePath:t+"/priority",schemaPath:"#/properties/priority/enum",keyword:"enum",params:{allowedValues:yt.properties.priority.enum},message:"must be equal to one of the allowed values"};e===null?e=[g]:e.push(g),s++}let v=r.tags;if(Array.isArray(v)){let g=v.length;for(let w=0;w<g;w++)if(typeof v[w]!="string"){let k={instancePath:t+"/tags/"+w,schemaPath:"#/properties/tags/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[k]:e.push(k),s++}}else{let g={instancePath:t+"/tags",schemaPath:"#/properties/tags/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[g]:e.push(g),s++}if(r.department!==void 0&&typeof r.department!="string"){let g={instancePath:t+"/department",schemaPath:"#/properties/department/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(r.rating!==void 0){let g=r.rating;if(typeof g=="number"){if(g>5||isNaN(g)){let w={instancePath:t+"/rating",schemaPath:"#/properties/rating/maximum",keyword:"maximum",params:{comparison:"<=",limit:5},message:"must be <= 5"};e===null?e=[w]:e.push(w),s++}if(g<0||isNaN(g)){let w={instancePath:t+"/rating",schemaPath:"#/properties/rating/minimum",keyword:"minimum",params:{comparison:">=",limit:0},message:"must be >= 0"};e===null?e=[w]:e.push(w),s++}}else{let w={instancePath:t+"/rating",schemaPath:"#/properties/rating/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[w]:e.push(w),s++}}if(r.ratingComment!==void 0&&typeof r.ratingComment!="string"){let g={instancePath:t+"/ratingComment",schemaPath:"#/properties/ratingComment/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(r.tipAmount!==void 0&&typeof r.tipAmount!="string"){let g={instancePath:t+"/tipAmount",schemaPath:"#/properties/tipAmount/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[g]:e.push(g),s++}if(r.autoCloseAt!==void 0){let g=r.autoCloseAt;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/autoCloseAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/autoCloseAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}if(r.scheduleDate!==void 0){let g=r.scheduleDate;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/scheduleDate",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/scheduleDate",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}if(r.createdAt!==void 0){let g=r.createdAt;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}if(r.updatedAt!==void 0){let g=r.updatedAt;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}if(r.solvedAt!==void 0){let g=r.solvedAt;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/solvedAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/solvedAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}if(r.closedAt!==void 0){let g=r.closedAt;if(typeof g!="string"&&!(g&&typeof g=="object"&&!Array.isArray(g))){let w={instancePath:t+"/closedAt",schemaPath:"definitions.json#/definitions/date/type",keyword:"type",params:{type:R.type},message:"must be string,object"};e===null?e=[w]:e.push(w),s++}if(typeof g=="string"&&!M.validate(g)){let w={instancePath:t+"/closedAt",schemaPath:"definitions.json#/definitions/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[w]:e.push(w),s++}}}else{let h={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[h]:e.push(h),s++}return cm.errors=e,s===0}c(cm,"validate39");var ym=hm,ht={$schema:"http://json-schema.org/draft-07/schema",$id:"timeSheet.json",title:"Time Sheet",type:"object",required:["userId","day"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"timeSheet",enum:["timeSheet"]},userId:{$ref:"definitions.json#/definitions/id"},day:{type:["string","object"],format:"date-time"},locked:{type:"boolean",default:!1,description:"If true, the time sheet is locked and cannot be modified"},timeEntries:{type:"array",default:[],items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},discriminator:{type:"string",enum:["working","driving","meeting","break"]},start:{type:["string","object"],format:"date-time"},end:{type:["string","object"],format:"date-time"},comment:{type:"string"},ticketId:{type:"string"}},required:["start","discriminator"],additionalProperties:!1}}}};function hm(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="timeSheet"),r.locked===void 0&&(r.locked=!1),r.timeEntries===void 0&&(r.timeEntries=[]),r.userId===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"userId"},message:"must have required property 'userId'"};e===null?e=[l]:e.push(l),s++}if(r.day===void 0){let l={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"day"},message:"must have required property 'day'"};e===null?e=[l]:e.push(l),s++}if(r.id!==void 0){let l=r.id;if(typeof l!="string"){let y={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}let d=s,h=s;if(!(l==="global"||l==="system")){let y={};e===null?e=[y]:e.push(y),s++}var a=h===s;if(a){let y={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[y]:e.push(y),s++}else s=d,e!==null&&(d?e.length=d:e=null)}let o=r.type;if(typeof o!="string"){let l={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}if(o!=="timeSheet"){let l={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:ht.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[l]:e.push(l),s++}if(r.userId!==void 0){let l=r.userId;if(typeof l!="string"){let y={instancePath:t+"/userId",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}let d=s,h=s;if(!(l==="global"||l==="system")){let y={};e===null?e=[y]:e.push(y),s++}var n=h===s;if(n){let y={instancePath:t+"/userId",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[y]:e.push(y),s++}else s=d,e!==null&&(d?e.length=d:e=null)}if(r.day!==void 0){let l=r.day;if(typeof l!="string"&&!(l&&typeof l=="object"&&!Array.isArray(l))){let d={instancePath:t+"/day",schemaPath:"#/properties/day/type",keyword:"type",params:{type:ht.properties.day.type},message:"must be string,object"};e===null?e=[d]:e.push(d),s++}if(typeof l=="string"&&!M.validate(l)){let d={instancePath:t+"/day",schemaPath:"#/properties/day/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[d]:e.push(d),s++}}if(typeof r.locked!="boolean"){let l={instancePath:t+"/locked",schemaPath:"#/properties/locked/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[l]:e.push(l),s++}let m=r.timeEntries;if(Array.isArray(m)){let l=m.length;for(let d=0;d<l;d++){let h=m[d];if(h&&typeof h=="object"&&!Array.isArray(h)){if(h.start===void 0){let y={instancePath:t+"/timeEntries/"+d,schemaPath:"#/properties/timeEntries/items/required",keyword:"required",params:{missingProperty:"start"},message:"must have required property 'start'"};e===null?e=[y]:e.push(y),s++}if(h.discriminator===void 0){let y={instancePath:t+"/timeEntries/"+d,schemaPath:"#/properties/timeEntries/items/required",keyword:"required",params:{missingProperty:"discriminator"},message:"must have required property 'discriminator'"};e===null?e=[y]:e.push(y),s++}for(let y in h)if(!(y==="id"||y==="discriminator"||y==="start"||y==="end"||y==="comment"||y==="ticketId")){let b={instancePath:t+"/timeEntries/"+d,schemaPath:"#/properties/timeEntries/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:y},message:"must NOT have additional properties"};e===null?e=[b]:e.push(b),s++}if(h.id!==void 0){let y=h.id;if(typeof y!="string"){let v={instancePath:t+"/timeEntries/"+d+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[v]:e.push(v),s++}let b=s,P=s;if(!(y==="global"||y==="system")){let v={};e===null?e=[v]:e.push(v),s++}var i=P===s;if(i){let v={instancePath:t+"/timeEntries/"+d+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[v]:e.push(v),s++}else s=b,e!==null&&(b?e.length=b:e=null)}if(h.discriminator!==void 0){let y=h.discriminator;if(typeof y!="string"){let b={instancePath:t+"/timeEntries/"+d+"/discriminator",schemaPath:"#/properties/timeEntries/items/properties/discriminator/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}if(!(y==="working"||y==="driving"||y==="meeting"||y==="break")){let b={instancePath:t+"/timeEntries/"+d+"/discriminator",schemaPath:"#/properties/timeEntries/items/properties/discriminator/enum",keyword:"enum",params:{allowedValues:ht.properties.timeEntries.items.properties.discriminator.enum},message:"must be equal to one of the allowed values"};e===null?e=[b]:e.push(b),s++}}if(h.start!==void 0){let y=h.start;if(typeof y!="string"&&!(y&&typeof y=="object"&&!Array.isArray(y))){let b={instancePath:t+"/timeEntries/"+d+"/start",schemaPath:"#/properties/timeEntries/items/properties/start/type",keyword:"type",params:{type:ht.properties.timeEntries.items.properties.start.type},message:"must be string,object"};e===null?e=[b]:e.push(b),s++}if(typeof y=="string"&&!M.validate(y)){let b={instancePath:t+"/timeEntries/"+d+"/start",schemaPath:"#/properties/timeEntries/items/properties/start/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[b]:e.push(b),s++}}if(h.end!==void 0){let y=h.end;if(typeof y!="string"&&!(y&&typeof y=="object"&&!Array.isArray(y))){let b={instancePath:t+"/timeEntries/"+d+"/end",schemaPath:"#/properties/timeEntries/items/properties/end/type",keyword:"type",params:{type:ht.properties.timeEntries.items.properties.end.type},message:"must be string,object"};e===null?e=[b]:e.push(b),s++}if(typeof y=="string"&&!M.validate(y)){let b={instancePath:t+"/timeEntries/"+d+"/end",schemaPath:"#/properties/timeEntries/items/properties/end/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[b]:e.push(b),s++}}if(h.comment!==void 0&&typeof h.comment!="string"){let y={instancePath:t+"/timeEntries/"+d+"/comment",schemaPath:"#/properties/timeEntries/items/properties/comment/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}if(h.ticketId!==void 0&&typeof h.ticketId!="string"){let y={instancePath:t+"/timeEntries/"+d+"/ticketId",schemaPath:"#/properties/timeEntries/items/properties/ticketId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[y]:e.push(y),s++}}else{let y={instancePath:t+"/timeEntries/"+d,schemaPath:"#/properties/timeEntries/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[y]:e.push(y),s++}}}else{let l={instancePath:t+"/timeEntries",schemaPath:"#/properties/timeEntries/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[l]:e.push(l),s++}}else{let o={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}return hm.errors=e,s===0}c(hm,"validate114");var gm=bm,se={$schema:"http://json-schema.org/draft-07/schema",$id:"user.json",title:"User",type:"object",required:["firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"user"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},phoneVerified:{type:"boolean"},email:{type:["string","null"],format:"email"},emailVerified:{type:"boolean"},address:{$ref:"definitions.json#/definitions/address"},secretKey:{type:"string"},photo:{$ref:"mediaFile.json#"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},nationality:{type:"string",minLength:2,maxLength:2},permissions:{type:"array",default:[],items:{type:"object",required:["organizationId","propertyId","role"],properties:{organizationId:{type:"string",description:"The ID of the organization the permission is applies to."},propertyId:{type:"string",description:"The ID of the property the permission is applies to."},role:{type:"string",enum:["Guest","User","Manager","Maintenance","Administrator","SuperAdmin"]},department:{type:"string",description:"The department the user belongs to."},policyIds:{type:"array",items:{type:"string",description:"ID of a policy that is applied to this role."}},policies:{type:"array",items:{description:"A policy object populated from the policyIds array.",$ref:"policy.json"}}},additionalProperties:!1}},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},location:{type:"object",required:["accuracy","latitude","longitude","timestamp"],additionalProperties:!1,properties:{accuracy:{type:["number","null"]},latitude:{type:["number","null"]},longitude:{type:["number","null"]},timestamp:{type:["number","null"]}}},reservations:{type:"array",items:{$ref:"reservation.json"}},spaceName:{type:"string"},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systems:{type:"array",default:[],items:{type:"object",properties:{systemId:{type:"string"},propertyId:{type:"string"},driver:{type:"string"}},required:["systemId","propertyId","driver"],additionalProperties:!1}}}};function ts(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(Array.isArray(r)){let n=r.length;for(let i=0;i<n;i++){let o=r[i];if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.id!==void 0){let m=o.id;if(typeof m!="string"){let h={instancePath:t+"/"+i+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}let l=s,d=s;if(!(m==="global"||m==="system")){let h={};e===null?e=[h]:e.push(h),s++}var a=d===s;if(a){let h={instancePath:t+"/"+i+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[h]:e.push(h),s++}else s=l,e!==null&&(l?e.length=l:e=null)}if(o.name!==void 0&&typeof o.name!="string"){let m={instancePath:t+"/"+i+"/name",schemaPath:"#/items/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.date!==void 0){let m=o.date;if(typeof m=="string"){if(!M.validate(m)){let l={instancePath:t+"/"+i+"/date",schemaPath:"#/items/properties/date/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/"+i+"/date",schemaPath:"#/items/properties/date/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}if(o.price!==void 0&&typeof o.price!="number"){let m={instancePath:t+"/"+i+"/price",schemaPath:"#/items/properties/price/type",keyword:"type",params:{type:"number"},message:"must be number"};e===null?e=[m]:e.push(m),s++}if(o.tax!==void 0){let m=o.tax;if(typeof m!="number"&&m!==null){let l={instancePath:t+"/"+i+"/tax",schemaPath:"#/items/properties/tax/type",keyword:"type",params:{type:kr.items.properties.tax.type},message:"must be number,null"};e===null?e=[l]:e.push(l),s++}}}else{let m={instancePath:t+"/"+i,schemaPath:"#/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[n]:e.push(n),s++}return ts.errors=e,s===0}c(ts,"validate122");function bm(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="user"),r.permissions===void 0&&(r.permissions=[]),r.systems===void 0&&(r.systems=[]),r.firstName===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"firstName"},message:"must have required property 'firstName'"};e===null?e=[o]:e.push(o),s++}if(r.lastName===void 0){let o={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"lastName"},message:"must have required property 'lastName'"};e===null?e=[o]:e.push(o),s++}if(r.id!==void 0){let o=r.id;if(typeof o!="string"){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}let m=s,l=s;if(!(o==="global"||o==="system")){let d={};e===null?e=[d]:e.push(d),s++}var a=l===s;if(a){let d={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[d]:e.push(d),s++}else s=m,e!==null&&(m?e.length=m:e=null)}if(typeof r.type!="string"){let o={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.firstName!==void 0&&typeof r.firstName!="string"){let o={instancePath:t+"/firstName",schemaPath:"#/properties/firstName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.lastName!==void 0&&typeof r.lastName!="string"){let o={instancePath:t+"/lastName",schemaPath:"#/properties/lastName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.phone!==void 0){let o=r.phone;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/phone",schemaPath:"#/properties/phone/type",keyword:"type",params:{type:se.properties.phone.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}if(typeof o=="string"&&!zt.test(o)){let m={instancePath:t+"/phone",schemaPath:"#/properties/phone/pattern",keyword:"pattern",params:{pattern:"^\\+[0-9]{1,14}$"},message:'must match pattern "^\\+[0-9]{1,14}$"'};e===null?e=[m]:e.push(m),s++}}if(r.phoneVerified!==void 0&&typeof r.phoneVerified!="boolean"){let o={instancePath:t+"/phoneVerified",schemaPath:"#/properties/phoneVerified/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.email!==void 0){let o=r.email;if(typeof o!="string"&&o!==null){let m={instancePath:t+"/email",schemaPath:"#/properties/email/type",keyword:"type",params:{type:se.properties.email.type},message:"must be string,null"};e===null?e=[m]:e.push(m),s++}if(typeof o=="string"&&!jr.test(o)){let m={instancePath:t+"/email",schemaPath:"#/properties/email/format",keyword:"format",params:{format:"email"},message:'must match format "email"'};e===null?e=[m]:e.push(m),s++}}if(r.emailVerified!==void 0&&typeof r.emailVerified!="boolean"){let o={instancePath:t+"/emailVerified",schemaPath:"#/properties/emailVerified/type",keyword:"type",params:{type:"boolean"},message:"must be boolean"};e===null?e=[o]:e.push(o),s++}if(r.address!==void 0){let o=r.address;if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.id!==void 0&&typeof o.id!="string"){let m={instancePath:t+"/address/id",schemaPath:"definitions.json#/definitions/address/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.line1!==void 0&&typeof o.line1!="string"){let m={instancePath:t+"/address/line1",schemaPath:"definitions.json#/definitions/address/properties/line1/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.line2!==void 0&&typeof o.line2!="string"){let m={instancePath:t+"/address/line2",schemaPath:"definitions.json#/definitions/address/properties/line2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.line3!==void 0&&typeof o.line3!="string"){let m={instancePath:t+"/address/line3",schemaPath:"definitions.json#/definitions/address/properties/line3/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.city!==void 0&&typeof o.city!="string"){let m={instancePath:t+"/address/city",schemaPath:"definitions.json#/definitions/address/properties/city/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.state!==void 0&&typeof o.state!="string"){let m={instancePath:t+"/address/state",schemaPath:"definitions.json#/definitions/address/properties/state/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.postalCode!==void 0&&typeof o.postalCode!="string"){let m={instancePath:t+"/address/postalCode",schemaPath:"definitions.json#/definitions/address/properties/postalCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(o.countryCode!==void 0){let m=o.countryCode;if(typeof m=="string"){if(F(m)>2){let l={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/maxLength",keyword:"maxLength",params:{limit:2},message:"must NOT have more than 2 characters"};e===null?e=[l]:e.push(l),s++}if(F(m)<2){let l={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/minLength",keyword:"minLength",params:{limit:2},message:"must NOT have fewer than 2 characters"};e===null?e=[l]:e.push(l),s++}}else{let l={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}}}else{let m={instancePath:t+"/address",schemaPath:"definitions.json#/definitions/address/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}if(r.secretKey!==void 0&&typeof r.secretKey!="string"){let o={instancePath:t+"/secretKey",schemaPath:"#/properties/secretKey/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.photo!==void 0&&(E(r.photo,{instancePath:t+"/photo",parentData:r,parentDataProperty:"photo",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length)),r.jobTitle!==void 0&&typeof r.jobTitle!="string"){let o={instancePath:t+"/jobTitle",schemaPath:"#/properties/jobTitle/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.dob!==void 0&&typeof r.dob!="string"){let o={instancePath:t+"/dob",schemaPath:"#/properties/dob/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.gender!==void 0){let o=r.gender;if(typeof o!="string"){let m={instancePath:t+"/gender",schemaPath:"#/properties/gender/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}if(!(o==="male"||o==="female")){let m={instancePath:t+"/gender",schemaPath:"#/properties/gender/enum",keyword:"enum",params:{allowedValues:se.properties.gender.enum},message:"must be equal to one of the allowed values"};e===null?e=[m]:e.push(m),s++}}if(r.nationality!==void 0){let o=r.nationality;if(typeof o=="string"){if(F(o)>2){let m={instancePath:t+"/nationality",schemaPath:"#/properties/nationality/maxLength",keyword:"maxLength",params:{limit:2},message:"must NOT have more than 2 characters"};e===null?e=[m]:e.push(m),s++}if(F(o)<2){let m={instancePath:t+"/nationality",schemaPath:"#/properties/nationality/minLength",keyword:"minLength",params:{limit:2},message:"must NOT have fewer than 2 characters"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/nationality",schemaPath:"#/properties/nationality/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}}let n=r.permissions;if(Array.isArray(n)){let o=n.length;for(let m=0;m<o;m++){let l=n[m];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.organizationId===void 0){let d={instancePath:t+"/permissions/"+m,schemaPath:"#/properties/permissions/items/required",keyword:"required",params:{missingProperty:"organizationId"},message:"must have required property 'organizationId'"};e===null?e=[d]:e.push(d),s++}if(l.propertyId===void 0){let d={instancePath:t+"/permissions/"+m,schemaPath:"#/properties/permissions/items/required",keyword:"required",params:{missingProperty:"propertyId"},message:"must have required property 'propertyId'"};e===null?e=[d]:e.push(d),s++}if(l.role===void 0){let d={instancePath:t+"/permissions/"+m,schemaPath:"#/properties/permissions/items/required",keyword:"required",params:{missingProperty:"role"},message:"must have required property 'role'"};e===null?e=[d]:e.push(d),s++}for(let d in l)if(!(d==="organizationId"||d==="propertyId"||d==="role"||d==="department"||d==="policyIds"||d==="policies")){let h={instancePath:t+"/permissions/"+m,schemaPath:"#/properties/permissions/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:d},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(l.organizationId!==void 0&&typeof l.organizationId!="string"){let d={instancePath:t+"/permissions/"+m+"/organizationId",schemaPath:"#/properties/permissions/items/properties/organizationId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.propertyId!==void 0&&typeof l.propertyId!="string"){let d={instancePath:t+"/permissions/"+m+"/propertyId",schemaPath:"#/properties/permissions/items/properties/propertyId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.role!==void 0){let d=l.role;if(typeof d!="string"){let h={instancePath:t+"/permissions/"+m+"/role",schemaPath:"#/properties/permissions/items/properties/role/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[h]:e.push(h),s++}if(!(d==="Guest"||d==="User"||d==="Manager"||d==="Maintenance"||d==="Administrator"||d==="SuperAdmin")){let h={instancePath:t+"/permissions/"+m+"/role",schemaPath:"#/properties/permissions/items/properties/role/enum",keyword:"enum",params:{allowedValues:se.properties.permissions.items.properties.role.enum},message:"must be equal to one of the allowed values"};e===null?e=[h]:e.push(h),s++}}if(l.department!==void 0&&typeof l.department!="string"){let d={instancePath:t+"/permissions/"+m+"/department",schemaPath:"#/properties/permissions/items/properties/department/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.policyIds!==void 0){let d=l.policyIds;if(Array.isArray(d)){let h=d.length;for(let y=0;y<h;y++)if(typeof d[y]!="string"){let b={instancePath:t+"/permissions/"+m+"/policyIds/"+y,schemaPath:"#/properties/permissions/items/properties/policyIds/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[b]:e.push(b),s++}}else{let h={instancePath:t+"/permissions/"+m+"/policyIds",schemaPath:"#/properties/permissions/items/properties/policyIds/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[h]:e.push(h),s++}}if(l.policies!==void 0){let d=l.policies;if(Array.isArray(d)){let h=d.length;for(let y=0;y<h;y++)At(d[y],{instancePath:t+"/permissions/"+m+"/policies/"+y,parentData:d,parentDataProperty:y,rootData:p})||(e=e===null?At.errors:e.concat(At.errors),s=e.length)}else{let h={instancePath:t+"/permissions/"+m+"/policies",schemaPath:"#/properties/permissions/items/properties/policies/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[h]:e.push(h),s++}}}else{let d={instancePath:t+"/permissions/"+m,schemaPath:"#/properties/permissions/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let o={instancePath:t+"/permissions",schemaPath:"#/properties/permissions/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}if(r.notes!==void 0){let o=r.notes;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)if(typeof o[l]!="string"){let d={instancePath:t+"/notes/"+l,schemaPath:"#/properties/notes/items/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let m={instancePath:t+"/notes",schemaPath:"#/properties/notes/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.files!==void 0){let o=r.files;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)E(o[l],{instancePath:t+"/files/"+l,parentData:o,parentDataProperty:l,rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length)}else{let m={instancePath:t+"/files",schemaPath:"#/properties/files/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.identifications!==void 0){let o=r.identifications;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)re(o[l],{instancePath:t+"/identifications/"+l,parentData:o,parentDataProperty:l,rootData:p})||(e=e===null?re.errors:e.concat(re.errors),s=e.length)}else{let m={instancePath:t+"/identifications",schemaPath:"#/properties/identifications/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.payments!==void 0){let o=r.payments;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)ie(o[l],{instancePath:t+"/payments/"+l,parentData:o,parentDataProperty:l,rootData:p})||(e=e===null?ie.errors:e.concat(ie.errors),s=e.length)}else{let m={instancePath:t+"/payments",schemaPath:"#/properties/payments/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.location!==void 0){let o=r.location;if(o&&typeof o=="object"&&!Array.isArray(o)){if(o.accuracy===void 0){let m={instancePath:t+"/location",schemaPath:"#/properties/location/required",keyword:"required",params:{missingProperty:"accuracy"},message:"must have required property 'accuracy'"};e===null?e=[m]:e.push(m),s++}if(o.latitude===void 0){let m={instancePath:t+"/location",schemaPath:"#/properties/location/required",keyword:"required",params:{missingProperty:"latitude"},message:"must have required property 'latitude'"};e===null?e=[m]:e.push(m),s++}if(o.longitude===void 0){let m={instancePath:t+"/location",schemaPath:"#/properties/location/required",keyword:"required",params:{missingProperty:"longitude"},message:"must have required property 'longitude'"};e===null?e=[m]:e.push(m),s++}if(o.timestamp===void 0){let m={instancePath:t+"/location",schemaPath:"#/properties/location/required",keyword:"required",params:{missingProperty:"timestamp"},message:"must have required property 'timestamp'"};e===null?e=[m]:e.push(m),s++}for(let m in o)if(!(m==="accuracy"||m==="latitude"||m==="longitude"||m==="timestamp")){let l={instancePath:t+"/location",schemaPath:"#/properties/location/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:m},message:"must NOT have additional properties"};e===null?e=[l]:e.push(l),s++}if(o.accuracy!==void 0){let m=o.accuracy;if(typeof m!="number"&&m!==null){let l={instancePath:t+"/location/accuracy",schemaPath:"#/properties/location/properties/accuracy/type",keyword:"type",params:{type:se.properties.location.properties.accuracy.type},message:"must be number,null"};e===null?e=[l]:e.push(l),s++}}if(o.latitude!==void 0){let m=o.latitude;if(typeof m!="number"&&m!==null){let l={instancePath:t+"/location/latitude",schemaPath:"#/properties/location/properties/latitude/type",keyword:"type",params:{type:se.properties.location.properties.latitude.type},message:"must be number,null"};e===null?e=[l]:e.push(l),s++}}if(o.longitude!==void 0){let m=o.longitude;if(typeof m!="number"&&m!==null){let l={instancePath:t+"/location/longitude",schemaPath:"#/properties/location/properties/longitude/type",keyword:"type",params:{type:se.properties.location.properties.longitude.type},message:"must be number,null"};e===null?e=[l]:e.push(l),s++}}if(o.timestamp!==void 0){let m=o.timestamp;if(typeof m!="number"&&m!==null){let l={instancePath:t+"/location/timestamp",schemaPath:"#/properties/location/properties/timestamp/type",keyword:"type",params:{type:se.properties.location.properties.timestamp.type},message:"must be number,null"};e===null?e=[l]:e.push(l),s++}}}else{let m={instancePath:t+"/location",schemaPath:"#/properties/location/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[m]:e.push(m),s++}}if(r.reservations!==void 0){let o=r.reservations;if(Array.isArray(o)){let m=o.length;for(let l=0;l<m;l++)qt(o[l],{instancePath:t+"/reservations/"+l,parentData:o,parentDataProperty:l,rootData:p})||(e=e===null?qt.errors:e.concat(qt.errors),s=e.length)}else{let m={instancePath:t+"/reservations",schemaPath:"#/properties/reservations/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[m]:e.push(m),s++}}if(r.spaceName!==void 0&&typeof r.spaceName!="string"){let o={instancePath:t+"/spaceName",schemaPath:"#/properties/spaceName/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(r.revenue!==void 0&&(ts(r.revenue,{instancePath:t+"/revenue",parentData:r,parentDataProperty:"revenue",rootData:p})||(e=e===null?ts.errors:e.concat(ts.errors),s=e.length)),r.createdAt!==void 0){let o=r.createdAt;if(typeof o!="string"&&!(o&&typeof o=="object"&&!Array.isArray(o))){let m={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/type",keyword:"type",params:{type:me.type},message:"must be string,object"};e===null?e=[m]:e.push(m),s++}if(typeof o=="string"&&!M.validate(o)){let m={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[m]:e.push(m),s++}}if(r.updatedAt!==void 0){let o=r.updatedAt;if(typeof o!="string"&&!(o&&typeof o=="object"&&!Array.isArray(o))){let m={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/type",keyword:"type",params:{type:Xe.type},message:"must be string,object"};e===null?e=[m]:e.push(m),s++}if(typeof o=="string"&&!M.validate(o)){let m={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[m]:e.push(m),s++}}let i=r.systems;if(Array.isArray(i)){let o=i.length;for(let m=0;m<o;m++){let l=i[m];if(l&&typeof l=="object"&&!Array.isArray(l)){if(l.systemId===void 0){let d={instancePath:t+"/systems/"+m,schemaPath:"#/properties/systems/items/required",keyword:"required",params:{missingProperty:"systemId"},message:"must have required property 'systemId'"};e===null?e=[d]:e.push(d),s++}if(l.propertyId===void 0){let d={instancePath:t+"/systems/"+m,schemaPath:"#/properties/systems/items/required",keyword:"required",params:{missingProperty:"propertyId"},message:"must have required property 'propertyId'"};e===null?e=[d]:e.push(d),s++}if(l.driver===void 0){let d={instancePath:t+"/systems/"+m,schemaPath:"#/properties/systems/items/required",keyword:"required",params:{missingProperty:"driver"},message:"must have required property 'driver'"};e===null?e=[d]:e.push(d),s++}for(let d in l)if(!(d==="systemId"||d==="propertyId"||d==="driver")){let h={instancePath:t+"/systems/"+m,schemaPath:"#/properties/systems/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty:d},message:"must NOT have additional properties"};e===null?e=[h]:e.push(h),s++}if(l.systemId!==void 0&&typeof l.systemId!="string"){let d={instancePath:t+"/systems/"+m+"/systemId",schemaPath:"#/properties/systems/items/properties/systemId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.propertyId!==void 0&&typeof l.propertyId!="string"){let d={instancePath:t+"/systems/"+m+"/propertyId",schemaPath:"#/properties/systems/items/properties/propertyId/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}if(l.driver!==void 0&&typeof l.driver!="string"){let d={instancePath:t+"/systems/"+m+"/driver",schemaPath:"#/properties/systems/items/properties/driver/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[d]:e.push(d),s++}}else{let d={instancePath:t+"/systems/"+m,schemaPath:"#/properties/systems/items/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[d]:e.push(d),s++}}}else{let o={instancePath:t+"/systems",schemaPath:"#/properties/systems/type",keyword:"type",params:{type:"array"},message:"must be array"};e===null?e=[o]:e.push(o),s++}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return bm.errors=e,s===0}c(bm,"validate115");var wm=Pm,vr={$schema:"http://json-schema.org/draft-07/schema",$id:"vendor.json",title:"Vendor",type:"object",required:["name","email"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"vendor",enum:["vendor"]},name:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{$ref:"mediaFile.json#"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}};function Pm(r,{instancePath:t="",parentData:f,parentDataProperty:u,rootData:p=r}={}){let e=null,s=0;if(r&&typeof r=="object"&&!Array.isArray(r)){if(r.type===void 0&&(r.type="vendor"),r.name===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"name"},message:"must have required property 'name'"};e===null?e=[i]:e.push(i),s++}if(r.email===void 0){let i={instancePath:t,schemaPath:"#/required",keyword:"required",params:{missingProperty:"email"},message:"must have required property 'email'"};e===null?e=[i]:e.push(i),s++}if(r.id!==void 0){let i=r.id;if(typeof i!="string"){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[l]:e.push(l),s++}let o=s,m=s;if(!(i==="global"||i==="system")){let l={};e===null?e=[l]:e.push(l),s++}var a=m===s;if(a){let l={instancePath:t+"/id",schemaPath:"definitions.json#/definitions/id/not",keyword:"not",params:{},message:"must NOT be valid"};e===null?e=[l]:e.push(l),s++}else s=o,e!==null&&(o?e.length=o:e=null)}let n=r.type;if(typeof n!="string"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(n!=="vendor"){let i={instancePath:t+"/type",schemaPath:"#/properties/type/enum",keyword:"enum",params:{allowedValues:vr.properties.type.enum},message:"must be equal to one of the allowed values"};e===null?e=[i]:e.push(i),s++}if(r.name!==void 0&&typeof r.name!="string"){let i={instancePath:t+"/name",schemaPath:"#/properties/name/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[i]:e.push(i),s++}if(r.phone!==void 0){let i=r.phone;if(typeof i!="string"&&i!==null){let o={instancePath:t+"/phone",schemaPath:"#/properties/phone/type",keyword:"type",params:{type:vr.properties.phone.type},message:"must be string,null"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!zt.test(i)){let o={instancePath:t+"/phone",schemaPath:"#/properties/phone/pattern",keyword:"pattern",params:{pattern:"^\\+[0-9]{1,14}$"},message:'must match pattern "^\\+[0-9]{1,14}$"'};e===null?e=[o]:e.push(o),s++}}if(r.email!==void 0){let i=r.email;if(typeof i!="string"&&i!==null){let o={instancePath:t+"/email",schemaPath:"#/properties/email/type",keyword:"type",params:{type:vr.properties.email.type},message:"must be string,null"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!jr.test(i)){let o={instancePath:t+"/email",schemaPath:"#/properties/email/format",keyword:"format",params:{format:"email"},message:'must match format "email"'};e===null?e=[o]:e.push(o),s++}}if(r.address!==void 0){let i=r.address;if(i&&typeof i=="object"&&!Array.isArray(i)){if(i.id!==void 0&&typeof i.id!="string"){let o={instancePath:t+"/address/id",schemaPath:"definitions.json#/definitions/address/properties/id/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line1!==void 0&&typeof i.line1!="string"){let o={instancePath:t+"/address/line1",schemaPath:"definitions.json#/definitions/address/properties/line1/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line2!==void 0&&typeof i.line2!="string"){let o={instancePath:t+"/address/line2",schemaPath:"definitions.json#/definitions/address/properties/line2/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.line3!==void 0&&typeof i.line3!="string"){let o={instancePath:t+"/address/line3",schemaPath:"definitions.json#/definitions/address/properties/line3/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.city!==void 0&&typeof i.city!="string"){let o={instancePath:t+"/address/city",schemaPath:"definitions.json#/definitions/address/properties/city/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.state!==void 0&&typeof i.state!="string"){let o={instancePath:t+"/address/state",schemaPath:"definitions.json#/definitions/address/properties/state/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.postalCode!==void 0&&typeof i.postalCode!="string"){let o={instancePath:t+"/address/postalCode",schemaPath:"definitions.json#/definitions/address/properties/postalCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[o]:e.push(o),s++}if(i.countryCode!==void 0){let o=i.countryCode;if(typeof o=="string"){if(F(o)>2){let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/maxLength",keyword:"maxLength",params:{limit:2},message:"must NOT have more than 2 characters"};e===null?e=[m]:e.push(m),s++}if(F(o)<2){let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/minLength",keyword:"minLength",params:{limit:2},message:"must NOT have fewer than 2 characters"};e===null?e=[m]:e.push(m),s++}}else{let m={instancePath:t+"/address/countryCode",schemaPath:"definitions.json#/definitions/address/properties/countryCode/type",keyword:"type",params:{type:"string"},message:"must be string"};e===null?e=[m]:e.push(m),s++}}}else{let o={instancePath:t+"/address",schemaPath:"definitions.json#/definitions/address/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[o]:e.push(o),s++}}if(r.photo!==void 0&&(E(r.photo,{instancePath:t+"/photo",parentData:r,parentDataProperty:"photo",rootData:p})||(e=e===null?E.errors:e.concat(E.errors),s=e.length)),r.createdAt!==void 0){let i=r.createdAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/type",keyword:"type",params:{type:me.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/createdAt",schemaPath:"definitions.json#/definitions/createdAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}if(r.updatedAt!==void 0){let i=r.updatedAt;if(typeof i!="string"&&!(i&&typeof i=="object"&&!Array.isArray(i))){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/type",keyword:"type",params:{type:Xe.type},message:"must be string,object"};e===null?e=[o]:e.push(o),s++}if(typeof i=="string"&&!M.validate(i)){let o={instancePath:t+"/updatedAt",schemaPath:"definitions.json#/definitions/updatedAt/format",keyword:"format",params:{format:"date-time"},message:'must match format "date-time"'};e===null?e=[o]:e.push(o),s++}}}else{let n={instancePath:t,schemaPath:"#/type",keyword:"type",params:{type:"object"},message:"must be object"};e===null?e=[n]:e.push(n),s++}return Pm.errors=e,s===0}c(Pm,"validate124");var vm=Nt;var le=class extends x{static{c(this,"Alarm")}constructor(t){super(t),this.id=t.id,t.name!==void 0&&(this.name=t.name),t.offline!==void 0&&(this.offline=t.offline),this.type=t.type,t.systemId!==void 0&&(this.systemId=t.systemId),t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),this.driver=t.driver,this.areas=t.areas,this.zones=t.zones,t.chime!==void 0&&(this.chime=t.chime),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion),t.address!==void 0&&(this.address=t.address)}};Object.defineProperty(le.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"alarm.json",title:"Alarm",description:"Any smart alarm system",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",description:"Name of the alarm"},offline:{type:"boolean"},type:{type:"string",enum:["alarm"],default:"alarm"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},areas:{type:"array",items:{type:"object",properties:{number:{type:"number"},name:{type:"string"},securityMode:{type:["string","null"],enum:["arming","disarming","armed","disarmed","alarm",null]}},additionalProperties:!1}},zones:{type:"array",items:{type:"object",properties:{number:{type:"number",minimum:0},name:{type:"string"},secure:{type:["boolean","null"]},bypassed:{type:["boolean","null"]}},additionalProperties:!1}},chime:{type:"boolean",description:"Reflects whether console chime is enabled"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"},address:{$ref:"definitions.json#/definitions/address"}},required:["id","type","areas","zones","driver"]}});Object.defineProperty(le.prototype,"validator",{get:c(function(){return mp},"get")});var ue=class extends x{static{c(this,"Announcement")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),t.users!==void 0&&(this.users=t.users),t.group!==void 0&&(this.group=t.group),t.body!==void 0&&(this.body=t.body),t.media!==void 0&&(this.media=t.media),t.sentBy!==void 0&&(this.sentBy=t.sentBy),t.tags!==void 0&&(this.tags=t.tags),t.createdAt!==void 0&&(this.createdAt=t.createdAt),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt)}};Object.defineProperty(ue.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"announcement.json",title:"Announcement",description:"Announcement message sent to users",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["announcement"],default:"announcement"},users:{type:"array",items:{type:"string"},minItems:1},group:{type:"string"},body:{type:"string"},media:{$ref:"mediaFile.json"},sentBy:{type:"string"},tags:{type:"array",items:{type:"string"}},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"}},additionalProperties:!1}});Object.defineProperty(ue.prototype,"validator",{get:c(function(){return lp},"get")});var de=class extends x{static{c(this,"Camera")}constructor(t){super(t),this.id=t.id,t.name!==void 0&&(this.name=t.name),this.type=t.type,t.offline!==void 0&&(this.offline=t.offline),t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),this.driver=t.driver,t.liveStreams!==void 0&&(this.liveStreams=t.liveStreams),t.liveStream!==void 0&&(this.liveStream=t.liveStream),t.systemId!==void 0&&(this.systemId=t.systemId),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(de.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"camera.json",title:"Camera",description:"Any smart camera",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type",default:"camera"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},liveStreams:{type:"object",additionalProperties:!1,$comment:"This is now deprecated. Use liveStream instead. This will remain here for backwards compatibility.",properties:{iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"]}}},liveStream:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},driver:{type:"string",enum:["cloudflare-stream","aws-kinesis","digital-watchdog","mediamtx"]},allowedOrigins:{type:"array",items:{type:"string"}},authRequired:{type:"boolean"},iframe:{type:["string","null"]},hls:{type:["string","null"]},webRTC:{type:["string","null"]},rtsp:{type:["string","null"],description:"Local RTSP stream URL",examples:["rtsp://192.168.1.4:544/channels/1","rtsp://10.145.6.129:8554/unicast"]},previewImage:{type:["string","null"],description:"Source to preview the camera stream",examples:["https://example.com/preview.jpg","data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/4QBYRXhpZgAATU0AKgAAAAgAA1EQAAEAAAABAQAAAFERAAQAAAABAAABAgABAA"]}}},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1,required:["id","type","driver"]}});Object.defineProperty(de.prototype,"validator",{get:c(function(){return dp},"get")});var fe=class extends x{static{c(this,"Category")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),this.type=t.type,t.name!==void 0&&(this.name=t.name),t.driver!==void 0&&(this.driver=t.driver),t.description!==void 0&&(this.description=t.description),t.image!==void 0&&(this.image=t.image),t.rating!==void 0&&(this.rating=t.rating),this.discriminator=t.discriminator,t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty(fe.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"category.json",title:"Category",type:"object",required:["type","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"category"},name:{type:"string",minLength:1},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},image:{$ref:"mediaFile.json"},rating:{type:"number",minimum:0,maximum:10,default:9},discriminator:{type:"string",enum:["space","product","mediaFile"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty(fe.prototype,"validator",{get:c(function(){return fp},"get")});var ce=class extends x{static{c(this,"Courtesy")}constructor(t){super(t),this.id=t.id,t.name!==void 0&&(this.name=t.name),this.type=t.type,t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),this.driver=t.driver,t.offline!==void 0&&(this.offline=t.offline),this.supportedStates=t.supportedStates,this.state=t.state,t.systemId!==void 0&&(this.systemId=t.systemId),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(ce.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"courtesy.json",title:"Courtesy",description:"Any smart courtesy system",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedStates:{type:"array",uniqueItems:!0,items:{enum:["privacy","service","none"]}},state:{type:"string",$ref:"#/properties/supportedStates/items"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","driver","supportedStates","state"]}});Object.defineProperty(ce.prototype,"validator",{get:c(function(){return yp},"get")});var ye=class extends x{static{c(this,"Credential")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),this.type=t.type,t.driver!==void 0&&(this.driver=t.driver),t.discriminator!==void 0&&(this.discriminator=t.discriminator),this.credential=t.credential,t.userId!==void 0&&(this.userId=t.userId),t.organizationId!==void 0&&(this.organizationId=t.organizationId),t.propertyId!==void 0&&(this.propertyId=t.propertyId),t.deviceId!==void 0&&(this.deviceId=t.deviceId),t.userAgent!==void 0&&(this.userAgent=t.userAgent),this.expires=t.expires,t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty(ye.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"credential.json",title:"Credential",type:"object",required:["type","credential","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"credential"},driver:{$ref:"definitions.json#/definitions/driver"},discriminator:{type:"string",enum:["verificationCode","token","mobileKey","pin","publicKey","passkeyChallenge"]},credential:{type:"string"},userId:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},deviceId:{type:"string"},userAgent:{type:"string"},expires:{type:["string","object","null"]},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty(ye.prototype,"validator",{get:c(function(){return hp},"get")});var he=class extends x{static{c(this,"DeviceRouter")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),this.driver=t.driver,this.organizationId=t.organizationId,t.devices!==void 0&&(this.devices=t.devices)}};Object.defineProperty(he.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"deviceRouter.json",title:"Device Router",description:"A device router contains instructions on where to route devices based on their organization and driver.",type:"object",required:["driver","organizationId"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"deviceRouter",enum:["deviceRouter"]},driver:{type:"string"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this router"},devices:{type:"object",additionalProperties:!0}}}});Object.defineProperty(he.prototype,"validator",{get:c(function(){return bp},"get")});var ge=class extends x{static{c(this,"Dimmer")}constructor(t){super(t),this.id=t.id,t.name!==void 0&&(this.name=t.name),this.type=t.type,t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),this.driver=t.driver,t.offline!==void 0&&(this.offline=t.offline),this.level=t.level,t.systemId!==void 0&&(this.systemId=t.systemId),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(ge.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"dimmer.json",title:"Dimmer",description:"Any smart dimmer",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},level:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","level","driver"]}});Object.defineProperty(ge.prototype,"validator",{get:c(function(){return Pp},"get")});var be=class extends x{static{c(this,"DiscoveredDevice")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),this.name=t.name,this.deviceId=t.deviceId,t.type!==void 0&&(this.type=t.type),t.discriminator!==void 0&&(this.discriminator=t.discriminator),t.driver!==void 0&&(this.driver=t.driver),this.deviceData=t.deviceData,t.ignore!==void 0&&(this.ignore=t.ignore),t.organizationId!==void 0&&(this.organizationId=t.organizationId),t.propertyId!==void 0&&(this.propertyId=t.propertyId)}};Object.defineProperty(be.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"discoveredDevice.json",title:"Discovered Device",description:"A device that has been discovered by Kohost, but not yet added to the Kohost system.",type:"object",required:["name","deviceId","deviceData"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},deviceId:{type:"string"},type:{type:"string",enum:["discoveredDevice"],default:"discoveredDevice"},discriminator:{$ref:"definitions.json#/definitions/type"},driver:{type:"string"},deviceData:{type:"object"},ignore:{type:"boolean"},organizationId:{type:["string","null"],description:"Reference (id) to the organization that owns this device"},propertyId:{type:["string","null"],description:"Reference (id) to the property that this device belongs to"}}}});Object.defineProperty(be.prototype,"validator",{get:c(function(){return vp},"get")});var we=class extends x{static{c(this,"EmailMessage")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),this.to=t.to,this.from=t.from,this.subject=t.subject,this.status=t.status,t.statusMessage!==void 0&&(this.statusMessage=t.statusMessage),t.html!==void 0&&(this.html=t.html),t.text!==void 0&&(this.text=t.text),t.driver!==void 0&&(this.driver=t.driver),t.appData!==void 0&&(this.appData=t.appData),t.createdAt!==void 0&&(this.createdAt=t.createdAt),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt),t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty(we.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"emailMessage.json",title:"Email Message",type:"object",required:["to","from","status","subject"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"emailMessage",enum:["emailMessage"]},to:{type:"string",pattern:"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+$"},from:{type:"string",pattern:".*<[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\\.[a-zA-Z0-9-.]+>.*",description:"Must be in the format of 'Sender <email@example.com>"},subject:{type:"string"},status:{type:"string",enum:["queued","sending","sent","deferred","delivered","undelivered","bounced","blocked","receiving","received","opened","clicked","unsubscribed","spamReport"]},statusMessage:{type:"string"},html:{type:"string"},text:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty(we.prototype,"validator",{get:c(function(){return jp},"get")});var Pe=class extends x{static{c(this,"EnergyReport")}constructor(t){super(t),this.id=t.id,this.type=t.type,t.reportTime!==void 0&&(this.reportTime=t.reportTime),this.roomId=t.roomId,this.first=t.first,this.last=t.last,this.consumption=t.consumption,this.totals=t.totals,this.costPerKw=t.costPerKw}};Object.defineProperty(Pe.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"energyReport.json",title:"Energy Report",description:"Hourly Report for Energy based on energy report shards",type:"object",required:["id","type","roomId","first","last","consumption","totals","costPerKw"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReport"],default:"energyReport"},reportTime:{type:"string",enum:["hourly","daily","monthly"]},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},consumption:{type:"array",items:{type:"object",required:["id","type","kwh"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},kwh:{type:"number",minimum:0}}}},totals:{type:"array",items:{type:"object",required:["lights","climate","media"],properties:{lights:{type:"number",minimum:0},climate:{type:"number",minimum:0},media:{type:"number",minimum:0}}}},costPerKw:{type:"number",minimum:0}}}});Object.defineProperty(Pe.prototype,"validator",{get:c(function(){return qp},"get")});var ve=class extends x{static{c(this,"EnergyReportShard")}constructor(t){super(t),this.id=t.id,this.type=t.type,this.roomId=t.roomId,this.first=t.first,this.last=t.last,this.data=t.data,this.ndata=t.ndata,this.expires=t.expires}};Object.defineProperty(ve.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"energyReportShard.json",title:"Energy Report Shard",description:"Shard used for Energy Reports",type:"object",required:["id","type","roomId","first","last","data","ndata","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["energyReportShard"],default:"energyReportShard"},roomId:{$ref:"definitions.json#/definitions/id"},first:{type:["string","object"],format:"date-time"},last:{type:["string","object"],format:"date-time"},data:{type:"array",items:{type:"object",required:["time","watts","id","type","value"],properties:{time:{type:["string","object"],format:"date-time"},watts:{$ref:"definitions.json#/definitions/watts"},id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},value:{type:"number",minimum:0,maximum:1}}}},ndata:{type:"integer",minimum:0,maximum:1e5,default:0},expires:{type:["string","object"],format:"date-time"}}}});Object.defineProperty(ve.prototype,"validator",{get:c(function(){return Ip},"get")});var ke=class extends x{static{c(this,"Gateway")}constructor(t){super(t),this.id=t.id,this.type=t.type,t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),this.status=t.status,t.systemId!==void 0&&(this.systemId=t.systemId),this.driver=t.driver,t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(ke.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"iotGateway.json",title:"Gateway",description:"Any smart gateway that is an entrypoint for controlling devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},status:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},driver:{$ref:"definitions.json#/definitions/driver"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","status","driver"]}});Object.defineProperty(ke.prototype,"validator",{get:c(function(){return zp},"get")});var je=class extends x{static{c(this,"Identification")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),this.type=t.type,t.number!==void 0&&(this.number=t.number),t.maskedNumber!==void 0&&(this.maskedNumber=t.maskedNumber),t.encryptedNumber!==void 0&&(this.encryptedNumber=t.encryptedNumber),t.issued!==void 0&&(this.issued=t.issued),t.expires!==void 0&&(this.expires=t.expires),t.verified!==void 0&&(this.verified=t.verified),t.matched!==void 0&&(this.matched=t.matched),t.firstName!==void 0&&(this.firstName=t.firstName),t.lastName!==void 0&&(this.lastName=t.lastName),t.issuingCountry!==void 0&&(this.issuingCountry=t.issuingCountry),t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty(je.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"identification.json",title:"Identification",type:"object",required:["type"],oneOf:[{required:["number"]},{required:["encryptedNumber"]}],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["driversLicense","passport","identityCard","visa"]},number:{type:"string"},maskedNumber:{type:"string"},encryptedNumber:{type:"string"},issued:{type:["string","object"],format:"date-time"},expires:{type:["string","object","null"],format:"date-time"},verified:{type:"boolean"},matched:{type:"boolean"},firstName:{type:"string"},lastName:{type:"string"},issuingCountry:{type:"string",minLength:2,maxLength:2},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty(je.prototype,"validator",{get:c(function(){return Mp},"get")});var Ae=class extends x{static{c(this,"Issue")}constructor(t){super(t),this.id=t.id,this.type=t.type,this.name=t.name,t.description!==void 0&&(this.description=t.description),this.department=t.department,t.autoAssign!==void 0&&(this.autoAssign=t.autoAssign),t.systemKey!==void 0&&(this.systemKey=t.systemKey),t.autoCreateTicket!==void 0&&(this.autoCreateTicket=t.autoCreateTicket),t.excludedResources!==void 0&&(this.excludedResources=t.excludedResources)}};Object.defineProperty(Ae.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"issue.json",title:"Issue",description:"An issue associated with ticketing and concierge.",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["issue"],default:"issue"},name:{type:"string"},description:{type:"string"},department:{type:"string"},autoAssign:{type:"object",properties:{userId:{type:"string"},vendorId:{type:"string"},priority:{$ref:"ticket.json#/properties/priority"},tags:{type:"array",items:{type:"string"}}}},systemKey:{type:"string"},autoCreateTicket:{type:"boolean",default:!0},excludedResources:{type:"array",description:"A list of resources that should not trigger notifications of this issue",items:{type:"string"},default:[]}},required:["id","type","name","department"]}});Object.defineProperty(Ae.prototype,"validator",{get:c(function(){return Ep},"get")});var qe=class extends x{static{c(this,"Lock")}constructor(t){super(t),this.id=t.id,t.name!==void 0&&(this.name=t.name),this.type=t.type,t.offline!==void 0&&(this.offline=t.offline),t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),this.driver=t.driver,this.state=t.state,t.mode!==void 0&&(this.mode=t.mode),t.supportedModes!==void 0&&(this.supportedModes=t.supportedModes),t.batteryLevel!==void 0&&(this.batteryLevel=t.batteryLevel),t.systemId!==void 0&&(this.systemId=t.systemId),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(qe.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"lock.json",title:"Lock",description:"Any smart lock",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},state:{type:["string","null"],enum:["locked","unlocked",null]},mode:{type:["string","null"],enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null],description:"emergencyOpen and emergencyClose are deprecated and can be removed once Salto, Paxton and Geovision drivers are updated",default:null},supportedModes:{type:"array",uniqueItems:!0,items:{enum:["normal","autoLock","emergencyOpen","emergencyClose","holdOpen","lockdown",null]}},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]}});Object.defineProperty(qe.prototype,"validator",{get:c(function(){return Dp},"get")});var xe=class extends x{static{c(this,"Log")}constructor(t){super(t),this.type=t.type,this.timestamp=t.timestamp,this.id=t.id,this.driver=t.driver,this.name=t.name,t.field1!==void 0&&(this.field1=t.field1),t.field2!==void 0&&(this.field2=t.field2),t.field3!==void 0&&(this.field3=t.field3),t.field4!==void 0&&(this.field4=t.field4),t.field5!==void 0&&(this.field5=t.field5),t.field6!==void 0&&(this.field6=t.field6)}};Object.defineProperty(xe.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"log.json",title:"Log",type:"object",required:["type","timestamp","id","driver","name"],properties:{type:{type:"string",default:"log",enum:["log"]},timestamp:{type:"number",minimum:1655907956593},id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},name:{type:"string",description:"Event name"},field1:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field2:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field3:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field4:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field5:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}},field6:{type:"object",required:["name","value"],properties:{name:{type:"string"},value:{type:"string"}}}}}});Object.defineProperty(xe.prototype,"validator",{get:c(function(){return Op},"get")});var Ie=class extends x{static{c(this,"MediaFile")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),this.type=t.type,t.name!==void 0&&(this.name=t.name),t.fileHash!==void 0&&(this.fileHash=t.fileHash),t.category!==void 0&&(this.category=t.category),t.mimeType!==void 0&&(this.mimeType=t.mimeType),t.data!==void 0&&(this.data=t.data),t.url!==void 0&&(this.url=t.url),t.width!==void 0&&(this.width=t.width),t.height!==void 0&&(this.height=t.height),t.size!==void 0&&(this.size=t.size),t.uploadUrl!==void 0&&(this.uploadUrl=t.uploadUrl),t.uploadUrlExpires!==void 0&&(this.uploadUrlExpires=t.uploadUrlExpires),t.createdBy!==void 0&&(this.createdBy=t.createdBy),t.systemId!==void 0&&(this.systemId=t.systemId)}createImageVariant(t){if(this.mimeType!="image/*")throw new Error("Only dynamic images can have variants");if(!this.url)throw new Error("MediaFile has no url");let f=Object.keys(t).map(u=>`${u}=${t[u]}`).join(",");return this.url.replace(/\/public$/,`/${f}`)}};Object.defineProperty(Ie.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaFile.json",title:"Media File",description:"Any media file",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaFile",enum:["mediaFile"]},name:{type:"string"},fileHash:{type:"string"},category:{type:"string",description:"This is the category id"},mimeType:{type:"string",enum:["image/*","image/jpeg","image/png","image/gif","image/webp","image/avif","image/svg+xml","application/pdf"]},data:{type:"string"},url:{type:"string",format:"uri"},width:{type:"integer",minimum:0},height:{type:"integer",minimum:0},size:{type:"integer",minimum:0,description:"Size in bytes"},uploadUrl:{type:"string",format:"uri"},uploadUrlExpires:{$ref:"definitions.json#/definitions/date"},createdBy:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}},additionalProperties:!1,required:["type"]}});Object.defineProperty(Ie.prototype,"validator",{get:c(function(){return Fp},"get")});var Ne=class extends x{static{c(this,"MediaSource")}constructor(t){super(t),this.id=t.id,this.type=t.type,this.discriminator=t.discriminator,t.playlists!==void 0&&(this.playlists=t.playlists),t.remote!==void 0&&(this.remote=t.remote),t.name!==void 0&&(this.name=t.name),this.driver=t.driver,t.offline!==void 0&&(this.offline=t.offline),this.audio=t.audio,this.video=t.video,t.powerFeedback!==void 0&&(this.powerFeedback=t.powerFeedback),t.volumeFeedback!==void 0&&(this.volumeFeedback=t.volumeFeedback),t.muted!==void 0&&(this.muted=t.muted),t.volume!==void 0&&(this.volume=t.volume),t.brightness!==void 0&&(this.brightness=t.brightness),t.contrast!==void 0&&(this.contrast=t.contrast),t.power!==void 0&&(this.power=t.power),t.input!==void 0&&(this.input=t.input),t.supportedInputs!==void 0&&(this.supportedInputs=t.supportedInputs),t.supportedOutputs!==void 0&&(this.supportedOutputs=t.supportedOutputs),t.command!==void 0&&(this.command=t.command),t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),t.systemId!==void 0&&(this.systemId=t.systemId),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(Ne.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"mediaSource.json",title:"Media Source",description:"Any media source",type:"object",required:["id","type","discriminator","audio","video","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"mediaSource",enum:["mediaSource"]},discriminator:{type:"string",enum:["tv","dvr","appleTv","discPlayer","mediaPlayer","paSystem","uncontrolledDevice"]},playlists:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"}}}},remote:{type:"string",enum:["MR22GA","XRT260","XRT270","HOF-16K 1.2","219863500","SONIFI","AKB76039803","BN59-01388A"]},name:{$ref:"definitions.json#/definitions/name"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},audio:{type:"boolean"},video:{type:"boolean"},powerFeedback:{type:"boolean"},volumeFeedback:{type:"boolean"},muted:{type:"boolean"},volume:{type:"number",minimum:0,maximum:100},brightness:{type:"number",minimum:0,maximum:100},contrast:{type:"number",minimum:0,maximum:100},power:{type:"string",enum:["on","off"]},input:{type:"string"},supportedInputs:{type:"array",items:{type:"string"}},supportedOutputs:{type:"array",items:{type:"string"}},command:{type:["string","null"],enum:["mute","volumeUp","volumeDown","brightnessUp","brightnessDown","channelUp","channelDown","number0","number1","number2","number3","number4","number5","number6","number7","number8","number9","lastChannel","display","favoriteChannel","play","playing","stop","stopped","pause","paused","fastForward","fastForwarding","rewind","rewinding","instantReplay","record","ac3","pvrMenu","guide","menu","menuUp","menuDown","menuLeft","menuRight","pageUp","pageDown","select","exit","input","power","enterChannel","enterVolume","enterBrightness","enterContrast","number10","number11","number12","number13","number14","number15","number16","number10Plus","number20Plus","number100","dash","threeChan","threeD","sixChan","a","add","alarm","am","analog","angle","antenna","antennaEast","antennaWest","aspect","audio1","audio2","audio3","audioDumming","audioLevelDown","audioLevelUp","b","back","c","component1","component2","component3","d","home","list","liveTv","discreteInputCable","powerOff","powerOn","setupMenu","skipForward","skipReverse","video1","video2","video3","video4","video5","details","hdmi1","hdmi2","hdmi3","cecDeviceList","mtsSap","red","green","yellow","blue","alert","order"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1}});Object.defineProperty(Ne.prototype,"validator",{get:c(function(){return Tp},"get")});var ze=class extends x{static{c(this,"MotionSensor")}constructor(t){super(t),this.id=t.id,this.type=t.type,this.driver=t.driver,t.systemId!==void 0&&(this.systemId=t.systemId),t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(ze.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"motionSensor.json",title:"Motion Sensor",description:"Any smart motion sensor",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{$ref:"definitions.json#/definitions/type"},driver:{$ref:"definitions.json#/definitions/driver"},systemId:{$ref:"definitions.json#/definitions/systemId"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},additionalProperties:!1,required:["id","type","driver"]}});Object.defineProperty(ze.prototype,"validator",{get:c(function(){return Zp},"get")});var $e=class extends x{static{c(this,"Order")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),this.type=t.type,t.orderNumber!==void 0&&(this.orderNumber=t.orderNumber),this.status=t.status,t.userId!==void 0&&(this.userId=t.userId),t.reservationId!==void 0&&(this.reservationId=t.reservationId),t.date!==void 0&&(this.date=t.date),t.items!==void 0&&(this.items=t.items),t.taxes!==void 0&&(this.taxes=t.taxes),t.fees!==void 0&&(this.fees=t.fees),t.delivery!==void 0&&(this.delivery=t.delivery),t.payments!==void 0&&(this.payments=t.payments)}getSubTotal(){return this.items.reduce((t,f)=>{let u=f.quantity||1;return t+f.price*u},0)}getTaxTotal(){let t=this.taxes;return t?this.items.reduce((f,u)=>{if(!u.taxClass)return f;let p=t.find(a=>a.class===u.taxClass);if(!p)return f;let{rateType:e,rate:s}=p;return e==="percentage"?f+u.price*s:f+s},0):0}getDeliveryTotal(){let t=this.delivery;return t?this.items.reduce((f,u)=>{if(!u.deliveryClass)return f;let p=t.find(a=>a.class===u.deliveryClass);if(!p)return f;let{rateType:e,rate:s}=p;return e==="percentage"?f+u.price*s:f+s},0):0}getFeesTotal(){return this.fees.reduce((f,u)=>f+u.price,0)}getTotal(){return this.getSubTotal()+this.getTaxTotal()+this.getDeliveryTotal()+this.getFeesTotal()}getPaymentsTotal(){return this.payments.reduce((t,f)=>t+f.amount,0)}getBalance(){return this.getTotal()-this.getPaymentsTotal()}};Object.defineProperty($e.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"order.json",title:"Order",description:"A purchase order for products or services.",type:"object",required:["type","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"order",enum:["order"]},orderNumber:{type:"string"},status:{type:"string",enum:["draft","pendingPayment","processing","outForDelivery","completed","paymentFailed","cancelled","refunded"]},userId:{$ref:"definitions.json#/definitions/id",description:"User id of purchaser"},reservationId:{$ref:"definitions.json#/definitions/id",description:"Reservation id if the order is for a reservation"},date:{$ref:"definitions.json#/definitions/date"},items:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},sku:{type:"string"},quantity:{type:"number",default:1},price:{type:"number"},taxClass:{type:"string"},deliveryClass:{type:"string"},productId:{type:"string"}}}},taxes:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},fees:{type:"array",default:[],items:{type:"object",required:["name","price"],properties:{additionalProperties:!1,name:{type:"string"},price:{type:"number"}}}},delivery:{type:"array",default:[],items:{type:"object",required:["name","rate"],properties:{additionalProperties:!1,name:{type:"string"},class:{type:"string"},rateType:{type:"string",enum:["percentage","flat"],default:"percentage"},rate:{type:"number"},total:{type:"number"}}}},payments:{type:"array",default:[],items:{type:"object",properties:{method:{type:"string",enum:["folio","invoice","amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},name:{type:"string"},date:{$ref:"definitions.json#/definitions/date"},amount:{type:"number"},transactionReference:{type:"string"}}}}}}});Object.defineProperty($e.prototype,"validator",{get:c(function(){return Rp},"get")});var Me=class extends x{static{c(this,"Organization")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),this.accountNumber=t.accountNumber,this.name=t.name,t.properties!==void 0&&(this.properties=t.properties),t.hostname!==void 0&&(this.hostname=t.hostname),t.appManifest!==void 0&&(this.appManifest=t.appManifest),t.tickets!==void 0&&(this.tickets=t.tickets),t.credentials!==void 0&&(this.credentials=t.credentials),t.createdAt!==void 0&&(this.createdAt=t.createdAt),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt)}};Object.defineProperty(Me.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"organization.json",title:"Organization",type:"object",description:"An organization is a group or entity that subscribes to Kohost software.",required:["accountNumber","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"organization",enum:["organization"]},accountNumber:{type:["number","null"],minimum:1e4},name:{type:"string"},properties:{type:"array",items:{type:"string"}},hostname:{type:["string","null"]},appManifest:{type:"object",properties:{name:{type:"string"},short_name:{type:"string"},scope:{type:"string"},start_url:{type:"string"},themeColor:{type:"string"},backgroundColor:{type:"string"},display:{type:"string",enum:["fullscreen","standalone","minimal-ui","browser"],default:"fullscreen"},orientation:{type:"string",enum:["portrait","landscape"],default:"portrait"},splash:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}},icons:{type:"array",items:{type:"object",properties:{src:{type:"string"},sizes:{type:"string"},type:{type:"string"}}}},logo:{type:"object",properties:{src:{type:"string"},type:{type:"string"},sizes:{type:"string"}}}},default:{name:"Kohost",short_name:"Kohost",start_url:"/",scope:"/",display:"fullscreen",orientation:"portrait",theme_color:"#1d1f22",background_color:"#1d1f22",icons:[{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/9c85047f-ccba-4b1c-3070-5463fbe93b00/w=512",sizes:"512x512",type:"image/png"}],splash:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/034fb112-5326-4d37-373e-d1cc2a4d0400/w=1500",sizes:"1500x800",type:"image/jpg"},logo:{src:"https://images.kohost.io/cdn-cgi/imagedelivery/vcVX2aBwdFSYr66spcFKaA/1e54c54d-3bac-4745-f46f-c2f98036af00/h=75",sizes:"300x75",type:"image/png"}}},tickets:{type:"object",properties:{nextTicketNumber:{type:["string","integer"],default:1}}},credentials:{type:"object",additionalProperties:!0},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}});Object.defineProperty(Me.prototype,"validator",{get:c(function(){return Bp},"get")});var $t=class extends x{static{c(this,"Payment")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),this.type=t.type,t.enabled!==void 0&&(this.enabled=t.enabled),t.storageData!==void 0&&(this.storageData=t.storageData),this.maskedNumber=t.maskedNumber,t.issued!==void 0&&(this.issued=t.issued),this.expires=t.expires,t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty($t.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"payment.json",title:"Payment",type:"object",required:["type","maskedNumber","expires"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["amex","visa","masterCard","maestro","discover","diners","jcb","applePay","alipay","chinaUnionPay","vpay"]},enabled:{type:"boolean",default:!0},storageData:{type:["string","null"]},maskedNumber:{type:"string"},issued:{type:["string","null"]},expires:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty($t.prototype,"validator",{get:c(function(){return Hp},"get")});var Ee=class extends x{static{c(this,"Policy")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),this.type=t.type,this.discriminator=t.discriminator,this.name=t.name,t.description!==void 0&&(this.description=t.description),this.organizationId=t.organizationId,this.propertyId=t.propertyId,this.permissions=t.permissions}};Object.defineProperty(Ee.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"policy.json",title:"Policy",description:"A policy is a set of permissions that can be applied to a user to limit their access to resources.",type:"object",required:["name","type","organizationId","propertyId","permissions","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"policy",enum:["policy"]},discriminator:{type:"string",enum:["user"]},name:{type:"string",minLength:1},description:{type:"string"},organizationId:{type:"string"},propertyId:{type:"string"},permissions:{type:"array",items:{type:"object",required:["entities","effect"],properties:{entities:{type:"array",items:{type:"string",pattern:"^[^:]+(:.+)+$"}},effect:{type:"string",enum:["Allow","Deny"]}}}}}}});Object.defineProperty(Ee.prototype,"validator",{get:c(function(){return Up},"get")});var Se=class extends x{static{c(this,"Product")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),this.name=t.name,this.driver=t.driver,t.description!==void 0&&(this.description=t.description),this.price=t.price,t.tax!==void 0&&(this.tax=t.tax),t.image!==void 0&&(this.image=t.image),t.category!==void 0&&(this.category=t.category),t.imageUrl!==void 0&&(this.imageUrl=t.imageUrl),t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty(Se.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"product.json",title:"Product",type:"object",required:["name","price","driver"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"product",enum:["product"]},name:{type:"string"},driver:{$ref:"definitions.json#/definitions/driver"},description:{type:"string"},price:{type:"number"},tax:{type:["number","null"]},image:{$ref:"mediaFile.json"},category:{type:"string"},imageUrl:{type:"string",format:"uri",pattern:"^https?://"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty(Se.prototype,"validator",{get:c(function(){return Lp},"get")});var De=class extends x{static{c(this,"Property")}constructor(t){super(t),this.id=t.id,this.name=t.name,this.type=t.type,this.discriminator=t.discriminator,this.organization=t.organization,t.departments!==void 0&&(this.departments=t.departments),t.testModeEnabled!==void 0&&(this.testModeEnabled=t.testModeEnabled),t.testMode!==void 0&&(this.testMode=t.testMode),this.timezone=t.timezone,t.smsNumber!==void 0&&(this.smsNumber=t.smsNumber),t.checkInTime!==void 0&&(this.checkInTime=t.checkInTime),t.checkOutTime!==void 0&&(this.checkOutTime=t.checkOutTime),t.address!==void 0&&(this.address=t.address),t.latitude!==void 0&&(this.latitude=t.latitude),t.longitude!==void 0&&(this.longitude=t.longitude),t.appFeatures!==void 0&&(this.appFeatures=t.appFeatures),t.notifications!==void 0&&(this.notifications=t.notifications),t.credentials!==void 0&&(this.credentials=t.credentials)}};Object.defineProperty(De.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"property.json",title:"Property",type:"object",description:"A property is a physical asset or building",required:["id","name","type","organization","timezone","discriminator"],properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{type:"string",default:"property",enum:["property"]},discriminator:{type:"string",enum:["hospitality","education","commercial","storage"]},organization:{type:["string","null"],description:"Reference (id) to the organization that owns this property"},departments:{type:"array",items:{type:"string"}},testModeEnabled:{type:"boolean"},testMode:{type:"object",properties:{notificationEmails:{type:"array",items:{type:"string"},description:"Only users with these email addresses will receive notifications in test mode, including sms, email, or push."},notificationEmailDomains:{type:"array",items:{type:"string"},description:"Only users with email addreses ending in these domains will receive notifications in test mode, including sms, email, or push."}}},timezone:{type:"string",description:"IANA timezone string",pattern:"^([a-zA-Z]+/[a-zA-Z_]+)$",examples:["America/New_York","America/Los_Angeles"]},smsNumber:{type:"string"},checkInTime:{type:"string"},checkOutTime:{type:"string"},address:{$ref:"definitions.json#/definitions/address"},latitude:{type:"number"},longitude:{type:"number"},appFeatures:{type:"object",properties:{RoomControl:{type:"object",properties:{disabledSystems:{type:"array",items:{type:"string",enum:["climate","lights","shades","tv","doors"]}},excludedDeviceIds:{type:"array",items:{type:"string"},default:[]},commonAreas:{type:"object",properties:{spaces:{type:"array",items:{type:"string"}}}},alarmConfig:{type:"object",patternProperties:{"^[a-zA-Z0-9]+$":{type:"object",properties:{zoneLockMap:{type:"object",description:"Maps zone numbers to lock ids",additionalProperties:{type:"string"}}}}},examples:[{wZz7hucY:{zoneLockMap:{1:"wc87hucc",2:"bc86hzxc",3:"zv5ah5jv"}}}]}},additionalProperties:!1},CheckIn:{type:"object",properties:{payment:{},identification:{},earlyCheckIn:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1},minimumTime:{type:"string"}}},roomUpgrades:{},pet:{},promos:{}}},CheckOut:{type:"object",properties:{lateCheckOut:{type:"object",required:["dynamic"],properties:{dynamic:{type:"boolean",default:!1},minimumPrice:{type:"number",default:10},maximumPrice:{type:"number",default:50},priceRatioPerHour:{type:"number",default:.1}}}}},Concierge:{type:"object",properties:{timeTracking:{type:"boolean",default:!1},tipping:{type:"boolean",default:!1},ratings:{type:"boolean",default:!0},newTicketCCs:{type:"array",items:{type:"string"},default:[]},newMessageChannel:{type:["string","null"],enum:["sms","email"],default:"sms",description:"Determines how users should be notified of new messages in the concierge system"},quickServices:{type:"array",items:{type:"object",properties:{name:{type:"string"},description:{type:"string"},department:{type:"string"},image:{$ref:"mediaFile.json"}},required:["name","description","image"]}},issues:{type:"object",properties:{syncWithPropertyId:{type:"string"}}}}},DigitalKey:{type:"object",properties:{system:{type:"string",enum:["salto","dormakaba"]},systemOnline:{type:"boolean",default:!1},systemConfig:{type:"object",properties:{legicUrl:{type:"string",format:"uri"},legicWalletName:{type:"string"},legicAppId:{type:"number"},legicTechUsername:{type:"string"},legicTechPassword:{type:"string"}},additionalProperties:!1,default:{}},enableApp:{type:"boolean"},branding:{type:"object",properties:{logo:{type:"string",format:"uri"},gradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:2},highlightedGradient:{type:"array",items:{type:"string",pattern:"^(?!#ffffff)(#[0-9a-fA-F]{6})$"},minItems:2,maxItems:3}}}}},SOS:{type:"object",properties:{active:{type:"boolean"},activeEmergencies:{type:"array",items:{type:"string",enum:["medical","fire","suspiciousPerson","other","conflict","shooter"]}}}},Elevator:{type:"object"},Experiences:{type:"object"},Dining:{type:"object",properties:{system:{type:"string",enum:["gotab"]},systemConfig:{type:"object",properties:{landingUrl:{type:"string",format:"uri"},includeUserDetails:{type:"boolean"}},additionalProperties:!1}}},Rentals:{type:"object"},Shop:{type:"object"},Spa:{type:"object"},Valet:{type:"object"}},additionalProperties:!1,default:{RoomControl:{}}},notifications:{type:"object",properties:{email:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},sms:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1},push:{type:"object",properties:{enabled:{type:"boolean"}},additionalProperties:!1}},additionalProperties:!1,default:{email:{enabled:!1},sms:{enabled:!1},push:{enabled:!1}}},credentials:{type:"object",additionalProperties:!0}}}});Object.defineProperty(De.prototype,"validator",{get:c(function(){return Gp},"get")});var Oe=class extends x{static{c(this,"Reservation")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.driver!==void 0&&(this.driver=t.driver),t.primaryGuest!==void 0&&(this.primaryGuest=t.primaryGuest),this.type=t.type,t.sharedGuests!==void 0&&(this.sharedGuests=t.sharedGuests),t.spaceCategory!==void 0&&(this.spaceCategory=t.spaceCategory),t.space!==void 0&&(this.space=t.space),t.previousSpace!==void 0&&(this.previousSpace=t.previousSpace),this.status=t.status,t.mobileCheckInSpaceCategoryChanged!==void 0&&(this.mobileCheckInSpaceCategoryChanged=t.mobileCheckInSpaceCategoryChanged),t.mobileCheckInSpaceChanged!==void 0&&(this.mobileCheckInSpaceChanged=t.mobileCheckInSpaceChanged),t.mobileCheckInStatus!==void 0&&(this.mobileCheckInStatus=t.mobileCheckInStatus),t.mobileCheckInStatusMessage!==void 0&&(this.mobileCheckInStatusMessage=t.mobileCheckInStatusMessage),t.confirmationNumber!==void 0&&(this.confirmationNumber=t.confirmationNumber),t.expectedCheckInDateTime!==void 0&&(this.expectedCheckInDateTime=t.expectedCheckInDateTime),this.checkInDateTime=t.checkInDateTime,this.checkOutDateTime=t.checkOutDateTime,t.adultCount!==void 0&&(this.adultCount=t.adultCount),t.childCount!==void 0&&(this.childCount=t.childCount),t.spaceCategoryAvailabilites!==void 0&&(this.spaceCategoryAvailabilites=t.spaceCategoryAvailabilites),t.revenue!==void 0&&(this.revenue=t.revenue),t.rateSuppressed!==void 0&&(this.rateSuppressed=t.rateSuppressed),t.payment!==void 0&&(this.payment=t.payment),t.company!==void 0&&(this.company=t.company),t.travelAgent!==void 0&&(this.travelAgent=t.travelAgent),t.systemId!==void 0&&(this.systemId=t.systemId),t.metadata!==void 0&&(this.metadata=t.metadata),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt)}checkInTime(t){return new Date(this.checkInDateTime).toLocaleString("default",{hour:"numeric",minute:"numeric",timeZone:t})}checkOutTime(t){return new Date(this.checkOutDateTime).toLocaleString("default",{hour:"numeric",minute:"numeric",timeZone:t})}getNights(){let t=new Date(this.checkInDateTime),f=new Date(this.checkOutDateTime),u=Math.round((f-t)/(1e3*60*60*24));return u<=0&&(u=1),u}};Object.defineProperty(Oe.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"reservation.json",title:"Reservation",type:"object",required:["type","status","checkInDateTime","checkOutDateTime"],properties:{id:{$ref:"definitions.json#/definitions/id"},driver:{$ref:"definitions.json#/definitions/driver"},primaryGuest:{type:"string"},type:{type:"string",default:"reservation",enum:["reservation"]},sharedGuests:{type:"array",items:{type:"string"}},spaceCategory:{type:"string"},space:{type:["string","null"]},previousSpace:{type:["string","null"],default:null,description:"Used when there was a space assigned and it changes"},status:{type:"string",enum:["reserved","checkedIn","checkedOut","cancelled","noShow","enquired","requested","optional"],description:` reserved - confirmed by both parties, before check-in
9
+ checkedIn - checked in
10
+ checkedOut - checked out
11
+ cancelled - Cancelled
12
+ noShow - No show
13
+ enquired - Confirmed neither by the customer nor enterprise
14
+ requested - Confirmed by the customer but not the enterprise (waitlist)
15
+ optional - Confirmed by the enterprise but not the customer (holding)`},mobileCheckInSpaceCategoryChanged:{type:"boolean",description:"spaceCategory has changed from original."},mobileCheckInSpaceChanged:{type:"boolean"},mobileCheckInStatus:{type:"string",enum:["ready","blocked","preArrivalStepsRequired","spaceNotAssigned","spaceNotReady","checkInTimeNotStarted"]},mobileCheckInStatusMessage:{type:"string"},confirmationNumber:{type:"string"},expectedCheckInDateTime:{type:["string","object"],format:"date-time",description:"Expected arrival time of guest."},checkInDateTime:{type:["string","object"],format:"date-time"},checkOutDateTime:{type:["string","object"],format:"date-time"},adultCount:{type:"number",default:1,minimum:1},childCount:{type:"number",default:0},spaceCategoryAvailabilites:{type:"array",items:{type:"object",properties:{id:{type:"string"},price:{type:"number"},unit:{type:"string",enum:["night","stay","hour"]},isUpgrade:{type:"boolean"}}}},revenue:{$ref:"definitions.json#/definitions/revenue"},rateSuppressed:{type:"boolean"},payment:{type:"string"},company:{type:"string"},travelAgent:{type:"string"},systemId:{$ref:"definitions.json#/definitions/systemId"},metadata:{$ref:"definitions.json#/definitions/metadata"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}});Object.defineProperty(Oe.prototype,"validator",{get:c(function(){return Xp},"get")});var Ce=class extends x{static{c(this,"Room")}constructor(t){super(t),this.id=t.id,t.type!==void 0&&(this.type=t.type),this.name=t.name,t.floor!==void 0&&(this.floor=t.floor),t.dimmers!==void 0&&(this.dimmers=t.dimmers),t.switches!==void 0&&(this.switches=t.switches),t.thermostats!==void 0&&(this.thermostats=t.thermostats),t.locks!==void 0&&(this.locks=t.locks),t.windowCoverings!==void 0&&(this.windowCoverings=t.windowCoverings),t.courtesy!==void 0&&(this.courtesy=t.courtesy),t.cameras!==void 0&&(this.cameras=t.cameras),t.mediaSources!==void 0&&(this.mediaSources=t.mediaSources),t.motionSensors!==void 0&&(this.motionSensors=t.motionSensors),t.alarms!==void 0&&(this.alarms=t.alarms),t.occupiedAt!==void 0&&(this.occupiedAt=t.occupiedAt),t.createdAt!==void 0&&(this.createdAt=t.createdAt),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt)}static getDevicePath(t){switch(t){case"tv":case"dvr":case"appleTv":case"discPlayer":case"mediaPlayer":case"uncontrolledDevice":case"mediaSource":return"mediaSources";case"courtesy":return"courtesy";case"switch":return"switches";case"dimmer":return"dimmers";case"thermostat":return"thermostats";case"lock":return"locks";case"windowCovering":return"windowCoverings";case"camera":return"cameras";case"motionSensor":return"motionSensors";case"alarm":return"alarms";default:throw new Error("Invalid device type:"+t)}}static getDeviceTypeFromPath(t){if(!["dimmers","switches","thermostats","locks","windowCoverings","courtesy","cameras","mediaSources","motionSensors","alarms"].includes(t))throw new Error("Invalid device path:"+t);switch(t){case"courtesy":return t;case"switches":return"switch";default:return t.slice(0,-1)}}get hasDimmer(){return this.dimmers?.length>0}get hasSwitch(){return this.switches?.length>0}get hasWindowCovering(){return this.windowCoverings?.length>0}get hasShade(){return this.hasWindowCovering}get hasThermostat(){return this.thermostats?.length>0}get hasClimate(){return this.hasThermostat}get hasLock(){return this.locks?.length>0}get hasCourtesy(){return this.courtesy?.length>0}get hasCamera(){return this.cameras?.length>0}get hasMedia(){return this.mediaSources?.length>0}get hasLight(){let t=this.switches?.some(f=>f.discriminator==="light"||f.discriminator==="fan");return this.hasDimmer||t}get hasAlarm(){return this.alarms?.length>0}get occupied(){let t=new Date,f=new Date(this.occupiedAt);return t.getTime()-f.getTime()<60*60*1e3}};Object.defineProperty(Ce.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"room.json",title:"Room",description:"A room represents a physical space of controllable IoT devices",type:"object",required:["id","name"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["room"],default:"room"},name:{type:"string"},floor:{type:"string"},dimmers:{type:"array",default:[],items:{$ref:"dimmer.json"}},switches:{type:"array",default:[],items:{$ref:"switch.json"}},thermostats:{type:"array",default:[],items:{$ref:"thermostat.json"}},locks:{type:"array",default:[],items:{$ref:"lock.json"}},windowCoverings:{type:"array",default:[],items:{$ref:"windowCovering.json"}},courtesy:{type:"array",default:[],items:{$ref:"courtesy.json"}},cameras:{type:"array",default:[],items:{$ref:"camera.json"}},mediaSources:{type:"array",default:[],items:{$ref:"mediaSource.json"}},motionSensors:{type:"array",default:[],items:{$ref:"motionSensor.json"}},alarms:{type:"array",default:[],items:{$ref:"alarm.json"}},occupiedAt:{$ref:"definitions.json#/definitions/createdAt"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}},additionalProperties:!1}});Object.defineProperty(Ce.prototype,"validator",{get:c(function(){return Qp},"get")});var Fe=class extends x{static{c(this,"Scene")}constructor(t){super(t),this.id=t.id,this.name=t.name,t.description!==void 0&&(this.description=t.description),this.type=t.type,t.devices!==void 0&&(this.devices=t.devices),t.isDefault!==void 0&&(this.isDefault=t.isDefault),t.showOnUi!==void 0&&(this.showOnUi=t.showOnUi)}};Object.defineProperty(Fe.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"scene.json",title:"Scene",description:"A room represents a physical space of controllable IoT devices",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},description:{type:"string"},type:{type:"string",enum:["scene"],default:"scene"},devices:{type:"object",properties:{switches:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"switch.json#/properties/state"}},default:[]}},dimmers:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},level:{$ref:"dimmer.json#/properties/level"}}},default:[]},windowCoverings:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},position:{$ref:"windowCovering.json#/properties/position"}}},default:[]},thermostats:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},hvacMode:{$ref:"thermostat.json#/properties/hvacMode"},setpoints:{$ref:"thermostat.json#/properties/setpoints"},fanMode:{$ref:"thermostat.json#/properties/fanMode"},setpointDelta:{type:"number"}}},default:[]},mediaSources:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},volume:{type:"number",minimum:0,maximum:100},commands:{type:"array",items:{type:"string"}}}}},locks:{type:"array",items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},state:{$ref:"lock.json#/properties/state"},mode:{$ref:"lock.json#/properties/mode"}}}}},additionalProperties:!1},isDefault:{type:"boolean",default:!1},showOnUi:{type:"boolean",default:!0}},required:["id","name","type"],additionalProperties:!1}});Object.defineProperty(Fe.prototype,"validator",{get:c(function(){return tm},"get")});var Te=class extends x{static{c(this,"ShortLink")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),t.title!==void 0&&(this.title=t.title),this.destination=t.destination,this.url=t.url,t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty(Te.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"shortLink.json",title:"Short Link",type:"object",required:["destination","url"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"shortLink",enum:["shortLink"]},title:{type:"string"},destination:{type:"string",format:"uri"},url:{type:"string",format:"uri"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty(Te.prototype,"validator",{get:c(function(){return rm},"get")});var Ze=class extends x{static{c(this,"SmsMessage")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),this.to=t.to,this.from=t.from,t.media!==void 0&&(this.media=t.media),this.status=t.status,t.body!==void 0&&(this.body=t.body),t.driver!==void 0&&(this.driver=t.driver),t.appData!==void 0&&(this.appData=t.appData),t.createdAt!==void 0&&(this.createdAt=t.createdAt),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt),t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty(Ze.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"smsMessage.json",title:"Sms Message",type:"object",required:["to","from","status"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"smsMessage",enum:["smsMessage"]},to:{type:"string",pattern:"^\\+[0-9]{1,14}$"},from:{type:"string",pattern:"^\\+[0-9]{1,14}$"},media:{type:"string",format:"uri"},status:{type:"string",enum:["queued","accepted","sending","sent","failed","delivered","undelivered","receiving","received","read"]},body:{type:"string"},driver:{type:"string"},appData:{type:"object"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty(Ze.prototype,"validator",{get:c(function(){return nm},"get")});var Re=class extends x{static{c(this,"Space")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.name!==void 0&&(this.name=t.name),t.type!==void 0&&(this.type=t.type),t.discriminator!==void 0&&(this.discriminator=t.discriminator),t.driver!==void 0&&(this.driver=t.driver),t.category!==void 0&&(this.category=t.category),t.rooms!==void 0&&(this.rooms=t.rooms),t.subGroups!==void 0&&(this.subGroups=t.subGroups),t.occupied!==void 0&&(this.occupied=t.occupied),t.inUse!==void 0&&(this.inUse=t.inUse),t.eco!==void 0&&(this.eco=t.eco),t.features!==void 0&&(this.features=t.features),t.maximumOccupancy!==void 0&&(this.maximumOccupancy=t.maximumOccupancy),t.housekeepingStatus!==void 0&&(this.housekeepingStatus=t.housekeepingStatus),t.serviceStatus!==void 0&&(this.serviceStatus=t.serviceStatus),t.systemId!==void 0&&(this.systemId=t.systemId)}get floor(){let t=new Set;return this.rooms.forEach(f=>{f.floor&&t.add(f.floor)}),t.size==1?[...t][0]:void 0}get hasDimmer(){return this.rooms.some(t=>t.hasDimmer)}get hasSwitch(){return this.rooms.some(t=>t.hasSwitch)}get hasWindowCovering(){return this.rooms.some(t=>t.hasWindowCovering)}get hasThermostat(){return this.rooms.some(t=>t.hasThermostat)}get hasLock(){return this.rooms.some(t=>t.hasLock)}get hasCourtesy(){return this.rooms.some(t=>t.hasCourtesy)}get hasCamera(){return this.rooms.some(t=>t.hasCamera)}get hasAlarm(){return this.rooms.some(t=>t.hasAlarm)}get hasMedia(){return this.rooms.some(t=>t.hasMedia)}};Object.defineProperty(Re.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"space.json",title:"Space",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string",minLength:1},type:{type:"string",default:"space",enum:["space"]},discriminator:{type:"string",enum:["classRoom","hotelRoom","office","building","commonArea","conferenceRoom","lobby","gym","pool","restaurant","unit"]},driver:{$ref:"definitions.json#/definitions/driver"},category:{type:"string",description:"This is the category id"},rooms:{type:"array",items:{type:"string"}},subGroups:{type:"array",items:{type:"string"}},occupied:{type:"boolean"},inUse:{type:"boolean"},eco:{type:"object",additionalProperties:!1,default:{active:!1,allowed:!1,previousState:null},properties:{active:{type:"boolean",default:!1},activatedAt:{type:["string","object"],format:"date-time"},allowed:{type:"boolean",default:!1},previousState:{type:["object","null"],properties:{thermostats:{type:"object",patternProperties:{".*":{type:"object",properties:{setpoints:{$ref:"thermostat.json#/properties/setpoints"}}}}}},additionalProperties:!1}}},features:{type:"array",items:{type:"string",enum:["pet"]}},maximumOccupancy:{type:"number",minimum:1},housekeepingStatus:{type:"string",enum:["clean","dirty","inspected","pickup"]},serviceStatus:{type:"string",enum:["inService","outOfOrder","outOfService"]},systemId:{$ref:"definitions.json#/definitions/systemId"}},if:{properties:{type:{const:"hotelRoom"}}},then:{required:["name","type","features","maximumOccupancy","housekeepingStatus","serviceStatus"],properties:{features:{default:[]},maximumOccupancy:{default:2},housekeepingStatus:{default:"dirty"},serviceStatus:{default:"inService"}}},else:{required:["name","type"]}}});Object.defineProperty(Re.prototype,"validator",{get:c(function(){return am},"get")});var Ve=class extends x{static{c(this,"Switch")}constructor(t){super(t),this.id=t.id,t.name!==void 0&&(this.name=t.name),this.type=t.type,t.discriminator!==void 0&&(this.discriminator=t.discriminator),t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),this.driver=t.driver,t.offline!==void 0&&(this.offline=t.offline),this.state=t.state,t.systemId!==void 0&&(this.systemId=t.systemId),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(Ve.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"switch.json",title:"Switch",description:"Any smart switch",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type"},discriminator:{type:"string",enum:["light","fan","irrigation"]},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},state:{type:"string",enum:["on","off"]},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","state","driver"]}});Object.defineProperty(Ve.prototype,"validator",{get:c(function(){return mm},"get")});var Be=class extends x{static{c(this,"SystemUser")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),t.driver!==void 0&&(this.driver=t.driver),this.firstName=t.firstName,this.lastName=t.lastName,t.phone!==void 0&&(this.phone=t.phone),t.email!==void 0&&(this.email=t.email),t.address!==void 0&&(this.address=t.address),t.photo!==void 0&&(this.photo=t.photo),t.jobTitle!==void 0&&(this.jobTitle=t.jobTitle),t.dob!==void 0&&(this.dob=t.dob),t.gender!==void 0&&(this.gender=t.gender),t.roles!==void 0&&(this.roles=t.roles),t.nationality!==void 0&&(this.nationality=t.nationality),t.notes!==void 0&&(this.notes=t.notes),t.files!==void 0&&(this.files=t.files),t.identifications!==void 0&&(this.identifications=t.identifications),t.payments!==void 0&&(this.payments=t.payments),t.revenue!==void 0&&(this.revenue=t.revenue),t.createdAt!==void 0&&(this.createdAt=t.createdAt),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt),t.systemId!==void 0&&(this.systemId=t.systemId)}};Object.defineProperty(Be.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"systemUser.json",title:"System User",description:"A system user is a user that originated from an external 3rd party system.",type:"object",required:["firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"systemUser",enum:["systemUser"]},driver:{$ref:"definitions.json#/definitions/driver"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{type:"string"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},roles:{type:"array",items:{type:"string",enum:["Guest","User","Manager","Maintenance","Administrator","SuperAdmin"]}},nationality:{type:"string",minLength:2,maxLength:2},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systemId:{$ref:"definitions.json#/definitions/systemId"}}}});Object.defineProperty(Be.prototype,"validator",{get:c(function(){return lm},"get")});var Ke=class extends x{static{c(this,"Thermostat")}constructor(t){super(t),this.id=t.id,t.name!==void 0&&(this.name=t.name),this.type=t.type,this.driver=t.driver,t.offline!==void 0&&(this.offline=t.offline),t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),t.currentTemperature!==void 0&&(this.currentTemperature=t.currentTemperature),t.currentHumidity!==void 0&&(this.currentHumidity=t.currentHumidity),this.hvacMode=t.hvacMode,this.hvacState=t.hvacState,this.fanMode=t.fanMode,this.fanState=t.fanState,this.temperatureScale=t.temperatureScale,t.humidityScale!==void 0&&(this.humidityScale=t.humidityScale),this.supportedHvacModes=t.supportedHvacModes,this.supportedFanModes=t.supportedFanModes,this.setpoints=t.setpoints,t.minAutoDelta!==void 0&&(this.minAutoDelta=t.minAutoDelta),t.cycleRate!==void 0&&(this.cycleRate=t.cycleRate),t.batteryLevel!==void 0&&(this.batteryLevel=t.batteryLevel),t.systemId!==void 0&&(this.systemId=t.systemId),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(Ke.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"thermostat.json",title:"Thermostat",description:"Any smart thermostat",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{$ref:"definitions.json#/definitions/name"},type:{$ref:"definitions.json#/definitions/type",default:"thermostat"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},currentTemperature:{type:"number"},currentHumidity:{type:"number",minimum:0},hvacMode:{type:"string",$ref:"#/properties/supportedHvacModes/items"},hvacState:{type:["string","null"],enum:["cooling","heating","off",null]},fanMode:{type:"string",$ref:"#/properties/supportedFanModes/items"},fanState:{type:["string","null"],enum:["off","low","medium","high","on",null]},temperatureScale:{type:"string",enum:["celsius","fahrenheit"],default:"fahrenheit"},humidityScale:{type:["string","null"],enum:["absolute","relative",null]},supportedHvacModes:{type:"array",uniqueItems:!0,minItems:2,items:{enum:["cool","heat","auto","off"]}},supportedFanModes:{type:"array",uniqueItems:!0,items:{enum:["auto","low","medium","high","off","on"]}},setpoints:{type:"object",additionalProperties:!1,properties:{cool:{$ref:"#/$defs/setpoint"},heat:{$ref:"#/$defs/setpoint"},auto:{$ref:"#/$defs/setpoint"}}},minAutoDelta:{type:"number",default:3},cycleRate:{type:"number"},batteryLevel:{$ref:"definitions.json#/definitions/batteryLevel"},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},$defs:{setpoint:{type:"object",additionalProperties:!1,properties:{value:{$ref:"#/$defs/setpointValue"},min:{$ref:"#/$defs/setpointMinMax"},max:{$ref:"#/$defs/setpointMinMax"}}},setpointValue:{type:"number",minimum:0,maximum:99},setpointMinMax:{type:["number","null"],minimum:0,maximum:99}},required:["id","type","hvacMode","fanMode","hvacState","fanState","setpoints","temperatureScale","supportedHvacModes","supportedFanModes","driver"]}});Object.defineProperty(Ke.prototype,"validator",{get:c(function(){return dm},"get")});var He=class extends x{static{c(this,"Ticket")}constructor(t){super(t),this.id=t.id,t.type!==void 0&&(this.type=t.type),t.number!==void 0&&(this.number=t.number),t.issueId!==void 0&&(this.issueId=t.issueId),this.conversation=t.conversation,t.subject!==void 0&&(this.subject=t.subject),t.openedBy!==void 0&&(this.openedBy=t.openedBy),this.requester=t.requester,t.assignedTo!==void 0&&(this.assignedTo=t.assignedTo),this.status=t.status,t.priority!==void 0&&(this.priority=t.priority),this.tags=t.tags,t.department!==void 0&&(this.department=t.department),t.rating!==void 0&&(this.rating=t.rating),t.ratingComment!==void 0&&(this.ratingComment=t.ratingComment),t.tipAmount!==void 0&&(this.tipAmount=t.tipAmount),t.autoCloseAt!==void 0&&(this.autoCloseAt=t.autoCloseAt),t.scheduleDate!==void 0&&(this.scheduleDate=t.scheduleDate),this.createdAt=t.createdAt,this.updatedAt=t.updatedAt,t.solvedAt!==void 0&&(this.solvedAt=t.solvedAt),t.closedAt!==void 0&&(this.closedAt=t.closedAt)}};Object.defineProperty(He.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"ticket.json",title:"Ticket",description:"A ticket is a request from a user.",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",enum:["ticket"],default:"ticket"},number:{type:"string"},issueId:{type:"string"},conversation:{type:"array",default:[],items:{type:"object",additionalProperties:!1,properties:{id:{type:"string"},userId:{type:"string"},userName:{type:"string"},vendorId:{type:"string"},vendorName:{type:"string"},systemId:{type:"string"},systemName:{type:"string"},timestamp:{$ref:"definitions.json#/definitions/createdAt"},body:{type:"string"},readBy:{type:"array",default:[],items:{type:"string"}},media:{anyOf:[{$ref:"mediaFile.json"},{type:"null"}]}},anyOf:[{required:["id","userId","timestamp","body"]},{required:["id","systemId","timestamp","body"]},{required:["id","vendorId","timestamp","body"]}]}},subject:{type:"string"},openedBy:{type:"object",properties:{userId:{type:"string"},systemId:{type:"string"}}},requester:{type:"object",properties:{systemId:{type:"string"},systemName:{type:"string"},systemPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},deviceId:{type:"string"},roomId:{type:"string"},reservationId:{type:"string"},spaceId:{type:"string"},spaceName:{type:"string"}}},assignedTo:{type:"object",properties:{userId:{type:"string"},userName:{type:"string"},userPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]},vendorId:{type:"string"},vendorName:{type:"string"},vendorPhoto:{anyOf:[{$ref:"mediaFile.json"},{type:"null"},{type:"string"}]}}},status:{type:"string",enum:["open","pending","solved","closed"],default:"open"},priority:{type:"string",enum:["low","normal","high"],default:"normal"},tags:{type:"array",default:[],items:{type:"string"}},department:{type:"string"},rating:{type:"number",minimum:0,maximum:5},ratingComment:{type:"string"},tipAmount:{type:"string"},autoCloseAt:{$ref:"definitions.json#/definitions/date"},scheduleDate:{$ref:"definitions.json#/definitions/date"},createdAt:{$ref:"definitions.json#/definitions/date"},updatedAt:{$ref:"definitions.json#/definitions/date"},solvedAt:{$ref:"definitions.json#/definitions/date"},closedAt:{$ref:"definitions.json#/definitions/date"}},required:["id","conversation","requester","status","tags","createdAt","updatedAt"],additionalProperties:!1}});Object.defineProperty(He.prototype,"validator",{get:c(function(){return fm},"get")});var Ue=class extends x{static{c(this,"TimeSheet")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),this.userId=t.userId,this.day=t.day,t.locked!==void 0&&(this.locked=t.locked),t.timeEntries!==void 0&&(this.timeEntries=t.timeEntries)}};Object.defineProperty(Ue.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"timeSheet.json",title:"Time Sheet",type:"object",required:["userId","day"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"timeSheet",enum:["timeSheet"]},userId:{$ref:"definitions.json#/definitions/id"},day:{type:["string","object"],format:"date-time"},locked:{type:"boolean",default:!1,description:"If true, the time sheet is locked and cannot be modified"},timeEntries:{type:"array",default:[],items:{type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},discriminator:{type:"string",enum:["working","driving","meeting","break"]},start:{type:["string","object"],format:"date-time"},end:{type:["string","object"],format:"date-time"},comment:{type:"string"},ticketId:{type:"string"}},required:["start","discriminator"],additionalProperties:!1}}}}});Object.defineProperty(Ue.prototype,"validator",{get:c(function(){return ym},"get")});var Le=class extends x{static{c(this,"User")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),this.firstName=t.firstName,this.lastName=t.lastName,t.phone!==void 0&&(this.phone=t.phone),t.phoneVerified!==void 0&&(this.phoneVerified=t.phoneVerified),t.email!==void 0&&(this.email=t.email),t.emailVerified!==void 0&&(this.emailVerified=t.emailVerified),t.address!==void 0&&(this.address=t.address),t.secretKey!==void 0&&(this.secretKey=t.secretKey),t.photo!==void 0&&(this.photo=t.photo),t.jobTitle!==void 0&&(this.jobTitle=t.jobTitle),t.dob!==void 0&&(this.dob=t.dob),t.gender!==void 0&&(this.gender=t.gender),t.nationality!==void 0&&(this.nationality=t.nationality),t.permissions!==void 0&&(this.permissions=t.permissions),t.notes!==void 0&&(this.notes=t.notes),t.files!==void 0&&(this.files=t.files),t.identifications!==void 0&&(this.identifications=t.identifications),t.payments!==void 0&&(this.payments=t.payments),t.location!==void 0&&(this.location=t.location),t.reservations!==void 0&&(this.reservations=t.reservations),t.spaceName!==void 0&&(this.spaceName=t.spaceName),t.revenue!==void 0&&(this.revenue=t.revenue),t.createdAt!==void 0&&(this.createdAt=t.createdAt),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt),t.systems!==void 0&&(this.systems=t.systems)}get fullName(){return`${this.firstName} ${this.lastName}`}get roles(){let t=new Set;if(this.permissions)for(let f of this.permissions)t.add(f.role);return Array.from(t)}get isSuperAdmin(){return this.roles.includes("SuperAdmin")}get isAdmin(){return this.roles.includes("Admin")||this.roles.includes("Administrator")}get isManager(){return this.roles.includes("Manager")}get isUser(){return this.roles.includes("User")}};Object.defineProperty(Le.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"user.json",title:"User",type:"object",required:["firstName","lastName"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"user"},firstName:{type:"string"},lastName:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},phoneVerified:{type:"boolean"},email:{type:["string","null"],format:"email"},emailVerified:{type:"boolean"},address:{$ref:"definitions.json#/definitions/address"},secretKey:{type:"string"},photo:{$ref:"mediaFile.json#"},jobTitle:{type:"string"},dob:{type:"string"},gender:{type:"string",enum:["male","female"]},nationality:{type:"string",minLength:2,maxLength:2},permissions:{type:"array",default:[],items:{type:"object",required:["organizationId","propertyId","role"],properties:{organizationId:{type:"string",description:"The ID of the organization the permission is applies to."},propertyId:{type:"string",description:"The ID of the property the permission is applies to."},role:{type:"string",enum:["Guest","User","Manager","Maintenance","Administrator","SuperAdmin"]},department:{type:"string",description:"The department the user belongs to."},policyIds:{type:"array",items:{type:"string",description:"ID of a policy that is applied to this role."}},policies:{type:"array",items:{description:"A policy object populated from the policyIds array.",$ref:"policy.json"}}},additionalProperties:!1}},notes:{type:"array",items:{type:"string"}},files:{type:"array",items:{$ref:"mediaFile.json#"}},identifications:{type:"array",items:{$ref:"identification.json#"}},payments:{type:"array",items:{$ref:"payment.json#"}},location:{type:"object",required:["accuracy","latitude","longitude","timestamp"],additionalProperties:!1,properties:{accuracy:{type:["number","null"]},latitude:{type:["number","null"]},longitude:{type:["number","null"]},timestamp:{type:["number","null"]}}},reservations:{type:"array",items:{$ref:"reservation.json"}},spaceName:{type:"string"},revenue:{$ref:"definitions.json#/definitions/revenue"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"},systems:{type:"array",default:[],items:{type:"object",properties:{systemId:{type:"string"},propertyId:{type:"string"},driver:{type:"string"}},required:["systemId","propertyId","driver"],additionalProperties:!1}}}}});Object.defineProperty(Le.prototype,"validator",{get:c(function(){return gm},"get")});var We=class extends x{static{c(this,"Vendor")}constructor(t){super(t),t.id!==void 0&&(this.id=t.id),t.type!==void 0&&(this.type=t.type),this.name=t.name,t.phone!==void 0&&(this.phone=t.phone),this.email=t.email,t.address!==void 0&&(this.address=t.address),t.photo!==void 0&&(this.photo=t.photo),t.createdAt!==void 0&&(this.createdAt=t.createdAt),t.updatedAt!==void 0&&(this.updatedAt=t.updatedAt)}};Object.defineProperty(We.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"vendor.json",title:"Vendor",type:"object",required:["name","email"],properties:{id:{$ref:"definitions.json#/definitions/id"},type:{type:"string",default:"vendor",enum:["vendor"]},name:{type:"string"},phone:{type:["string","null"],pattern:"^\\+[0-9]{1,14}$"},email:{type:["string","null"],format:"email"},address:{$ref:"definitions.json#/definitions/address"},photo:{$ref:"mediaFile.json#"},createdAt:{$ref:"definitions.json#/definitions/createdAt"},updatedAt:{$ref:"definitions.json#/definitions/updatedAt"}}}});Object.defineProperty(We.prototype,"validator",{get:c(function(){return wm},"get")});var Ge=class extends x{static{c(this,"WindowCovering")}constructor(t){super(t),this.id=t.id,t.name!==void 0&&(this.name=t.name),this.type=t.type,t.discriminator!==void 0&&(this.discriminator=t.discriminator),t.supportedNotifications!==void 0&&(this.supportedNotifications=t.supportedNotifications),t.notification!==void 0&&(this.notification=t.notification),this.driver=t.driver,t.offline!==void 0&&(this.offline=t.offline),this.position=t.position,t.systemId!==void 0&&(this.systemId=t.systemId),t.watts!==void 0&&(this.watts=t.watts),t.icon!==void 0&&(this.icon=t.icon),t.modelNumber!==void 0&&(this.modelNumber=t.modelNumber),t.serialNumber!==void 0&&(this.serialNumber=t.serialNumber),t.firmwareVersion!==void 0&&(this.firmwareVersion=t.firmwareVersion)}};Object.defineProperty(Ge.prototype,"schema",{value:{$schema:"http://json-schema.org/draft-07/schema",$id:"windowCovering.json",title:"Window Covering",description:"Any smart window covering",type:"object",properties:{id:{$ref:"definitions.json#/definitions/id"},name:{type:"string"},type:{$ref:"definitions.json#/definitions/type",default:"windowCovering"},discriminator:{type:"string",enum:["basic","variable"],default:"variable"},supportedNotifications:{$ref:"definitions.json#/definitions/supportedNotifications"},notification:{$ref:"definitions.json#/definitions/notification"},driver:{$ref:"definitions.json#/definitions/driver"},offline:{type:"boolean"},position:{type:["number","null"],minimum:0,maximum:100},systemId:{$ref:"definitions.json#/definitions/systemId"},watts:{$ref:"definitions.json#/definitions/watts"},icon:{type:"string"},modelNumber:{type:"string"},serialNumber:{type:"string"},firmwareVersion:{type:"string"}},required:["id","type","position","driver"]}});Object.defineProperty(Ge.prototype,"validator",{get:c(function(){return vm},"get")});var ja={};te(ja,{AssignSpaceToReservationCommand:()=>Ar,AutoAssociateDiscoveredDevicesCommand:()=>qr,AutoCloseTicketsCommand:()=>xr,BatchNotifyCheckInCommand:()=>Ir,BatchNotifyCheckOutCommand:()=>Nr,BatchNotifyMissedCheckOutCommand:()=>zr,BatchNotifyPreArrivalCommand:()=>$r,BulkUpdateIssueCommand:()=>Mr,CheckInReservationCommand:()=>Er,CheckOutReservationCommand:()=>Sr,CheckVerificationCodeCommand:()=>Dr,CreateAlarmCommand:()=>Or,CreateAnnouncementCommand:()=>Cr,CreateCameraCommand:()=>Fr,CreateCateoryCommand:()=>Tr,CreateCourtesyCommand:()=>Zr,CreateDefaultScenesCommand:()=>Rr,CreateDimmerCommand:()=>Vr,CreateDiscoveredDeviceAssociationCommand:()=>Kr,CreateDiscoveredDeviceAssociationMapCommand:()=>Hr,CreateDiscoveredDeviceCommand:()=>Br,CreateImageUploadEndpointCommand:()=>Ur,CreateIssueCommand:()=>Lr,CreateLockCommand:()=>Wr,CreateMediaSourceCommand:()=>Gr,CreateOrganizationCommand:()=>Yr,CreatePolicyCommand:()=>Xr,CreatePropertyCommand:()=>Qr,CreateReservationCommand:()=>Jr,CreateRoomCommand:()=>_r,CreateRoomInSpaceCommand:()=>ei,CreateSceneCommand:()=>ti,CreateSpaceCommand:()=>si,CreateSwitchCommand:()=>ri,CreateThermostatCommand:()=>ii,CreateTicketCommand:()=>ni,CreateTicketMessageCommand:()=>oi,CreateTimeSheetCommand:()=>ai,CreateTimeSheetTimeEntryCommand:()=>pi,CreateUserCommand:()=>mi,CreateUserMobileKeyCommand:()=>li,CreateVendorCommand:()=>ui,CreateWindowCoveringCommand:()=>di,DeleteAlarmCommand:()=>fi,DeleteAnnouncementCommand:()=>ci,DeleteCameraCommand:()=>yi,DeleteCategoryCommand:()=>hi,DeleteCourtesyCommand:()=>gi,DeleteDimmerCommand:()=>bi,DeleteDiscoveredDeviceCommand:()=>wi,DeleteIssueCommand:()=>Pi,DeleteLockCommand:()=>vi,DeleteMediaFileCommand:()=>ki,DeleteMediaSourceCommand:()=>ji,DeletePolicyCommand:()=>Ai,DeleteReservationCommand:()=>qi,DeleteRoomCommand:()=>xi,DeleteSpaceCommand:()=>Ii,DeleteSwitchCommand:()=>Ni,DeleteThermostatCommand:()=>zi,DeleteTicketCommand:()=>$i,DeleteTimeSheetCommand:()=>Mi,DeleteTimeSheetTimeEntryCommand:()=>Ei,DeleteUserCommand:()=>Si,DeleteUserCredentialCommand:()=>Di,DeleteVendorCommand:()=>Oi,DeleteWindowCoveringCommand:()=>Ci,DescribeAlarmCommand:()=>Fi,DescribeAlarmConfigCommand:()=>Ti,DescribeAnnouncementCommand:()=>Zi,DescribeCameraCommand:()=>Ri,DescribeCategoryCommand:()=>Vi,DescribeCourtesyCommand:()=>Bi,DescribeDimmerCommand:()=>Ki,DescribeDiscoveredDeviceCommand:()=>Hi,DescribeIssueCommand:()=>Ui,DescribeLockCommand:()=>Li,DescribeLockCredentialCommand:()=>Wi,DescribeMediaSourceCommand:()=>Gi,DescribeMyAuthCommand:()=>Yi,DescribeMyMobileKeyAppCommand:()=>Xi,DescribeMyOrganizationCommand:()=>Qi,DescribeMyPasskeyRegistrationsCommand:()=>Ji,DescribeOrganizationCommand:()=>_i,DescribePolicyCommand:()=>en,DescribeProductCommand:()=>tn,DescribePropertyCommand:()=>sn,DescribeReservationCommand:()=>rn,DescribeReservationEarlyCheckInProductsCommand:()=>nn,DescribeReservationLateCheckOutProductsCommand:()=>on,DescribeReservationPetProductsCommand:()=>an,DescribeReservationPromosCommand:()=>pn,DescribeReservationRoomUpgradesCommand:()=>mn,DescribeRoomCommand:()=>ln,DescribeSOSCommand:()=>un,DescribeSelfCommand:()=>dn,DescribeSpaceCommand:()=>fn,DescribeSwitchCommand:()=>cn,DescribeThermostatCommand:()=>yn,DescribeTicketCommand:()=>hn,DescribeTicketStatsCommand:()=>gn,DescribeTimeSheetCommand:()=>bn,DescribeTimeSheetStatsCommand:()=>wn,DescribeUserCommand:()=>Pn,DescribeVendorCommand:()=>vn,DescribeWindowCoveringCommand:()=>kn,DiscoverReservationsCommand:()=>jn,EmailUserAccountSetupCommand:()=>An,FinishRegisterPasskeyCommand:()=>qn,ListAlarmsCommand:()=>xn,ListAnnouncementsCommand:()=>In,ListCameraStreamPreviewsCommand:()=>Nn,ListCamerasCommand:()=>zn,ListCategoriesCommand:()=>$n,ListCourtesyCommand:()=>Mn,ListDimmersCommand:()=>En,ListDiscoveredDevicesCommand:()=>Sn,ListIssuesCommand:()=>Dn,ListLocksCommand:()=>On,ListMediaSourcesCommand:()=>Cn,ListMyOrdersCommand:()=>Fn,ListMyPropertiesCommand:()=>Tn,ListMyReservationsCommand:()=>Zn,ListMySpacesCommand:()=>Rn,ListMyTicketsCommand:()=>Vn,ListMyTimeSheetsCommand:()=>Bn,ListOrdersCommand:()=>Kn,ListOrganizationsCommand:()=>Hn,ListPoliciesCommand:()=>Un,ListProductsCommand:()=>Ln,ListPropertiesCommand:()=>Wn,ListReservationsCommand:()=>Gn,ListRoomsCommand:()=>Yn,ListRoomsInSpaceCommand:()=>Xn,ListScenesCommand:()=>Qn,ListSpacesCommand:()=>Jn,ListSwitchesCommand:()=>_n,ListTeamCommand:()=>eo,ListThermostatsCommand:()=>to,ListTicketsCommand:()=>so,ListTimeSheetsCommand:()=>ro,ListUserMobileKeysCommand:()=>io,ListUserOrdersCommand:()=>no,ListUserReservationsCommand:()=>oo,ListUserSpacesCommand:()=>ao,ListUsersCommand:()=>po,ListVendorsCommand:()=>mo,ListWindowCoveringsCommand:()=>lo,LoginFinishCommand:()=>uo,LoginStartCommand:()=>fo,LogoutSelfCommand:()=>co,LogoutUserCommand:()=>yo,MatchUserIdentificationCommand:()=>ho,OCRDocumentCommand:()=>go,PurchaseReservationEarlyCheckInProductsCommand:()=>bo,PurchaseReservationLateCheckOutProductsCommand:()=>wo,PurchaseReservationPetProductsCommand:()=>Po,PurchaseReservationPromosCommand:()=>vo,PurchaseReservationRoomUpgradesCommand:()=>ko,RefreshTokenCommand:()=>pt,RequestLoginTokenCommand:()=>jo,SendCheckInSMSCommand:()=>Ao,SendCheckOutSMSCommand:()=>qo,SendPreArrivalEmailCommand:()=>xo,SendPreArrivalSMSCommand:()=>Io,SendRoomControlSMSCommand:()=>No,SendVerificationCodeCommand:()=>zo,SetAlarmCommand:()=>$o,SetCameraCommand:()=>Mo,SetCourtesyCommand:()=>Eo,SetDimmerCommand:()=>So,SetLockCommand:()=>Do,SetMediaSourceCommand:()=>Oo,SetRoomSceneCommand:()=>Co,SetSceneCommand:()=>Fo,SetSpaceSceneCommand:()=>To,SetSwitchCommand:()=>Zo,SetThermostatCommand:()=>Ro,SetWindowCoveringCommand:()=>Vo,StartRegisterPasskeyCommand:()=>Bo,StartSOSCommand:()=>Ko,StopSOSCommand:()=>Ho,TipUserCommand:()=>Uo,UpdateAlarmCommand:()=>Lo,UpdateAnnouncementCommand:()=>Wo,UpdateCameraCommand:()=>Go,UpdateCategoryCommand:()=>Yo,UpdateCourtesyCommand:()=>Xo,UpdateDimmerCommand:()=>Qo,UpdateDiscoveredDeviceCommand:()=>Jo,UpdateIssueCommand:()=>_o,UpdateLockCommand:()=>ea,UpdateMediaSourceCommand:()=>ta,UpdateMessageReadStatusCommand:()=>sa,UpdateOrganizationCommand:()=>ra,UpdatePolicyCommand:()=>ia,UpdatePropertyCommand:()=>na,UpdatePropertySettingsCommand:()=>oa,UpdateReservationCommand:()=>aa,UpdateReservationExpectedArrivalTimeCommand:()=>pa,UpdateRoomCommand:()=>ma,UpdateSelfCommand:()=>la,UpdateSpaceCommand:()=>ua,UpdateSwitchCommand:()=>da,UpdateThermostatCommand:()=>fa,UpdateTicketCommand:()=>ca,UpdateTicketStatusCommand:()=>ya,UpdateTimeSheetCommand:()=>ha,UpdateTimeSheetTimeEntryCommand:()=>ga,UpdateUserCommand:()=>ba,UpdateVendorCommand:()=>wa,UpdateWindowCoveringCommand:()=>Pa,UploadImageCommand:()=>va,UpsertDiscoveredDeviceCommand:()=>ka});var Ar=class r{static{c(this,"AssignSpaceToReservationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/space";static method="post"};var qr=class r{static{c(this,"AutoAssociateDiscoveredDevicesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/discoveredDevices/autoAssociate";static method="post"};var xr=class r{static{c(this,"AutoCloseTicketsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/tickets/autoClose";static method="post"};var Ir=class r{static{c(this,"BatchNotifyCheckInCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/reservations/batchNotifyCheckIn";static method="post"};var Nr=class r{static{c(this,"BatchNotifyCheckOutCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/reservations/batchNotifyCheckIn";static method="post"};var zr=class r{static{c(this,"BatchNotifyMissedCheckOutCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/reservations/batchNotifyMissedCheckOut";static method="post"};var $r=class r{static{c(this,"BatchNotifyPreArrivalCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/reservations/batchNotifyPreArrival";static method="post"};var Mr=class r{static{c(this,"BulkUpdateIssueCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/issues";static method="put"};var Er=class r{static{c(this,"CheckInReservationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/checkin";static method="post"};var Sr=class r{static{c(this,"CheckOutReservationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/checkout";static method="post"};var Dr=class r{static{c(this,"CheckVerificationCodeCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/checkVerificationCode";static method="post"};var Or=class r{static{c(this,"CreateAlarmCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/alarms";static method="post"};var Cr=class r{static{c(this,"CreateAnnouncementCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/announcements";static method="post"};var Fr=class r{static{c(this,"CreateCameraCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/cameras";static method="post"};var Tr=class r{static{c(this,"CreateCateoryCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/categories";static method="post"};var Zr=class r{static{c(this,"CreateCourtesyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/courtesy";static method="post"};var Rr=class r{static{c(this,"CreateDefaultScenesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/scenes/default";static method="post"};var Vr=class r{static{c(this,"CreateDimmerCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/dimmers";static method="post"};var Br=class r{static{c(this,"CreateDiscoveredDeviceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/discoveredDevices";static method="post"};var Kr=class r{static{c(this,"CreateDiscoveredDeviceAssociationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/discoveredDevices/:id/associate";static method="post"};var Hr=class r{static{c(this,"CreateDiscoveredDeviceAssociationMapCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/discoveredDevices/associationMap";static method="get"};var Ur=class r{static{c(this,"CreateImageUploadEndpointCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/mediaFiles/imageUploadEndpoint";static method="post"};var Lr=class r{static{c(this,"CreateIssueCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/issues";static method="post"};var Wr=class r{static{c(this,"CreateLockCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/locks";static method="post"};var Gr=class r{static{c(this,"CreateMediaSourceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/mediaSources";static method="post"};var Yr=class r{static{c(this,"CreateOrganizationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/organizations";static method="post"};var Xr=class r{static{c(this,"CreatePolicyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/policies";static method="post"};var Qr=class r{static{c(this,"CreatePropertyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/properties";static method="post"};var Jr=class r{static{c(this,"CreateReservationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/reservations";static method="post"};var _r=class r{static{c(this,"CreateRoomCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/rooms";static method="post"};var ei=class r{static{c(this,"CreateRoomInSpaceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/spaces/:id/rooms";static method="post"};var ti=class r{static{c(this,"CreateSceneCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/scenes";static method="post"};var si=class r{static{c(this,"CreateSpaceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/spaces";static method="post"};var ri=class r{static{c(this,"CreateSwitchCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/switches";static method="post"};var ii=class r{static{c(this,"CreateThermostatCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/thermostats";static method="post"};var ni=class r{static{c(this,"CreateTicketCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/tickets";static method="post"};var oi=class r{static{c(this,"CreateTicketMessageCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/tickets/:id/messages";static method="post"};var ai=class r{static{c(this,"CreateTimeSheetCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/timesheets";static method="post"};var pi=class r{static{c(this,"CreateTimeSheetTimeEntryCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["timeSheetId"];static url="/timesheets/:timeSheetId/timeEntries";static method="post"};var mi=class r{static{c(this,"CreateUserCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/users";static method="post"};var li=class r{static{c(this,"CreateUserMobileKeyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/mobileKeys";static method="post"};var ui=class r{static{c(this,"CreateVendorCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/vendors";static method="post"};var di=class r{static{c(this,"CreateWindowCoveringCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/windowCoverings";static method="post"};var fi=class r{static{c(this,"DeleteAlarmCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="delete"};var ci=class r{static{c(this,"DeleteAnnouncementCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/announcements/:id";static method="delete"};var yi=class r{static{c(this,"DeleteCameraCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="delete"};var hi=class r{static{c(this,"DeleteCategoryCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/categories/:id";static method="delete"};var gi=class r{static{c(this,"DeleteCourtesyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="delete"};var bi=class r{static{c(this,"DeleteDimmerCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="delete"};var wi=class r{static{c(this,"DeleteDiscoveredDeviceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/discoveredDevices/:id";static method="delete"};var Pi=class r{static{c(this,"DeleteIssueCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/issues/:id";static method="delete"};var vi=class r{static{c(this,"DeleteLockCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="delete"};var ki=class r{static{c(this,"DeleteMediaFileCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/mediaFiles/:id";static method="delete"};var ji=class r{static{c(this,"DeleteMediaSourceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="delete"};var Ai=class r{static{c(this,"DeletePolicyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/policies/:id";static method="delete"};var qi=class r{static{c(this,"DeleteReservationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id";static method="delete"};var xi=class r{static{c(this,"DeleteRoomCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/rooms/:id";static method="delete"};var Ii=class r{static{c(this,"DeleteSpaceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/spaces/:id";static method="delete"};var Ni=class r{static{c(this,"DeleteSwitchCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="delete"};var zi=class r{static{c(this,"DeleteThermostatCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="delete"};var $i=class r{static{c(this,"DeleteTicketCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/tickets/:id";static method="delete"};var Mi=class r{static{c(this,"DeleteTimeSheetCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/timesheets/:id";static method="delete"};var Ei=class r{static{c(this,"DeleteTimeSheetTimeEntryCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["timeSheetId","id"];static url="/timesheets/:timeSheetId/timeEntries/:id";static method="delete"};var Si=class r{static{c(this,"DeleteUserCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id";static method="delete"};var Di=class r{static{c(this,"DeleteUserCredentialCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/me/accessCredentials/:id";static method="delete"};var Oi=class r{static{c(this,"DeleteVendorCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/vendors/:id";static method="delete"};var Ci=class r{static{c(this,"DeleteWindowCoveringCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="delete"};var Fi=class r{static{c(this,"DescribeAlarmCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="get"};var Ti=class r{static{c(this,"DescribeAlarmConfigCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id/config";static method="get"};var Zi=class r{static{c(this,"DescribeAnnouncementCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/announcements/:id";static method="get"};var Ri=class r{static{c(this,"DescribeCameraCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="get"};var Vi=class r{static{c(this,"DescribeCategoryCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/categories/:id";static method="get"};var Bi=class r{static{c(this,"DescribeCourtesyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="get"};var Ki=class r{static{c(this,"DescribeDimmerCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="get"};var Hi=class r{static{c(this,"DescribeDiscoveredDeviceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/discoveredDevices/:id";static method="get"};var Ui=class r{static{c(this,"DescribeIssueCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/issues/:id";static method="get"};var Li=class r{static{c(this,"DescribeLockCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="get"};var Wi=class r{static{c(this,"DescribeLockCredentialCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id/credential";static method="post"};var Gi=class r{static{c(this,"DescribeMediaSourceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="get"};var Yi=class r{static{c(this,"DescribeMyAuthCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/auth/me";static method="get"};var Xi=class r{static{c(this,"DescribeMyMobileKeyAppCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/users/me/accessCredentials";static method="get"};var Qi=class r{static{c(this,"DescribeMyOrganizationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/organizations/mine";static method="get"};var Ji=class r{static{c(this,"DescribeMyPasskeyRegistrationsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/users/me/passkeyRegistrations";static method="get"};var _i=class r{static{c(this,"DescribeOrganizationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/organizations/:id";static method="get"};var en=class r{static{c(this,"DescribePolicyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/policies/:id";static method="get"};var tn=class r{static{c(this,"DescribeProductCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/products/:id";static method="get"};var sn=class r{static{c(this,"DescribePropertyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/properties/:id";static method="get"};var rn=class r{static{c(this,"DescribeReservationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id";static method="get"};var nn=class r{static{c(this,"DescribeReservationEarlyCheckInProductsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/earlyCheckIn";static method="get"};var on=class r{static{c(this,"DescribeReservationLateCheckOutProductsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/lateCheckOut";static method="get"};var an=class r{static{c(this,"DescribeReservationPetProductsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/pet";static method="get"};var pn=class r{static{c(this,"DescribeReservationPromosCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/promo";static method="get"};var mn=class r{static{c(this,"DescribeReservationRoomUpgradesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/roomUpgrades";static method="get"};var ln=class r{static{c(this,"DescribeRoomCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/rooms/:id";static method="get"};var un=class r{static{c(this,"DescribeSOSCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/sos";static method="get"};var dn=class r{static{c(this,"DescribeSelfCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/users/me";static method="get"};var fn=class r{static{c(this,"DescribeSpaceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/spaces/:id";static method="get"};var cn=class r{static{c(this,"DescribeSwitchCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="get"};var yn=class r{static{c(this,"DescribeThermostatCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="get"};var hn=class r{static{c(this,"DescribeTicketCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/tickets/:id";static method="get"};var gn=class r{static{c(this,"DescribeTicketStatsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/tickets/stats";static method="get"};var bn=class r{static{c(this,"DescribeTimeSheetCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/timesheets/:id";static method="get"};var wn=class r{static{c(this,"DescribeTimeSheetStatsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/timesheets/stats";static method="get"};var Pn=class r{static{c(this,"DescribeUserCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id";static method="get"};var vn=class r{static{c(this,"DescribeVendorCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/vendors/:id";static method="get"};var kn=class r{static{c(this,"DescribeWindowCoveringCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="get"};var jn=class r{static{c(this,"DiscoverReservationsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/reservations/discover";static method="get"};var An=class r{static{c(this,"EmailUserAccountSetupCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/email/setup";static method="post"};var qn=class r{static{c(this,"FinishRegisterPasskeyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/auth/registerPasskey/finish";static method="post"};var xn=class r{static{c(this,"ListAlarmsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/alarms";static method="get"};var In=class r{static{c(this,"ListAnnouncementsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/announcements";static method="get"};var Nn=class r{static{c(this,"ListCameraStreamPreviewsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/cameras/stream-previews";static method="get"};var zn=class r{static{c(this,"ListCamerasCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/cameras";static method="get"};var $n=class r{static{c(this,"ListCategoriesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/categories";static method="get"};var Mn=class r{static{c(this,"ListCourtesyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/courtesy";static method="get"};var En=class r{static{c(this,"ListDimmersCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/dimmers";static method="get"};var Sn=class r{static{c(this,"ListDiscoveredDevicesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/discoveredDevices";static method="get"};var Dn=class r{static{c(this,"ListIssuesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/issues";static method="get"};var On=class r{static{c(this,"ListLocksCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/locks";static method="get"};var Cn=class r{static{c(this,"ListMediaSourcesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/mediaSources";static method="get"};var Fn=class r{static{c(this,"ListMyOrdersCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/orders/mine";static method="get"};var Tn=class r{static{c(this,"ListMyPropertiesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/properties/mine";static method="get"};var Zn=class r{static{c(this,"ListMyReservationsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/reservations/mine";static method="get"};var Rn=class r{static{c(this,"ListMySpacesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/spaces/mine";static method="get"};var Vn=class r{static{c(this,"ListMyTicketsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/tickets/mine";static method="get"};var Bn=class r{static{c(this,"ListMyTimeSheetsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/timesheets/mine";static method="get"};var Kn=class r{static{c(this,"ListOrdersCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/orders";static method="get"};var Hn=class r{static{c(this,"ListOrganizationsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/organizations";static method="get"};var Un=class r{static{c(this,"ListPoliciesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/policies";static method="get"};var Ln=class r{static{c(this,"ListProductsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/products";static method="get"};var Wn=class r{static{c(this,"ListPropertiesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/properties";static method="get"};var Gn=class r{static{c(this,"ListReservationsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/reservations";static method="get"};var Yn=class r{static{c(this,"ListRoomsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/rooms";static method="get"};var Xn=class r{static{c(this,"ListRoomsInSpaceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/spaces/:id/rooms";static method="get"};var Qn=class r{static{c(this,"ListScenesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/scenes";static method="get"};var Jn=class r{static{c(this,"ListSpacesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/spaces";static method="get"};var _n=class r{static{c(this,"ListSwitchesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/switches";static method="get"};var eo=class r{static{c(this,"ListTeamCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/team";static method="get"};var to=class r{static{c(this,"ListThermostatsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/thermostats";static method="get"};var so=class r{static{c(this,"ListTicketsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/tickets";static method="get"};var ro=class r{static{c(this,"ListTimeSheetsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/timesheets";static method="get"};var io=class r{static{c(this,"ListUserMobileKeysCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/mobileKeys";static method="get"};var no=class r{static{c(this,"ListUserOrdersCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/orders";static method="get"};var oo=class r{static{c(this,"ListUserReservationsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/reservations";static method="get"};var ao=class r{static{c(this,"ListUserSpacesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/spaces";static method="get"};var po=class r{static{c(this,"ListUsersCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/users";static method="get"};var mo=class r{static{c(this,"ListVendorsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/vendors";static method="get"};var lo=class r{static{c(this,"ListWindowCoveringsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId"];static url="/rooms/:roomId/windowCoverings";static method="get"};var uo=class r{static{c(this,"LoginFinishCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/auth/finish";static method="post"};var fo=class r{static{c(this,"LoginStartCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/auth/start";static method="post"};var co=class r{static{c(this,"LogoutSelfCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/auth/user/me/logout";static method="post"};var yo=class r{static{c(this,"LogoutUserCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/auth/user/:id/logout";static method="post"};var ho=class r{static{c(this,"MatchUserIdentificationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/identifications/match";static method="post"};var go=class r{static{c(this,"OCRDocumentCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/documents/ocr";static method="post"};var bo=class r{static{c(this,"PurchaseReservationEarlyCheckInProductsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/earlyCheckIn";static method="post"};var wo=class r{static{c(this,"PurchaseReservationLateCheckOutProductsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/lateCheckOut";static method="post"};var Po=class r{static{c(this,"PurchaseReservationPetProductsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/pet";static method="post"};var vo=class r{static{c(this,"PurchaseReservationPromosCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/promo";static method="post"};var ko=class r{static{c(this,"PurchaseReservationRoomUpgradesCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/products/roomUpgrades";static method="post"};var jo=class r{static{c(this,"RequestLoginTokenCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/auth/loginToken";static method="get"};var Ao=class r{static{c(this,"SendCheckInSMSCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/sendCheckInSMS";static method="post"};var qo=class r{static{c(this,"SendCheckOutSMSCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/sendCheckOutSMS";static method="post"};var xo=class r{static{c(this,"SendPreArrivalEmailCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/sendPreArrivalEmail";static method="post"};var Io=class r{static{c(this,"SendPreArrivalSMSCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/sendPreArrivalSMS";static method="post"};var No=class r{static{c(this,"SendRoomControlSMSCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/sendRoomControlSMS";static method="post"};var zo=class r{static{c(this,"SendVerificationCodeCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/sendVerificationCode";static method="post"};var $o=class r{static{c(this,"SetAlarmCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="post"};var Mo=class r{static{c(this,"SetCameraCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="post"};var Eo=class r{static{c(this,"SetCourtesyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="post"};var So=class r{static{c(this,"SetDimmerCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="post"};var Do=class r{static{c(this,"SetLockCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="post"};var Oo=class r{static{c(this,"SetMediaSourceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="post"};var Co=class r{static{c(this,"SetRoomSceneCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/scenes/:id";static method="post"};var Fo=class r{static{c(this,"SetSceneCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/scenes/:id";static method="post"};var To=class r{static{c(this,"SetSpaceSceneCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["spaceId","id"];static url="/spaces/:spaceId/scenes/:id";static method="post"};var Zo=class r{static{c(this,"SetSwitchCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="post"};var Ro=class r{static{c(this,"SetThermostatCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="post"};var Vo=class r{static{c(this,"SetWindowCoveringCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="post"};var Bo=class r{static{c(this,"StartRegisterPasskeyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/auth/registerPasskey/start";static method="post"};var Ko=class r{static{c(this,"StartSOSCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/sos/start";static method="post"};var Ho=class r{static{c(this,"StopSOSCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/sos/stop";static method="post"};var Uo=class r{static{c(this,"TipUserCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id/tip";static method="post"};var Lo=class r{static{c(this,"UpdateAlarmCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/alarms/:id";static method="put"};var Wo=class r{static{c(this,"UpdateAnnouncementCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/announcements/:id";static method="put"};var Go=class r{static{c(this,"UpdateCameraCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/cameras/:id";static method="put"};var Yo=class r{static{c(this,"UpdateCategoryCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/categories/:id";static method="put"};var Xo=class r{static{c(this,"UpdateCourtesyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/courtesy/:id";static method="put"};var Qo=class r{static{c(this,"UpdateDimmerCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/dimmers/:id";static method="put"};var Jo=class r{static{c(this,"UpdateDiscoveredDeviceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/discoveredDevices/:id";static method="put"};var _o=class r{static{c(this,"UpdateIssueCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/issues/:id";static method="put"};var ea=class r{static{c(this,"UpdateLockCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/locks/:id";static method="put"};var ta=class r{static{c(this,"UpdateMediaSourceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/mediaSources/:id";static method="put"};var sa=class r{static{c(this,"UpdateMessageReadStatusCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/tickets/:id/readAll";static method="post"};var ra=class r{static{c(this,"UpdateOrganizationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/organizations/:id";static method="put"};var ia=class r{static{c(this,"UpdatePolicyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/policies/:id";static method="put"};var na=class r{static{c(this,"UpdatePropertyCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/properties/:id";static method="put"};var oa=class r{static{c(this,"UpdatePropertySettingsCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/properties/:id/settings";static method="put"};var aa=class r{static{c(this,"UpdateReservationCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id";static method="put"};var pa=class r{static{c(this,"UpdateReservationExpectedArrivalTimeCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/reservations/:id/expectedArrivalTime";static method="put"};var ma=class r{static{c(this,"UpdateRoomCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/rooms/:id";static method="put"};var la=class r{static{c(this,"UpdateSelfCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/users/me";static method="put"};var ua=class r{static{c(this,"UpdateSpaceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/spaces/:id";static method="put"};var da=class r{static{c(this,"UpdateSwitchCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/switches/:id";static method="put"};var fa=class r{static{c(this,"UpdateThermostatCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/thermostats/:id";static method="put"};var ca=class r{static{c(this,"UpdateTicketCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/tickets/:id";static method="put"};var ya=class r{static{c(this,"UpdateTicketStatusCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/tickets/:id/status";static method="put"};var ha=class r{static{c(this,"UpdateTimeSheetCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/timesheets/:id";static method="put"};var ga=class r{static{c(this,"UpdateTimeSheetTimeEntryCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["timeSheetId","id"];static url="/timesheets/:timeSheetId/timeEntries/:id";static method="put"};var ba=class r{static{c(this,"UpdateUserCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/users/:id";static method="put"};var wa=class r{static{c(this,"UpdateVendorCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["id"];static url="/vendors/:id";static method="put"};var Pa=class r{static{c(this,"UpdateWindowCoveringCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=["roomId","id"];static url="/rooms/:roomId/windowCoverings/:id";static method="put"};var va=class r{static{c(this,"UploadImageCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/mediaFiles/uploadImage";static method="post"};var ka=class r{static{c(this,"UpsertDiscoveredDeviceCommand")}constructor(t,f={}){let u=r.params,{data:p,query:e,headers:s}=t??{};typeof p>"u"&&(p=null),typeof e>"u"&&(e=null),typeof s>"u"&&(s=null);let a=r.url;if(u&&p)for(let n of u){let i=":"+n;a=a.replace(i,p[n])}if(a.match(/:[a-zA-Z0-9]+/g)){let n=a.match(/:[a-zA-Z0-9]+/g);if(n){let i=n.map(o=>o.replace(":",""));throw new Error("Missing parameters: "+i.join(", "))}}this.url=a,this.data=p,this.query=e,this.headers=s,this.config={method:r.method,url:a,data:p,params:e,headers:s,...f}}static params=[];static url="/discoveredDevices/upsert";static method="post"};var Aa={};te(Aa,{entityFactory:()=>dl,errorFactory:()=>fl,eventFactory:()=>cl});function dl(r){switch(r){case"reservation":return Oe;case"mediaFile":return Ie;case"switch":return Ve;case"alarm":return le;case"dimmer":return ge;case"lock":return qe;case"thermostat":return Ke;case"windowCovering":return Ge;case"identification":return je;case"user":return Le;case"systemUser":return Be;case"policy":return Ee;case"courtesy":return ce;case"camera":return de;case"motionSensor":return ze;case"mediaSource":return Ne;case"room":return Ce;case"space":return Re;case"category":return fe;case"ticket":return He;case"scene":return Fe;case"gateway":return ke;case"product":return Se;case"order":return $e;case"discoveredDevice":return be;case"deviceRouter":return he;case"credential":return ye;case"shortLink":return Te;case"energyReportShard":return ve;case"energyReport":return Pe;case"smsMessage":return Ze;case"emailMessage":return we;case"announcement":return ue;case"timeSheet":return Ue;case"property":return De;case"organization":return Me;case"issue":return Ae;case"vendor":return We;case"log":return xe;default:throw new Error("Unknown entity type: "+r)}}c(dl,"entityFactory");function fl(r){switch(r){case"AppError":return O;case"AuthenticationError":return Je;case"AuthorizationError":return _e;case"ConflictError":return et;case"DeviceCommError":return tt;case"LoginError":return st;case"NotFoundError":return rt;case"RequestError":return it;case"SystemCommError":return nt;case"TokenExpiredError":return ot;case"UnprocessableRequestError":return at;case"ValidationError":return ne;default:return new Error("Invalid error name: "+r)}}c(fl,"errorFactory");function cl(r){let f=Object.values(mt).find(u=>u.prototype.name===r);if(!f)throw new Error("Invalid event name: "+r);return f}c(cl,"eventFactory");0&&(module.exports={AMQPClient,Client,Commands,Errors,Events,Models,SocketIoClient,UseCases,defs,utils});
16
+ //# sourceMappingURL=index.cjs.map