homebridge-config-ui-x 5.0.0-beta.3 → 5.0.0-beta.30

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 (282) hide show
  1. package/CHANGELOG.md +182 -8
  2. package/LICENSE +1 -1
  3. package/README.md +6 -8
  4. package/config.schema.json +38 -18
  5. package/dist/bin/fork.js +17 -7
  6. package/dist/bin/fork.js.map +1 -1
  7. package/dist/bin/hb-service.d.ts +2 -2
  8. package/dist/bin/hb-service.js +67 -56
  9. package/dist/bin/hb-service.js.map +1 -1
  10. package/dist/bin/platforms/win32.js +4 -2
  11. package/dist/bin/platforms/win32.js.map +1 -1
  12. package/dist/bin/standalone.js +18 -7
  13. package/dist/bin/standalone.js.map +1 -1
  14. package/dist/core/auth/auth.controller.d.ts +2 -0
  15. package/dist/core/auth/auth.controller.js.map +1 -1
  16. package/dist/core/auth/auth.module.js +1 -1
  17. package/dist/core/auth/auth.module.js.map +1 -1
  18. package/dist/core/auth/auth.service.js +10 -10
  19. package/dist/core/auth/auth.service.js.map +1 -1
  20. package/dist/core/config/config.service.d.ts +3 -0
  21. package/dist/core/config/config.service.js +1 -0
  22. package/dist/core/config/config.service.js.map +1 -1
  23. package/dist/core/config/config.startup.js +2 -2
  24. package/dist/core/config/config.startup.js.map +1 -1
  25. package/dist/core/homebridge-ipc/homebridge-ipc.service.js +3 -3
  26. package/dist/core/homebridge-ipc/homebridge-ipc.service.js.map +1 -1
  27. package/dist/index.js +25 -14
  28. package/dist/index.js.map +1 -1
  29. package/dist/main.js +1 -1
  30. package/dist/main.js.map +1 -1
  31. package/dist/modules/accessories/accessories.controller.js +4 -4
  32. package/dist/modules/accessories/accessories.controller.js.map +1 -1
  33. package/dist/modules/accessories/accessories.service.js +7 -6
  34. package/dist/modules/accessories/accessories.service.js.map +1 -1
  35. package/dist/modules/backup/backup.controller.js +7 -7
  36. package/dist/modules/backup/backup.controller.js.map +1 -1
  37. package/dist/modules/backup/backup.service.js +17 -17
  38. package/dist/modules/backup/backup.service.js.map +1 -1
  39. package/dist/modules/child-bridges/child-bridges.service.js +3 -3
  40. package/dist/modules/child-bridges/child-bridges.service.js.map +1 -1
  41. package/dist/modules/config-editor/config-editor.controller.d.ts +1 -1
  42. package/dist/modules/config-editor/config-editor.controller.js +7 -7
  43. package/dist/modules/config-editor/config-editor.controller.js.map +1 -1
  44. package/dist/modules/config-editor/config-editor.service.d.ts +1 -1
  45. package/dist/modules/config-editor/config-editor.service.js +6 -6
  46. package/dist/modules/config-editor/config-editor.service.js.map +1 -1
  47. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js +11 -9
  48. package/dist/modules/custom-plugins/plugins-settings-ui/plugins-settings-ui.service.js.map +1 -1
  49. package/dist/modules/log/log.service.js +3 -3
  50. package/dist/modules/log/log.service.js.map +1 -1
  51. package/dist/modules/platform-tools/docker/docker.controller.js +3 -3
  52. package/dist/modules/platform-tools/docker/docker.controller.js.map +1 -1
  53. package/dist/modules/platform-tools/docker/docker.service.js +1 -1
  54. package/dist/modules/platform-tools/docker/docker.service.js.map +1 -1
  55. package/dist/modules/platform-tools/hb-service/hb-service.controller.js +1 -1
  56. package/dist/modules/platform-tools/hb-service/hb-service.controller.js.map +1 -1
  57. package/dist/modules/platform-tools/hb-service/hb-service.service.js +6 -6
  58. package/dist/modules/platform-tools/hb-service/hb-service.service.js.map +1 -1
  59. package/dist/modules/platform-tools/linux/linux.controller.js +2 -2
  60. package/dist/modules/platform-tools/linux/linux.controller.js.map +1 -1
  61. package/dist/modules/platform-tools/linux/linux.service.js +2 -2
  62. package/dist/modules/platform-tools/linux/linux.service.js.map +1 -1
  63. package/dist/modules/platform-tools/terminal/terminal.service.js +2 -2
  64. package/dist/modules/platform-tools/terminal/terminal.service.js.map +1 -1
  65. package/dist/modules/plugins/plugins.controller.js +4 -4
  66. package/dist/modules/plugins/plugins.controller.js.map +1 -1
  67. package/dist/modules/plugins/plugins.service.d.ts +1 -0
  68. package/dist/modules/plugins/plugins.service.js +74 -35
  69. package/dist/modules/plugins/plugins.service.js.map +1 -1
  70. package/dist/modules/server/server.controller.d.ts +19 -2
  71. package/dist/modules/server/server.controller.js +84 -18
  72. package/dist/modules/server/server.controller.js.map +1 -1
  73. package/dist/modules/server/server.service.d.ts +23 -6
  74. package/dist/modules/server/server.service.js +171 -56
  75. package/dist/modules/server/server.service.js.map +1 -1
  76. package/dist/modules/status/status.controller.js +3 -3
  77. package/dist/modules/status/status.controller.js.map +1 -1
  78. package/dist/modules/status/status.service.js +4 -4
  79. package/dist/modules/status/status.service.js.map +1 -1
  80. package/dist/modules/users/users.controller.js +1 -1
  81. package/dist/modules/users/users.controller.js.map +1 -1
  82. package/dist/self-check.js +6 -6
  83. package/dist/self-check.js.map +1 -1
  84. package/package.json +31 -27
  85. package/public/3rdpartylicenses.txt +70 -44
  86. package/public/assets/hap-icons/airpurifier.svg +49 -16
  87. package/public/assets/hap-icons/airquality.svg +24 -13
  88. package/public/assets/hap-icons/contactsensor-closed.svg +35 -2
  89. package/public/assets/hap-icons/contactsensor-open.svg +80 -2
  90. package/public/assets/hap-icons/door-closed.svg +32 -2
  91. package/public/assets/hap-icons/door-open.svg +48 -2
  92. package/public/assets/hap-icons/fan-off.svg +24 -13
  93. package/public/assets/hap-icons/fan-on.svg +24 -13
  94. package/public/assets/hap-icons/garagedoor.svg +24 -13
  95. package/public/assets/hap-icons/humidity.svg +24 -13
  96. package/public/assets/hap-icons/irrigation-system.svg +47 -18
  97. package/public/assets/hap-icons/leaksensor.svg +52 -2
  98. package/public/assets/hap-icons/light.svg +47 -28
  99. package/public/assets/hap-icons/lightbulb.svg +24 -13
  100. package/public/assets/hap-icons/lock-locked.svg +24 -13
  101. package/public/assets/hap-icons/lock-unlocked.svg +24 -13
  102. package/public/assets/hap-icons/motionsensor.svg +100 -2
  103. package/public/assets/hap-icons/occupancysensor.svg +97 -2
  104. package/public/assets/hap-icons/outlet.svg +24 -13
  105. package/public/assets/hap-icons/securitysystem-active.svg +102 -2
  106. package/public/assets/hap-icons/securitysystem-off.svg +68 -2
  107. package/public/assets/hap-icons/smokesensor.svg +42 -9
  108. package/public/assets/hap-icons/speaker.svg +29 -13
  109. package/public/assets/hap-icons/statelessprogrammableswitch.svg +51 -2
  110. package/public/assets/hap-icons/switch.svg +24 -13
  111. package/public/assets/hap-icons/television.svg +15 -4
  112. package/public/assets/hap-icons/temperature.svg +24 -13
  113. package/public/assets/hap-icons/unknown.svg +24 -13
  114. package/public/assets/hap-icons/valve-generic.svg +27 -16
  115. package/public/assets/hap-icons/valve-irrigation.svg +37 -21
  116. package/public/assets/hap-icons/valve-showerhead.svg +52 -0
  117. package/public/assets/hap-icons/valve-waterfaucet.svg +21 -0
  118. package/public/assets/hap-icons/window-closed.svg +85 -2
  119. package/public/assets/hap-icons/window-open.svg +136 -2
  120. package/public/assets/hap-icons/windowcovering-closed.svg +45 -49
  121. package/public/assets/hap-icons/windowcovering-open.svg +40 -44
  122. package/public/assets/homebridge-color-round.svg +36 -1
  123. package/public/assets/homebridge-logo.svg +11 -1
  124. package/public/assets/mask-icon.svg +5 -1
  125. package/public/assets/plugin-ui-utils/ui.js +38 -19
  126. package/public/assets/plugin-ui-utils/ui.js.map +1 -1
  127. package/public/{chunk-6TCHCTXZ.js → chunk-23M23WV2.js} +1 -1
  128. package/public/chunk-2YYAI64O.js +1 -0
  129. package/public/{chunk-VMXGERJT.js → chunk-2ZEIWH4C.js} +8 -8
  130. package/public/chunk-42YSCDZK.js +1 -0
  131. package/public/{chunk-QE7DO6J3.js → chunk-474BOAR2.js} +2 -2
  132. package/public/chunk-4BZV7AMQ.js +32 -0
  133. package/public/{chunk-WNWWUCCZ.js → chunk-5KLZWFYX.js} +1 -1
  134. package/public/chunk-5NTU76Y2.js +1 -0
  135. package/public/chunk-5OIS4J4X.js +1 -0
  136. package/public/chunk-5YBMCQ2E.js +1 -0
  137. package/public/chunk-64RTOH3L.js +1 -0
  138. package/public/chunk-675OFXLW.js +1 -0
  139. package/public/chunk-6TO5IBYB.js +5 -0
  140. package/public/chunk-6UQS6IP4.js +1 -0
  141. package/public/{chunk-BKUGARB4.js → chunk-7BCHGXO4.js} +1 -1
  142. package/public/chunk-A5D6DOHK.js +1 -0
  143. package/public/chunk-BMWLHPL2.js +1 -0
  144. package/public/chunk-BO2RTACA.js +1 -0
  145. package/public/chunk-BVC2RBSG.js +1 -0
  146. package/public/{chunk-CCUID66K.js → chunk-C2XBPNOQ.js} +1 -1
  147. package/public/chunk-C4PJKEWA.js +1 -0
  148. package/public/chunk-CHP2ZI3F.js +1 -0
  149. package/public/chunk-CKNHTRCL.js +7 -0
  150. package/public/chunk-CLERVK2C.js +1 -0
  151. package/public/chunk-CZY5YUJJ.js +1 -0
  152. package/public/chunk-DTH6YVQ5.js +1 -0
  153. package/public/chunk-DUM3YHTS.js +1 -0
  154. package/public/chunk-DWDK5EDZ.js +1 -0
  155. package/public/chunk-EEDUUZ6J.js +1 -0
  156. package/public/chunk-ERXUVZM6.js +1 -0
  157. package/public/chunk-FRSJ6MDR.js +1 -0
  158. package/public/{chunk-7L7RZCFC.js → chunk-GR4KMWT2.js} +1 -1
  159. package/public/chunk-GUAOICDU.js +1 -0
  160. package/public/chunk-H3YQBGGB.js +1 -0
  161. package/public/{chunk-UG5DK2RQ.js → chunk-HA6CO5NZ.js} +2 -2
  162. package/public/chunk-HJKPT3MJ.js +6 -0
  163. package/public/chunk-I37YRYWO.js +1 -0
  164. package/public/chunk-I5HC6YE6.js +1 -0
  165. package/public/{chunk-JZZQRLNW.js → chunk-JF5AT3NK.js} +1 -1
  166. package/public/chunk-KROLJP5T.js +1 -0
  167. package/public/chunk-KUS3JO5E.js +1 -0
  168. package/public/chunk-LEFLOPGL.js +1 -0
  169. package/public/chunk-LHGXPARJ.js +1 -0
  170. package/public/chunk-M66MJDOB.js +1 -0
  171. package/public/chunk-MLFCC76B.js +1 -0
  172. package/public/chunk-N4F42HDL.js +5 -0
  173. package/public/{chunk-NW6AFAD7.js → chunk-NFG4Y4PX.js} +1 -1
  174. package/public/{chunk-7EUQWCP5.js → chunk-NSCP3SOQ.js} +1 -1
  175. package/public/chunk-OWP42U3Q.js +1 -0
  176. package/public/chunk-QUXECVRB.js +1 -0
  177. package/public/{chunk-IW3EPSTZ.js → chunk-R5IIVXMM.js} +4 -4
  178. package/public/chunk-RGF5UNTQ.js +1 -0
  179. package/public/chunk-RLM4Q3NA.js +1 -0
  180. package/public/chunk-RZIIH6OH.js +1 -0
  181. package/public/chunk-S75PX3CD.js +1 -0
  182. package/public/chunk-S7RJS4DA.js +1 -0
  183. package/public/chunk-SFOCFUZK.js +1 -0
  184. package/public/chunk-SFW3EWWB.js +1 -0
  185. package/public/chunk-T3B7RH4F.js +1 -0
  186. package/public/{chunk-NZNNTHFQ.js → chunk-T3GI7KUT.js} +1 -1
  187. package/public/chunk-TNPEEFW3.js +1 -0
  188. package/public/chunk-TWVNA46I.js +1 -0
  189. package/public/chunk-U7T2AD2X.js +1 -0
  190. package/public/chunk-UA6R3XIL.js +1 -0
  191. package/public/chunk-UNUYCODO.js +1 -0
  192. package/public/chunk-UOL2NKOO.js +1 -0
  193. package/public/{chunk-BFDVOBTQ.js → chunk-V34IYB4T.js} +1 -1
  194. package/public/{chunk-VOBHY2IH.js → chunk-VH5DDEVH.js} +2 -2
  195. package/public/chunk-VRLRDDC6.js +20 -0
  196. package/public/chunk-VUP4TCYX.js +1 -0
  197. package/public/{chunk-6PHMBMFU.js → chunk-W3AL3YCO.js} +1 -1
  198. package/public/chunk-WC4JHC6X.js +1 -0
  199. package/public/chunk-WEJDJXGV.js +1 -0
  200. package/public/chunk-WJ3IINUA.js +1 -0
  201. package/public/{chunk-ASX35H47.js → chunk-WJVQNA7H.js} +1 -1
  202. package/public/chunk-X5YRTZFZ.js +1 -0
  203. package/public/chunk-XAM6ZNPS.js +1 -0
  204. package/public/{chunk-WHJOLAED.js → chunk-XFK2EZ3K.js} +1 -1
  205. package/public/{chunk-EA5J2VEJ.js → chunk-XP7D2PRA.js} +1 -1
  206. package/public/{chunk-WHJSVGC7.js → chunk-XQNHUDX7.js} +1 -1
  207. package/public/{chunk-QHPDGSZ6.js → chunk-YLEC7AUG.js} +1 -1
  208. package/public/chunk-YPAFR2PB.js +1 -0
  209. package/public/index.html +2 -2
  210. package/public/main-GTJ3X2LZ.js +1 -0
  211. package/public/media/fa-brands-400-Q3XCMWHQ.woff2 +0 -0
  212. package/public/media/{fa-brands-400-MVB2B5XM.ttf → fa-brands-400-R2XQZCET.ttf} +0 -0
  213. package/public/media/fa-regular-400-QSNYFYRT.woff2 +0 -0
  214. package/public/media/{fa-regular-400-EGQOOADX.ttf → fa-regular-400-XUOPSR7E.ttf} +0 -0
  215. package/public/media/fa-solid-900-5ZUYHGA7.woff2 +0 -0
  216. package/public/media/{fa-solid-900-ZUDIWQL5.ttf → fa-solid-900-PJNKLK6W.ttf} +0 -0
  217. package/public/styles-7Q7QNSR3.css +1 -0
  218. package/public/chunk-2OBHR63W.js +0 -1
  219. package/public/chunk-3C6WVST7.js +0 -1
  220. package/public/chunk-3IX3CLER.js +0 -1
  221. package/public/chunk-5ALXJOLQ.js +0 -1
  222. package/public/chunk-5LVGHH2N.js +0 -1
  223. package/public/chunk-7456RB3C.js +0 -1
  224. package/public/chunk-76S7LYCL.js +0 -1
  225. package/public/chunk-77A3OZ74.js +0 -1
  226. package/public/chunk-7EANS226.js +0 -1
  227. package/public/chunk-AVJ6EUEE.js +0 -1
  228. package/public/chunk-AX23H5TL.js +0 -1
  229. package/public/chunk-AZXQ73I5.js +0 -1
  230. package/public/chunk-BMXAHMY6.js +0 -1
  231. package/public/chunk-BPMSJ2VF.js +0 -1
  232. package/public/chunk-CW7Q7WEJ.js +0 -1
  233. package/public/chunk-DDXIRKVB.js +0 -1
  234. package/public/chunk-DNOJWLVY.js +0 -1
  235. package/public/chunk-DZY2Q3FG.js +0 -1
  236. package/public/chunk-FX4GQIE4.js +0 -32
  237. package/public/chunk-GVDR7ZRB.js +0 -1
  238. package/public/chunk-HSJSWZHD.js +0 -1
  239. package/public/chunk-I7ZKPCIW.js +0 -1
  240. package/public/chunk-IPZ4P5DE.js +0 -1
  241. package/public/chunk-IWYEH4T6.js +0 -1
  242. package/public/chunk-JL6S5IIU.js +0 -1
  243. package/public/chunk-KIJWUGXX.js +0 -1
  244. package/public/chunk-KO3WJGGG.js +0 -1
  245. package/public/chunk-KQJ7ONUG.js +0 -1
  246. package/public/chunk-KTDJZCFW.js +0 -1
  247. package/public/chunk-LDPCT3YF.js +0 -5
  248. package/public/chunk-MHYIZZN4.js +0 -1
  249. package/public/chunk-MOV2HTCQ.js +0 -1
  250. package/public/chunk-NF4NIS42.js +0 -1
  251. package/public/chunk-O75YP3SB.js +0 -1
  252. package/public/chunk-ODPTCLGS.js +0 -1
  253. package/public/chunk-ORPWYWCL.js +0 -5
  254. package/public/chunk-Q5URFHBE.js +0 -1
  255. package/public/chunk-QLWY5NWN.js +0 -1
  256. package/public/chunk-QRZNMAFL.js +0 -1
  257. package/public/chunk-RHB2T3FE.js +0 -1
  258. package/public/chunk-RMI35HIS.js +0 -1
  259. package/public/chunk-RO4QXVDE.js +0 -1
  260. package/public/chunk-RWZRB2OY.js +0 -1
  261. package/public/chunk-S62KH3FN.js +0 -6
  262. package/public/chunk-S6EMLS5Q.js +0 -1
  263. package/public/chunk-SVFFEV36.js +0 -1
  264. package/public/chunk-T2YVB4SI.js +0 -1
  265. package/public/chunk-TCSXGQNF.js +0 -1
  266. package/public/chunk-TXOB7R5K.js +0 -7
  267. package/public/chunk-U6ORTLYL.js +0 -1
  268. package/public/chunk-UJU3NPS7.js +0 -1
  269. package/public/chunk-UYZI56PX.js +0 -1
  270. package/public/chunk-UZU6PLTW.js +0 -1
  271. package/public/chunk-UZW3DWH4.js +0 -1
  272. package/public/chunk-WMB35VCS.js +0 -1
  273. package/public/chunk-WT2GX4NS.js +0 -1
  274. package/public/chunk-XH6GEPB6.js +0 -1
  275. package/public/chunk-ZLPCX4R4.js +0 -1
  276. package/public/chunk-ZT23DWNL.js +0 -1
  277. package/public/chunk-ZY7HKZ4P.js +0 -20
  278. package/public/main-ILTX7GFO.js +0 -1
  279. package/public/media/fa-brands-400-6U3GU5Y7.woff2 +0 -0
  280. package/public/media/fa-regular-400-R5EOMW4H.woff2 +0 -0
  281. package/public/media/fa-solid-900-W65KEJAS.woff2 +0 -0
  282. package/public/styles-GDLSHXGD.css +0 -1
@@ -1 +1 @@
1
- import{Aa as g,Ab as Fe,D as Ee,Fa as y,Fb as F,Hb as u,Hc as we,Ja as O,Kc as Ie,Lb as Z,Lc as w,Mc as m,Ob as ae,Pc as le,a as h,b as f,cc as C,ea as $,ga as d,ia as q,jb as o,ka as M,n as be,pb as x,q as Ae,sb as z,tb as l,vc as c,wa as E,x as Me}from"./chunk-TXOB7R5K.js";var Te=(()=>{class n{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static \u0275fac=function(i){return new(i||n)(o(x),o(O))};static \u0275dir=l({type:n})}return n})(),H=(()=>{class n extends Te{static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,features:[u]})}return n})(),b=new M(""),dt={provide:b,useExisting:d(()=>ct),multi:!0},ct=(()=>{class n extends H{writeValue(e){this.setProperty("checked",e)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){i&1&&C("change",function(a){return r.onChange(a.target.checked)})("blur",function(){return r.onTouched()})},standalone:!1,features:[c([dt]),u]})}return n})(),ht={provide:b,useExisting:d(()=>je),multi:!0};function ft(){let n=le()?le().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}var pt=new M(""),je=(()=>{class n extends Te{_compositionMode;_composing=!1;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!ft())}writeValue(e){let i=e==null?"":e;this.setProperty("value",i)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static \u0275fac=function(i){return new(i||n)(o(x),o(O),o(pt,8))};static \u0275dir=l({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){i&1&&C("input",function(a){return r._handleInput(a.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(a){return r._compositionEnd(a.target.value)})},standalone:!1,features:[c([ht]),u]})}return n})();function V(n){return n==null||(typeof n=="string"||Array.isArray(n))&&n.length===0}function Be(n){return n!=null&&typeof n.length=="number"}var A=new M(""),L=new M(""),gt=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Se=class{static min(t){return Ue(t)}static max(t){return He(t)}static required(t){return mt(t)}static requiredTrue(t){return _t(t)}static email(t){return vt(t)}static minLength(t){return yt(t)}static maxLength(t){return Ct(t)}static pattern(t){return Le(t)}static nullValidator(t){return Y(t)}static compose(t){return Xe(t)}static composeAsync(t){return Ye(t)}};function Ue(n){return t=>{if(V(t.value)||V(n))return null;let e=parseFloat(t.value);return!isNaN(e)&&e<n?{min:{min:n,actual:t.value}}:null}}function He(n){return t=>{if(V(t.value)||V(n))return null;let e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}function mt(n){return V(n.value)?{required:!0}:null}function _t(n){return n.value===!0?null:{required:!0}}function vt(n){return V(n.value)||gt.test(n.value)?null:{email:!0}}function yt(n){return t=>V(t.value)||!Be(t.value)?null:t.value.length<n?{minlength:{requiredLength:n,actualLength:t.value.length}}:null}function Ct(n){return t=>Be(t.value)&&t.value.length>n?{maxlength:{requiredLength:n,actualLength:t.value.length}}:null}function Le(n){if(!n)return Y;let t,e;return typeof n=="string"?(e="",n.charAt(0)!=="^"&&(e+="^"),e+=n,n.charAt(n.length-1)!=="$"&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(V(i.value))return null;let r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function Y(n){return null}function We(n){return n!=null}function $e(n){return Fe(n)?Ae(n):n}function qe(n){let t={};return n.forEach(e=>{t=e!=null?h(h({},t),e):t}),Object.keys(t).length===0?null:t}function ze(n,t){return t.map(e=>e(n))}function Vt(n){return!n.validate}function Ze(n){return n.map(t=>Vt(t)?t:e=>t.validate(e))}function Xe(n){if(!n)return null;let t=n.filter(We);return t.length==0?null:function(e){return qe(ze(e,t))}}function fe(n){return n!=null?Xe(Ze(n)):null}function Ye(n){if(!n)return null;let t=n.filter(We);return t.length==0?null:function(e){let i=ze(e,t).map($e);return Ee(i).pipe(Me(qe))}}function pe(n){return n!=null?Ye(Ze(n)):null}function Ne(n,t){return n===null?[t]:Array.isArray(n)?[...n,t]:[n,t]}function Ke(n){return n._rawValidators}function Je(n){return n._rawAsyncValidators}function ue(n){return n?Array.isArray(n)?n:[n]:[]}function K(n,t){return Array.isArray(n)?n.includes(t):n===t}function Oe(n,t){let e=ue(t);return ue(n).forEach(r=>{K(e,r)||e.push(r)}),e}function xe(n,t){return ue(t).filter(e=>!K(n,e))}var J=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=fe(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=pe(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,e){return this.control?this.control.hasError(t,e):!1}getError(t,e){return this.control?this.control.getError(t,e):null}},_=class extends J{name;get formDirective(){return null}get path(){return null}},v=class extends J{_parent=null;name=null;valueAccessor=null},Q=class{_cd;constructor(t){this._cd=t}get isTouched(){var t,e,i,r,s;return(i=(e=(t=this._cd)==null?void 0:t.control)==null?void 0:e._touched)==null||i.call(e),!!((s=(r=this._cd)==null?void 0:r.control)!=null&&s.touched)}get isUntouched(){var t,e;return!!((e=(t=this._cd)==null?void 0:t.control)!=null&&e.untouched)}get isPristine(){var t,e,i,r,s;return(i=(e=(t=this._cd)==null?void 0:t.control)==null?void 0:e._pristine)==null||i.call(e),!!((s=(r=this._cd)==null?void 0:r.control)!=null&&s.pristine)}get isDirty(){var t,e;return!!((e=(t=this._cd)==null?void 0:t.control)!=null&&e.dirty)}get isValid(){var t,e,i,r,s;return(i=(e=(t=this._cd)==null?void 0:t.control)==null?void 0:e._status)==null||i.call(e),!!((s=(r=this._cd)==null?void 0:r.control)!=null&&s.valid)}get isInvalid(){var t,e;return!!((e=(t=this._cd)==null?void 0:t.control)!=null&&e.invalid)}get isPending(){var t,e;return!!((e=(t=this._cd)==null?void 0:t.control)!=null&&e.pending)}get isSubmitted(){var t,e,i;return(e=(t=this._cd)==null?void 0:t._submitted)==null||e.call(t),!!((i=this._cd)!=null&&i.submitted)}},Dt={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},Dn=f(h({},Dt),{"[class.ng-submitted]":"isSubmitted"}),bn=(()=>{class n extends Q{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(v,2))};static \u0275dir=l({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&ae("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},standalone:!1,features:[u]})}return n})(),An=(()=>{class n extends Q{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(_,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&ae("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},standalone:!1,features:[u]})}return n})();var P="VALID",X="INVALID",I="PENDING",k="DISABLED",D=class{},ee=class extends D{value;source;constructor(t,e){super(),this.value=t,this.source=e}},R=class extends D{pristine;source;constructor(t,e){super(),this.pristine=t,this.source=e}},T=class extends D{touched;source;constructor(t,e){super(),this.touched=t,this.source=e}},S=class extends D{status;source;constructor(t,e){super(),this.status=t,this.source=e}},de=class extends D{source;constructor(t){super(),this.source=t}},ce=class extends D{source;constructor(t){super(),this.source=t}};function ge(n){return(re(n)?n.validators:n)||null}function bt(n){return Array.isArray(n)?fe(n):n||null}function me(n,t){return(re(t)?t.asyncValidators:n)||null}function At(n){return Array.isArray(n)?pe(n):n||null}function re(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function Qe(n,t,e){let i=n.controls;if(!(t?Object.keys(i):i).length)throw new $(1e3,"");if(!i[e])throw new $(1001,"")}function et(n,t,e){n._forEachChild((i,r)=>{if(e[r]===void 0)throw new $(1002,"")})}var j=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,e){this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get status(){return m(this.statusReactive)}set status(t){m(()=>this.statusReactive.set(t))}_status=w(()=>this.statusReactive());statusReactive=F(void 0);get valid(){return this.status===P}get invalid(){return this.status===X}get pending(){return this.status==I}get disabled(){return this.status===k}get enabled(){return this.status!==k}errors;get pristine(){return m(this.pristineReactive)}set pristine(t){m(()=>this.pristineReactive.set(t))}_pristine=w(()=>this.pristineReactive());pristineReactive=F(!0);get dirty(){return!this.pristine}get touched(){return m(this.touchedReactive)}set touched(t){m(()=>this.touchedReactive.set(t))}_touched=w(()=>this.touchedReactive());touchedReactive=F(!1);get untouched(){return!this.touched}_events=new be;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(Oe(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Oe(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(xe(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(xe(t,this._rawAsyncValidators))}hasValidator(t){return K(this._rawValidators,t)}hasAsyncValidator(t){return K(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){var r;let e=this.touched===!1;this.touched=!0;let i=(r=t.sourceControl)!=null?r:this;this._parent&&!t.onlySelf&&this._parent.markAsTouched(f(h({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new T(!0,i))}markAllAsTouched(t={}){this.markAsTouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(t))}markAsUntouched(t={}){var r;let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=(r=t.sourceControl)!=null?r:this;this._forEachChild(s=>{s.markAsUntouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:i})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,i),e&&t.emitEvent!==!1&&this._events.next(new T(!1,i))}markAsDirty(t={}){var r;let e=this.pristine===!0;this.pristine=!1;let i=(r=t.sourceControl)!=null?r:this;this._parent&&!t.onlySelf&&this._parent.markAsDirty(f(h({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new R(!1,i))}markAsPristine(t={}){var r;let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=(r=t.sourceControl)!=null?r:this;this._forEachChild(s=>{s.markAsPristine({onlySelf:!0,emitEvent:t.emitEvent})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t,i),e&&t.emitEvent!==!1&&this._events.next(new R(!0,i))}markAsPending(t={}){var i;this.status=I;let e=(i=t.sourceControl)!=null?i:this;t.emitEvent!==!1&&(this._events.next(new S(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.markAsPending(f(h({},t),{sourceControl:e}))}disable(t={}){var r;let e=this._parentMarkedDirty(t.onlySelf);this.status=k,this.errors=null,this._forEachChild(s=>{s.disable(f(h({},t),{onlySelf:!0}))}),this._updateValue();let i=(r=t.sourceControl)!=null?r:this;t.emitEvent!==!1&&(this._events.next(new ee(this.value,i)),this._events.next(new S(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(f(h({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(s=>s(!0))}enable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=P,this._forEachChild(i=>{i.enable(f(h({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(f(h({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t,e){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){var i;if(this._setInitialStatus(),this._updateValue(),this.enabled){let r=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===P||this.status===I)&&this._runAsyncValidator(r,t.emitEvent)}let e=(i=t.sourceControl)!=null?i:this;t.emitEvent!==!1&&(this._events.next(new ee(this.value,e)),this._events.next(new S(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(f(h({},t),{sourceControl:e}))}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?k:P}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,e){if(this.asyncValidator){this.status=I,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1};let i=$e(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:t})})}}_cancelExistingSubscription(){var t,e;if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let i=(e=(t=this._hasOwnPendingAsyncValidator)==null?void 0:t.emitEvent)!=null?e:!1;return this._hasOwnPendingAsyncValidator=null,i}return!1}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(t){let e=t;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){let i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,e,i){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||i)&&this._events.next(new S(this.status,e)),this._parent&&this._parent._updateControlsErrors(t,e,i)}_initObservables(){this.valueChanges=new y,this.statusChanges=new y}_calculateStatus(){return this._allControlsDisabled()?k:this.errors?X:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(I)?I:this._anyControlsHaveStatus(X)?X:P}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!t.onlySelf&&this._parent._updatePristine(t,e),r&&this._events.next(new R(this.pristine,e))}_updateTouched(t={},e){this.touched=this._anyControlsTouched(),this._events.next(new T(this.touched,e)),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,e)}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){re(t)&&t.updateOn!=null&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){let e=this._parent&&this._parent.dirty;return!t&&!!e&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=bt(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=At(this._rawAsyncValidators)}},B=class extends j{constructor(t,e,i){super(ge(e),me(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){et(this,!0,t),Object.keys(t).forEach(i=>{Qe(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(Object.keys(t).forEach(i=>{let r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t?t[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>i._syncPendingControls()?!0:e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{let i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){let t={};return this._reduceChildren(t,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,s)=>{i=e(i,r,s)}),i}_allControlsDisabled(){for(let t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}};var Mn=B;var N=new M("CallSetDisabledState",{providedIn:"root",factory:()=>se}),se="always";function tt(n,t){return[...t.path,n]}function U(n,t,e=se){var i,r;_e(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||e==="always")&&((r=(i=t.valueAccessor).setDisabledState)==null||r.call(i,n.disabled)),Et(n,t),wt(n,t),Ft(n,t),Mt(n,t)}function te(n,t,e=!0){let i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),ie(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function ne(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function Mt(n,t){if(t.valueAccessor.setDisabledState){let e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}function _e(n,t){let e=Ke(n);t.validator!==null?n.setValidators(Ne(e,t.validator)):typeof e=="function"&&n.setValidators([e]);let i=Je(n);t.asyncValidator!==null?n.setAsyncValidators(Ne(i,t.asyncValidator)):typeof i=="function"&&n.setAsyncValidators([i]);let r=()=>n.updateValueAndValidity();ne(t._rawValidators,r),ne(t._rawAsyncValidators,r)}function ie(n,t){let e=!1;if(n!==null){if(t.validator!==null){let r=Ke(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.validator);s.length!==r.length&&(e=!0,n.setValidators(s))}}if(t.asyncValidator!==null){let r=Je(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.asyncValidator);s.length!==r.length&&(e=!0,n.setAsyncValidators(s))}}}let i=()=>{};return ne(t._rawValidators,i),ne(t._rawAsyncValidators,i),e}function Et(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,n.updateOn==="change"&&nt(n,t)})}function Ft(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,n.updateOn==="blur"&&n._pendingChange&&nt(n,t),n.updateOn!=="submit"&&n.markAsTouched()})}function nt(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function wt(n,t){let e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}function it(n,t){n==null,_e(n,t)}function It(n,t){return ie(n,t)}function ve(n,t){if(!n.hasOwnProperty("model"))return!1;let e=n.model;return e.isFirstChange()?!0:!Object.is(t,e.currentValue)}function St(n){return Object.getPrototypeOf(n.constructor)===H}function rt(n,t){n._syncPendingControls(),t.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function ye(n,t){if(!t)return null;Array.isArray(t);let e,i,r;return t.forEach(s=>{s.constructor===je?e=s:St(s)?i=s:r=s}),r||i||e||null}function Nt(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}var Ot={provide:_,useExisting:d(()=>xt)},G=Promise.resolve(),xt=(()=>{class n extends _{callSetDisabledState;get submitted(){return m(this.submittedReactive)}_submitted=w(()=>this.submittedReactive());submittedReactive=F(!1);_directives=new Set;form;ngSubmit=new y;options;constructor(e,i,r){super(),this.callSetDisabledState=r,this.form=new B({},fe(e),pe(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){G.then(()=>{let i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),U(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){G.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){G.then(()=>{let i=this._findContainer(e.path),r=new B({});it(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){G.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){G.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){var i;return this.submittedReactive.set(!0),rt(this.form,this._directives),this.ngSubmit.emit(e),((i=e==null?void 0:e.target)==null?void 0:i.method)==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static \u0275fac=function(i){return new(i||n)(o(A,10),o(L,10),o(N,8))};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){i&1&&C("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[c([Ot]),u]})}return n})();function Pe(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}function ke(n){return typeof n=="object"&&n!==null&&Object.keys(n).length===2&&"value"in n&&"disabled"in n}var Ce=class extends j{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(t=null,e,i){super(ge(e),me(i,e)),this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),re(e)&&(e.nonNullable||e.initialValueIsDefault)&&(ke(t)?this.defaultValue=t.value:this.defaultValue=t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==!1)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Pe(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Pe(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(t){ke(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},Fn=Ce,Pt=n=>n instanceof Ce;var kt={provide:v,useExisting:d(()=>Gt)},Ge=Promise.resolve(),Gt=(()=>{class n extends v{_changeDetectorRef;callSetDisabledState;control=new Ce;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new y;constructor(e,i,r,s,a,p){super(),this._changeDetectorRef=a,this.callSetDisabledState=p,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=ye(this,s)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),ve(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){U(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){Ge.then(()=>{var i;this.control.setValue(e,{emitViewToModelChange:!1}),(i=this._changeDetectorRef)==null||i.markForCheck()})}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&Ie(i);Ge.then(()=>{var s;r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),(s=this._changeDetectorRef)==null||s.markForCheck()})}_getPath(e){return this._parent?tt(e,this._parent):[e]}static \u0275fac=function(i){return new(i||n)(o(_,9),o(A,10),o(L,10),o(b,10),o(we,8),o(N,8))};static \u0275dir=l({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[c([kt]),u,E]})}return n})(),wn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return n})(),Rt={provide:b,useExisting:d(()=>Tt),multi:!0},Tt=(()=>{class n extends H{writeValue(e){let i=e==null?"":e;this.setProperty("value",i)}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){i&1&&C("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[c([Rt]),u]})}return n})();var Ve=new M(""),jt={provide:v,useExisting:d(()=>Bt)},Bt=(()=>{class n extends v{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new y;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=ye(this,r)}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&te(i,this,!1),U(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}ve(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&te(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||n)(o(A,10),o(L,10),o(b,10),o(Ve,8),o(N,8))};static \u0275dir=l({type:n,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[c([jt]),u,E]})}return n})(),Ut={provide:_,useExisting:d(()=>Ht)},Ht=(()=>{class n extends _{callSetDisabledState;get submitted(){return m(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e)}_submitted=w(()=>this._submittedReactive());_submittedReactive=F(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new y;constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(ie(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){let i=this.form.get(e.path);return U(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){te(e.control||null,e,!1),Nt(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){var i;return this._submittedReactive.set(!0),rt(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new de(this.control)),((i=e==null?void 0:e.target)==null?void 0:i.method)==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this._submittedReactive.set(!1),this.form._events.next(new ce(this.form))}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(te(i||null,e),Pt(r)&&(U(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let i=this.form.get(e.path);it(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let i=this.form.get(e.path);i&&It(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){_e(this.form,this),this._oldForm&&ie(this._oldForm,this)}_checkFormPresent(){this.form}static \u0275fac=function(i){return new(i||n)(o(A,10),o(L,10),o(N,8))};static \u0275dir=l({type:n,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&C("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[c([Ut]),u,E]})}return n})();var Lt={provide:v,useExisting:d(()=>Wt)},Wt=(()=>{class n extends v{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(e){}model;update=new y;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=ye(this,s)}ngOnChanges(e){this._added||this._setUpControl(),ve(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return tt(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||n)(o(_,13),o(A,10),o(L,10),o(b,10),o(Ve,8))};static \u0275dir=l({type:n,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[c([Lt]),u,E]})}return n})(),$t={provide:b,useExisting:d(()=>ot),multi:!0};function st(n,t){return n==null?`${t}`:(t&&typeof t=="object"&&(t="Object"),`${n}: ${t}`.slice(0,50))}function qt(n){return n.split(":")[0]}var ot=(()=>{class n extends H{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i=this._getOptionId(e),r=st(i,e);this.setProperty("value",r)}registerOnChange(e){this.onChange=i=>{this.value=this._getOptionValue(i),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(let i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),e))return i;return null}_getOptionValue(e){let i=qt(e);return this._optionMap.has(i)?this._optionMap.get(i):e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(i,r){i&1&&C("change",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[c([$t]),u]})}return n})(),In=(()=>{class n{_element;_renderer;_select;id;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(e){this._select!=null&&(this._select._optionMap.set(this.id,e),this._setElementValue(st(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||n)(o(O),o(x),o(ot,9))};static \u0275dir=l({type:n,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return n})(),zt={provide:b,useExisting:d(()=>at),multi:!0};function Re(n,t){return n==null?`${t}`:(typeof t=="string"&&(t=`'${t}'`),t&&typeof t=="object"&&(t="Object"),`${n}: ${t}`.slice(0,50))}function Zt(n){return n.split(":")[0]}var at=(()=>{class n extends H{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i;if(Array.isArray(e)){let r=e.map(s=>this._getOptionId(s));i=(s,a)=>{s._setSelected(r.indexOf(a.toString())>-1)}}else i=(r,s)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(e){this.onChange=i=>{let r=[],s=i.selectedOptions;if(s!==void 0){let a=s;for(let p=0;p<a.length;p++){let W=a[p],oe=this._getOptionValue(W.value);r.push(oe)}}else{let a=i.options;for(let p=0;p<a.length;p++){let W=a[p];if(W.selected){let oe=this._getOptionValue(W.value);r.push(oe)}}}this.value=r,e(r)}}_registerOption(e){let i=(this._idCounter++).toString();return this._optionMap.set(i,e),i}_getOptionId(e){for(let i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i)._value,e))return i;return null}_getOptionValue(e){let i=Zt(e);return this._optionMap.has(i)?this._optionMap.get(i)._value:e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(i,r){i&1&&C("change",function(a){return r.onChange(a.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[c([zt]),u]})}return n})(),Sn=(()=>{class n{_element;_renderer;_select;id;_value;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){this._select!=null&&(this._value=e,this._setElementValue(Re(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(Re(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||n)(o(O),o(x),o(at,9))};static \u0275dir=l({type:n,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return n})();function lt(n){return typeof n=="number"?n:parseFloat(n)}var De=(()=>{class n{_validator=Y;_onChange;_enabled;ngOnChanges(e){if(this.inputName in e){let i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Y,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return e!=null}static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,features:[E]})}return n})(),Xt={provide:A,useExisting:d(()=>Yt),multi:!0},Yt=(()=>{class n extends De{max;inputName="max";normalizeInput=e=>lt(e);createValidator=e=>He(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&Z("max",r._enabled?r.max:null)},inputs:{max:"max"},standalone:!1,features:[c([Xt]),u]})}return n})(),Kt={provide:A,useExisting:d(()=>Jt),multi:!0},Jt=(()=>{class n extends De{min;inputName="min";normalizeInput=e=>lt(e);createValidator=e=>Ue(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&Z("min",r._enabled?r.min:null)},inputs:{min:"min"},standalone:!1,features:[c([Kt]),u]})}return n})();var Qt={provide:A,useExisting:d(()=>en),multi:!0},en=(()=>{class n extends De{pattern;inputName="pattern";normalizeInput=e=>e;createValidator=e=>Le(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&Z("pattern",r._enabled?r.pattern:null)},inputs:{pattern:"pattern"},standalone:!1,features:[c([Qt]),u]})}return n})();var ut=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({})}return n})(),he=class extends j{constructor(t,e,i){super(ge(e),me(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){let i=this._adjustIndex(t);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){et(this,!1,t),t.forEach((i,r)=>{Qe(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(t.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((e,i)=>i._syncPendingControls()?!0:e,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(let t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){var e;return(e=this.at(t))!=null?e:null}},Nn=he;var On=(()=>{class n{static withConfig(e){var i;return{ngModule:n,providers:[{provide:N,useValue:(i=e.callSetDisabledState)!=null?i:se}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({imports:[ut]})}return n})(),xn=(()=>{class n{static withConfig(e){var i,r;return{ngModule:n,providers:[{provide:Ve,useValue:(i=e.warnOnNgModelWithFormControl)!=null?i:"always"},{provide:N,useValue:(r=e.callSetDisabledState)!=null?r:se}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({imports:[ut]})}return n})();export{b as a,ct as b,je as c,Se as d,bn as e,An as f,B as g,Mn as h,xt as i,Ce as j,Fn as k,Gt as l,wn as m,Tt as n,Bt as o,Ht as p,Wt as q,ot as r,In as s,Sn as t,Yt as u,Jt as v,en as w,Nn as x,On as y,xn as z};
1
+ import{Aa as g,D as Ee,Fa as y,Hb as Fe,Ic as we,Ka as O,Lb as Z,Lc as Ie,Mc as w,Nc as m,Ob as ae,Qc as le,a as h,b as f,dc as C,ea as $,ga as d,ia as q,jb as o,ka as M,n as be,ob as x,q as Ae,qb as F,vb as z,wa as E,wb as l,wc as c,x as Me,yb as u}from"./chunk-CKNHTRCL.js";var Te=(()=>{class n{_renderer;_elementRef;onChange=e=>{};onTouched=()=>{};constructor(e,i){this._renderer=e,this._elementRef=i}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}static \u0275fac=function(i){return new(i||n)(o(x),o(O))};static \u0275dir=l({type:n})}return n})(),H=(()=>{class n extends Te{static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,features:[u]})}return n})(),b=new M(""),dt={provide:b,useExisting:d(()=>ct),multi:!0},ct=(()=>{class n extends H{writeValue(e){this.setProperty("checked",e)}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","checkbox","formControlName",""],["input","type","checkbox","formControl",""],["input","type","checkbox","ngModel",""]],hostBindings:function(i,r){i&1&&C("change",function(a){return r.onChange(a.target.checked)})("blur",function(){return r.onTouched()})},standalone:!1,features:[c([dt]),u]})}return n})(),ht={provide:b,useExisting:d(()=>je),multi:!0};function ft(){let n=le()?le().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}var pt=new M(""),je=(()=>{class n extends Te{_compositionMode;_composing=!1;constructor(e,i,r){super(e,i),this._compositionMode=r,this._compositionMode==null&&(this._compositionMode=!ft())}writeValue(e){let i=e==null?"":e;this.setProperty("value",i)}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}static \u0275fac=function(i){return new(i||n)(o(x),o(O),o(pt,8))};static \u0275dir=l({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(i,r){i&1&&C("input",function(a){return r._handleInput(a.target.value)})("blur",function(){return r.onTouched()})("compositionstart",function(){return r._compositionStart()})("compositionend",function(a){return r._compositionEnd(a.target.value)})},standalone:!1,features:[c([ht]),u]})}return n})();function V(n){return n==null||(typeof n=="string"||Array.isArray(n))&&n.length===0}function Be(n){return n!=null&&typeof n.length=="number"}var A=new M(""),L=new M(""),gt=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Se=class{static min(t){return Ue(t)}static max(t){return He(t)}static required(t){return mt(t)}static requiredTrue(t){return _t(t)}static email(t){return vt(t)}static minLength(t){return yt(t)}static maxLength(t){return Ct(t)}static pattern(t){return Le(t)}static nullValidator(t){return Y(t)}static compose(t){return Xe(t)}static composeAsync(t){return Ye(t)}};function Ue(n){return t=>{if(V(t.value)||V(n))return null;let e=parseFloat(t.value);return!isNaN(e)&&e<n?{min:{min:n,actual:t.value}}:null}}function He(n){return t=>{if(V(t.value)||V(n))return null;let e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}function mt(n){return V(n.value)?{required:!0}:null}function _t(n){return n.value===!0?null:{required:!0}}function vt(n){return V(n.value)||gt.test(n.value)?null:{email:!0}}function yt(n){return t=>V(t.value)||!Be(t.value)?null:t.value.length<n?{minlength:{requiredLength:n,actualLength:t.value.length}}:null}function Ct(n){return t=>Be(t.value)&&t.value.length>n?{maxlength:{requiredLength:n,actualLength:t.value.length}}:null}function Le(n){if(!n)return Y;let t,e;return typeof n=="string"?(e="",n.charAt(0)!=="^"&&(e+="^"),e+=n,n.charAt(n.length-1)!=="$"&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(V(i.value))return null;let r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}function Y(n){return null}function We(n){return n!=null}function $e(n){return Fe(n)?Ae(n):n}function qe(n){let t={};return n.forEach(e=>{t=e!=null?h(h({},t),e):t}),Object.keys(t).length===0?null:t}function ze(n,t){return t.map(e=>e(n))}function Vt(n){return!n.validate}function Ze(n){return n.map(t=>Vt(t)?t:e=>t.validate(e))}function Xe(n){if(!n)return null;let t=n.filter(We);return t.length==0?null:function(e){return qe(ze(e,t))}}function fe(n){return n!=null?Xe(Ze(n)):null}function Ye(n){if(!n)return null;let t=n.filter(We);return t.length==0?null:function(e){let i=ze(e,t).map($e);return Ee(i).pipe(Me(qe))}}function pe(n){return n!=null?Ye(Ze(n)):null}function Ne(n,t){return n===null?[t]:Array.isArray(n)?[...n,t]:[n,t]}function Ke(n){return n._rawValidators}function Je(n){return n._rawAsyncValidators}function ue(n){return n?Array.isArray(n)?n:[n]:[]}function K(n,t){return Array.isArray(n)?n.includes(t):n===t}function Oe(n,t){let e=ue(t);return ue(n).forEach(r=>{K(e,r)||e.push(r)}),e}function xe(n,t){return ue(t).filter(e=>!K(n,e))}var J=class{get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators=[];_rawAsyncValidators=[];_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=fe(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=pe(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_onDestroyCallbacks=[];_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,e){return this.control?this.control.hasError(t,e):!1}getError(t,e){return this.control?this.control.getError(t,e):null}},_=class extends J{name;get formDirective(){return null}get path(){return null}},v=class extends J{_parent=null;name=null;valueAccessor=null},Q=class{_cd;constructor(t){this._cd=t}get isTouched(){var t,e,i,r,s;return(i=(e=(t=this._cd)==null?void 0:t.control)==null?void 0:e._touched)==null||i.call(e),!!((s=(r=this._cd)==null?void 0:r.control)!=null&&s.touched)}get isUntouched(){var t,e;return!!((e=(t=this._cd)==null?void 0:t.control)!=null&&e.untouched)}get isPristine(){var t,e,i,r,s;return(i=(e=(t=this._cd)==null?void 0:t.control)==null?void 0:e._pristine)==null||i.call(e),!!((s=(r=this._cd)==null?void 0:r.control)!=null&&s.pristine)}get isDirty(){var t,e;return!!((e=(t=this._cd)==null?void 0:t.control)!=null&&e.dirty)}get isValid(){var t,e,i,r,s;return(i=(e=(t=this._cd)==null?void 0:t.control)==null?void 0:e._status)==null||i.call(e),!!((s=(r=this._cd)==null?void 0:r.control)!=null&&s.valid)}get isInvalid(){var t,e;return!!((e=(t=this._cd)==null?void 0:t.control)!=null&&e.invalid)}get isPending(){var t,e;return!!((e=(t=this._cd)==null?void 0:t.control)!=null&&e.pending)}get isSubmitted(){var t,e,i;return(e=(t=this._cd)==null?void 0:t._submitted)==null||e.call(t),!!((i=this._cd)!=null&&i.submitted)}},Dt={"[class.ng-untouched]":"isUntouched","[class.ng-touched]":"isTouched","[class.ng-pristine]":"isPristine","[class.ng-dirty]":"isDirty","[class.ng-valid]":"isValid","[class.ng-invalid]":"isInvalid","[class.ng-pending]":"isPending"},Dn=f(h({},Dt),{"[class.ng-submitted]":"isSubmitted"}),bn=(()=>{class n extends Q{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(v,2))};static \u0275dir=l({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(i,r){i&2&&ae("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)},standalone:!1,features:[u]})}return n})(),An=(()=>{class n extends Q{constructor(e){super(e)}static \u0275fac=function(i){return new(i||n)(o(_,10))};static \u0275dir=l({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(i,r){i&2&&ae("ng-untouched",r.isUntouched)("ng-touched",r.isTouched)("ng-pristine",r.isPristine)("ng-dirty",r.isDirty)("ng-valid",r.isValid)("ng-invalid",r.isInvalid)("ng-pending",r.isPending)("ng-submitted",r.isSubmitted)},standalone:!1,features:[u]})}return n})();var P="VALID",X="INVALID",I="PENDING",k="DISABLED",D=class{},ee=class extends D{value;source;constructor(t,e){super(),this.value=t,this.source=e}},R=class extends D{pristine;source;constructor(t,e){super(),this.pristine=t,this.source=e}},T=class extends D{touched;source;constructor(t,e){super(),this.touched=t,this.source=e}},S=class extends D{status;source;constructor(t,e){super(),this.status=t,this.source=e}},de=class extends D{source;constructor(t){super(),this.source=t}},ce=class extends D{source;constructor(t){super(),this.source=t}};function ge(n){return(re(n)?n.validators:n)||null}function bt(n){return Array.isArray(n)?fe(n):n||null}function me(n,t){return(re(t)?t.asyncValidators:n)||null}function At(n){return Array.isArray(n)?pe(n):n||null}function re(n){return n!=null&&!Array.isArray(n)&&typeof n=="object"}function Qe(n,t,e){let i=n.controls;if(!(t?Object.keys(i):i).length)throw new $(1e3,"");if(!i[e])throw new $(1001,"")}function et(n,t,e){n._forEachChild((i,r)=>{if(e[r]===void 0)throw new $(1002,"")})}var j=class{_pendingDirty=!1;_hasOwnPendingAsyncValidator=null;_pendingTouched=!1;_onCollectionChange=()=>{};_updateOn;_parent=null;_asyncValidationSubscription;_composedValidatorFn;_composedAsyncValidatorFn;_rawValidators;_rawAsyncValidators;value;constructor(t,e){this._assignValidators(t),this._assignAsyncValidators(e)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get status(){return m(this.statusReactive)}set status(t){m(()=>this.statusReactive.set(t))}_status=w(()=>this.statusReactive());statusReactive=F(void 0);get valid(){return this.status===P}get invalid(){return this.status===X}get pending(){return this.status==I}get disabled(){return this.status===k}get enabled(){return this.status!==k}errors;get pristine(){return m(this.pristineReactive)}set pristine(t){m(()=>this.pristineReactive.set(t))}_pristine=w(()=>this.pristineReactive());pristineReactive=F(!0);get dirty(){return!this.pristine}get touched(){return m(this.touchedReactive)}set touched(t){m(()=>this.touchedReactive.set(t))}_touched=w(()=>this.touchedReactive());touchedReactive=F(!1);get untouched(){return!this.touched}_events=new be;events=this._events.asObservable();valueChanges;statusChanges;get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(Oe(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Oe(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(xe(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(xe(t,this._rawAsyncValidators))}hasValidator(t){return K(this._rawValidators,t)}hasAsyncValidator(t){return K(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){var r;let e=this.touched===!1;this.touched=!0;let i=(r=t.sourceControl)!=null?r:this;this._parent&&!t.onlySelf&&this._parent.markAsTouched(f(h({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new T(!0,i))}markAllAsTouched(t={}){this.markAsTouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:this}),this._forEachChild(e=>e.markAllAsTouched(t))}markAsUntouched(t={}){var r;let e=this.touched===!0;this.touched=!1,this._pendingTouched=!1;let i=(r=t.sourceControl)!=null?r:this;this._forEachChild(s=>{s.markAsUntouched({onlySelf:!0,emitEvent:t.emitEvent,sourceControl:i})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,i),e&&t.emitEvent!==!1&&this._events.next(new T(!1,i))}markAsDirty(t={}){var r;let e=this.pristine===!0;this.pristine=!1;let i=(r=t.sourceControl)!=null?r:this;this._parent&&!t.onlySelf&&this._parent.markAsDirty(f(h({},t),{sourceControl:i})),e&&t.emitEvent!==!1&&this._events.next(new R(!1,i))}markAsPristine(t={}){var r;let e=this.pristine===!1;this.pristine=!0,this._pendingDirty=!1;let i=(r=t.sourceControl)!=null?r:this;this._forEachChild(s=>{s.markAsPristine({onlySelf:!0,emitEvent:t.emitEvent})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t,i),e&&t.emitEvent!==!1&&this._events.next(new R(!0,i))}markAsPending(t={}){var i;this.status=I;let e=(i=t.sourceControl)!=null?i:this;t.emitEvent!==!1&&(this._events.next(new S(this.status,e)),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.markAsPending(f(h({},t),{sourceControl:e}))}disable(t={}){var r;let e=this._parentMarkedDirty(t.onlySelf);this.status=k,this.errors=null,this._forEachChild(s=>{s.disable(f(h({},t),{onlySelf:!0}))}),this._updateValue();let i=(r=t.sourceControl)!=null?r:this;t.emitEvent!==!1&&(this._events.next(new ee(this.value,i)),this._events.next(new S(this.status,i)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(f(h({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(s=>s(!0))}enable(t={}){let e=this._parentMarkedDirty(t.onlySelf);this.status=P,this._forEachChild(i=>{i.enable(f(h({},t),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors(f(h({},t),{skipPristineCheck:e}),this),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(t,e){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine({},e),this._parent._updateTouched({},e))}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){var i;if(this._setInitialStatus(),this._updateValue(),this.enabled){let r=this._cancelExistingSubscription();this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===P||this.status===I)&&this._runAsyncValidator(r,t.emitEvent)}let e=(i=t.sourceControl)!=null?i:this;t.emitEvent!==!1&&(this._events.next(new ee(this.value,e)),this._events.next(new S(this.status,e)),this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(f(h({},t),{sourceControl:e}))}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?k:P}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t,e){if(this.asyncValidator){this.status=I,this._hasOwnPendingAsyncValidator={emitEvent:e!==!1};let i=$e(this.asyncValidator(this));this._asyncValidationSubscription=i.subscribe(r=>{this._hasOwnPendingAsyncValidator=null,this.setErrors(r,{emitEvent:e,shouldHaveEmitted:t})})}}_cancelExistingSubscription(){var t,e;if(this._asyncValidationSubscription){this._asyncValidationSubscription.unsubscribe();let i=(e=(t=this._hasOwnPendingAsyncValidator)==null?void 0:t.emitEvent)!=null?e:!1;return this._hasOwnPendingAsyncValidator=null,i}return!1}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(e.emitEvent!==!1,this,e.shouldHaveEmitted)}get(t){let e=t;return e==null||(Array.isArray(e)||(e=e.split(".")),e.length===0)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){let i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t,e,i){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),(t||i)&&this._events.next(new S(this.status,e)),this._parent&&this._parent._updateControlsErrors(t,e,i)}_initObservables(){this.valueChanges=new y,this.statusChanges=new y}_calculateStatus(){return this._allControlsDisabled()?k:this.errors?X:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(I)?I:this._anyControlsHaveStatus(X)?X:P}_anyControlsHaveStatus(t){return this._anyControls(e=>e.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t,e){let i=!this._anyControlsDirty(),r=this.pristine!==i;this.pristine=i,this._parent&&!t.onlySelf&&this._parent._updatePristine(t,e),r&&this._events.next(new R(this.pristine,e))}_updateTouched(t={},e){this.touched=this._anyControlsTouched(),this._events.next(new T(this.touched,e)),this._parent&&!t.onlySelf&&this._parent._updateTouched(t,e)}_onDisabledChange=[];_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){re(t)&&t.updateOn!=null&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){let e=this._parent&&this._parent.dirty;return!t&&!!e&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=bt(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=At(this._rawAsyncValidators)}},B=class extends j{constructor(t,e,i){super(ge(e),me(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){et(this,!0,t),Object.keys(t).forEach(i=>{Qe(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(Object.keys(t).forEach(i=>{let r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t?t[r]:null,{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>i._syncPendingControls()?!0:e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{let i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(let[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){let t={};return this._reduceChildren(t,(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,s)=>{i=e(i,r,s)}),i}_allControlsDisabled(){for(let t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}};var Mn=B;var N=new M("CallSetDisabledState",{providedIn:"root",factory:()=>se}),se="always";function tt(n,t){return[...t.path,n]}function U(n,t,e=se){var i,r;_e(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||e==="always")&&((r=(i=t.valueAccessor).setDisabledState)==null||r.call(i,n.disabled)),Et(n,t),wt(n,t),Ft(n,t),Mt(n,t)}function te(n,t,e=!0){let i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),ie(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function ne(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function Mt(n,t){if(t.valueAccessor.setDisabledState){let e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}function _e(n,t){let e=Ke(n);t.validator!==null?n.setValidators(Ne(e,t.validator)):typeof e=="function"&&n.setValidators([e]);let i=Je(n);t.asyncValidator!==null?n.setAsyncValidators(Ne(i,t.asyncValidator)):typeof i=="function"&&n.setAsyncValidators([i]);let r=()=>n.updateValueAndValidity();ne(t._rawValidators,r),ne(t._rawAsyncValidators,r)}function ie(n,t){let e=!1;if(n!==null){if(t.validator!==null){let r=Ke(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.validator);s.length!==r.length&&(e=!0,n.setValidators(s))}}if(t.asyncValidator!==null){let r=Je(n);if(Array.isArray(r)&&r.length>0){let s=r.filter(a=>a!==t.asyncValidator);s.length!==r.length&&(e=!0,n.setAsyncValidators(s))}}}let i=()=>{};return ne(t._rawValidators,i),ne(t._rawAsyncValidators,i),e}function Et(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,n.updateOn==="change"&&nt(n,t)})}function Ft(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,n.updateOn==="blur"&&n._pendingChange&&nt(n,t),n.updateOn!=="submit"&&n.markAsTouched()})}function nt(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function wt(n,t){let e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}function it(n,t){n==null,_e(n,t)}function It(n,t){return ie(n,t)}function ve(n,t){if(!n.hasOwnProperty("model"))return!1;let e=n.model;return e.isFirstChange()?!0:!Object.is(t,e.currentValue)}function St(n){return Object.getPrototypeOf(n.constructor)===H}function rt(n,t){n._syncPendingControls(),t.forEach(e=>{let i=e.control;i.updateOn==="submit"&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}function ye(n,t){if(!t)return null;Array.isArray(t);let e,i,r;return t.forEach(s=>{s.constructor===je?e=s:St(s)?i=s:r=s}),r||i||e||null}function Nt(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}var Ot={provide:_,useExisting:d(()=>xt)},G=Promise.resolve(),xt=(()=>{class n extends _{callSetDisabledState;get submitted(){return m(this.submittedReactive)}_submitted=w(()=>this.submittedReactive());submittedReactive=F(!1);_directives=new Set;form;ngSubmit=new y;options;constructor(e,i,r){super(),this.callSetDisabledState=r,this.form=new B({},fe(e),pe(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(e){G.then(()=>{let i=this._findContainer(e.path);e.control=i.registerControl(e.name,e.control),U(e.control,e,this.callSetDisabledState),e.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(e)})}getControl(e){return this.form.get(e.path)}removeControl(e){G.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name),this._directives.delete(e)})}addFormGroup(e){G.then(()=>{let i=this._findContainer(e.path),r=new B({});it(r,e),i.registerControl(e.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(e){G.then(()=>{let i=this._findContainer(e.path);i&&i.removeControl(e.name)})}getFormGroup(e){return this.form.get(e.path)}updateModel(e,i){G.then(()=>{this.form.get(e.path).setValue(i)})}setValue(e){this.control.setValue(e)}onSubmit(e){var i;return this.submittedReactive.set(!0),rt(this.form,this._directives),this.ngSubmit.emit(e),((i=e==null?void 0:e.target)==null?void 0:i.method)==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this.submittedReactive.set(!1)}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.form._updateOn=this.options.updateOn)}_findContainer(e){return e.pop(),e.length?this.form.get(e):this.form}static \u0275fac=function(i){return new(i||n)(o(A,10),o(L,10),o(N,8))};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(i,r){i&1&&C("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{options:[0,"ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[c([Ot]),u]})}return n})();function Pe(n,t){let e=n.indexOf(t);e>-1&&n.splice(e,1)}function ke(n){return typeof n=="object"&&n!==null&&Object.keys(n).length===2&&"value"in n&&"disabled"in n}var Ce=class extends j{defaultValue=null;_onChange=[];_pendingValue;_pendingChange=!1;constructor(t=null,e,i){super(ge(e),me(i,e)),this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),re(e)&&(e.nonNullable||e.initialValueIsDefault)&&(ke(t)?this.defaultValue=t.value:this.defaultValue=t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&e.emitModelToViewChange!==!1&&this._onChange.forEach(i=>i(this.value,e.emitViewToModelChange!==!1)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Pe(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Pe(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return this.updateOn==="submit"&&(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),this._pendingChange)?(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),!0):!1}_applyFormState(t){ke(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},Fn=Ce,Pt=n=>n instanceof Ce;var kt={provide:v,useExisting:d(()=>Gt)},Ge=Promise.resolve(),Gt=(()=>{class n extends v{_changeDetectorRef;callSetDisabledState;control=new Ce;static ngAcceptInputType_isDisabled;_registered=!1;viewModel;name="";isDisabled;model;options;update=new y;constructor(e,i,r,s,a,p){super(),this._changeDetectorRef=a,this.callSetDisabledState=p,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=ye(this,s)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){let i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),ve(e,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&this.options.updateOn!=null&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!!(this.options&&this.options.standalone)}_setUpStandalone(){U(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),!this._isStandalone()&&this.name}_updateValue(e){Ge.then(()=>{var i;this.control.setValue(e,{emitViewToModelChange:!1}),(i=this._changeDetectorRef)==null||i.markForCheck()})}_updateDisabled(e){let i=e.isDisabled.currentValue,r=i!==0&&Ie(i);Ge.then(()=>{var s;r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),(s=this._changeDetectorRef)==null||s.markForCheck()})}_getPath(e){return this._parent?tt(e,this._parent):[e]}static \u0275fac=function(i){return new(i||n)(o(_,9),o(A,10),o(L,10),o(b,10),o(we,8),o(N,8))};static \u0275dir=l({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"],options:[0,"ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],standalone:!1,features:[c([kt]),u,E]})}return n})(),wn=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""],standalone:!1})}return n})(),Rt={provide:b,useExisting:d(()=>Tt),multi:!0},Tt=(()=>{class n extends H{writeValue(e){let i=e==null?"":e;this.setProperty("value",i)}registerOnChange(e){this.onChange=i=>{e(i==""?null:parseFloat(i))}}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","formControlName",""],["input","type","number","formControl",""],["input","type","number","ngModel",""]],hostBindings:function(i,r){i&1&&C("input",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},standalone:!1,features:[c([Rt]),u]})}return n})();var Ve=new M(""),jt={provide:v,useExisting:d(()=>Bt)},Bt=(()=>{class n extends v{_ngModelWarningConfig;callSetDisabledState;viewModel;form;set isDisabled(e){}model;update=new y;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=s,this.callSetDisabledState=a,this._setValidators(e),this._setAsyncValidators(i),this.valueAccessor=ye(this,r)}ngOnChanges(e){if(this._isControlChanged(e)){let i=e.form.previousValue;i&&te(i,this,!1),U(this.form,this,this.callSetDisabledState),this.form.updateValueAndValidity({emitEvent:!1})}ve(e,this.viewModel)&&(this.form.setValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.form&&te(this.form,this,!1)}get path(){return[]}get control(){return this.form}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}_isControlChanged(e){return e.hasOwnProperty("form")}static \u0275fac=function(i){return new(i||n)(o(A,10),o(L,10),o(b,10),o(Ve,8),o(N,8))};static \u0275dir=l({type:n,selectors:[["","formControl",""]],inputs:{form:[0,"formControl","form"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},exportAs:["ngForm"],standalone:!1,features:[c([jt]),u,E]})}return n})(),Ut={provide:_,useExisting:d(()=>Ht)},Ht=(()=>{class n extends _{callSetDisabledState;get submitted(){return m(this._submittedReactive)}set submitted(e){this._submittedReactive.set(e)}_submitted=w(()=>this._submittedReactive());_submittedReactive=F(!1);_oldForm;_onCollectionChange=()=>this._updateDomValue();directives=[];form=null;ngSubmit=new y;constructor(e,i,r){super(),this.callSetDisabledState=r,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(ie(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){let i=this.form.get(e.path);return U(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){te(e.control||null,e,!1),Nt(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){var i;return this._submittedReactive.set(!0),rt(this.form,this.directives),this.ngSubmit.emit(e),this.form._events.next(new de(this.control)),((i=e==null?void 0:e.target)==null?void 0:i.method)==="dialog"}onReset(){this.resetForm()}resetForm(e=void 0){this.form.reset(e),this._submittedReactive.set(!1),this.form._events.next(new ce(this.form))}_updateDomValue(){this.directives.forEach(e=>{let i=e.control,r=this.form.get(e.path);i!==r&&(te(i||null,e),Pt(r)&&(U(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){let i=this.form.get(e.path);it(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){let i=this.form.get(e.path);i&&It(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){_e(this.form,this),this._oldForm&&ie(this._oldForm,this)}_checkFormPresent(){this.form}static \u0275fac=function(i){return new(i||n)(o(A,10),o(L,10),o(N,8))};static \u0275dir=l({type:n,selectors:[["","formGroup",""]],hostBindings:function(i,r){i&1&&C("submit",function(a){return r.onSubmit(a)})("reset",function(){return r.onReset()})},inputs:{form:[0,"formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],standalone:!1,features:[c([Ut]),u,E]})}return n})();var Lt={provide:v,useExisting:d(()=>Wt)},Wt=(()=>{class n extends v{_ngModelWarningConfig;_added=!1;viewModel;control;name=null;set isDisabled(e){}model;update=new y;static _ngModelWarningSentOnce=!1;_ngModelWarningSent=!1;constructor(e,i,r,s,a){super(),this._ngModelWarningConfig=a,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=ye(this,s)}ngOnChanges(e){this._added||this._setUpControl(),ve(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return tt(this.name==null?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}static \u0275fac=function(i){return new(i||n)(o(_,13),o(A,10),o(L,10),o(b,10),o(Ve,8))};static \u0275dir=l({type:n,selectors:[["","formControlName",""]],inputs:{name:[0,"formControlName","name"],isDisabled:[0,"disabled","isDisabled"],model:[0,"ngModel","model"]},outputs:{update:"ngModelChange"},standalone:!1,features:[c([Lt]),u,E]})}return n})(),$t={provide:b,useExisting:d(()=>ot),multi:!0};function st(n,t){return n==null?`${t}`:(t&&typeof t=="object"&&(t="Object"),`${n}: ${t}`.slice(0,50))}function qt(n){return n.split(":")[0]}var ot=(()=>{class n extends H{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i=this._getOptionId(e),r=st(i,e);this.setProperty("value",r)}registerOnChange(e){this.onChange=i=>{this.value=this._getOptionValue(i),e(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(e){for(let i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i),e))return i;return null}_getOptionValue(e){let i=qt(e);return this._optionMap.has(i)?this._optionMap.get(i):e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(i,r){i&1&&C("change",function(a){return r.onChange(a.target.value)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[c([$t]),u]})}return n})(),In=(()=>{class n{_element;_renderer;_select;id;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption())}set ngValue(e){this._select!=null&&(this._select._optionMap.set(this.id,e),this._setElementValue(st(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._setElementValue(e),this._select&&this._select.writeValue(this._select.value)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||n)(o(O),o(x),o(ot,9))};static \u0275dir=l({type:n,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return n})(),zt={provide:b,useExisting:d(()=>at),multi:!0};function Re(n,t){return n==null?`${t}`:(typeof t=="string"&&(t=`'${t}'`),t&&typeof t=="object"&&(t="Object"),`${n}: ${t}`.slice(0,50))}function Zt(n){return n.split(":")[0]}var at=(()=>{class n extends H{value;_optionMap=new Map;_idCounter=0;set compareWith(e){this._compareWith=e}_compareWith=Object.is;writeValue(e){this.value=e;let i;if(Array.isArray(e)){let r=e.map(s=>this._getOptionId(s));i=(s,a)=>{s._setSelected(r.indexOf(a.toString())>-1)}}else i=(r,s)=>{r._setSelected(!1)};this._optionMap.forEach(i)}registerOnChange(e){this.onChange=i=>{let r=[],s=i.selectedOptions;if(s!==void 0){let a=s;for(let p=0;p<a.length;p++){let W=a[p],oe=this._getOptionValue(W.value);r.push(oe)}}else{let a=i.options;for(let p=0;p<a.length;p++){let W=a[p];if(W.selected){let oe=this._getOptionValue(W.value);r.push(oe)}}}this.value=r,e(r)}}_registerOption(e){let i=(this._idCounter++).toString();return this._optionMap.set(i,e),i}_getOptionId(e){for(let i of this._optionMap.keys())if(this._compareWith(this._optionMap.get(i)._value,e))return i;return null}_getOptionValue(e){let i=Zt(e);return this._optionMap.has(i)?this._optionMap.get(i)._value:e}static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["select","multiple","","formControlName",""],["select","multiple","","formControl",""],["select","multiple","","ngModel",""]],hostBindings:function(i,r){i&1&&C("change",function(a){return r.onChange(a.target)})("blur",function(){return r.onTouched()})},inputs:{compareWith:"compareWith"},standalone:!1,features:[c([zt]),u]})}return n})(),Sn=(()=>{class n{_element;_renderer;_select;id;_value;constructor(e,i,r){this._element=e,this._renderer=i,this._select=r,this._select&&(this.id=this._select._registerOption(this))}set ngValue(e){this._select!=null&&(this._value=e,this._setElementValue(Re(this.id,e)),this._select.writeValue(this._select.value))}set value(e){this._select?(this._value=e,this._setElementValue(Re(this.id,e)),this._select.writeValue(this._select.value)):this._setElementValue(e)}_setElementValue(e){this._renderer.setProperty(this._element.nativeElement,"value",e)}_setSelected(e){this._renderer.setProperty(this._element.nativeElement,"selected",e)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}static \u0275fac=function(i){return new(i||n)(o(O),o(x),o(at,9))};static \u0275dir=l({type:n,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"},standalone:!1})}return n})();function lt(n){return typeof n=="number"?n:parseFloat(n)}var De=(()=>{class n{_validator=Y;_onChange;_enabled;ngOnChanges(e){if(this.inputName in e){let i=this.normalizeInput(e[this.inputName].currentValue);this._enabled=this.enabled(i),this._validator=this._enabled?this.createValidator(i):Y,this._onChange&&this._onChange()}}validate(e){return this._validator(e)}registerOnValidatorChange(e){this._onChange=e}enabled(e){return e!=null}static \u0275fac=function(i){return new(i||n)};static \u0275dir=l({type:n,features:[E]})}return n})(),Xt={provide:A,useExisting:d(()=>Yt),multi:!0},Yt=(()=>{class n extends De{max;inputName="max";normalizeInput=e=>lt(e);createValidator=e=>He(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","max","","formControlName",""],["input","type","number","max","","formControl",""],["input","type","number","max","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&Z("max",r._enabled?r.max:null)},inputs:{max:"max"},standalone:!1,features:[c([Xt]),u]})}return n})(),Kt={provide:A,useExisting:d(()=>Jt),multi:!0},Jt=(()=>{class n extends De{min;inputName="min";normalizeInput=e=>lt(e);createValidator=e=>Ue(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["input","type","number","min","","formControlName",""],["input","type","number","min","","formControl",""],["input","type","number","min","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&Z("min",r._enabled?r.min:null)},inputs:{min:"min"},standalone:!1,features:[c([Kt]),u]})}return n})();var Qt={provide:A,useExisting:d(()=>en),multi:!0},en=(()=>{class n extends De{pattern;inputName="pattern";normalizeInput=e=>e;createValidator=e=>Le(e);static \u0275fac=(()=>{let e;return function(r){return(e||(e=g(n)))(r||n)}})();static \u0275dir=l({type:n,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(i,r){i&2&&Z("pattern",r._enabled?r.pattern:null)},inputs:{pattern:"pattern"},standalone:!1,features:[c([Qt]),u]})}return n})();var ut=(()=>{class n{static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({})}return n})(),he=class extends j{constructor(t,e,i){super(ge(e),me(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}controls;at(t){return this.controls[this._adjustIndex(t)]}push(t,e={}){this.controls.push(t),this._registerControl(t),this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}insert(t,e,i={}){this.controls.splice(t,0,e),this._registerControl(e),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(t,e={}){let i=this._adjustIndex(t);i<0&&(i=0),this.controls[i]&&this.controls[i]._registerOnCollectionChange(()=>{}),this.controls.splice(i,1),this.updateValueAndValidity({emitEvent:e.emitEvent})}setControl(t,e,i={}){let r=this._adjustIndex(t);r<0&&(r=0),this.controls[r]&&this.controls[r]._registerOnCollectionChange(()=>{}),this.controls.splice(r,1),e&&(this.controls.splice(r,0,e),this._registerControl(e)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(t,e={}){et(this,!1,t),t.forEach((i,r)=>{Qe(this,!1,r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){t!=null&&(t.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t=[],e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e,this),this._updateTouched(e,this),this.updateValueAndValidity(e)}getRawValue(){return this.controls.map(t=>t.getRawValue())}clear(t={}){this.controls.length<1||(this._forEachChild(e=>e._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:t.emitEvent}))}_adjustIndex(t){return t<0?t+this.length:t}_syncPendingControls(){let t=this.controls.reduce((e,i)=>i._syncPendingControls()?!0:e,!1);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){this.controls.forEach((e,i)=>{t(e,i)})}_updateValue(){this.value=this.controls.filter(t=>t.enabled||this.disabled).map(t=>t.value)}_anyControls(t){return this.controls.some(e=>e.enabled&&t(e))}_setUpControls(){this._forEachChild(t=>this._registerControl(t))}_allControlsDisabled(){for(let t of this.controls)if(t.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(t){t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)}_find(t){var e;return(e=this.at(t))!=null?e:null}},Nn=he;var On=(()=>{class n{static withConfig(e){var i;return{ngModule:n,providers:[{provide:N,useValue:(i=e.callSetDisabledState)!=null?i:se}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({imports:[ut]})}return n})(),xn=(()=>{class n{static withConfig(e){var i,r;return{ngModule:n,providers:[{provide:Ve,useValue:(i=e.warnOnNgModelWithFormControl)!=null?i:"always"},{provide:N,useValue:(r=e.callSetDisabledState)!=null?r:se}]}}static \u0275fac=function(i){return new(i||n)};static \u0275mod=z({type:n});static \u0275inj=q({imports:[ut]})}return n})();export{b as a,ct as b,je as c,Se as d,bn as e,An as f,B as g,Mn as h,xt as i,Ce as j,Fn as k,Gt as l,wn as m,Tt as n,Bt as o,Ht as p,Wt as q,ot as r,In as s,Sn as t,Yt as u,Jt as v,en as w,Nn as x,On as y,xn as z};
@@ -0,0 +1 @@
1
+ import{m as X}from"./chunk-N4F42HDL.js";import{e as q,l as G,r as H,s as J,t as K,y as Q}from"./chunk-YLEC7AUG.js";import{d as te}from"./chunk-T3GI7KUT.js";import{h as ee,k as ie}from"./chunk-BVC2RBSG.js";import{a as Y,b as Z}from"./chunk-675OFXLW.js";import{Ac as W,Bb as x,Cc as d,Dc as m,Lb as $,Mb as h,Rb as u,Tb as k,Ub as E,Vb as T,Wb as a,Xb as o,Yb as B,a as M,ac as S,b as V,bd as z,dc as b,ec as c,h as F,ib as s,na as w,oc as r,pc as g,qc as I,rc as L,tc as N,ub as U,uc as P,vc as j,w as A,xa as v,ya as C,zc as O}from"./chunk-CKNHTRCL.js";var se=(t,l)=>({"btn-danger":t,"btn-elegant":l}),ae=(t,l,e)=>({"fa-trash":t,"fa-undo":l,"fa-spinner fa-pulse":e});function oe(t,l){t&1&&(a(0,"div",13),B(1,"i",14),o(),a(2,"p",15),r(3),d(4,"translate"),o()),t&2&&(s(3),g(m(4,1,"reset.no_accessories")))}function re(t,l){if(t&1&&(a(0,"option",25),r(1),o()),t&2){let e=l.$implicit;h("value",e._id),s(),L("",e.name," (",e._username,")")}}function le(t,l){if(t&1){let e=S();a(0,"li",21),r(1),d(2,"translate"),o(),a(3,"li",19)(4,"label",22),r(5),d(6,"translate"),o(),a(7,"div",23)(8,"select",24),j("ngModelChange",function(i){v(e);let _=c(2);return P(_.selectedBridge,i)||(_.selectedBridge=i),C(i)}),b("change",function(i){v(e);let _=c(2);return C(_.onBridgeChange(i.target.value))}),E(9,re,2,3,"option",25,k),o()()()}if(t&2){let e=c(2);s(),g(m(2,3,"form.label.changes_kept")),s(4),g(m(6,5,"reset.accessory_ind.bridge")),s(3),N("ngModel",e.selectedBridge),s(),T(e.pairings)}}function ce(t,l){if(t&1&&(a(0,"li",19)(1,"label",26),r(2),d(3,"translate"),o(),a(4,"div",27),r(5),o()()),t&2){let e=c(2);s(2),g(m(3,2,"reset.accessory_ind.bridge")),s(3),I(" ",e.getCurrentlySelectedBridge()," ")}}function de(t,l){if(t&1){let e=S();a(0,"li",20)(1,"span"),r(2),B(3,"br"),a(4,"small")(5,"span",28),r(6),o()()(),a(7,"button",29),d(8,"translate"),b("click",function(){let i=v(e).$implicit,_=c(2);return C(_.toggleList(i.UUID,i.$cacheFile))}),B(9,"i",30),o()()}if(t&2){let e=l.$implicit,n=c(2);s(2),I(" ",e.displayName,""),s(4),g(e.UUID),s(),h("disabled",n.clicked)("ngClass",O(8,se,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile))),$("aria-label",m(8,6,"form.button_delete")),s(2),h("ngClass",W(11,ae,!n.isInList(e.UUID,e.$cacheFile),n.isInList(e.UUID,e.$cacheFile)&&!n.clicked,n.isInList(e.UUID,e.$cacheFile)&&n.clicked))}}function me(t,l){if(t&1&&(a(0,"div",13),B(1,"i",16),o(),a(2,"ul",17)(3,"li"),r(4),d(5,"translate"),o(),a(6,"li"),r(7),d(8,"translate"),o(),a(9,"li"),r(10),d(11,"translate"),o()(),a(12,"ul",18),x(13,le,11,7)(14,ce,6,4,"li",19),E(15,de,10,15,"li",20,k),o()),t&2){let e=c();s(4),g(m(5,5,"reset.accessory_ind.list_1")),s(3),g(m(8,7,"reset.accessory_ind.list_2")),s(3),g(m(11,9,"reset.accessory_ind.list_3")),s(3),u(e.pairings.length>1?13:-1),s(),u(e.pairings.length===1?14:-1),s(),T(e.selectedBridgeAccessories)}}function pe(t,l){if(t&1){let e=S();a(0,"button",31),b("click",function(){v(e);let i=c();return C(i.$activeModal.dismiss("Dismiss"))}),r(1),d(2,"translate"),o()}if(t&2){let e=c();h("disabled",e.clicked),s(),I(" ",m(2,2,"form.button_close")," ")}}function _e(t,l){if(t&1){let e=S();a(0,"button",32),b("click",function(){v(e);let i=c();return C(i.$activeModal.dismiss("Dismiss"))}),r(1),d(2,"translate"),o()}t&2&&(s(),I(" ",m(2,1,"form.button_close")," "))}function ue(t,l){if(t&1&&r(0),t&2){let e=c(3);I(" (",e.toDelete.length,") ")}}function ge(t,l){if(t&1&&(r(0),d(1,"translate"),x(2,ue,1,1)),t&2){let e=c(2);I(" ",m(1,2,"form.button_remove")," "),s(2),u(e.toDelete.length>0?2:-1)}}function xe(t,l){t&1&&B(0,"i",34)}function fe(t,l){if(t&1){let e=S();a(0,"button",33),b("click",function(){v(e);let i=c();return C(i.removeAccessories())}),x(1,ge,3,4)(2,xe,1,0,"i",34),o()}if(t&2){let e=c();h("disabled",!e.toDelete.length||e.clicked),s(),u(e.clicked?-1:1),s(),u(e.clicked?2:-1)}}var Te=(()=>{class t{$activeModal=w(X);$api=w(ie);$router=w(te);$toastr=w(ee);$translate=w(Y);pairings=[];selectedBridge="";clicked=!1;selectedBridgeAccessories=[];accessoriesExist=!1;toDelete=[];constructor(){}ngOnInit(){this.loadCachedAccessories()}loadCachedAccessories(){return F(this,null,function*(){var e;try{let[n,i]=yield Promise.all([A(this.$api.get("/server/cached-accessories")),A(this.$api.get("/server/pairings"))]),_=new Map(i.map(p=>[p._id,V(M({},p),{accessories:[]})]));n.sort((p,f)=>p.displayName.localeCompare(f.displayName)).forEach(p=>{var D,R;let f=i.find(ne=>ne._main),y=((R=(D=p.$cacheFile)==null?void 0:D.split("."))==null?void 0:R[1])||f._id;(!this.selectedBridge||this.selectedBridge===y)&&(_.has(y)||_.set(y,{_id:y,_username:y.match(/.{1,2}/g).join(":"),name:this.$translate.instant("reset.accessory_ind.unknown"),accessories:[]}),_.get(y).accessories.push(p))}),this.pairings=Array.from(_.values()).filter(p=>p.accessories.length>0).sort((p,f)=>p._main&&!f._main?-1:!p._main&&f._main?1:p.name.localeCompare(f.name)),this.selectedBridge=this.selectedBridge||((e=this.pairings[0])==null?void 0:e._id),this.selectedBridge&&(this.accessoriesExist=!0,this.selectedBridgeAccessories=this.pairings[0].accessories)}catch(n){console.error(n),this.$toastr.error(this.$translate.instant("reset.error_message"),this.$translate.instant("toast.title_error")),this.$activeModal.close()}})}onBridgeChange(e){var n;this.selectedBridge=e,this.selectedBridgeAccessories=(n=this.pairings.find(i=>i._id===this.selectedBridge))==null?void 0:n.accessories}getCurrentlySelectedBridge(){let e=this.pairings.find(n=>n._id===this.selectedBridge);return`${e.name} - ${e._username}`}toggleList(e,n){this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)?this.toDelete=this.toDelete.filter(i=>i.uuid!==e&&i.cacheFile!==n):this.toDelete.push({cacheFile:n,uuid:e})}isInList(e,n){return this.toDelete.some(i=>i.uuid===e&&i.cacheFile===n)}removeAccessories(){return this.clicked=!0,this.$api.delete("/server/cached-accessories",{body:this.toDelete}).subscribe({next:()=>{this.$toastr.success(this.$translate.instant("reset.accessory_ind.done"),this.$translate.instant("toast.title_success")),this.$activeModal.close(),this.$router.navigate(["/restart"],{queryParams:{restarting:!0}})},error:e=>{this.clicked=!1,console.error(e),this.$toastr.error(this.$translate.instant("reset.accessory_ind.fail"),this.$translate.instant("toast.title_error"))}})}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=U({type:t,selectors:[["ng-component"]],inputs:{selectedBridge:"selectedBridge"},decls:19,vars:12,consts:[[1,"modal-content"],[1,"modal-header"],[1,"modal-title"],["type","button","data-dismiss","modal",1,"close",3,"click","disabled"],["aria-hidden","true"],[1,"modal-body"],[1,"modal-footer","justify-content-between"],[1,"text-left"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"disabled"],[1,"text-center"],["type","button","data-dismiss","modal",1,"btn","btn-elegant"],[1,"text-right"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"disabled"],[1,"text-center","mb-3"],[1,"fas","fa-fw","fa-circle-check","primary-text",2,"font-size","75px"],[1,"mb-0","text-center"],[1,"fas","fa-fw","fa-network-wired","primary-text",2,"font-size","75px"],[1,"mb-3"],[1,"list-group","list-group-box","mb-0"],[1,"list-group-item","d-flex","flex-column","flex-md-row","align-items-center"],[1,"list-group-item","d-flex","justify-content-between","align-items-center"],[1,"list-group-item","text-center","grey-text","small"],["for","bridgeSelect",1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-left","text-md-right","w-100","w-md-50"],["id","bridgeSelect",1,"custom-select",3,"ngModelChange","change","ngModel"],[3,"value"],[1,"mb-2","mb-md-0","w-100","w-md-50"],[1,"text-left","text-md-right","w-100","w-md-50","grey-text","text-monospace"],[1,"text-monospace","grey-text"],[1,"btn","btn-danger","ml-3",3,"click","disabled","ngClass"],[1,"fas","fa-fw",3,"ngClass"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click","disabled"],["type","button","data-dismiss","modal",1,"btn","btn-elegant",3,"click"],["type","button","data-dismiss","modal",1,"btn","btn-danger",3,"click","disabled"],[1,"fas","fa-fw","fa-spinner","fa-pulse"]],template:function(n,i){n&1&&(a(0,"div",0)(1,"div",1)(2,"h5",2),r(3),d(4,"translate"),o(),a(5,"button",3),d(6,"translate"),b("click",function(){return i.$activeModal.dismiss("Dismiss")}),a(7,"span",4),r(8,"\xD7"),o()()(),a(9,"div",5),x(10,oe,5,3)(11,me,17,11),o(),a(12,"div",6)(13,"div",7),x(14,pe,3,4,"button",8),o(),a(15,"div",9),x(16,_e,3,3,"button",10),o(),a(17,"div",11),x(18,fe,3,3,"button",12),o()()()),n&2&&(s(3),g(m(4,8,"reset.accessory_ind.title")),s(2),h("disabled",i.clicked),$("aria-label",m(6,10,"form.button_close")),s(5),u(i.accessoriesExist?-1:10),s(),u(i.accessoriesExist?11:-1),s(3),u(i.accessoriesExist?14:-1),s(2),u(i.accessoriesExist?-1:16),s(2),u(i.accessoriesExist?18:-1))},dependencies:[z,Z,Q,J,K,H,q,G],encapsulation:2})}return t})();export{Te as a};
package/public/index.html CHANGED
@@ -16,9 +16,9 @@
16
16
  <link rel="manifest" href="/assets/manifest.webmanifest"/>
17
17
  <meta name="theme-color" content="#140a33" media="(prefers-color-scheme: light)"/>
18
18
  <meta name="theme-color" content="#0f0f0f" media="(prefers-color-scheme: dark)"/>
19
- <link rel="stylesheet" href="styles-GDLSHXGD.css" crossorigin="use-credentials"></head>
19
+ <link rel="stylesheet" href="styles-7Q7QNSR3.css" crossorigin="use-credentials"></head>
20
20
 
21
21
  <body>
22
22
  <app-root></app-root>
23
- <link rel="modulepreload" href="chunk-NF4NIS42.js"><link rel="modulepreload" href="chunk-IW3EPSTZ.js"><link rel="modulepreload" href="chunk-EA5J2VEJ.js"><link rel="modulepreload" href="chunk-MOV2HTCQ.js"><link rel="modulepreload" href="chunk-ZLPCX4R4.js"><link rel="modulepreload" href="chunk-5ALXJOLQ.js"><link rel="modulepreload" href="chunk-S62KH3FN.js"><link rel="modulepreload" href="chunk-LDPCT3YF.js"><link rel="modulepreload" href="chunk-Q5URFHBE.js"><link rel="modulepreload" href="chunk-WHJSVGC7.js"><script src="polyfills-C6JHVXJJ.js" type="module" crossorigin="use-credentials"></script><script src="scripts-6GVLYD7F.js" defer crossorigin="use-credentials"></script><script src="main-ILTX7GFO.js" type="module" crossorigin="use-credentials"></script></body>
23
+ <link rel="modulepreload" href="chunk-XAM6ZNPS.js"><link rel="modulepreload" href="chunk-R5IIVXMM.js"><link rel="modulepreload" href="chunk-XP7D2PRA.js"><link rel="modulepreload" href="chunk-ERXUVZM6.js"><link rel="modulepreload" href="chunk-I37YRYWO.js"><link rel="modulepreload" href="chunk-OWP42U3Q.js"><link rel="modulepreload" href="chunk-HJKPT3MJ.js"><link rel="modulepreload" href="chunk-6TO5IBYB.js"><link rel="modulepreload" href="chunk-6UQS6IP4.js"><link rel="modulepreload" href="chunk-YPAFR2PB.js"><script src="polyfills-C6JHVXJJ.js" type="module" crossorigin="use-credentials"></script><script src="scripts-6GVLYD7F.js" defer crossorigin="use-credentials"></script><script src="main-GTJ3X2LZ.js" type="module" crossorigin="use-credentials"></script></body>
24
24
  </html>